/*
Theme Name: Toplist Kelowna
Theme URI: https://toplistkelowna.com/
Author: Toplist Kelowna
Description: Mobile-first directory and local editorial theme for Toplist Kelowna.
Version: 0.1.0
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: toplist-kelowna
*/

:root { --tlk-ink:#17212b; --tlk-muted:#5e6b75; --tlk-brand:#0c6b68; --tlk-accent:#f3b340; --tlk-surface:#f6f8f7; --tlk-border:#dce4e1; --tlk-radius:16px; --tlk-shadow:0 10px 28px rgba(23,33,43,.08); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--tlk-ink); background:#fff; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.6; }
a { color:var(--tlk-brand); text-decoration-thickness:.08em; text-underline-offset:.16em; }
a:hover { color:#084d4b; }
:focus-visible { outline:3px solid var(--tlk-accent); outline-offset:3px; }
.tlk-shell { width:min(1160px,calc(100% - 2rem)); margin-inline:auto; }
.tlk-site-header { border-bottom:1px solid var(--tlk-border); background:#fff; position:relative; z-index:10; }
.tlk-header-inner { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.tlk-brand { color:var(--tlk-ink); font-size:1.35rem; font-weight:800; letter-spacing:-.03em; text-decoration:none; }
.tlk-brand span { color:var(--tlk-brand); }
.tlk-menu-toggle { display:inline-flex; border:1px solid var(--tlk-border); background:#fff; border-radius:10px; padding:.55rem .7rem; font-weight:700; }
.tlk-primary-nav { display:none; }
.tlk-primary-nav.is-open { display:block; position:absolute; inset:76px 0 auto; padding:1rem; background:#fff; border-bottom:1px solid var(--tlk-border); box-shadow:var(--tlk-shadow); }
.tlk-primary-nav ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.7rem; }
.tlk-primary-nav a { color:var(--tlk-ink); font-weight:650; text-decoration:none; }
.tlk-main { min-height:60vh; }
.tlk-hero { padding:clamp(3rem,8vw,6rem) 0; background:linear-gradient(135deg,#e8f5f1,#fff7e8); }
.tlk-eyebrow { color:var(--tlk-brand); font-size:.78rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.tlk-hero h1,.tlk-page-header h1 { max-width:760px; margin:.35rem 0 1rem; font-size:clamp(2.2rem,6vw,4.4rem); line-height:1.05; letter-spacing:-.055em; }
.tlk-lede { max-width:680px; color:var(--tlk-muted); font-size:1.08rem; }
.tlk-search { display:flex; flex-direction:column; gap:.7rem; max-width:760px; margin-top:1.5rem; }
.tlk-search input { min-height:52px; border:1px solid #b7c9c4; border-radius:12px; padding:.8rem 1rem; font:inherit; background:#fff; }
.tlk-button { display:inline-flex; justify-content:center; align-items:center; border:0; border-radius:11px; padding:.78rem 1.05rem; background:var(--tlk-brand); color:#fff; font-weight:750; text-decoration:none; cursor:pointer; }
.tlk-button:hover { color:#fff; background:#084d4b; }
.tlk-button--light { background:#fff; border:1px solid var(--tlk-border); color:var(--tlk-ink); }
.tlk-section { padding:clamp(2.5rem,6vw,4.5rem) 0; }
.tlk-section--surface { background:var(--tlk-surface); }
.tlk-section-heading { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:1.25rem; }
.tlk-section-heading h2 { margin:0; font-size:clamp(1.45rem,3vw,2rem); letter-spacing:-.03em; }
.tlk-grid { display:grid; gap:1rem; }
.tlk-grid--cards { grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); }
.tlk-card { border:1px solid var(--tlk-border); border-radius:var(--tlk-radius); background:#fff; padding:1.15rem; box-shadow:0 4px 12px rgba(23,33,43,.03); }
.tlk-card h2,.tlk-card h3 { margin:.2rem 0 .35rem; line-height:1.2; }
.tlk-card h2 { font-size:1.2rem; }
.tlk-card h3 { font-size:1.05rem; }
.tlk-card p { color:var(--tlk-muted); margin:.35rem 0; }
.tlk-card__meta { color:var(--tlk-muted); font-size:.9rem; }
.tlk-card__image { aspect-ratio:16/9; width:100%; object-fit:cover; border-radius:12px; margin-bottom:.8rem; }
.tlk-rating { color:#7b5a00; font-weight:750; font-size:.92rem; }
.tlk-rating--empty { color:var(--tlk-muted); font-weight:600; }
.tlk-sponsored { display:inline-block; background:#fff0c9; color:#6f4b00; border-radius:999px; padding:.15rem .55rem; font-size:.75rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.tlk-chip-list { display:flex; flex-wrap:wrap; gap:.6rem; list-style:none; margin:0; padding:0; }
.tlk-chip { display:inline-flex; border:1px solid var(--tlk-border); border-radius:999px; padding:.45rem .75rem; background:#fff; text-decoration:none; }
.tlk-empty { border:1px dashed #b7c9c4; border-radius:var(--tlk-radius); padding:1.5rem; color:var(--tlk-muted); background:#fbfdfc; }
.tlk-page-header { padding:clamp(2.5rem,6vw,4rem) 0 1.5rem; }
.tlk-breadcrumb { color:var(--tlk-muted); font-size:.9rem; margin-bottom:1rem; }
.tlk-breadcrumb a { color:inherit; }
.tlk-archive-layout { display:grid; gap:1.5rem; }
.tlk-sidebar { border:1px solid var(--tlk-border); border-radius:var(--tlk-radius); padding:1rem; background:var(--tlk-surface); }
.tlk-sidebar h2 { font-size:1rem; margin-top:0; }
.tlk-business-single__header { padding:2rem 0; background:var(--tlk-surface); }
.tlk-business-single__header h1 { margin:.25rem 0; font-size:clamp(2rem,5vw,3.6rem); line-height:1.05; letter-spacing:-.05em; }
.tlk-business-single__body { display:grid; gap:1.5rem; padding:2rem 0 4rem; }
.tlk-business-single__main,.tlk-business-single__aside { min-width:0; }
.tlk-contact-list { list-style:none; padding:0; margin:0; display:grid; gap:.55rem; }
.tlk-gallery { display:grid; grid-template-columns:repeat(2,1fr); gap:.6rem; }
.tlk-gallery img { width:100%; aspect-ratio:1; object-fit:cover; border-radius:12px; }
.tlk-prose > * { max-width:760px; }
.tlk-prose img { max-width:100%; height:auto; }
.tlk-site-footer { border-top:1px solid var(--tlk-border); padding:2rem 0; background:#17212b; color:#dfe9e6; }
.tlk-site-footer a { color:#dff5ed; }
.tlk-footer-grid { display:grid; gap:1rem; }
.tlk-pagination { margin-top:1.5rem; }
.tlk-pagination .page-numbers { display:inline-flex; padding:.5rem .75rem; border:1px solid var(--tlk-border); margin:.15rem; border-radius:8px; text-decoration:none; }
@media (min-width:700px) {
  .tlk-menu-toggle { display:none; }
  .tlk-primary-nav { display:block; }
  .tlk-primary-nav ul { flex-direction:row; align-items:center; }
  .tlk-search { flex-direction:row; }
  .tlk-search input { flex:1; }
  .tlk-archive-layout { grid-template-columns:minmax(0,1fr) 280px; }
  .tlk-business-single__body { grid-template-columns:minmax(0,1fr) 320px; }
  .tlk-footer-grid { grid-template-columns:2fr 1fr 1fr; }
}
@media (min-width:1000px) { .tlk-shell { width:min(1200px,calc(100% - 4rem)); } }
