/*
 * Public country holidays page — calm, compressed, brand-aligned.
 * Matches the holiday show page's look. Brand: green #53d690, red #e44d3a, white, black.
 * Scoped under .holc so the site theme doesn't bleed in.
 */

.holc {
    --red: #e44d3a;
    --green: #53d690;
    --green-ink: #2f9c65;
    --ink: #1a1a1a;
    --muted: #6b7280;
    --line: #e7e9ee;
    --surface: #ffffff;
    --surface-2: #f7f8fa;

    max-width: 960px;
    margin: 0 auto;
    padding: 8px 16px 64px;
    color: var(--ink);
    font-size: 16px;
    line-height: 1.6;
}
.holc *, .holc *::before, .holc *::after { box-sizing: border-box; }

/* ---- Breadcrumb ---- */
.holc-crumb { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; width: 100%; font-size: 13.5px; color: var(--muted); margin-bottom: 20px; }
.holc-crumb a { color: var(--muted); text-decoration: none; }
.holc-crumb a:hover { color: var(--green-ink); }
.holc-crumb i { font-size: 11px; }

/* ---- Hero ---- */
.holc-hero { background: var(--surface); border: 1px solid var(--line); border-left: 4px solid var(--green); border-radius: 14px; padding: 26px 26px; margin-bottom: 22px; }
.holc-hero h1 { font-size: 30px; font-weight: 800; margin: 0 0 5px; line-height: 1.15; }
.holc-hero p { margin: 0; color: var(--muted); }

/* ---- Stat tiles ---- */
.holc-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 12px; margin-bottom: 26px; }
.holc-stat { border: 1px solid var(--line); border-radius: 12px; padding: 15px 12px; text-align: center; background: var(--surface); }
.holc-stat__num { display: block; font-size: 24px; font-weight: 800; color: var(--green-ink); line-height: 1; margin-bottom: 4px; }
.holc-stat__label { font-size: 12.5px; color: var(--muted); }

/* ---- Next holiday strip ---- */
.holc-nextup { display: flex; align-items: center; gap: 14px; background: rgba(83,214,144,0.08); border: 1px solid rgba(83,214,144,0.28); border-radius: 12px; padding: 14px 18px; margin-bottom: 30px; }
.holc-nextup__icon { width: 40px; height: 40px; border-radius: 50%; background: rgba(83,214,144,0.18); color: var(--green-ink); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 17px; }
.holc-nextup__label { display: block; font-size: 11.5px; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); font-weight: 700; }
.holc-nextup strong { color: var(--ink); }
.holc-nextup span.date { color: var(--muted); }

/* ---- Section heading ---- */
.holc-h2 { display: flex; align-items: center; gap: 9px; font-size: 21px; font-weight: 800; margin: 34px 0 14px; }
.holc-h2 i { color: var(--green-ink); }
.holc-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; width: 100%; margin: 34px 0 6px; }
.holc-head h2 { display: flex; align-items: center; gap: 9px; font-size: 21px; font-weight: 800; margin: 0; }
.holc-head h2 i { color: var(--green-ink); }
.holc-sub { color: var(--muted); font-size: 14.5px; margin: 0 0 16px; }

/* ---- Calendar list ---- */
.holc-cal { display: flex; flex-direction: column; gap: 10px; }
.holc-row { display: block; background: var(--surface); border: 1px solid var(--line); border-radius: 12px; padding: 16px 18px; text-decoration: none; color: var(--ink); transition: border-color .15s, box-shadow .15s, transform .12s; }
.holc-row:hover { border-color: var(--green); box-shadow: 0 4px 14px rgba(0,0,0,0.06); transform: translateY(-1px); text-decoration: none; color: var(--ink); }
.holc-row:hover .holc-row__name { color: var(--green-ink); }
.holc-row__top { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.holc-row__name { font-size: 17px; font-weight: 700; margin: 0 0 2px; }
.holc-row__date { color: var(--muted); font-size: 14px; }
.holc-row__summary { margin: 10px 0 0; color: var(--muted); font-size: 14.5px; }
.holc-badge { padding: 5px 12px; border-radius: 20px; font-size: 12px; font-weight: 700; background: #eef0f3; color: var(--muted); white-space: nowrap; flex-shrink: 0; }
.holc-badge.is-public { background: rgba(83,214,144,0.15); color: var(--green-ink); }

.holc-empty { text-align: center; padding: 34px 20px; color: var(--muted); border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }

/* ---- Community festivals ---- */
.holc-addlink { color: var(--red); font-weight: 700; text-decoration: none; font-size: 14px; }
.holc-addlink:hover { text-decoration: underline; }
.holc-fest { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; }
.holc-fest__card { display: block; background: var(--surface); border: 1px solid var(--line); border-left: 3px solid var(--green); border-radius: 12px; padding: 16px 18px; text-decoration: none; color: var(--ink); transition: box-shadow .2s, transform .12s; }
.holc-fest__card:hover { box-shadow: 0 4px 14px rgba(0,0,0,0.07); transform: translateY(-2px); text-decoration: none; color: var(--ink); }
.holc-fest__name { font-size: 16px; font-weight: 700; margin: 0 0 6px; }
.holc-fest__summary { font-size: 14px; color: var(--muted); line-height: 1.45; margin: 0 0 10px; }
.holc-fest__by { font-size: 12.5px; color: #8a7e78; }
.holc-fest__empty { text-align: center; padding: 26px 0; color: var(--muted); border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }

/* ---- Compact CTA ---- */
.holc-cta { text-align: center; background: var(--surface); border: 1px solid var(--line); border-radius: 16px; padding: 34px 24px; margin-top: 38px; }
.holc-cta__icon { font-size: 2.4rem; color: var(--green); line-height: 1; display: inline-block; margin-bottom: 10px; }
.holc-cta h2 { font-size: 22px; font-weight: 800; margin: 0 0 8px; }
.holc-cta p { color: var(--muted); margin: 0 auto 20px; max-width: 34em; }
.holc-btn { display: inline-flex; align-items: center; gap: 8px; background: var(--red); color: #fff; padding: 12px 24px; border-radius: 10px; font-weight: 700; text-decoration: none; transition: filter .15s, transform .12s; }
.holc-btn:hover { filter: brightness(0.95); color: #fff; text-decoration: none; transform: translateY(-1px); }

/* ---- Pagination (if paginated) ---- */
.holc-pagination { margin-top: 20px; display: flex; justify-content: center; }
.holc-pagination .pagination { float: none; width: auto; background: transparent; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 6px; list-style: none; }
.holc-pagination .page-item:nth-child(1), .holc-pagination .page-item:nth-child(2), .holc-pagination .page-item { float: none; margin: 0; }
.holc-pagination .pagination li .page-link, .holc-pagination .page-link { background: #fff; color: var(--ink); border: 1px solid var(--line); border-radius: 9px; padding: 8px 13px; font-weight: 600; text-decoration: none; }
.holc-pagination .page-item.active .page-link { background: var(--green) !important; border-color: var(--green) !important; color: #fff !important; }

@media (max-width: 640px) {
    .holc-hero h1 { font-size: 24px; }
    .holc-row__top { flex-direction: column; }
}
