
:root{--wn-wine:#982f3b;--wn-ink:#211e1c;--wn-muted:#716862;--wn-cream:#fbf7f1;--wn-paper:#fffdfa;--wn-sand:#f3e9df;--wn-line:#e8ddd4;--wn-shadow:0 18px 44px rgba(65,44,31,.08)}
html{scroll-behavior:smooth}body{background:var(--wn-paper);color:var(--wn-ink)}
.wn-red{color:var(--wn-wine)}
.wn-header{position:sticky;top:0;z-index:1000;background:rgba(255,253,250,.97);backdrop-filter:blur(12px);border-bottom:1px solid rgba(232,221,212,.75)}
.admin-bar .wn-header{top:32px}.wn-header-inner{min-height:74px;padding:0 2%;transition:.22s}.wn-header .wp-block-site-logo img{width:92px!important;height:auto!important;transition:.22s}.wn-main-nav{margin-left:auto;margin-right:auto}.wn-main-nav .wp-block-page-list{gap:26px}.wn-main-nav a{text-decoration:none!important;color:var(--wn-ink)!important}.wn-main-nav a:hover{color:var(--wn-wine)!important}.wn-social{margin:0}
.wn-header.is-scrolled .wn-header-inner{min-height:56px}.wn-header.is-scrolled .wp-block-site-logo img{width:62px!important}.wn-header.is-scrolled{box-shadow:0 8px 24px rgba(52,35,25,.06)}
.wn-footer{border-top:1px solid var(--wn-line)}.wn-copyright{min-height:48px;font-size:9px;color:var(--wn-muted);padding:0 2%}.wn-copyright p{margin:0}
.wn-home-hero,.wn-page-hero{position:relative;overflow:hidden;border-radius:14px;margin-top:20px!important;min-height:600px}.wn-home-hero:after,.wn-page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fffdfa 0%,rgba(255,253,250,.98) 24%,rgba(255,253,250,.82) 41%,rgba(255,253,250,.12) 68%,transparent 80%);z-index:1}.wn-home-hero .wp-block-cover__inner-container,.wn-page-hero .wp-block-cover__inner-container{position:relative;z-index:2}.wn-home-hero .wp-block-cover__image-background,.wn-page-hero .wp-block-cover__image-background{object-position:center 54%!important}.wn-hero-copy{width:48%;margin-left:4%!important;margin-right:auto!important}.wn-hero-copy h1{font-family:Georgia,serif;font-size:clamp(58px,5vw,84px)!important;line-height:.98!important;font-weight:400!important;letter-spacing:-.04em;margin:0 0 22px!important}.wn-page-hero .wn-hero-copy h1{font-size:clamp(50px,5vw,74px)!important}.wn-hero-lead{font-size:18px}.wn-eyebrow,.wn-kicker{color:var(--wn-wine);text-transform:uppercase;letter-spacing:.22em;font-size:10px;font-weight:700}.wn-kicker{text-align:center}.wn-home-actions{margin-top:-105px!important;position:relative;z-index:5;width:min(86%,1400px);padding-left:2%}.wn-primary-buttons .wp-element-button{background:var(--wn-wine)!important;color:#fff!important}.wn-outline-buttons .wp-element-button{background:rgba(255,255,255,.72)!important;color:var(--wn-ink)!important;border:1px solid #8e8580}.wn-text-button .wp-element-button{background:transparent!important;color:var(--wn-wine)!important;padding:0!important}.wn-center-button{justify-content:center}
.wn-section{padding-top:62px!important;padding-bottom:62px!important}.wn-offer-grid{width:min(88%,1280px)!important;margin-left:auto!important;margin-right:auto!important;gap:28px!important;align-items:stretch!important}.wn-offer-grid>.wp-block-column{display:flex}.wn-card{width:100%;height:100%;padding:0!important;gap:0!important;border:1px solid var(--wn-line);border-radius:9px;overflow:hidden;background:#fff;box-shadow:var(--wn-shadow)}.wn-card-image{margin:0!important;width:100%}.wn-card-image img{width:100%!important;height:270px!important;object-fit:cover!important}.wn-card-copy{padding:20px 24px 24px!important;min-height:175px;display:flex!important;flex-direction:column;align-items:center;text-align:center}.wn-card-copy h2{font-size:34px!important;margin:0 0 8px!important}.wn-card-copy p{font-size:14px}.wn-card-copy .wp-block-buttons{margin-top:auto}
.wn-promo-section{padding-top:8px!important}.wn-promo-grid{gap:24px!important}.wn-promo{padding:0!important;background:var(--wn-sand);border-radius:9px;overflow:hidden;min-height:330px}.wn-promo>.wp-block-columns{gap:0!important;height:100%}.wn-promo>.wp-block-columns>.wp-block-column{display:flex}.wn-promo-copy{padding:36px 32px!important;display:flex!important;flex-direction:column;align-items:flex-start}.wn-promo-copy h2{font-size:38px!important}.wn-promo-copy .wp-block-buttons{margin-top:auto}.wn-promo-image{margin:0!important;width:100%;height:100%}.wn-promo-image img{width:100%!important;height:100%!important;min-height:330px!important;object-fit:cover!important}
.wn-instagram{padding-top:14px!important}.wn-instagram h2{font-size:40px!important}.wn-home-gallery{gap:10px!important}.wn-home-gallery figure{margin:0!important}.wn-home-gallery img{aspect-ratio:1.2/1!important;object-fit:cover!important}
.wn-visit-grid{gap:30px!important;align-items:stretch!important}.wn-visit-image{height:100%;margin:0!important}.wn-visit-image img{width:100%!important;height:100%!important;min-height:320px!important;object-fit:cover!important;border-radius:9px}.wn-parking{height:100%;background:#f1e6dc;padding:28px!important;border-radius:9px}.wn-parking-p{font-family:Georgia,serif;font-size:60px!important;color:var(--wn-wine);line-height:1;margin:0!important}.wn-small{font-size:11px;color:var(--wn-muted)}
.wn-menu-editable,.wn-menu-columns,.wn-story,.wn-contact-cards,.wn-instagram-placeholder{width:min(90%,1260px);margin:0 auto}.wn-menu-editable h2,.wn-menu-columns h2,.wn-story h2,.wn-contact-cards h2{font-family:Georgia,serif;font-size:36px;font-weight:400}.wn-menu-editable h3{margin-top:32px}.wn-menu-columns{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.wn-menu-columns.three{grid-template-columns:repeat(3,1fr)}.wn-menu-columns>div,.wn-contact-cards>div,.wn-instagram-placeholder{background:#fff;border:1px solid var(--wn-line);padding:32px;border-radius:10px;box-shadow:var(--wn-shadow)}.wn-photo-gallery{gap:14px!important}.wn-photo-gallery img{aspect-ratio:1.15/1!important;object-fit:cover!important}.wn-instagram-placeholder{margin-top:45px}
.wn-story{display:grid;grid-template-columns:1fr 1.15fr;gap:55px;align-items:center}.wn-story-second{margin-top:70px;grid-template-columns:1.15fr 1fr}.wn-story img{width:100%!important;max-height:580px!important;object-fit:cover!important;border-radius:10px}.wn-contact-cards{display:grid;grid-template-columns:1.05fr 1.2fr .75fr;gap:24px}.wn-contact-cards .wn-parking{background:#f1e6dc}
@media(max-width:1000px){.admin-bar .wn-header{top:32px}.wn-main-nav .wp-block-page-list{gap:12px}.wn-home-hero,.wn-page-hero{min-height:680px}.wn-home-hero:after,.wn-page-hero:after{background:linear-gradient(0deg,#fffdfa 0%,rgba(255,253,250,.88) 43%,rgba(255,253,250,.03) 78%)}.wn-hero-copy{width:72%;align-self:flex-end!important;margin-bottom:35px!important;background:rgba(255,253,250,.78);padding:24px!important;border-radius:9px}.wn-home-actions{margin-top:-125px!important}.wn-offer-grid{flex-wrap:wrap!important}.wn-promo-grid{flex-direction:column}.wn-home-gallery{grid-template-columns:repeat(3,1fr)!important}.wn-menu-columns.three{grid-template-columns:1fr 1fr}.wn-story,.wn-story-second{grid-template-columns:1fr}.wn-contact-cards{grid-template-columns:1fr 1fr}.wn-contact-cards .wn-parking{grid-column:1/-1}}
@media(max-width:650px){.admin-bar .wn-header{top:46px}.wn-header-inner{min-height:64px}.wn-header .wp-block-site-logo img{width:82px!important}.wn-header.is-scrolled .wn-header-inner{min-height:52px}.wn-header.is-scrolled .wp-block-site-logo img{width:56px!important}.wn-social{display:none!important}.wn-home-hero,.wn-page-hero{min-height:700px;margin-top:10px!important}.wn-hero-copy{width:92%;margin-left:auto!important;margin-right:auto!important;margin-bottom:28px!important}.wn-hero-copy h1{font-size:46px!important}.wn-home-actions{margin-top:-145px!important;flex-direction:column!important;align-items:stretch!important;padding:0 4%}.wn-home-actions .wp-block-buttons{width:100%}.wn-home-actions .wp-element-button{width:100%;text-align:center}.wn-section{padding-top:48px!important;padding-bottom:48px!important}.wn-offer-grid{display:flex!important;flex-direction:column!important;width:92%!important}.wn-card-image img{height:230px!important}.wn-promo>.wp-block-columns{flex-direction:column}.wn-promo-image img{min-height:235px!important;height:235px!important}.wn-home-gallery{grid-template-columns:repeat(2,1fr)!important}.wn-visit-grid{flex-direction:column}.wn-menu-columns,.wn-menu-columns.three,.wn-contact-cards{grid-template-columns:1fr}.wn-story{gap:30px}.wn-copyright{min-height:54px;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;gap:4px!important}}


/* =========================================================
   Wine Not Blocks v1.7
   Stable clean visual overrides
   ========================================================= */

body{padding-top:74px}
.wn-header{
  position:fixed!important;
  top:0!important;
  left:0;
  right:0;
  width:100%;
  z-index:99999!important;
  background:rgba(255,253,250,.99)!important;
}
.admin-bar .wn-header{top:32px!important}
.wn-header.is-scrolled .wn-header-inner{min-height:56px!important}
.wn-header.is-scrolled .wp-block-site-logo img{width:62px!important}

/* Hero: left edge square, right edge rounded */
.wn-home-hero,
.wn-page-hero,
.wp-block-cover.wn-home-hero,
.wp-block-cover.wn-page-hero{
  border-radius:0 14px 14px 0!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
  clip-path:none!important;
}
.wn-home-hero img,
.wn-page-hero img,
.wn-home-hero .wp-block-cover__image-background,
.wn-page-hero .wp-block-cover__image-background{
  border-radius:0 14px 14px 0!important;
  border:0!important;
  outline:0!important;
}
.wn-home-hero .wp-block-cover__background,
.wn-page-hero .wp-block-cover__background{
  display:none!important;
}

/* Force all hero text readable */
.wn-home-hero .wp-block-cover__inner-container,
.wn-page-hero .wp-block-cover__inner-container,
.wn-home-hero .wp-block-cover__inner-container *,
.wn-page-hero .wp-block-cover__inner-container *,
.wn-home-hero .wn-hero-copy,
.wn-page-hero .wn-hero-copy,
.wn-home-hero .wn-hero-copy *,
.wn-page-hero .wn-hero-copy *{
  color:var(--wn-ink)!important;
  opacity:1!important;
  visibility:visible!important;
  text-shadow:none!important;
  mix-blend-mode:normal!important;
  -webkit-text-fill-color:currentColor!important;
}
.wn-home-hero .wn-red,
.wn-page-hero .wn-red{
  color:var(--wn-wine)!important;
  -webkit-text-fill-color:var(--wn-wine)!important;
}
.wn-home-hero:after,
.wn-page-hero:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  border-radius:0 14px 14px 0!important;
  background:linear-gradient(
    90deg,
    rgba(255,253,250,1) 0%,
    rgba(255,253,250,1) 24%,
    rgba(255,253,250,.97) 38%,
    rgba(255,253,250,.80) 49%,
    rgba(255,253,250,.35) 62%,
    rgba(255,253,250,.06) 74%,
    rgba(255,253,250,0) 84%
  )!important;
}
.wn-home-hero .wp-block-cover__inner-container,
.wn-page-hero .wp-block-cover__inner-container{
  position:relative!important;
  z-index:3!important;
}

/* Remove all tiny uppercase section kickers/eyebrows site-wide */
.wn-kicker,
.wn-eyebrow,
.wn-section-kicker,
.wn-section-label,
.wn-overline,
p.wn-kicker,
p.wn-eyebrow,
p.wn-section-kicker,
p.wn-section-label,
p.wn-overline{
  display:none!important;
}

/* Contact: equal cards on desktop */
.wn-contact-cards{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:stretch!important;
}
.wn-contact-cards > div{
  width:100%!important;
  height:100%!important;
  min-height:440px;
  display:flex;
  flex-direction:column;
  box-sizing:border-box;
}
.wn-contact-cards > .wn-parking{grid-column:auto!important}

/* Compact readable footer */
.wn-footer{
  background:var(--wn-paper)!important;
  border-top:1px solid var(--wn-line)!important;
  padding-top:38px!important;
}
.wn-footer-main{
  gap:52px!important;
  padding:0 2% 32px!important;
}
.wn-footer-main h3{
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:13px!important;
  text-transform:uppercase!important;
  font-weight:700!important;
  letter-spacing:.05em!important;
  margin:0 0 14px!important;
}
.wn-footer-main p,
.wn-footer-main a{
  font-size:13px!important;
  line-height:1.75!important;
  color:var(--wn-ink)!important;
}
.wn-footer .wp-social-link{
  width:30px!important;
  height:30px!important;
}
.wn-footer .wp-social-link svg{
  width:22px!important;
  height:22px!important;
}
.wn-copyright,
.wn-copyright p{
  font-size:11px!important;
}
.wn-copyright{
  border-top:1px solid var(--wn-line)!important;
  padding:12px 2%!important;
  min-height:48px!important;
}

@media(max-width:1000px){
  .wn-contact-cards{grid-template-columns:1fr 1fr!important}
  .wn-contact-cards > div{min-height:360px}
  .wn-contact-cards > .wn-parking{
    grid-column:1/-1!important;
    min-height:auto!important;
  }
}

@media(max-width:782px){
  .admin-bar .wn-header{top:46px!important}
}

@media(max-width:650px){
  body{padding-top:64px}
  .wn-header-inner{min-height:64px!important}
  .wn-header.is-scrolled .wn-header-inner{min-height:52px!important}

  .wn-home-hero:after,
  .wn-page-hero:after{
    background:linear-gradient(
      0deg,
      rgba(255,253,250,1) 0%,
      rgba(255,253,250,.98) 38%,
      rgba(255,253,250,.65) 55%,
      rgba(255,253,250,.08) 78%,
      rgba(255,253,250,0) 100%
    )!important;
  }

  .wn-contact-cards{grid-template-columns:1fr!important}
  .wn-contact-cards > div,
  .wn-contact-cards > .wn-parking{
    grid-column:auto!important;
    min-height:auto!important;
  }

  .wn-footer-main{flex-direction:column!important;gap:18px!important}
  .wn-footer{padding-top:26px!important}
}


/* =========================================================
   Wine Not Blocks v1.8
   Equal-height homepage promo tiles
   ========================================================= */

.wn-promo-grid{
  align-items:stretch!important;
}

.wn-promo-grid > .wp-block-column{
  display:flex!important;
  align-self:stretch!important;
}

.wn-promo{
  width:100%!important;
  height:100%!important;
  min-height:390px!important;
  display:flex!important;
  padding:0!important;
}

.wn-promo > .wp-block-columns{
  width:100%!important;
  height:100%!important;
  min-height:390px!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:0!important;
  align-items:stretch!important;
  margin:0!important;
}

.wn-promo > .wp-block-columns > .wp-block-column{
  min-width:0!important;
  width:100%!important;
  height:100%!important;
  display:flex!important;
}

.wn-promo-copy{
  width:100%!important;
  height:100%!important;
  min-height:390px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  padding:38px 34px!important;
  box-sizing:border-box!important;
}

.wn-promo-copy > .wp-block-buttons{
  margin-top:auto!important;
}

.wn-promo-image{
  width:100%!important;
  height:100%!important;
  min-height:390px!important;
  margin:0!important;
  display:block!important;
}

.wn-promo-image img{
  width:100%!important;
  height:100%!important;
  min-height:390px!important;
  object-fit:cover!important;
  display:block!important;
}

/* Both cards get identical rounded outer corners */
.wn-promo{
  overflow:hidden!important;
  border-radius:9px!important;
}

/* Prevent different paragraph lengths from changing card height */
.wn-promo-copy h2{
  min-height:84px;
}
.wn-promo-copy p{
  margin-bottom:18px!important;
}

@media(max-width:1000px){
  .wn-promo,
  .wn-promo > .wp-block-columns,
  .wn-promo-copy,
  .wn-promo-image,
  .wn-promo-image img{
    min-height:360px!important;
  }
}

@media(max-width:650px){
  .wn-promo{
    min-height:0!important;
  }

  .wn-promo > .wp-block-columns{
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
  }

  .wn-promo-copy{
    min-height:280px!important;
  }

  .wn-promo-image,
  .wn-promo-image img{
    min-height:260px!important;
    height:260px!important;
  }

  .wn-promo-copy h2{
    min-height:0!important;
  }
}


/* =========================================================
   Wine Not Blocks v1.9 — full Drinks menu + easy navigation
   ========================================================= */

.wn-drinks-nav-wrap{
  width:min(92%,1260px);
  margin:0 auto 34px!important;
  padding:28px 30px!important;
  background:var(--wn-sand);
  border-radius:10px;
}
.wn-drinks-nav-wrap > h2{
  font-size:36px!important;
  margin:0 0 8px!important;
}
.wn-drinks-nav-wrap > p{
  margin:0 0 20px!important;
  color:var(--wn-muted);
}
.wn-drinks-select{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:18px;
}
.wn-drinks-select label{
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;
  white-space:nowrap;
}
.wn-drinks-select select{
  width:min(100%,460px);
  background:#fff;
  border:1px solid var(--wn-line);
  border-radius:6px;
  color:var(--wn-ink);
  padding:12px 42px 12px 14px;
  font-size:14px;
  line-height:1.3;
}
.wn-drinks-pills{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.wn-drinks-pills a{
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border:1px solid #d8cbc0;
  border-radius:999px;
  background:rgba(255,255,255,.55);
  color:var(--wn-ink)!important;
  font-size:11px;
  font-weight:600;
  text-decoration:none!important;
  transition:.18s;
}
.wn-drinks-pills a:hover{
  background:var(--wn-wine);
  color:#fff!important;
  border-color:var(--wn-wine);
}
.wn-drinks-menu{
  width:min(92%,1100px);
  margin:0 auto;
}
.wn-drink-category{
  scroll-margin-top:92px;
  margin:0 0 34px!important;
  padding:30px 34px!important;
  background:#fff;
  border:1px solid var(--wn-line);
  border-radius:10px;
  box-shadow:var(--wn-shadow);
}
.wn-drink-category > h2{
  color:var(--wn-wine)!important;
  font-size:36px!important;
  margin:0 0 14px!important;
  padding-bottom:14px;
  border-bottom:1px solid var(--wn-line);
}
.wn-drink-item{
  padding:15px 0!important;
  border-bottom:1px solid #eee5de;
}
.wn-drink-item:last-of-type{
  border-bottom:0;
}
.wn-drink-item h3{
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:15px!important;
  line-height:1.45!important;
  font-weight:700!important;
  margin:0!important;
}
.wn-drink-item p{
  margin:5px 0 0!important;
  color:var(--wn-muted);
  font-size:13px;
  line-height:1.55;
}
.wn-drink-note{
  margin:18px 0 0!important;
  padding:12px 14px;
  background:var(--wn-cream);
  border-left:3px solid var(--wn-wine);
  font-size:12px;
}
.wn-back-top{
  text-align:right;
  margin:18px 0 0!important;
}
.wn-back-top a{
  font-size:11px;
  font-weight:700;
  text-decoration:none!important;
}
#wn-drinks-top{
  scroll-margin-top:90px;
}

@media(max-width:700px){
  .wn-drinks-nav-wrap{
    width:92%;
    padding:22px 20px!important;
  }
  .wn-drinks-select{
    display:block;
  }
  .wn-drinks-select label{
    display:block;
    margin-bottom:8px;
  }
  .wn-drinks-select select{
    width:100%;
  }
  .wn-drinks-pills{
    display:none;
  }
  .wn-drink-category{
    padding:24px 20px!important;
  }
  .wn-drink-category > h2{
    font-size:30px!important;
  }
}


/* =========================================================
   Wine Not Blocks v1.10
   Mobile header / hamburger / social fixes
   ========================================================= */

@media (max-width: 782px) {

  /* Keep the header itself compact and above normal page content. */
  .wn-header {
    overflow: visible!important;
  }

  .wn-header-inner {
    display: grid!important;
    grid-template-columns: 1fr auto auto!important;
    align-items: center!important;
    column-gap: 14px!important;
    width: 94%!important;
  }

  .wn-header .wp-block-site-logo {
    justify-self: start!important;
    margin: 0!important;
  }

  /* Native WordPress navigation/hamburger in the middle-right. */
  .wn-main-nav {
    justify-self: end!important;
    margin: 0!important;
    width: auto!important;
  }

  .wn-main-nav .wp-block-navigation__responsive-container-open {
    display: flex!important;
    align-items: center!important;
    justify-content: center!important;
    width: 38px!important;
    height: 38px!important;
    padding: 7px!important;
    color: var(--wn-ink)!important;
    background: transparent!important;
    border: 0!important;
  }

  .wn-main-nav .wp-block-navigation__responsive-container-open svg {
    width: 25px!important;
    height: 25px!important;
  }

  /* The earlier mobile rule hid these completely. Undo it. */
  .wn-header .wn-social {
    display: flex!important;
    visibility: visible!important;
    opacity: 1!important;
    justify-self: end!important;
    align-items: center!important;
    gap: 10px!important;
    margin: 0!important;
  }

  .wn-header .wn-social .wp-social-link {
    display: flex!important;
    width: 28px!important;
    height: 28px!important;
    margin: 0!important;
  }

  .wn-header .wn-social .wp-social-link svg {
    display: block!important;
    width: 18px!important;
    height: 18px!important;
  }

  /* Native WP mobile menu overlay. Explicitly place it above fixed header. */
  .wn-main-nav .wp-block-navigation__responsive-container.is-menu-open {
    display: flex!important;
    position: fixed!important;
    inset: 0!important;
    width: 100vw!important;
    height: 100dvh!important;
    min-height: 100vh!important;
    z-index: 2147483000!important;
    background: var(--wn-paper)!important;
    color: var(--wn-ink)!important;
    padding: 26px 26px 34px!important;
    overflow-y: auto!important;
    overflow-x: hidden!important;
  }

  .admin-bar .wn-main-nav .wp-block-navigation__responsive-container.is-menu-open {
    padding-top: 54px!important;
  }

  .wn-main-nav .wp-block-navigation__responsive-container-close {
    display: flex!important;
    align-items: center!important;
    justify-content: center!important;
    position: absolute!important;
    top: 20px!important;
    right: 22px!important;
    width: 42px!important;
    height: 42px!important;
    padding: 8px!important;
    color: var(--wn-ink)!important;
    background: transparent!important;
    border: 0!important;
    z-index: 3!important;
  }

  .admin-bar .wn-main-nav .wp-block-navigation__responsive-container-close {
    top: 52px!important;
  }

  .wn-main-nav .wp-block-navigation__responsive-container-close svg {
    width: 27px!important;
    height: 27px!important;
  }

  .wn-main-nav .wp-block-navigation__responsive-container-content {
    display: flex!important;
    flex-direction: column!important;
    align-items: stretch!important;
    justify-content: flex-start!important;
    width: 100%!important;
    max-width: 520px!important;
    margin: 72px auto 0!important;
    padding: 0!important;
  }

  .wn-main-nav .wp-block-navigation__container,
  .wn-main-nav .wp-block-page-list {
    display: flex!important;
    flex-direction: column!important;
    align-items: stretch!important;
    width: 100%!important;
    gap: 0!important;
  }

  .wn-main-nav .wp-block-navigation-item,
  .wn-main-nav .wp-block-pages-list__item {
    display: block!important;
    width: 100%!important;
    margin: 0!important;
    padding: 0!important;
    color: var(--wn-ink)!important;
  }

  .wn-main-nav .wp-block-navigation-item__content,
  .wn-main-nav .wp-block-pages-list__item__link {
    display: block!important;
    width: 100%!important;
    padding: 15px 4px!important;
    border-bottom: 1px solid var(--wn-line)!important;
    color: var(--wn-ink)!important;
    font-family: Arial, Helvetica, sans-serif!important;
    font-size: 18px!important;
    line-height: 1.25!important;
    font-weight: 600!important;
    text-transform: none!important;
    text-decoration: none!important;
  }

  .wn-main-nav .current-menu-item > .wp-block-navigation-item__content,
  .wn-main-nav .current-menu-item > .wp-block-pages-list__item__link,
  .wn-main-nav .current-menu-ancestor > .wp-block-navigation-item__content {
    color: var(--wn-wine)!important;
  }

  /* Page List child pages (Drinks, Bites, Zondagen) remain visible below Kaart. */
  .wn-main-nav .wp-block-navigation__submenu-container,
  .wn-main-nav .wp-block-pages-list__item__children {
    display: block!important;
    position: static!important;
    width: 100%!important;
    min-width: 0!important;
    height: auto!important;
    opacity: 1!important;
    visibility: visible!important;
    background: transparent!important;
    border: 0!important;
    box-shadow: none!important;
    padding: 0 0 4px 18px!important;
    margin: 0!important;
  }

  .wn-main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
  .wn-main-nav .wp-block-pages-list__item__children .wp-block-pages-list__item__link {
    padding: 11px 4px!important;
    font-size: 15px!important;
    font-weight: 400!important;
    color: var(--wn-muted)!important;
  }

  /* Keep overlay menu clear of any theme/header visual effects. */
  .wn-main-nav .wp-block-navigation__responsive-container.is-menu-open *,
  .wn-main-nav .wp-block-navigation__responsive-container.is-menu-open a {
    visibility: visible!important;
    opacity: 1!important;
  }
}

@media (max-width: 480px) {
  .wn-header-inner {
    column-gap: 8px!important;
  }

  .wn-header .wp-block-site-logo img {
    width: 74px!important;
  }

  .wn-header.is-scrolled .wp-block-site-logo img {
    width: 54px!important;
  }

  .wn-header .wn-social {
    gap: 6px!important;
  }

  .wn-header .wn-social .wp-social-link {
    width: 25px!important;
    height: 25px!important;
  }

  .wn-header .wn-social .wp-social-link svg {
    width: 16px!important;
    height: 16px!important;
  }
}


/* =========================================================
   Wine Not Blocks v1.11
   Full clickable tiles + compact mobile heroes
   ========================================================= */

/* Entire tiles feel interactive */
.wn-card,
.wn-promo {
  cursor:pointer;
  position:relative;
}

.wn-card:focus-visible,
.wn-promo:focus-visible {
  outline:2px solid var(--wn-wine);
  outline-offset:3px;
}

.wn-card:hover,
.wn-promo:hover {
  transform:translateY(-3px);
  box-shadow:0 22px 52px rgba(65,44,31,.12);
}

.wn-card,
.wn-promo {
  transition:transform .2s ease, box-shadow .2s ease;
}

/* Keep inner links visibly usable */
.wn-card a,
.wn-promo a {
  position:relative;
  z-index:2;
}

/* ---------------------------------------------------------
   Mobile heroes: remove excessive empty vertical space
   on ALL pages
   --------------------------------------------------------- */
@media(max-width:650px) {

  .wn-home-hero,
  .wn-page-hero,
  .wp-block-cover.wn-home-hero,
  .wp-block-cover.wn-page-hero {
    min-height:430px!important;
    height:auto!important;
    margin-top:8px!important;
  }

  .wn-home-hero .wp-block-cover__inner-container,
  .wn-page-hero .wp-block-cover__inner-container {
    min-height:430px!important;
    height:430px!important;
    display:flex!important;
    align-items:flex-end!important;
    padding:0!important;
  }

  .wn-home-hero .wn-hero-copy,
  .wn-page-hero .wn-hero-copy {
    width:calc(100% - 36px)!important;
    max-width:none!important;
    min-height:0!important;
    height:auto!important;
    margin:0 18px 22px!important;
    padding:20px 22px!important;
    align-self:auto!important;
    background:rgba(255,253,250,.86)!important;
    border-radius:10px!important;
    box-sizing:border-box!important;
  }

  .wn-home-hero .wn-hero-copy h1,
  .wn-page-hero .wn-hero-copy h1 {
    font-size:42px!important;
    line-height:1.02!important;
    margin:0 0 14px!important;
  }

  .wn-home-hero .wn-hero-lead,
  .wn-page-hero .wn-hero-lead {
    font-size:16px!important;
    line-height:1.45!important;
    margin:0!important;
  }

  /* Homepage buttons follow directly after hero instead of floating
     far into an artificial empty area. */
  .wn-home-actions {
    margin-top:14px!important;
    padding:0 18px!important;
    width:100%!important;
    position:relative!important;
    z-index:4!important;
    box-sizing:border-box!important;
  }

  /* First content section starts much closer to the hero */
  .wn-home-actions + .wn-section,
  .wn-page-hero + .wn-section,
  .wn-home-hero + .wn-section {
    padding-top:34px!important;
  }

  .wn-section {
    padding-top:42px!important;
    padding-bottom:42px!important;
  }

  /* Cards stay compact and equal on mobile */
  .wn-card-copy {
    min-height:145px!important;
    padding:18px 18px 20px!important;
  }

  .wn-card-copy h2 {
    margin-bottom:6px!important;
  }
}

/* Slightly shorter inner heroes on small tablets as well */
@media(min-width:651px) and (max-width:1000px) {
  .wn-page-hero {
    min-height:520px!important;
  }

  .wn-page-hero .wp-block-cover__inner-container {
    min-height:520px!important;
  }
}


/* =========================================================
   Wine Not Blocks v1.12
   Footer social icons visible on smartphone
   ========================================================= */

@media(max-width:650px){

  .wn-footer .wp-block-social-links,
  .wn-footer ul.wp-block-social-links,
  .wn-footer .is-style-logos-only {
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    align-items:center!important;
    justify-content:flex-start!important;
    flex-wrap:nowrap!important;
    gap:14px!important;
    width:auto!important;
    min-height:32px!important;
    margin:10px 0 0!important;
    padding:0!important;
    overflow:visible!important;
  }

  .wn-footer .wp-block-social-links .wp-social-link,
  .wn-footer .wp-social-link {
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 32px!important;
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    min-height:32px!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
    color:var(--wn-ink)!important;
    border-radius:50%!important;
    overflow:visible!important;
  }

  .wn-footer .wp-social-link a {
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    align-items:center!important;
    justify-content:center!important;
    width:32px!important;
    height:32px!important;
    padding:0!important;
    color:var(--wn-ink)!important;
    background:transparent!important;
  }

  .wn-footer .wp-social-link svg {
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    width:22px!important;
    height:22px!important;
    fill:currentColor!important;
    color:var(--wn-ink)!important;
  }

  /* Ensure the 'Volg ons' footer column itself is not collapsed. */
  .wn-footer-main > .wp-block-column:last-child {
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    min-height:72px!important;
  }
}


/* =========================================================
   Wine Not Blocks v1.14 — redesigned Contact page
   ========================================================= */

.wn-contact-layout{
  width:min(92%,1260px);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);
  gap:24px;
  align-items:stretch;
}

.wn-contact-main{
  background:#fff;
  border:1px solid var(--wn-line);
  border-radius:12px;
  box-shadow:var(--wn-shadow);
  padding:34px 38px;
}

.wn-contact-main-head{
  padding-bottom:24px;
  margin-bottom:26px;
  border-bottom:1px solid var(--wn-line);
}

.wn-contact-main-head h2,
.wn-contact-small h2{
  font-family:Georgia,serif;
  font-weight:400;
  color:var(--wn-ink);
}

.wn-contact-main-head h2{
  font-size:38px;
  margin:0 0 8px;
}

.wn-contact-main-head p{
  margin:0;
  color:var(--wn-muted);
  font-size:14px;
}

.wn-contact-main-grid{
  display:grid;
  grid-template-columns:.9fr 1.2fr;
  gap:42px;
}

.wn-contact-main h3{
  font-family:Arial,Helvetica,sans-serif!important;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:12px!important;
  font-weight:700!important;
  margin:0 0 14px!important;
}

.wn-contact-details p{
  font-size:15px;
  line-height:1.7;
}

.wn-contact-details a{
  color:var(--wn-wine)!important;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}

.wn-contact-hours dl{
  margin:0;
}

.wn-contact-hours dl > div{
  display:grid;
  grid-template-columns:1fr auto;
  gap:24px;
  align-items:center;
  padding:7px 0;
  border-bottom:1px solid #eee6df;
}

.wn-contact-hours dl > div:last-child{
  border-bottom:0;
}

.wn-contact-hours dt,
.wn-contact-hours dd{
  margin:0;
  font-size:14px;
  line-height:1.4;
}

.wn-contact-hours dd{
  font-weight:700;
  color:var(--wn-ink);
}

.wn-contact-side{
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:24px;
}

.wn-contact-small{
  display:grid;
  grid-template-columns:54px 1fr;
  gap:18px;
  align-items:start;
  background:#fff;
  border:1px solid var(--wn-line);
  border-radius:12px;
  box-shadow:var(--wn-shadow);
  padding:28px 30px;
  min-height:0!important;
}

.wn-contact-small h2{
  font-size:30px;
  margin:0 0 10px!important;
}

.wn-contact-small p{
  margin:0 0 14px;
  font-size:14px;
  line-height:1.55;
}

.wn-contact-icon{
  width:46px;
  height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--wn-sand);
  color:var(--wn-wine);
  font-family:Georgia,serif;
  font-size:25px;
  line-height:1;
}

.wn-contact-p{
  font-size:28px;
}

.wn-parking-card{
  background:#f3e9df;
}

.wn-contact-action{
  display:inline-block;
  color:var(--wn-wine)!important;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  text-decoration:none!important;
  margin-top:4px;
}

.wn-contact-note{
  color:var(--wn-muted);
  font-size:12px!important;
  margin-bottom:0!important;
}

/* Old contact-card rules should not affect the new structure */
.wn-contact-layout .wn-parking-card{
  grid-column:auto!important;
  height:auto!important;
}

@media(max-width:900px){
  .wn-contact-layout{
    grid-template-columns:1fr;
  }

  .wn-contact-side{
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto;
  }
}

@media(max-width:650px){
  .wn-contact-layout{
    width:92%;
    gap:16px;
  }

  .wn-contact-main{
    padding:24px 22px;
  }

  .wn-contact-main-head{
    margin-bottom:22px;
    padding-bottom:20px;
  }

  .wn-contact-main-head h2{
    font-size:32px;
  }

  .wn-contact-main-grid{
    grid-template-columns:1fr;
    gap:24px;
  }

  .wn-contact-side{
    grid-template-columns:1fr;
    gap:16px;
  }

  .wn-contact-small{
    grid-template-columns:44px 1fr;
    gap:14px;
    padding:22px;
  }

  .wn-contact-icon{
    width:40px;
    height:40px;
    font-size:22px;
  }

  .wn-contact-small h2{
    font-size:27px;
  }

  .wn-contact-hours dl > div{
    gap:14px;
  }
}


/* =========================================================
   Wine Not Blocks v1.15
   Footer socials use plain inline SVG, independent of WP block CSS
   ========================================================= */

.wn-footer-socials{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:14px!important;
  margin:10px 0 0!important;
  padding:0!important;
  min-height:34px!important;
  visibility:visible!important;
  opacity:1!important;
  overflow:visible!important;
}

.wn-footer-social-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  min-height:32px!important;
  color:var(--wn-ink)!important;
  background:transparent!important;
  text-decoration:none!important;
  visibility:visible!important;
  opacity:1!important;
}

.wn-footer-social-link svg{
  display:block!important;
  width:22px!important;
  height:22px!important;
  fill:currentColor!important;
  color:var(--wn-ink)!important;
  visibility:visible!important;
  opacity:1!important;
}

.wn-footer-social-link:hover{
  color:var(--wn-wine)!important;
}

@media(max-width:650px){
  .wn-footer-socials{
    display:flex!important;
    width:100%!important;
    min-height:38px!important;
    margin-top:12px!important;
    gap:16px!important;
  }

  .wn-footer-social-link{
    display:inline-flex!important;
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    min-height:36px!important;
  }

  .wn-footer-social-link svg{
    display:block!important;
    width:24px!important;
    height:24px!important;
  }

  .wn-footer-main > .wp-block-column:last-child{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    min-height:88px!important;
  }
}


/* =========================================================
   Wine Not Blocks v1.16
   Events / Gift / About redesigned as strong content tiles
   ========================================================= */

.wn-feature-layout{
  width:min(92%,1260px);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(320px,.85fr);
  gap:24px;
  align-items:stretch;
}

.wn-feature-main{
  background:#fff;
  border:1px solid var(--wn-line);
  border-radius:12px;
  box-shadow:var(--wn-shadow);
  overflow:hidden;
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:470px;
}

.wn-feature-main-gift{
  grid-template-columns:1fr 1fr;
}

.wn-feature-main-copy{
  padding:38px 38px 34px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.wn-feature-main-copy h2{
  font-family:Georgia,serif;
  font-size:40px;
  line-height:1.05;
  font-weight:400;
  margin:0 0 18px;
}

.wn-feature-main-copy p{
  font-size:15px;
  line-height:1.7;
  color:var(--wn-muted);
}

.wn-feature-main-copy strong{
  color:var(--wn-ink);
}

.wn-feature-link{
  display:inline-block;
  margin-top:8px;
  color:var(--wn-wine)!important;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  text-decoration:none!important;
}

.wn-feature-image{
  margin:0!important;
  width:100%;
  height:100%;
}

.wn-feature-image img{
  width:100%!important;
  height:100%!important;
  min-height:470px!important;
  object-fit:cover!important;
  display:block!important;
}

.wn-feature-side{
  display:grid;
  grid-template-rows:repeat(3,1fr);
  gap:16px;
}

.wn-feature-tile{
  background:#fff;
  border:1px solid var(--wn-line);
  border-radius:12px;
  box-shadow:var(--wn-shadow);
  padding:24px 26px;
  display:grid;
  grid-template-columns:44px 1fr;
  gap:16px;
  align-items:start;
}

.wn-feature-tile:nth-child(2){
  background:var(--wn-cream);
}

.wn-feature-tile:nth-child(3){
  background:var(--wn-sand);
}

.wn-feature-number{
  width:40px;
  height:40px;
  border-radius:50%;
  background:var(--wn-wine);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:10px;
  font-weight:700;
  letter-spacing:.04em;
}

.wn-feature-tile h3{
  font-family:Georgia,serif!important;
  font-size:25px!important;
  font-weight:400!important;
  margin:0 0 7px!important;
}

.wn-feature-tile p{
  margin:0;
  font-size:13px;
  line-height:1.55;
  color:var(--wn-muted);
}

.wn-feature-tile a{
  color:var(--wn-wine)!important;
}

.wn-about-terrace{
  width:min(92%,1260px);
  margin:26px auto 0;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:0;
  background:var(--wn-sand);
  border-radius:12px;
  overflow:hidden;
}

.wn-about-terrace-image{
  margin:0!important;
  height:100%;
}

.wn-about-terrace-image img{
  width:100%!important;
  height:100%!important;
  min-height:340px!important;
  object-fit:cover!important;
}

.wn-about-terrace > div:last-child{
  padding:38px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.wn-about-terrace h2{
  font-family:Georgia,serif;
  font-size:36px;
  font-weight:400;
  margin:0 0 16px;
}

.wn-about-terrace p{
  font-size:14px;
  line-height:1.7;
  color:var(--wn-muted);
}

@media(max-width:950px){
  .wn-feature-layout{
    grid-template-columns:1fr;
  }

  .wn-feature-side{
    grid-template-columns:repeat(3,1fr);
    grid-template-rows:auto;
  }

  .wn-feature-tile{
    grid-template-columns:1fr;
  }

  .wn-about-terrace{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:650px){
  .wn-feature-layout{
    width:92%;
    gap:16px;
  }

  .wn-feature-main{
    grid-template-columns:1fr!important;
    min-height:0;
  }

  .wn-feature-main-copy{
    padding:26px 24px;
    order:2;
  }

  .wn-feature-main-copy h2{
    font-size:32px;
  }

  .wn-feature-image{
    order:1;
  }

  .wn-feature-image img{
    min-height:260px!important;
    height:260px!important;
  }

  .wn-feature-side{
    grid-template-columns:1fr;
    gap:14px;
  }

  .wn-feature-tile{
    grid-template-columns:42px 1fr;
    padding:21px 20px;
  }

  .wn-feature-tile h3{
    font-size:23px!important;
  }

  .wn-about-terrace{
    width:92%;
    grid-template-columns:1fr;
  }

  .wn-about-terrace-image img{
    min-height:250px!important;
    height:250px!important;
  }

  .wn-about-terrace > div:last-child{
    padding:26px 24px;
  }

  .wn-about-terrace h2{
    font-size:31px;
  }
}


/* =========================================================
   Wine Not Blocks v1.17
   Gutenberg compatibility
   ========================================================= */

/*
 Custom visual sections are now stored inside valid core/html blocks.
 This prevents Gutenberg from marking surrounding Group blocks invalid.
 Frontend appearance remains unchanged.
*/

.block-editor-block-list__block .wn-feature-layout,
.block-editor-block-list__block .wn-contact-layout,
.block-editor-block-list__block .wn-menu-columns,
.block-editor-block-list__block .wn-menu-editable,
.block-editor-block-list__block .wn-about-terrace {
  max-width:100%;
}

/* Make native HTML blocks easier to identify/edit without affecting frontend. */
.editor-styles-wrapper .block-editor-block-list__block[data-type="core/html"] {
  margin-top:18px;
  margin-bottom:18px;
}


/* =========================================================
   Wine Not Blocks v1.18
   Feature tiles: meaningful visual symbols instead of 01/02/03
   ========================================================= */

.wn-feature-symbol{
  background:transparent!important;
  border:1px solid rgba(166,43,55,.28)!important;
  color:var(--wn-wine)!important;
  font-family:Georgia,serif!important;
  font-size:19px!important;
  font-weight:400!important;
  letter-spacing:0!important;
}

@media(max-width:650px){
  .wn-feature-symbol{
    font-size:18px!important;
  }
}


/* =========================================================
   Wine Not Blocks v1.19
   Events / Gift / About are now native Gutenberg blocks
   Images can be clicked and replaced in the editor.
   ========================================================= */

.wn-feature-layout-native{
  width:min(92%,1260px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.55fr) minmax(320px,.85fr)!important;
  gap:24px!important;
  align-items:stretch!important;
}

.wn-feature-main-native{
  padding:0!important;
  background:#fff;
  border:1px solid var(--wn-line);
  border-radius:12px;
  box-shadow:var(--wn-shadow);
  overflow:hidden;
  height:100%;
}

.wn-feature-main-columns{
  height:100%;
  min-height:470px;
  gap:0!important;
  margin:0!important;
  align-items:stretch!important;
}

.wn-feature-main-columns > .wp-block-column{
  margin:0!important;
}

.wn-feature-copy-column,
.wn-feature-media-column{
  display:flex!important;
  min-width:0!important;
}

.wn-feature-copy-native{
  width:100%!important;
  padding:38px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  box-sizing:border-box;
}

.wn-feature-copy-native h2{
  font-family:Georgia,serif!important;
  font-size:40px!important;
  line-height:1.05!important;
  font-weight:400!important;
  margin:0 0 18px!important;
}

.wn-feature-copy-native p{
  font-size:15px!important;
  line-height:1.7!important;
  color:var(--wn-muted)!important;
}

.wn-feature-image-native{
  width:100%!important;
  height:100%!important;
  margin:0!important;
}

.wn-feature-image-native img{
  width:100%!important;
  height:100%!important;
  min-height:470px!important;
  object-fit:cover!important;
  display:block!important;
}

.wn-feature-side-native{
  padding:0!important;
  display:grid!important;
  grid-template-rows:repeat(3,1fr)!important;
  gap:16px!important;
  height:100%;
}

.wn-feature-tile-native{
  padding:24px 26px!important;
  background:#fff;
  border:1px solid var(--wn-line);
  border-radius:12px;
  box-shadow:var(--wn-shadow);
  box-sizing:border-box;
}

.wn-feature-tile-native.wn-feature-tile-soft{
  background:var(--wn-cream);
}

.wn-feature-tile-native.wn-feature-tile-sand{
  background:var(--wn-sand);
}

.wn-feature-tile-columns{
  margin:0!important;
  gap:16px!important;
  align-items:flex-start!important;
}

.wn-feature-tile-native h3{
  font-family:Georgia,serif!important;
  font-size:25px!important;
  font-weight:400!important;
  margin:0 0 7px!important;
}

.wn-feature-tile-native p{
  margin:0!important;
  font-size:13px!important;
  line-height:1.55!important;
  color:var(--wn-muted)!important;
}

.wn-feature-symbol-native{
  width:40px;
  height:40px;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  border:1px solid rgba(166,43,55,.28);
  border-radius:50%;
  color:var(--wn-wine)!important;
  font-family:Georgia,serif!important;
  font-size:19px!important;
  line-height:1!important;
}

.wn-feature-tile-native a,
.wn-feature-copy-native a{
  color:var(--wn-wine)!important;
}

@media(max-width:950px){
  .wn-feature-layout-native{
    grid-template-columns:1fr!important;
  }

  .wn-feature-side-native{
    grid-template-columns:repeat(3,1fr)!important;
    grid-template-rows:auto!important;
  }
}

@media(max-width:650px){
  .wn-feature-layout-native{
    width:92%!important;
    gap:16px!important;
  }

  .wn-feature-main-columns{
    flex-direction:column!important;
    min-height:0!important;
  }

  .wn-feature-copy-column{
    order:2;
  }

  .wn-feature-media-column{
    order:1;
  }

  .wn-feature-copy-native{
    padding:26px 24px!important;
  }

  .wn-feature-copy-native h2{
    font-size:32px!important;
  }

  .wn-feature-image-native img{
    min-height:260px!important;
    height:260px!important;
  }

  .wn-feature-side-native{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }

  .wn-feature-tile-native{
    padding:21px 20px!important;
  }

  .wn-feature-tile-native h3{
    font-size:23px!important;
  }
}


/* =========================================================
   Wine Not Blocks v1.20
   Mobile image fill/crop for Events, Gift, About
   Match homepage tile image behaviour
   ========================================================= */

/* Desktop/tablet: ensure media column fills its half cleanly */
.wn-feature-main-native .wn-feature-media-column {
  overflow:hidden!important;
  min-height:470px!important;
}

.wn-feature-main-native .wn-feature-image-native,
.wn-feature-main-native .wn-feature-image-native .components-resizable-box__container {
  width:100%!important;
  height:100%!important;
  margin:0!important;
}

.wn-feature-main-native .wn-feature-image-native img {
  width:100%!important;
  height:100%!important;
  min-height:470px!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
}

/* Editor: make the image look like the frontend instead of showing natural dimensions */
.editor-styles-wrapper .wn-feature-main-native .wn-feature-media-column {
  overflow:hidden!important;
}

.editor-styles-wrapper .wn-feature-main-native .wn-feature-image-native img {
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}

/* Tablet */
@media(max-width:950px) and (min-width:651px) {
  .wn-feature-main-native .wn-feature-main-columns {
    min-height:430px!important;
  }

  .wn-feature-main-native .wn-feature-media-column,
  .wn-feature-main-native .wn-feature-image-native img {
    min-height:430px!important;
  }
}

/* ---------------------------------------------------------
   Smartphone:
   same visual principle as homepage cards:
   image = wide fixed-height crop, content directly below it.
   --------------------------------------------------------- */
@media(max-width:650px) {

  .wn-feature-layout-native {
    display:block!important;
    width:92%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  .wn-feature-main-native {
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0 0 16px!important;
    border-radius:10px!important;
    overflow:hidden!important;
  }

  .wn-feature-main-native > .wn-feature-main-columns,
  .wn-feature-main-native .wn-feature-main-columns {
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    gap:0!important;
    margin:0!important;
  }

  /* Image always first on phone, including gift page */
  .wn-feature-main-native .wn-feature-media-column {
    order:1!important;
    width:100%!important;
    flex:0 0 auto!important;
    min-height:0!important;
    height:235px!important;
    overflow:hidden!important;
  }

  .wn-feature-main-native .wn-feature-copy-column {
    order:2!important;
    width:100%!important;
    flex:0 0 auto!important;
    min-height:0!important;
  }

  .wn-feature-main-native .wn-feature-image-native {
    width:100%!important;
    height:235px!important;
    min-height:235px!important;
    max-height:235px!important;
    margin:0!important;
    overflow:hidden!important;
  }

  .wn-feature-main-native .wn-feature-image-native img {
    display:block!important;
    width:100%!important;
    height:235px!important;
    min-height:235px!important;
    max-height:235px!important;
    object-fit:cover!important;
    object-position:center center!important;
    margin:0!important;
  }

  .wn-feature-copy-native {
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    padding:24px 22px 25px!important;
    box-sizing:border-box!important;
  }

  .wn-feature-copy-native h2 {
    font-size:30px!important;
    line-height:1.08!important;
    margin:0 0 12px!important;
  }

  .wn-feature-copy-native p {
    font-size:14px!important;
    line-height:1.58!important;
    margin-top:0!important;
    margin-bottom:14px!important;
  }

  .wn-feature-copy-native .wp-block-buttons {
    margin-top:6px!important;
  }

  .wn-feature-side-native {
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto!important;
    gap:12px!important;
    width:100%!important;
    margin-top:0!important;
  }

  .wn-feature-tile-native {
    min-height:0!important;
    height:auto!important;
    padding:18px 18px!important;
  }

  .wn-feature-tile-columns {
    display:flex!important;
    flex-direction:row!important;
    gap:13px!important;
    align-items:flex-start!important;
  }

  .wn-feature-tile-columns > .wp-block-column:first-child {
    flex:0 0 42px!important;
    width:42px!important;
  }

  .wn-feature-tile-columns > .wp-block-column:last-child {
    flex:1 1 auto!important;
    min-width:0!important;
  }

  .wn-feature-symbol-native {
    width:38px!important;
    height:38px!important;
    font-size:17px!important;
  }

  .wn-feature-tile-native h3 {
    font-size:22px!important;
    line-height:1.1!important;
    margin:1px 0 5px!important;
  }

  .wn-feature-tile-native p {
    font-size:13px!important;
    line-height:1.5!important;
  }

  /* Keep page section around these blocks compact */
  .wn-page-hero + .wn-section {
    padding-top:28px!important;
  }
}

/* Very small phones */
@media(max-width:400px) {
  .wn-feature-main-native .wn-feature-media-column,
  .wn-feature-main-native .wn-feature-image-native,
  .wn-feature-main-native .wn-feature-image-native img {
    height:210px!important;
    min-height:210px!important;
    max-height:210px!important;
  }
}


/* =========================================================
   Wine Not Blocks v1.21
   Equal-height feature/info tiles on mobile and tablet
   Applies site-wide to Events / Gift / About native tiles
   ========================================================= */

/* Desktop: keep side tiles equal within their 3-row grid */
.wn-feature-side-native{
  align-items:stretch!important;
}

.wn-feature-tile-native{
  height:100%!important;
  min-height:0!important;
  display:flex!important;
  align-items:stretch!important;
}

.wn-feature-tile-native > .wn-feature-tile-columns{
  width:100%!important;
  height:100%!important;
}

/* Tablet */
@media(max-width:950px) and (min-width:651px){
  .wn-feature-side-native{
    align-items:stretch!important;
  }

  .wn-feature-tile-native{
    min-height:190px!important;
    height:100%!important;
  }

  .wn-feature-tile-native > .wn-feature-tile-columns{
    height:100%!important;
    align-items:flex-start!important;
  }
}

/* Smartphone: all small content tiles get identical visual height */
@media(max-width:650px){

  .wn-feature-side-native{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-auto-rows:1fr!important;
    gap:14px!important;
    align-items:stretch!important;
  }

  .wn-feature-tile-native{
    width:100%!important;
    min-height:154px!important;
    height:100%!important;
    padding:20px 20px!important;
    display:flex!important;
    align-items:center!important;
    box-sizing:border-box!important;
  }

  .wn-feature-tile-native > .wn-feature-tile-columns{
    display:flex!important;
    flex-direction:row!important;
    width:100%!important;
    height:100%!important;
    min-height:112px!important;
    align-items:center!important;
    gap:14px!important;
    margin:0!important;
  }

  .wn-feature-tile-columns > .wp-block-column:first-child{
    flex:0 0 42px!important;
    width:42px!important;
    align-self:center!important;
  }

  .wn-feature-tile-columns > .wp-block-column:last-child{
    flex:1 1 auto!important;
    min-width:0!important;
    align-self:center!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
  }

  .wn-feature-symbol-native{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    min-height:40px!important;
    margin:0!important;
  }

  .wn-feature-tile-native h3{
    font-size:23px!important;
    line-height:1.12!important;
    margin:0 0 7px!important;
  }

  .wn-feature-tile-native p{
    font-size:13px!important;
    line-height:1.5!important;
    margin:0!important;
  }

  /* Prevent links or longer copy from changing vertical rhythm */
  .wn-feature-tile-native p + p{
    margin-top:5px!important;
  }
}

/* Very narrow phones: keep them compact but still equal */
@media(max-width:400px){
  .wn-feature-tile-native{
    min-height:148px!important;
    padding:18px!important;
  }

  .wn-feature-tile-native > .wn-feature-tile-columns{
    min-height:108px!important;
  }
}


/* =========================================================
   Wine Not Blocks v1.22
   Uniform spacing between stacked information tiles
   ========================================================= */

@media(max-width:650px){

  /* The side/info tile stack controls ALL vertical spacing.
     Remove margins from individual tiles so margins cannot collapse
     or combine with Gutenberg block-gap values. */
  .wn-feature-side-native{
    display:flex!important;
    flex-direction:column!important;
    gap:14px!important;
    row-gap:14px!important;
    column-gap:0!important;
    margin-top:14px!important;
    margin-bottom:0!important;
  }

  .wn-feature-side-native > *,
  .wn-feature-side-native > .wp-block-group,
  .wn-feature-side-native > .wn-feature-tile-native{
    margin-top:0!important;
    margin-bottom:0!important;
  }

  .wn-feature-tile-native{
    flex:0 0 auto!important;
    width:100%!important;
    min-height:154px!important;
    height:154px!important;
    margin:0!important;
    box-sizing:border-box!important;
  }

  .wn-feature-tile-native > .wn-feature-tile-columns{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
  }

  /* Gutenberg sometimes adds block margins to Groups/Columns.
     Neutralise those only inside our feature tiles. */
  .wn-feature-tile-native .wp-block-columns,
  .wn-feature-tile-native .wp-block-column,
  .wn-feature-tile-native .wp-block-group{
    margin-top:0!important;
    margin-bottom:0!important;
  }

  /* Same spacing after the large feature card and before first small tile */
  .wn-feature-main-native{
    margin-bottom:0!important;
  }

  .wn-feature-layout-native{
    gap:14px!important;
  }
}

@media(max-width:400px){
  .wn-feature-side-native{
    gap:12px!important;
    row-gap:12px!important;
    margin-top:12px!important;
  }

  .wn-feature-tile-native{
    min-height:148px!important;
    height:148px!important;
  }

  .wn-feature-layout-native{
    gap:12px!important;
  }
}


/* =========================================================
   Wine Not Blocks v1.23
   Responsive feature-card geometry reset
   Desktop / tablet / phone handled separately.
   ========================================================= */

/* ---------- DESKTOP ---------- */
@media(min-width:951px){

  .wn-feature-layout-native{
    display:grid!important;
    grid-template-columns:minmax(0,1.55fr) minmax(320px,.85fr)!important;
    gap:24px!important;
    align-items:stretch!important;
  }

  .wn-feature-main-native{
    height:100%!important;
    min-height:470px!important;
    margin:0!important;
  }

  .wn-feature-main-native > .wn-feature-main-columns,
  .wn-feature-main-native .wn-feature-main-columns{
    height:100%!important;
    min-height:470px!important;
    margin:0!important;
  }

  .wn-feature-side-native{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:repeat(3,minmax(0,1fr))!important;
    gap:16px!important;
    height:100%!important;
    min-height:470px!important;
    margin:0!important;
    align-self:stretch!important;
  }

  .wn-feature-side-native > .wn-feature-tile-native{
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    align-self:stretch!important;
  }

  .wn-feature-tile-native > .wn-feature-tile-columns{
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    align-items:center!important;
  }

  .wn-feature-tile-columns > .wp-block-column:last-child{
    align-self:center!important;
  }
}

/* ---------- TABLET ---------- */
@media(min-width:651px) and (max-width:950px){

  .wn-feature-layout-native{
    display:block!important;
    width:92%!important;
  }

  .wn-feature-main-native{
    min-height:430px!important;
    height:auto!important;
    margin:0 0 18px!important;
  }

  .wn-feature-main-native .wn-feature-main-columns{
    min-height:430px!important;
    height:430px!important;
  }

  .wn-feature-side-native{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-template-rows:1fr!important;
    gap:14px!important;
    min-height:190px!important;
    height:auto!important;
    margin:0!important;
  }

  .wn-feature-tile-native{
    min-height:190px!important;
    height:100%!important;
    margin:0!important;
  }

  .wn-feature-tile-native > .wn-feature-tile-columns{
    height:100%!important;
    align-items:flex-start!important;
  }
}

/* ---------- SMARTPHONE ---------- */
@media(max-width:650px){

  .wn-feature-layout-native{
    display:block!important;
    width:92%!important;
  }

  .wn-feature-main-native{
    margin:0 0 14px!important;
  }

  .wn-feature-side-native{
    display:flex!important;
    flex-direction:column!important;
    gap:14px!important;
    margin:0!important;
    height:auto!important;
    min-height:0!important;
  }

  .wn-feature-side-native > .wn-feature-tile-native{
    flex:0 0 154px!important;
    width:100%!important;
    height:154px!important;
    min-height:154px!important;
    max-height:154px!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
  }

  .wn-feature-tile-native > .wn-feature-tile-columns{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    align-items:center!important;
  }

  .wn-feature-tile-columns > .wp-block-column:first-child{
    align-self:center!important;
  }

  .wn-feature-tile-columns > .wp-block-column:last-child{
    align-self:center!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
  }
}

@media(max-width:400px){
  .wn-feature-side-native{
    gap:12px!important;
  }

  .wn-feature-side-native > .wn-feature-tile-native{
    flex-basis:148px!important;
    height:148px!important;
    min-height:148px!important;
    max-height:148px!important;
  }
}


/* =========================================================
   Wine Not Blocks v1.24 — Cadeaubon page
   Based on the approved visual with corrected voucher image
   ========================================================= */

.wn-gift-layout-native{
  width:min(92%,1260px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:0!important;
}

.wn-gift-main-native{
  padding:0!important;
  background:#fff;
  border:1px solid var(--wn-line);
  border-radius:12px;
  box-shadow:var(--wn-shadow);
  overflow:hidden;
}

.wn-gift-main-columns{
  margin:0!important;
  gap:0!important;
  min-height:520px;
  align-items:stretch!important;
}

.wn-gift-main-columns > .wp-block-column{
  display:flex!important;
  min-width:0!important;
}

.wn-gift-media-column{
  overflow:hidden!important;
}

.wn-gift-image-native{
  width:100%!important;
  height:100%!important;
  margin:0!important;
}

.wn-gift-image-native img{
  width:100%!important;
  height:100%!important;
  min-height:520px!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
}

.wn-gift-copy-native{
  width:100%!important;
  padding:48px 48px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  box-sizing:border-box;
}

.wn-gift-copy-native h2{
  font-family:Georgia,serif!important;
  font-size:46px!important;
  line-height:1.02!important;
  font-weight:400!important;
  margin:0 0 24px!important;
}

.wn-gift-copy-native p{
  color:var(--wn-muted)!important;
  font-size:15px!important;
  line-height:1.7!important;
  margin:0 0 22px!important;
}

.wn-gift-steps-native{
  margin-top:22px!important;
  gap:18px!important;
  align-items:stretch!important;
}

.wn-gift-steps-native > .wp-block-column{
  display:flex!important;
}

.wn-gift-step-native{
  width:100%!important;
  min-height:170px!important;
  height:100%!important;
  padding:25px 25px!important;
  display:flex!important;
  align-items:center!important;
  background:#fff;
  border:1px solid var(--wn-line);
  border-radius:12px;
  box-shadow:var(--wn-shadow);
  box-sizing:border-box;
}

.wn-gift-step-soft{
  background:var(--wn-cream)!important;
}

.wn-gift-step-sand{
  background:var(--wn-sand)!important;
}

.wn-gift-step-columns{
  width:100%!important;
  margin:0!important;
  gap:15px!important;
  align-items:center!important;
}

.wn-gift-step-icon{
  width:44px;
  height:44px;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  border:1px solid rgba(166,43,55,.34);
  border-radius:50%;
  color:var(--wn-wine)!important;
  font-family:Georgia,serif!important;
  font-size:18px!important;
  line-height:1!important;
}

.wn-gift-step-native h3{
  font-family:Georgia,serif!important;
  font-size:25px!important;
  line-height:1.1!important;
  font-weight:400!important;
  margin:0 0 7px!important;
}

.wn-gift-step-native p{
  color:var(--wn-muted)!important;
  font-size:13px!important;
  line-height:1.5!important;
  margin:0!important;
}

.wn-gift-step-native a{
  color:var(--wn-wine)!important;
}

/* Tablet */
@media(min-width:651px) and (max-width:950px){
  .wn-gift-main-columns{
    min-height:450px;
  }

  .wn-gift-image-native img{
    min-height:450px!important;
  }

  .wn-gift-copy-native{
    padding:36px!important;
  }

  .wn-gift-copy-native h2{
    font-size:38px!important;
  }

  .wn-gift-steps-native{
    gap:12px!important;
  }

  .wn-gift-step-native{
    min-height:190px!important;
    padding:20px!important;
  }

  .wn-gift-step-columns{
    display:block!important;
  }

  .wn-gift-step-icon{
    margin-bottom:14px!important;
  }
}

/* Smartphone */
@media(max-width:650px){
  .wn-gift-layout-native{
    width:92%!important;
  }

  .wn-gift-main-columns{
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
  }

  .wn-gift-media-column{
    order:1!important;
    height:235px!important;
    min-height:235px!important;
  }

  .wn-gift-copy-column{
    order:2!important;
  }

  .wn-gift-image-native,
  .wn-gift-image-native img{
    width:100%!important;
    height:235px!important;
    min-height:235px!important;
    max-height:235px!important;
  }

  .wn-gift-copy-native{
    padding:25px 23px 27px!important;
  }

  .wn-gift-copy-native h2{
    font-size:34px!important;
    line-height:1.05!important;
    margin-bottom:16px!important;
  }

  .wn-gift-copy-native p{
    font-size:14px!important;
    line-height:1.58!important;
    margin-bottom:16px!important;
  }

  .wn-gift-steps-native{
    display:flex!important;
    flex-direction:column!important;
    gap:14px!important;
    margin-top:14px!important;
  }

  .wn-gift-steps-native > .wp-block-column{
    width:100%!important;
    margin:0!important;
  }

  .wn-gift-step-native{
    width:100%!important;
    height:154px!important;
    min-height:154px!important;
    max-height:154px!important;
    padding:20px!important;
    margin:0!important;
  }

  .wn-gift-step-columns{
    display:flex!important;
    flex-direction:row!important;
    height:100%!important;
    align-items:center!important;
    gap:14px!important;
  }

  .wn-gift-step-columns > .wp-block-column:first-child{
    flex:0 0 48px!important;
  }

  .wn-gift-step-columns > .wp-block-column:last-child{
    flex:1 1 auto!important;
    min-width:0!important;
  }

  .wn-gift-step-native h3{
    font-size:23px!important;
  }
}

@media(max-width:400px){
  .wn-gift-media-column,
  .wn-gift-image-native,
  .wn-gift-image-native img{
    height:210px!important;
    min-height:210px!important;
    max-height:210px!important;
  }

  .wn-gift-step-native{
    height:148px!important;
    min-height:148px!important;
    max-height:148px!important;
  }
}



/* =========================================================
   Wine Not Blocks v1.39 — mobile hardening + responsive safety
   ========================================================= */

*,*::before,*::after{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
img,svg,video,iframe{max-width:100%}
.wp-site-blocks{overflow-x:clip}

/* Never let wide/constrained blocks force a horizontal scrollbar. */
.wn-section,
.wn-offer-grid,
.wn-promo-grid,
.wn-menu-editable,
.wn-menu-columns,
.wn-story,
.wn-contact-layout,
.wn-contact-cards,
.wn-feature-layout,
.wn-about-terrace,
.wn-drinks-nav-wrap,
.wn-drinks-menu,


/* Long links / names may wrap instead of stretching cards. */
.wn-footer a,
.wn-contact-layout a,
.wn-card a,
.wn-feature-layout a,
.wn-menu-columns,
.wn-drink-item,
.wn-drink-item h3,
.wn-drink-item p{
  overflow-wrap:anywhere;
  word-break:normal;
}

@media(max-width:782px){
  body{padding-top:64px!important}

  /* Header: logo + hamburger + socials stay inside the viewport. */
  .wn-header-inner{
    width:100%!important;
    max-width:none!important;
    padding-left:14px!important;
    padding-right:14px!important;
    grid-template-columns:minmax(64px,1fr) auto auto!important;
  }
  .wn-header .wp-block-site-logo img{max-width:78px!important}
  .wn-main-nav{min-width:38px!important}

  /* Full-screen mobile navigation must not inherit desktop sizing. */
  .wn-main-nav .wp-block-navigation__responsive-container.is-menu-open{
    box-sizing:border-box!important;
  }
  .wn-main-nav .wp-block-navigation__responsive-container-content{
    max-width:100%!important;
  }

  /* Generic WordPress columns/grids: stack safely unless a component has
     a more specific mobile layout of its own. */
  .wn-section > .wp-block-columns:not(.wn-offer-grid):not(.wn-promo-grid):not(.wn-visit-grid),
  .wn-footer-main{
    flex-wrap:wrap!important;
  }
  .wn-footer-main > .wp-block-column{
    flex-basis:calc(50% - 14px)!important;
    min-width:0!important;
  }

  .wn-page-hero,
  .wn-home-hero{
    width:100%!important;
    max-width:100%!important;
  }

  .wn-hero-copy{
    max-width:calc(100% - 28px)!important;
  }

  .wn-page-hero .wn-hero-copy h1,
  .wn-home-hero .wn-hero-copy h1{
    font-size:clamp(36px,8vw,46px)!important;
    overflow-wrap:break-word;
  }

  .wn-section{
    padding-left:14px!important;
    padding-right:14px!important;
  }

  .wn-offer-grid,
  .wn-drinks-nav-wrap,
  .wn-drinks-menu,
  .wn-menu-editable,
  .wn-menu-columns,
  .wn-story,
  .wn-contact-layout,
  .wn-feature-layout,
  .wn-about-terrace{
    width:100%!important;
  }

  /* Tables or plugin output should scroll inside their own area. */
  .wn-section table,
  .wn-menu-editable table,
  .wn-menu-columns table{
    display:block;
    width:100%;
    max-width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }

  input,select,textarea,button{
    max-width:100%;
  }
}

@media(max-width:650px){
  .wn-header-inner{
    padding-left:10px!important;
    padding-right:10px!important;
    column-gap:7px!important;
  }

  .wn-header .wn-social{gap:4px!important}
  .wn-header .wn-social .wp-social-link{
    width:24px!important;
    height:24px!important;
  }
  .wn-header .wn-social .wp-social-link svg{
    width:15px!important;
    height:15px!important;
  }

  /* Heroes: no giant empty area on phones. */
  .wn-home-hero,
  .wn-page-hero,
  .wp-block-cover.wn-home-hero,
  .wp-block-cover.wn-page-hero{
    min-height:390px!important;
    height:390px!important;
  }
  .wn-home-hero .wp-block-cover__inner-container,
  .wn-page-hero .wp-block-cover__inner-container{
    min-height:390px!important;
    height:390px!important;
  }
  .wn-home-hero .wn-hero-copy,
  .wn-page-hero .wn-hero-copy{
    width:calc(100% - 28px)!important;
    margin:0 14px 16px!important;
    padding:16px 17px!important;
  }
  .wn-home-hero .wn-hero-copy h1,
  .wn-page-hero .wn-hero-copy h1{
    font-size:clamp(34px,10vw,42px)!important;
    margin-bottom:10px!important;
  }
  .wn-home-hero .wn-hero-lead,
  .wn-page-hero .wn-hero-lead{
    font-size:15px!important;
  }

  .wn-section{
    padding:34px 12px!important;
  }

  .wn-card-copy h2,
  .wn-promo-copy h2,
  .wn-menu-editable h2,
  .wn-menu-columns h2,
  .wn-story h2,
  .wn-drinks-nav-wrap > h2,
  .wn-drink-category > h2{
    font-size:clamp(28px,8vw,34px)!important;
  }

  .wn-card-image img{height:210px!important}

  .wn-menu-columns,
  .wn-menu-columns.three,
  .wn-story,
  .wn-story-second,
  .wn-contact-cards,
  .wn-contact-layout,
  .wn-feature-layout,
  .wn-about-terrace{
    grid-template-columns:1fr!important;
  }

  .wn-menu-columns>div,
  .wn-contact-cards>div,
  .wn-instagram-placeholder,
  .wn-drink-category{
    padding:20px 17px!important;
  }

  .wn-contact-hours dl > div{
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:10px!important;
  }

  .wn-feature-main-copy,
  .wn-contact-main,
  .wn-contact-small{
    padding-left:18px!important;
    padding-right:18px!important;
  }

  /* Five selected Welcome photos: two equal tiles per row on phones. */
  .wn-welcome-gallery-grid{
    width:100%!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .wn-welcome-gallery-grid img{
    width:100%!important;
    height:auto!important;
    aspect-ratio:1/1!important;
    object-fit:cover!important;
  }

  /* Footer becomes a clean single column. */
  .wn-footer-main{
    display:flex!important;
    flex-direction:column!important;
    padding-left:18px!important;
    padding-right:18px!important;
  }
  .wn-footer-main > .wp-block-column{
    flex-basis:auto!important;
    width:100%!important;
    min-height:0!important;
  }
  .wn-copyright{
    padding-left:18px!important;
    padding-right:18px!important;
    width:100%!important;
  }
  .wn-footer .wn-iubenda-privacy{
    flex-wrap:wrap!important;
    gap:6px!important;
    max-width:100%!important;
  }
  .wn-footer .wn-iubenda-privacy a{
    white-space:normal!important;
  }
}

@media(max-width:390px){
  .wn-header .wp-block-site-logo img{width:66px!important}
  .wn-header .wn-social{display:none!important}
  .wn-header-inner{grid-template-columns:1fr auto!important}

  .wn-home-hero,
  .wn-page-hero,
  .wp-block-cover.wn-home-hero,
  .wp-block-cover.wn-page-hero,
  .wn-home-hero .wp-block-cover__inner-container,
  .wn-page-hero .wp-block-cover__inner-container{
    min-height:360px!important;
    height:360px!important;
  }

  .wn-welcome-gallery-grid{grid-template-columns:1fr!important}
  .wn-welcome-gallery-grid img{aspect-ratio:4/3!important}

  .wn-contact-hours dl > div{
    grid-template-columns:1fr!important;
    gap:2px!important;
  }
}


/* =========================================================
   Wine Not Blocks v1.40
   Mobile fixed header + Iubenda + Drinks navigation
   ========================================================= */

/* Header position is driven by JS so the WP admin bar can scroll away on mobile
   without leaving an empty strip above the Wine Not header. */
:root{
  --wn-mobile-admin-offset:0px;
  --wn-live-header-height:74px;
}

.wn-header{
  top:var(--wn-mobile-admin-offset, 0px)!important;
}

body{
  padding-top:var(--wn-live-header-height, 74px)!important;
}

/* Anchor targets must stop below the fixed header. */
.wn-drink-category,
#wn-drinks-top{
  scroll-margin-top:calc(var(--wn-live-header-height, 74px) + 16px)!important;
}

/* Iubenda native widgets are left untouched by the theme. */

/* Keep Iubenda footer controls easy to tap on phones. */
@media(max-width:782px){
  .wn-footer .wn-iubenda-privacy{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:8px!important;
    width:100%!important;
    margin:0!important;
  }

  .wn-footer .wn-iubenda-privacy a,
  .wn-footer .wn-iubenda-privacy .iubenda-embed{
    min-height:38px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    touch-action:manipulation!important;
  }

  /* On mobile the WP admin bar may cease being visually fixed while scrolling.
     JS continuously updates --wn-mobile-admin-offset to the visible part only. */
  .wn-header{
    position:fixed!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    margin:0!important;
    z-index:99990!important;
    transform:translateZ(0);
  }

  .wn-header-inner{
    margin-top:0!important;
    margin-bottom:0!important;
  }

  /* Drinks category navigation: do not hide it on phones.
     Use large two-column touch targets instead of the removed dropdown. */
  .wn-drinks-pills{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
    width:100%!important;
    overflow:visible!important;
  }

  .wn-drinks-pills a{
    display:flex!important;
    min-width:0!important;
    min-height:46px!important;
    width:100%!important;
    padding:10px 9px!important;
    justify-content:center!important;
    align-items:center!important;
    text-align:center!important;
    line-height:1.25!important;
    font-size:11px!important;
    white-space:normal!important;
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:rgba(152,47,59,.15);
  }

  .wn-drinks-nav-wrap{
    overflow:visible!important;
  }

  .wn-drinks-select{
    display:none!important;
  }
}

@media(max-width:430px){
  .wn-drinks-pills{
    grid-template-columns:1fr!important;
  }

  .wn-drinks-pills a{
    min-height:44px!important;
    font-size:12px!important;
  }
}


/* =========================================================
   Wine Not Blocks v1.41
   Hard mobile viewport fixes
   ========================================================= */

html, body {
  overflow-x: clip !important;
  max-width: 100% !important;
}

/* On phones the Wine Not header must touch the actual viewport top.
   This deliberately overrides the older .admin-bar .wn-header rules. */
@media (max-width: 782px) {
  body,
  body.admin-bar {
    padding-top: var(--wn-live-header-height, 64px) !important;
  }

  .wn-header,
  body.admin-bar .wn-header,
  .admin-bar .wn-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    inset-inline: 0 !important;
    width: 100% !important;
    max-width: 100vw !important;
    margin: 0 !important;
    z-index: 2147483000 !important;
    transform: none !important;
  }

  .wn-header-inner {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* When logged in, the WP admin bar may overlay the site header;
     the public/mobile header itself still stays flush to the viewport top. */
  #wpadminbar {
    z-index: 2147483500 !important;
  }
}
