/*
Theme Name: BLive Custom
Author: BLive
Description: Custom theme foundation. Shared header, footer, fonts and animation system. Page designs follow separately.
Version: 0.1.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: blive
*/
/* 01 Fonts: one collection for the whole website. */
@font-face{font-family:Gilroy;src:url('assets/fonts/gilroy-regular.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Gilroy;src:url('assets/fonts/gilroy-bold.ttf') format('truetype');font-weight:700;font-display:swap}@font-face{font-family:Bebas;src:url('assets/fonts/bebas-bold.otf') format('opentype');font-weight:700;font-display:swap}
/* 02 Tokens and base */
:root{--blue:#239dd6;--yellow:#ffc809;--green:#16845b;--ink:#101f29;--navy:#0a1b2b;--line:#d8e3e7;--body-font:Gilroy,Arial,sans-serif;--heading-font:Bebas,Impact,sans-serif;--header-height:88px;--gutter:clamp(22px,5vw,80px)}*,:before,:after{box-sizing:border-box}html{scroll-padding-top:var(--header-height)}body{margin:0;font:17px/1.5 var(--body-font);color:var(--ink);background:#fff}a{color:inherit;text-underline-offset:5px}button,input,textarea{font:inherit}img{max-width:100%;height:auto}button,summary{cursor:pointer}[hidden]{display:none!important}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}h1,h2{font:700 clamp(44px,4.6vw,68px)/1 var(--heading-font);margin:0}p{margin:0 0 16px}.container{width:min(calc(100% - var(--gutter)*2),1360px);margin-inline:auto}.micro{font-size:10px;font-weight:700;letter-spacing:1.6px;line-height:1.5}.icon{width:22px;height:22px;flex-shrink:0;vertical-align:middle}.skip-link{position:fixed;top:-100px;left:16px;z-index:1000;background:var(--yellow);padding:12px}.skip-link:focus{top:12px}.page-content{min-height:30vh;padding-block:70px}.page-content h1{margin-bottom:24px}.page-content article{margin-bottom:32px}
/* 03 Common buttons */
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:48px;padding:12px 22px;text-decoration:none;font-size:14px;font-weight:700;border:0;transition:background .25s,color .25s,transform .3s}.button-primary{background:var(--yellow);color:var(--ink)}.button-primary:hover{background:var(--green);color:#fff;transform:translateY(-3px)}.button .icon{width:19px;height:19px;transition:transform .3s}.button:hover .icon{transform:translate(2px,-2px)}
/* 04 Header and dropdown navigation */
.site-header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid var(--line)}.site-header:after{content:'';position:absolute;left:0;bottom:-1px;width:100%;height:2px;background:linear-gradient(90deg,var(--blue),var(--green),var(--yellow));transform:scaleX(0);transform-origin:left;transition:transform .5s}.site-header.is-scrolled:after{transform:scaleX(1)}.admin-bar .site-header{top:32px}.header-inner{width:min(calc(100% - var(--gutter)*2),1360px);margin:auto;min-height:var(--header-height);display:flex;align-items:center;justify-content:space-between;gap:30px}.brand .custom-logo{width:auto;height:51px;max-width:160px;object-fit:contain;display:block}.custom-logo-link{display:inline-block;line-height:0}.brand-fallback{font:700 34px/1 var(--body-font);color:var(--blue);text-decoration:none;display:inline-block}.brand-fallback span{display:block;font:700 7px/1.5 var(--body-font);letter-spacing:1.1px;margin-top:6px;color:var(--ink)}.nav-list{display:flex;align-items:center;gap:28px;margin:0;padding:0;list-style:none}.nav-link,.nav-dropdown>summary{font-size:14px;font-weight:700;text-decoration:none;display:flex;align-items:center;gap:7px;min-height:var(--header-height);position:relative;white-space:nowrap}.nav-dropdown>summary{list-style:none}.nav-dropdown>summary::-webkit-details-marker{display:none}.nav-dropdown>summary>.icon{width:14px;height:14px;transition:transform .25s}.nav-dropdown[open]>summary>.icon{transform:rotate(180deg)}.nav-link:after,.nav-dropdown>summary:after{content:'';position:absolute;left:0;right:0;bottom:23px;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .3s}.nav-link:hover:after,.nav-link[aria-current]:after,.nav-dropdown[open]>summary:after{transform:scaleX(1)}.nav-dropdown{position:relative}.dropdown{position:absolute;top:100%;background:#fff;border:1px solid var(--line);border-top:3px solid var(--blue);animation:dropdown-in .25s ease both}.about-dropdown{width:270px;left:0;padding:22px}.about-dropdown .micro{color:#53717d;margin-bottom:12px}.about-dropdown>a{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid #edf1f3;text-decoration:none;font-size:15px;font-weight:700}.about-dropdown>a:last-child{border-bottom:0}.about-dropdown>a span{color:var(--green);transition:transform .25s}.about-dropdown>a:hover{color:var(--blue)}.about-dropdown>a:hover span{transform:translate(3px,-3px)}.franchise-dropdown{width:610px;left:50%;transform:translateX(-50%);display:grid;grid-template-columns:210px 1fr;animation-name:franchise-in}.dropdown-intro{background:#eef7fc;padding:28px}.dropdown-intro strong{display:block;font:700 43px/.98 var(--heading-font);margin:26px 0 16px}.dropdown-intro em{font-style:normal;color:var(--blue)}.dropdown-intro p{font-size:14px;line-height:1.5;margin:0}.franchise-links{padding:14px 20px}.franchise-links>a{display:flex;gap:14px;align-items:center;text-decoration:none;padding:18px 0;border-bottom:1px solid var(--line)}.franchise-links>a:last-child{border:0}.franchise-links b{font-size:17px}.franchise-links small{display:block;font-size:12px;color:#566a75;margin-top:3px}.nav-icon{background:#eef7fc;color:var(--blue);width:42px;height:46px;display:grid;place-items:center;transition:background .3s,transform .3s}.franchise-links>a:nth-child(2) .nav-icon{background:#eef8f1;color:var(--green)}.franchise-links>a:nth-child(3) .nav-icon{background:#fff7d4;color:#887000}.link-arrow{margin-left:auto;color:var(--green);transition:transform .3s}.franchise-links>a:hover .nav-icon{background:var(--yellow);transform:translateY(-3px)}.franchise-links>a:hover .link-arrow{transform:translate(3px,-3px)}.dropdown [aria-current]{color:var(--blue)}.menu-toggle,.mobile-social{display:none}
/* 05 Footer */
.footer-cta{background:#eef7fc;position:relative;overflow:hidden;border-top:1px solid #dbeaf0}.footer-cta:after{content:'';position:absolute;width:370px;height:370px;border:1px solid #c7e2e6;border-radius:50%;right:-150px;top:-135px;pointer-events:none}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-block:60px;position:relative;z-index:1}.footer-cta .micro{color:#4c6773;margin-bottom:18px}.footer-cta h2{font-size:clamp(38px,4.1vw,62px)}.footer-cta h2 em{font-style:normal;color:var(--blue)}.footer-main{background:var(--navy);color:#fff}.footer-top{display:flex;justify-content:space-between;align-items:center;padding:26px 0;border-bottom:1px solid #ffffff22}.footer-top .micro{display:flex;align-items:center;gap:10px}.status-dot{width:7px;height:7px;background:var(--yellow);display:inline-block}.back-top{font-size:12px;text-decoration:none;display:flex;align-items:center;gap:12px}.back-top .icon{width:17px;height:17px;transition:transform .25s}.back-top:hover .icon{transform:translateY(-4px)}.footer-grid{display:grid;grid-template-columns:1.25fr 1fr .7fr 1.15fr;gap:46px;padding:50px 0}.footer-logo{display:inline-block;background:#fff;padding:12px 17px;margin-bottom:24px}.footer-logo .custom-logo{width:auto;max-width:130px;height:42px;object-fit:contain}.footer-logo .brand-fallback{font-size:30px}.footer-brand>p{max-width:285px;font-size:14px;line-height:1.8;color:#bccbd4;margin-bottom:22px}.footer-grid h3{font-size:13px;margin:0 0 24px;font-weight:700}.footer-grid ul{list-style:none;padding:0;margin:0;display:grid;gap:13px}.footer-grid a{font-size:14px;text-decoration:none;transition:color .25s}.footer-grid nav a{position:relative}.footer-grid nav a:after{content:'';position:absolute;left:0;right:0;bottom:-4px;height:1px;background:var(--yellow);transform:scaleX(0);transform-origin:left;transition:transform .25s}.footer-grid nav a:hover:after{transform:scaleX(1)}.footer-grid a:hover{color:var(--yellow)}.social-links{display:flex;gap:9px}.social-links>a{display:grid;place-items:center;width:40px;height:40px;border:1px solid #ffffff44;color:#fff;transition:color .25s,background .25s,transform .25s}.social-links .icon{width:18px;height:18px}.social-links>a:hover{background:var(--yellow);border-color:var(--yellow);color:var(--ink);transform:translateY(-4px)}.footer-contact .contact-mail{display:inline-block;margin-bottom:22px;font-size:16px}.footer-contact p{margin-bottom:17px}.footer-contact p span{display:block;font-size:10px;color:#bccbd4;letter-spacing:.7px;margin-bottom:4px}.address-link{display:inline-flex;gap:12px;align-items:center}.address-link .icon{width:16px;height:16px}.footer-bottom{display:flex;justify-content:space-between;gap:25px;padding:22px 0;border-top:1px solid #ffffff22;color:#bccbd4}.footer-bottom p,.footer-bottom a{font-size:11px;margin:0;text-decoration:none}.footer-bottom>div{display:flex;gap:24px}.footer-bottom a:hover{color:white}
/* 06 Common animation classes; never hide content without JS */
@keyframes dropdown-in{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}@keyframes franchise-in{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}[data-reveal].reveal-ready{opacity:0;transform:translateY(22px);transition:opacity .7s,transform .9s cubic-bezier(.16,1,.3,1)}[data-reveal].reveal-ready.is-visible{opacity:1;transform:none}
/* 07 Responsive */
@media(max-width:1150px){.nav-list{gap:18px}.nav-link,.nav-dropdown>summary{font-size:13px}.header-inner{gap:20px}.header-contact{padding-inline:16px}.footer-grid{gap:28px}}
@media(max-width:1000px){:root{--header-height:76px}.header-inner{flex-wrap:wrap}.menu-toggle{display:inline-flex;gap:13px;align-items:center;min-height:44px;padding:10px 14px;background:#fff;border:1px solid var(--line);font-size:13px;font-weight:700}.menu-lines{display:block;width:18px;height:12px;border-top:2px solid currentColor;border-bottom:2px solid currentColor;position:relative}.menu-lines:after{content:'';position:absolute;top:4px;left:0;width:18px;border-top:2px solid currentColor}.menu-toggle[aria-expanded=true] .menu-lines{border:0;transform:rotate(45deg);height:18px}.menu-toggle[aria-expanded=true] .menu-lines:after{top:8px}.menu-toggle[aria-expanded=true] .menu-lines:before{content:'';position:absolute;top:0;left:8px;height:18px;border-left:2px solid currentColor}#site-navigation{width:100%;padding:4px 0 24px;max-height:calc(100dvh - var(--header-height) - 46px);overflow:auto}.nav-list{display:block}.nav-list>li{border-top:1px solid var(--line)}.nav-link,.nav-dropdown>summary{font-size:16px;min-height:58px;justify-content:space-between;padding:12px 0}.nav-link:after,.nav-dropdown>summary:after{display:none}.dropdown{position:static;width:auto;transform:none;border:0;background:#f4f9fb;animation:dropdown-in .25s}.about-dropdown{padding:12px 20px}.franchise-dropdown{grid-template-columns:1fr}.dropdown-intro{display:none}.franchise-links{padding:0 18px}.header-contact{margin-top:18px;display:flex}.nav-list>li:last-child{border:0}.mobile-social{display:block;margin-top:26px}.mobile-social .micro{display:block;margin-bottom:12px;color:#536a75}.mobile-social .social-links>a{color:var(--ink);border-color:var(--line)}.footer-grid{grid-template-columns:1fr 1fr;gap:38px}.brand .custom-logo{height:44px}.cta-inner{padding-block:44px}.footer-cta h2{font-size:45px}}
@media(max-width:600px){.admin-bar .site-header{top:0}.header-inner{gap:0}.brand-fallback{font-size:29px}.cta-inner{display:block}.cta-inner>.button{margin-top:28px}.footer-cta h2{font-size:39px}.footer-grid{grid-template-columns:1fr 1fr;gap:34px 20px;padding-block:36px}.footer-brand,.footer-contact{grid-column:1/-1}.footer-brand>p{max-width:360px}.footer-bottom{flex-direction:column;gap:14px}.footer-top .micro{font-size:8px;letter-spacing:1px}.back-top{font-size:10px;gap:7px}.page-content{padding-block:45px;min-height:28vh}}
@media(min-width:601px) and (max-width:782px){.admin-bar .site-header{top:46px}}
/* 08 Reduced motion */
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}[data-reveal].reveal-ready{opacity:1;transform:none}.button:hover,.social-links>a:hover{transform:none}}
