/*
Theme Name: BaseHub
Description: Clash of Clans base layout library with a countdown link page, built for SEO and AdSense.
Version: 0.4.2
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: basehub
*/
:root{--ink:#1c1530;--ink-2:#2b2150;--elixir:#7a2fc0;--elixir-soft:#efe6fa;--gold:#f6b91d;--gold-ink:#2a1d00;--mist:#f5f3fa;--stone:#655f75;--line:#e0daf0;--r:8px;--wrap:1160px;--surface:#fff;--text:#1c1530;--link:#7a2fc0;--head:#1c1530;--head-2:#2b2150;color-scheme:light}
[data-theme=dark]{--mist:#120d22;--surface:#1c1530;--text:#ece8f5;--stone:#a79fbd;--line:#322a52;--elixir-soft:#2b2150;--link:#b894ff;--head:#0b0816;--head-2:#1c1530;color-scheme:dark}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--mist);color:var(--text);font:16px/1.6 "Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif}
img{max-width:100%;height:auto;display:block}
a{color:var(--link)}a:hover{color:var(--text)}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 16px}
.skip{position:absolute;left:-999px;top:0;background:var(--gold);color:var(--gold-ink);padding:8px 12px;z-index:100}
.skip:focus{left:8px;top:8px}
h1,h2,h3{line-height:1.2;letter-spacing:-.01em;margin:0 0 .5em}
h1{font-size:clamp(1.7rem,4vw,2.6rem);font-weight:800}
h2{font-size:1.4rem;font-weight:800}
h3{font-size:1.05rem;font-weight:700}
.lead{color:var(--stone);font-size:1.1rem;max-width:60ch}
/* header */
.site-header{background:var(--head);color:#fff}
.bar{display:flex;align-items:center;gap:16px;padding-top:12px;padding-bottom:12px;flex-wrap:wrap}
.brand{font-weight:800;font-size:1.25rem;color:#fff;text-decoration:none;margin-right:auto}
.brand:hover{color:var(--gold)}
.menu{list-style:none;display:flex;gap:16px;margin:0;padding:0}
.menu a{color:#d9cff0;text-decoration:none}.menu a:hover{color:#fff}
.searchbar{display:flex}
.searchbar input[type=search]{min-height:40px;border:0;border-radius:var(--r) 0 0 var(--r);padding:0 12px;font:inherit;width:170px}
.searchbar button{min-height:40px;border:0;border-radius:0 var(--r) var(--r) 0;padding:0 14px;background:var(--gold);color:var(--gold-ink);font:inherit;font-weight:700;cursor:pointer}
.thbar{background:var(--head-2);overflow-x:auto}
.thbar ul{list-style:none;display:flex;gap:6px;margin:0;padding:8px 16px;white-space:nowrap;max-width:var(--wrap);margin-inline:auto}
.thbar a{display:block;padding:4px 12px;border-radius:999px;color:#fff;text-decoration:none;font-weight:600;font-size:.9rem}
.thbar a:hover,.thbar a[aria-current]{background:var(--gold);color:var(--gold-ink)}
/* hero + picker */
.hero{padding:40px 0 16px}
.thpick{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px}
.thpick a{display:block;background:var(--surface);border:2px solid var(--line);border-radius:var(--r);padding:12px 8px;text-align:center;text-decoration:none;color:var(--text)}
.thpick a:hover{border-color:var(--elixir);background:var(--elixir-soft)}
.thpick strong{display:block;font-size:1.5rem;line-height:1.1}
.thpick small{color:var(--stone)}
.section{padding-block:24px}
.section__head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
/* grid + card */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;list-style:none;margin:0;padding:0}
.card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.card__img{aspect-ratio:4/3;background:var(--elixir-soft)}
.card__img img{width:100%;height:100%;object-fit:cover}
.card__body{padding:12px;display:flex;flex-direction:column;gap:8px;flex:1}
.card__title{font-size:1rem;margin:0}
.card__title a{color:var(--text);text-decoration:none}
.card .btn,.card .chip{position:relative;z-index:1}
.card .btn{margin-top:auto}
.chips{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:0}
.chip{display:inline-block;background:var(--elixir-soft);color:var(--text);border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:600;text-decoration:none}
a.chip:hover,.chip[aria-current]{background:var(--elixir);color:#fff}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:var(--r);border:0;font:inherit;font-weight:800;text-decoration:none;cursor:pointer;background:var(--gold);color:var(--gold-ink)}
.btn:hover{background:#ffc83d;color:var(--gold-ink)}
.btn--ghost{background:var(--surface);color:var(--text);border:2px solid var(--line)}
.btn--ghost:hover{background:var(--elixir-soft);color:var(--text)}
.btn[aria-disabled=true],.btn:disabled{opacity:.45;pointer-events:none}
/* crumbs, single */
.crumbs ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:16px 0 8px;font-size:.9rem;color:var(--stone)}
.crumbs li+li::before{content:"/";margin-right:6px}
.crumbs a{color:var(--stone)}
.base-layout{display:grid;gap:24px;grid-template-columns:1fr;align-items:start}
@media(min-width:860px){.base-layout{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}}
.base-layout__img{border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:var(--surface);margin-top:12px}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.prose{max-width:70ch}.prose p,.prose ul,.prose ol{margin:0 0 1em}.prose h2,.prose h3{margin-top:1.4em}
.steps{padding-left:1.2em;margin:16px 0}
/* ads */
.ad{margin:20px 0;min-height:120px;text-align:center}
.ad__label{display:block;font-size:.75rem;color:var(--stone);margin-bottom:4px}
.ad--ph{border:2px dashed var(--line);display:flex;align-items:center;justify-content:center;color:var(--stone)}
/* link page */
.gate{max-width:680px;margin:0 auto}
.gate__top{display:flex;gap:16px;align-items:center;margin-bottom:16px}
.gate__top img{width:120px;border-radius:var(--r)}
.gate__count{font-size:2.4rem;font-weight:800;margin:0}
.gate__bar{height:10px;background:var(--line);border-radius:999px;overflow:hidden}
.gate__fill{height:100%;background:var(--elixir);transform-origin:left;transform:scaleX(0);transition:transform 1s linear}
.gate__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
/* pagination, footer */
.nav-links{display:flex;gap:6px;flex-wrap:wrap;margin:24px 0}
.page-numbers{padding:6px 12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);text-decoration:none}
.page-numbers.current{background:var(--elixir);color:#fff;border-color:var(--elixir)}
.site-footer{background:var(--head);color:#cfc5e8;margin-top:40px;padding:28px 0;font-size:.9rem}
.site-footer a{color:#fff}
.site-footer ul{list-style:none;display:flex;gap:16px;flex-wrap:wrap;padding:0;margin:0 0 12px}
@media(prefers-reduced-motion:reduce){.gate__fill{transition:none}}
/* v0.2 additions */
.brand--logo{display:flex;align-items:center}
.brand--logo a{display:flex}
.custom-logo{height:40px;width:auto;max-width:220px}
.badge{position:absolute;top:8px;left:8px;background:var(--gold);color:var(--gold-ink);font-weight:800;font-size:.75rem;padding:2px 8px;border-radius:999px}
.badge--inline{position:static;vertical-align:middle;font-size:.8rem}
.card__meta{margin:0;font-size:.85rem;color:var(--stone)}
.filters{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;margin:16px 0}
.filters select{min-height:40px;min-width:170px;border:1px solid var(--line);border-radius:var(--r);padding:0 38px 0 14px;font:inherit;color:var(--text);background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231c1530' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center;-webkit-appearance:none;appearance:none;cursor:pointer}
.filters__feat{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.filters__label{font-weight:600}
label.chip{cursor:pointer}
.chip input{margin-right:6px}
.chip:has(input:checked){background:var(--elixir);color:#fff}
.base-layout__img a{display:block;cursor:zoom-in}
.base-layout__img--2{margin:12px 0 0}
.base-layout__img--2 figcaption{padding:8px 12px;font-size:.9rem;color:var(--stone)}
.base-layout__text{margin-top:20px}
.facts{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:16px 0;font-size:.95rem}
.facts dt{color:var(--stone)}
.facts dd{margin:0;font-weight:600}
.share{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.share .btn{min-height:36px;padding:0 12px;font-size:.9rem}
.vote{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}
.vote__btns{display:flex;gap:8px}
.vote p{margin:0 0 8px}
.linkbtn{background:none;border:0;padding:0;font:inherit;color:var(--stone);text-decoration:underline;cursor:pointer}
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--surface);border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px))}
.sticky-cta .btn{width:100%}
@media(min-width:860px){.sticky-cta{display:none}.panel--side{position:sticky;top:16px}}
@media(max-width:859px){.single-coc_base{padding-bottom:76px}}
.lightbox{border:0;padding:0;background:transparent;max-width:96vw;max-height:96vh;overflow:visible}
.lightbox::backdrop{background:rgba(20,10,40,.88)}
.lightbox img{max-width:96vw;max-height:88vh;margin:auto;border-radius:var(--r)}
.lightbox .btn{position:fixed;top:12px;right:12px}

/* v0.2.1 */
[hidden]{display:none!important}
.filters__sort{display:flex;align-items:center;gap:8px;font-weight:600}
.share{align-items:center;gap:8px}
.share__label{font-weight:600}
.iconbtn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;text-decoration:none}
.iconbtn:hover{background:var(--elixir-soft);border-color:var(--elixir);color:var(--elixir)}
.iconbtn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.share__msg{font-size:.85rem;color:var(--stone)}
.btn--emoji{font-size:1.4rem;min-width:56px;padding:0 14px}

/* v0.4: dark mode toggle, Town Hall icons */
.searchbar input[type=search]{background:var(--surface);color:var(--text)}
.themebtn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;cursor:pointer;padding:0}
.themebtn:hover{background:rgba(255,255,255,.12)}
.themebtn span{display:flex}
.themebtn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.themebtn .i-sun{display:none}
[data-theme=dark] .themebtn .i-sun{display:flex}
[data-theme=dark] .themebtn .i-moon{display:none}
[data-theme=dark] .filters select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23ece8f5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.thpick{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}
.thpick a{display:flex;align-items:center;gap:12px;padding:10px 12px;text-align:left}
.thpick__icon{width:48px;height:48px;flex:none;border-radius:10px;background:var(--elixir-soft);display:flex;align-items:center;justify-content:center;overflow:hidden;font-weight:800;font-size:.8rem}
.thpick__icon img{width:100%;height:100%;object-fit:contain}
.thpick strong{display:block;font-size:1rem;line-height:1.2}
.thpick small{display:block}
.page-icon{display:inline-block;width:56px;height:56px;object-fit:contain;vertical-align:middle;margin:0 12px 4px 0}

/* v0.4.1: even Town Hall tiles, card links without an overlay */
.thpick{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.thpick strong{white-space:nowrap}
.thpick__text{min-width:0}
.lbl-short{display:none}
@media(max-width:520px){.thpick{grid-template-columns:repeat(2,1fr)}.lbl-full{display:none}.lbl-short{display:inline}}
a.card__img{display:block}
