/* === TOC Block === */

/* --- CSS Variables (Light) --- */
.acf-toc{--toc-bg:color-mix(in srgb,currentColor 4%,transparent);--toc-text:inherit;--toc-accent:var(--wp--preset--color--primary,#c0392b);--toc-accent-sub:color-mix(in srgb,var(--wp--preset--color--primary,#c0392b) 70%,transparent);--toc-border:color-mix(in srgb,currentColor 8%,transparent);--toc-link-hover-bg:color-mix(in srgb,currentColor 4%,transparent);--toc-link-active-bg:color-mix(in srgb,currentColor 6%,transparent);--toc-title-opacity:0.6;--toc-link-opacity:0.85;--toc-bullet-opacity:0.7;--toc-sub-bullet-opacity:0.5;--toc-chevron-opacity:0.35;--toc-summary-title-opacity:0.7;--toc-counter-text:#fff}

/* --- Dark Mode (class-based) --- */
:is(.dark,.is-dark-theme,[data-theme=dark]) .acf-toc{--toc-bg:rgba(255,255,255,0.04);--toc-accent:var(--wp--preset--color--primary,#ef5350);--toc-accent-sub:color-mix(in srgb,var(--wp--preset--color--primary,#ef5350) 60%,transparent);--toc-border:rgba(255,255,255,0.08);--toc-link-hover-bg:rgba(255,255,255,0.05);--toc-link-active-bg:rgba(255,255,255,0.08);--toc-title-opacity:0.55;--toc-link-opacity:0.8;--toc-bullet-opacity:0.75;--toc-sub-bullet-opacity:0.55;--toc-chevron-opacity:0.4;--toc-summary-title-opacity:0.65;--toc-counter-text:#fff}

/* --- Light theme override --- */
[data-theme=light] .acf-toc{--toc-bg:color-mix(in srgb,currentColor 4%,transparent);--toc-accent:var(--wp--preset--color--primary,#c0392b);--toc-accent-sub:color-mix(in srgb,var(--wp--preset--color--primary,#c0392b) 70%,transparent);--toc-border:color-mix(in srgb,currentColor 8%,transparent);--toc-link-hover-bg:color-mix(in srgb,currentColor 4%,transparent);--toc-link-active-bg:color-mix(in srgb,currentColor 6%,transparent);--toc-title-opacity:0.6;--toc-link-opacity:0.85;--toc-bullet-opacity:0.7;--toc-sub-bullet-opacity:0.5;--toc-chevron-opacity:0.35;--toc-summary-title-opacity:0.7;--toc-counter-text:#fff}

/* --- Block Container --- */
.acf-toc{font:inherit;font-size:0.9375em;line-height:1.5;margin-top:max(0.5rem,8px);margin-bottom:max(0.5rem,8px);background:var(--toc-bg);border-radius:8px;padding:0.25em 1.25em;color:var(--toc-text)}.acf-toc a,.acf-toc a:where(:not(.wp-element-button)){color:currentColor}.acf-toc__title{margin:0 0 0.5em 0;padding:0 0 0.5em 0;font-weight:600;font-size:0.8125em;text-transform:uppercase;letter-spacing:0.05em;opacity:var(--toc-title-opacity);border-bottom:1px solid var(--toc-border)}.acf-toc__content{padding:0}.acf-toc :where(ul){margin:0;padding:0;list-style:none}.acf-toc :where(ol){margin:0;padding:0;list-style:none;counter-reset:toc}.acf-toc :where(ol)>.acf-toc__item{counter-increment:toc}.acf-toc :where(ol)>.acf-toc__item>.acf-toc__link::before{content:counter(toc);display:inline-flex;align-items:center;justify-content:center;width:1.6em;height:1.6em;border-radius:50%;background:var(--toc-accent);color:var(--toc-counter-text);font-size:0.75em;font-weight:700;font-variant-numeric:tabular-nums;margin-right:0.75em;flex-shrink:0;line-height:1}.acf-toc__sublist{margin-top:0;padding-left:2.5em;border-left:none}.acf-toc :where(ol).acf-toc__sublist{counter-reset:toc-sub}.acf-toc :where(ol).acf-toc__sublist>.acf-toc__item{counter-increment:toc-sub}.acf-toc :where(ol).acf-toc__sublist>.acf-toc__item>.acf-toc__link::before{content:counter(toc-sub);width:1.4em;height:1.4em;font-size:0.7em;background:var(--toc-accent-sub)}.acf-toc__item{margin:0;padding:0;border-bottom:1px solid var(--toc-border)}.acf-toc__item:last-child{border-bottom:none}.acf-toc__item--depth-0>.acf-toc__link{font-weight:500}.acf-toc__link{color:inherit;text-decoration:none;display:flex;align-items:center;padding:0.65em 0.25em;border-radius:0;opacity:var(--toc-link-opacity);transition:opacity 0.15s ease,background-color 0.15s ease}.acf-toc__link:hover,.acf-toc__link:focus{opacity:1;background:var(--toc-link-hover-bg)}.acf-toc__link--active{opacity:1;font-weight:600;background:var(--toc-link-active-bg)}.acf-toc :where(ul)>.acf-toc__item>.acf-toc__link::before{content:"";display:inline-block;width:0.4em;height:0.4em;border-radius:50%;background:var(--toc-accent);margin-right:0.75em;flex-shrink:0;opacity:var(--toc-bullet-opacity)}.acf-toc :where(ul).acf-toc__sublist>.acf-toc__item>.acf-toc__link::before{width:0.3em;height:0.3em;opacity:var(--toc-sub-bullet-opacity)}.acf-toc__details{border:none;margin:0;padding:0}.acf-toc__details>summary{list-style:none;cursor:pointer}.acf-toc__details>summary::-webkit-details-marker{display:none}.acf-toc__summary{display:flex;align-items:center;justify-content:space-between;padding:0;user-select:none;border-radius:6px;transition:background-color 0.15s ease}.acf-toc__summary:hover{background:var(--toc-link-hover-bg)}.acf-toc__summary .acf-toc__title{margin:0;padding:0.2em 0;flex:1;opacity:var(--toc-summary-title-opacity);border-bottom:none}.acf-toc__summary::after{content:"";width:0.75em;height:0.75em;flex-shrink:0;margin-left:0.5em;background:currentColor;opacity:var(--toc-chevron-opacity);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat center/contain;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat center/contain;transition:transform 0.2s ease}.acf-toc__details[open]>.acf-toc__summary::after{transform:rotate(180deg)}.acf-toc__details[open]>.acf-toc__summary{margin-bottom:0.5em;padding-bottom:0.5em;border-bottom:1px solid var(--toc-border)}.acf-toc__details .acf-toc__content{padding-top:0}.acf-toc__preview-notice{opacity:0.5;font-size:0.875em}@media (prefers-reduced-motion:reduce){.acf-toc__link,.acf-toc__summary::after,.acf-toc__summary{transition:none}}
