/* /holiday-guide: the Holiday Guide to Lambton County (owner, 4 November 2026).
   Current design system (docs/design-system.md): white canvas, teal action
   colour, violet/berry/blue as small accents only, Inter, small radii. */
.hg-page{--hg-ink:#46494c;--hg-slate:#4c5c68;--hg-teal:#1985a1;--hg-deep:#146a81;--hg-pale:#e8f3f6;--hg-soft:#badae3;--hg-line:#c5c3c6;--hg-berry:#a64f79;--hg-violet:#7862a6;--hg-blue:#3e74b6;
  display:block;max-width:1120px;margin:0 auto;padding:0 16px 40px;background:#fff;color:var(--hg-ink);font-family:'Inter',system-ui,sans-serif;line-height:1.6}
.hg-page *{box-sizing:border-box}
.hg-page h1,.hg-page h2,.hg-page h3,.hg-page p{margin:0}
.hg-page h1,.hg-page h2,.hg-page h3{color:#2e3133;letter-spacing:-.02em;line-height:1.15;text-wrap:balance}
.hg-page h2{font-size:clamp(26px,3vw,34px)}
.hg-page h3{font-size:19px}
.hg-page p{font-size:16px}
.hg-page a{color:var(--hg-deep);font-weight:600;text-underline-offset:4px}
.hg-page a:hover{text-decoration-thickness:2px}
.hg-page a:focus-visible{outline:3px solid var(--hg-deep);outline-offset:3px}
.hg-page section{scroll-margin-top:96px}
.hg-eyebrow{font-size:13px!important;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--hg-deep);margin-bottom:8px!important}

/* hero: a string of lights over a pale teal band */
.hg-hero{position:relative;margin:0 -16px;padding:46px 16px 30px;background:var(--hg-pale);border-bottom:1px solid var(--hg-soft);overflow:hidden}
.hg-strand{position:absolute;top:0;left:0;width:100%;height:44px}
.hg-hero-inner{max-width:760px}
.hg-hero h1{font-size:clamp(34px,6vw,54px);margin:4px 0 12px}
.hg-lede{font-size:18px!important;color:var(--hg-slate);max-width:60ch}
.hg-page>.premier-band{margin:20px 0 0}

/* jump links: one wrapped row of 44px taps */
.hg-jumps{display:flex;flex-wrap:wrap;gap:8px;padding:18px 0 4px}
.hg-jumps a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid var(--hg-soft);border-radius:6px;background:#fff;color:var(--hg-deep);font-size:15px;text-decoration:none}
.hg-jumps a[hidden],.hg-events[hidden]{display:none}

.hg-section{padding:36px 0 8px;border-top:1px solid #ececed;margin-top:28px}
.hg-jumps+.hg-section,.hg-jumps+.hg-section[hidden]+.hg-section{border-top:0;margin-top:8px}
.hg-note{margin-top:10px!important;max-width:68ch;color:var(--hg-slate)}
.hg-small{font-size:15px!important;margin-top:18px!important;color:var(--hg-slate)}

/* cards: white, hairline, a thin accent edge on top */
.hg-cards{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:14px}
.hg-card{position:relative;padding:18px 18px 16px;background:#fff;border:1px solid var(--hg-line);border-top:3px solid var(--hg-teal);border-radius:8px;display:flex;flex-direction:column}
#trees .hg-card{border-top-color:var(--hg-deep)}
.hg-card--accent{border-top-color:var(--hg-berry)}
#santa .hg-card{border-top-color:var(--hg-violet)}
.hg-card-town{font-size:13px!important;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--hg-slate);margin-bottom:6px!important}
.hg-card h3{margin-bottom:8px}
.hg-card p:not(.hg-card-town){font-size:15px;color:var(--hg-ink)}
.hg-links{display:flex;flex-wrap:wrap;gap:4px 20px;margin-top:auto;padding-top:10px}
.hg-links a{display:inline-flex;align-items:center;min-height:44px;font-size:15px}

.hg-aside{margin-top:18px;padding:16px 18px;background:var(--hg-pale);border-left:3px solid var(--hg-teal);border-radius:0 8px 8px 0}
.hg-aside h3{font-size:17px;margin-bottom:6px}
.hg-aside p{font-size:15px}

.hg-feature>div{padding:22px 18px;border:1px solid var(--hg-soft);border-radius:8px;background:#fff}
#parades.hg-feature>div{border-left:4px solid var(--hg-berry)}
#markets.hg-feature>div{border-left:4px solid var(--hg-blue)}
.hg-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;margin-top:18px;padding:0 20px;border-radius:6px;background:var(--hg-deep);color:#fff!important;font-size:16px;text-decoration:none}
.hg-button:hover{text-decoration:underline}
.hg-button--light{background:#fff;color:var(--hg-deep)!important}

.hg-santa{display:grid;gap:16px;margin-top:22px}
.hg-santa img{display:block;width:100%;height:220px;object-fit:cover;border-radius:8px}
.hg-santa .hg-cards{margin-top:0}

.hg-tiles{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:10px}
.hg-tiles a{display:block;min-height:44px;padding:14px 16px;border:1px solid var(--hg-line);border-radius:8px;text-decoration:none;color:var(--hg-ink)}
.hg-tiles strong{display:block;color:var(--hg-deep);font-size:17px}
.hg-tiles span{display:block;font-size:15px;font-weight:400;margin-top:2px}

/* the live events list, filled on the server (christmas-render.mjs) */
.wx-rows{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:10px}
.wx-row{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;padding:12px 14px;background:#fff;border:1px solid var(--hg-line);border-radius:8px}
.wx-when{font-size:14px;font-weight:700;color:var(--hg-deep);font-variant-numeric:tabular-nums}
.wx-body a{font-size:17px;line-height:1.35}
.hg-page .wx-meta{font-size:15px;line-height:1.45;margin-top:4px;color:var(--hg-slate)}
.wx-meta .row-town{font-weight:700;color:var(--hg-ink)}
.wx-more{margin-top:10px}
.wx-more summary{display:inline-flex;align-items:center;min-height:44px;cursor:pointer;font-weight:600;color:var(--hg-deep);text-decoration:underline;text-underline-offset:4px}
.wx-more .wx-rows{margin-top:8px}

.hg-newsletter{display:flex;flex-direction:column;gap:6px;margin:40px -16px 0;padding:26px 16px;background:var(--hg-deep);color:#fff}
.hg-newsletter h2{color:#fff;font-size:24px}
.hg-newsletter p{color:#fff}
.hg-sources{font-size:14px!important;color:var(--hg-slate);margin-top:22px!important}

@media(min-width:700px){
  .hg-page{padding:0 32px 56px}
  .hg-hero{margin:0 -32px;padding:64px 32px 40px}
  .hg-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hg-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hg-newsletter{margin:48px -32px 0;padding:32px;flex-direction:row;align-items:center;justify-content:space-between}
  .hg-newsletter .hg-button{margin-top:0;flex-shrink:0}
  .hg-feature>div{padding:28px 32px}
  .wx-row{grid-template-columns:118px minmax(0,1fr);gap:16px;align-items:baseline;padding:14px 18px}
}
@media(min-width:960px){
  .hg-hero{margin:0;border-radius:0 0 12px 12px;padding:72px 48px 48px}
  #trees .hg-cards{grid-template-columns:repeat(4,minmax(0,1fr))}
  .hg-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}
  .hg-santa{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}
  .hg-santa img{height:100%;min-height:320px}
  .hg-cards--stack{grid-template-columns:minmax(0,1fr)!important}
  .wx-rows{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hg-newsletter{margin:56px 0 0;border-radius:12px;padding:32px 40px}
}
