/* SOHO 3.6.51 — final cascade layer.
   Minimal green/gold filter navigation and a global HERO gold edge. */
body.soho-elementor-page :is(.soho-hero,.soho-inner-hero){
  box-sizing:border-box!important;
  border-bottom:2px solid var(--soho-metal-gold-mid)!important;
}

/* One height source for OM OS and MENU, including the legacy MENU rules.
   Keep the approved OM OS dimensions; the homepage HERO is independent. */
:root{--soho-inner-hero-height:300px;}
body.soho-elementor-page:not(.home):not(.front-page) .soho-inner-hero,
body.soho-menu-page-body .soho-menu-standard-hero{
  box-sizing:border-box!important;
  height:var(--soho-inner-hero-height)!important;
  min-height:var(--soho-inner-hero-height)!important;
  max-height:var(--soho-inner-hero-height)!important;
  flex-shrink:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
@media (max-width:900px){
  :root{--soho-inner-hero-height:280px;}
}
@media (max-width:700px){
  :root{--soho-inner-hero-height:260px;}
}

/* Size the 16:9 YouTube surface against the HERO itself—not the viewport.
   This preserves the video ratio while covering tall mobile/tablet HEROes. */
:is(#page,body) .soho-hero-has-video .soho-hero-video{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  container-type:size!important;
}
:is(#page,body) .soho-hero-has-video .soho-hero-video iframe{
  position:absolute!important;
  top:50%!important;
  left:50%!important;
  width:max(100cqw,177.7778cqh)!important;
  height:max(56.25cqw,100cqh)!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;
  aspect-ratio:16/9!important;
  border:0!important;
  transform:translate(-50%,-50%)!important;
  transform-origin:center!important;
}
@media (min-width:701px) and (max-width:1100px){
  :is(#page,body) .soho-hero-has-video .soho-hero-video iframe{
    left:50%!important;
  }
}
@media (max-width:700px){
  :is(#page,body) .soho-hero-has-video .soho-hero-video iframe{
    left:52%!important;
  }
}

/* MENU keeps its white cards on sand. */
body.soho-menu-page-body .soho-full-menu-page,
body.soho-menu-page-body .soho-menu-accordions{
  background:#f7f6f1!important;
}
body.soho-menu-page-body .soho-menu-accordion,
body.soho-menu-page-body .soho-menu-panel,
body.soho-menu-page-body .soho-menu-panel-nested{
  background:#fff!important;
}

/* Match SELSKABER's package border and clipped 4px metallic top accent.
   A pseudo-element keeps the gradient intact when a menu card is open. */
body.soho-menu-page-body .soho-menu-accordion{
  position:relative!important;
  border:1px solid rgba(208,176,113,.48)!important;
  border-radius:10px!important;
  overflow:hidden!important;
}
body.soho-menu-page-body .soho-menu-accordion::before{
  content:""!important;
  position:absolute!important;
  top:0!important;
  left:0!important;
  right:0!important;
  height:4px!important;
  background:var(--soho-metal-gold-gradient)!important;
  z-index:1;
  pointer-events:none;
}

/* MENU cards: deep-green header bar with a crisp metallic-gold top edge. */
body.soho-menu-page-body .soho-menu-accordion > summary,
body.soho-menu-page-body .soho-menu-accordion[open] > summary{
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 32px!important;
  align-items:center!important;
  min-height:86px!important;
  padding:0 30px!important;
  background:var(--soho-green-deep)!important;
  border-top:0!important;
  color:#fff!important;
}
body.soho-menu-page-body .soho-menu-accordion > summary strong{
  color:#fff!important;
}
body.soho-menu-page-body .soho-menu-accordion > summary span{
  display:none!important;
}
body.soho-menu-page-body .soho-menu-accordion > summary i::before,
body.soho-menu-page-body .soho-menu-accordion > summary i::after{
  background:var(--soho-metal-gold-gradient)!important;
}

/* All Elementor pages end flush above the shared reservation/contact blocks.
   The two blocks are adjacent children of the same global footer wrapper. */
body.soho-elementor-page :is(
  #content,.site-content,.content-area,.site-main,.page-content,.entry-content,
  .elementor[data-elementor-type="wp-page"],.elementor[data-elementor-type="wp-post"],
  .elementor-section-wrap
){
  margin-bottom:0!important;
  padding-bottom:0!important;
}
body.soho-elementor-page .elementor > :last-child{
  margin-bottom:0!important;
  padding-bottom:0!important;
}
body.soho-menu-page-body .elementor-widget-soho_full_menu,
body.soho-menu-page-body .elementor-widget-soho_full_menu > .elementor-widget-container,
body.soho-menu-page-body .elementor-widget-soho_full_menu .soho-site,
body.soho-menu-page-body .soho-full-menu-page{
  margin-bottom:0!important;
  padding-bottom:0!important;
}

/* Only the terminal Elementor wrapper chain is marked by soho-global.js.
   This removes saved bottom padding/min-height without changing section gaps. */
body.soho-elementor-page .soho-page-tail{
  height:auto!important;
  min-height:0!important;
  margin-bottom:0!important;
  padding-bottom:0!important;
  border-bottom-width:0!important;
}
body.soho-elementor-page .soho-empty-page-tail{
  display:none!important;
}

#soho-global-footer .soho-global-reservation{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:38px 0!important;
  background:#334030!important;
  color:#fff!important;
}
#soho-global-footer .soho-global-reservation .soho-shell{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:30px!important;
  width:calc(100% - (var(--soho-layout-gutter) * 2))!important;
  max-width:var(--soho-layout-max)!important;
  margin:0 auto!important;
  padding:0!important;
}
#soho-global-footer .soho-global-reservation h2{
  margin:3px 0 0!important;
  color:#fff!important;
  font-size:30px!important;
}
#soho-global-footer .soho-global-reservation + .soho-global-contact-section{
  margin-top:0!important;
  border-top:0!important;
}

@media (max-width:900px){
  #soho-global-footer .soho-global-reservation .soho-shell{
    width:calc(100% - 48px)!important;
  }
}
@media (max-width:700px){
  body.soho-menu-page-body .soho-menu-accordion > summary,
  body.soho-menu-page-body .soho-menu-accordion[open] > summary{
    grid-template-columns:minmax(0,1fr) 28px!important;
    min-height:72px!important;
    padding:0 20px!important;
  }
  #soho-global-footer .soho-global-reservation .soho-shell{
    width:calc(100% - 36px)!important;
    flex-direction:column!important;
    align-items:flex-start!important;
  }
}

/* Julefrokost date area: force the approved SOHO green even when the
   page slug/body class differs or Elementor previews the widget directly. */
.soho-parties-page #julefrokost .soho-christmas-dates-section{
  background:var(--soho-green-deep)!important;
}
.soho-parties-page #julefrokost .soho-christmas-dates-section .soho-party-section-head h2{
  color:#fff!important;
}
.soho-parties-page #julefrokost .soho-christmas-dates-section .soho-party-section-head .soho-eyebrow{
  color:var(--soho-brass-light)!important;
}
.soho-parties-page #julefrokost .soho-christmas-dates-section .soho-party-section-head p{
  color:rgba(255,255,255,.9)!important;
}

/* Match the SELSKABER content field to the established EVENTS sand tone. */
:is(#page,body) .soho-parties-page,
:is(#page,body) .soho-parties-page .soho-parties-panels,
:is(#page,body) .soho-parties-page .soho-party-panel{
  background:#f7f6f1!important;
}

:is(#page,body) :is(
  .soho-parties-tabs,
  .soho-events-page-tabs,
  .soho-menu-jump.soho-menu-jump-tabs
){
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  min-height:0!important;
  margin:0!important;
  padding:18px 0!important;
  border:0!important;
  background:#fff!important;
  box-shadow:none!important;
}

:is(#page,body) :is(
  .soho-parties-tabs .soho-shell,
  .soho-events-page-tabs .soho-shell,
  .soho-menu-jump.soho-menu-jump-tabs .soho-shell
){
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:nowrap!important;
  width:max-content!important;
  max-width:calc(100% - 32px)!important;
  min-height:0!important;
  gap:0!important;
  margin:0 auto!important;
  padding:0 6px!important;
  overflow:visible!important;
  border:0!important;
  border-bottom:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

:is(#page,body) .soho-home-event-filters{
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:nowrap!important;
  width:max-content!important;
  max-width:calc(100% - 32px)!important;
  min-height:0!important;
  gap:0!important;
  margin:0 auto 26px!important;
  padding:0 6px!important;
  overflow:visible!important;
  border:0!important;
  border-bottom:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

:is(#soho-global-header,#soho-global-footer,#page,body) :is(
  .soho-parties-tabs a,
  .soho-events-page-tabs button,
  .soho-menu-jump.soho-menu-jump-tabs a,
  .soho-home-event-filters button
){
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  position:relative!important;
  flex:0 0 152px!important;
  width:152px!important;
  min-width:152px!important;
  max-width:152px!important;
  min-height:52px!important;
  height:52px!important;
  margin:0!important;
  padding:0 20px!important;
  border:0!important;
  border-radius:0!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  color:var(--soho-green-deep)!important;
  -webkit-text-fill-color:var(--soho-green-deep)!important;
  font:700 12px/1 Inter,Arial,sans-serif!important;
  letter-spacing:.025em!important;
  white-space:nowrap!important;
  scale:1!important;
  transform:none!important;
  transition:scale .18s ease,color .18s ease,opacity .18s ease!important;
}

:is(#soho-global-header,#soho-global-footer,#page,body) :is(
  .soho-parties-tabs a,
  .soho-events-page-tabs button,
  .soho-menu-jump.soho-menu-jump-tabs a,
  .soho-home-event-filters button
)::after{
  content:none!important;
}

:is(#soho-global-header,#soho-global-footer,#page,body) :is(
  .soho-parties-tabs a,
  .soho-events-page-tabs button,
  .soho-menu-jump.soho-menu-jump-tabs a,
  .soho-home-event-filters button
):not(:first-child)::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:13px!important;
  bottom:13px!important;
  width:1px!important;
  background:var(--soho-metal-gold-gradient)!important;
  pointer-events:none!important;
}

:is(#soho-global-header,#soho-global-footer,#page,body) :is(
  .soho-parties-tabs a,
  .soho-events-page-tabs button,
  .soho-menu-jump.soho-menu-jump-tabs a,
  .soho-home-event-filters button
):is(:hover,:focus-visible){
  scale:1.07!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  color:var(--soho-green-deep)!important;
  -webkit-text-fill-color:var(--soho-green-deep)!important;
}

:is(#soho-global-header,#soho-global-footer,#page,body) :is(
  .soho-parties-tabs a,
  .soho-events-page-tabs button,
  .soho-menu-jump.soho-menu-jump-tabs a,
  .soho-home-event-filters button
).is-active{
  border:0!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  color:var(--soho-metal-gold-base)!important;
  -webkit-text-fill-color:var(--soho-metal-gold-base)!important;
}

:is(#soho-global-header,#soho-global-footer,#page,body) :is(
  .soho-parties-tabs a,
  .soho-events-page-tabs button,
  .soho-menu-jump.soho-menu-jump-tabs a,
  .soho-home-event-filters button
).is-active::after{
  content:none!important;
}

@media (max-width:700px){
  :is(#page,body) :is(
    .soho-parties-tabs,
    .soho-events-page-tabs,
    .soho-menu-jump.soho-menu-jump-tabs
  ){
    min-height:0!important;
    padding:13px 0!important;
  }

  :is(#page,body) :is(
    .soho-parties-tabs .soho-shell,
    .soho-events-page-tabs .soho-shell,
    .soho-menu-jump.soho-menu-jump-tabs .soho-shell
  ),
  :is(#page,body) .soho-home-event-filters{
    width:calc(100% - 16px)!important;
    max-width:calc(100% - 16px)!important;
    min-height:0!important;
    gap:0!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding:0 3px!important;
  }

  :is(#soho-global-header,#soho-global-footer,#page,body) :is(
    .soho-parties-tabs a,
    .soho-events-page-tabs button,
    .soho-menu-jump.soho-menu-jump-tabs a,
    .soho-home-event-filters button
  ){
    flex:1 1 0!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:42px!important;
    min-height:42px!important;
    padding:0 3px!important;
    border-radius:0!important;
    box-shadow:none!important;
    font-size:clamp(7px,2.25vw,9px)!important;
    letter-spacing:0!important;
  }

  :is(#soho-global-header,#soho-global-footer,#page,body) :is(
    .soho-parties-tabs a,
    .soho-events-page-tabs button,
    .soho-menu-jump.soho-menu-jump-tabs a,
    .soho-home-event-filters button
  ):not(:first-child)::before{
    top:10.5px!important;
    bottom:10.5px!important;
    width:1px!important;
  }
}

/* ================= SOHO v3.6.52 — MENU HERO EXACT OM OS HEIGHT =================
   Surgical override only. MENU uses the same fixed outer height as OM OS.
   Neutralises any legacy min/max-height or spacing that can make MENU render taller. */
body.soho-menu-page-body .soho-full-menu-page > .soho-inner-hero.soho-menu-standard-hero{
  box-sizing:border-box!important;
  height:var(--soho-inner-hero-height)!important;
  min-height:var(--soho-inner-hero-height)!important;
  max-height:var(--soho-inner-hero-height)!important;
  margin-top:0!important;
  margin-bottom:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
  overflow:hidden!important;
}

/* Keep the MENU content inside that exact outer height, just like OM OS. */
body.soho-menu-page-body .soho-full-menu-page > .soho-inner-hero.soho-menu-standard-hero > .soho-inner-hero-content{
  box-sizing:border-box!important;
  height:100%!important;
  min-height:0!important;
  max-height:100%!important;
}

/* SOHO v3.6.54: MENU still has an old Elementor header widget in normal flow.
   The shared global header already overlays the hero on this page, as on OM OS.
   Remove the extra MENU container so the hero starts at the same page position. */
body.soho-menu-page-body .elementor.elementor-137 > .elementor-element.elementor-element-soho330hdr{
  display:none!important;
}

/* SOHO v3.6.55: slightly smaller headings in every hero. */
body.soho-elementor-page .soho-hero-with-header h1{font-size:58px!important;}
body.soho-elementor-page .soho-inner-hero-copy h1{font-size:44px!important;}
@media (max-width:1100px){
  body.soho-elementor-page .soho-hero-with-header h1{font-size:47px!important;}
  body.soho-elementor-page .soho-inner-hero-copy h1{font-size:37px!important;}
}
@media (max-width:700px){
  body.soho-elementor-page .soho-hero-with-header h1{font-size:clamp(34px,9vw,41px)!important;}
  body.soho-elementor-page .soho-inner-hero-copy h1{font-size:31px!important;}
}

/* Empty states follow the same two-option filter as the cards. */
body.soho-elementor-page .soho-events [data-home-event-filter-item][hidden]{display:none!important;}

/* SOHO v3.6.58: the footer uses the same 4px metallic edge as the cards. */
#soho-global-footer .soho-footer{
  position:relative!important;
}
#soho-global-footer .soho-footer::before{
  content:""!important;
  position:absolute!important;
  top:0!important;
  left:0!important;
  right:0!important;
  height:4px!important;
  background:var(--soho-metal-gold-gradient)!important;
  z-index:1!important;
  pointer-events:none!important;
}

/* The widget supplies its editable green tint inline, above saved Elementor CSS. */
body.soho-elementor-page .elementor-widget-soho_feature_band .soho-site{
  background:transparent!important;
}
body.soho-elementor-page .elementor-widget-soho_feature_band .soho-feature-band{
  -webkit-backdrop-filter:blur(6px) saturate(1.1);
  backdrop-filter:blur(6px) saturate(1.1);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.20),0 12px 30px rgba(51,64,48,.14)!important;
}

/* Match the hero-side green glass on the two highlighted buttons. */
body.soho-elementor-page .elementor-widget-soho_hero .soho-actions .soho-btn.alt,
.soho-global-header .soho-takeaway-button,
.soho-standalone-header .soho-takeaway-button{
  background:linear-gradient(125deg,rgba(255,255,255,.07),transparent 38%),linear-gradient(180deg,rgba(51,64,48,.74),rgba(51,64,48,.74))!important;
  -webkit-backdrop-filter:blur(6px) saturate(1.1);
  backdrop-filter:blur(6px) saturate(1.1);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.20),0 2px 6px rgba(51,64,48,.14)!important;
}

/* MENU: one heading size throughout the cards, including evening subaccordions. */
body.soho-menu-page-body .soho-full-menu-page .soho-menu-panel h3,
body.soho-menu-page-body .soho-full-menu-page .soho-menu-table h4,
body.soho-menu-page-body .soho-full-menu-page .soho-menu-subaccordion > summary{
  font-size:20px!important;
  line-height:1.25!important;
}

/* Keep the section divider, without a second line from its final menu item. */
body.soho-menu-page-body .soho-full-menu-page .soho-menu-entry:has(+ .soho-menu-subdivider),
body.soho-menu-page-body .soho-full-menu-page .soho-menu-entry:has(+ h3),
body.soho-menu-page-body .soho-full-menu-page .soho-menu-entry:last-child,
body.soho-menu-page-body .soho-full-menu-page .soho-menu-table-row:has(+ h4),
body.soho-menu-page-body .soho-full-menu-page .soho-menu-table-row:last-child{
  border-bottom:0!important;
}

/* Bubble names are regular weight; prices keep their existing emphasis. */
body.soho-menu-page-body .soho-full-menu-page .soho-menu-entry.soho-menu-bubbles-entry strong{
  font-weight:400!important;
}

/* Non-home HERO headings share one size at every viewport width. */
body:not(.home):not(.front-page) .soho-inner-hero .soho-inner-hero-copy h1{
  font-size:36px!important;
}

/* NYHEDER: let the sand-colored feed reach both viewport edges. */
body.soho-news-page-body,
body.soho-news-page-body #page,
body.soho-news-page-body #content,
body.soho-news-page-body .site-content,
body.soho-news-page-body .elementor,
body.soho-news-page-body .elementor > .e-con,
body.soho-news-page-body .elementor > .e-con > .e-con-inner{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding-left:0!important;
  padding-right:0!important;
  background-color:#f7f6f1!important;
}
body.soho-news-page-body .soho-news-page-main,
body.soho-news-page-body .elementor-widget-soho_news_page .soho-site,
body.soho-news-page-body .soho-news-page-main .soho-events-page-feed{
  background:#f7f6f1!important;
}

/* v3.6.71: a finite image beside the opening dishes, then full-width menu rows. */
body.soho-menu-page-body .soho-full-menu-page .soho-menu-with-photo{
  display:flow-root!important;
  background:#fff!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-feature-photo{
  box-sizing:border-box!important;
  float:right!important;
  width:35%!important;
  max-width:365px!important;
  height:390px!important;
  margin:18px 0 22px 30px!important;
  overflow:hidden!important;
  border-left:2px solid var(--soho-green-deep)!important;
  background:#e8eae6!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-feature-photo img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-feature-photo--short{height:265px!important;}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-feature-photo--medium{height:350px!important;}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-feature-photo--banner{
  float:none!important;
  width:100%!important;
  max-width:none!important;
  height:255px!important;
  margin:18px 0 24px!important;
  border-left:0!important;
  border-bottom:2px solid var(--soho-green-deep)!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-subdivider{
  overflow:hidden!important;
}

/* MENU only: deep green foreground, with softer green for supporting text and rules. */
body.soho-menu-page-body .soho-full-menu-page .soho-menu-accordions{
  --soho-menu-text:var(--soho-green-deep);
  --soho-menu-muted:#334030;
  --soho-menu-soft:#334030;
  --soho-menu-line:rgba(51,64,48,.24);
  color:var(--soho-menu-text)!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-accordion{
  border-color:var(--soho-menu-line)!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-accordion::before{
  background:var(--soho-menu-text)!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-accordion > summary,
body.soho-menu-page-body .soho-full-menu-page .soho-menu-accordion[open] > summary{
  background:#f7f6f1!important;
  color:var(--soho-menu-text)!important;
  border-bottom:1px solid var(--soho-menu-line)!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-with-photo :is(h2,h3,h4,h5,h6,p,span,strong,b,small,em,li,td,th,a){
  color:var(--soho-menu-text)!important;
  -webkit-text-fill-color:var(--soho-menu-text)!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-accordion > summary strong,
body.soho-menu-page-body .soho-full-menu-page .soho-menu-subaccordion > summary,
body.soho-menu-page-body .soho-full-menu-page .soho-menu-panel h3,
body.soho-menu-page-body .soho-full-menu-page .soho-drink-group h3,
body.soho-menu-page-body .soho-full-menu-page .soho-menu-table h4,
body.soho-menu-page-body .soho-full-menu-page .soho-menu-entry strong,
body.soho-menu-page-body .soho-full-menu-page .soho-menu-price,
body.soho-menu-page-body .soho-full-menu-page .soho-menu-table-head,
body.soho-menu-page-body .soho-full-menu-page .soho-menu-table-row strong,
body.soho-menu-page-body .soho-full-menu-page .soho-menu-table-row > b{
  color:var(--soho-menu-text)!important;
  -webkit-text-fill-color:var(--soho-menu-text)!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-entry span,
body.soho-menu-page-body .soho-full-menu-page .soho-menu-lead,
body.soho-menu-page-body .soho-full-menu-page .soho-menu-table-row small,
body.soho-menu-page-body .soho-full-menu-page .soho-menu-note,
body.soho-menu-page-body .soho-full-menu-page .soho-menu-panel p,
body.soho-menu-page-body .soho-full-menu-page .soho-menu-panel small{
  color:var(--soho-menu-muted)!important;
  -webkit-text-fill-color:var(--soho-menu-muted)!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-panel,
body.soho-menu-page-body .soho-full-menu-page .soho-menu-subaccordion,
body.soho-menu-page-body .soho-full-menu-page .soho-menu-subaccordion > summary,
body.soho-menu-page-body .soho-full-menu-page .soho-menu-entry,
body.soho-menu-page-body .soho-full-menu-page .soho-menu-subdivider,
body.soho-menu-page-body .soho-full-menu-page .soho-menu-table-head,
body.soho-menu-page-body .soho-full-menu-page .soho-menu-table-row{
  border-color:var(--soho-menu-line)!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-subdivider{
  background:var(--soho-menu-line)!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-with-photo hr{
  border-color:var(--soho-menu-line)!important;
  background:var(--soho-menu-line)!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-table h4,
body.soho-menu-page-body .soho-full-menu-page .soho-menu-note{
  background:rgba(51,64,48,.06)!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-note{
  border-left-color:var(--soho-menu-text)!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-accordion > summary i::before,
body.soho-menu-page-body .soho-full-menu-page .soho-menu-accordion > summary i::after,
body.soho-menu-page-body .soho-full-menu-page .soho-menu-subaccordion > summary i::before,
body.soho-menu-page-body .soho-full-menu-page .soho-menu-subaccordion > summary i::after{
  background:var(--soho-menu-text)!important;
}
body.soho-menu-page-body .soho-menu-jump.soho-menu-jump-tabs a{
  color:#334030!important;
  -webkit-text-fill-color:#334030!important;
}
body.soho-menu-page-body .soho-menu-jump.soho-menu-jump-tabs a.is-active,
body.soho-menu-page-body .soho-menu-jump.soho-menu-jump-tabs a:is(:hover,:focus-visible){
  color:var(--soho-green-deep)!important;
  -webkit-text-fill-color:var(--soho-green-deep)!important;
}
body.soho-menu-page-body .soho-menu-jump.soho-menu-jump-tabs a:not(:first-child)::before{
  background:rgba(51,64,48,.34)!important;
}
@media(max-width:800px){
  body.soho-menu-page-body .soho-full-menu-page .soho-menu-feature-photo,
  body.soho-menu-page-body .soho-full-menu-page .soho-menu-feature-photo--short,
  body.soho-menu-page-body .soho-full-menu-page .soho-menu-feature-photo--medium,
  body.soho-menu-page-body .soho-full-menu-page .soho-menu-feature-photo--banner{
    float:none!important;
    width:100%!important;
    max-width:none!important;
    height:190px!important;
    margin:16px 0 22px!important;
    border-left:0!important;
    border-bottom:2px solid var(--soho-green-deep)!important;
  }
}

/* v3.6.75: square photo cells preserve the subjects on wide screens. */
body.soho-menu-page-body .soho-full-menu-page .soho-menu-photo-strip{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-template-rows:minmax(0,1fr)!important;
  place-items:center!important;
  gap:2px!important;
  width:auto!important;
  height:auto!important;
  aspect-ratio:4 / 1!important;
  overflow:hidden!important;
  background:var(--soho-metal-gold-gradient)!important;
  border:0!important;
  border-bottom:2px solid transparent!important;
  border-image:var(--soho-metal-gold-gradient) 1!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-photo-strip.is-three{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-photo-strip img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  object-fit:cover!important;
  object-position:50% 50%!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-panel:not(.soho-menu-panel-nested) > .soho-menu-photo-strip{
  margin:-8px -34px 26px!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-panel-nested > .soho-menu-photo-strip{
  margin:-18px -26px 8px!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-accordion{
  border:2px solid transparent!important;
  background:linear-gradient(#fff,#fff) padding-box,var(--soho-metal-gold-gradient) border-box!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-accordion::before{
  background:var(--soho-metal-gold-gradient)!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-accordion > summary,
body.soho-menu-page-body .soho-full-menu-page .soho-menu-accordion[open] > summary{
  position:relative!important;
  background:var(--soho-green-deep)!important;
  color:#fff!important;
  border-bottom:0!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-accordion > summary::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:2px!important;
  background:var(--soho-metal-gold-gradient)!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-accordion > summary strong{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-panel{
  border-top:0!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-subaccordion{
  border-bottom:0!important;
  background-image:var(--soho-metal-gold-gradient)!important;
  background-repeat:no-repeat!important;
  background-size:100% 1px!important;
  background-position:left bottom!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-subaccordion:last-child{
  background-image:none!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-entry,
body.soho-menu-page-body .soho-full-menu-page .soho-menu-table-row{
  border-bottom:0!important;
  background-image:var(--soho-metal-gold-gradient)!important;
  background-repeat:no-repeat!important;
  background-size:100% 1px!important;
  background-position:left bottom!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-entry:is(:last-child,:has(+ .soho-menu-subdivider),:has(+ h3)),
body.soho-menu-page-body .soho-full-menu-page .soho-menu-table-row:is(:last-child,:has(+ h4)){
  background-image:none!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-subdivider,
body.soho-menu-page-body .soho-full-menu-page .soho-menu-with-photo hr{
  background:var(--soho-metal-gold-gradient)!important;
  border:0!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-table-head{
  border-bottom:0!important;
  background-image:var(--soho-metal-gold-gradient)!important;
  background-repeat:no-repeat!important;
  background-size:100% 2px!important;
  background-position:left bottom!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-note{
  border-left:3px solid transparent!important;
  border-image:var(--soho-metal-gold-gradient) 1!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-accordion > summary i::before,
body.soho-menu-page-body .soho-full-menu-page .soho-menu-accordion > summary i::after,
body.soho-menu-page-body .soho-full-menu-page .soho-menu-subaccordion > summary i::before,
body.soho-menu-page-body .soho-full-menu-page .soho-menu-subaccordion > summary i::after,
body.soho-menu-page-body .soho-menu-jump.soho-menu-jump-tabs a:not(:first-child)::before{
  background:var(--soho-metal-gold-gradient)!important;
}
@media(max-width:900px){
  body.soho-menu-page-body .soho-full-menu-page .soho-menu-panel:not(.soho-menu-panel-nested) > .soho-menu-photo-strip{
    margin:-8px -24px 23px!important;
  }
}
@media(max-width:700px){
  body.soho-menu-page-body .soho-full-menu-page .soho-menu-photo-strip{
    height:auto!important;
    aspect-ratio:4 / 1!important;
    gap:1px!important;
  }
  body.soho-menu-page-body .soho-full-menu-page .soho-menu-photo-strip img{
    aspect-ratio:1 / 1!important;
    height:100%!important;
  }
  body.soho-menu-page-body .soho-full-menu-page .soho-menu-panel:not(.soho-menu-panel-nested) > .soho-menu-photo-strip{
    margin:-4px -18px 19px!important;
  }
  body.soho-menu-page-body .soho-full-menu-page .soho-menu-panel-nested > .soho-menu-photo-strip{
    margin:-10px -14px 8px!important;
  }
}

/* v3.6.74: per-photo desktop focal points, preserving the full-width collage. */
@media(min-width:901px){
  body.soho-menu-page-body #frokost .soho-menu-photo-strip img:nth-child(1){object-position:50% 68%!important;}
  body.soho-menu-page-body #frokost .soho-menu-photo-strip img:nth-child(2){object-position:50% 59%!important;}
  body.soho-menu-page-body #frokost .soho-menu-photo-strip img:nth-child(3){object-position:50% 58%!important;}
  body.soho-menu-page-body #frokost .soho-menu-photo-strip img:nth-child(4){object-position:50% 57%!important;}

  body.soho-menu-page-body #aften > .soho-menu-panel > .soho-menu-photo-strip img:nth-child(1){object-position:50% 65%!important;}
  body.soho-menu-page-body #aften > .soho-menu-panel > .soho-menu-photo-strip img:nth-child(2){object-position:50% 80%!important;}
  body.soho-menu-page-body #aften > .soho-menu-panel > .soho-menu-photo-strip img:nth-child(3){object-position:50% 65%!important;}
  body.soho-menu-page-body #aften > .soho-menu-panel > .soho-menu-photo-strip img:nth-child(4){object-position:50% 53%!important;}

  body.soho-menu-page-body #vinmenu .soho-menu-photo-strip img:nth-child(1){object-position:50% 47%!important;}
  body.soho-menu-page-body #vinmenu .soho-menu-photo-strip img:nth-child(2){object-position:50% 53%!important;}
  body.soho-menu-page-body #vinmenu .soho-menu-photo-strip img:nth-child(3){object-position:50% 45%!important;}
  body.soho-menu-page-body #vinmenu .soho-menu-photo-strip img:nth-child(4){object-position:50% 70%!important;}

  body.soho-menu-page-body #drikkevarer .soho-menu-photo-strip img:nth-child(1){object-position:50% 57%!important;}
  body.soho-menu-page-body #drikkevarer .soho-menu-photo-strip img:nth-child(2){object-position:50% 55%!important;}
  body.soho-menu-page-body #drikkevarer .soho-menu-photo-strip img:nth-child(3){object-position:50% 53%!important;}
  body.soho-menu-page-body #drikkevarer .soho-menu-photo-strip img:nth-child(4){object-position:50% 70%!important;}
}

/* Thick metallic + for closed tabs and a clear × for open tabs. */
body.soho-menu-page-body .soho-full-menu-page .soho-menu-accordion > summary i::before,
body.soho-menu-page-body .soho-full-menu-page .soho-menu-subaccordion > summary i::before{
  width:18px!important;
  height:3px!important;
  border-radius:2px!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-accordion > summary i::after,
body.soho-menu-page-body .soho-full-menu-page .soho-menu-subaccordion > summary i::after{
  width:3px!important;
  height:18px!important;
  border-radius:2px!important;
  opacity:1!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-accordion[open] > summary i::before,
body.soho-menu-page-body .soho-full-menu-page .soho-menu-subaccordion[open] > summary i::before{
  transform:translate(-50%,-50%) rotate(45deg)!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-accordion[open] > summary i::after,
body.soho-menu-page-body .soho-full-menu-page .soho-menu-subaccordion[open] > summary i::after{
  width:18px!important;
  height:3px!important;
  opacity:1!important;
  transform:translate(-50%,-50%) rotate(-45deg)!important;
}

/* v3.6.76: mobile brass-frame navigation; the existing header surface is untouched. */
@media(max-width:1100px){
  .soho-global-header .soho-integrated-menu-toggle,
  .soho-standalone-header .soho-integrated-menu-toggle{
    flex:0 0 42px!important;
    width:42px!important;
    height:42px!important;
    border:1px solid transparent!important;
    border-radius:4px!important;
    background:linear-gradient(rgba(51,64,48,.72),rgba(51,64,48,.72)) padding-box,var(--soho-metal-gold-gradient) border-box!important;
  }
  .soho-global-header .soho-integrated-menu-toggle span,
  .soho-standalone-header .soho-integrated-menu-toggle span{
    width:20px!important;
    height:2px!important;
    background:var(--soho-metal-gold-gradient)!important;
    transition:transform .38s cubic-bezier(.2,.8,.2,1),opacity .18s ease!important;
  }
  .soho-standalone-header.is-menu-open .soho-integrated-menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .soho-standalone-header.is-menu-open .soho-integrated-menu-toggle span:nth-child(2){opacity:0;}
  .soho-standalone-header.is-menu-open .soho-integrated-menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  .soho-global-header .soho-mobile-navigation,
  .soho-standalone-header .soho-mobile-navigation{
    top:92px!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    height:calc(100dvh - 92px)!important;
    max-height:calc(100dvh - 92px)!important;
    box-sizing:border-box!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:linear-gradient(145deg,#334030,#334030)!important;
    transform:translateY(-18px)!important;
    transform-origin:top center!important;
    transition:opacity .35s ease,transform .42s cubic-bezier(.2,.8,.2,1),visibility .35s!important;
  }
  .soho-integrated-header.is-menu-open .soho-mobile-navigation,
  .soho-standalone-header.is-menu-open .soho-mobile-navigation{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translateY(0)!important;
  }
  .soho-mobile-navigation nav{
    width:100%!important;
    max-width:440px!important;
    min-height:100%!important;
    margin:0 auto!important;
    padding:36px 28px 28px!important;
    box-sizing:border-box!important;
    display:flex!important;
    flex-direction:column!important;
  }
  .soho-mobile-navigation nav > a{
    flex:none!important;
    min-height:62px!important;
    padding:0!important;
    border:0!important;
    border-bottom:1px solid rgba(227,204,148,.44)!important;
    font-family:Georgia,"Times New Roman",serif!important;
    font-size:22px!important;
    font-weight:400!important;
    letter-spacing:.025em!important;
    color:#fff!important;
    opacity:0;
    transform:translateY(-8px);
    transition:opacity .32s ease,transform .32s ease!important;
  }
  .soho-mobile-navigation nav > a:last-of-type{
    border-bottom:0!important;
  }
  .soho-integrated-header.is-menu-open .soho-mobile-navigation nav > a,
  .soho-standalone-header.is-menu-open .soho-mobile-navigation nav > a{
    opacity:1;
    transform:translateY(0);
  }
  .soho-mobile-navigation nav > a:nth-child(2){transition-delay:.04s!important;}
  .soho-mobile-navigation nav > a:nth-child(3){transition-delay:.08s!important;}
  .soho-mobile-navigation nav > a:nth-child(4){transition-delay:.12s!important;}
  .soho-mobile-navigation nav > a:nth-child(5){transition-delay:.16s!important;}
  .soho-mobile-menu-bottom{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    flex:none!important;
    margin-top:auto!important;
    padding-top:17px!important;
    border-top:1px solid var(--soho-metal-gold-mid)!important;
  }
  .soho-mobile-menu-bottom-left{
    display:flex!important;
    align-items:center!important;
    gap:6px!important;
    min-width:0!important;
    white-space:nowrap!important;
  }
  .soho-mobile-menu-bottom-left span{
    color:var(--soho-metal-gold-light)!important;
    font-size:11px!important;
  }
  .soho-mobile-navigation .soho-mobile-menu-bottom a{
    display:inline-flex!important;
    align-items:center!important;
    flex:none!important;
    min-height:44px!important;
    padding:0!important;
    border:0!important;
    color:var(--soho-metal-gold-light)!important;
    font-family:Inter,Arial,sans-serif!important;
    font-size:10px!important;
    font-weight:700!important;
    letter-spacing:.06em!important;
    white-space:nowrap!important;
  }
}
@media(max-width:700px){
  .soho-global-header .soho-integrated-menu-toggle,
  .soho-standalone-header .soho-integrated-menu-toggle{
    flex-basis:39px!important;
    width:39px!important;
    height:39px!important;
  }
  .soho-global-header .soho-mobile-navigation,
  .soho-standalone-header .soho-mobile-navigation{
    top:78px!important;
    height:calc(100dvh - 78px)!important;
    max-height:calc(100dvh - 78px)!important;
  }
  .soho-mobile-navigation nav{padding:27px 24px 19px!important;}
  .soho-mobile-navigation nav > a{min-height:57px!important;font-size:21px!important;}
}
@media(max-width:380px){
  .soho-mobile-navigation nav{padding-left:20px!important;padding-right:20px!important;}
  .soho-mobile-navigation .soho-mobile-menu-bottom a{font-size:9px!important;}
}
@media(max-width:1100px) and (prefers-reduced-motion:reduce){
  .soho-mobile-navigation,
  .soho-mobile-navigation nav > a,
  .soho-integrated-menu-toggle span{transition:none!important;}
}

/* v3.6.79: keep v3.6.76 menu typography and spacing. Remove only the
   main cards' side borders, then place contextual photos beside menu sections. */
body.soho-menu-page-body .soho-full-menu-page .soho-menu-accordion{
  border-left-width:0!important;
  border-right-width:0!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-editorial-photo{
  box-sizing:border-box!important;
  float:right!important;
  display:block!important;
  width:33%!important;
  max-width:315px!important;
  aspect-ratio:1 / 1!important;
  height:auto!important;
  margin:10px 0 24px 32px!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:8px!important;
  background:#e8e9e3!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-editorial-photo--left{
  float:left!important;
  margin:10px 32px 24px 0!important;
}
body.soho-menu-page-body .soho-full-menu-page #frokost .soho-menu-editorial-photo{
  margin-top:-25px!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-editorial-photo img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-subdivider{
  clear:both!important;
}
@media(max-width:700px){
  body.soho-menu-page-body .soho-full-menu-page .soho-menu-editorial-photo,
  body.soho-menu-page-body .soho-full-menu-page .soho-menu-editorial-photo--left{
    float:none!important;
    clear:both!important;
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    aspect-ratio:3 / 1!important;
    margin:12px 0 19px!important;
  }
  body.soho-menu-page-body .soho-full-menu-page #frokost .soho-menu-editorial-photo{
    margin-top:12px!important;
  }
  body.soho-menu-page-body .soho-full-menu-page .soho-menu-editorial-photo img{
    width:100%!important;
    height:100%!important;
    aspect-ratio:3 / 1!important;
    object-fit:cover!important;
    object-position:center 60%!important;
  }
  body.soho-menu-page-body .soho-full-menu-page .soho-menu-photo-lunch_photo img{object-position:center 68%!important;}
  body.soho-menu-page-body .soho-full-menu-page .soho-menu-photo-lunch_second_photo img{object-position:center 63%!important;}
  body.soho-menu-page-body .soho-full-menu-page .soho-menu-photo-lunch_dessert_photo img{object-position:center 67%!important;}
  body.soho-menu-page-body .soho-full-menu-page .soho-menu-photo-evening_photo_2 img{object-position:center 72%!important;}
}

/* v3.6.80: fixed text/photo columns inside the existing menu cards only. */
body.soho-menu-page-body .soho-full-menu-page .soho-menu-editorial-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) min(33%,315px)!important;
  column-gap:32px!important;
  align-items:start!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-editorial-row--left{
  grid-template-columns:min(33%,315px) minmax(0,1fr)!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-editorial-copy{
  grid-column:1!important;
  grid-row:1!important;
  min-width:0!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-editorial-row--left > .soho-menu-editorial-copy{
  grid-column:2!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-editorial-row > .soho-menu-editorial-photo,
body.soho-menu-page-body .soho-full-menu-page #frokost .soho-menu-editorial-row > .soho-menu-editorial-photo{
  float:none!important;
  clear:none!important;
  grid-column:2!important;
  grid-row:1!important;
  width:100%!important;
  max-width:none!important;
  margin:10px 0 0!important;
}
body.soho-menu-page-body .soho-full-menu-page #frokost .soho-menu-editorial-row > .soho-menu-editorial-photo{
  margin-top:28px!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-editorial-row--left > .soho-menu-editorial-photo,
body.soho-menu-page-body .soho-full-menu-page #frokost .soho-menu-editorial-row--left > .soho-menu-editorial-photo{
  grid-column:1!important;
}
/* Retain the old direct-child heading formatting after adding the column wrapper. */
body.soho-menu-page-body .soho-full-menu-page .soho-menu-editorial-copy > h3{
  font-family:Inter,Arial,sans-serif!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  margin:28px 0 10px!important;
  text-transform:uppercase!important;
}
@media(max-width:700px){
  body.soho-menu-page-body .soho-full-menu-page .soho-menu-editorial-row,
  body.soho-menu-page-body .soho-full-menu-page .soho-menu-editorial-row--left{
    grid-template-columns:minmax(0,1fr)!important;
    column-gap:0!important;
  }
  body.soho-menu-page-body .soho-full-menu-page .soho-menu-editorial-row > .soho-menu-editorial-copy{
    grid-column:1!important;
    grid-row:2!important;
  }
  body.soho-menu-page-body .soho-full-menu-page .soho-menu-editorial-row > .soho-menu-editorial-photo,
  body.soho-menu-page-body .soho-full-menu-page #frokost .soho-menu-editorial-row > .soho-menu-editorial-photo{
    grid-column:1!important;
    grid-row:1!important;
    margin:12px 0 19px!important;
    aspect-ratio:3 / 1!important;
  }
}

/* v3.6.80: white MENU background; hero, cards and footer keep their surfaces. */
body.soho-menu-page-body,
body.soho-menu-page-body #page,
body.soho-menu-page-body #content,
body.soho-menu-page-body .site-content,
body.soho-menu-page-body .soho-full-menu-page,
body.soho-menu-page-body .soho-menu-accordions{
  background-color:#fff!important;
}

/* Half the existing ribbon height: 88 -> 44px desktop, 68 -> 34px mobile.
   The four established ribbon components share the same treatment. */
:is(#page,body) :is(
  .soho-parties-tabs,
  .soho-events-page-tabs,
  .soho-menu-jump.soho-menu-jump-tabs
){
  padding:9px 0!important;
}
:is(#soho-global-header,#soho-global-footer,#page,body) :is(
  .soho-parties-tabs a,
  .soho-events-page-tabs button,
  .soho-menu-jump.soho-menu-jump-tabs a,
  .soho-home-event-filters button
){
  height:26px!important;
  min-height:26px!important;
}
:is(#soho-global-header,#soho-global-footer,#page,body) :is(
  .soho-parties-tabs a,
  .soho-events-page-tabs button,
  .soho-menu-jump.soho-menu-jump-tabs a,
  .soho-home-event-filters button
):not(:first-child)::before{
  content:none!important;
  display:none!important;
}
:is(#soho-global-header,#soho-global-footer,#page,body) :is(
  .soho-parties-tabs a,
  .soho-events-page-tabs button,
  .soho-menu-jump.soho-menu-jump-tabs a,
  .soho-home-event-filters button
)::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:calc(50% - 22px)!important;
  right:auto!important;
  bottom:0!important;
  width:44px!important;
  height:1px!important;
  background:var(--soho-metal-gold-gradient)!important;
  opacity:0!important;
  transform:scaleX(0)!important;
  transform-origin:center!important;
  transition:transform .18s ease,opacity .18s ease!important;
  pointer-events:none!important;
}
:is(#soho-global-header,#soho-global-footer,#page,body) :is(
  .soho-parties-tabs a,
  .soho-events-page-tabs button,
  .soho-menu-jump.soho-menu-jump-tabs a,
  .soho-home-event-filters button
):is(:hover,:focus-visible,.is-active)::after{
  content:""!important;
  display:block!important;
  opacity:1!important;
  transform:scaleX(1)!important;
}
@media(max-width:700px){
  :is(#page,body) :is(
    .soho-parties-tabs,
    .soho-events-page-tabs,
    .soho-menu-jump.soho-menu-jump-tabs
  ){
    padding:6.5px 0!important;
  }
  :is(#soho-global-header,#soho-global-footer,#page,body) :is(
    .soho-parties-tabs a,
    .soho-events-page-tabs button,
    .soho-menu-jump.soho-menu-jump-tabs a,
    .soho-home-event-filters button
  ){
    height:21px!important;
    min-height:21px!important;
  }
}

/* Remove item/table-header rules; keep one rule at each category boundary. */
body.soho-menu-page-body .soho-full-menu-page .soho-menu-entry,
body.soho-menu-page-body .soho-full-menu-page .soho-menu-table-row,
body.soho-menu-page-body .soho-full-menu-page .soho-menu-table-head{
  border-bottom:0!important;
  background-image:none!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-table-row:is(:has(+ h4),:last-child),
body.soho-menu-page-body .soho-full-menu-page .soho-drink-group{
  background-image:var(--soho-metal-gold-gradient)!important;
  background-repeat:no-repeat!important;
  background-size:100% 1px!important;
  background-position:left bottom!important;
}

/* v3.6.81: one brushed-gold surface for booking and existing gold buttons. */
:root{
  --soho-brushed-gold-surface:
    repeating-linear-gradient(0deg,rgba(255,255,255,.13) 0px,rgba(255,255,255,.13) .5px,rgba(90,61,26,.09) .5px,rgba(90,61,26,.09) 1px,transparent 1px,transparent 3px),
    repeating-linear-gradient(176deg,transparent 0px,transparent 22px,rgba(255,255,255,.07) 22px,rgba(255,255,255,.07) 23px,transparent 23px,transparent 47px),
    linear-gradient(105deg,#8a6437 0%,#b68e53 22%,#d0b071 43%,#ad8b53 63%,#c2a469 81%,#8f6b3d 100%);
}
:is(#soho-global-header,#soho-global-footer,#page,body) :is(
  .soho-btn:not(.green):not(.alt):not(.soho-takeaway-button),
  .soho-integrated-book,
  .soho-mobile-book,
  .soho-btn[href*="/book-bord"],
  .soho-btn[href*="book.easytable.com"],
  .soho-form button:not(.green),
  .soho-newsletter-form button
){
  background:var(--soho-brushed-gold-surface)!important;
  background-clip:border-box!important;
  -webkit-background-clip:border-box!important;
  border-color:var(--soho-metal-gold-mid)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* v3.6.81: requested ribbon heights, with equal space above/below their items. */
:is(#page,body) :is(
  .soho-parties-tabs,
  .soho-events-page-tabs,
  .soho-menu-jump.soho-menu-jump-tabs,
  .soho-home-event-filters
){
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:60px!important;
  min-height:60px!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-accordions{
  padding-top:0!important;
  margin-top:0!important;
}
@media(max-width:700px){
  :is(#page,body) :is(
    .soho-parties-tabs,
    .soho-events-page-tabs,
    .soho-menu-jump.soho-menu-jump-tabs,
    .soho-home-event-filters
  ){
    height:40px!important;
    min-height:40px!important;
  }
}

/* v3.6.81: no underline in any ribbon state; preserve the existing grow effect. */
:is(#soho-global-header,#soho-global-footer,#page,body) :is(
  .soho-parties-tabs a,
  .soho-events-page-tabs button,
  .soho-menu-jump.soho-menu-jump-tabs a,
  .soho-home-event-filters button
)::after,
:is(#soho-global-header,#soho-global-footer,#page,body) :is(
  .soho-parties-tabs a,
  .soho-events-page-tabs button,
  .soho-menu-jump.soho-menu-jump-tabs a,
  .soho-home-event-filters button
):is(:hover,:focus-visible,.is-active)::after{
  content:none!important;
  display:none!important;
}

/* v3.6.82: lighter brushing; retain the approved gold color stops. */
:root{
  --soho-brushed-gold-surface:
    repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0px,rgba(255,255,255,.035) .5px,rgba(90,61,26,.025) .5px,rgba(90,61,26,.025) 1px,transparent 1px,transparent 4px),
    repeating-linear-gradient(176deg,transparent 0px,transparent 32px,rgba(255,255,255,.025) 32px,rgba(255,255,255,.025) 33px,transparent 33px,transparent 67px),
    linear-gradient(105deg,#8a6437 0%,#b68e53 22%,#d0b071 43%,#ad8b53 63%,#c2a469 81%,#8f6b3d 100%);
}
:is(#soho-global-header,#soho-global-footer,#page,body) :is(
  .soho-btn:not(.green):not(.alt):not(.soho-takeaway-button),
  .soho-integrated-book,.soho-mobile-book,
  .soho-btn[href*="/book-bord"],.soho-btn[href*="book.easytable.com"],
  .soho-form button:not(.green),.soho-newsletter-form button
){
  border-color:transparent!important;
  border-image:none!important;
}
/* Match the existing TAKE AWAY edge without changing its background or size. */
:is(#page,body) .soho-hero .soho-actions .soho-btn.alt[href*="/menu"]{
  border:1px solid #334030!important;
  border-image:none!important;
}

/* Desktop menu copy expands again as soon as it passes a photo. */
@media(min-width:701px){
  body.soho-menu-page-body .soho-full-menu-page .soho-menu-editorial-row,
  body.soho-menu-page-body .soho-full-menu-page .soho-menu-editorial-row--left{
    display:flow-root!important;
  }
  body.soho-menu-page-body .soho-full-menu-page .soho-menu-editorial-copy{
    display:contents!important;
  }
  body.soho-menu-page-body .soho-full-menu-page .soho-menu-editorial-row > .soho-menu-editorial-photo,
  body.soho-menu-page-body .soho-full-menu-page #frokost .soho-menu-editorial-row > .soho-menu-editorial-photo{
    float:right!important;
    width:33%!important;
    max-width:315px!important;
    margin:10px 0 24px 32px!important;
  }
  body.soho-menu-page-body .soho-full-menu-page .soho-menu-editorial-row--left > .soho-menu-editorial-photo,
  body.soho-menu-page-body .soho-full-menu-page #frokost .soho-menu-editorial-row--left > .soho-menu-editorial-photo{
    float:left!important;
    margin:10px 32px 24px 0!important;
  }
  body.soho-menu-page-body .soho-full-menu-page .soho-menu-editorial-copy > .soho-menu-table{
    display:contents!important;
  }
  body.soho-menu-page-body .soho-full-menu-page .soho-menu-editorial-copy :is(h3,h4,.soho-menu-lead,.soho-menu-table-head,.soho-menu-entry,.soho-menu-table-row){
    overflow:hidden!important;
    width:auto!important;
    min-width:0!important;
  }
}
/* Source-specific focal points retain the plate/food inside the shallow mobile strip. */
body.soho-menu-page-body .soho-full-menu-page .soho-menu-photo-lunch_photo img{object-position:50% 73%!important;}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-photo-lunch_second_photo img{object-position:58% 51%!important;}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-photo-lunch_photo_3 img{object-position:46% 64%!important;}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-photo-evening_photo img{object-position:32% 62%!important;}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-photo-evening_photo_2 img{object-position:52% 69%!important;}
@media(max-width:700px){
  body.soho-menu-page-body .soho-full-menu-page .soho-menu-editorial-copy{display:block!important;}
  body.soho-menu-page-body .soho-full-menu-page .soho-menu-photo-lunch_photo img{object-position:50% 65%!important;}
  body.soho-menu-page-body .soho-full-menu-page .soho-menu-photo-lunch_second_photo img{object-position:58% 52%!important;}
  body.soho-menu-page-body .soho-full-menu-page .soho-menu-photo-lunch_photo_3 img{object-position:46% 65%!important;}
  body.soho-menu-page-body .soho-full-menu-page .soho-menu-photo-evening_photo img{object-position:32% 62%!important;}
  body.soho-menu-page-body .soho-full-menu-page .soho-menu-photo-evening_photo_2 img{object-position:52% 59%!important;}
}

/* Lower green menu headers; preserve the cards' widths and gold accents. */
body.soho-menu-page-body .soho-full-menu-page .soho-menu-accordion > summary,
body.soho-menu-page-body .soho-full-menu-page .soho-menu-accordion[open] > summary{
  min-height:64px!important;
}
@media(max-width:700px){
  body.soho-menu-page-body .soho-full-menu-page .soho-menu-accordion > summary,
  body.soho-menu-page-body .soho-full-menu-page .soho-menu-accordion[open] > summary{min-height:56px!important;}
}
/* Use the same quiet green tint for existing wine fields and other category headings. */
body.soho-menu-page-body .soho-full-menu-page .soho-menu-table h4,
body.soho-menu-page-body .soho-full-menu-page .soho-menu-editorial-copy > h3,
body.soho-menu-page-body .soho-full-menu-page #frokost .soho-menu-panel > h3,
body.soho-menu-page-body .soho-full-menu-page .soho-drink-group > h3{
  background:rgba(51,64,48,.08)!important;
  border-radius:5px!important;
  padding:7px 10px!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-subaccordion > summary{
  background:rgba(51,64,48,.08)!important;
  border-radius:5px!important;
}

/* The shortened OM OS paragraph fits without clipping or hiding its text. */
body.soho-about-page-body .soho-inner-hero-copy p{max-width:100%!important;}

/* Fit the supplied event artwork in every existing event-card location. */
:is(#page,body) :is(.soho-card-media,.soho-feed-event-image,.soho-christmas-event-image) img[src*="event-quiz-3682"]{
  object-fit:contain!important;
  object-position:center!important;
  background:#302c58!important;
}
:is(#page,body) img[src*="event-jakob-sveistrup-3682"]{object-position:52% 34%!important;}
:is(#page,body) img[src*="event-julefrokost-3682"]{object-position:50% 53%!important;}
.soho-event-replacement-3682{max-width:100%;height:auto;}
/* New legal documents only; established sections are outside these selectors. */
.soho-legal-page{padding-top:110px; padding-bottom:48px; color:#334030; background:#fff;}
.soho-legal-page .soho-shell{max-width:900px;}
.soho-legal-page h2{font-size:24px;margin:28px 0 12px;}
.soho-legal-page p,.soho-legal-page li{font-size:16px;line-height:1.65;}
.soho-legal-page a{color:#334030;text-decoration:underline;overflow-wrap:anywhere;}

/* v3.6.84: MENU fields, internal rules and requested photo alignment only.
   The separate TAKE·AWAY page and main green/gold accordion headers are unchanged. */
:is(#page,body).soho-menu-page-body .soho-full-menu-page:not(.soho-takeaway-page) .soho-menu-subaccordion > summary{
  background:none!important;
  box-shadow:none!important;
  border:0!important;
}
/* Same hue/saturation as #334030, lightened to 88% instead of a near-grey 8% overlay. */
:is(#page,body).soho-menu-page-body .soho-full-menu-page:not(.soho-takeaway-page) :is(
  .soho-menu-table h4,.soho-menu-editorial-copy > h3,
  #frokost .soho-menu-panel > h3,.soho-drink-group > h3
){background:#dee5dc!important;}
/* Remove separator paint while retaining the existing category spacing. */
:is(#page,body).soho-menu-page-body .soho-full-menu-page:not(.soho-takeaway-page) :is(
  .soho-menu-subaccordion,.soho-menu-entry,.soho-menu-table-row,
  .soho-menu-table-head,.soho-menu-note
){
  border:0!important;
  border-image:none!important;
  background-image:none!important;
}
:is(#page,body).soho-menu-page-body .soho-full-menu-page:not(.soho-takeaway-page) :is(
  .soho-menu-subdivider,.soho-menu-with-photo hr
){
  visibility:hidden!important;
  border:0!important;
  background:none!important;
}
@media(min-width:701px){
  /* A heading at the beginning of a photo category shares the photo's 10px top margin. */
  :is(#page,body).soho-menu-page-body .soho-full-menu-page:not(.soho-takeaway-page) .soho-menu-editorial-copy > h3:first-child,
  :is(#page,body).soho-menu-page-body .soho-full-menu-page:not(.soho-takeaway-page) .soho-menu-editorial-copy > .soho-drink-group:first-child > h3:first-child{
    margin-top:10px!important;
  }
  /* Wine's unchanged 33.5px column header precedes the first field's 24px margin. */
  :is(#page,body).soho-menu-page-body .soho-full-menu-page:not(.soho-takeaway-page) .soho-menu-photo-wine_photo{
    margin-top:57.5px!important;
  }
}

/* v3.6.85: requested thin sand separators; item size and hover behaviour unchanged. */
:is(#soho-global-header,#soho-global-footer,#page,body) :is(
  .soho-parties-tabs a,
  .soho-events-page-tabs button,
  .soho-menu-jump.soho-menu-jump-tabs a,
  .soho-home-event-filters button
):not(:first-child)::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:0!important;
  top:50%!important;
  bottom:auto!important;
  width:1px!important;
  height:14px!important;
  background:#dcd8cd!important;
  opacity:1!important;
  transform:translateY(-50%)!important;
  pointer-events:none!important;
}
@media(max-width:700px){
  :is(#soho-global-header,#soho-global-footer,#page,body) :is(
    .soho-parties-tabs a,
    .soho-events-page-tabs button,
    .soho-menu-jump.soho-menu-jump-tabs a,
    .soho-home-event-filters button
  ):not(:first-child)::before{height:10px!important;}
}

/* v3.6.86: the two marked rows regain full width at the photo's visible bottom.
   A float's former 24px bottom margin kept TATAREN/BURGEREN beside an empty strip. */
@media(min-width:701px){
  :is(#page,body).soho-menu-page-body .soho-full-menu-page:not(.soho-takeaway-page) #frokost .soho-menu-editorial-row > .soho-menu-photo-lunch_second_photo,
  :is(#page,body).soho-menu-page-body .soho-full-menu-page:not(.soho-takeaway-page) #aften-hovedretter .soho-menu-editorial-row > .soho-menu-photo-evening_photo_2{
    margin-bottom:0!important;
  }
}
/* Keep the existing SOHO subaccordions and their marks; tint only these summaries. */
:is(#page,body).soho-menu-page-body .soho-full-menu-page:not(.soho-takeaway-page) :is(
  #aften-forretter,#aften-hovedretter,#aften-desserter
) > summary{
  background:#dee5dc!important;
}
/* Soften only the requested header actions and front-page hero buttons.
   Extra selector specificity overrides the later v3.6.83 shadow stylesheet. */
:is(#soho-global-header,#page,body) :is(.soho-global-header,.soho-standalone-header) :is(
  .soho-header-action.soho-btn,.soho-mobile-book
){
  box-shadow:0 2px 7px rgba(0,0,0,.18)!important;
  text-shadow:0 1px 2px rgba(0,0,0,.32)!important;
}
:is(#page,body) .soho-hero .soho-actions .soho-btn{
  box-shadow:0 2px 8px rgba(0,0,0,.20)!important;
  text-shadow:0 1px 2px rgba(0,0,0,.36)!important;
}

/* v3.6.87: apply the corresponding approved MENU corrections to TAKE·AWAY.
   Its category titles are h3 elements; its two main green/gold tabs stay intact. */
:is(#page,body).soho-menu-page-body .soho-full-menu-page.soho-takeaway-page :is(
  .soho-menu-editorial-copy > h3,.soho-menu-panel > h3
){background:#dee5dc!important;}
:is(#page,body).soho-menu-page-body .soho-full-menu-page.soho-takeaway-page :is(
  .soho-menu-entry,.soho-menu-note
){
  border:0!important;
  border-image:none!important;
  background-image:none!important;
}
:is(#page,body).soho-menu-page-body .soho-full-menu-page.soho-takeaway-page :is(
  .soho-menu-subdivider,.soho-menu-with-photo hr
){
  visibility:hidden!important;
  border:0!important;
  background:none!important;
}
@media(min-width:701px){
  :is(#page,body).soho-menu-page-body .soho-full-menu-page.soho-takeaway-page .soho-menu-editorial-copy > h3:first-child{
    margin-top:10px!important;
  }
  :is(#page,body).soho-menu-page-body .soho-full-menu-page.soho-takeaway-page .soho-menu-editorial-row > .soho-menu-editorial-photo{
    margin-bottom:0!important;
  }
}

/* v3.6.88: remaining sand foregrounds use the existing footer-heading gold.
   Only text/line/icon paint changes; surfaces and border dimensions are retained. */
:is(#soho-global-header,#soho-global-footer,#page,body) :is(
  .soho-eyebrow,.soho-events-kicker,.soho-event-source-label,.soho-footer h4,
  .soho-about-values-label,.soho-party-package-no,
  .soho-christmas-date span,.soho-christmas-event-date em,
  .soho-christmas-event-summary > span,.soho-feed-event-type,
  .soho-feed-event-meta span b,.soho-special-hours summary,
  .soho-mobile-menu-bottom-left span,.soho-mobile-navigation .soho-mobile-menu-bottom a,
  .soho-arrow-link span,.soho-christmas-event-summary strong i,
  .soho-feed-event-summary strong i,.soho-christmas-date-card > a span,
  .soho-icon:not(:has(svg)),.soho-about-values-grid i:not(:has(svg))
){
  color:var(--soho-metal-gold-mid)!important;
  -webkit-text-fill-color:currentColor!important;
}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  :is(#soho-global-header,#soho-global-footer,#page,body) :is(
  .soho-eyebrow,.soho-events-kicker,.soho-event-source-label,.soho-footer h4,
  .soho-about-values-label,.soho-party-package-no,
  .soho-christmas-date span,.soho-christmas-event-date em,
  .soho-christmas-event-summary > span,.soho-feed-event-type,
  .soho-feed-event-meta span b,.soho-special-hours summary,
  .soho-mobile-menu-bottom-left span,.soho-mobile-navigation .soho-mobile-menu-bottom a,
  .soho-arrow-link span,.soho-christmas-event-summary strong i,
  .soho-feed-event-summary strong i,.soho-christmas-date-card > a span,
  .soho-icon:not(:has(svg)),.soho-about-values-grid i:not(:has(svg))
){
    background-image:var(--soho-metal-gold-gradient)!important;
    background-size:180% 100%!important;
    background-position:center!important;
    -webkit-background-clip:text!important;
    background-clip:text!important;
    -webkit-text-fill-color:transparent!important;
    color:transparent!important;
  }
}
/* SVG icons need an opaque currentColor; background-clipped text would hide them. */
:is(#soho-global-header,#soho-global-footer,#page,body) :is(
  .info-item i,.soho-icon:has(svg),.soho-about-values-grid i:has(svg)
){color:var(--soho-metal-gold-mid)!important;}
/* Keep the requested vertical ribbons thin, with the same metallic line paint. */
:is(#soho-global-header,#soho-global-footer,#page,body) :is(
  .soho-parties-tabs a,.soho-events-page-tabs button,
  .soho-menu-jump.soho-menu-jump-tabs a,.soho-home-event-filters button
):not(:first-child)::before{
  background:var(--soho-metal-gold-gradient)!important;
}

/* v3.6.89: contact email becomes a mailto link without changing its appearance. */
:is(#soho-global-footer,#page,body) .soho-contact-section .info-item em > a.soho-contact-email{
  color:inherit!important;
  -webkit-text-fill-color:currentColor!important;
  font:inherit!important;
  text-decoration:none!important;
}


/* SOHO v3.6.90: requested mobile footer contact alignment/newsletter width.
   Keep the existing shell, grid areas, gaps and desktop/tablet layout. */
@media (max-width:700px){
  #soho-global-footer .soho-footer-grid > .soho-newsletter{
    grid-column:1 / -1!important;
    justify-self:stretch!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }
  #soho-global-footer .soho-newsletter > p,
  #soho-global-footer .soho-newsletter-form{
    width:100%!important;
    max-width:none!important;
    box-sizing:border-box!important;
  }
  #soho-global-footer .soho-newsletter-form{
    grid-template-columns:minmax(0,1fr) 42px!important;
  }
}
@media (min-width:371px) and (max-width:700px){
  #soho-global-footer .soho-footer-grid > .soho-footer-contact{
    display:flex!important;
    flex-direction:column!important;
    justify-content:space-between!important;
    align-self:stretch!important;
    box-sizing:border-box!important;
    height:var(--soho-footer-contact-height,auto)!important;
    padding-top:var(--soho-footer-contact-top,26px)!important;
  }
  #soho-global-footer .soho-footer-contact > h4,
  #soho-global-footer .soho-footer-contact > p{
    flex-shrink:0!important;
    margin-top:0!important;
    margin-bottom:0!important;
  }
}

/* SOHO v3.6.91: changing div controls to forms must not add theme margins. */
:is(#soho-global-footer,#page,body) form[data-soho-form]{
  margin:0!important;
}
:is(#soho-global-footer,#page,body) form[data-soho-form] [hidden],
:is(#soho-global-footer,#page,body) .soho-form-status[hidden]{
  display:none!important;
}
:is(#soho-global-footer,#page,body) .soho-form-status{
  margin:0!important;
  color:inherit!important;
  font-size:13px!important;
  line-height:1.55!important;
}
:is(#soho-global-footer,#page,body) .soho-newsletter > .soho-form-status{
  margin-top:8px!important;
}


/* SOHO v3.6.92: footer Cookieindstillinger matches the neighbouring links.
   Keep the native button and the existing consent/focus behaviour. */
:is(#soho-global-footer,#page,body) .soho-footer .small .soho-cookie-settings-link{
  font:inherit!important;
  font-size:13px!important;
  letter-spacing:inherit!important;
  color:#e3e8e4!important;
  -webkit-text-fill-color:currentColor!important;
  text-decoration:none!important;
  vertical-align:baseline!important;
}

/* Remove only the mobile/tablet burger's green fill. Its gold frame stays. */
@media (max-width:1100px){
  :is(#soho-global-header,#page,body) :is(.soho-global-header,.soho-standalone-header) .soho-integrated-menu-toggle{
    background:none!important;
    border-color:var(--soho-metal-gold-mid)!important;
  }
  @supports ((mask-composite:exclude) or (-webkit-mask-composite:xor)){
    :is(#soho-global-header,#page,body) :is(.soho-global-header,.soho-standalone-header) .soho-integrated-menu-toggle{
      border-color:transparent!important;
    }
    :is(#soho-global-header,#page,body) :is(.soho-global-header,.soho-standalone-header) .soho-integrated-menu-toggle::before{
      content:""!important;
      position:absolute!important;
      inset:-1px!important;
      padding:1px!important;
      border-radius:inherit!important;
      background:var(--soho-metal-gold-gradient)!important;
      -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0)!important;
      -webkit-mask-composite:xor!important;
      mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0)!important;
      mask-composite:exclude!important;
      pointer-events:none!important;
    }
  }
}

/* About: equal content-driven heights, including stacked mobile value boxes.
   Preserve the existing column counts, padding, borders, type and spacing. */
:is(#page,body) .soho-about-main :is(.soho-about-values-grid,.soho-about-stats){
  grid-auto-rows:1fr!important;
  align-items:stretch!important;
}
:is(#page,body) .soho-about-main .soho-about-values-grid > article,
:is(#page,body) .soho-about-main .soho-about-stats > div{
  box-sizing:border-box!important;
  height:100%!important;
}

/* v3.6.93: fit only the two photographed mobile hero headings.
   Override the legacy fixed 36px inner-hero title without altering the hero,
   text column, subtitle, fonts, line breaks or desktop/tablet presentation. */
@media(max-width:700px){
  :is(#page,body):is(.soho-about-page-body,.soho-parties-page-body) .soho-inner-hero .soho-inner-hero-copy h1{
    font-size:clamp(22px,6vw,28px)!important;
  }
}
/* The three evening summaries share BOBLER & SNACKS' unfilled closed state.
   Tint their existing heading only while their native SOHO details is open. */
:is(#page,body).soho-menu-page-body .soho-full-menu-page:not(.soho-takeaway-page) :is(
  #aften-forretter,#aften-hovedretter,#aften-desserter
):not([open]) > summary{
  background:none!important;
}
:is(#page,body).soho-menu-page-body .soho-full-menu-page:not(.soho-takeaway-page) :is(
  #aften-forretter,#aften-hovedretter,#aften-desserter
)[open] > summary{
  background:#dee5dc!important;
}

/* v3.6.94: every non-home mobile HERO uses the same responsive heading size.
   Specificity also beats the old MENU font overrides and v3.6.93's two-page rule. */
@media(max-width:700px){
  :is(#page,body):not(.home):not(.front-page) .soho-inner-hero :is(.soho-inner-hero-copy,.soho-menu-hero-copy) h1{
    font-size:clamp(22px,6vw,28px)!important;
  }
}
/* Move the header's existing green TAKE·AWAY treatment to the home HERO.
   Keep the current SE MENU treatment and both button dimensions. */
:is(#page,body):is(.home,.front-page) .soho-hero .soho-actions .soho-takeaway-button{
  background:linear-gradient(125deg,rgba(255,255,255,.07),transparent 38%),linear-gradient(180deg,rgba(51,64,48,.74),rgba(51,64,48,.74))!important;
  border:1px solid #334030!important;
  border-image:none!important;
}
/* More breathing room only above/below the two requested home sections. */
:is(#page,body):is(.home,.front-page) .elementor-widget-soho_events .soho-events-section{
  padding-top:calc(var(--soho-section-gap,38px) + 18px)!important;
  padding-bottom:calc(var(--soho-section-gap,38px) / 2 + 12px)!important;
}
:is(#page,body):is(.home,.front-page) .elementor-widget-soho_content_split .soho-section.soft{
  padding-top:calc(var(--soho-section-gap,38px) / 2 + 12px)!important;
  padding-bottom:calc(var(--soho-section-gap,38px) / 2 + 18px)!important;
}
@media(max-width:700px){
  :is(#page,body):is(.home,.front-page) .elementor-widget-soho_events .soho-events-section{
    padding-top:calc(var(--soho-section-gap,28px) + 12px)!important;
    padding-bottom:calc(var(--soho-section-gap,28px) / 2 + 8px)!important;
  }
  :is(#page,body):is(.home,.front-page) .elementor-widget-soho_content_split .soho-section.soft{
    padding-top:calc(var(--soho-section-gap,28px) / 2 + 8px)!important;
    padding-bottom:calc(var(--soho-section-gap,28px) / 2 + 12px)!important;
  }
  /* Keep all four complete legal labels on one line. Narrow screens can scroll
     this row, instead of reducing the lettering to an unreadable size. */
  :is(#soho-global-footer,#page,body) .soho-footer .small .soho-footer-legal{
    display:block!important;
    min-width:0!important;
    max-width:100%!important;
    width:100%!important;
    white-space:nowrap!important;
    overflow-x:auto!important;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    font-size:11px!important;
  }
  :is(#soho-global-footer,#page,body) .soho-footer .small .soho-footer-legal :is(a,.soho-cookie-settings-link){
    font-size:11px!important;
    white-space:nowrap!important;
    text-decoration:none!important;
  }
}
/* No frame/fill around the burger. Its three-stroke stack has the same total
   height as BOOK BORD (42px tablet, 39px mobile), including open-state alignment. */
@media(max-width:1100px){
  :is(#soho-global-header,#page,body) :is(.soho-global-header,.soho-standalone-header) .soho-integrated-menu-toggle{
    --soho-burger-height:42px;
    height:var(--soho-burger-height)!important;
    border:0!important;
    background:none!important;
    padding:0!important;
    box-shadow:none!important;
  }
  :is(#soho-global-header,#page,body) :is(.soho-global-header,.soho-standalone-header) .soho-integrated-menu-toggle::before,
  :is(#soho-global-header,#page,body) :is(.soho-global-header,.soho-standalone-header) .soho-integrated-menu-toggle::after{
    content:none!important;display:none!important;
  }
  :is(#soho-global-header,#page,body) :is(.soho-global-header,.soho-standalone-header) .soho-integrated-menu-toggle span{
    position:absolute!important;
    left:50%!important;
    margin-left:-14px!important;
    width:28px!important;
    height:2px!important;
    transform:none!important;
  }
  :is(#soho-global-header,#page,body) :is(.soho-global-header,.soho-standalone-header) .soho-integrated-menu-toggle span:nth-child(1){top:0!important;}
  :is(#soho-global-header,#page,body) :is(.soho-global-header,.soho-standalone-header) .soho-integrated-menu-toggle span:nth-child(2){top:calc((var(--soho-burger-height) - 2px) / 2)!important;}
  :is(#soho-global-header,#page,body) :is(.soho-global-header,.soho-standalone-header) .soho-integrated-menu-toggle span:nth-child(3){top:calc(var(--soho-burger-height) - 2px)!important;}
  :is(#soho-global-header,#page,body) :is(.soho-global-header,.soho-standalone-header).is-menu-open .soho-integrated-menu-toggle span:nth-child(1){transform:translateY(calc((var(--soho-burger-height) - 2px) / 2)) rotate(45deg)!important;}
  :is(#soho-global-header,#page,body) :is(.soho-global-header,.soho-standalone-header).is-menu-open .soho-integrated-menu-toggle span:nth-child(2){opacity:0!important;}
  :is(#soho-global-header,#page,body) :is(.soho-global-header,.soho-standalone-header).is-menu-open .soho-integrated-menu-toggle span:nth-child(3){transform:translateY(calc((2px - var(--soho-burger-height)) / 2)) rotate(-45deg)!important;}
}
@media(max-width:700px){
  :is(#soho-global-header,#page,body) :is(.soho-global-header,.soho-standalone-header) .soho-integrated-menu-toggle{--soho-burger-height:39px;}
}
/* The screenshot's blank strip is the party panel's outer bottom padding. */
:is(#page,body).soho-parties-page-body .soho-parties-page .soho-party-panel{padding-bottom:0!important;}
/* Reduce only the contact topic control/options, retaining its 44px field height. */
:is(#soho-global-footer,#page,body) form[data-soho-form="contact"] select[name="topic"],
:is(#soho-global-footer,#page,body) form[data-soho-form="contact"] select[name="topic"] option{font-size:12px!important;}
:is(#soho-global-footer,#page,body) .soho-form-event-context{margin:0!important;font-size:12px!important;line-height:1.5!important;}

/* v3.6.97: only the two requested news-image presentations. */
:is(#page,body) :is(.soho-card-media,.soho-feed-event-image) img[src*="news-sophus-3696"]{
  object-position:50% 8%!important;
}
:is(#page,body) :is(.soho-card-media,.soho-feed-event-image) img[src*="news-website-3697"]{
  object-fit:contain!important;
  object-position:center!important;
  background:#334030!important;
}

/* v3.6.98: focal points apply only to the three new inner-hero photos. */
body:not(.home):not(.front-page) .soho-standard-inner-hero[data-soho-hero-photo="food"]{
  background-position:50% 52%!important;
}
body:not(.home):not(.front-page) .soho-standard-inner-hero[data-soho-hero-photo="dining"]{
  background-position:50% 40%!important;
}
body:not(.home):not(.front-page) .soho-standard-inner-hero[data-soho-hero-photo="events"]{
  background-position:62% 50%!important;
}
@media(max-width:700px){
  body:not(.home):not(.front-page) .soho-standard-inner-hero[data-soho-hero-photo="food"]{background-position:62% 50%!important;}
  body:not(.home):not(.front-page) .soho-standard-inner-hero[data-soho-hero-photo="dining"]{background-position:72% 40%!important;}
  body:not(.home):not(.front-page) .soho-standard-inner-hero[data-soho-hero-photo="events"]{background-position:64% 50%!important;}
}

/* v3.6.99: five fine strokes; retain the existing frame-free surface/height. */
@media(max-width:1100px){
  :is(#soho-global-header,#page,body) :is(.soho-global-header,.soho-standalone-header) .soho-integrated-menu-toggle{
    --soho-burger-stroke:1.25px;
    flex-basis:44px!important;
    width:44px!important;
  }
  :is(#soho-global-header,#page,body) :is(.soho-global-header,.soho-standalone-header) .soho-integrated-menu-toggle span{
    margin-left:-18px!important;
    width:36px!important;
    height:var(--soho-burger-stroke)!important;
    transform:none!important;
    opacity:1!important;
  }
  :is(#soho-global-header,#page,body) :is(.soho-global-header,.soho-standalone-header) .soho-integrated-menu-toggle span:nth-child(1){top:0!important;}
  :is(#soho-global-header,#page,body) :is(.soho-global-header,.soho-standalone-header) .soho-integrated-menu-toggle span:nth-child(2){top:calc((var(--soho-burger-height) - var(--soho-burger-stroke)) / 4)!important;}
  :is(#soho-global-header,#page,body) :is(.soho-global-header,.soho-standalone-header) .soho-integrated-menu-toggle span:nth-child(3){top:calc((var(--soho-burger-height) - var(--soho-burger-stroke)) / 2)!important;}
  :is(#soho-global-header,#page,body) :is(.soho-global-header,.soho-standalone-header) .soho-integrated-menu-toggle span:nth-child(4){top:calc((var(--soho-burger-height) - var(--soho-burger-stroke)) * 3 / 4)!important;}
  :is(#soho-global-header,#page,body) :is(.soho-global-header,.soho-standalone-header) .soho-integrated-menu-toggle span:nth-child(5){top:calc(var(--soho-burger-height) - var(--soho-burger-stroke))!important;}
  :is(#soho-global-header,#page,body) :is(.soho-global-header,.soho-standalone-header).is-menu-open .soho-integrated-menu-toggle span:nth-child(1){transform:translateY(calc((var(--soho-burger-height) - var(--soho-burger-stroke)) / 2)) rotate(45deg)!important;}
  :is(#soho-global-header,#page,body) :is(.soho-global-header,.soho-standalone-header).is-menu-open .soho-integrated-menu-toggle span:nth-child(2),
  :is(#soho-global-header,#page,body) :is(.soho-global-header,.soho-standalone-header).is-menu-open .soho-integrated-menu-toggle span:nth-child(3),
  :is(#soho-global-header,#page,body) :is(.soho-global-header,.soho-standalone-header).is-menu-open .soho-integrated-menu-toggle span:nth-child(4){opacity:0!important;transform:none!important;}
  :is(#soho-global-header,#page,body) :is(.soho-global-header,.soho-standalone-header).is-menu-open .soho-integrated-menu-toggle span:nth-child(5){transform:translateY(calc((var(--soho-burger-stroke) - var(--soho-burger-height)) / 2)) rotate(-45deg)!important;}
}
/* MENU and TAKE·AWAY: space around the list, and only the two side borders. */
body.soho-menu-page-body .soho-full-menu-page .soho-menu-accordions{
  padding-top:24px!important;
  padding-bottom:74px!important;
}
body.soho-menu-page-body .soho-full-menu-page .soho-menu-accordion{
  border-left:1px solid rgba(182,142,83,.60)!important;
  border-right:1px solid rgba(182,142,83,.60)!important;
}
@media(max-width:700px){
  body.soho-menu-page-body .soho-full-menu-page .soho-menu-accordions{
    padding-top:16px!important;
    padding-bottom:50px!important;
  }
}

/* v3.6.100: reference fries icon and larger links within the existing mobile panel. */
@media(max-width:1100px){
  :is(#soho-global-header,#page,body) :is(.soho-global-header,.soho-standalone-header) .soho-integrated-menu-toggle span{
    left:4px!important;
    margin-left:0!important;
    width:24px!important;
    height:3px!important;
    background:#b99a67!important;
    border-radius:0!important;
    transform:none!important;
    opacity:1!important;
  }
  :is(#soho-global-header,#page,body) :is(.soho-global-header,.soho-standalone-header) .soho-integrated-menu-toggle span:nth-child(1){top:calc(50% - 11.5px)!important;}
  :is(#soho-global-header,#page,body) :is(.soho-global-header,.soho-standalone-header) .soho-integrated-menu-toggle span:nth-child(2){top:calc(50% - 1.5px)!important;width:36px!important;}
  :is(#soho-global-header,#page,body) :is(.soho-global-header,.soho-standalone-header) .soho-integrated-menu-toggle span:nth-child(3){top:calc(50% + 8.5px)!important;}
  :is(#soho-global-header,#page,body) :is(.soho-global-header,.soho-standalone-header).is-menu-open .soho-integrated-menu-toggle span:nth-child(1){
    left:4px!important;top:calc(50% - 1.5px)!important;width:36px!important;transform:rotate(45deg)!important;
  }
  :is(#soho-global-header,#page,body) :is(.soho-global-header,.soho-standalone-header).is-menu-open .soho-integrated-menu-toggle span:nth-child(2){opacity:0!important;transform:none!important;}
  :is(#soho-global-header,#page,body) :is(.soho-global-header,.soho-standalone-header).is-menu-open .soho-integrated-menu-toggle span:nth-child(3){
    left:4px!important;top:calc(50% - 1.5px)!important;width:36px!important;transform:rotate(-45deg)!important;opacity:1!important;
  }
  :is(#soho-global-header,#page,body) .soho-mobile-navigation nav{
    height:100%!important;
  }
  :is(#soho-global-header,#page,body) .soho-mobile-navigation nav > a{
    flex:1 0 62px!important;
    font-size:clamp(32px,5vw,48px)!important;
    line-height:1.15!important;
  }
}
@media(max-width:700px){
  :is(#soho-global-header,#page,body) .soho-mobile-navigation nav > a{
    flex-basis:57px!important;
    font-size:clamp(28px,9vw,44px)!important;
  }
}

/* MENU only: existing site sand / cream surface around the unchanged cards. */
:is(#page,body).soho-menu-sand-body,
:is(#page,body).soho-menu-sand-body :is(.site-content,.elementor-widget-soho_full_menu > .elementor-widget-container,.elementor-widget-soho_full_menu .soho-site,.soho-full-menu-page,.soho-menu-accordions){
  background-color:var(--soho-cream,#f7f5ef)!important;
}
/* v3.6.101: restore TAKE·AWAY to both headers, including mobile. */
:is(#soho-global-header,#page,body) :is(.soho-global-header,.soho-standalone-header) .soho-mobile-takeaway{display:none!important;}
@media(max-width:1100px){
  :is(#soho-global-header,#page,body) :is(.soho-global-header,.soho-standalone-header) .soho-mobile-takeaway{
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    box-sizing:border-box!important;width:112px!important;min-width:112px!important;height:42px!important;
    padding:0 8px!important;font-size:11px!important;line-height:1!important;white-space:nowrap!important;
    margin-left:auto!important;margin-right:0!important;
  }
  :is(#soho-global-header,#page,body) :is(.soho-global-header,.soho-standalone-header) .soho-mobile-book{margin-left:0!important;}
}
@media(max-width:700px){
  :is(#soho-global-header,#page,body) :is(.soho-global-header,.soho-standalone-header) .soho-mobile-takeaway{width:86px!important;min-width:86px!important;height:39px!important;font-size:10px!important;}
}
@media(max-width:380px){
  :is(#soho-global-header,#page,body) :is(.soho-global-header,.soho-standalone-header) .soho-integrated-header-inner{gap:4px!important;}
  :is(#soho-global-header,#page,body) :is(.soho-global-header,.soho-standalone-header) .soho-mobile-takeaway{width:68px!important;min-width:68px!important;padding:0 3px!important;font-size:9px!important;}
  :is(#soho-global-header,#page,body) :is(.soho-global-header,.soho-standalone-header) .soho-mobile-book{width:80px!important;min-width:80px!important;padding:0 3px!important;}
  :is(#soho-global-header,#page,body) .soho-standalone-header .soho-integrated-logo{width:92px!important;max-width:92px!important;}
}
/* Only OM OS' new terrace photograph receives this focal point. */
:is(#page,body).soho-about-page-body .soho-standard-inner-hero{background-position:center 58%!important;}
/* Vertically center every ribbon and its inner row. Keep 60 / 40px heights. */
:is(#page,body) :is(.soho-parties-tabs,.soho-events-page-tabs,.soho-menu-jump.soho-menu-jump-tabs,.soho-home-event-filters){
  box-sizing:border-box!important;align-items:center!important;padding-top:0!important;padding-bottom:0!important;
}
:is(#page,body) :is(.soho-parties-tabs,.soho-events-page-tabs,.soho-menu-jump.soho-menu-jump-tabs) > .soho-shell{
  height:100%!important;min-height:0!important;align-items:center!important;padding-top:0!important;padding-bottom:0!important;margin-top:0!important;margin-bottom:0!important;
}

/* v3.6.102: only the seven requested components. Preserve button dimensions. */
:is(#soho-global-header,#page,body) :is(.soho-global-header,.soho-standalone-header) .soho-takeaway-button{
  border-color:transparent!important;border-image:none!important;
}
@media(max-width:1100px){
  :is(#soho-global-header,#page,body) :is(.soho-global-header,.soho-standalone-header) .soho-mobile-book{display:none!important;}
}
/* Remove all interior separator paint in DRINKS only; preserve spacing and heading fills. */
:is(#page,body).soho-menu-page-body .soho-full-menu-page:not(.soho-takeaway-page) #drikkevarer :is(.soho-drink-group,.soho-menu-entry,.soho-menu-note,.soho-menu-subdivider,hr){
  border:0!important;border-image:none!important;background-image:none!important;
}
:is(#page,body).soho-menu-page-body .soho-full-menu-page:not(.soho-takeaway-page) #drikkevarer :is(.soho-menu-subdivider,hr){visibility:hidden!important;background:none!important;}
@media(min-width:701px){
  :is(#page,body).soho-menu-page-body .soho-full-menu-page.soho-takeaway-page .soho-menu-editorial-copy > .soho-takeaway-chicken-burger{
    clear:both!important;text-align:left!important;
  }
}
/* Match the job form's existing 1px gold border, retaining contact field layout. */
:is(#soho-global-footer,#page,body) form[data-soho-form="contact"] :is(input[type="text"],input[type="email"],input[type="tel"],select,textarea){
  border:1px solid var(--soho-metal-gold-mid)!important;border-image:none!important;
}

/* v3.6.103: the two circled lunch burgers stay beside the existing photograph.
   Override v3.6.102's chicken clear only in this lunch category. */
@media(min-width:701px){
  :is(#page,body).soho-menu-page-body .soho-full-menu-page.soho-takeaway-page #takeaway-frokost .soho-menu-editorial-copy > .soho-takeaway-burger-placement{
    clear:none!important;
  }
}
