/*
Theme Name: Bat Boys Heritage
Author: Bat Boys Baseball
Description: Bold single-page Bat Boys Baseball site, powered by the Bat Boys Team Archive plugin.
Version: 1.0.6
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: batboys-heritage
*/
:root{--mint:#18cfa9;--coal:#232323;--yellow:#ffcf55;--coral:#ff554d;--paper:#f8f8f5;--muted:#6f716f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--coal);background:var(--paper);font-family:'DM Sans',Arial,sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{max-width:100%;display:block}.wrap{width:min(1200px,calc(100% - 52px));margin:0 auto}.eyebrow{font-weight:800;font-size:12px;letter-spacing:.2em;text-transform:uppercase}.display,.section-title,.giant,.headline,.record{font-family:'Barlow Condensed','Impact',sans-serif;font-weight:900;text-transform:uppercase;line-height:.91;letter-spacing:-.012em}.display{font-size:clamp(76px,11.2vw,174px);margin:14px 0 20px}.display span{color:var(--mint)}.section-title{font-size:clamp(53px,7vw,94px);margin:10px 0 18px}.muted{color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;border:2px solid transparent;border-radius:0;background:var(--mint);padding:15px 21px;color:var(--coal);font-weight:900;font-size:12px;letter-spacing:.1em;text-transform:uppercase;transition:transform .18s,background .18s}.btn:hover{transform:translateY(-4px);background:var(--yellow)}.btn.dark{background:var(--coal);color:#fff}.btn.dark:hover{background:var(--coral)}.site-header{position:absolute;top:0;left:0;right:0;z-index:10;border-bottom:1px solid #ffffff24}.nav{display:flex;align-items:center;justify-content:space-between;min-height:94px;gap:24px}.brand img{width:137px;filter:invert(1)}.navlinks{display:flex;align-items:center;gap:32px}.navlinks a{color:#fff;font-weight:800;text-transform:uppercase;font-size:12px;letter-spacing:.11em}.navlinks a:hover{color:var(--mint)}.navlinks .outline{border:1px solid var(--mint);padding:13px 17px;color:var(--mint)}.hero{background:var(--coal);color:#fff;overflow:hidden;position:relative;padding:172px 0 86px;min-height:720px}.hero:before{content:'';position:absolute;inset:0;opacity:.15;background-image:radial-gradient(#ffffff33 1px,transparent 1px);background-size:13px 13px;pointer-events:none}.hero-inner{display:grid;grid-template-columns:1.12fr .88fr;align-items:center;gap:32px;position:relative}.hero .eyebrow{color:var(--yellow)}.hero-lead{font-size:clamp(17px,2vw,21px);line-height:1.6;max-width:470px;color:#ddd}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.ghost-btn{background:transparent;color:#fff;border-color:#ffffff6b}.ghost-btn:hover{color:var(--coal)}.hero-photo{position:relative;margin:18px 18px 16px 28px;transform:rotate(2deg)}.hero-photo:before{content:'';position:absolute;inset:20px -19px -20px 19px;border:7px solid var(--mint);z-index:-1}.hero-photo img{width:100%;aspect-ratio:4/4.25;object-fit:cover;filter:saturate(.85);border:8px solid var(--coral)}.hero-stamp{position:absolute;left:-32px;bottom:-28px;padding:17px 24px;background:var(--yellow);color:var(--coal);font:900 30px 'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;transform:rotate(-5deg)}.ticker{background:var(--mint);padding:15px 0;overflow:hidden}.ticker .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font:900 24px 'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;letter-spacing:.06em}.section{padding:106px 0}.intro{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:34px}.intro p{max-width:440px;line-height:1.65;color:#555}.year-bar{display:flex;gap:8px;flex-wrap:wrap;margin:36px 0 27px}.year-btn{padding:12px 20px;border:2px solid var(--coal);background:transparent;font-weight:900;letter-spacing:.04em}.year-btn[aria-pressed=true],.year-btn:hover{background:var(--coal);color:var(--mint)}.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.team-card{background:#fff;border:1px solid #e6e6e2}.team-media{position:relative;display:block;overflow:hidden;width:100%;border:0;padding:0;background:#e7e8e2;text-align:left}.team-media img,.team-placeholder{width:100%;aspect-ratio:1.38;object-fit:cover;transition:transform .25s}.team-media:hover img{transform:scale(1.045)}.team-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:linear-gradient(130deg,#353535,#202020);color:var(--mint);text-align:center;padding:20px}.team-placeholder span{font:900 34px 'Barlow Condensed',Impact,sans-serif;text-transform:uppercase}.team-placeholder small{color:#c8c8c8;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.team-body{padding:21px 21px 24px}.team-year{font-size:11px;font-weight:900;letter-spacing:.15em;color:#008971}.team-title{font:900 32px 'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;margin:7px 0}.team-record{font-weight:800;font-size:13px;color:#565656}.team-highlights{font-size:13px;line-height:1.55;margin:12px 0 0;color:#666}.no-teams{background:#fff;padding:38px;border-left:7px solid var(--mint);line-height:1.6}.legion{background:var(--mint)}.legion .eyebrow{color:#134c43}.legion .intro p{color:#16493f}.legion .team-year{color:#008971}.about{background:var(--coal);color:#fff}.about .section-title{max-width:820px}.about .section-title em{color:var(--mint);font-style:normal}.about-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-top:48px}.about-block{border-top:4px solid var(--mint);padding-top:24px}.about-block h3{font:900 33px 'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;margin:0 0 12px}.about-block p{color:#d4d4d4;line-height:1.7;font-size:15px}.connect{background:var(--yellow)}.connect-inner{display:flex;justify-content:space-between;gap:35px;align-items:center}.connect .section-title{max-width:660px}.connect-actions{display:flex;gap:12px;flex-wrap:wrap}.footer{background:#171717;color:#a9a9a9;padding:30px 0}.footer .wrap{display:flex;justify-content:space-between;gap:18px;align-items:center;flex-wrap:wrap;font-size:12px}.footer img{width:120px;filter:invert(1)}.lightbox{position:fixed;inset:0;background:#000e;z-index:100;display:none;align-items:center;justify-content:center;padding:35px}.lightbox.open{display:flex}.lightbox img{max-height:86vh;max-width:94vw;object-fit:contain}.closebox{position:absolute;top:20px;right:25px;color:#fff;font-size:38px;border:0;background:none}.skip-link{position:absolute;top:-50px;left:15px;z-index:200;background:#fff;color:#000;padding:8px}.skip-link:focus{top:10px}@media(max-width:850px){.hero-inner{grid-template-columns:1fr}.hero{padding-top:135px}.hero-photo{width:min(450px,82%);margin:30px auto}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-grid{grid-template-columns:1fr;gap:16px}.intro,.connect-inner{align-items:start;flex-direction:column}.navlinks{gap:14px}.navlinks a{font-size:10px}.navlinks .outline{display:none}}@media(max-width:560px){.wrap{width:min(100% - 30px,1200px)}.brand img{width:119px}.nav{min-height:72px}.navlinks a:nth-child(2){display:none}.navlinks{gap:12px}.display{font-size:clamp(67px,17vw,104px)}.hero{padding-bottom:65px}.section{padding:70px 0}.team-grid{grid-template-columns:1fr}.ticker .wrap{font-size:19px}.hero-stamp{font-size:23px;left:-15px}.connect-actions{flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* v1.0.2: cleaner player hero and stable loading layout */
.hero-photo picture{display:block}.hero-photo img{height:auto;aspect-ratio:4/4.25;object-fit:cover}.hero-stamp{display:none}

/* v1.0.3: refined hero, upcoming program information, merchandise and related resources */
.hero-photo img{border:0;filter:none}
.hero-photo:before{border-color:var(--mint);border-width:5px}
.upcoming{background:var(--paper)}.upcoming-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:66px;align-items:center}.upcoming p{max-width:530px;line-height:1.7;color:#555}.upcoming .eyebrow{color:#008d75}.upcoming-panel{display:flex;flex-direction:column;gap:14px;background:var(--coal);padding:44px;color:#fff;border-left:7px solid var(--mint)}.upcoming-panel strong{font:900 clamp(35px,4vw,54px)/.95 'Barlow Condensed',Impact,sans-serif}.upcoming-panel-label,.project-kicker{font-size:11px;letter-spacing:.18em;font-weight:900;color:var(--mint)}.upcoming-panel>span:nth-of-type(2){color:#ccc}.text-link{font-size:12px;color:var(--mint);font-weight:900;letter-spacing:.09em;margin-top:15px}.text-link:hover{text-decoration:underline}
.merch{background:#eaf4ef}.merch-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:72px}.merch-art{min-height:355px;display:flex;flex-direction:column;gap:13px;align-items:center;justify-content:center;background:var(--coal);color:#fff;position:relative;border:2px dashed var(--mint);text-align:center;padding:38px}.merch-art-mark{font:900 108px/.9 'Barlow Condensed',Impact,sans-serif;color:var(--mint);opacity:.3}.merch-art>span{font:900 37px/.95 'Barlow Condensed',Impact,sans-serif;letter-spacing:.04em}.merch-art small{font-size:11px;letter-spacing:.08em;color:#aaa}.merch-copy p{line-height:1.7;max-width:400px;margin:0 0 27px}.merch .eyebrow{color:#008d75}
.projects{background:#fff}.projects .eyebrow{color:#008d75}.projects-intro{max-width:620px;color:#555;line-height:1.7}.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:32px}.project-item{display:flex;gap:20px;align-items:flex-start;border:2px solid #dededb;padding:30px;transition:border-color .2s,transform .2s}.project-item:hover{border-color:var(--mint);transform:translateY(-3px)}.project-icon{display:grid;place-items:center;flex:0 0 52px;height:52px;background:var(--mint);color:var(--coal);font-size:35px;font-weight:900}.project-item h3{margin:7px 0 10px;font:900 clamp(24px,3vw,32px) 'Barlow Condensed',Impact,sans-serif}.project-item p{font-size:14px;line-height:1.6;color:#555;margin:0}.project-kicker{color:#008d75}
@media(max-width:850px){.upcoming-inner,.merch-inner{grid-template-columns:1fr;gap:32px}.projects-grid{grid-template-columns:1fr}.merch-art{min-height:270px}}@media(max-width:560px){.upcoming-panel{padding:27px}.project-item{padding:22px;gap:14px}.project-icon{flex-basis:42px;height:42px;font-size:28px}.merch-art{min-height:235px}}

/* v1.0.4: supplied apparel and cross-promotion photography */
.merch-photo{padding:0;border:0;display:block;min-height:0;background:var(--mint);overflow:hidden}
.merch-photo img{display:block;width:100%;height:auto;aspect-ratio:1000/667;object-fit:cover}
.project-visual{flex:0 0 132px;width:132px;height:132px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#f4f5f2}
.project-visual img{display:block;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}
.project-visual-vfg{background:#fff}.project-visual-vfg img{padding:7px}
.project-visual-bullpen{background:#232323}.project-visual-bullpen img{padding:2px}
@media(max-width:560px){.project-visual{flex-basis:92px;width:92px;height:92px}.project-item{align-items:center}}

/* v1.0.5: logo replaces Bullpen Tracker phone image */
.project-visual-bullpen img{padding:14px}

/* v1.0.6: transparent Bullpen Tracker logo on a clean white card, consistent with VFG */
.project-visual-bullpen{background:#fff}
