/* FilmFool Site — base, fonts, header, footer (v1.1.0, Oct 2026)
   House fonts: Bebas Neue (headings) · Barlow Condensed (menus, buttons, labels) · Barlow (body).
   Artistic exceptions kept: opening animation (.ff-hero-scroll / .ff-premiere, ivypresto) and After Dark (.ff-adsec, Bodoni Moda). */

/* ---------- font aliases: legacy families inside page widgets render as house fonts ---------- */
@font-face{font-family:'Open Sans';font-style:normal;font-weight:300 400;font-display:swap;src:url(https://fonts.gstatic.com/s/barlow/v13/7cHpv4kjgoGqM7E_DMs5ynghnQ.woff2) format('woff2')}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/barlow/v13/7cHqv4kjgoGqM7E3_-gs51ostz0rdg.woff2) format('woff2')}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/barlow/v13/7cHqv4kjgoGqM7E30-8s51ostz0rdg.woff2) format('woff2')}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:700 800;font-display:swap;src:url(https://fonts.gstatic.com/s/barlow/v13/7cHqv4kjgoGqM7E3t-4s51ostz0rdg.woff2) format('woff2')}
@font-face{font-family:'Open Sans';font-style:italic;font-weight:300 800;font-display:swap;src:url(https://fonts.gstatic.com/s/barlow/v13/7cHrv4kjgoGqM7E_Cfs7wH8Dnzcj.woff2) format('woff2')}
@font-face{font-family:'Arial';font-style:normal;font-weight:300 400;font-display:swap;src:url(https://fonts.gstatic.com/s/barlow/v13/7cHpv4kjgoGqM7E_DMs5ynghnQ.woff2) format('woff2')}
@font-face{font-family:'Arial';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/barlow/v13/7cHqv4kjgoGqM7E3_-gs51ostz0rdg.woff2) format('woff2')}
@font-face{font-family:'Arial';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/barlow/v13/7cHqv4kjgoGqM7E30-8s51ostz0rdg.woff2) format('woff2')}
@font-face{font-family:'Arial';font-style:normal;font-weight:700 800;font-display:swap;src:url(https://fonts.gstatic.com/s/barlow/v13/7cHqv4kjgoGqM7E3t-4s51ostz0rdg.woff2) format('woff2')}
@font-face{font-family:'Arial';font-style:italic;font-weight:300 800;font-display:swap;src:url(https://fonts.gstatic.com/s/barlow/v13/7cHrv4kjgoGqM7E_Cfs7wH8Dnzcj.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:300 400;font-display:swap;src:url(https://fonts.gstatic.com/s/barlow/v13/7cHpv4kjgoGqM7E_DMs5ynghnQ.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:500 600;font-display:swap;src:url(https://fonts.gstatic.com/s/barlow/v13/7cHqv4kjgoGqM7E30-8s51ostz0rdg.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:700 800;font-display:swap;src:url(https://fonts.gstatic.com/s/barlow/v13/7cHqv4kjgoGqM7E3t-4s51ostz0rdg.woff2) format('woff2')}
@font-face{font-family:'Roboto';font-style:normal;font-weight:300 400;font-display:swap;src:url(https://fonts.gstatic.com/s/barlow/v13/7cHpv4kjgoGqM7E_DMs5ynghnQ.woff2) format('woff2')}
@font-face{font-family:'Roboto';font-style:normal;font-weight:500 800;font-display:swap;src:url(https://fonts.gstatic.com/s/barlow/v13/7cHqv4kjgoGqM7E30-8s51ostz0rdg.woff2) format('woff2')}
@font-face{font-family:'Helvetica';font-style:normal;font-weight:300 800;font-display:swap;src:url(https://fonts.gstatic.com/s/barlow/v13/7cHpv4kjgoGqM7E_DMs5ynghnQ.woff2) format('woff2')}
@font-face{font-family:'Georgia';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/barlow/v13/7cHpv4kjgoGqM7E_DMs5ynghnQ.woff2) format('woff2')}
@font-face{font-family:'Georgia';font-style:italic;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/barlow/v13/7cHrv4kjgoGqM7E_Cfs7wH8Dnzcj.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300 700;font-display:swap;src:url(https://fonts.gstatic.com/s/bebasneue/v16/JTUSjIg69CK48gW7PXoo9WlhyyTh89Y.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:300 700;font-display:swap;src:url(https://fonts.gstatic.com/s/bebasneue/v16/JTUSjIg69CK48gW7PXoo9WlhyyTh89Y.woff2) format('woff2')}

/* ---------- base ---------- */
*,*:before,*:after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:#191a11;color:#cfcebf;font-family:Barlow,Arial,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img,svg,video,iframe{max-width:100%}
img{height:auto;border:0}
a{color:#c6b779;text-decoration:none;transition:color .2s}
a:hover{color:#dfd09b}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4,h5,h6{font-family:'Bebas Neue',Impact,'Arial Narrow',sans-serif;font-weight:400;line-height:1.05;color:#f3ecdc;margin:0 0 .5em}
p{margin:0 0 1em}
dialog{color:inherit}
.screen-reader-text,.skip-link{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.skip-link:focus{clip:auto;width:auto;height:auto;z-index:100000;top:8px;left:8px;padding:10px 14px;background:#efe7d6;color:#191a11}
:focus-visible{outline:2px solid #c6b779;outline-offset:2px}

/* ---------- font system inside page content ---------- */
html body :is(h1,h2,h3,h4,h5,h6):not(.ff-hero-scroll *):not(.ff-premiere *):not(.ff-adsec *):not(#wpadminbar *){font-family:'Bebas Neue',Impact,'Arial Narrow',sans-serif!important;font-weight:400!important;font-style:normal!important;letter-spacing:.02em}
html body :is(h1,h2,h3,h4,h5,h6):not(.ff-hero-scroll *):not(.ff-premiere *):not(.ff-adsec *) :is(span,em,i,b,strong):not([class*='icon']){font-family:inherit!important;font-style:normal!important}
html body :is(.ff-wl-lead,.ff-hire-claim):not(.ff-hero-scroll *):not(.ff-adsec *){font-family:Barlow,Arial,sans-serif!important;font-style:normal!important}
html body :is(button,input[type=submit],.wpcf7-submit,.ff-now-book,.ff-now-submit,.ff-hire-btn,.ff-connect-wa):not(.ff-hero-scroll *):not(.ff-adsec *):not(#wpadminbar *){font-family:'Barlow Condensed','Arial Narrow',sans-serif!important;font-weight:600!important;letter-spacing:.14em!important}

/* ---------- layout for non-Elementor pages (posts, archives, 404) ---------- */
body.ffx-solid-head{padding-top:76px}
body:not(.elementor-page) .site-main{max-width:900px;margin:0 auto;padding:56px 24px 72px}
body:not(.elementor-page) .site-main :is(p,li,td){color:#cfcebf;font-size:17px;line-height:1.75}
body:not(.elementor-page) .site-main .page-header h1,body:not(.elementor-page) .site-main h1.entry-title{font-size:clamp(48px,6vw,84px);line-height:.95;margin-bottom:24px}
body.page-id-12954 .elementor-section{max-width:900px;margin-left:auto;margin-right:auto}
body.page-id-12954 .elementor-widget-text-editor{color:#cfcebf;font-size:17px;line-height:1.75}
body.page-id-12954 .elementor-widget-text-editor :is(h2,h3){color:#f3ecdc;margin-top:1.4em}
body.page-id-12954 .elementor-widget-heading .elementor-heading-title{color:#f3ecdc;font-size:clamp(48px,6vw,84px);line-height:.95}
body.page-id-12954 .elementor-widget-text-editor a{color:#c6b779;text-decoration:underline;text-underline-offset:3px}

/* homepage Weekend Lineup film numbers: brighter red for AA contrast on the dark ground */
.ff-now-film b i{color:#f06a5c}

/* homepage contact block spacing */
#ff-contact-direct{padding-top:40px!important;padding-bottom:44px!important}

/* ---------- header ---------- */
.ffx-head{position:fixed;top:0;left:0;right:0;z-index:999;display:flex;align-items:center;gap:clamp(14px,2.4vw,34px);padding:12px clamp(18px,4vw,48px);font-family:'Barlow Condensed','Arial Narrow',sans-serif;transition:padding .3s}
.ffx-head:before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(17,18,14,.94);opacity:0;transition:opacity .3s,background .4s;box-shadow:0 1px 0 rgba(243,236,220,.08)}
.ffx-head.is-solid:before,body.ffx-solid-head .ffx-head:before{opacity:1}
html.ff-is-dark .ffx-head:before{background:rgba(5,5,6,.94)}
body.admin-bar .ffx-head{top:32px}
@media(max-width:782px){body.admin-bar .ffx-head{top:46px}}
.ffx-head a{color:#efe7d6;text-decoration:none}
.ffx-logo{position:relative;z-index:2;display:grid;line-height:0;flex:0 0 auto}
.ffx-logo>span{grid-area:1/1;display:flex;align-items:center;transition:opacity .2s ease}
.ffx-logo-day svg{height:46px;width:auto;display:block}
.ffx-logo-ad{opacity:0;flex-direction:column;align-items:flex-start!important;gap:5px;padding:8px 14px;border-radius:8px;background:rgba(12,11,11,.88);box-shadow:inset 0 0 0 1px rgba(255,240,225,.16),-3px -3px 14px -6px rgba(255,40,40,.9),3px 3px 14px -6px rgba(255,40,40,.9);pointer-events:none}
.ffx-logo-ad svg{height:20px;width:auto;display:block}
.ffx-logo-ad em{font:600 10px/1 'Barlow Condensed','Arial Narrow',sans-serif;font-style:normal;letter-spacing:.24em;text-transform:uppercase;color:#e53030}
html.ff-is-dark .ffx-logo-day{opacity:0}
html.ff-is-dark .ffx-logo-ad{opacity:1}
@media(prefers-reduced-motion:reduce){.ffx-logo>span{transition:none}}
.ffx-nav{display:flex;align-items:center;gap:clamp(12px,1.8vw,26px);margin-left:auto}
.ffx-nav a{font:600 14px/1 'Barlow Condensed','Arial Narrow',sans-serif;letter-spacing:.14em;text-transform:uppercase;opacity:.86;padding:8px 0;white-space:nowrap}
.ffx-nav a:hover,.ffx-nav a[aria-current]{opacity:1;color:#c6b779}
.ffx-cta{flex:0 0 auto;font:600 13px/1 'Barlow Condensed','Arial Narrow',sans-serif;letter-spacing:.16em;text-transform:uppercase;padding:12px 18px;border:1px solid #c6b779;color:#efe7d6!important;transition:background .2s,color .2s}
.ffx-cta:hover{background:#c6b779;color:#191a11!important}
.ffx-nav .ffx-cta-mobile{display:none}
.ffx-burger{display:none;margin-left:auto;background:none;border:1px solid rgba(239,231,214,.5);color:#efe7d6;font:600 14px/1 'Barlow Condensed','Arial Narrow',sans-serif;letter-spacing:.16em;text-transform:uppercase;padding:10px 14px;border-radius:0;cursor:pointer}
@media(max-width:1180px){.ffx-nav a{font-size:13px;letter-spacing:.1em}.ffx-nav{gap:14px}}
@media(max-width:1024px){
	.ffx-burger{display:block;position:relative;z-index:2}
	.ffx-head>.ffx-cta{display:none}
	.ffx-nav{position:fixed;inset:0;margin:0;background:#11120e;flex-direction:column;justify-content:center;gap:22px;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
	.ffx-nav a{font-size:22px;letter-spacing:.16em}
	.ffx-nav .ffx-cta-mobile{display:inline-block;margin-top:12px;font-size:15px;padding:14px 22px;border:1px solid #c6b779}
	.ffx-head.is-open .ffx-nav{opacity:1;visibility:visible}
	.ffx-logo-day svg{height:40px}
}
body.ffx-nav-open{overflow:hidden}

/* ---------- standalone pages: their own top bars and footers give way to the site header/footer ---------- */
nav[aria-label="Gallery navigation"],.fh-nav,footer.ff-sitefoot{display:none!important}
#ff-submit .sf-nav{top:76px!important;background:none!important;justify-content:flex-end!important;padding-top:10px!important;padding-bottom:10px!important;pointer-events:none}
#ff-submit .sf-nav>*{pointer-events:auto}
#ff-submit .sf-nav .sf-logo,#ff-submit .sf-nav .sf-nav-links>a:nth-child(-n+2){display:none!important}
body.admin-bar #ff-submit .sf-nav{top:108px!important}

/* ---------- footer ---------- */
.ffx-foot{position:relative;z-index:12;background:#11120e;border-top:1px solid rgba(243,236,220,.12);padding:34px clamp(18px,4vw,48px) 30px;color:#bdb6a2;font-family:Barlow,Arial,sans-serif}
.ffx-foot-in{max-width:1180px;margin:0 auto}
.ffx-foot-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}
.ffx-foot-nav{display:flex;flex-wrap:wrap;gap:8px 22px}
.ffx-foot-nav a{font:600 13px/1.6 'Barlow Condensed','Arial Narrow',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#cfc6b2}
.ffx-foot-nav a:hover{color:#c6b779}
.ffx-insta{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid rgba(243,236,220,.3);color:#efe7d6!important;flex:0 0 auto}
.ffx-insta:hover{border-color:#c6b779;color:#c6b779!important}
.ffx-map{height:180px;border-radius:6px;overflow:hidden;border:1px solid rgba(243,236,220,.12);background:#1d1f15}
.ffx-map iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(.2) contrast(.95)}
.ffx-addr{margin:16px 0 4px!important;font-size:13px;line-height:1.6}
.ffx-addr a,.ffx-copy a{color:#cfc6b2}
.ffx-copy a{text-decoration:underline;text-underline-offset:3px}
.ffx-copy{margin:0!important;font-size:12px;color:#8a8573}
@media(max-width:767px){.ffx-foot-top{flex-direction:column;align-items:flex-start}.ffx-map{height:150px}}

/* films-screened ticker (Past screenings line) */
.ffx-films{font-weight:600;color:#c6b779;font-variant-numeric:tabular-nums;display:inline-block;min-width:3ch;text-align:right}
