/* ToolKnit Holidays — shared styles for hub + country pages */
body{font-family:'Space Grotesk',sans-serif!important;background:#0a0a0a;color:#fff}
.hl-hero{position:relative;padding:80px 20px 40px;text-align:center;overflow:hidden}
.hl-hero::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.04) 1px,transparent 1px);background-size:24px 24px;pointer-events:none}
.hl-hero::after{content:'';position:absolute;width:900px;height:900px;top:-200px;left:50%;transform:translateX(-50%);background:radial-gradient(circle,rgba(99,102,241,.06) 0%,transparent 60%);filter:blur(60px);pointer-events:none}
.hl-hero-inner{position:relative;z-index:2;max-width:780px;margin:0 auto}
.hl-back{display:inline-flex;align-items:center;gap:6px;color:rgba(255,255,255,.4);font-size:13px;font-weight:600;text-decoration:none;margin-bottom:24px;transition:color .25s}
.hl-back:hover{color:#fff}
.hl-title{font-size:clamp(2rem,5vw,3.4rem);font-weight:700;letter-spacing:-.02em;line-height:1.1;margin-bottom:18px}
.hl-sub{color:rgba(255,255,255,.45);font-size:15px;line-height:1.6;max-width:580px;margin:0 auto 32px}
.hl-flag-hero{font-size:64px;line-height:1;margin-bottom:14px;display:block}
.hl-stats{display:inline-flex;gap:28px;flex-wrap:wrap;justify-content:center;padding:14px 26px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:999px;margin-bottom:32px}
.hl-stat{display:flex;flex-direction:column;align-items:center;gap:2px}
.hl-stat-n{font-weight:700;font-size:18px;color:#fff}
.hl-stat-l{font-size:11px;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.1em}
.hl-search-wrap{position:relative;max-width:560px;margin:0 auto}
.hl-search{width:100%;padding:18px 22px 18px 52px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:16px;color:#fff;font-size:15px;font-family:inherit;outline:none;transition:border-color .25s,background .25s}
.hl-search:focus{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.06)}
.hl-search::placeholder{color:rgba(255,255,255,.3)}
.hl-search-icon{position:absolute;left:20px;top:50%;transform:translateY(-50%);color:rgba(255,255,255,.4);pointer-events:none}

.hl-section{max-width:1160px;margin:0 auto;padding:48px 20px}
.hl-section-title{font-size:22px;font-weight:700;margin-bottom:6px}
.hl-section-sub{color:rgba(255,255,255,.4);font-size:13px;margin-bottom:24px}
.hl-prose{max-width:780px;margin:0 auto;color:rgba(255,255,255,.6);font-size:15px;line-height:1.75}
.hl-prose p{margin-bottom:14px}
.hl-prose h3{color:#fff;font-size:17px;font-weight:700;margin:24px 0 10px}

.hl-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:28px}
.hl-chip{padding:8px 16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:999px;color:rgba(255,255,255,.65);font-size:13px;font-weight:600;cursor:pointer;transition:all .25s;font-family:inherit}
.hl-chip:hover{background:rgba(255,255,255,.08);color:#fff}
.hl-chip.active{background:#fff;color:#111;border-color:#fff}
.hl-select{padding:9px 32px 9px 14px;background:rgba(255,255,255,.04) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="10" height="6" viewBox="0 0 10 6" fill="none"><path d="M1 1l4 4 4-4" stroke="rgba(255,255,255,.5)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat right 12px center;border:1px solid rgba(255,255,255,.08);border-radius:999px;color:rgba(255,255,255,.75);font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;appearance:none;-webkit-appearance:none}
.hl-select:focus{outline:none;border-color:rgba(255,255,255,.25)}
.hl-select option{background:#1a1a1a;color:#fff}

.hl-country-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.hl-country-card{display:flex;align-items:center;gap:14px;padding:16px 18px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.07);border-radius:14px;text-decoration:none;color:#fff;transition:all .3s}
.hl-country-card:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.15);transform:translateY(-2px)}
.hl-cc-flag{font-size:30px;line-height:1;flex-shrink:0}
.hl-cc-info{display:flex;flex-direction:column;min-width:0}
.hl-cc-name{font-weight:600;font-size:14px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hl-cc-meta{font-size:12px;color:rgba(255,255,255,.4)}

.hl-results-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.hl-results-count{color:rgba(255,255,255,.5);font-size:13px}
.hl-results-count strong{color:#fff;font-weight:700}

.hl-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.hl-card{position:relative;padding:18px 20px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.07);border-radius:14px;transition:all .3s}
.hl-card:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}
.hl-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}
.hl-date{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:10px;min-width:62px;flex-shrink:0}
.hl-date-d{font-weight:700;font-size:20px;color:#fff;line-height:1}
.hl-date-m{font-size:10px;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.1em;margin-top:3px}
.hl-card-body{flex:1;min-width:0}
.hl-card-name{font-weight:700;font-size:15px;color:#fff;margin-bottom:4px;line-height:1.3}
.hl-card-country{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:rgba(255,255,255,.5);font-weight:500}
.hl-card-flag{font-size:14px}
.hl-card-desc{font-size:12.5px;color:rgba(255,255,255,.4);line-height:1.5;margin-top:8px}
.hl-card-foot{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.05)}
.hl-tag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:3px 8px;background:rgba(255,255,255,.05);color:rgba(255,255,255,.55);border-radius:999px}
.hl-tag.cultural{background:rgba(255,200,100,.08);color:rgba(255,220,160,.85)}
.hl-copy{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;background:transparent;border:1px solid rgba(255,255,255,.1);border-radius:7px;color:rgba(255,255,255,.55);font-size:11px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .25s}
.hl-copy:hover{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.2)}
.hl-copy.copied{background:rgba(120,220,150,.1);color:#7fe49a;border-color:rgba(120,220,150,.25)}

.hl-empty{padding:60px 20px;text-align:center;color:rgba(255,255,255,.4);background:rgba(255,255,255,.02);border:1px dashed rgba(255,255,255,.08);border-radius:16px}
.hl-empty strong{display:block;color:#fff;font-size:16px;margin-bottom:6px}

.hl-load-more{display:block;margin:32px auto 0;padding:12px 28px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:#fff;border-radius:999px;font-weight:600;font-size:13px;cursor:pointer;font-family:inherit;transition:all .25s}
.hl-load-more:hover{background:rgba(255,255,255,.1)}

.hl-faq{max-width:780px;margin:0 auto}
.hl-faq-item{padding:18px 22px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.07);border-radius:12px;margin-bottom:10px;cursor:pointer}
.hl-faq-item summary{font-weight:600;font-size:15px;color:#fff;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px}
.hl-faq-item summary::-webkit-details-marker{display:none}
.hl-faq-item summary::after{content:'+';font-size:18px;color:rgba(255,255,255,.4);transition:transform .25s}
.hl-faq-item[open] summary::after{transform:rotate(45deg)}
.hl-faq-item p{color:rgba(255,255,255,.55);font-size:14px;line-height:1.65;margin-top:10px}

.hl-other{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:18px}
.hl-other a{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:999px;color:rgba(255,255,255,.7);font-size:13px;font-weight:600;text-decoration:none;transition:all .25s}
.hl-other a:hover{background:rgba(255,255,255,.08);color:#fff}

.ft-link{color:rgba(255,255,255,.4);text-decoration:none;display:block;padding:5px 0;transition:color .25s}
.ft-link:hover{color:#fff}

/* Light mode */
html.light-mode body{background:#fff;color:#111}
html.light-mode .hl-hero::before{background-image:radial-gradient(rgba(0,0,0,.06) 1px,transparent 1px)}
html.light-mode .hl-back{color:rgba(0,0,0,.5)}
html.light-mode .hl-back:hover{color:#111}
html.light-mode .hl-sub,html.light-mode .hl-section-sub,html.light-mode .hl-results-count,html.light-mode .hl-cc-meta,html.light-mode .hl-card-country,html.light-mode .hl-card-desc,html.light-mode .hl-prose{color:rgba(0,0,0,.6)}
html.light-mode .hl-stats,html.light-mode .hl-search,html.light-mode .hl-country-card,html.light-mode .hl-card,html.light-mode .hl-chip,html.light-mode .hl-faq-item,html.light-mode .hl-date,html.light-mode .hl-tag,html.light-mode .hl-other a{background:rgba(0,0,0,.03);border-color:rgba(0,0,0,.1);color:#111}
html.light-mode .hl-search{color:#111}
html.light-mode .hl-search::placeholder{color:rgba(0,0,0,.35)}
html.light-mode .hl-chip{color:rgba(0,0,0,.65)}
html.light-mode .hl-chip.active{background:#111;color:#fff;border-color:#111}
html.light-mode .hl-select{background-color:rgba(0,0,0,.03);color:#111;border-color:rgba(0,0,0,.1)}
html.light-mode .hl-card-name,html.light-mode .hl-cc-name,html.light-mode .hl-date-d,html.light-mode .hl-stat-n,html.light-mode .hl-faq-item summary,html.light-mode .hl-prose h3{color:#111}
html.light-mode .hl-copy{color:rgba(0,0,0,.55);border-color:rgba(0,0,0,.15)}
html.light-mode .hl-copy:hover{background:rgba(0,0,0,.05);color:#111}
html.light-mode .hl-other a{color:rgba(0,0,0,.65)}
html.light-mode footer{background:#f0f0f0!important;color:rgba(0,0,0,.6)!important;border-top-color:rgba(0,0,0,.08)!important}
html.light-mode footer .ft-link{color:rgba(0,0,0,.5)!important}
html.light-mode footer .ft-link:hover{color:#111!important}
