:root{
  --green:#38473C;--ink:#1B1D1E;--grey:#ADB6B8;--cream:#F6F1EB;
  --gold:#9F6F31;--sage:#A8AD94;--brick:#603721;--clay:#8D4B20;--charcoal:#505050;
  --surface:#fffdfa;--line:rgba(80,80,80,.20);--muted:#696d68;
  --shadow:0 18px 46px rgba(27,29,30,.08);--radius:20px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Avenir Next,Avenir,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.45}
button,input,select,textarea{font:inherit}button,a{tap-highlight-color:transparent}.app-shell{width:min(1540px,calc(100% - 36px));margin-inline:auto}.topbar{padding:30px 0 20px;display:flex;justify-content:space-between;align-items:flex-end;gap:24px}.brand-lockup{display:flex;align-items:flex-start;gap:16px}.brand-mark{display:none}.kicker{margin:0 0 7px;text-transform:uppercase;letter-spacing:.16em;font-size:.71rem;font-weight:800;color:var(--clay)}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.025em}h1{font-size:clamp(2.2rem,4vw,4rem);line-height:1;font-weight:650;margin-bottom:8px}h2{font-size:clamp(1.9rem,3vw,3.15rem);line-height:1.04;font-weight:590}h3{font-weight:650}.trip-subtitle,.section-help,.muted{color:var(--muted)}.top-actions,.button-row,.modal-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.language-control{display:flex;align-items:center;gap:7px;font-size:.76rem;font-weight:800}.language-control input{position:absolute;opacity:0}.language-control i{width:46px;height:26px;border-radius:99px;background:var(--grey);position:relative;transition:.2s}.language-control i:after{content:"";width:20px;height:20px;border-radius:50%;position:absolute;left:3px;top:3px;background:white;box-shadow:0 2px 7px rgba(0,0,0,.2);transition:.2s}.language-control input:checked+i{background:var(--green)}.language-control input:checked+i:after{transform:translateX(20px)}
.btn{appearance:none;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:10px 15px;border-radius:10px;text-decoration:none;font-weight:750;cursor:pointer;transition:.18s}.btn:hover{background:var(--cream);color:var(--ink);border-color:var(--green);transform:translateY(-1px)}.btn-primary{background:var(--green);color:white;border-color:var(--green)}.btn-primary:hover{background:white;color:var(--green)}.btn-secondary{background:var(--ink);color:white;border-color:var(--ink)}.btn-secondary:hover{background:white;color:var(--ink)}.btn-danger{color:#8a2e25}.icon-btn{border:0;background:transparent;font-size:1.8rem;cursor:pointer;color:var(--charcoal)}
.nav-rail{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:repeat(7,1fr);background:rgba(246,241,235,.88);backdrop-filter:blur(18px);border-block:1px solid var(--line)}.nav-tab{border:0;background:transparent;padding:14px 8px;color:var(--muted);font-weight:720;cursor:pointer;position:relative}.nav-tab:after{content:"";position:absolute;left:26%;right:26%;bottom:-1px;height:2px;background:transparent}.nav-tab.active{color:var(--ink)}.nav-tab.active:after{background:var(--clay)}
.main-area{padding:34px 0 90px}.panel{display:none}.panel.active{display:block}.section-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:24px}.section-head>div:first-child{max-width:760px}.section-head h2{margin-bottom:9px}.legend,.filterbar{display:flex;gap:9px;flex-wrap:wrap}.legend span,.filterbar button{font-size:.78rem}.swatch{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px}.swatch.travel{background:var(--grey)}.swatch.activity{background:var(--sage)}.swatch.meal{background:var(--gold)}.swatch.flexible{background:var(--clay)}
.calendar-scroll{overflow:auto;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow)}.week-grid{min-width:1320px;display:grid;grid-template-columns:96px repeat(8,minmax(145px,1fr));grid-template-rows:88px repeat(32,30px);position:relative}.grid-head,.time-label,.grid-slot{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.grid-head{padding:17px 9px;text-align:center;background:#faf7f2;font-weight:720;position:sticky;top:0;z-index:8}.grid-head small{display:block;color:var(--muted);font-weight:600;margin-top:5px}.time-label{padding:5px 10px;text-align:right;color:var(--muted);font-size:.72rem;background:#fbf9f5;position:sticky;left:0;z-index:5}.grid-slot{background:transparent}.event-block{z-index:3;padding:8px 10px;overflow:hidden;cursor:pointer;border:1px solid rgba(255,255,255,.7);border-radius:4px;font-size:.78rem;font-weight:700;line-height:1.25;box-shadow:inset 0 0 0 1px rgba(27,29,30,.04)}.event-block small{display:block;font-weight:560;margin-top:4px;color:rgba(27,29,30,.70)}.event-block.travel{background:color-mix(in srgb,var(--grey) 58%,white)}.event-block.activity{background:color-mix(in srgb,var(--sage) 62%,white)}.event-block.meal{background:color-mix(in srgb,var(--gold) 28%,white);color:#5c4218}.event-block.flexible{background:color-mix(in srgb,var(--clay) 20%,white);color:var(--brick)}.mobile-week{display:none}
.daily-hero{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(520px,1.2fr);gap:30px;align-items:stretch;margin-bottom:26px}.daily-heading{padding:24px 0}.field-label{display:block;font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;color:var(--clay);font-weight:800;margin-bottom:8px}.day-picker{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:9px 12px;margin-bottom:28px}.weather-panel{min-height:210px;border-radius:24px;padding:26px;color:white;position:relative;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(135deg,#64767b,#aab7b4)}.weather-panel:before,.weather-panel:after{content:"";position:absolute;border-radius:50%;filter:blur(1px);opacity:.65}.weather-panel:before{width:170px;height:170px;right:-25px;top:-65px;background:radial-gradient(circle,#fff9bd 0 30%,rgba(255,255,255,0) 68%)}.weather-panel:after{width:430px;height:130px;left:-90px;bottom:-55px;background:rgba(255,255,255,.2);filter:blur(16px)}.weather-panel.sunny{background:linear-gradient(145deg,#315a70 0%,#7ba6b4 48%,#d5b56d 100%)}.weather-panel.cloudy{background:linear-gradient(145deg,#4c5b62,#aeb9b8)}.weather-panel.rain{background:linear-gradient(145deg,#263c4b,#637c88 55%,#9aabae)}.weather-panel.storm{background:linear-gradient(145deg,#242a35,#555766 55%,#897e79)}.weather-panel.night{background:linear-gradient(145deg,#101728,#2b3553 58%,#5d6174)}.weather-content{position:relative;z-index:2}.weather-temp{font-size:clamp(2.2rem,5vw,4.5rem);font-weight:520;line-height:1}.weather-summary{font-size:1.15rem;margin-top:8px}.weather-advice{position:relative;z-index:2;border-top:1px solid rgba(255,255,255,.28);padding-top:13px;margin-top:20px;font-size:.91rem;max-width:760px}.daily-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px}.daily-timeline{display:grid;gap:12px}.daily-card,.shared-notes,.place-card,.note-card,.cost-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 25px rgba(27,29,30,.05)}.daily-card{padding:18px;cursor:pointer}.daily-card h3{margin-bottom:5px}.daily-meta{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:.84rem}.shared-notes{padding:20px}.shared-notes textarea,.note-card textarea{width:100%;border:1px solid var(--line);background:white;border-radius:12px;padding:12px;resize:vertical}.save-note{color:var(--green)}
.filterbar{margin-bottom:24px}.filterbar button{border:1px solid var(--line);background:transparent;border-radius:9px;padding:8px 12px;cursor:pointer}.filterbar button.active{background:var(--green);color:white}.places-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.place-card{padding:18px;display:flex;flex-direction:column;min-height:300px;cursor:pointer}.place-card h3{font-size:1.25rem}.place-card p{color:var(--muted);margin-bottom:9px}.place-actions{display:flex;gap:9px;margin-top:auto;padding-top:18px}.place-card a.website-link{color:var(--brick);font-weight:750;text-decoration:none}.place-card a.website-link:hover{color:var(--clay);text-decoration:underline}.travel-tag{align-self:flex-start;font-size:.7rem;text-transform:uppercase;letter-spacing:.11em;font-weight:800;color:var(--green);background:color-mix(in srgb,var(--sage) 32%,white);padding:5px 8px;border-radius:7px;margin-bottom:12px}
.table-scroll{overflow:auto}.meal-grid{display:grid;grid-template-columns:130px repeat(3,minmax(260px,1fr));border:1px solid var(--line);background:var(--surface)}.meal-cell{min-height:145px;padding:16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);cursor:pointer}.meal-head{min-height:auto;background:#faf7f2;font-weight:750}.meal-time{color:var(--clay);font-weight:750;font-size:.84rem}.meal-empty{color:#a0a29f;font-style:italic}.shop-tools{display:grid;grid-template-columns:190px 190px 1fr;gap:10px;margin-bottom:14px}.shop-tools select,.search-box,.day-picker{box-shadow:none}.shop-tools select,.search-box input{border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--surface)}.search-box{display:flex;align-items:center;border:1px solid var(--line);border-radius:10px;background:var(--surface);padding-left:10px}.search-box input{border:0;width:100%}.shop-table{width:100%;border-collapse:collapse;background:var(--surface);font-size:.88rem}.shop-table th,.shop-table td{padding:12px;border-bottom:1px solid var(--line);text-align:left}.shop-table th{background:#faf7f2}.mini-summary{margin-bottom:10px;color:var(--muted)}
.cost-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;align-items:start}.cost-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.cost-card{padding:15px;min-height:255px;display:flex;flex-direction:column;cursor:pointer;font-size:.84rem}.cost-card h3{font-size:1.05rem;margin-bottom:12px}.cost-card dl{display:grid;grid-template-columns:105px 1fr;gap:7px;margin:0}.cost-card dt{font-weight:750}.cost-card dd{margin:0;color:var(--muted)}.cost-footer{margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}.receipt-panel{position:sticky;top:76px;display:grid;gap:16px}.receipt-paper{background:#fffef9;border:1px solid #d8d0c4;padding:20px 17px;box-shadow:0 14px 30px rgba(27,29,30,.07);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.receipt-paper:before{content:"";display:block;border-top:2px dashed #c9c0b4;margin:-4px 0 14px}.receipt-brand{text-align:center;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.receipt-items{display:grid;gap:7px;font-size:.78rem}.receipt-row{display:flex;justify-content:space-between;gap:10px}.receipt-total{display:flex;justify-content:space-between;border-top:1px dashed #aaa;padding-top:12px;margin-top:14px;font-size:.95rem}.receipt-foot{font-size:.68rem;color:var(--muted);margin-top:13px}.notes-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:16px}.note-card{padding:20px}.note-wide{grid-row:span 2}.note-card .btn{margin-top:16px}.note-card p{color:var(--muted)}
dialog{border:0;padding:0;background:transparent;width:min(680px,calc(100% - 28px))}dialog::backdrop{background:rgba(27,29,30,.48);backdrop-filter:blur(6px)}.modal{background:var(--surface);border-radius:22px;padding:24px;box-shadow:0 30px 90px rgba(0,0,0,.25);display:grid;gap:14px}.modal-head{display:flex;justify-content:space-between;gap:12px}.modal h2{font-size:1.7rem}.modal label{display:grid;gap:6px;font-weight:700;font-size:.87rem}.modal input,.modal select,.modal textarea{border:1px solid var(--line);background:white;border-radius:10px;padding:10px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-actions{display:grid;grid-template-columns:auto 1fr auto auto;margin-top:8px}.check-row{grid-template-columns:auto 1fr!important;align-items:center}
@media(max-width:1000px){.cost-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-layout{grid-template-columns:1fr}.shared-notes{order:-1}.daily-hero{grid-template-columns:1fr}.weather-panel{min-height:190px}.notes-grid{grid-template-columns:1fr}.note-wide{grid-row:auto}}
@media(max-width:760px){.app-shell{width:min(100% - 22px,1540px)}.topbar{align-items:flex-start;flex-direction:column}.top-actions{width:100%;justify-content:space-between}.nav-rail{display:flex;overflow:auto}.nav-tab{min-width:92px}.calendar-scroll{display:none}.mobile-week{display:block}.mobile-day{background:var(--surface);border:1px solid var(--line);padding:16px;margin-bottom:14px}.mobile-day h3{margin-bottom:4px}.mobile-event{padding:12px;margin-top:8px;border-radius:7px}.mobile-event.travel{background:color-mix(in srgb,var(--grey) 58%,white)}.mobile-event.activity{background:color-mix(in srgb,var(--sage) 62%,white)}.mobile-event.meal{background:color-mix(in srgb,var(--gold) 28%,white)}.mobile-event.flexible{background:color-mix(in srgb,var(--clay) 20%,white)}.section-head{align-items:flex-start;flex-direction:column}.shop-tools{grid-template-columns:1fr}.cost-layout{grid-template-columns:1fr}.cost-grid{grid-template-columns:1fr}.receipt-panel{position:static}.meal-grid{grid-template-columns:95px repeat(3,230px)}.form-row{grid-template-columns:1fr}.modal-actions{grid-template-columns:1fr 1fr}.modal-actions span{display:none}}
@media print{body{background:white;font-size:9pt}.topbar,.nav-rail,.section-head,.shop-tools,.mini-summary,.panel:not(#shop){display:none!important}.main-area{padding:0}.app-shell{width:100%}#shop{display:block!important}.shop-table{font-size:9pt}.shop-table th,.shop-table td{padding:5px 7px}.shop-table th:last-child,.shop-table td:last-child{max-width:180px}.shop-table tr{break-inside:avoid}.shop-table input{display:none}@page{size:letter portrait;margin:.45in}#shop:before{content:"Shopping List";display:block;font-size:20pt;font-weight:650;margin-bottom:10pt}html,body{height:auto;overflow:visible}.table-scroll{overflow:visible}}


/* v7 refinement — quieter typography + integrated Apple-inspired weather masthead */
.nav-tab,
.btn,
.filterbar button,
.travel-tag,
.grid-head,
.time-label,
.event-block,
.event-block small,
.place-card a.website-link,
.cost-card dt,
.cost-footer,
.meal-head,
.meal-time,
.field-label,
.kicker,
.modal label {
  font-weight: 500;
}

.nav-tab {
  text-transform: uppercase;
  letter-spacing: .105em;
  font-size: .72rem;
}

.grid-head {
  text-transform: uppercase;
  letter-spacing: .09em;
  font-size: .72rem;
}

.time-label {
  text-transform: uppercase;
  letter-spacing: .045em;
  font-variant-numeric: tabular-nums;
}

.event-block {
  font-weight: 520;
}

.event-block small {
  font-weight: 420;
}

.travel-tag {
  font-weight: 500;
  letter-spacing: .09em;
}

.btn {
  font-weight: 500;
}

.place-card a.website-link {
  font-weight: 500;
}

/* The selected day and weather now share one atmospheric banner. */
.daily-hero {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(250px,.72fr) minmax(480px,1.28fr);
  gap: clamp(24px,5vw,72px);
  align-items: center;
  min-height: 278px;
  margin: 0 0 30px;
  padding: clamp(28px,4vw,54px);
  overflow: hidden;
  border-radius: 30px;
  color: #fff;
  background:
    radial-gradient(circle at 91% 12%, rgba(255,245,177,.84) 0 4%, rgba(255,245,177,.25) 12%, transparent 25%),
    radial-gradient(ellipse at 18% 118%, rgba(255,255,255,.24) 0 28%, transparent 55%),
    linear-gradient(125deg, #345f70 0%, #79a2ad 46%, #c7aa65 100%);
  box-shadow: 0 24px 58px rgba(27,29,30,.13);
}

.daily-hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 62%;
  height: 48%;
  left: -8%;
  bottom: -24%;
  border-radius: 50%;
  background: rgba(255,255,255,.18);
  filter: blur(28px);
  animation: weatherDrift 15s ease-in-out infinite alternate;
}

.daily-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: .36;
  background:
    linear-gradient(112deg, transparent 0 39%, rgba(255,255,255,.12) 52%, transparent 68%),
    radial-gradient(ellipse at 72% 108%, rgba(255,255,255,.24), transparent 50%);
  pointer-events: none;
}

.daily-hero:has(.weather-panel.cloudy) {
  background:
    radial-gradient(ellipse at 83% 6%, rgba(245,244,226,.35), transparent 34%),
    radial-gradient(ellipse at 24% 112%, rgba(255,255,255,.22), transparent 53%),
    linear-gradient(126deg, #41565e 0%, #809395 54%, #a9aaa0 100%);
}

.daily-hero:has(.weather-panel.rain) {
  background:
    repeating-linear-gradient(104deg, transparent 0 18px, rgba(255,255,255,.055) 19px 20px, transparent 21px 39px),
    radial-gradient(ellipse at 20% 112%, rgba(255,255,255,.17), transparent 48%),
    linear-gradient(128deg, #203a49 0%, #55727f 56%, #86979b 100%);
}

.daily-hero:has(.weather-panel.storm) {
  background:
    radial-gradient(circle at 86% 20%, rgba(196,179,145,.26), transparent 20%),
    linear-gradient(132deg, #202630 0%, #4d5361 53%, #7b716e 100%);
}

.daily-hero:has(.weather-panel.night) {
  background:
    radial-gradient(circle at 88% 18%, rgba(245,240,200,.78) 0 3%, rgba(245,240,200,.13) 12%, transparent 20%),
    radial-gradient(circle at 20% 24%, rgba(255,255,255,.7) 0 1px, transparent 2px),
    radial-gradient(circle at 66% 64%, rgba(255,255,255,.5) 0 1px, transparent 2px),
    linear-gradient(132deg, #101728 0%, #293653 58%, #565f77 100%);
}

.daily-heading {
  position: relative;
  z-index: 2;
  padding: 0;
}

.daily-heading h2 {
  margin: 24px 0 0;
  color: #fff;
  font-size: clamp(2.25rem,5vw,4.45rem);
  font-weight: 500;
  letter-spacing: -.045em;
  line-height: .98;
}

.daily-heading .field-label {
  color: rgba(255,255,255,.76);
  font-weight: 500;
}

.day-picker {
  margin: 0;
  color: #fff;
  border: 1px solid rgba(255,255,255,.38);
  background: rgba(255,255,255,.12);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
}

.day-picker option {
  color: var(--ink);
  background: var(--surface);
}

.weather-panel,
.weather-panel.sunny,
.weather-panel.cloudy,
.weather-panel.rain,
.weather-panel.storm,
.weather-panel.night {
  position: relative;
  z-index: 2;
  min-height: 0;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  color: #fff;
  background: transparent;
  box-shadow: none;
}

.weather-panel::before,
.weather-panel::after {
  display: none;
}

.weather-content .kicker {
  color: rgba(255,255,255,.78) !important;
  font-weight: 500;
}

.weather-temp {
  font-size: clamp(3.4rem,7.5vw,6.7rem);
  font-weight: 300;
  letter-spacing: -.06em;
  line-height: .9;
  text-shadow: 0 2px 18px rgba(0,0,0,.08);
}

.weather-summary {
  margin: 16px 0 0;
  color: rgba(255,255,255,.92);
  font-size: clamp(1rem,1.5vw,1.24rem);
  font-weight: 400;
}

.weather-advice {
  max-width: none;
  margin: 28px 0 0;
  padding: 17px 0 0;
  border-top: 1px solid rgba(255,255,255,.28);
  color: rgba(255,255,255,.9);
  font-size: .94rem;
  font-weight: 400;
}

@keyframes weatherDrift {
  from { transform: translate3d(-2%,0,0) scale(1); }
  to { transform: translate3d(8%,-7%,0) scale(1.08); }
}

@media (prefers-reduced-motion: reduce) {
  .daily-hero::before { animation: none; }
}

@media(max-width:1000px) {
  .daily-hero {
    grid-template-columns: 1fr;
    gap: 30px;
    min-height: 0;
  }
  .daily-heading h2 { margin-top: 20px; }
}

@media(max-width:760px) {
  .daily-hero {
    margin-inline: -11px;
    padding: 27px 22px 30px;
    border-radius: 0 0 26px 26px;
  }
  .daily-heading h2 { font-size: 2.55rem; }
  .weather-temp { font-size: 4.8rem; }
  .weather-advice { margin-top: 23px; }
}

/* v8 — responsive app navigation and mobile event spacing */
.language-control{font-weight:400}
.language-control>span{font-weight:400;letter-spacing:.04em}
.mobile-menu-btn{display:none;width:46px;height:42px;padding:10px;border:1px solid var(--line);border-radius:11px;background:var(--surface);cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.mobile-menu-btn span{display:block;width:21px;height:1.5px;background:var(--ink);transition:transform .2s ease,opacity .2s ease}
.mobile-menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.mobile-menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
.mobile-menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.nav-rail{display:block}
.nav-tabs-wrap{display:grid;grid-template-columns:repeat(7,1fr)}
.mobile-nav-language{display:none}
.mobile-event{display:grid;gap:5px}
.mobile-event strong,.mobile-event small{display:block}
.mobile-event strong{font-weight:520;line-height:1.28}
.mobile-event small{font-weight:400;color:var(--muted);line-height:1.25}

@media(max-width:760px){
  .topbar{display:grid;grid-template-columns:1fr auto;align-items:start;gap:20px;padding-top:22px}
  .brand-lockup{min-width:0}
  .top-actions{width:auto;justify-content:flex-end;align-items:center;gap:9px}
  .desktop-language{display:none}
  .mobile-menu-btn{display:flex}
  .nav-rail{display:none;position:fixed;z-index:80;top:0;right:0;left:auto;width:min(340px,calc(100% - 28px));height:100dvh;margin:0;padding:86px 20px 24px;background:rgba(255,253,250,.97);border:0;border-left:1px solid var(--line);box-shadow:-20px 0 60px rgba(27,29,30,.16);backdrop-filter:blur(22px);overflow-y:auto}
  .nav-rail.open{display:block}
  .nav-tabs-wrap{display:grid;grid-template-columns:1fr;gap:0}
  .nav-tab{min-width:0;width:100%;padding:16px 4px;text-align:left;border-bottom:1px solid var(--line);font-size:.78rem;letter-spacing:.12em}
  .nav-tab:after{left:0;right:auto;width:34px;bottom:-1px}
  .mobile-nav-language{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 4px 4px}
  .mobile-language-label{text-transform:uppercase;letter-spacing:.11em;font-size:.72rem;color:var(--muted);font-weight:400}
  body.menu-open{overflow:hidden}
  .mobile-day{padding:18px}
  .mobile-day h3{font-weight:520;font-size:1.35rem;margin-bottom:14px}
  .mobile-event{padding:14px 16px;margin-top:10px}
  .mobile-event strong{font-size:1rem}
  .mobile-event small{font-size:.82rem;margin-top:1px}
  .top-actions .btn-primary{padding:10px 13px}
}

@media(min-width:761px){
  .nav-rail{position:sticky}
}
