/* ============================================================
   Zibetto static restore — theme compatibility layer
   Replaces the layout behavior of the unarchived Semplice
   frontend.min.css / scripts.min.js (commercial theme files
   the Wayback Machine never captured).
   ============================================================ */

/* ---------- base ---------- */
html, body { margin: 0; padding: 0; }
body {
  font-family: "futura-pt", Futura, "Century Gothic", "Trebuchet MS", Helvetica, Arial, sans-serif;
  color: #653208;
  background: #ffffff;
  padding-top: 140px; /* cleared for the fixed header; fine-tuned by JS */
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; }
a { color: #666; }

/* ---------- hide export artifacts ---------- */
.unexecuted { display: none !important; }          /* raw shortcode text */
img.ce-image { display: none !important; }        /* editor duplicate image */
.single-edit { display: none !important; }
#sbi_mod_error { display: none !important; }      /* instagram "no account" admin notice */
.view-project { display: none !important; }

/* ---------- header ---------- */
header {
  position: fixed !important;
  top: 0 !important;
  left: 0; right: 0;
  z-index: 900;
  background: #ffffff;
  border-bottom: 1px solid #efefef;
}
#navbar-bg { display: none !important; }
#navbar { position: relative; background: #ffffff; }
#navbar .fluid-container {
  max-width: 1200px; margin: 0 auto;
  padding: 10px 100px 4px; box-sizing: border-box;
  text-align: center; position: relative;
}
#navbar .logo { display: block; }
#navbar .logo svg { width: 140px; height: 52px; }
#navbar #logo { display: inline-block; }

nav.standard ul { list-style: none; margin: 6px 0 0; padding: 0; }
nav.standard ul li { display: inline-block; }
nav.standard ul li a {
  display: inline-block;
  padding: 6px 17px;
  line-height: 1.5 !important;
  font-size: 15px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #653208;
  text-decoration: none;
}
nav.standard ul li a:hover { color: #9b8e6f; }
nav.standard .zb-cart-btn { color: #653208; vertical-align: middle; }
.zb-cart-slot .zb-cart-btn { color: #653208; vertical-align: middle; }

/* hamburger — always visible in the top-right corner.
   The archived theme CSS forces .controls a / span to 103px tall, which
   rendered the icon as a solid bar; undo that so the three lines show. */
#navbar .controls { position: absolute; top: 27px; right: 20px; }
#navbar .controls a { display: inline-block; cursor: pointer; margin-left: 14px; vertical-align: middle; }
#navbar .controls a.open-nav { height: 36px !important; display: inline-flex !important; align-items: center; -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
#navbar .controls a svg { width: 16px; height: 24px; }
#navbar .controls a .nav-icon { height: 2px !important; margin-top: 0 !important; }
.nav-icon { display: block; width: 26px; height: 2px; background: #653208; position: relative; }
.nav-icon:before, .nav-icon:after {
  content: ""; position: absolute; left: 0; width: 26px; height: 2px; background: #653208;
}
.nav-icon:before { top: -8px; }
.nav-icon:after { top: 8px; }
.menu-responsive { display: inline-block !important; }
@media (max-width: 979px) {
  nav.standard { display: none; }
  #navbar .fluid-container { padding: 10px 100px 8px; text-align: center; }
  #navbar .logo svg { width: 120px; height: 45px; }
  #navbar .controls { top: 23px; right: 18px; }
}

/* fullscreen mobile menu */
#fullscreen-menu {
  display: none;
  position: fixed; top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(255,255,255,0.97);
  z-index: 950; overflow-y: auto;
}
#fullscreen-menu .menu-inner { padding: 110px 20px 60px; text-align: center; }
#fullscreen-menu .menu-inner nav ul { list-style: none; margin: 0; padding: 0; }
#fullscreen-menu .menu-inner nav ul li a {
  font-size: 26px; letter-spacing: 3px; text-transform: uppercase;
  color: #653208; text-decoration: none; line-height: 2.2;
}
#fullscreen-menu .menu-inner nav ul li a:hover { color: #9b8e6f; }

/* close button injected into the fullscreen menu */
#fullscreen-menu .menu-inner { position: relative; }
.zb-menu-close {
  position: absolute; top: 18px; right: 22px;
  background: none; border: 0; padding: 6px;
  font-size: 36px; line-height: 1; color: #653208; cursor: pointer;
}

/* ---------- grid (fluid 12-column, Bootstrap-style) ---------- */
.container { max-width: 1170px; margin: 0 auto; padding: 0 20px; box-sizing: border-box; }
.fluid-container { width: 100%; box-sizing: border-box; }
.row { *zoom: 1; }
.row:before, .row:after { display: table; content: ""; line-height: 0; }
.row:after { clear: both; }
.row > [class*="span"], .row > [class*="masonry-span"] {
  float: left; margin-left: 2.127659574468085%; box-sizing: border-box; min-height: 1px;
}
.row > [class*="span"]:first-child, .row > [class*="masonry-span"]:first-child { margin-left: 0; }
.span12, .masonry-span12 { width: 100%; }
.span11, .masonry-span11 { width: 91.48936170212765%; }
.span10, .masonry-span10 { width: 82.97872340425532%; }
.span9, .masonry-span9 { width: 74.46808510638297%; }
.span8, .masonry-span8 { width: 65.95744680851064%; }
.span7, .masonry-span7 { width: 57.44680851063829%; }
.span6, .masonry-span6 { width: 48.93617021276595%; }
.span5, .masonry-span5 { width: 40.42553191489362%; }
.span4, .masonry-span4 { width: 31.914893617021278%; }
.span3, .masonry-span3 { width: 23.404255319148934%; }
.span2, .masonry-span2 { width: 14.893617021276595%; }
.span1, .masonry-span1 { width: 6.382978723404255%; }
@media (max-width: 767px) {
  .row > [class*="span"], .row > [class*="masonry-span"] { width: 100%; margin-left: 0; float: none; }
  .row { margin-left: 0; }
}

/* ---------- homepage hero slider: smooth horizontal slide ---------- */
#cover-slider { position: relative; background: #0a0a0a; overflow: hidden; width: 100%; }
#cover-slider .section { position: relative; width: 100%; }
/* leftover archived fullpage slider styles must never shrink the hero */
#cover-slider .fp-slides, #cover-slider .fp-slidesContainer { transform: none !important; width: 100% !important; }
#cover-slider .fp-slidesNav, #cover-slider .fp-controlArrow { display: none !important; }
#cover-slider .zb-track {
  display: flex; height: 100%;
  transition: transform 1.1s cubic-bezier(0.65, 0, 0.35, 1);
  will-change: transform;
}
#cover-slider .slide { flex: 0 0 100%; max-width: 100%; position: relative; display: block; }
/* slow zoom on the visible picture keeps the hero alive */
#cover-slider .slide.zb-active .cover-image { animation: zb-kenburns 8s ease-out forwards; }
@keyframes zb-kenburns { from { transform: scale(1); } to { transform: scale(1.08); } }
/* caption rises in on the active slide (translate composes with the -50% centering) */
#cover-slider .slide .cover-headline {
  opacity: 0; translate: 0 26px;
  transition: opacity .8s ease .35s, translate .8s ease .35s;
}
#cover-slider .slide.zb-active .cover-headline { opacity: 1; translate: 0 0; }
.fullscreen-cover {
  position: relative;
  height: calc(100vh - 140px);
  min-height: 440px;
  overflow: hidden;
  background-color: #0a0a0a !important;
}
.cover-image {
  position: absolute; top: 0; left: 0; width: 100%; height: 100%;
  background-size: cover; background-position: center top; background-repeat: no-repeat;
}
/* original homepage carousel images (from the archived site) */
#cover-slider .slide[data-anchor="home-carousel-1"] .cover-image { background-image: url("/wp-content/uploads/2015/06/IMG_8510_bw_A.jpg"); }
#cover-slider .slide[data-anchor="home-carousel-2"] .cover-image { background-image: url("/wp-content/uploads/2015/06/IMG_8468_A.jpg"); }
#cover-slider .slide[data-anchor="homepage-carousel-3"] .cover-image { background-image: url("/wp-content/uploads/2015/06/IMG_8721_A.jpg"); }
#cover-slider .slide[data-anchor="homepage-carousel-4"] .cover-image { background-image: url("/wp-content/uploads/2015/06/IMG_8398_BW_A.jpg"); }
#cover-slider .slide[data-anchor="home-carousel-5"] .cover-image { background-image: url("/wp-content/uploads/2015/06/IMG_86271_A.jpg"); }
#cover-slider .slide[data-anchor="home-carousel-6"] .cover-image { background-image: url("/wp-content/uploads/2015/08/IMG_8267_BW.jpg"); }
#cover-slider .slide[data-anchor="workshop"] .cover-image { background-image: url("/wp-content/uploads/2026/workshop-slide.jpg"); background-position: center 40%; }
#cover-slider .slide[data-anchor="anniversary"] .cover-image { background-image: url("/wp-content/uploads/2026/anniversary-flyer-v2.jpg"); background-size: contain; background-color: #ebeae6; }
.cover-headline {
  position: absolute; top: 50%; left: 0; right: 0;
  transform: translateY(-50%); text-align: center; z-index: 3;
  padding: 0 20px;
}
.zb-dots { position: absolute; bottom: 22px; left: 0; right: 0; text-align: center; z-index: 5; }
.zb-dots span {
  display: inline-block; width: 10px; height: 10px; border-radius: 50%;
  background: rgba(255,255,255,0.45); margin: 0 6px; cursor: pointer;
}
.zb-dots span.zb-on { background: #ffffff; }
.zb-arrow {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 5;
  background: rgba(0,0,0,0.25); color: #fff; border: 0; border-radius: 50%;
  width: 44px; height: 44px; font-size: 20px; cursor: pointer; line-height: 1;
}
.zb-arrow:hover { background: rgba(0,0,0,0.5); }
.zb-prev { left: 18px; } .zb-next { right: 18px; }

/* ---------- content sections ---------- */
.content-container { box-sizing: border-box; }
.wysiwyg img, .column-image img { max-width: 100%; height: auto; }
.column-image { text-align: center; }

/* share / social icons — one centered row, all Zibetto brown, order: Facebook, Instagram, X */
.share-icons-wrapper {
  display: flex !important; flex-wrap: wrap;
  justify-content: center; align-items: center; gap: 14px 38px;
}
.share-icons-wrapper > .semplice-share-icons { margin: 0 !important; }
.share-icons-wrapper > .semplice-share-icons:nth-of-type(2) { order: 3; } /* twitter last */
.share-icons-wrapper > .semplice-share-icons:nth-of-type(3) { order: 2; } /* instagram middle */
.share-icons-wrapper > .semplice-share-icons:has(.icon-twitter) { order: 3; }
.share-icons-wrapper > .semplice-share-icons:has(.icon-tumblr) { order: 2; }
.share-icons-wrapper > .custom-newsletter { order: 4; flex: 1 1 100%; }
.share-icon { display: inline-block; margin: 0 !important; }
.share-icon a svg { width: 28px !important; height: 28px !important; fill: #653208 !important; }
.share-icon a svg path { fill: #653208 !important; }
.follow-links ul { list-style: none; margin: 0; padding: 0; text-align: center; }
.follow-links ul li { display: inline-block; }
.follow-links ul li a svg { width: 22px !important; height: 22px !important; }
.to-the-top { text-align: center; padding: 18px 0; }
.to-the-top a { cursor: pointer; display: inline-block; }
.to-the-top a svg { width: 34px !important; height: 34px !important; }
.share-box { padding: 60px 20px 30px; text-align: center; }
.share-box .share-icons-wrapper p {
  font-size: 20px !important; letter-spacing: 2px !important; color: #653208 !important;
  text-transform: uppercase;
}

/* newsletter form */
.mc4wp-form { width: 100%; }
.mc4wp-form-fields { display: flex !important; width: 100% !important; max-width: 640px; margin: 0 auto; }
.mc4wp-form-fields input[type="email"] {
  flex: 1; min-width: 0; height: 60px; border: 0; background: #F0F0F0;
  color: #737373; letter-spacing: 2px; text-transform: uppercase; text-indent: 5%;
  font-family: inherit; box-sizing: border-box;
}
.mc4wp-form-fields input[type="submit"] {
  width: 160px; height: 60px; border: 0; background: #653208; color: #F0F0F0;
  font-family: inherit; text-transform: uppercase; letter-spacing: 2px; cursor: pointer;
}
.mc4wp-form-fields input[type="submit"]:hover { background: #222222; }

/* ---------- injected footer ---------- */
.zb-footer { background: #653208; color: #f3e9dc; margin-top: 0; width: 100%; box-sizing: border-box; }
/* breaking-news anniversary ticker, fixed at the very top */
.zb-ticker {
  position: fixed; top: 0; left: 0; right: 0; height: 36px; z-index: 940;
  background: #ffffff; color: #653208; overflow: hidden;
  display: flex; align-items: center; width: 100%; box-sizing: border-box;
}
.zb-ticker-track { display: inline-block; white-space: nowrap; animation: zb-ticker-slide 28s linear infinite; will-change: transform; }
.zb-ticker-track span {
  display: inline-block; padding: 0 28px;
  font-size: 13px; letter-spacing: 3px; text-transform: uppercase; font-weight: 500;
}
@keyframes zb-ticker-slide { from { transform: translateX(0); } to { transform: translateX(-50%); } }
body.zb-has-ticker header { top: 36px !important; }

/* Zibetto menu page — rebuilt 2026-09-20 */
.zb-menu-wrap { max-width: 1060px; margin: 0 auto; padding: 6px 20px 30px; }
.zb-menu-intro { text-align: center; margin: 8px 0 14px; }
.zb-menu-kicker { letter-spacing: 4px; text-transform: uppercase; color: #998d6f; font-size: 12px; margin: 0 0 8px; }
.zb-menu-title { font-family: Georgia, 'Times New Roman', serif; font-weight: normal; font-size: 42px; color: #653208; margin: 0 0 8px; }
.zb-menu-sub { color: #8a7a63; font-size: 16px; margin: 0; }
.zb-menu-chips { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin: 6px 0 8px; }
.zb-menu-chips a { color: #653208; text-decoration: none; font-size: 13px; letter-spacing: 2px; text-transform: uppercase; padding: 9px 18px; border: 1px solid #e4d9c8; border-radius: 999px; background: #fffdf8; }
.zb-menu-chips a:active { background: #653208; color: #fff; }
.zb-menu-sec { margin: 26px 0 8px; scroll-margin-top: 150px; }
.zb-menu-sec-head { display: flex; gap: 18px; align-items: center; margin-bottom: 10px; }
.zb-menu-sec-head img { width: 96px; height: 96px; object-fit: cover; border-radius: 50%; flex: none; box-shadow: 0 6px 18px rgba(101,50,8,.20); }
.zb-menu-sec-kicker { letter-spacing: 3px; text-transform: uppercase; color: #998d6f; font-size: 11px; margin: 0 0 6px; }
.zb-menu-sec-head h3 { font-family: Georgia, 'Times New Roman', serif; font-weight: normal; font-size: 32px; color: #653208; margin: 0 0 6px; }
.zb-menu-sec-desc { color: #8a7a63; font-size: 14.5px; margin: 0; }
.zb-menu-list { list-style: none; margin: 0; padding: 0; }
.zb-menu-list li { display: flex; align-items: baseline; gap: 10px; padding: 9px 2px; border-bottom: 1px solid #f1e8d8; }
.zb-mi h4 { margin: 0; font-size: 17px; color: #3d3d3d; font-weight: 600; }
.zb-mi p { margin: 3px 0 0; font-size: 13.5px; color: #9a8b74; }
/* NOTE: named zb-leader, NOT zb-dots — .zb-dots is already the homepage slider nav (position:absolute) */
.zb-leader { flex: 1 1 auto; border-bottom: 2px dotted #d9c9ae; transform: translateY(-4px); min-width: 24px; }
.zb-price { font-family: Georgia, 'Times New Roman', serif; font-size: 17px; color: #653208; font-weight: bold; white-space: nowrap; }
.zb-menu-extras { display: flex; flex-wrap: wrap; gap: 8px 22px; justify-content: center; margin-top: 18px; font-size: 14px; color: #8a7a63; }
.zb-menu-extras b { color: #653208; }
.zb-menu-note { text-align: center; font-style: italic; font-size: 13.5px; color: #998d6f; margin: 12px 0 0; }
.zb-menu-catering { text-align: center; background: #653208; border-radius: 16px; padding: 34px 26px; margin: 10px 0; }
.zb-menu-catering h3 { font-family: Georgia, 'Times New Roman', serif; font-weight: normal; color: #fff; margin: 0 0 10px; font-size: 26px; }
.zb-menu-catering p { color: #f3e9dc; font-size: 15px; margin: 0; }
.zb-menu-catering a { display: inline-block; margin-top: 16px; background: #fff; color: #653208; padding: 13px 28px; border-radius: 999px; text-decoration: none; letter-spacing: 1px; font-weight: 700; font-size: 15px; }
@media (max-width: 560px) {
  .zb-menu-sec-head img { width: 86px; height: 86px; }
  .zb-menu-sec-head h3 { font-size: 27px; }
  .zb-menu-title { font-size: 38px; }
}
/* two-column menu on desktop: fills the width, kills the sparse single column */
@media (min-width: 760px) {
  .zb-menu-list { display: grid; grid-template-columns: 1fr 1fr; column-gap: 44px; }
}

/* fullscreen nav: beat the archived theme's absolute vertical-centering
   (it collapsed .menu-inner and pushed the top links off-screen) */
#fullscreen-menu .menu-inner nav {
  position: static !important; top: auto !important;
  transform: none !important; -webkit-transform: none !important;
}

/* Instagram live feed — homepage, replaces the broken sbi widget */
.zb-ig-feed { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; max-width: 1100px; margin: 0 auto; padding: 0 15px; }
.zb-ig-feed a { display: block; aspect-ratio: 1/1; overflow: hidden; background: #f3e9dc; }
.zb-ig-feed img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s ease; }
.zb-ig-feed a:hover img { transform: scale(1.06); }
@media (max-width: 640px) { .zb-ig-feed { grid-template-columns: repeat(2, 1fr); } }

/* "As seen in" press bar — homepage, right under the hero slider */
.zb-pressbar {
  background: #ffffff; border-top: 1px solid #e8ddd0; border-bottom: 1px solid #e8ddd0;
  text-align: center; padding: 26px 16px; width: 100%; box-sizing: border-box;
}
.zb-pressbar-label { font-size: 12px; letter-spacing: 4px; text-transform: uppercase; color: #9b8e6f; margin: 0 0 16px; }
.zb-pressbar-logos { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 18px 48px; }
.zb-pressbar-logos a, .zb-pressbar-logos span { display: inline-flex; align-items: center; }
.zb-pressbar-logos img { height: 32px; width: auto; max-width: 190px; object-fit: contain; display: block; }
@media (max-width: 640px) {
  .zb-pressbar-logos { gap: 14px 28px; }
  .zb-pressbar-logos img { height: 24px; max-width: 140px; }
}
html, body { overflow-x: hidden; }
.zb-footer-inner {
  max-width: 1100px; margin: 0 auto; padding: 26px 20px;
  display: flex; flex-wrap: wrap; gap: 14px; align-items: center; justify-content: space-between;
  box-sizing: border-box;
}
.zb-footer p { margin: 0; font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; }
.zb-footer nav a {
  color: #f3e9dc; text-decoration: none; font-size: 12px; letter-spacing: 2px;
  text-transform: uppercase; margin-left: 18px;
}
.zb-footer nav a:hover { color: #ffffff; text-decoration: underline; }
@media (max-width: 767px) {
  .zb-footer-inner { justify-content: center; text-align: center; }
  .zb-footer nav { display: flex; flex-wrap: wrap; justify-content: center; }
  .zb-footer nav a { margin: 6px 9px; white-space: nowrap; }
  body { padding-top: 120px; }
  .fullscreen-cover { height: calc(100vh - 120px); }
}

/* ---------- alive touches: scroll reveals, nav shadow, menu stagger, hovers ---------- */
/* page gently fades in on load */
body { animation: zb-pagein .5s ease; }
@keyframes zb-pagein { from { opacity: 0; } to { opacity: 1; } }

/* scroll-reveal: JS adds .zb-reveal to blocks, .zb-in when they enter view */
.zb-reveal { opacity: 0; translate: 0 28px; transition: opacity .9s ease, translate .9s ease; }
.zb-reveal.zb-in { opacity: 1; translate: 0 0; }

/* navbar gains a soft shadow once the page scrolls */
#navbar-bg { transition: box-shadow .3s ease; }
body.zb-scrolled #navbar-bg { box-shadow: 0 2px 18px rgba(101, 50, 8, .14); }

/* fullscreen menu links cascade in when the menu opens */
#fullscreen-menu .menu-inner nav ul li {
  opacity: 0; translate: 0 14px;
  transition: opacity .45s ease, translate .45s ease;
}
body.zb-nav-open #fullscreen-menu .menu-inner nav ul li { opacity: 1; translate: 0 0; }
body.zb-nav-open #fullscreen-menu .menu-inner nav ul li:nth-child(1) { transition-delay: .07s; }
body.zb-nav-open #fullscreen-menu .menu-inner nav ul li:nth-child(2) { transition-delay: .13s; }
body.zb-nav-open #fullscreen-menu .menu-inner nav ul li:nth-child(3) { transition-delay: .19s; }
body.zb-nav-open #fullscreen-menu .menu-inner nav ul li:nth-child(4) { transition-delay: .25s; }
body.zb-nav-open #fullscreen-menu .menu-inner nav ul li:nth-child(5) { transition-delay: .31s; }
body.zb-nav-open #fullscreen-menu .menu-inner nav ul li:nth-child(6) { transition-delay: .37s; }
body.zb-nav-open #fullscreen-menu .menu-inner nav ul li:nth-child(7) { transition-delay: .43s; }
body.zb-nav-open #fullscreen-menu .menu-inner nav ul li:nth-child(7) { transition-delay: .43s; }
body.zb-nav-open #fullscreen-menu .menu-inner nav ul li:nth-child(8) { transition-delay: .49s; }

/* content images breathe on hover */
.column-image { overflow: hidden; }
.column-image img { transition: transform .6s ease; }
.column-image:hover img { transform: scale(1.05); }

/* buttons and links transition smoothly */
.mc4wp-form-fields input[type="submit"] { transition: background .3s ease, transform .2s ease; }
.mc4wp-form-fields input[type="submit"]:hover { transform: translateY(-1px); }
.zb-footer nav a { transition: color .3s ease; }
.zb-arrow { transition: background .3s ease, transform .2s ease; }
.zb-arrow:active { transform: translateY(-50%) scale(.92); }
.zb-dots span { transition: background .3s ease, transform .2s ease; }
.zb-dots span:hover { transform: scale(1.25); }

/* respect reduced-motion preferences */
@media (prefers-reduced-motion: reduce) {
  .zb-reveal, #cover-slider .slide .cover-headline,
  #fullscreen-menu .menu-inner nav ul li { opacity: 1 !important; translate: none !important; transition: none !important; }
  #cover-slider .zb-track { transition: none; }
  #cover-slider .slide.zb-active .cover-image { animation: none; }
  body { animation: none; }
}

/* ---- Locations accordion ---- */
.zibetto-locations-accordion{max-width:760px;margin:0 auto;}
.zibetto-locations-accordion .loc-item{border-bottom:1px solid #653208;}
.zibetto-locations-accordion .loc-item:first-child{border-top:1px solid #653208;}
.zibetto-locations-accordion .loc-header{width:100%;background:none;border:0;padding:20px 6px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;color:#653208;font:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation;}
.zibetto-locations-accordion .loc-name{font-size:22px;letter-spacing:.5px;color:#653208;}
.zibetto-locations-accordion .loc-plus{font-size:30px;line-height:1;font-weight:300;color:#653208;transition:transform .25s ease;}
.zibetto-locations-accordion .loc-item.open .loc-plus{transform:rotate(45deg);}
.zibetto-locations-accordion .loc-panel{max-height:0;overflow:hidden;transition:max-height .4s ease;}
.zibetto-locations-accordion .loc-item.open .loc-panel{max-height:1400px;}
.zibetto-locations-accordion .loc-photo{display:block;width:100%;height:auto;margin:4px 0 20px;}
.zibetto-locations-accordion .loc-details{padding:0 6px 30px;color:#653208;font-size:17px;line-height:26px;}
.zibetto-locations-accordion .loc-details p{margin:0 0 16px;color:#653208;}
.zibetto-locations-accordion .loc-details a{color:#653208;}
.zibetto-locations-accordion .loc-hours{margin:0 0 22px;max-width:430px;}
.zibetto-locations-accordion .loc-hours-title{display:block;font-size:13px;letter-spacing:3px;text-transform:uppercase;font-weight:500;color:#653208;margin-bottom:6px;}
.zibetto-locations-accordion .loc-hours-row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:8px 0;border-bottom:1px solid rgba(101,50,8,.25);font-size:16px;line-height:24px;color:#653208;}
.zibetto-locations-accordion .loc-hours-row:last-child{border-bottom:0;}
.zibetto-locations-accordion .loc-hours-row span:last-child{font-weight:500;white-space:nowrap;}
.zibetto-locations-accordion .loc-section{margin:0 0 22px;}
.zibetto-locations-accordion .loc-section:last-child{margin-bottom:0;}
.zibetto-locations-accordion .loc-section-title{display:block;font-size:13px;letter-spacing:3px;text-transform:uppercase;font-weight:500;color:#653208;margin-bottom:6px;}
.zibetto-locations-accordion .loc-section p{margin:0;font-size:17px;line-height:28px;color:#653208;}
.zibetto-locations-accordion .loc-header:focus{outline:none;}
.zibetto-locations-accordion .loc-header:focus-visible{outline:2px solid #653208;outline-offset:2px;}

/* --- Menu gap fix (v18): the JS body padding already clears the fixed ticker + absolute header,
   so the legacy Semplice 103px content offset is pure dead space. Also neutralize the legacy
   mobile #wrapper pull-up now that the header offset is handled by body padding. --- */
#content-holder, #page-content { margin-top: 0 !important; }
@media (max-width: 767px) {
  div#wrapper { position: relative; top: 0 !important; }
}
