.xv-nav-button, .hamburgerNavContent > a.xv-nav-button { background:#e8d7af; color:#18382b; border:1px solid #e8d7af; padding:9px 13px; font:500 14px/1.4 'Oswald',sans-serif; letter-spacing:.07em; text-decoration:none; display:inline-block; }
.xv-nav-button:hover { background:#fff0ce; color:#18382b; }
.xv-home-button { background:#e8d7af!important; color:#18382b!important; }
.anniversary-page { background:#142d24; color:#f2e5ca; }
/* Editorial serif copy complements the display titles; utility text stays sans serif. */
.xv-page, .xv-hero, .xv-popup { font:400 18px/1.8 Georgia,'Times New Roman',serif; color:#f2e5ca; }
:where(.xv-page, .xv-hero, .xv-popup) p { font-family:Georgia,'Times New Roman',serif; }
.xv-day-copy > p, .xv-hours dd { max-width:68ch; }
.xv-page strong { font-weight:700; }
.xv-date, .xv-tag, .xv-time, .xv-hours dt, .xv-practical dt { font-family:'Roboto',sans-serif; }
.xv-time, .xv-hours dt { font-size:15px; letter-spacing:.015em; font-variant-numeric:tabular-nums; }
.xv-practical dt { font-size:13px; letter-spacing:.09em; text-transform:uppercase; }
.xv-date { font-size:15px; }
.xv-page *, .xv-hero *, .xv-popup * { box-sizing:border-box; }
.xv-page h2, .xv-hero h1, .xv-page h3, .xv-popup h2 { font-family:'Playfair Display',Georgia,serif; font-weight:400; line-height:1.15; }
.xv-hero { min-height:780px; display:flex; align-items:center; position:relative; background:linear-gradient(90deg,rgba(9,25,19,.94),rgba(9,25,19,.74) 47%,rgba(9,25,19,.1)),url('anniversary/vrijdag.jpg') right 51% / cover; padding:155px max(6vw,24px) 80px; }
.xv-hero-copy { max-width:800px; }
.xv-hero h1 { font-size:clamp(46px,6.8vw,94px); margin:18px 0 24px; }
.xv-eyebrow { font:500 12px/1.6 'Roboto',sans-serif; letter-spacing:.2em; text-transform:uppercase; }
.xv-roman { font:400 110px/.95 Georgia,serif; color:#d9bd7d; letter-spacing:-.1em; margin:30px 0; }
.xv-actions { display:flex; gap:14px; flex-wrap:wrap; margin-top:30px; }
.xv-button { display:inline-flex; align-items:center; justify-content:center; gap:20px; background:#e8d7af; color:#142d24; border:1px solid #e8d7af; padding:14px 22px; text-decoration:none; font:500 15px/1.5 'Roboto',sans-serif; text-align:center; transition:background .2s; }
.xv-button:hover { background:#fff0ce; color:#142d24; text-decoration:none; }
.xv-button-outline { background:transparent; color:#f2e5ca; }
.xv-button:focus-visible, .xv-nav-button:focus-visible, .xv-close:focus-visible { outline:3px solid #fff; outline-offset:5px; }
.xv-wrap { width:min(1120px,88%); margin:0 auto; }
.xv-page h2 { font-size:clamp(32px,4vw,52px); margin:16px 0 30px; }
.xv-intro { max-width:800px; text-align:center; padding:90px 0; }
.xv-page p + p { margin-top:18px; }
.xv-note { font-family:'Playfair Display',Georgia,serif; font-style:italic; font-size:22px; color:#d9bd7d; }
.xv-programme { padding-bottom:70px; scroll-margin-top:30px; }
.xv-day { display:grid; grid-template-columns:190px 1fr; gap:65px; border-top:1px solid #5b6955; padding:50px 0; }
.xv-date { display:flex; flex-direction:column; align-items:flex-start; line-height:1.5; }
.xv-date > strong { font:400 90px/1.2 'Playfair Display',Georgia,serif; color:#d9bd7d; }
.xv-date > span:first-child { text-transform:uppercase; letter-spacing:.13em; font-size:14px; }
.xv-tag { border:1px solid #7e846a; padding:5px 10px; margin-top:20px; font-size:12px; }
.xv-day h3 { font-size:clamp(30px,3.5vw,45px); margin:8px 0 22px; }
.xv-day h4 { font:400 25px/1.35 'Playfair Display',Georgia,serif; margin:24px 0 10px; color:#d9bd7d; }
.xv-day .xv-button { margin:24px 0; }
.xv-time { color:#d9bd7d; font-weight:500; margin-bottom:20px; }
.xv-hours { display:grid; grid-template-columns:125px 1fr; gap:12px 18px; margin:0 0 24px; }
.xv-hours dt { color:#d9bd7d; font-weight:500; }
.xv-hours dd { margin:0; }
.xv-interlude { padding:55px; background:linear-gradient(90deg,rgba(9,25,19,.88),rgba(9,25,19,.35)),url('anniversary/zaterdag.jpg') center 48% / cover; min-height:330px; display:flex; align-items:center; margin:12px 0 50px; }
.xv-interlude p { font:400 clamp(28px,3.5vw,44px)/1.3 'Playfair Display',Georgia,serif; }
.xv-interlude em { color:#e8d7af; }
.xv-beer {
  background:
    radial-gradient(ellipse at center, rgba(10, 29, 21, .90), rgba(10, 29, 21, .60) 65%, rgba(10, 29, 21, .42)),
    url('anniversary/zaterdag.jpg') center 28% / cover no-repeat;
  color:#f2e5ca;
  padding:88px 0;
  min-height:460px;
  text-align:center;
  display:flex;
  align-items:center;
}
.xv-beer-copy { max-width:820px; margin:0 auto; }
.xv-beer .xv-eyebrow { color:#e8d0a0; margin:0 0 20px; }
.xv-beer .xv-beer-title {
  font:700 clamp(40px, 5.4vw, 76px)/1.08 'Fraunces', 'Playfair Display', Georgia, serif;
  letter-spacing:-.045em;
  text-wrap:balance;
  margin:0;
}
.xv-beer .xv-beer-price {
  font:italic 600 clamp(58px, 6.2vw, 88px)/1.2 'Fraunces', 'Playfair Display', Georgia, serif;
  letter-spacing:-.035em;
  margin:10px 0 20px;
  color:#f2d79e;
}
.xv-beer-price > span { font:italic 24px/1.4 Georgia,serif; letter-spacing:0; }
.xv-beer .xv-beer-note { font:italic 18px/1.7 Georgia,serif; margin:0; }
.xv-practical { display:grid; grid-template-columns:1fr 1.25fr; gap:70px; padding:90px 0; }
.xv-practical dl { margin:0; }
.xv-practical dt { font-weight:600; color:#d9bd7d; }
.xv-practical dd { margin:5px 0 24px; }
.xv-reserve { text-align:center; padding:75px 0; border-top:1px solid #5b6955; background:#10261e; }
.xv-reserve p { max-width:720px; margin-left:auto; margin-right:auto; }
.xv-reserve .xv-actions { justify-content:center; }
.xv-signoff { font:italic 30px/1.6 'Playfair Display',Georgia,serif; margin-top:55px!important; }
.xv-signoff span { font:italic 18px/1.7 Georgia,'Times New Roman',serif; }
.xv-popup { background:#142d24; border:1px solid #ab9567; padding:0; width:min(600px,calc(100% - 32px)); max-height:90dvh; overflow:auto; }
.xv-popup::backdrop { background:rgba(0,0,0,.75); }
.xv-popup-art { height:190px; background:linear-gradient(0deg,#142d24,transparent),url('anniversary/vrijdag.jpg') center 48%/cover; }
.xv-popup-copy { padding:0 32px 36px; text-align:center; }
.xv-popup h2 { font-size:42px; margin:15px 0; }
.xv-popup .xv-actions { justify-content:center; }
.xv-close { position:absolute; right:12px; top:12px; width:44px; height:44px; border:1px solid #e8d7af; background:#142d24; color:#f2e5ca; font-size:28px; cursor:pointer; }
html:has(.xv-popup[open]) { overflow:hidden; }
@media(max-width:1100px) { .xv-nav-button { font-size:12px; padding:8px; } }
@media(max-width:700px) {
 .xv-hero { min-height:720px; padding:120px 24px 55px; background-position:62% center; }
 .xv-roman { font-size:85px; }
 .xv-eyebrow { font-size:11px; letter-spacing:.14em; }
 .xv-intro { padding:60px 0; }
 .xv-day { grid-template-columns:1fr; gap:24px; padding:32px 0; }
 .xv-date { flex-direction:row; align-items:center; gap:12px; flex-wrap:wrap; }
 .xv-date > strong { font-size:42px; }
 .xv-tag { margin-top:0; }
 .xv-hours { grid-template-columns:1fr; gap:4px; }
 .xv-hours dd { margin-bottom:12px; }
 .xv-interlude { padding:28px; }
 .xv-beer {
   min-height:390px;
   padding:60px 0;
   background-position:center,center 25%;
 }
 .xv-beer .xv-beer-note { font-size:17px; }
 .xv-practical { grid-template-columns:1fr; gap:12px; padding:55px 0; }
 .xv-actions { flex-direction:column; align-items:stretch; }
 .xv-popup h2 { font-size:34px; }
 .xv-popup-copy { padding:0 22px 28px; }
 .xv-page, .xv-hero, .xv-popup { font-size:17px; line-height:1.75; }
}

/* Keep each day's practical details together, with natural wrapping on phones. */
.xv-day { grid-template-columns:160px minmax(0,1fr); gap:48px; }
.xv-day-copy { min-width:0; }
.xv-day-details { display:grid; grid-template-columns:125px minmax(0,1fr); gap:16px 24px; margin:28px 0 0; padding:24px 0; border-top:1px solid #5b6955; border-bottom:1px solid #5b6955; }
.xv-day-details dt { font:500 12px/1.8 'Roboto',sans-serif; text-transform:uppercase; letter-spacing:.1em; color:#d9bd7d; padding-top:5px; }
.xv-day-details dd { margin:0; min-width:0; }
.xv-day-details h4 { margin:0 0 12px; }
.xv-detail-time { font:500 15px/1.8 'Roboto',sans-serif; color:#e8d7af; white-space:nowrap; }
.xv-day-offer { max-width:none!important; margin:24px 0 0; font-size:clamp(16px,1.4vw,18px); color:#e8d7af; }
.xv-day-offer strong,.xv-hero-offer strong { white-space:nowrap; }
.xv-hero-offer { color:#e8d7af; font-size:17px; }
.xv-page .xv-button,.xv-hero .xv-button { max-width:100%; white-space:normal; }
.xv-page p,.xv-page dd,.xv-page h2,.xv-page h3,.xv-page h4 { overflow-wrap:break-word; }
.xv-page > .xv-interlude { margin:0; padding:90px 6%; min-height:420px; justify-content:center; text-align:center; }
.xv-page > .xv-interlude p { margin:0; }
@media(max-width:900px) {
 .xv-day { grid-template-columns:125px minmax(0,1fr); gap:28px; }
 .xv-day-details { grid-template-columns:1fr; gap:6px; }
 .xv-day-details dd + dt { margin-top:12px; }
}
@media(max-width:700px) {
 .xv-day { grid-template-columns:minmax(0,1fr); gap:24px; }
 .xv-page > .xv-interlude { padding:65px 6%; min-height:340px; }
}
