/*
Theme Name: The Final Revision — Animated Logo Child
Template: the-final-revision
Version: 1.0.5
Description: Framework-free scroll-driven navigation logo for The Final Revision.
Text Domain: tfr-logo-child
Requires at least: 6.4
Requires PHP: 7.4
*/
/* The parent's tfr-style handle loads this child stylesheet. Logo rules are separately enqueued. */

/* 1.0.1: persistent navigation and one icon system at every screen size. */
header.site-header.tfr-site-header{position:sticky;top:0;z-index:100;background:var(--surface,#1e1e1e)}
body.admin-bar header.site-header.tfr-site-header{top:32px}
header.site-header .tfr-nav-theme-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;min-width:44px;height:44px;padding:10px}
.tfr-nav-theme-icon{display:block;width:22px;height:22px;flex:none}
.tfr-nav-theme-icon--moon{display:none}
:root[data-theme="light"] .tfr-nav-theme-icon--sun{display:none}
:root[data-theme="light"] .tfr-nav-theme-icon--moon{display:block}
@media(max-width:782px){body.admin-bar header.site-header.tfr-site-header{top:46px}}
/* WordPress's admin toolbar scrolls away below 600px. */
@media(max-width:600px){body.admin-bar header.site-header.tfr-site-header{top:0}}

:root{scroll-padding-top:calc(var(--tfr-nav-scroll-offset,100px) + 16px)}

/* 1.0.2: compact mobile navigation and sticky scene browsing. */
header.site-header .tfr-nav-theme-toggle{border:0;background:transparent}
.tfr-site-header .tfr-nav-logo{--tfr-logo-mobile-width:480px}
.tfr-site-header .tfr-primary-nav{order:1;margin-left:auto}
.tfr-site-header .tfr-nav-theme-toggle{order:2}
.tfr-menu-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;padding:10px;border:0;background:transparent;color:var(--foreground);cursor:pointer}
.tfr-menu-icon{width:24px;height:24px;display:block}
.tfr-menu-close{display:none}
.tfr-menu-open .tfr-menu-bars{display:none}
.tfr-menu-open .tfr-menu-close{display:block}
.tfr-menu-toggle:focus-visible,.tfr-scene-step:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.tfr-scene-nav{position:sticky;top:var(--tfr-nav-header-offset,100px);z-index:80;background:var(--surface,#1e1e1e)}
.tfr-scene-dock{position:sticky;top:var(--tfr-nav-header-offset,100px);z-index:80;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;background:var(--surface,#1e1e1e);border-bottom:1px solid var(--line);margin:32px 0 24px;padding:10px 0}
.tfr-scene-dock .tfr-scene-nav{position:static;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:flex-start;gap:8px;width:100%;min-width:0;margin:0;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:var(--red) transparent;scroll-padding-inline:4px;padding:4px 0 8px}
.tfr-scene-dock .tfr-scene-nav a{flex:0 0 auto;white-space:nowrap}
.tfr-scene-hint{display:none;grid-column:1/-1;margin:0;font:500 11px/1.4 Inter,sans-serif;color:var(--subtle);text-transform:uppercase}
.tfr-studio .tfr-scene-step{display:flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;padding:10px;border:1px solid var(--line);background:var(--surface);color:var(--foreground)}
.tfr-scene-step svg{width:20px;height:20px}
.tfr-scene-step:disabled{opacity:.3;cursor:default}
.tfr-scene-dock[data-overflow="false"] .tfr-scene-step{display:none}
@media(max-width:800px){
 header.site-header.tfr-site-header{gap:8px;flex-wrap:nowrap}
 .tfr-site-header .tfr-nav-logo{flex:1 1 0;width:0;max-width:480px}
 .tfr-site-header .tfr-nav-theme-toggle{margin-left:auto;order:1}
 .tfr-nav-enhanced .tfr-menu-toggle:not([hidden]){display:inline-flex;order:2}
 .tfr-site-header .tfr-primary-nav{order:3}
 .tfr-nav-enhanced .tfr-site-header .tfr-primary-nav{display:none;position:absolute;top:100%;left:0;right:0;width:100%;margin:0;padding:12px var(--tfr-gutter,22px) 20px;flex-direction:column;align-items:stretch;gap:0;background:var(--surface);border-bottom:1px solid var(--line);font-size:14px}
 .tfr-nav-enhanced .tfr-menu-open .tfr-primary-nav{display:flex}
 .tfr-site-header .tfr-primary-nav a{display:block;padding:14px 0;min-height:44px}
 .tfr-scene-hint{display:block}
 .tfr-scene-dock{row-gap:2px}
}
/* No-JavaScript fallback keeps ordinary navigation links available. */
@media(max-width:800px){html:not(.tfr-nav-enhanced) header.site-header.tfr-site-header{flex-wrap:wrap}}
.tfr-scene-dock .tfr-scene-nav{grid-column:2}
.tfr-scene-dock[data-overflow="false"]{grid-template-columns:minmax(0,1fr);column-gap:0}
.tfr-scene-dock[data-overflow="false"] .tfr-scene-nav{grid-column:1}

/* 1.0.3: stronger mobile menu typography and reversible three-line morph. */
.tfr-menu-line{transform-box:view-box;transform-origin:12px 12px;transition:transform .28s cubic-bezier(.4,0,.2,1),opacity .18s ease}
.tfr-menu-line--top{transform-origin:12px 6px}
.tfr-menu-line--bottom{transform-origin:12px 18px}
.tfr-menu-open .tfr-menu-line--top{transform:translateY(6px) rotate(45deg)}
.tfr-menu-open .tfr-menu-line--middle{opacity:0;transform:scaleX(.5)}
.tfr-menu-open .tfr-menu-line--bottom{transform:translateY(-6px) rotate(-45deg)}
@media(max-width:800px){
 .tfr-nav-enhanced .tfr-site-header .tfr-primary-nav{gap:4px;padding-top:18px;padding-bottom:24px}
 .tfr-site-header .tfr-primary-nav a{font-family:Kanit,Impact,sans-serif;font-size:clamp(30px,5vw,42px);font-weight:700;line-height:1.15;padding:15px 0}
}
@media(prefers-reduced-motion:reduce){.tfr-menu-line{transition:none}}

/* 1.0.4: exact vector CTA arrows, independent of emoji fonts. */
.tfr-cta-icon{display:inline-block;width:1em;height:1em;vertical-align:-.12em;margin-left:.4em;flex:none}

/* 1.0.5: equal top edges and 44px boxes, independent of scrollbar height. */
.tfr-scene-dock .tfr-scene-nav{padding:0;align-self:start;align-items:stretch}
.tfr-scene-dock .tfr-scene-nav a{box-sizing:border-box;height:44px;min-height:44px;display:flex;align-items:center;line-height:1.2}
.tfr-studio .tfr-scene-dock .tfr-scene-step{align-self:start;margin:0;box-sizing:border-box;height:44px;min-height:44px}
.tfr-scene-dock .tfr-scene-nav a:focus-visible{outline-offset:-3px}
