:root{--vh-green:#245d50;--vh-green-dark:#164b41;--vh-cream:#f8f6f0;--vh-paper:#fbfaf7;--vh-text:#151515;--vh-muted:#5d5952;--vh-line:#d9d4ca;--vh-shell:1320px}
.vh-container{width:min(var(--vh-shell),calc(100% - 112px));margin-inline:auto}
.vh-section{padding:38px 0 46px;background:var(--vh-cream)}
.vh-eyebrow{font:700 10px/1.2 Arial,Helvetica,sans-serif!important;letter-spacing:.29em;color:var(--vh-green)!important;margin:0 0 9px!important;text-transform:uppercase}
.vh-section h2{font:700 42px/1.02 Georgia,'Times New Roman',serif!important;margin:0 0 8px!important;color:var(--vh-text)!important;letter-spacing:-.025em}
.vh-section p{color:var(--vh-muted)}
.vh-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:9px 18px;text-decoration:none;border:1px solid var(--vh-green);font:400 14px/1.2 Georgia,'Times New Roman',serif;border-radius:0}
.vh-button--primary{background:var(--vh-green);color:#fff}.vh-button--outline{color:var(--vh-green);background:transparent}.vh-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}

/* Information strip */
.vh-info-strip{background:#fbfaf7;padding:20px 0 23px;margin:0}
.vh-info-strip .vh-container{width:min(var(--vh-shell),calc(100% - 112px));margin-inline:auto}
.vh-info-strip__grid{display:grid;grid-template-columns:repeat(4,1fr);align-items:stretch}
.vh-info-strip__grid>div{text-align:center;padding:0 22px;min-height:91px;display:flex;flex-direction:column;justify-content:center;align-items:center;border-right:1px solid var(--vh-line)}
.vh-info-strip__grid>div:last-child{border-right:0}.vh-info-strip svg{width:31px;height:31px;color:var(--vh-green);stroke:currentColor;fill:none;stroke-width:1.55;margin-bottom:8px}.vh-info-strip strong{display:block;font:700 9px/1.2 Arial,Helvetica,sans-serif;letter-spacing:.28em;color:#294f45;margin:0 0 6px}.vh-info-strip small{display:block;font:400 14px/1.28 Georgia,'Times New Roman',serif;color:#4a4843}

/* Lunch */
.vh-lunch{padding-top:34px;padding-bottom:31px}
.vh-week-switch{display:flex;gap:10px;margin:0 0 25px}.vh-week-switch>*{border:1px solid var(--vh-green);padding:10px 15px;text-decoration:none;color:var(--vh-green);font:400 14px/1.2 Georgia,'Times New Roman',serif}.vh-week-switch__active{background:var(--vh-green);color:#fff}
.vh-section-heading--split{display:grid;grid-template-columns:1.05fr .82fr auto;align-items:end;gap:27px;margin-bottom:21px}.vh-lunch-title>p:last-child{font-size:15px;margin:0}.vh-lunch-meta{display:grid;grid-template-columns:23px 1fr;align-items:center;column-gap:9px;row-gap:8px;font:400 14px/1.25 Georgia,'Times New Roman',serif;padding-bottom:1px}.vh-lunch-meta span{color:#4d4a45}.vh-lunch-meta svg{width:19px;height:19px;color:var(--vh-green);fill:none;stroke:currentColor;stroke-width:1.5}.vh-price-icon{display:flex;align-items:center;justify-content:center;width:19px;height:19px;color:var(--vh-green)!important;font-size:18px;line-height:1}.vh-pdf-button{white-space:nowrap;margin-bottom:1px}.vh-lunch-days{border-top:1px solid #dfdbd2}.vh-lunch-day{display:grid;grid-template-columns:118px 1fr;border-bottom:1px solid #dfdbd2;min-height:73px;padding:13px 0}.vh-lunch-day__day{border-right:1px solid #dfdbd2;padding-right:18px}.vh-lunch-day__day strong,.vh-lunch-day__day small{display:block}.vh-lunch-day__day strong{font:700 18px/1.15 Georgia,'Times New Roman',serif}.vh-lunch-day__day small{margin-top:3px;color:#66615a;font:400 12px/1.2 Georgia,'Times New Roman',serif}.vh-lunch-day__dishes{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0}.vh-lunch-dish{padding:0 23px;border-right:1px solid #dfdbd2;min-width:0}.vh-lunch-dish:last-child{border-right:0}.vh-lunch-dish__label{display:block;font:700 9px/1.2 Arial,Helvetica,sans-serif;letter-spacing:.24em;color:var(--vh-green);margin:0 0 6px;text-transform:uppercase}.vh-lunch-dish strong{display:block;font:400 14px/1.25 Georgia,'Times New Roman',serif;color:#383632}.vh-lunch-dish strong em{font-style:normal;font-weight:400;float:right;margin-left:10px}.vh-lunch-dish p{margin:3px 0 0!important;font-size:13px!important;line-height:1.28!important;color:#5f5a53!important}.vh-lunch-day__closed{padding:8px 24px;color:#777169;font:italic 13px/1.3 Georgia,'Times New Roman',serif}

/* Classics */
.vh-classics{padding-top:37px;padding-bottom:19px}.vh-classics-heading{display:grid;grid-template-columns:1fr 285px;gap:30px;align-items:end;margin-bottom:8px}.vh-classics-heading>img{width:245px;justify-self:end;mix-blend-mode:multiply}.vh-classics .vh-lead{font-size:16px!important;margin:0!important}.vh-menu-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:10px}.vh-menu-section{border-top:1px solid var(--vh-line);padding:14px 22px 4px}.vh-menu-section:first-child{padding-left:0}.vh-menu-section:last-child{padding-right:0}.vh-menu-section+.vh-menu-section{border-left:1px solid #dfdbd2}.vh-menu-section h3,.vh-drink-grid h3{font:700 10px/1.2 Arial,Helvetica,sans-serif;letter-spacing:.25em;color:var(--vh-green);text-transform:uppercase;margin:0 0 11px}.vh-menu-category{margin:0}.vh-menu-category+.vh-menu-category{margin-top:18px;padding-top:15px;border-top:1px solid #e6e1d7}.vh-menu-category__title{font:700 9.5px/1.2 Arial,Helvetica,sans-serif;letter-spacing:.2em;color:#6b665f;text-transform:uppercase;margin:0 0 7px}.vh-menu-category__title:after{content:"";display:block;width:28px;height:2px;background:var(--vh-green);margin-top:7px}.vh-menu-item{display:grid;grid-template-columns:1fr auto;gap:15px;padding:6px 0}.vh-menu-item strong{display:block;font:400 14px/1.18 Georgia,'Times New Roman',serif}.vh-menu-item>span{font:400 13px/1.2 Georgia,'Times New Roman',serif;white-space:nowrap}.vh-menu-item p{font-size:12px!important;line-height:1.25!important;margin:2px 0 0!important;color:#625d56!important}.vh-fish-decor{display:block;width:210px;max-width:80%;margin:21px auto 0;mix-blend-mode:multiply}

/* Featured classics used on home */
.vh-featured-classics{padding:42px 0 52px;background:var(--vh-cream)}.vh-featured-classics .vh-section-kicker{display:flex;justify-content:space-between;align-items:center;position:relative;border:0;padding:0;margin:0 0 16px}.vh-featured-classics .vh-section-kicker:after{content:"";position:absolute;left:145px;top:8px;width:70px;height:1px;background:var(--vh-line)}.vh-featured-classics .vh-section-kicker span{font:700 10px/1.2 Arial,Helvetica,sans-serif;letter-spacing:.26em;color:#263d37}.vh-featured-classics .vh-section-kicker a{font:400 14px/1.2 Georgia,'Times New Roman',serif;color:var(--vh-green);border-bottom:1px solid rgba(36,93,80,.55);padding-bottom:2px;text-decoration:none}.vh-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.vh-food-card{position:relative;background:#fbfaf7;overflow:hidden}.vh-food-card__image{display:block;width:100%;aspect-ratio:1.73/1;object-fit:cover}.vh-food-card__body{padding:10px 15px 14px}.vh-food-card h3{font:700 20px/1.12 Georgia,'Times New Roman',serif;margin:0 0 2px}.vh-food-card p{font:400 14px/1.28 Georgia,'Times New Roman',serif;margin:0;color:#55514b}.vh-card-price{display:none}

/* Drinks */
.vh-drinks{padding-top:11px;padding-bottom:28px}.vh-drinks .vh-container{border-top:1px solid var(--vh-line);padding-top:14px}.vh-drinks-heading{display:flex;align-items:baseline;gap:22px;margin-bottom:13px}.vh-drinks-heading h2{font-size:34px!important;margin:0!important}.vh-drinks-heading p{font-size:14px!important;margin:0!important}.vh-drink-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0}.vh-drink-grid>section{padding:0 18px;border-right:1px solid #dfdbd2}.vh-drink-grid>section:first-child{padding-left:0}.vh-drink-grid>section:last-child{border-right:0;padding-right:0}.vh-drink-item{display:flex;justify-content:space-between;gap:12px;font:400 12px/1.35 Georgia,'Times New Roman',serif;padding:2px 0}.vh-drink-item strong{font-weight:700;white-space:nowrap}

/* Contact */
.vh-business-contact{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:30px}.vh-business-contact strong,.vh-business-contact a,.vh-business-contact span{display:block}.vh-business-contact strong{font:700 10px/1.2 Arial,Helvetica,sans-serif;letter-spacing:.2em;text-transform:uppercase;margin-bottom:8px;color:var(--vh-green)}.vh-business-contact a,.vh-business-contact span{color:inherit;text-decoration:none;line-height:1.55}.vh-business-contact__social a{display:inline-block;margin-right:12px}

/* Footer dynamic part */
.vh-footer-business{display:grid;grid-template-columns:.82fr 1fr 1.25fr;gap:26px;min-width:0}.vh-footer-business h6,.vh-footer-business .vh-footer-label{font:700 9px/1.2 Arial,Helvetica,sans-serif;letter-spacing:.23em;color:#294f45;margin:0 0 9px}.vh-footer-business p,.vh-footer-business a{font:400 12px/1.55 Georgia,'Times New Roman',serif;margin:0;color:#383632;text-decoration:none}.vh-footer-hours p{white-space:nowrap}.vh-footer-contact .vh-footer-address{margin-top:14px}.vh-footer-map{display:block;position:relative;width:100%;min-height:105px;background-size:cover;background-position:center;border:1px solid #e5e0d6}.vh-footer-map span{position:absolute;clip:rect(0 0 0 0);width:1px;height:1px;overflow:hidden}.vh-footer-script{display:block;width:115px;height:auto;margin:8px 0 0 auto}

/* Mobile-home lunch teaser */
.vh-home-lunch-teaser{display:none}

@media(max-width:1199px) and (min-width:901px){
 .vh-container,.vh-info-strip .vh-container{width:min(900px,calc(100% - 64px))}.vh-classics-heading{grid-template-columns:1fr 220px}.vh-classics-heading>img{width:210px}.vh-drink-grid{grid-template-columns:repeat(3,1fr)}.vh-drink-grid>section:nth-child(3){border-right:0}.vh-drink-grid>section:nth-child(n+4){margin-top:15px}.vh-menu-item strong{font-size:13.5px}
}
@media(max-width:900px){
 .vh-container,.vh-info-strip .vh-container{width:min(720px,calc(100% - 44px))}.vh-section-heading--split{grid-template-columns:1fr 1fr}.vh-pdf-button{grid-column:1/-1;justify-self:start}.vh-menu-columns{grid-template-columns:1fr 1fr}.vh-menu-section:nth-child(3){border-left:0}.vh-classics-heading{grid-template-columns:1fr 190px}.vh-classics-heading>img{width:180px}.vh-drink-grid{grid-template-columns:1fr 1fr}.vh-drink-grid>section:nth-child(2n){border-right:0}.vh-info-strip__grid{grid-template-columns:repeat(4,1fr)}.vh-business-contact{grid-template-columns:1fr 1fr}.vh-footer-business{grid-template-columns:1fr 1fr 1.25fr;gap:18px}
}
@media(max-width:600px){
 .vh-container,.vh-info-strip .vh-container{width:min(442px,calc(100% - 32px))}.vh-section{padding:26px 0}.vh-section h2{font-size:34px!important}
 .vh-info-strip{padding:0}.vh-info-strip__grid{grid-template-columns:1fr 1fr}.vh-info-strip__grid>div{min-height:101px;padding:13px 8px;border-bottom:1px solid var(--vh-line)}.vh-info-strip__grid>div:nth-child(2n){border-right:0}.vh-info-strip__grid>div:nth-last-child(-n+2){border-bottom:0}.vh-info-strip svg{width:31px;height:31px}.vh-info-strip strong{font-size:8px}.vh-info-strip small{font-size:11.8px;line-height:1.25}
 .vh-home-lunch-teaser{display:block;padding:20px 0 9px;background:var(--vh-cream)}.vh-home-lunch-teaser .vh-section-kicker{display:flex;justify-content:space-between;align-items:center;position:relative;margin:0 0 8px}.vh-home-lunch-teaser .vh-section-kicker:after{content:"";position:absolute;left:104px;top:7px;width:40px;height:1px;background:var(--vh-line)}.vh-home-lunch-teaser .vh-section-kicker span{font:700 8px/1.2 Arial,Helvetica,sans-serif;letter-spacing:.25em;color:#263d37}.vh-home-lunch-teaser .vh-section-kicker a{font:400 11.5px/1.2 Georgia,'Times New Roman',serif;color:var(--vh-green);text-decoration:none;border-bottom:1px solid rgba(36,93,80,.55)}.vh-mobile-menu-list{border-top:1px solid #ded9cf}.vh-mobile-menu-row{display:grid;grid-template-columns:35% 1fr auto;align-items:stretch;min-height:67px;border-bottom:1px solid #ded9cf;background:#faf9f5}.vh-mobile-menu-row img{width:100%;height:100%;object-fit:cover}.vh-mobile-menu-row__copy{padding:9px 10px}.vh-mobile-menu-row strong{display:block;font:700 14px/1.15 Georgia,'Times New Roman',serif}.vh-mobile-menu-row p{font:400 11px/1.25 Georgia,'Times New Roman',serif;margin:3px 0 0;color:#56514b}.vh-mobile-menu-row b{align-self:center;padding-right:10px;font:700 12px/1 Georgia,'Times New Roman',serif;white-space:nowrap}.vh-home-lunch-empty{font-size:12px;line-height:1.4;margin:0;padding:10px 0 16px;color:#605b54}
 .vh-featured-classics{padding:15px 0 24px}.vh-featured-classics .vh-section-kicker{margin-bottom:8px}.vh-featured-classics .vh-section-kicker:after{left:110px;width:40px}.vh-featured-classics .vh-section-kicker span{font-size:8px}.vh-featured-classics .vh-section-kicker a{font-size:11.5px}.vh-card-grid{grid-template-columns:1fr;gap:6px}.vh-food-card{display:grid;grid-template-columns:35% 1fr auto;min-height:67px;border:1px solid #e6e1d7;background:#faf9f5}.vh-food-card__image{grid-column:1;grid-row:1;width:100%;height:100%;aspect-ratio:auto}.vh-food-card__body{grid-column:2;padding:8px 10px;align-self:center}.vh-food-card h3{font-size:14px;margin:0 0 2px}.vh-food-card p{font-size:11px;line-height:1.22;margin:0}.vh-card-price{display:block;grid-column:3;align-self:center;padding-right:10px;font:700 12px/1 Georgia,'Times New Roman',serif;white-space:nowrap}
 .vh-week-switch{overflow:auto;white-space:nowrap;margin-bottom:18px}.vh-week-switch>*{font-size:11px;padding:8px 10px}.vh-section-heading--split{grid-template-columns:1fr;gap:13px}.vh-lunch-meta{grid-template-columns:22px 1fr;font-size:12px}.vh-pdf-button{font-size:11px;white-space:normal}.vh-lunch-days{border-top:1px solid #dfdbd2}.vh-lunch-day{grid-template-columns:1fr;padding:13px 0}.vh-lunch-day__day{border-right:0;border-bottom:1px solid #e7e2d8;padding:0 0 8px;margin-bottom:8px}.vh-lunch-day__dishes{grid-template-columns:1fr}.vh-lunch-dish{border-right:0;padding:7px 0}.vh-lunch-dish:nth-child(n+2){border-top:1px solid #eee9df;margin-top:4px;padding-top:10px}.vh-lunch-day__closed{padding:4px 0}
 .vh-classics-heading{grid-template-columns:1fr}.vh-classics-heading>img{display:none}.vh-menu-columns{grid-template-columns:1fr}.vh-menu-section,.vh-menu-section:first-child,.vh-menu-section:last-child{padding:14px 0;border-left:0}.vh-menu-section+.vh-menu-section{border-left:0}.vh-fish-decor{width:175px}.vh-drinks-heading{display:block}.vh-drinks-heading p{margin-top:4px}.vh-drink-grid{grid-template-columns:1fr}.vh-drink-grid>section,.vh-drink-grid>section:first-child,.vh-drink-grid>section:last-child{border-right:0;padding:10px 0;border-bottom:1px solid #e6e1d7}.vh-drink-grid>section:nth-child(n+4){margin-top:0}.vh-business-contact{grid-template-columns:1fr}.vh-footer-business{grid-template-columns:.8fr 1.25fr;gap:18px}.vh-footer-map-wrap{display:none}.vh-footer-hours p{white-space:normal}
}

/* v0.6 homepage fidelity to approved main-desktop.png */
:root{--vh-shell:1165px}
.vh-container,.vh-info-strip .vh-container{width:min(var(--vh-shell),88.3%)!important;margin-inline:auto!important}
.vh-featured-classics{padding:34px 0 34px!important}
.vh-featured-classics .vh-card-grid{gap:16px!important}
.vh-featured-classics .vh-food-card__body{min-height:76px!important;padding:10px 15px 14px!important}
.vh-featured-classics .vh-food-card h3{font-size:20px!important;line-height:1.12!important}
.vh-featured-classics .vh-food-card p{font-size:14px!important;line-height:1.28!important}
.vh-footer-map img{display:block;width:100%;height:105px;object-fit:cover}
@media(max-width:1199px) and (min-width:901px){.vh-container,.vh-info-strip .vh-container{width:min(900px,88.3%)!important}}
@media(max-width:900px) and (min-width:721px){.vh-container,.vh-info-strip .vh-container{width:min(720px,92%)!important}}

/* v0.6.3: mobile "Öppettider" shortcut targets the footer details section. */
#husman-footer{scroll-margin-top:24px}

/* ============================================================
   v0.7 lunch page fidelity to approved lunch-desktop.png
   ============================================================ */
.vh-lunch{padding-top:38px!important;padding-bottom:30px!important}
.vh-week-switch{margin-bottom:25px!important}
.vh-section-heading--split{display:grid!important;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr)!important;align-items:start!important;gap:36px!important;margin-bottom:22px!important}
.vh-lunch-actions{display:flex;flex-direction:column;align-items:stretch;min-width:0}
.vh-pdf-button{align-self:flex-end;margin:0 0 13px!important;min-width:255px;white-space:nowrap}
.vh-lunch-meta{display:flex!important;flex-direction:column!important;gap:9px!important;border-left:1px solid #d9d4ca;padding:0 0 1px 22px!important;font:400 14px/1.3 Georgia,'Times New Roman',serif!important}
.vh-lunch-meta__row{display:flex;align-items:flex-start;gap:12px;min-width:0;color:#4d4a45}
.vh-lunch-meta__row svg{flex:0 0 20px;width:20px!important;height:20px!important;margin-top:0;color:var(--vh-green);fill:none;stroke:currentColor;stroke-width:1.45}
.vh-lunch-meta__row span{display:block;min-width:0;color:#4d4a45;white-space:normal}
.vh-lunch-title>p:last-child{font-size:15px!important;line-height:1.38!important;margin:0!important}
.vh-lunch-days{margin-top:0}
.vh-lunch-day{min-height:73px!important}

/* Approved drink composition: three generous visual columns with subgroups. */
.vh-drinks{padding:18px 0 31px!important}
.vh-drinks .vh-container{border-top:1px solid var(--vh-line)!important;padding-top:17px!important}
.vh-drinks-heading{gap:21px!important;margin-bottom:19px!important;align-items:baseline!important}
.vh-drinks-heading h2{font-size:40px!important;line-height:1!important}
.vh-drinks-heading p{font-size:14px!important;line-height:1.35!important}
.vh-drink-grid--approved{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0!important}
.vh-drink-grid--approved>section{padding:0 28px!important;border-right:1px solid #dfdbd2!important;min-width:0}
.vh-drink-grid--approved>section:first-child{padding-left:0!important}
.vh-drink-grid--approved>section:last-child{padding-right:0!important;border-right:0!important}
.vh-drink-grid--approved h3{margin:0 0 11px!important}
.vh-drink-subgroup{margin-top:18px}
.vh-drink-subgroup:first-child{margin-top:0}
.vh-drink-item{font-size:13px!important;line-height:1.38!important;padding:2.5px 0!important}

/* Footer social links – positioned under the map, without removing the map. */
.vh-footer-map-meta{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-top:7px}
.vh-footer-socials{display:flex;align-items:center;gap:8px}
.vh-footer-socials a{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;border-radius:50%;background:#111;color:#fff;text-decoration:none}
.vh-footer-socials svg{width:15px;height:15px;color:#fff;stroke:currentColor;fill:none;stroke-width:1.7}
.vh-footer-socials .vh-social-fill{fill:currentColor;stroke:none}
.vh-footer-socials .vh-social-dot{fill:currentColor;stroke:none}
.vh-footer-map-meta .vh-footer-script{margin:0!important;width:108px!important}

@media(max-width:900px){
  .vh-section-heading--split{grid-template-columns:1fr!important;gap:17px!important}
  .vh-lunch-actions{display:grid;grid-template-columns:1fr;gap:12px}
  .vh-pdf-button{align-self:auto;justify-self:start;margin:0!important;min-width:0}
  .vh-lunch-meta{padding-left:16px!important}
  .vh-drink-grid--approved{grid-template-columns:1fr 1fr!important}
  .vh-drink-grid--approved>section:nth-child(2){border-right:0!important;padding-right:0!important}
  .vh-drink-grid--approved>section:nth-child(3){grid-column:1/-1;border-right:0!important;border-top:1px solid #e4dfd6;padding:18px 0 0!important;margin-top:18px}
  .vh-drink-grid--approved>section:nth-child(3){display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
}
@media(max-width:600px){
  .vh-lunch{padding-top:25px!important}
  .vh-lunch-meta{font-size:12px!important;gap:7px!important}
  .vh-lunch-meta__row{gap:9px}
  .vh-pdf-button{width:100%;justify-content:center}
  .vh-drink-grid--approved{grid-template-columns:1fr!important}
  .vh-drink-grid--approved>section,.vh-drink-grid--approved>section:nth-child(2),.vh-drink-grid--approved>section:nth-child(3){grid-column:auto!important;display:block!important;border-right:0!important;border-bottom:1px solid #e4dfd6!important;padding:12px 0!important;margin:0!important}
  .vh-drink-grid--approved>section:last-child{border-bottom:0!important}
  .vh-drink-subgroup{margin-top:15px}
  .vh-footer-map-meta{display:none}
}

/* ============================================================
   v0.7.1 lunch desktop fidelity / vertical rhythm
   ============================================================ */
@media (min-width:901px){
  .vh-lunch>.vh-container,.vh-drinks>.vh-container{width:min(var(--vh-shell),91.2%)!important}
}
.vh-lunch{padding-top:40px!important;padding-bottom:10px!important}
.vh-week-switch{gap:12px!important;margin-bottom:31px!important}
.vh-week-switch>*{min-height:44px;padding:11px 18px!important;font-size:15px!important;display:inline-flex;align-items:center}
.vh-section-heading--split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:32px!important;margin-bottom:27px!important}
.vh-lunch-title h2{font-size:46px!important;line-height:1!important;margin-bottom:9px!important}
.vh-lunch-title>p:last-child{font-size:16px!important;line-height:1.42!important}
.vh-lunch-actions{padding-top:0}
.vh-pdf-button{min-width:285px;min-height:44px!important;padding:10px 17px!important;font-size:14px!important;margin-bottom:14px!important}
.vh-lunch-meta{gap:10px!important;padding-left:26px!important;font-size:15px!important;line-height:1.32!important;align-items:flex-start!important}
.vh-lunch-meta__row{gap:12px!important}
.vh-lunch-meta__row svg{width:21px!important;height:21px!important;flex-basis:21px!important}

/* When the week uses stable labels (e.g. Kött/Fisk/Pasta), show them once
   as proper column headers like the approved desktop design. */
.vh-lunch-column-headings{display:grid;grid-template-columns:136px minmax(0,1fr);align-items:end;margin-top:1px}
.vh-lunch-column-headings__day{height:38px;border-bottom:1px solid #dfdbd2}
.vh-lunch-column-headings__labels{display:grid;grid-template-columns:repeat(var(--vh-lunch-col-count),minmax(0,1fr));height:38px}
.vh-lunch-column-headings__labels>span{position:relative;padding:0 24px 11px;border-bottom:1px solid #dfdbd2;font:700 10px/1.2 Arial,Helvetica,sans-serif;letter-spacing:.25em;text-transform:uppercase;color:var(--vh-green)}
.vh-lunch-column-headings__labels>span:not(:last-child){border-right:1px solid #dfdbd2}
.vh-lunch-column-headings__labels>span:after{content:"";position:absolute;left:24px;bottom:-1px;width:34px;height:2px;background:var(--vh-green)}
.vh-lunch-days.has-column-headings{border-top:0!important}

.vh-lunch-day{grid-template-columns:136px 1fr!important;min-height:84px!important;padding:16px 0!important}
.vh-lunch-day__day{padding-right:21px!important}
.vh-lunch-day__day strong{font-size:19px!important;line-height:1.15!important}
.vh-lunch-day__day small{font-size:13px!important;margin-top:4px!important}
.vh-lunch-day__dishes{grid-template-columns:repeat(var(--vh-day-dish-count,1),minmax(0,1fr))!important}
.vh-lunch-dish{padding:0 24px!important}
.vh-lunch-dish__label{font-size:10px!important;margin-bottom:8px!important}
.vh-lunch-dish strong{font-size:15.5px!important;line-height:1.28!important}
.vh-lunch-dish p{font-size:14px!important;line-height:1.34!important;margin-top:4px!important}
.vh-lunch-day__closed{padding:12px 24px!important;font-size:14px!important;line-height:1.35!important}

/* The drinks block begins much closer to Friday in the approved master,
   but keeps generous internal breathing room. */
.vh-drinks{padding-top:0!important;padding-bottom:34px!important}
.vh-drinks .vh-container{border-top:0!important;padding-top:18px!important}
.vh-drinks-heading{margin-bottom:20px!important}
.vh-drinks-heading h2{font-size:41px!important}
.vh-drinks-heading p{font-size:14.5px!important}
.vh-drink-grid--approved>section{padding-left:30px!important;padding-right:30px!important}
.vh-drink-grid--approved>section:first-child{padding-left:0!important}
.vh-drink-grid--approved>section:last-child{padding-right:0!important}
.vh-drink-grid--approved h3{font-size:10px!important;margin-bottom:12px!important}
.vh-drink-subgroup{margin-top:20px!important}
.vh-drink-item{font-size:13.5px!important;line-height:1.42!important;padding:2.5px 0!important}

@media(max-width:900px){
  .vh-lunch{padding-top:31px!important;padding-bottom:10px!important}
  .vh-week-switch{margin-bottom:24px!important}
  .vh-section-heading--split{gap:18px!important}
  .vh-lunch-title h2{font-size:40px!important}
  .vh-lunch-column-headings{grid-template-columns:120px minmax(0,1fr)}
  .vh-lunch-day{grid-template-columns:120px 1fr!important}
  .vh-lunch-day__dishes{grid-template-columns:repeat(var(--vh-day-dish-count,1),minmax(0,1fr))!important}
}
@media(max-width:600px){
  .vh-lunch{padding-top:25px!important}
  .vh-week-switch>*{font-size:11px!important;min-height:38px;padding:8px 10px!important}
  .vh-lunch-title h2{font-size:34px!important}
  .vh-lunch-column-headings{display:none!important}
  .vh-lunch-days.has-column-headings{border-top:1px solid #dfdbd2!important}
  .vh-lunch-day{grid-template-columns:1fr!important;min-height:0!important;padding:14px 0!important}
  .vh-lunch-day__dishes{grid-template-columns:1fr!important}
  .vh-lunch-dish{padding:8px 0!important}
  .vh-lunch-dish__label{display:block!important}
  .vh-drinks{padding-bottom:26px!important}
}
.vh-lunch-dish__label--redundant{display:none!important}
@media(max-width:600px){.vh-lunch-dish__label--redundant{display:block!important}}

/* v0.7.2 detail corrections */
.vh-drinks .vh-drink-item strong{font-weight:400!important}

/* ============================================================
   v0.7.3 responsive lunch layout
   ============================================================ */
/* Tablet: preserve the desktop/table-like lunch reading order but keep everything within the canvas. */
@media(max-width:900px) and (min-width:601px){
  .vh-lunch>.vh-container,.vh-drinks>.vh-container{width:min(720px,92%)!important}
  .vh-section-heading--split{
    grid-template-columns:minmax(0,1fr) minmax(300px,.95fr)!important;
    gap:22px!important;
  }
  .vh-pdf-button{min-width:260px!important;max-width:100%!important}
  .vh-lunch-meta{padding-left:20px!important;font-size:13.5px!important}
  .vh-lunch-title h2{font-size:39px!important}
  .vh-lunch-column-headings{grid-template-columns:112px minmax(0,1fr)!important}
  .vh-lunch-day{grid-template-columns:112px 1fr!important}
  .vh-lunch-dish{padding-left:17px!important;padding-right:17px!important}
}

/* Smartphone: stack title, PDF and service information cleanly.
   No horizontal overflow from the desktop split heading. */
@media(max-width:600px){
  .vh-lunch>.vh-container,.vh-drinks>.vh-container{width:calc(100% - 32px)!important;max-width:442px!important}
  .vh-week-switch{display:flex!important;max-width:100%!important;overflow-x:auto!important;gap:8px!important;padding-bottom:2px!important}
  .vh-week-switch>*{flex:0 0 auto!important}
  .vh-section-heading--split{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:16px!important;
    margin-bottom:22px!important;
  }
  .vh-lunch-title{min-width:0!important}
  .vh-lunch-title h2{font-size:35px!important;line-height:.98!important;margin-bottom:8px!important}
  .vh-lunch-title .vh-eyebrow{line-height:1.45!important;white-space:normal!important}
  .vh-lunch-title>p:last-child{font-size:14px!important;line-height:1.38!important;max-width:330px!important}
  .vh-lunch-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    gap:12px!important;
    padding:0!important;
  }
  .vh-pdf-button{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    justify-self:stretch!important;
    white-space:normal!important;
    text-align:center!important;
    margin:0!important;
    padding:10px 12px!important;
    font-size:12px!important;
  }
  .vh-lunch-meta{
    width:100%!important;
    border-left:0!important;
    border-top:1px solid #ddd8ce!important;
    padding:13px 0 0!important;
    gap:8px!important;
    font-size:12.5px!important;
  }
  .vh-lunch-meta__row{gap:9px!important}
  .vh-lunch-meta__row svg{width:18px!important;height:18px!important;flex-basis:18px!important}

  .vh-lunch-column-headings{display:none!important}
  .vh-lunch-day{
    grid-template-columns:1fr!important;
    min-height:0!important;
    padding:14px 0!important;
  }
  .vh-lunch-day__day{
    border-right:0!important;
    border-bottom:1px solid #e6e1d7!important;
    padding:0 0 9px!important;
    margin:0 0 5px!important;
  }
  .vh-lunch-day__day strong{font-size:18px!important}
  .vh-lunch-day__day small{font-size:12px!important}
  .vh-lunch-day__dishes{grid-template-columns:1fr!important}
  .vh-lunch-dish{padding:9px 0!important;border-right:0!important}
  .vh-lunch-dish:nth-child(n+2){border-top:1px solid #ece7dd!important;margin-top:2px!important;padding-top:11px!important}
  .vh-lunch-dish__label{display:block!important;font-size:9px!important;margin-bottom:7px!important}
  .vh-lunch-dish strong{font-size:14.5px!important}
  .vh-lunch-dish p{font-size:13px!important}
  .vh-lunch-day__closed{padding:10px 0 5px!important;font-size:13px!important}

  /* Drinks become one calm vertical list instead of a compressed table. */
  .vh-drinks{padding-bottom:28px!important}
  .vh-drinks .vh-container{padding-top:17px!important}
  .vh-drinks-heading{display:block!important;margin-bottom:14px!important}
  .vh-drinks-heading h2{font-size:34px!important;margin-bottom:5px!important}
  .vh-drinks-heading p{font-size:13px!important;line-height:1.35!important}
  .vh-drink-grid--approved{grid-template-columns:1fr!important}
  .vh-drink-grid--approved>section,
  .vh-drink-grid--approved>section:nth-child(2),
  .vh-drink-grid--approved>section:nth-child(3){
    display:block!important;
    grid-column:auto!important;
    border-right:0!important;
    border-bottom:1px solid #e4dfd6!important;
    border-top:0!important;
    padding:15px 0!important;
    margin:0!important;
  }
  .vh-drink-grid--approved>section:first-child{padding-top:0!important}
  .vh-drink-grid--approved>section:last-child{border-bottom:0!important;padding-bottom:0!important}
  .vh-drink-item{font-size:13px!important;line-height:1.4!important}
}

/* ============================================================
   v0.11 customer menu import + standard lunch + campaigns
   ============================================================ */
.vh-menu-section__note{margin:0 0 14px!important;font:600 10px/1.4 Arial,Helvetica,sans-serif!important;letter-spacing:.12em;text-transform:uppercase;color:#6b665f!important;max-width:320px}

.vh-lunch--standard{padding-top:48px!important;padding-bottom:38px!important}
.vh-standard-lunch-heading{margin-bottom:25px!important}
.vh-standard-lunch-card{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);border-top:1px solid var(--vh-line);border-bottom:1px solid var(--vh-line);background:#fbfaf7}
.vh-standard-lunch-card__main{padding:31px 36px 30px 0}
.vh-standard-lunch-card__main h3{font:700 30px/1.08 Georgia,'Times New Roman',serif;margin:0 0 11px;color:#171717;max-width:620px}
.vh-standard-lunch-card__main>p:last-child{font:400 15px/1.42 Georgia,'Times New Roman',serif;margin:0;color:#514d47}
.vh-standard-lunch-card__addons{border-left:1px solid var(--vh-line);padding:27px 0 27px 34px;display:flex;flex-direction:column;justify-content:center;gap:12px}
.vh-standard-lunch-card__addons>div{display:flex;justify-content:space-between;gap:20px;align-items:baseline;font:400 14px/1.35 Georgia,'Times New Roman',serif}
.vh-standard-lunch-card__addons strong{font-weight:400;white-space:nowrap}

.vh-campaigns{background:#f4f1e9;padding:0;border-top:1px solid var(--vh-line);border-bottom:1px solid var(--vh-line)}
.vh-campaigns>.vh-container{width:min(1165px,88.3%)!important;margin-inline:auto}
.vh-campaign{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:0;min-height:250px}
.vh-campaign__main{padding:42px 58px 40px 0}
.vh-campaign__secondary{padding:42px 0 40px 48px;border-left:1px solid var(--vh-line);display:flex;flex-direction:column;justify-content:center}
.vh-campaign .vh-eyebrow{margin:0 0 12px;font:700 10px/1.2 Arial,Helvetica,sans-serif;letter-spacing:.28em;color:var(--vh-green);text-transform:uppercase}
.vh-campaign h2{font:700 43px/1.02 Georgia,'Times New Roman',serif;letter-spacing:-.03em;margin:0 0 13px;color:var(--vh-ink)}
.vh-campaign__intro{font:400 15px/1.42 Georgia,'Times New Roman',serif;color:#4c4943;margin:0 0 20px;max-width:620px}
.vh-campaign__secondary .vh-kicker{margin:0 0 8px!important}
.vh-campaign__secondary h3{font:700 24px/1.12 Georgia,'Times New Roman',serif;margin:0 0 17px;color:var(--vh-ink)}
.vh-campaign__prices{display:grid;gap:7px;max-width:520px}
.vh-campaign__prices>div{display:flex;justify-content:space-between;gap:22px;align-items:baseline;border-bottom:1px solid rgba(217,212,202,.65);padding:0 0 7px;font:400 15px/1.35 Georgia,'Times New Roman',serif}
.vh-campaign__prices>div:last-child{border-bottom:0}
.vh-campaign__prices strong{font:700 18px/1 Georgia,'Times New Roman',serif;white-space:nowrap;color:var(--vh-ink)}
.vh-campaign__prices--secondary>div{font-size:14px}.vh-campaign__prices--secondary strong{font-size:16px}

.vh-home-lunch-standard{padding:13px 0 17px;border-top:1px solid var(--vh-line)}
.vh-home-lunch-standard h2{font:700 28px/1.02 Georgia,'Times New Roman',serif;margin:0 0 8px;color:var(--vh-ink)}
.vh-home-lunch-standard p{font:400 14px/1.45 Georgia,'Times New Roman',serif;margin:4px 0;color:#514d47}
.vh-home-lunch-standard strong{font-weight:700;color:var(--vh-ink)}

@media(max-width:900px){
  .vh-standard-lunch-card{grid-template-columns:1fr .72fr}
  .vh-standard-lunch-card__main{padding-right:26px}
  .vh-standard-lunch-card__addons{padding-left:26px}
  .vh-campaigns>.vh-container{width:min(720px,92%)!important}
  .vh-campaign{grid-template-columns:1.05fr .95fr;min-height:230px}
  .vh-campaign__main{padding:34px 34px 33px 0}
  .vh-campaign__secondary{padding:34px 0 33px 30px}
  .vh-campaign h2{font-size:37px}
  .vh-campaign__intro{font-size:14px}
}

@media(max-width:600px){
  .vh-lunch--standard{padding-top:31px!important;padding-bottom:28px!important}
  .vh-standard-lunch-heading{margin-bottom:18px!important}
  .vh-standard-lunch-card{display:block}
  .vh-standard-lunch-card__main{padding:23px 0 20px}
  .vh-standard-lunch-card__main h3{font-size:25px;line-height:1.08}
  .vh-standard-lunch-card__main>p:last-child{font-size:15px;line-height:1.45}
  .vh-standard-lunch-card__addons{border-left:0;border-top:1px solid var(--vh-line);padding:18px 0 21px;gap:10px}
  .vh-standard-lunch-card__addons>div{font-size:15px}

  .vh-campaigns>.vh-container{width:calc(100% - 32px)!important;max-width:442px!important}
  .vh-campaign{display:block;min-height:0}
  .vh-campaign__main{padding:30px 0 25px}
  .vh-campaign__secondary{padding:24px 0 30px;border-left:0;border-top:1px solid var(--vh-line)}
  .vh-campaign h2{font-size:34px;line-height:1.02;margin-bottom:12px}
  .vh-campaign__intro{font-size:15px;line-height:1.46;margin-bottom:18px}
  .vh-campaign__secondary h3{font-size:22px;line-height:1.16}
  .vh-campaign__prices>div{font-size:15px;line-height:1.4;padding-bottom:8px}
  .vh-campaign__prices strong{font-size:17px}
  .vh-campaign__prices--secondary>div{font-size:14.5px}

  /* Readability pass across all mobile pages. */
  .vh-home-lunch-teaser .vh-section-kicker span{font-size:10px!important;letter-spacing:.22em!important}
  .vh-home-lunch-teaser .vh-section-kicker a{font-size:13px!important}
  .vh-home-lunch-standard h2{font-size:30px!important;margin-bottom:9px!important}
  .vh-home-lunch-standard p{font-size:15px!important;line-height:1.46!important}
  .vh-mobile-menu-row{min-height:84px!important;grid-template-columns:33% 1fr auto!important}
  .vh-mobile-menu-row__copy{padding:12px 12px!important}
  .vh-mobile-menu-row strong{font-size:16px!important;line-height:1.2!important}
  .vh-mobile-menu-row p{font-size:13.5px!important;line-height:1.4!important;margin-top:4px!important}
  .vh-mobile-menu-row b{font-size:14px!important}
  .vh-home-lunch-empty{font-size:14px!important;line-height:1.45!important}

  .vh-menu-section__note{font-size:10px!important;line-height:1.45!important;margin-bottom:15px!important}
  .vh-menu-item strong{font-size:15.5px!important;line-height:1.3!important}
  .vh-menu-item p{font-size:13.5px!important;line-height:1.42!important}
  .vh-menu-item>span{font-size:14px!important}
  .vh-classics-heading .vh-lead{font-size:15px!important;line-height:1.45!important}
}

/* v0.11 featured-grid-balance */
@media(min-width:601px){.vh-featured-classics .vh-card-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important}}

/* ============================================================
   v0.11.1 responsive QA + unpublished lunch state
   ============================================================ */

/* An unpublished week is a status message, not a hero-like promotion. */
.vh-standard-lunch-card--empty{
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
}
.vh-standard-lunch-card--empty .vh-standard-lunch-card__main{
  padding-top:23px;
  padding-bottom:23px;
}
.vh-standard-lunch-card--empty .vh-standard-lunch-card__main h3{
  font-size:23px;
  line-height:1.15;
  max-width:680px;
  margin-bottom:8px;
}
.vh-standard-lunch-card--empty .vh-standard-lunch-card__addons{
  padding-top:21px;
  padding-bottom:21px;
}
.vh-home-lunch-standard p:last-child{
  max-width:620px;
}

/* Tablet: keep the approved layout but increase reading comfort. */
@media(max-width:900px) and (min-width:601px){
  .vh-standard-lunch-card--empty{
    grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr);
  }
  .vh-standard-lunch-card--empty .vh-standard-lunch-card__main{
    padding:22px 25px 22px 0;
  }
  .vh-standard-lunch-card--empty .vh-standard-lunch-card__main h3{
    font-size:22px;
    line-height:1.16;
  }
  .vh-standard-lunch-card--empty .vh-standard-lunch-card__addons{
    padding:20px 0 20px 24px;
  }
  .vh-standard-lunch-card--empty .vh-standard-lunch-card__addons>div{
    font-size:13.5px;
  }

  .vh-classics .vh-lead{font-size:15px!important;line-height:1.48!important}
  .vh-menu-section h3{font-size:10.5px!important;line-height:1.3!important}
  .vh-menu-section__note{font-size:10.5px!important;line-height:1.5!important}
  .vh-menu-item{padding:6.5px 0!important;gap:13px!important}
  .vh-menu-item strong{font-size:14.5px!important;line-height:1.26!important}
  .vh-menu-item p{font-size:12.5px!important;line-height:1.4!important;margin-top:3px!important}
  .vh-menu-item>span{font-size:13.5px!important;line-height:1.3!important}

  .vh-drinks-heading p{font-size:14px!important;line-height:1.45!important}
  .vh-drink-item{font-size:13.5px!important;line-height:1.45!important;padding:3px 0!important}

  .vh-campaign__intro{font-size:15px!important;line-height:1.46!important}
  .vh-campaign__prices>div{font-size:15px!important;line-height:1.4!important}
}

/* Phone: calm vertical rhythm and minimum readable type sizes. */
@media(max-width:600px){
  .vh-lunch--standard{padding-top:29px!important;padding-bottom:25px!important}
  .vh-standard-lunch-heading{margin-bottom:15px!important}
  .vh-standard-lunch-card--empty{
    display:block!important;
  }
  .vh-standard-lunch-card--empty .vh-standard-lunch-card__main{
    padding:20px 0 17px!important;
  }
  .vh-standard-lunch-card--empty .vh-standard-lunch-card__main .vh-kicker{
    font-size:9px!important;
    margin-bottom:8px!important;
  }
  .vh-standard-lunch-card--empty .vh-standard-lunch-card__main h3{
    font-size:20px!important;
    line-height:1.2!important;
    margin-bottom:7px!important;
  }
  .vh-standard-lunch-card--empty .vh-standard-lunch-card__main>p:last-child{
    font-size:14.5px!important;
    line-height:1.48!important;
  }
  .vh-standard-lunch-card--empty .vh-standard-lunch-card__addons{
    padding:16px 0 18px!important;
    gap:9px!important;
  }
  .vh-standard-lunch-card--empty .vh-standard-lunch-card__addons>div{
    font-size:14.5px!important;
    line-height:1.42!important;
  }

  .vh-lunch-title h2{font-size:36px!important;line-height:1.02!important}
  .vh-lunch-title>p:last-child{font-size:15.5px!important;line-height:1.48!important}
  .vh-lunch-meta{font-size:14px!important;line-height:1.42!important;padding-top:14px!important}
  .vh-lunch-meta__row{gap:10px!important}
  .vh-lunch-meta__row svg{width:19px!important;height:19px!important;flex-basis:19px!important}

  .vh-drinks{padding-top:6px!important;padding-bottom:30px!important}
  .vh-drinks .vh-container{padding-top:19px!important}
  .vh-drinks-heading{margin-bottom:15px!important}
  .vh-drinks-heading h2{font-size:35px!important;line-height:1.02!important}
  .vh-drinks-heading p{font-size:14.5px!important;line-height:1.46!important}
  .vh-drink-grid--approved>section,
  .vh-drink-grid--approved>section:nth-child(2),
  .vh-drink-grid--approved>section:nth-child(3){
    padding:17px 0!important;
  }
  .vh-drink-grid--approved h3{font-size:9.5px!important;margin-bottom:12px!important}
  .vh-drink-item{font-size:14.5px!important;line-height:1.5!important;padding:3.5px 0!important}

  .vh-classics{padding-top:27px!important}
  .vh-classics .vh-lead{font-size:15.5px!important;line-height:1.5!important}
  .vh-menu-section{padding-top:18px!important;padding-bottom:15px!important}
  .vh-menu-section h3{font-size:10.5px!important}
  .vh-menu-section__note{font-size:10.5px!important;line-height:1.5!important}
  .vh-menu-item{padding:8.5px 0!important}
  .vh-menu-item strong{font-size:16px!important;line-height:1.3!important}
  .vh-menu-item p{font-size:14px!important;line-height:1.45!important}
  .vh-menu-item>span{font-size:14px!important;line-height:1.35!important}

  .vh-home-lunch-standard{padding:18px 0 21px!important}
  .vh-home-lunch-standard h2{font-size:31px!important;line-height:1.05!important}
  .vh-home-lunch-standard p{font-size:15.5px!important;line-height:1.5!important}

  .vh-campaign__main{padding-top:31px!important;padding-bottom:27px!important}
  .vh-campaign__secondary{padding-top:25px!important;padding-bottom:31px!important}
  .vh-campaign h2{font-size:35px!important}
  .vh-campaign__intro{font-size:15.5px!important;line-height:1.5!important}
  .vh-campaign__secondary h3{font-size:23px!important;line-height:1.18!important}
  .vh-campaign__prices>div,
  .vh-campaign__prices--secondary>div{font-size:15px!important;line-height:1.45!important}
}


/* ============================================================
   v0.11.2 readability + operations controls
   ============================================================ */
/* Lunch heading: metadata begins on the same visual line as “Dagens lunch”. */
.vh-lunch-heading-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(300px,.72fr)!important;
  grid-template-areas:"title meta"!important;
  column-gap:46px!important;
  row-gap:16px!important;
  align-items:start!important;
  margin-bottom:26px!important;
}
.vh-lunch-heading-grid--published{
  grid-template-columns:minmax(0,1fr) minmax(300px,.72fr) auto!important;
  grid-template-areas:"title meta pdf"!important;
  column-gap:32px!important;
}
.vh-lunch-heading-grid .vh-lunch-title{grid-area:title;min-width:0}
.vh-lunch-heading-grid .vh-lunch-heading-meta{grid-area:meta;padding-top:21px;min-width:0}
.vh-lunch-heading-grid .vh-lunch-heading-pdf{grid-area:pdf;align-self:start;margin:0!important}
.vh-lunch-heading-grid .vh-lunch-meta{padding:0 0 1px 24px!important}

/* The unpublished menu card must have visible inner margins on both sides. */
.vh-standard-lunch-card__main{padding-left:30px!important;padding-right:30px!important}
.vh-standard-lunch-card__addons{padding-left:30px!important;padding-right:30px!important}

/* Homepage classics can intentionally be shown without temporary photography. */
.vh-featured-classics .vh-food-card.is-image-missing{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-content:center;
  min-height:158px;
  border-top:1px solid var(--vh-line);
  background:#fbfaf7;
}
.vh-featured-classics .vh-food-card.is-image-missing .vh-food-card__body{align-self:center;min-height:0!important;padding:22px 18px!important}
.vh-featured-classics .vh-food-card.is-image-missing .vh-card-price{align-self:center;padding:18px!important}

/* Happy Hour is the heading; its time window is supporting copy. */
.vh-campaign__secondary-title{font:700 30px/1.05 Georgia,'Times New Roman',serif!important;margin:0 0 7px!important;color:var(--vh-ink)!important}
.vh-campaign__secondary-intro{font:400 15px/1.4 Georgia,'Times New Roman',serif!important;color:#4c4943!important;margin:0 0 18px!important}

/* Third-party map does not load before the user has made a cookie choice. */
.vh-external-media{position:relative}
.vh-external-media iframe:not([src]){visibility:hidden}
.vh-external-media__placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;text-align:center;background:#ebe8e0;padding:24px;color:#4b4842}
.vh-external-media__placeholder[hidden]{display:none!important}
.vh-external-media__placeholder p{margin:0!important;font:400 14px/1.45 Georgia,'Times New Roman',serif!important;max-width:300px}

@media(max-width:900px) and (min-width:601px){
  .vh-lunch-heading-grid,
  .vh-lunch-heading-grid--published{
    grid-template-columns:minmax(0,1fr) minmax(270px,.86fr)!important;
    grid-template-areas:"title meta" "pdf pdf"!important;
    column-gap:28px!important;
    row-gap:15px!important;
  }
  .vh-lunch-heading-grid .vh-lunch-heading-meta{padding-top:21px!important}
  .vh-lunch-heading-grid .vh-lunch-heading-pdf{justify-self:flex-start!important}
  .vh-standard-lunch-card__main{padding-left:24px!important;padding-right:24px!important}
  .vh-standard-lunch-card__addons{padding-left:24px!important;padding-right:24px!important}
  .vh-campaign__secondary-title{font-size:28px!important}
  .vh-campaign__secondary-intro{font-size:15px!important}
}

@media(max-width:600px){
  .vh-lunch-heading-grid,
  .vh-lunch-heading-grid--published{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-areas:"title" "meta" "pdf"!important;
    gap:14px!important;
  }
  .vh-lunch-heading-grid .vh-lunch-heading-meta{padding-top:0!important}
  .vh-lunch-heading-grid .vh-lunch-heading-pdf{width:100%!important;white-space:normal!important;text-align:center!important}
  .vh-standard-lunch-card__main{padding:20px 16px 18px!important}
  .vh-standard-lunch-card__addons{padding:17px 16px 19px!important}
  .vh-featured-classics .vh-food-card.is-image-missing{min-height:96px;grid-template-columns:minmax(0,1fr) auto!important}
  .vh-featured-classics .vh-food-card.is-image-missing .vh-food-card__body{padding:15px!important}
  .vh-featured-classics .vh-food-card.is-image-missing .vh-card-price{padding:15px 13px!important}
  .vh-campaign__secondary-title{font-size:27px!important;margin-bottom:7px!important}
  .vh-campaign__secondary-intro{font-size:15.5px!important;line-height:1.45!important;margin-bottom:18px!important}
}

/* ============================================================
   v0.11.3 unpublished-week restoration + phone readability
   ============================================================ */
.vh-unpublished-intro{
  border-top:1px solid var(--vh-line);
  padding:22px 0 18px;
}
.vh-unpublished-intro .vh-kicker{margin:0 0 8px!important}
.vh-unpublished-intro h3{
  margin:0 0 7px;
  font:700 24px/1.16 Georgia,'Times New Roman',serif;
  color:var(--vh-ink);
}
.vh-unpublished-intro>p:last-child{
  margin:0!important;
  font:400 14.5px/1.45 Georgia,'Times New Roman',serif!important;
  color:#5a554f!important;
}
.vh-lunch-days--unpublished{border-top:1px solid #dfdbd2!important}
.vh-lunch-days--unpublished .vh-lunch-day__closed{
  align-self:center;
  padding-top:0!important;
  padding-bottom:0!important;
}
.vh-standard-lunch-addons{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  border-top:1px solid #dfdbd2;
  border-bottom:1px solid #dfdbd2;
  margin-top:22px;
}
.vh-standard-lunch-addons>div{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:15px 22px;
  border-right:1px solid #dfdbd2;
  font:400 14px/1.35 Georgia,'Times New Roman',serif;
}
.vh-standard-lunch-addons>div:first-child{padding-left:0}
.vh-standard-lunch-addons>div:last-child{border-right:0;padding-right:0}
.vh-standard-lunch-addons>div span:last-child{white-space:nowrap}

/* Homepage unpublished week: restore the day-by-day rhythm from the approved lunch UI. */
.vh-home-lunch-week{
  margin-top:15px;
  border-top:1px solid #ded9cf;
}
.vh-home-lunch-week__row{
  display:grid;
  grid-template-columns:116px minmax(0,1fr);
  gap:18px;
  align-items:center;
  min-height:54px;
  border-bottom:1px solid #ded9cf;
  padding:9px 0;
}
.vh-home-lunch-week__row>span{display:block}
.vh-home-lunch-week__row strong{
  display:block;
  font:700 15px/1.18 Georgia,'Times New Roman',serif;
  color:var(--vh-ink);
}
.vh-home-lunch-week__row small{
  display:block;
  margin-top:2px;
  font:400 11.5px/1.2 Georgia,'Times New Roman',serif;
  color:#6a655e;
}
.vh-home-lunch-week__row em{
  font:italic 13px/1.35 Georgia,'Times New Roman',serif;
  color:#777169;
}

@media(max-width:900px) and (min-width:601px){
  .vh-unpublished-intro{padding:21px 0 17px}
  .vh-unpublished-intro h3{font-size:23px}
  .vh-standard-lunch-addons>div{padding:14px 16px;font-size:13.5px}
}

@media(max-width:600px){
  /* Heading/meta must read as one calm vertical sequence on phone. */
  .vh-lunch-heading-grid,
  .vh-lunch-heading-grid--published{
    grid-template-areas:"title" "meta" "pdf"!important;
    gap:0!important;
    margin-bottom:22px!important;
  }
  .vh-lunch-heading-grid .vh-lunch-title{padding-bottom:16px!important}
  .vh-lunch-heading-grid .vh-lunch-heading-meta{
    padding:15px 0 0!important;
    border-top:1px solid #ded9cf!important;
  }
  .vh-lunch-heading-grid .vh-lunch-meta{
    border-top:0!important;
    padding:0!important;
    font-size:14.5px!important;
    line-height:1.45!important;
  }
  .vh-lunch-heading-grid .vh-lunch-heading-pdf{margin-top:16px!important}

  .vh-unpublished-intro{
    padding:22px 0 16px!important;
    margin-top:0!important;
  }
  .vh-unpublished-intro .vh-kicker{font-size:9.5px!important;margin-bottom:9px!important}
  .vh-unpublished-intro h3{font-size:22px!important;line-height:1.18!important;margin-bottom:8px!important}
  .vh-unpublished-intro>p:last-child{font-size:15px!important;line-height:1.5!important}

  .vh-lunch-days--unpublished .vh-lunch-day{
    padding:16px 0!important;
  }
  .vh-lunch-days--unpublished .vh-lunch-day__day{
    padding-bottom:9px!important;
    margin-bottom:9px!important;
  }
  .vh-lunch-days--unpublished .vh-lunch-day__day strong{font-size:19px!important}
  .vh-lunch-days--unpublished .vh-lunch-day__day small{font-size:12.5px!important}
  .vh-lunch-days--unpublished .vh-lunch-day__closed{
    padding:0!important;
    font-size:14.5px!important;
    line-height:1.45!important;
  }

  .vh-standard-lunch-addons{
    grid-template-columns:1fr!important;
    margin-top:20px!important;
  }
  .vh-standard-lunch-addons>div,
  .vh-standard-lunch-addons>div:first-child,
  .vh-standard-lunch-addons>div:last-child{
    border-right:0!important;
    border-bottom:1px solid #e5e0d6;
    padding:12px 0!important;
    font-size:14.5px!important;
    line-height:1.45!important;
  }
  .vh-standard-lunch-addons>div:last-child{border-bottom:0!important}

  .vh-home-lunch-standard{padding-top:20px!important}
  .vh-home-lunch-standard h2{font-size:32px!important;line-height:1.05!important;margin-bottom:8px!important}
  .vh-home-lunch-standard__meta,
  .vh-home-lunch-standard__status{font-size:15.5px!important;line-height:1.5!important}
  .vh-home-lunch-standard__status{margin-top:7px!important}
  .vh-home-lunch-week{margin-top:17px!important}
  .vh-home-lunch-week__row{
    grid-template-columns:96px minmax(0,1fr)!important;
    gap:14px!important;
    min-height:58px!important;
    padding:10px 0!important;
  }
  .vh-home-lunch-week__row strong{font-size:15.5px!important}
  .vh-home-lunch-week__row small{font-size:11.5px!important}
  .vh-home-lunch-week__row em{font-size:13.5px!important;line-height:1.4!important}
}

/* ============================================================
   v0.11.4 unpublished-week visual restoration
   ============================================================ */
/* No global "not published" warning: the weekday rows carry the state. */
.vh-lunch--standard .vh-week-switch--standard{
  margin-bottom:22px;
}
.vh-lunch--standard .vh-standard-lunch-heading{
  margin-bottom:8px!important;
}
.vh-lunch--standard .vh-lunch-days--unpublished{
  margin-top:0!important;
}
.vh-standard-lunch-categories-note{
  margin:17px 0 0!important;
  padding:0 0 17px;
  border-bottom:1px solid #dfdbd2;
  font:400 14px/1.45 Georgia,'Times New Roman',serif!important;
  color:#5a554f!important;
}
/* Keep the metadata starting visually with the Dagens lunch heading on desktop/tablet. */
.vh-lunch--standard .vh-lunch-heading-meta{
  padding-top:22px!important;
}
/* Homepage: once weekdays are shown, a second unpublished message is redundant. */
.vh-home-lunch-standard__status{display:none!important}

@media(max-width:900px) and (min-width:601px){
  .vh-lunch--standard .vh-week-switch--standard{margin-bottom:20px}
  .vh-lunch--standard .vh-standard-lunch-heading{margin-bottom:10px!important}
  .vh-lunch--standard .vh-lunch-heading-meta{padding-top:22px!important}
  .vh-standard-lunch-categories-note{font-size:14px!important;line-height:1.5!important}
}

@media(max-width:600px){
  .vh-lunch--standard .vh-week-switch--standard{margin-bottom:18px!important}
  .vh-lunch--standard .vh-standard-lunch-heading{margin-bottom:8px!important}
  .vh-lunch--standard .vh-lunch-heading-meta{
    padding-top:15px!important;
  }
  .vh-lunch--standard .vh-lunch-days--unpublished{
    margin-top:2px!important;
  }
  .vh-standard-lunch-categories-note{
    margin-top:16px!important;
    padding-bottom:16px!important;
    font-size:14.5px!important;
    line-height:1.5!important;
  }
  .vh-home-lunch-week{margin-top:14px!important}
}

/* ============================================================
   v0.11.5 lunch note / addons separator refinement
   The editable lunch note should read as supporting copy, not as a boxed row.
   ============================================================ */
.vh-standard-lunch-categories-note{
  border-bottom:0!important;
  padding-bottom:0!important;
}
.vh-lunch--standard .vh-standard-lunch-addons{
  border-top:0!important;
}
@media(max-width:600px){
  .vh-standard-lunch-categories-note{
    padding-bottom:0!important;
  }
}

/* ============================================================
   v0.12.6 draft-beer columns + lunch-only note
   ============================================================ */
.vh-draft-beer-table{display:grid;gap:0;margin-top:2px}
.vh-draft-beer-row{display:grid;grid-template-columns:minmax(0,1fr) 58px 58px;gap:12px;align-items:baseline;padding:3px 0;font:400 13.5px/1.42 Georgia,'Times New Roman',serif;color:var(--vh-ink)}
.vh-draft-beer-row>strong{font-weight:400;text-align:right;white-space:nowrap}
.vh-draft-beer-row--head{padding-top:0;padding-bottom:5px;border-bottom:0;font:700 9px/1.2 Arial,Helvetica,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--vh-green)}
.vh-draft-beer-row--head>strong{font-weight:700}
.vh-draft-beer-row--head>strong:first-child{text-align:left}
.vh-draft-beer-legacy{margin-top:7px;padding-top:6px;border-top:1px solid rgba(217,212,202,.5)}
.vh-lunch-addons-note{display:block;margin-top:8px;font:400 12px/1.4 Arial,Helvetica,sans-serif;color:#6a665f;font-style:italic}
.vh-standard-lunch-addons--published{margin-top:18px;padding-top:15px;border-top:1px solid var(--vh-line)!important}
@media(max-width:600px){
  .vh-draft-beer-row{grid-template-columns:minmax(0,1fr) 56px 56px;font-size:13px;gap:9px}
  .vh-standard-lunch-addons--published{margin-top:14px}
}

/* v0.14.13 — when Dagens lunch is disabled, WordPress may leave a navigation
   slot or inherited flex sizing behind even after the link itself is removed.
   Collapse every surviving desktop item back to intrinsic width so the menu
   remains visually identical to the normal header without a phantom gap. */
body.vhc-lunch-disabled .vh-main-nav .wp-block-navigation__container,
body.vhc-lunch-disabled ul.wp-block-navigation__container.vh-main-nav{
  display:flex!important;
  flex-wrap:nowrap!important;
  justify-content:center!important;
  align-items:center!important;
  gap:0!important;
  column-gap:0!important;
  row-gap:0!important;
}
body.vhc-lunch-disabled .vh-main-nav .wp-block-navigation__container > .wp-block-navigation-item,
body.vhc-lunch-disabled ul.wp-block-navigation__container.vh-main-nav > .wp-block-navigation-item{
  flex:0 0 auto!important;
  flex-grow:0!important;
  flex-shrink:0!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
}
body.vhc-lunch-disabled .vh-main-nav .wp-block-navigation__container > .wp-block-navigation-item:empty,
body.vhc-lunch-disabled .vh-main-nav .wp-block-navigation__container > .wp-block-navigation-item:not(:has(.wp-block-navigation-item__content)),
body.vhc-lunch-disabled ul.wp-block-navigation__container.vh-main-nav > .wp-block-navigation-item:empty,
body.vhc-lunch-disabled ul.wp-block-navigation__container.vh-main-nav > .wp-block-navigation-item:not(:has(.wp-block-navigation-item__content)){
  display:none!important;
}

/* v0.14.15: lunch information while the dedicated page and lunch listings are disabled.
 * Purely presentational: texts, price and serving hours are read from saved settings. */
.vh-lunch-promo{display:block!important;padding:27px 0!important;background:#f7f5ef;color:#173f36}
.vh-lunch-promo--classics{margin:0 0 4px;border-bottom:1px solid #d8d1c5}
.vh-lunch-promo__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:25px;padding:23px 30px;background:#fdfcf7;border:1px solid #d2c9b7;border-left:5px solid #255e50;border-radius:4px}
.vh-lunch-promo__copy{min-width:0}
.vh-lunch-promo__eyebrow{font:700 13px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.16em;color:#255e50;margin:0 0 8px}
.vh-lunch-promo__copy h2{font:700 clamp(26px,3vw,38px)/1.12 Georgia,'Times New Roman',serif;color:#143f39;margin:0 0 10px}
.vh-lunch-promo__extra{font:400 17px/1.55 Georgia,'Times New Roman',serif;color:#363a32;margin:0;max-width:720px}
.vh-lunch-promo__details{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:7px;padding-left:25px;border-left:1px solid #d8d1c5;white-space:nowrap}
.vh-lunch-promo__price{font:700 clamp(34px,3.5vw,50px)/1 Georgia,'Times New Roman',serif;color:#174e41}
.vh-lunch-promo__hours{font:700 17px/1.4 Arial,Helvetica,sans-serif;color:#254e43}
@media(max-width:720px){
 .vh-lunch-promo{padding:18px 0!important}
 .vh-lunch-promo__inner{grid-template-columns:1fr;gap:17px;padding:20px 18px}
 .vh-lunch-promo__eyebrow{font-size:13px!important;line-height:1.4!important}
 .vh-lunch-promo__copy h2{font-size:30px!important;line-height:1.15!important}
 .vh-lunch-promo__extra{font-size:18px!important;line-height:1.55!important}
 .vh-lunch-promo__details{align-items:flex-start;border-left:0;border-top:1px solid #d8d1c5;padding:15px 0 0;gap:7px}
 .vh-lunch-promo__price{font-size:40px!important}
 .vh-lunch-promo__hours{font-size:18px!important;white-space:normal}
}

/* v0.14.15: authoritative mobile text sizes. Core CSS is enqueued after the
 * theme; repeat key selectors here so the older high-specificity miniature
 * rules do not defeat the readability improvements in Theme 0.10.5. */
@media(max-width:720px){
  body .vh-home-hero .vh-hero-actions .wp-block-button__link,
  body .vh-home-hero .wp-block-button__link,
  body .vh-subhero .wp-block-button__link,
  body .wp-block-media-text.vh-cta-media .wp-block-button__link,
  body .vh-about-place__actions .wp-block-button__link,
  body .vh-contact-menu-cta__actions .wp-block-button__link,
  body .vh-404__actions .wp-block-button__link{
    font-size:17px!important;line-height:1.4!important;min-height:48px!important;
    padding:12px 16px!important;white-space:normal!important
  }
  body .vh-classics .vh-menu-item strong,
  body .vh-menu-item strong{font-size:19px!important;line-height:1.36!important}
  body .vh-classics .vh-menu-item p,
  body .vh-menu-item p{font-size:17px!important;line-height:1.52!important}
  body .vh-classics .vh-menu-item>span,
  body .vh-menu-item>span{font-size:18px!important;line-height:1.4!important}
  body .vh-featured-classics .vh-food-card h3,
  body .vh-featured-classics .vh-food-card__body h3{font-size:19px!important;line-height:1.3!important}
  body .vh-featured-classics .vh-food-card p,
  body .vh-featured-classics .vh-food-card__body p{font-size:16px!important;line-height:1.48!important}
  body .vh-featured-classics .vh-card-price{font-size:18px!important;line-height:1.4!important}
  body .vh-home-lunch-teaser .vh-mobile-menu-row strong{font-size:19px!important;line-height:1.3!important}
  body .vh-home-lunch-teaser .vh-mobile-menu-row p{font-size:16px!important;line-height:1.5!important}
  body .vh-home-lunch-teaser .vh-mobile-menu-row b{font-size:18px!important;line-height:1.35!important}
  body .vh-drink-grid h3{font-size:14px!important;line-height:1.4!important}
  body .vh-draft-beer-row{font-size:17px!important;line-height:1.5!important}
  body .vh-draft-beer-row--head{font-size:14px!important;line-height:1.4!important}
  body .vh-lunch-addons-note{font-size:16px!important;line-height:1.5!important}
}

/* v0.15.0 bilingual website */
.vh-language-switcher-nav{display:flex!important;align-items:center!important;flex:0 0 auto!important;margin-left:8px!important}
.vh-language-switcher{display:inline-flex;align-items:center;justify-content:center;gap:6px;font:700 12px/1 Arial,Helvetica,sans-serif;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.vh-language-switcher a{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:34px;padding:5px 6px;color:inherit;text-decoration:none;opacity:.58;border-bottom:1px solid transparent}
.vh-language-switcher a:hover,.vh-language-switcher a:focus-visible{opacity:1}
.vh-language-switcher a.is-active{opacity:1;border-bottom-color:currentColor}
.vh-language-switcher span{opacity:.35}
.vh-mobile-menu__language{padding:11px 0 16px;border-bottom:1px solid rgba(255,255,255,.18)}
.vh-mobile-menu__language .vh-language-switcher{font-size:15px;gap:9px;color:#fff}
.vh-mobile-menu__language .vh-language-switcher a{min-width:48px;min-height:48px;border:1px solid rgba(255,255,255,.28);border-radius:2px;opacity:.72}
.vh-mobile-menu__language .vh-language-switcher a.is-active{background:#fff;color:#174e41;border-color:#fff;opacity:1}
.vh-lang-en .vh-place-script,.vh-lang-en .vh-about-place__script,.vh-lang-en .vh-footer-script{display:none!important}

@media(min-width:721px) and (max-width:1050px){
  .vh-main-nav .wp-block-navigation__container{gap:0!important}
  .vh-main-nav .wp-block-navigation-item__content{padding-left:8px!important;padding-right:8px!important;font-size:13px!important}
  .vh-language-switcher-nav{margin-left:3px!important}
  .vh-language-switcher{font-size:11px;gap:3px}
  .vh-language-switcher a{min-width:27px;padding-left:3px;padding-right:3px}
}
@media(max-width:720px){
  .vh-language-switcher-nav{display:none!important}
  .vh-mobile-menu__nav a{font-size:20px!important;line-height:1.3!important;min-height:48px!important;display:flex!important;align-items:center!important}
  .vh-mobile-menu__quick a span{font-size:17px!important;line-height:1.35!important}
}

/* v0.15.1 — robust public language switcher.  The primary SV / EN control is
   a sibling of the WordPress Navigation block so it survives Navigation's
   responsive DOM rebuilding and lunch-link filtering. */
.vh-site-header__inner>.vh-language-switcher--header{
  flex:0 0 auto!important;
  margin-left:-8px;
  color:#20201f;
  font-size:12px;
  position:relative;
  z-index:3;
}
.vh-site-header__inner>.vh-language-switcher--header a{
  min-width:34px;
  min-height:42px;
  padding:6px 7px;
}
@media(max-width:1199px) and (min-width:901px){
  .vh-site-header__inner>.vh-language-switcher--header{margin-left:-7px;font-size:11px;gap:3px}
  .vh-site-header__inner>.vh-language-switcher--header a{min-width:29px;padding-inline:4px}
}
@media(max-width:900px) and (min-width:721px){
  .vh-site-header__inner>.vh-language-switcher--header{margin-left:-2px;font-size:11px;gap:2px}
  .vh-site-header__inner>.vh-language-switcher--header a{min-width:26px;min-height:38px;padding-inline:2px}
}
@media(max-width:720px){
  .vh-site-header__inner>.vh-language-switcher--header{
    margin-left:auto!important;
    margin-right:0!important;
    font-size:13px;
    gap:3px;
  }
  .vh-site-header__inner>.vh-language-switcher--header a{
    min-width:38px;
    min-height:44px;
    padding:6px 5px;
  }
  .vh-site-header .vh-mobile-menu{margin-left:0!important}
}
@media(max-width:390px){
  .vh-site-header__inner>.vh-language-switcher--header{font-size:12px;gap:1px}
  .vh-site-header__inner>.vh-language-switcher--header a{min-width:34px;padding-inline:3px}
}

