/*
Theme Name: Daily World Holidays
Description: Daily World Holidays Theme
Version: 1
Author: JW
Author URI: https://julianware.com
*/

/* Reset */
*, *::before, *::after {box-sizing:border-box;}
html {overflow-y:scroll;scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body {min-height:100%;margin:0;overflow-x:hidden;background:#ffffff;color:#071528;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:1rem;font-weight:400;line-height:1;text-rendering:optimizeLegibility;padding-top:4.25rem;}
header, main, footer, nav, section, article, aside, figure, figcaption {display:block;}
h1, h2, h3, h4, h5, h6, p, blockquote, figure, pre, dl, dd {margin:0;}
ul, ol {margin:0;padding:0;}
li {list-style:none;}
a {color:inherit;text-decoration:none;text-decoration-thickness:0.0625rem;text-underline-offset:0.18rem;}
img, picture, video, canvas, svg {display:block;max-width:100%;height:auto;}
iframe, object, embed {display:block;max-width:100%;}
table {border-collapse:collapse;border-spacing:0;}
button, input, select, textarea {font:inherit;}
button {width:auto;overflow:visible;}
pre, code, kbd, samp {font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;}
sub, sup {position:relative;font-size:0.75rem;line-height:0;vertical-align:baseline;}
sup {top:-0.5rem;}
sub {bottom:-0.25rem;}
::selection {background:#dfeee4;color:#071528;}

/* Setup */
.wrapper {width:100%;max-width:70rem;margin-right:auto;margin-left:auto;}
.inside {width:100%;padding-right:1rem;padding-left:1rem;}
:focus {outline:none;}
:focus-visible {outline:0.1875rem solid #0f6b3f;outline-offset:0.1875rem;}

/* Header */
.site-header {position:fixed;top:0;z-index:100;width:100%;background: #fffefa;border-bottom:1px solid #ddd3c4;}
.admin-bar .site-header {top:2rem;}
.header-inner {display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.25rem;}
.site-brand {display:inline-flex;align-items:center;color:#071528;font-family:Georgia,"Times New Roman",serif;font-size:1.375rem;font-weight:700;line-height:1;letter-spacing:-1px;text-decoration:none;}
.site-nav {display:none;margin-left:auto;}
.site-nav ul {display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.45rem;margin:0;padding:0;}
.site-nav li {display:block;margin:0;list-style:none;}
.site-nav a {display:inline-block;margin:0;padding:.55rem .85rem;border-radius:999rem;color:#071528;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:1rem;font-weight:800;line-height:1.2;letter-spacing:0;text-decoration:none;transition:background-color 160ms ease,color 160ms ease;}
.site-nav a:hover, .site-nav .current-menu-item > a {background:#dfeee4;color:#0f6b3f;text-decoration:none;}
button.menu-icon {position:relative;display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;margin:0 0 0 auto;padding:0;border:1px solid #e1d8cb;border-radius:.85rem;background:#fffdf8;box-shadow:none;appearance:none;-webkit-appearance:none;cursor:pointer;}
button.menu-icon span {pointer-events:none;position:absolute;left:50%;display:block;width:1.45rem;height:0.1875rem;background:#071528;border-radius:999rem;transform:translateX(-50%);transition:top 160ms ease,opacity 160ms ease,transform 160ms ease;}
button.menu-icon span:nth-child(1) {top:0.75rem;}
button.menu-icon span:nth-child(2) {top:1.25rem;}
button.menu-icon span:nth-child(3) {top:1.75rem;}
button.menu-icon.close-icon span:nth-child(1) {top:1.25rem;transform:translateX(-50%) rotate(45deg);}
button.menu-icon.close-icon span:nth-child(2) {opacity:0;}
button.menu-icon.close-icon span:nth-child(3) {top:1.25rem;transform:translateX(-50%) rotate(-45deg);}
.mobile-nav {visibility:hidden;opacity:0;position:fixed;top:4.312rem;right:0;bottom:0;left:0;z-index:99;width:100%;overflow:hidden;overflow-y:auto;background:#fffcf7;pointer-events:none;transition:opacity 160ms ease,visibility 160ms ease;-webkit-overflow-scrolling:touch;}
.admin-bar .mobile-nav {top:6.25rem;}
.mobile-nav.mobile-nav-show {visibility:visible;opacity:1;pointer-events:auto;}
.mobile-nav .inside {padding-top:1.5rem;padding-bottom:2rem;}
.mobile-nav ul {display:flex;flex-direction:column;align-items:stretch;gap:.75rem;margin:0;padding:0;}
.mobile-nav li {display:block;margin:0;border:0;list-style:none;}
.mobile-nav a {display:block;margin:0;padding:1rem 1.1rem;border:1px solid #e1d8cb;border-radius:.9rem;background:#fffdf8;color:#071528;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:1.2rem;font-weight:800;line-height:1.2;letter-spacing:0;text-decoration:none;}
.mobile-nav a:hover, .mobile-nav .current-menu-item > a {background:#dfeee4;color:#0f6b3f;text-decoration:none;}
body.stop-scrolling {position:fixed;right:0;left:0;width:100%;overflow:hidden;}

/* Page Base */
.wh-page {max-width:70rem;margin:0 auto;padding:2.5rem 0;color:#071528;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55;}
.wh-page h1, .wh-page h2 {font-family:Georgia,"Times New Roman",serif;font-weight:700;line-height:1.05;color:#071528;letter-spacing:-1px;}
.wh-page h1 {font-size:2.25rem;}
.wh-page h2 {font-size:1.65rem;}
.wh-page h3 {font-size:1.5rem;line-height:1.2;color:#071528;}
.wh-page a {color:#0f6b3f;font-weight:600;text-decoration:none;}
.wh-page section {margin-top:2.5rem;}
.wh-page section:first-child {margin-top:0;}
.flag {display:inline-block;font-size:3rem;line-height:1;}
.ico {display:inline-grid;width:2.65rem;height:2.65rem;place-items:center;border:1px solid #e1d8cb;border-radius:.75rem;background:#fffdf8;color:#0f6b3f;font-size:1.45rem;line-height:1;}
a.btn {display:inline-flex;align-items:center;justify-content:center;min-height:2.8rem;padding:.7rem 1.15rem;border-radius:.45rem;background:#11763f;color:#ffffff;font-weight:500;text-align:center;text-decoration:none;transition:background-color 160ms ease,transform 160ms ease;letter-spacing: 1px;text-shadow:0 0 3px #000000;}
a.btn:hover {background:#0f6b3f;text-decoration:none;transform:translateY(-.08rem);}
a.btn::after {content:"\2192";margin-left:.45rem;}
a.btn.light {border:1px solid #c1d8c8;background: #e0f5e7;color:#000000;text-shadow: none;}

/* Page Layout */
.wh-page.layout h1 {margin-bottom: 2.5rem;}
.wh-page.layout h2 {margin-bottom: 2rem;}
.wh-page.layout h3 {margin-bottom: 1.625rem;}
.wh-page.layout p {margin-bottom: 1.625rem;}
.wh-page.layout hr {margin: 2.5rem 0;}

/* Hero */
.hero {display:grid;gap:1.5rem;padding:0;}
.hero > div:first-child {display:grid;gap:.9rem;}
.hero p {font-size:2rem;padding: 0.25rem 0;}
.hero p.status {font-size:0.875rem;line-height:1;color:#5a6573;}
.hero .flag {position: relative;top: 0.438rem;}
.wh-today .hero p:first-child, .feat > div > p:first-child, .note > p:first-child {color:#0f6b3f;font-size:.82rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;}
.hero time {display:block;color:#0f6b3f;font-family:Georgia,"Times New Roman",serif;font-size:1.75rem;font-weight:700;}
.holiday-intro {display:block;margin-top: 2.5rem;}
.holiday-intro > div > .panel {margin-bottom:1.5rem;}
.holiday-core {margin-top: 2.5rem;}

/* Cards */
.stats, .cards, .country-grid, .notes {display:grid;gap:1rem;}
.stat, .hcard, .country-grid article, .note, .weekend, .panel, .glance, .context, .cta, .notice, .feat, .facts {border:1px solid #e1d8cb;border-radius:.9rem;background:#fff;}
.stat {padding:1.5rem;padding-top:1rem;background:#fffefa;}
.stat strong {font-family:Trebuchet MS, sans-serif;display:block;font-size:2.5rem;line-height:1;color:#0f6b3f;padding-bottom:0.5rem;}
.stat p {font-size:0.875rem;line-height:1.25;}
.stat p:first-of-type {font-weight:700;font-size:1rem;padding-bottom:0.25rem;}
.sec-head {display:flex;gap:1rem;align-items:end;justify-content:space-between;margin-bottom:1rem;}
.sec-head p {color:#0f6b3f;font-size:.95rem;font-weight:900;}

/* Featured */
.feat {display:grid;gap:1.25rem;padding:1.35rem;background:linear-gradient(135deg,#f8fbf2,#fffdf8 58%,#eff7ed);}
.feat > div:first-child {display:grid;gap:.8rem;}
.feat h2 {font-size:2rem;}
.chips {display:flex;flex-wrap:wrap;gap:.55rem;padding:0;list-style:none;}
.chips li {padding:.22rem .7rem;border-radius:999rem;font-size:.82rem;font-weight:900;}
.chips li:nth-child(3n+1) {background:#dfeee4;color:#124f31;}
.chips li:nth-child(3n+2) {background:#e2edf7;color:#1f4770;}
.chips li:nth-child(3n+3) {background:#eee7fb;color:#5a3f94;}
.facts {padding:1.1rem;}
.facts dl {display:grid;gap:0;}
.facts div {display:grid;gap:.15rem;padding:.8rem 0;border-bottom:1px solid #e1d8cb;}
.facts div:first-child {padding-top:0;}
.facts div:last-child {padding-bottom:0;border-bottom:0;}
dt {color:#5a6573;font-size:.82rem;font-weight:900;}
dd {margin:0;color:#071528;font-weight:600;}

/* Lists */
.hcard {display: flex;flex-direction: column;gap: .9rem;padding:1.2rem;background:#fffefa;}
.hcard > div:first-child {display:grid;grid-template-columns:auto 1fr;gap:.1rem .85rem;align-items:center;}
.hcard > div:first-child p {grid-column:2;color:#5a6573;font-weight:800;}
.hcard h3 {margin: 0;}
.holiday-country-line {display: flex;align-items: center;gap: 0.75rem;}
.holiday-country-line .flag {font-size: 3rem;position:relative;top: 0.063rem;}
.holiday-country-line p {font-size:1.375rem;}
.hcard > p:last-of-type {margin-bottom: auto;}
.hcard > a.btn {width: 100%;}
.meta {display:flex;flex-wrap:wrap;gap:.5rem 1rem;padding:0;color:#071528;font-size:.86rem;font-weight:900;list-style:none;}
.meta li::before {content:"\25AA";margin-right:.3rem;color:#0f6b3f;}
.country-grid article {display:flex;flex-wrap:wrap;gap:.35rem .75rem;align-items:center;padding:1rem;background:rgba(255,255,255,.82);}
.country-grid h3 {font-weight:900;}
.country-grid span:last-child {padding:.18rem .65rem;border-radius:999rem;background:#dfeee4;color:#124f31;font-size:.76rem;font-weight:900;}
.country-card {display:flex;align-items:center;gap:.75rem;padding:1rem;border:1px solid #b9d9c8;border-radius:.9rem;background:#fafef9;color:#071528;text-decoration:none;}
.country-card:hover {text-decoration:none;}
.country-card .flag {font-size:3rem;}
.country-card h3 {margin:0;font-weight:600;}

/* Notes */
.note {padding:1.3rem;}
.note h2 {font-size:1.45rem;margin-bottom:1rem;}
.note ul {display:grid;gap:.6rem;padding-left:1.1rem;}
.note li {list-style:disc;}
.note.green {background:linear-gradient(135deg,#f1f9f2,#fffdf8);}
.note.gold {background:linear-gradient(135deg,#fff7e8,#fffdf8);}
.note.violet {background:linear-gradient(135deg,#f5f0fb,#fffdf8);}
.note.rose {background:linear-gradient(135deg,#fdecef,#fffafa);}
.violet h2 {font-size:2.3rem;color:#071528;}
.weekend {display:flex;gap:1rem;align-items:center;padding:1rem 1.2rem;background:linear-gradient(135deg,#edf5ff,#f8fbff);}
.notice {display:flex;gap:1rem;align-items:center;justify-content:center;padding:.9rem 1rem;background:#fffefa;font-size:.9rem;}
.notice p {line-height:1.25;}

/* Holiday */
.glance {padding:1.25rem;}
.glance > div {display:grid;gap:1rem;margin-top:1rem;}
.glance article {display:grid;gap:.25rem;text-align:center;}
.glance .ico {margin:0 auto;}
.cols {display:grid;gap:1rem;margin-top:1.25rem;}
.side {display:grid;gap:1rem;align-content:start;}
.panel {padding:1.25rem;background:#fffefa;}
.panel h2 {margin-bottom:.85rem;color:#0f6b3f;}
.panel p + p {margin-top:.75rem;}
.icon-panel {display:flex;gap:1rem;}
.mark {flex:0 0 auto;display:inline-grid;width:3rem;height:3rem;place-items:center;border-radius:999rem;background:#dfeee4;color:#0f6b3f;font-size:1.45rem;}
.mark.purple {background:#eee7fb;color:#5a3f94;}
.obs ul {display:grid;gap:.65rem;padding-left:1.2rem;}
.obs li {list-style:disc;}
.summary {display:grid;gap:.75rem;}
.summary div {display:grid;grid-template-columns:0.25fr 1.75fr;;gap:.15rem;padding-bottom:.75rem;border-bottom:1px solid #e1d8cb;}
.summary div:last-child {padding-bottom:0;border-bottom:0;}
.summary dt {display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:50%;background:#dceeff;color:#315b7a;font-size:.75rem;font-weight:700;line-height:1;justify-self:start;position: relative;top: 0.25rem;}
.countries article {display:flex;gap:.75rem;align-items:center;padding:.8rem;border:1px solid #e1d8cb;border-radius:.55rem;background:#ffffff;}
.countries > a {display:flex;justify-content:center;margin-top:.75rem;padding:.75rem;border:1px solid #e1d8cb;border-radius:.55rem;background:#ffffff;color:#071528;}
.rel ul {display:grid;gap:.6rem;padding:0;list-style:none;}
.rel a {display:grid;gap:.12rem;padding:.75rem;border:1px solid #e1d8cb;border-radius:.55rem;background:#ffffff;color:#071528;}
.rel span {color:#5a6573;font-size:.9rem;font-weight:600;}
.context {padding:1.25rem;background:linear-gradient(135deg,#ffffff,#eff7ed);}
.context h2 {margin-bottom: 1rem;}
.cta {display:grid;gap:1rem;align-items:center;padding:1rem 1.2rem;background:linear-gradient(135deg,#eef8ef,#fffdf8);}

/* Holidays Page */
.holidays-country-page {background:#fbf8f1;color:#071528;}
.holidays-country-wrap {width:min(1120px,calc(100% - 48px));margin:0 auto;}
.holidays-country-hero {padding:64px 0 32px;}
.holidays-country-eyebrow {margin:0 0 8px;font-weight:800;color:#0f6b3f;text-transform:uppercase;letter-spacing:.06em;font-size:.85rem;}
.holidays-country-hero h1 {margin:0;font-size:clamp(2.4rem,6vw,4.75rem);line-height:.95;letter-spacing:-.05em;}
.holidays-country-intro {max-width:640px;margin:18px 0 0;font-size:1.1rem;}
.holidays-country-content {padding:24px 0 80px;}
.holidays-country-group {margin:0 0 48px;}
.holidays-country-heading {display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid #071528;}
.holidays-country-heading h2 {display:flex;gap:10px;align-items:center;margin:0;font-size:clamp(1.7rem,4vw,2.4rem);line-height:1;letter-spacing:-.04em;}
.holidays-country-heading p {margin:0;font-weight:800;color:#0f6b3f;white-space:nowrap;}
.holidays-country-grid {display:grid;grid-template-columns:1fr;gap:16px;}
.holidays-country-card {display:flex;align-items:center;min-height:92px;padding:20px;background:#fff;border:1px solid #e5d8c5;border-radius:8px;color:#071528;text-decoration:none;transition:transform .18s ease,border-color .18s ease;}
.holidays-country-card:hover {transform:translateY(-2px);border-color:#071528;}
.holidays-country-card span {font-size:1.05rem;font-weight:800;line-height:1.15;}
.holidays-country-empty {padding:32px;background:#fff;border:1px solid #e5d8c5;border-radius:8px;}
.holidays-country-empty h2 {margin:0 0 8px;font-size:1.5rem;}
.holidays-country-empty p {margin:0;}

/* Small */
@media (min-width:30rem) {
    .wh-page h1 {font-size:2.75rem;}
    .feat h2 {font-size:2.25rem;}
    .stats {grid-template-columns:repeat(3,1fr);}
}

/* Medium */
@media (min-width:48rem) {
    body {padding-top:4.75rem;}
    .inside {padding-right:2rem;padding-left:2rem;}
    .header-inner {min-height:4.75rem;}
    .admin-bar .site-header {top:2.875rem;}
    .site-brand {font-size:1.75rem;}
    .site-nav {display:block;}
    button.menu-icon, .mobile-nav {display:none;}
    button.menu-icon, .mobile-nav {display:none;}
    .stats {grid-template-columns:repeat(3,1fr);}
    .cards, .country-grid, .notes {grid-template-columns:repeat(2,1fr);}
    .hero {align-items:center;padding:1rem 0;}
    .notes {grid-template-columns:repeat(2,1fr);}
    .notes > :nth-child(3):last-child {grid-column:1 / -1;}
    .holiday-intro {display:flex;align-items:stretch;gap:1rem;}
    .holiday-intro > div {display:flex;flex-direction:column;}
    .holiday-intro > div:first-child {flex:1 1 0;}
    .holiday-intro .side {display:flex;flex:2 1 0;}
    .holiday-intro .panel {flex:1;}
    .holiday-intro > div > .panel {margin-bottom:0;}
    .feat {grid-template-columns:minmax(0,1fr) minmax(16rem,.75fr);}
    .feat h2 {font-size:2.55rem;}
    .glance > div {grid-template-columns:repeat(3,1fr);}
    .summary div {grid-template-columns:0.15fr 1.85fr;}
    .context {align-items:center;}
    .cta {grid-template-columns:1fr auto;}
    .holidays-country-wrap {width:min(100% - 32px,1120px);}
    .holidays-country-heading {align-items:start;flex-direction:column;gap:8px;}
    .holidays-country-grid {grid-template-columns:1fr 1fr;}.holidays-country-card {min-height:76px;}
}

/* Large */
@media (min-width:60rem) {
    .wh-page h1 {font-size:3.5rem;}
    .cards {grid-template-columns:repeat(2,1fr);}
    .country-grid {grid-template-columns: 1fr 1fr 1fr;}
    .glance > div {grid-template-columns:repeat(6,1fr);}
    .cols {grid-template-columns:minmax(0,1.18fr) minmax(19rem,.82fr);}
    .holidays-country-grid {grid-template-columns:1fr 1fr 1fr;}
}