/*
Theme Name: My True House Bowler
Theme URI: https://example.com/
Author: OpenAI for My True House Bowler
Description: A dark, energetic True House Bowler theme focused on league results, bowling reviews and weekly patterns.
Version: 1.0.23
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: mthb
*/

:root {
  --bg: #0a0b0e;
  --panel: #11141a;
  --panel-2: #171b22;
  --text: #f5f7fb;
  --muted: #aeb6c5;
  --accent: #f26522;
  --accent-2: #ff7a32;
  --line: rgba(255,255,255,.10);
  --shadow: 0 20px 50px rgba(0,0,0,.35);
  --radius: 22px;
  --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background:
    radial-gradient(circle at 15% 0%, rgba(242,101,34,.13), transparent 28%),
    radial-gradient(circle at 90% 10%, rgba(255,255,255,.05), transparent 25%),
    var(--bg);
  color: var(--text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }

.site-shell { width: min(var(--max), calc(100% - 36px)); margin: 0 auto; }
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  backdrop-filter: blur(16px);
  background: rgba(10,11,14,.84);
  border-bottom: 1px solid var(--line);
}
.header-inner { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: flex; align-items: center; gap: 12px; font-weight: 900; letter-spacing: -.03em; }
.brand-mark {
  width: 42px; height: 42px; border-radius: 50%;
  display: grid; place-items: center;
  background: linear-gradient(145deg, #fdfdfd, #dcdfe5);
  color: #12141a;
  box-shadow: inset 0 0 0 5px rgba(0,0,0,.04), 0 8px 24px rgba(0,0,0,.25);
  position: relative;
}
.brand-mark:before,
.brand-mark:after { content:""; position:absolute; width:5px; height:5px; border-radius:50%; background:#12141a; top:12px; }
.brand-mark:before { left:12px; }
.brand-mark:after { right:12px; }
.brand-mark span { width: 5px; height: 5px; border-radius: 50%; background:#12141a; position:absolute; top:9px; }
.brand-text small { display:block; color:var(--accent); font-size:.68rem; letter-spacing:.17em; text-transform:uppercase; margin-bottom:-3px; }
.brand-text strong { font-size:1.08rem; }

.main-nav { display:flex; align-items:center; gap:22px; color:#d7dce6; font-size:.95rem; font-weight:700; }
.main-nav a:hover { color: var(--accent-2); }
.nav-cta { padding: 10px 16px; border:1px solid rgba(242,101,34,.55); border-radius:999px; background:rgba(242,101,34,.11); }
.mobile-menu-note { display:none; }

.hero { padding: 92px 0 64px; overflow:hidden; }
.hero-grid { display:grid; grid-template-columns: 1.12fr .88fr; gap:64px; align-items:center; }
.eyebrow { display:inline-flex; align-items:center; gap:9px; padding:8px 12px; border-radius:999px; border:1px solid rgba(242,101,34,.30); background:rgba(242,101,34,.09); color:var(--accent-2); text-transform:uppercase; letter-spacing:.16em; font-size:.72rem; font-weight:900; }
.eyebrow:before { content:""; width:8px; height:8px; border-radius:50%; background:var(--accent); box-shadow:0 0 18px var(--accent); }
.hero h1 { margin:20px 0 20px; font-size:clamp(3rem,7vw,6.8rem); line-height:.90; letter-spacing:-.065em; max-width:850px; }
.hero h1 .accent { color:var(--accent); display:block; }
.hero-copy { max-width:690px; color:var(--muted); font-size:clamp(1.05rem,2vw,1.22rem); }
.hero-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:30px; }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:0 20px; border-radius:14px; font-weight:900; border:1px solid transparent; transition:.18s ease; }
.btn-primary { background:var(--accent); color:#17120a; box-shadow:0 12px 30px rgba(242,101,34,.22); }
.btn-primary:hover { transform:translateY(-2px); background:var(--accent-2); }
.btn-secondary { border-color:var(--line); background:rgba(255,255,255,.04); }
.btn-secondary:hover { border-color:rgba(242,101,34,.48); color:var(--accent-2); }

.hero-card { position:relative; min-height:470px; display:grid; place-items:center; }
.lane-card {
  width:min(100%, 430px); min-height:450px; border-radius:34px; padding:32px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.01)),
    repeating-linear-gradient(90deg, rgba(242,101,34,.13) 0 10px, rgba(255,122,50,.07) 10px 20px),
    #16191f;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:var(--shadow);
  transform:rotate(2deg);
  position:relative;
  overflow:hidden;
}
.lane-card:before { content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 40%, rgba(0,0,0,.38)); }
.ball { width:150px; height:150px; border-radius:50%; background:radial-gradient(circle at 35% 25%, #50545f 0 5%, #20242c 28%, #08090c 72%); box-shadow:0 20px 35px rgba(0,0,0,.4); position:absolute; bottom:48px; right:36px; }
.ball i { position:absolute; width:17px; height:17px; background:#050608; border-radius:50%; top:35px; }
.ball i:nth-child(1) { left:48px; }
.ball i:nth-child(2) { left:77px; top:30px; }
.ball i:nth-child(3) { left:64px; top:58px; }
.pin { width:72px; height:188px; background:#f5f5f5; position:absolute; left:70px; bottom:78px; border-radius:45% 45% 35% 35% / 25% 25% 70% 70%; box-shadow:0 18px 30px rgba(0,0,0,.23); transform:rotate(-8deg); }
.pin:before,.pin:after { content:""; position:absolute; left:6px; right:6px; height:11px; border-radius:10px; background:#e93333; top:53px; }
.pin:after { top:70px; }
.lane-label { position:absolute; top:30px; left:30px; z-index:2; }
.lane-label strong { display:block; font-size:2rem; letter-spacing:-.04em; }
.lane-label span { color:var(--accent-2); font-size:.82rem; font-weight:800; text-transform:uppercase; letter-spacing:.14em; }

.section { padding:72px 0; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:28px; }
.section-heading h2 { margin:0; font-size:clamp(2rem,4vw,3.3rem); letter-spacing:-.045em; }
.section-heading p { margin:0; color:var(--muted); max-width:560px; }

.stat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.stat-card { background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02)); border:1px solid var(--line); border-radius:var(--radius); padding:22px; }
.stat-card span { color:var(--muted); font-size:.82rem; text-transform:uppercase; letter-spacing:.12em; font-weight:800; }
.stat-card strong { display:block; margin-top:6px; font-size:2.2rem; letter-spacing:-.04em; }
.stat-card em { color:var(--accent-2); font-style:normal; font-size:.85rem; }

.score-list { display:grid; gap:14px; }
.score-row { display:grid; grid-template-columns:1.2fr .8fr repeat(4,.52fr); gap:12px; align-items:center; background:var(--panel); border:1px solid var(--line); border-radius:18px; padding:18px 20px; }
.score-row:hover { border-color:rgba(242,101,34,.28); }
.score-meta strong { display:block; font-size:1.02rem; }
.score-meta span { color:var(--muted); font-size:.87rem; }
.score-cell { text-align:center; }
.score-cell small { display:block; color:#818a9c; font-size:.68rem; text-transform:uppercase; letter-spacing:.1em; }
.score-cell b { display:block; font-size:1.15rem; margin-top:2px; }
.score-cell.series b { color:var(--accent-2); }

.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.feature-card { padding:28px; border-radius:var(--radius); background:var(--panel); border:1px solid var(--line); }
.feature-icon { width:48px; height:48px; display:grid; place-items:center; border-radius:14px; background:rgba(242,101,34,.13); color:var(--accent); font-size:1.35rem; margin-bottom:16px; }
.feature-card h3 { margin:0 0 8px; font-size:1.18rem; }
.feature-card p { margin:0; color:var(--muted); }

.score-archive-hero { padding:68px 0 28px; }
.score-archive-hero h1 { font-size:clamp(2.7rem,6vw,5.8rem); line-height:.95; letter-spacing:-.06em; margin:18px 0; }
.score-archive-hero p { color:var(--muted); max-width:720px; font-size:1.08rem; }
.archive-layout { display:grid; grid-template-columns: 1fr 320px; gap:28px; padding-bottom:76px; }
.sidebar-card { background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); padding:22px; height:max-content; position:sticky; top:100px; }
.sidebar-card h3 { margin-top:0; }
.sidebar-card p { color:var(--muted); }
.detail-pills { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.pill { background:rgba(255,255,255,.06); border:1px solid var(--line); padding:6px 9px; border-radius:999px; font-size:.75rem; color:#dfe4ed; }

.empty-state { padding:34px; border:1px dashed rgba(255,255,255,.18); border-radius:var(--radius); text-align:center; color:var(--muted); background:rgba(255,255,255,.02); }

.site-footer { border-top:1px solid var(--line); padding:34px 0 48px; color:#858e9f; font-size:.9rem; }
.footer-inner { display:flex; justify-content:space-between; gap:20px; align-items:center; }
.footer-links { display:flex; gap:16px; }

.content-wrap { padding:64px 0; }
.entry-card { background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); padding:clamp(24px,5vw,48px); }
.entry-card h1 { margin-top:0; }
.entry-card a { color:var(--accent-2); text-decoration:underline; }

@media (max-width: 900px) {
  .hero-grid, .archive-layout { grid-template-columns:1fr; }
  .hero { padding-top:64px; }
  .hero-card { min-height:400px; }
  .lane-card { min-height:390px; }
  .stat-grid { grid-template-columns:repeat(2,1fr); }
  .feature-grid { grid-template-columns:1fr; }
  .score-row { grid-template-columns:1fr repeat(4,.65fr); }
  .score-row .score-location { display:none; }
  .sidebar-card { position:static; }
}

@media (max-width: 680px) {
  .site-shell { width:min(var(--max), calc(100% - 24px)); }
  .main-nav a:not(.nav-cta) { display:none; }
  .header-inner { min-height:68px; }
  .brand-text strong { font-size:.98rem; }
  .hero h1 { font-size:clamp(3.4rem,17vw,5.2rem); }
  .hero-card { min-height:330px; }
  .lane-card { min-height:330px; padding:22px; }
  .ball { width:118px; height:118px; right:24px; bottom:35px; }
  .pin { width:58px; height:152px; left:45px; bottom:58px; }
  .lane-label strong { font-size:1.5rem; }
  .stat-grid { grid-template-columns:1fr 1fr; }
  .score-row { grid-template-columns:1fr 1fr 1fr; }
  .score-row .score-location { display:block; grid-column:1 / -1; }
  .score-cell.series { grid-column:3; }
  .score-cell.game3 { display:none; }
  .section { padding:54px 0; }
  .section-heading { display:block; }
  .section-heading p { margin-top:10px; }
  .footer-inner { align-items:flex-start; flex-direction:column; }
}


/* v1.0.2 — True House Bowler channel branding */
.channel-strip { background:#0d0e12; border-bottom:1px solid rgba(255,255,255,.08); font-size:.78rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.channel-strip .site-shell { min-height:34px; display:flex; align-items:center; justify-content:space-between; gap:14px; }
.channel-strip span { color:var(--accent-2); }
.channel-strip a { color:#d8ddea; }
.channel-strip a:hover { color:#fff; }
.hero-v2 { padding-top:72px; }
.hero-v2 h1 { text-transform:uppercase; max-width:780px; }
.hero-v2 .hero-kicker { display:block; font-size:.43em; letter-spacing:.28em; color:#fff; margin-bottom:.12em; }
.btn-youtube { background:#ff0033; color:#fff; box-shadow:0 12px 30px rgba(255,0,51,.20); }
.btn-youtube:hover { background:#ff3158; transform:translateY(-2px); }
.yt-play { width:25px; height:18px; border-radius:5px; background:#fff; color:#ff0033; display:inline-grid; place-items:center; font-size:.7rem; margin-right:9px; padding-left:2px; }
.hero-mini-stats { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:28px; padding-top:21px; border-top:1px solid var(--line); color:var(--muted); font-size:.82rem; text-transform:uppercase; letter-spacing:.08em; font-weight:800; }
.hero-mini-stats b { color:#fff; font-size:1.35rem; letter-spacing:-.03em; margin-right:6px; }
.lane-card-v2 { transform:rotate(1deg); min-height:485px; }
.lane-card-v2:after { content:""; position:absolute; left:50%; top:132px; bottom:0; width:2px; background:linear-gradient(180deg,rgba(242,101,34,.05),rgba(242,101,34,.52),rgba(242,101,34,.09)); box-shadow:0 0 18px rgba(242,101,34,.4); }
.lane-top-badge { position:absolute; top:0; left:0; right:0; padding:10px 18px; background:rgba(5,6,8,.72); border-bottom:1px solid rgba(255,255,255,.09); color:var(--accent-2); font-size:.7rem; font-weight:950; letter-spacing:.22em; text-align:center; z-index:3; }
.lane-card-v2 .lane-label { top:58px; left:28px; right:24px; }
.lane-card-v2 .lane-label strong { font-size:1.72rem; line-height:1.03; max-width:300px; }
.lane-card-v2 .lane-label span { letter-spacing:.10em; }
.lane-arrows { position:absolute; left:58px; right:58px; top:220px; display:flex; justify-content:space-between; z-index:2; }
.lane-arrows i { width:0; height:0; border-left:7px solid transparent; border-right:7px solid transparent; border-bottom:17px solid rgba(242,101,34,.35); }
.channel-band { padding:30px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:linear-gradient(90deg,rgba(242,101,34,.10),rgba(242,101,34,.025)); }
.channel-band-inner { display:flex; align-items:center; justify-content:space-between; gap:28px; }
.channel-band h2 { font-size:clamp(2rem,4vw,3.1rem); letter-spacing:-.05em; margin:8px 0 5px; }
.channel-band p { margin:0; color:var(--muted); max-width:760px; }
.section-dark-panel { background:rgba(255,255,255,.018); border-top:1px solid rgba(255,255,255,.05); border-bottom:1px solid rgba(255,255,255,.05); }
@media (max-width: 760px) {
  .channel-strip .site-shell { justify-content:center; }
  .channel-strip span { display:none; }
  .channel-band-inner { align-items:flex-start; flex-direction:column; }
  .lane-card-v2 { min-height:375px; }
  .lane-arrows { top:190px; left:42px; right:42px; }
}

/* v1.0.4 — live league data on homepage */
.home-league-section { border-top:1px solid rgba(255,255,255,.05); border-bottom:1px solid rgba(255,255,255,.05); }
.home-table-wrap { overflow-x:auto; border:1px solid var(--line); border-radius:18px; background:#17191e; }
.home-league-table { width:100%; min-width:680px; border-collapse:collapse; background:#17191e !important; color:#f7f8fa !important; }
.home-league-table thead tr, .home-league-table thead th { background:#111318 !important; color:#fff !important; }
.home-league-table th { padding:14px 16px; text-align:left; border:0 !important; border-bottom:1px solid #3b3f48 !important; font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; }
.home-league-table tbody tr, .home-league-table tbody td { background:#17191e !important; color:#f7f8fa !important; }
.home-league-table tbody tr:nth-child(even), .home-league-table tbody tr:nth-child(even) td { background:#1d2026 !important; }
.home-league-table td { padding:14px 16px; border:0 !important; border-bottom:1px solid #30343c !important; }
.home-league-table tbody tr:last-child td { border-bottom:0 !important; }
.home-league-table td strong { color:#fff !important; }
.home-place, .home-points { color:var(--accent-2) !important; font-weight:900; }
.home-table-action { margin-top:20px; }
.home-week-table { min-width:620px; }
@media (max-width:680px) {
  .home-league-table th, .home-league-table td { padding:11px 12px; }
  .home-table-action .btn { width:100%; }
}

/* v1.0.5: compact league call-to-action replaces duplicated standings/results on home */
.league-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}.league-cta-inner>div{max-width:760px}.league-cta-inner h2{margin:.35rem 0 .55rem}.league-cta-inner p{margin:0;color:var(--muted);font-size:1.05rem;line-height:1.6}.stat-card em{display:block;margin-top:8px;font-style:normal;font-weight:700;color:var(--accent-2)}

/* v1.0.8: dedicated Oil Patterns homepage action */
.btn-patterns {
  background: transparent;
  color: var(--accent-2);
  border: 1px solid rgba(242,101,34,.72);
}
.btn-patterns:hover {
  background: rgba(242,101,34,.13);
  color: #fff;
  transform: translateY(-1px);
}


/* v1.0.10 — automatic latest YouTube video hero card */
.latest-video-wrap { min-height:485px; }
.latest-video-card { position:relative; display:flex; flex-direction:column; min-height:485px; overflow:hidden; border:1px solid rgba(255,255,255,.18); border-radius:34px; background:#111318; color:#fff; text-decoration:none; box-shadow:0 28px 60px rgba(0,0,0,.32); transform:rotate(1deg); transition:transform .2s ease,border-color .2s ease; }
.latest-video-card:hover { transform:rotate(0deg) translateY(-3px); border-color:rgba(242,101,34,.55); }
.latest-video-card .lane-top-badge { position:relative; flex:0 0 auto; }
.latest-video-heading { padding:58px 26px 18px; color:var(--accent-2); font-size:clamp(1.05rem,2vw,1.35rem); font-weight:950; letter-spacing:.10em; text-transform:uppercase; }
.latest-video-thumb { position:relative; margin:0 22px; aspect-ratio:16/9; overflow:hidden; border-radius:20px; background:#090a0d; box-shadow:0 12px 32px rgba(0,0,0,.35); }
.latest-video-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.latest-video-play { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:70px; height:50px; border-radius:14px; display:grid; place-items:center; padding-left:4px; background:#ff0033; color:#fff; font-size:1.45rem; box-shadow:0 10px 28px rgba(0,0,0,.4); }
.latest-video-info { display:flex; flex-direction:column; gap:17px; padding:20px 24px 26px; }
.latest-video-info strong { font-size:clamp(1.15rem,2vw,1.55rem); line-height:1.15; letter-spacing:-.025em; }
.latest-video-info span { align-self:flex-start; padding:11px 16px; border-radius:999px; background:#ff0033; color:#fff; font-size:.8rem; font-weight:950; letter-spacing:.07em; }
.latest-video-info span b { margin-right:7px; }
.latest-video-fallback { justify-content:center; }
.latest-video-fallback .latest-video-heading { padding-top:90px; }
.latest-video-fallback .latest-video-info strong { font-size:1.7rem; }
@media (max-width:900px) {
  .latest-video-wrap, .latest-video-card { min-height:0; }
  .latest-video-card { transform:none; }
  .latest-video-heading { padding-top:52px; }
}
@media (max-width:680px) {
  .latest-video-card { border-radius:28px; }
  .latest-video-heading { padding:50px 18px 14px; font-size:1rem; }
  .latest-video-thumb { margin:0 16px; border-radius:15px; }
  .latest-video-play { width:58px; height:42px; border-radius:11px; font-size:1.15rem; }
  .latest-video-info { padding:16px 18px 20px; gap:14px; }
  .latest-video-info strong { font-size:1.15rem; }
}


/* v1.0.11 — mobile latest-video proportions + single YouTube CTA */
.latest-video-wrap { min-width:0; width:100%; }
.latest-video-card { width:100%; max-width:100%; min-width:0; box-sizing:border-box; }
.latest-video-heading, .latest-video-info, .latest-video-info strong { min-width:0; overflow-wrap:anywhere; }
@media (max-width:680px) {
  .hero-grid { min-width:0; gap:34px; }
  .hero-grid > * { min-width:0; }
  .latest-video-wrap { width:100%; max-width:100%; }
  .latest-video-card { width:100%; max-width:100%; border-radius:22px; overflow:hidden; }
  .latest-video-heading { padding:28px 16px 13px; font-size:.92rem; letter-spacing:.075em; }
  .latest-video-thumb { width:100%; margin:0; aspect-ratio:16 / 9; border-radius:0; }
  .latest-video-thumb img { width:100%; height:100%; object-fit:cover; }
  .latest-video-info { padding:16px 16px 20px; }
  .latest-video-info strong { font-size:1.05rem; line-height:1.22; }
}


/* v1.0.12 — True House Bowler logo palette */
.brand-logo-img {
  width: 64px;
  height: 64px;
  flex: 0 0 64px;
  object-fit: cover;
  border-radius: 14px;
  border: 1px solid rgba(242,101,34,.42);
  box-shadow: 0 8px 28px rgba(0,0,0,.34), 0 0 22px rgba(242,101,34,.10);
}
.brand-text small { color: var(--accent); }
.nav-cta { border-color:rgba(242,101,34,.55); background:rgba(242,101,34,.11); }
.btn-primary { color:#fff; box-shadow:0 12px 30px rgba(242,101,34,.22); }
.btn-primary:hover { color:#fff; }
.btn-patterns { border-color:rgba(242,101,34,.58) !important; color:var(--accent-2) !important; }
.latest-video-heading, .lane-top-badge { color:var(--accent-2) !important; }
.latest-video-card:hover { border-color:rgba(242,101,34,.62); }
.latest-video-play, .latest-video-info span { background:var(--accent) !important; }
.eyebrow:before { box-shadow:0 0 18px rgba(242,101,34,.85); }

@media (max-width: 760px) {
  .brand-logo-img { width:58px; height:58px; flex-basis:58px; border-radius:13px; }
  .brand { gap:10px; }
}


/* v1.0.13 — stronger THB black / white / orange brand treatment */
body {
  background:
    radial-gradient(circle at 15% 0%, rgba(242,101,34,.075), transparent 25%),
    radial-gradient(circle at 90% 10%, rgba(255,255,255,.035), transparent 22%),
    #08090b;
}
.site-header { background:rgba(8,9,11,.94); }
.nav-cta, .eyebrow { background:rgba(242,101,34,.055); }
.nav-cta { border-color:rgba(242,101,34,.72); }
.eyebrow { border-color:rgba(242,101,34,.58); color:#ff7a32; }
.btn-primary { background:#f26522; color:#fff; box-shadow:0 12px 34px rgba(242,101,34,.32); }
.btn-primary:hover { background:#ff762f; }
.btn-patterns { border-color:#f26522 !important; color:#ff7a32 !important; background:rgba(242,101,34,.025) !important; }
.btn-patterns:hover { background:rgba(242,101,34,.11) !important; }
.hero h1 span, .accent, .section-kicker, .latest-video-kicker { color:#f26522 !important; }
.feature-icon { background:rgba(242,101,34,.10); color:#f26522; }
.latest-video-card { background:#0e1014; }
.latest-video-card:hover { border-color:rgba(242,101,34,.80); }
.channel-band { background:linear-gradient(90deg,rgba(242,101,34,.075),rgba(8,9,11,.15)); }
@media (max-width: 760px) {
  body { background:radial-gradient(circle at 30% 10%,rgba(242,101,34,.06),transparent 28%),#08090b; }
}


/* v1.0.14 — simplified branded header: logo + standings */
.header-inner { min-height: 92px; }
.brand-logo-img {
  width: 78px;
  height: 78px;
  flex: 0 0 78px;
  border-radius: 17px;
}

@media (max-width: 680px) {
  .header-inner { min-height: 94px; gap: 14px; }
  .brand { flex: 0 0 auto; }
  .brand-logo-img {
    width: 76px;
    height: 76px;
    flex-basis: 76px;
    border-radius: 16px;
  }
  .main-nav { margin-left:auto; }
  .nav-cta {
    padding: 12px 18px;
    line-height: 1.2;
    text-align:center;
    max-width: 155px;
  }
}



/* v1.0.18 — Bowling news and ball reviews */
.thb-rss-section{padding:55px 0 80px}.thb-rss-head{max-width:850px;margin-bottom:30px}.thb-rss-kicker{color:#f26522;font-size:12px;letter-spacing:.15em;font-weight:800}.thb-rss-head h1{font-size:clamp(32px,5vw,54px);margin:10px 0}.thb-rss-head p{color:#aeb2bc;line-height:1.65}.thb-rss-switch{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.thb-rss-switch a{display:inline-block;border:1px solid #353943;border-radius:9px;padding:11px 19px;color:#e7e8eb;text-decoration:none;font-weight:700}.thb-rss-switch a.selected,.thb-rss-switch a:hover{background:#f26522;color:white;border-color:#f26522}.thb-rss-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.thb-rss-card{display:flex;flex-direction:column;background:#121419;border:1px solid #292d35;border-radius:15px;padding:24px;min-width:0}.thb-rss-card:hover{border-color:#f26522}.thb-rss-meta{display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap;color:#b6b8c0;font-size:12px}.thb-rss-meta span{color:#ff874c;font-weight:700}.thb-rss-card h2{font-size:20px;line-height:1.35;margin:15px 0 10px}.thb-rss-card h2 a{color:#f4f4f6;text-decoration:none}.thb-rss-card h2 a:hover{color:#ff874c}.thb-rss-card p{color:#b8bac2;line-height:1.6;font-size:14px;margin-bottom:22px}.thb-rss-read{margin-top:auto;color:#ff874c;text-decoration:none;font-size:13px;font-weight:700}.thb-rss-empty{padding:28px;background:#15171c;border-radius:12px}.thb-rss-credit{color:#9297a2;font-size:12px;margin-top:24px}.main-nav{flex-wrap:wrap}
@media(max-width:900px){.thb-rss-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.thb-rss-grid{grid-template-columns:1fr}.thb-rss-section{padding-top:30px}.thb-rss-card{padding:20px}.main-nav{gap:8px}.main-nav a{font-size:12px}}

/* v1.0.20 — responsive RSS article thumbnails */
.thb-rss-card{overflow:hidden}
.thb-rss-image{display:block;margin:-24px -24px 20px;aspect-ratio:16/9;overflow:hidden;background:#1c2028;border-bottom:1px solid #292d35}
.thb-rss-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.thb-rss-image:hover img{transform:scale(1.035)}
@media(max-width:620px){.thb-rss-image{margin:-20px -20px 18px}}

/* Brand filter for bowling ball reviews */
.thb-brand-filter{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:0 0 10px}
.thb-brand-label{font-size:13px;color:#b8bac2;font-weight:700;margin-right:5px}
.thb-brand-button{cursor:pointer;background:#15171c;color:#e7e8eb;border:1px solid #353943;border-radius:8px;padding:9px 13px;font-size:13px;font-weight:700;line-height:1.3}
.thb-brand-button:hover,.thb-brand-button:focus-visible{border-color:#f26522;color:#ff874c}
.thb-brand-button.active{background:#f26522;border-color:#f26522;color:#fff}
.thb-brand-count{color:#aeb2bc;font-size:12px;margin:0 0 18px}
.thb-rss-card[hidden]{display:none!important}
@media(max-width:620px){.thb-brand-filter{gap:7px}.thb-brand-button{padding:8px 10px;font-size:12px}}

/* v1.0.22: archive links and pagination */
.thb-brand-filter a.thb-brand-button{display:inline-block;text-decoration:none;color:#e6e8ee}
.thb-brand-filter a.thb-brand-button.active{color:#fff}
.thb-archive-pagination{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;margin-top:30px;color:#c5c8d0}
.thb-archive-pagination a{color:#ff874c;text-decoration:none;font-weight:700;padding:10px 16px;border:1px solid #353943;border-radius:9px}

/* v1.0.23: Mobile quick navigation. Desktop navigation remains unchanged. */
.thb-mobile-quicklinks { display:none; }
@media (max-width:680px) {
  .thb-mobile-quicklinks {
    display:flex;
    gap:8px;
    padding:10px 12px 13px;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
    border-bottom:1px solid rgba(255,255,255,.12);
    background:#0d0e12;
  }
  .thb-mobile-quicklinks a {
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    min-height:39px;
    padding:8px 13px;
    border:1px solid #343944;
    border-radius:9px;
    color:#e7e8ed;
    background:#15171d;
    font-size:13px;
    font-weight:750;
    text-decoration:none;
    white-space:nowrap;
  }
  .thb-mobile-quicklinks a[aria-current="page"] { background:#f26522; border-color:#f26522; color:#fff; }
}
