body.oliva-menu-page {
  overflow-x: hidden;
}

body.oliva-menu-page .entry-content,
body.oliva-menu-page .page-content,
body.oliva-menu-page .wp-block-post-content,
body.oliva-menu-page .site-content,
body.oliva-menu-page .content-area,
body.oliva-menu-page .site-main,
body.oliva-menu-page main {
  max-width: none !important;
}

body.oliva-menu-page .entry-content,
body.oliva-menu-page .page-content,
body.oliva-menu-page .wp-block-post-content {
  width: 100% !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
  overflow: visible;
}

.oliva-menu-plugin {
  --oliva-ink: #192716;
  --oliva-green: #2d4227;
  --oliva-muted: #556845;
  --oliva-accent: #8a7149;
  --oliva-paper: #fffdf7;
  --oliva-paper-deep: #f2eadc;
  --oliva-card: #fffefa;
  --oliva-card-soft: #f8f2e7;
  --oliva-line: rgba(33, 49, 29, .30);
  --oliva-line-strong: rgba(33, 49, 29, .58);
  --oliva-line-soft: rgba(138, 113, 73, .24);
  --oliva-shadow: rgba(0, 0, 0, .17);
  --oliva-shadow-soft: rgba(0, 0, 0, .075);
  width: min(1320px, calc(100% - 32px));
  max-width: 100%;
  margin: 34px auto;
  padding: 0;
  background: transparent !important;
  color: var(--oliva-ink);
  font-family: Georgia, 'Times New Roman', serif;
  line-height: 1.45;
  position: relative;
  overflow: visible;
  isolation: isolate;
  box-shadow: none !important;
}

.oliva-menu-plugin.oliva-menu-full-width {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: clamp(30px, 5vw, 74px) max(14px, calc((100vw - 1320px) / 2 + 28px));
  background: transparent !important;
  box-shadow: none !important;
}

.oliva-menu-plugin,
.oliva-menu-plugin * {
  box-sizing: border-box;
}

.oliva-menu-plugin a,
.oliva-menu-plugin h1,
.oliva-menu-plugin h2,
.oliva-menu-plugin h3,
.oliva-menu-plugin p,
.oliva-menu-plugin span {
  color: inherit;
}

.oliva-menu-content {
  width: min(1320px, 100%);
  margin: 0 auto;
  padding: clamp(22px, 3vw, 46px);
  border: 1.5px solid var(--oliva-line-strong);
  border-radius: 30px;
  background:
    radial-gradient(ellipse at 8% 4%, rgba(87, 107, 66, .13), transparent 32%),
    radial-gradient(ellipse at 94% 84%, rgba(138, 113, 73, .13), transparent 34%),
    linear-gradient(180deg, rgba(255, 253, 247, .99), rgba(242, 234, 220, .965));
  box-shadow: 0 30px 86px var(--oliva-shadow);
  position: relative;
  z-index: 1;
  overflow: visible;
}

.oliva-menu-content::before {
  content: "";
  position: absolute;
  inset: 10px;
  border: 1px solid rgba(33, 49, 29, .16);
  border-radius: 22px;
  pointer-events: none;
  z-index: -1;
}

.oliva-menu-header {
  margin: 0 0 30px;
  padding: 0 0 22px;
  border-bottom: 1px solid var(--oliva-line);
  text-align: center;
}

.oliva-menu-brand,
.oliva-menu-subbrand,
.oliva-menu-brand-footer {
  display: none !important;
}

.oliva-menu-title {
  margin: 0 0 8px;
  color: var(--oliva-ink);
  font-size: clamp(32px, 4.6vw, 60px);
  font-weight: 700;
  letter-spacing: .065em;
  line-height: 1.04;
  text-transform: none;
}

.oliva-menu-season {
  margin: 0;
  color: var(--oliva-accent);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.oliva-menu-nav {
  position: sticky;
  top: calc(var(--oliva-menu-sticky-top, 0px) + 10px);
  z-index: 20;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 10px;
  width: min(1040px, 100%);
  margin: 0 auto 34px;
  padding: 10px;
  border: 1px solid rgba(33, 49, 29, .26);
  border-radius: 999px;
  background: rgba(255, 253, 247, .94);
  box-shadow: 0 12px 32px rgba(0, 0, 0, .095);
  backdrop-filter: blur(10px);
}

.oliva-menu-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 8px 13px;
  border: 1px solid rgba(33, 49, 29, .22);
  border-radius: 999px;
  background: rgba(255, 254, 250, .96);
  color: var(--oliva-ink);
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .105em;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: border-color .18s ease, background-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.oliva-menu-nav a:focus,
.oliva-menu-nav a:hover {
  border-color: var(--oliva-line-strong);
  background: var(--oliva-card-soft);
  color: #111c0f;
  text-decoration: none;
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(0, 0, 0, .08);
}

.oliva-menu-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 2.4vw, 34px);
  align-items: start;
}

.oliva-menu-section {
  min-width: 0;
  break-inside: avoid;
  padding: clamp(18px, 2.1vw, 28px);
  border: 1px solid var(--oliva-line-strong);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255, 253, 250, .94), rgba(248, 242, 231, .88));
  box-shadow: 0 15px 34px var(--oliva-shadow-soft);
  overflow: hidden;
}

.oliva-menu-section-wide {
  grid-column: 1 / -1;
}

.oliva-menu-section-boxed {
  border-width: 1.5px;
  background:
    radial-gradient(ellipse at top, rgba(138, 113, 73, .10), transparent 52%),
    linear-gradient(180deg, rgba(247, 242, 231, .96), rgba(255, 253, 247, .92));
}

.oliva-menu-section-title {
  margin: 0 0 10px;
  padding: 0 0 13px;
  border-bottom: 1px solid var(--oliva-line);
  color: var(--oliva-ink);
  font-size: clamp(22px, 2.35vw, 34px);
  font-weight: 800;
  letter-spacing: .045em;
  line-height: 1.1;
  text-align: center;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}

.oliva-menu-section-subtitle {
  margin: 0 0 18px;
  color: var(--oliva-accent);
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: .14em;
  text-align: center;
  text-transform: uppercase;
}

.oliva-menu-items {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.oliva-menu-section-wide .oliva-menu-items {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.oliva-menu-item {
  min-width: 0;
  margin: 0;
  padding: 15px 16px;
  border: 1px solid rgba(33, 49, 29, .24);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255, 254, 250, .98), rgba(255, 253, 247, .96));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .75);
  overflow: hidden;
}

.oliva-menu-item-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  align-items: start;
}

.oliva-menu-item-row::after {
  display: none;
}

.oliva-menu-item-name {
  min-width: 0;
  margin: 0;
  color: var(--oliva-ink);
  font-size: clamp(15.5px, 1.12vw, 17.5px);
  font-weight: 800;
  letter-spacing: .032em;
  line-height: 1.2;
  overflow-wrap: anywhere;
  hyphens: auto;
  text-transform: uppercase;
}

.oliva-menu-item-price {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 25px;
  padding: 3px 9px;
  border: 1px solid rgba(33, 49, 29, .24);
  border-radius: 999px;
  background: rgba(248, 242, 231, .92);
  color: var(--oliva-ink);
  font-size: clamp(12.5px, .95vw, 14.5px);
  font-weight: 800;
  line-height: 1.15;
  white-space: nowrap;
}

.oliva-menu-item-desc {
  max-width: none;
  margin: 8px 0 0;
  color: var(--oliva-muted);
  font-size: clamp(12.5px, .92vw, 13.5px);
  font-weight: 600;
  letter-spacing: .014em;
  line-height: 1.48;
  overflow-wrap: anywhere;
  hyphens: auto;
  text-align: left;
  text-transform: none;
}

.oliva-menu-footer {
  margin-top: 34px;
  padding-top: 22px;
  border-top: 1px solid var(--oliva-line);
  text-align: center;
}

.oliva-menu-chef {
  margin: 0;
  color: var(--oliva-ink);
  font-size: 17px;
  font-weight: 800;
}

.oliva-menu-footer-line {
  width: min(420px, 100%);
  height: 1px;
  margin: 18px auto 0;
  background: var(--oliva-line-strong);
}

.wp-admin .oliva-menu-plugin,
.oliva-admin-preview-shell .oliva-menu-plugin,
.wp-admin .oliva-menu-plugin.oliva-menu-full-width,
.oliva-admin-preview-shell .oliva-menu-plugin.oliva-menu-full-width {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 18px !important;
  background: transparent !important;
  box-shadow: none !important;
}

.wp-admin .oliva-menu-content,
.oliva-admin-preview-shell .oliva-menu-content {
  width: 100% !important;
  max-width: 100% !important;
}

@media (max-width: 1180px) {
  .oliva-menu-plugin.oliva-menu-full-width {
    padding-right: 18px;
    padding-left: 18px;
  }

  .oliva-menu-nav {
    width: 100%;
    border-radius: 28px;
  }
}

@media (max-width: 1020px) {
  .oliva-menu-grid,
  .oliva-menu-section-wide .oliva-menu-items {
    grid-template-columns: 1fr;
  }

  .oliva-menu-content {
    border-radius: 26px;
  }
}

@media (max-width: 820px) {
  .oliva-menu-plugin,
  .oliva-menu-plugin.oliva-menu-full-width {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding: 14px max(10px, env(safe-area-inset-right)) 26px max(10px, env(safe-area-inset-left)) !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .oliva-menu-content {
    padding: 18px 10px 24px;
    border-width: 1px;
    border-radius: 24px;
    box-shadow: 0 18px 48px rgba(0, 0, 0, .20);
  }

  .oliva-menu-content::before {
    inset: 7px;
    border-radius: 18px;
  }

  .oliva-menu-header {
    margin-bottom: 18px;
    padding: 4px 8px 17px;
  }

  .oliva-menu-title {
    font-size: clamp(30px, 9.4vw, 43px);
    letter-spacing: .055em;
  }

  .oliva-menu-season {
    font-size: 10.5px;
    letter-spacing: .135em;
  }

  .oliva-menu-nav {
    position: sticky;
    top: calc(var(--oliva-menu-sticky-top, 0px) + 8px);
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 7px;
    width: auto;
    max-width: none;
    margin: 0 -2px 22px;
    padding: 7px;
    overflow-x: auto;
    overflow-y: hidden;
    border-radius: 999px;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .oliva-menu-nav::-webkit-scrollbar {
    display: none;
  }

  .oliva-menu-nav a {
    flex: 0 0 auto;
    min-height: 38px;
    padding: 8px 12px;
    border-radius: 999px;
    font-size: 9.5px;
    letter-spacing: .08em;
    scroll-snap-align: start;
  }

  .oliva-menu-grid {
    gap: 14px;
  }

  .oliva-menu-section {
    padding: 15px 10px 12px;
    border-radius: 21px;
  }

  .oliva-menu-section-title {
    margin-bottom: 8px;
    padding-bottom: 11px;
    font-size: clamp(20px, 6.2vw, 26px);
    letter-spacing: .04em;
  }

  .oliva-menu-section-subtitle {
    margin-bottom: 14px;
    font-size: 10.5px;
    letter-spacing: .105em;
  }

  .oliva-menu-items {
    gap: 10px;
  }

  .oliva-menu-item {
    padding: 13px 12px;
    border-radius: 17px;
  }

  .oliva-menu-item-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 7px;
    align-items: start;
  }

  .oliva-menu-item-name {
    font-size: clamp(14.5px, 4.15vw, 16.25px);
    letter-spacing: .025em;
    line-height: 1.24;
  }

  .oliva-menu-item-price {
    min-height: 24px;
    padding: 3px 8px;
    font-size: clamp(11.5px, 3.4vw, 13px);
  }

  .oliva-menu-item-desc {
    margin-top: 7px;
    color: #4d5e41;
    font-size: clamp(12.2px, 3.55vw, 13.4px);
    letter-spacing: .006em;
    line-height: 1.52;
  }

  .oliva-menu-footer {
    margin-top: 24px;
    padding-top: 18px;
  }

  .oliva-menu-chef {
    font-size: 15px;
  }
}

@media (max-width: 480px) {
  .oliva-menu-plugin,
  .oliva-menu-plugin.oliva-menu-full-width {
    padding-top: 10px !important;
    padding-bottom: 22px !important;
  }

  .oliva-menu-content {
    padding: 15px 8px 20px;
    border-radius: 21px;
  }

  .oliva-menu-content::before {
    inset: 6px;
    border-radius: 16px;
  }

  .oliva-menu-header {
    padding-right: 6px;
    padding-left: 6px;
  }

  .oliva-menu-title {
    font-size: clamp(29px, 10vw, 38px);
  }

  .oliva-menu-nav {
    margin-right: -1px;
    margin-left: -1px;
    padding: 6px;
  }

  .oliva-menu-nav a {
    min-height: 37px;
    padding-right: 10px;
    padding-left: 10px;
    font-size: 9px;
  }

  .oliva-menu-section {
    padding: 13px 8px 10px;
    border-radius: 19px;
  }

  .oliva-menu-item {
    padding: 12px 10px;
    border-radius: 15px;
  }
}

@media (max-width: 360px) {
  .oliva-menu-item-row {
    grid-template-columns: 1fr;
  }

  .oliva-menu-item-price {
    justify-self: start;
    white-space: normal;
  }
}

@media (prefers-reduced-motion: reduce) {
  .oliva-menu-nav a {
    transition: none;
  }
}

@media print {
  .oliva-menu-plugin,
  .oliva-menu-plugin.oliva-menu-full-width {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  .oliva-menu-content {
    box-shadow: none !important;
  }

  .oliva-menu-nav {
    display: none;
  }
}

/* Oliva homepage module */
body.oliva-home-page {
  overflow-x: hidden;
}

body.oliva-home-page .entry-content,
body.oliva-home-page .page-content,
body.oliva-home-page .wp-block-post-content,
body.oliva-home-page .site-content,
body.oliva-home-page .content-area,
body.oliva-home-page .site-main,
body.oliva-home-page main {
  max-width: none !important;
}

body.oliva-home-page .entry-content,
body.oliva-home-page .page-content,
body.oliva-home-page .wp-block-post-content {
  width: 100% !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
  overflow: visible;
}

.oliva-home-plugin,
.oliva-home-plugin * {
  box-sizing: border-box;
}

.oliva-home-plugin {
  --oliva-home-ink: #fff8e8;
  --oliva-home-ink-soft: rgba(255, 248, 232, .76);
  --oliva-home-dark: #11170f;
  --oliva-home-dark-2: #1c2418;
  --oliva-home-green: #2d4227;
  --oliva-home-gold: #b99a63;
  --oliva-home-paper: #fffaf0;
  --oliva-home-paper-2: #efe4d1;
  --oliva-home-paper-ink: #192716;
  --oliva-home-muted: #5e674f;
  --oliva-home-line: rgba(185, 154, 99, .34);
  --oliva-home-line-dark: rgba(255, 248, 232, .18);
  width: min(1320px, calc(100% - 32px));
  max-width: 100%;
  margin: 0 auto;
  color: var(--oliva-home-ink);
  background: var(--oliva-home-dark);
  font-family: Georgia, 'Times New Roman', serif;
  line-height: 1.5;
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.oliva-home-plugin a,
.oliva-home-plugin h1,
.oliva-home-plugin h2,
.oliva-home-plugin h3,
.oliva-home-plugin p,
.oliva-home-plugin span {
  color: inherit;
}

.oliva-home-plugin p {
  margin-top: 0;
}

.oliva-home-plugin.oliva-home-full-width {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

.oliva-home-shell {
  width: min(1180px, calc(100% - 40px));
  margin-right: auto;
  margin-left: auto;
}

.oliva-home-hero {
  min-height: clamp(680px, 92vh, 980px);
  display: grid;
  align-items: center;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 18% 18%, rgba(185, 154, 99, .20), transparent 34%),
    linear-gradient(135deg, #10170e, #24321f 62%, #0e130d);
}

.oliva-home-hero-media,
.oliva-home-hero-overlay {
  position: absolute;
  inset: 0;
}

.oliva-home-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.015);
  filter: saturate(.95) contrast(1.06) brightness(.76);
}

.oliva-home-hero-overlay {
  background:
    linear-gradient(90deg, rgba(8, 12, 7, .88), rgba(8, 12, 7, .62) 42%, rgba(8, 12, 7, .38) 72%, rgba(8, 12, 7, .62)),
    linear-gradient(180deg, rgba(8, 12, 7, .62), rgba(8, 12, 7, .12) 45%, rgba(8, 12, 7, .86));
  z-index: 1;
}

.oliva-home-hero-inner {
  position: relative;
  z-index: 2;
  padding: clamp(92px, 12vw, 160px) 0 clamp(70px, 8vw, 120px);
}

.oliva-home-kicker,
.oliva-home-section-kicker {
  margin: 0 0 16px;
  color: var(--oliva-home-gold);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.oliva-home-hero h1 {
  max-width: 820px;
  margin: 0 0 24px;
  color: #fffaf0;
  font-size: clamp(48px, 7.4vw, 104px);
  font-weight: 700;
  letter-spacing: .015em;
  line-height: .96;
  text-wrap: balance;
  text-shadow: 0 16px 58px rgba(0, 0, 0, .48);
}

.oliva-home-hero-text {
  max-width: 660px;
  margin: 0 0 34px;
  color: var(--oliva-home-ink-soft);
  font-size: clamp(17px, 1.55vw, 22px);
  font-weight: 500;
  line-height: 1.55;
}

.oliva-home-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin-bottom: 32px;
}

.oliva-home-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 14px 22px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .13em;
  line-height: 1.2;
  text-align: center;
  text-decoration: none !important;
  text-transform: uppercase;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease;
}

.oliva-home-button-primary {
  background: #fffaf0;
  color: #172213 !important;
  box-shadow: 0 16px 34px rgba(0, 0, 0, .26);
}

.oliva-home-button-secondary {
  border-color: rgba(255, 250, 240, .38);
  background: rgba(255, 250, 240, .06);
  color: #fffaf0 !important;
  backdrop-filter: blur(10px);
}

.oliva-home-button:hover,
.oliva-home-button:focus {
  transform: translateY(-1px);
  box-shadow: 0 18px 40px rgba(0, 0, 0, .32);
}

.oliva-home-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  max-width: 860px;
}

.oliva-home-facts a,
.oliva-home-facts span {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 8px 13px;
  border: 1px solid rgba(255, 248, 232, .22);
  border-radius: 999px;
  background: rgba(255, 248, 232, .08);
  color: rgba(255, 248, 232, .88) !important;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-decoration: none !important;
  text-transform: uppercase;
  backdrop-filter: blur(8px);
}

.oliva-home-section-wrap {
  padding: clamp(54px, 7vw, 108px) 0 clamp(64px, 7vw, 110px);
  background:
    radial-gradient(ellipse at 90% 8%, rgba(185, 154, 99, .16), transparent 34%),
    linear-gradient(180deg, #10160e, #1a2217 44%, #10160e);
}

.oliva-home-intro {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(320px, .78fr);
  gap: clamp(24px, 5vw, 76px);
  align-items: center;
  margin-bottom: clamp(30px, 6vw, 78px);
}

.oliva-home-copy {
  padding: clamp(24px, 3vw, 42px);
  border: 1px solid var(--oliva-home-line-dark);
  border-radius: 30px;
  background: rgba(255, 248, 232, .055);
  box-shadow: 0 26px 72px rgba(0, 0, 0, .22);
}

.oliva-home-copy h2,
.oliva-home-menu-copy h2,
.oliva-home-split-cta h2 {
  margin: 0 0 18px;
  color: #fffaf0;
  font-size: clamp(32px, 4vw, 58px);
  font-weight: 700;
  letter-spacing: .012em;
  line-height: 1.04;
  text-wrap: balance;
}

.oliva-home-copy p:not(.oliva-home-section-kicker),
.oliva-home-menu-copy p:not(.oliva-home-section-kicker),
.oliva-home-split-cta p:not(.oliva-home-section-kicker) {
  color: var(--oliva-home-ink-soft);
  font-size: clamp(15.5px, 1.15vw, 18px);
  font-weight: 500;
  line-height: 1.72;
}

.oliva-home-image-card,
.oliva-home-featured-image {
  min-height: 440px;
  border: 1px solid rgba(255, 248, 232, .20);
  border-radius: 34px;
  background:
    radial-gradient(ellipse at 24% 18%, rgba(185, 154, 99, .24), transparent 34%),
    linear-gradient(135deg, #24321f, #10160e);
  box-shadow: 0 30px 84px rgba(0, 0, 0, .28);
  overflow: hidden;
  position: relative;
}

.oliva-home-image-card img,
.oliva-home-featured-image img,
.oliva-home-location-card > img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  object-position: center;
  display: block;
}

.oliva-home-image-card span {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 28px;
  color: rgba(255, 248, 232, .72);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .12em;
  text-align: center;
  text-transform: uppercase;
}

.oliva-home-features {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: clamp(34px, 6vw, 82px);
}

.oliva-home-features article {
  padding: clamp(20px, 2.3vw, 32px);
  border: 1px solid rgba(255, 248, 232, .16);
  border-radius: 24px;
  background: rgba(255, 248, 232, .055);
  box-shadow: 0 16px 42px rgba(0, 0, 0, .18);
}

.oliva-home-features span {
  display: block;
  margin-bottom: 28px;
  color: var(--oliva-home-gold);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .16em;
}

.oliva-home-features h3 {
  margin: 0 0 10px;
  color: #fffaf0;
  font-size: clamp(20px, 1.75vw, 27px);
  font-weight: 800;
  line-height: 1.12;
}

.oliva-home-features p {
  margin: 0;
  color: var(--oliva-home-ink-soft);
  font-size: 14.5px;
  font-weight: 500;
  line-height: 1.58;
}

.oliva-home-menu-panel {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(360px, 1fr);
  gap: clamp(20px, 4vw, 64px);
  align-items: stretch;
  margin-bottom: clamp(36px, 6vw, 84px);
  padding: clamp(22px, 3vw, 40px);
  border: 1px solid rgba(255, 248, 232, .16);
  border-radius: 34px;
  background:
    radial-gradient(ellipse at 100% 0%, rgba(185, 154, 99, .18), transparent 38%),
    rgba(255, 248, 232, .055);
}

.oliva-home-menu-copy {
  align-self: center;
}

.oliva-home-featured-menu {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.oliva-home-featured-image {
  min-height: 230px;
  border-radius: 24px;
  margin-bottom: 4px;
}

.oliva-home-featured-menu article {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 15px 16px;
  border: 1px solid rgba(25, 39, 22, .18);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255, 250, 240, .98), rgba(239, 228, 209, .96));
  color: var(--oliva-home-paper-ink);
}

.oliva-home-featured-menu h3 {
  margin: 0 0 6px;
  color: var(--oliva-home-paper-ink);
  font-size: clamp(15px, 1.08vw, 18px);
  font-weight: 900;
  letter-spacing: .04em;
  line-height: 1.2;
  text-transform: uppercase;
}

.oliva-home-featured-menu p {
  margin: 0;
  color: var(--oliva-home-muted);
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.48;
}

.oliva-home-featured-menu article > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 26px;
  padding: 4px 9px;
  border: 1px solid rgba(25, 39, 22, .22);
  border-radius: 999px;
  background: rgba(255, 255, 255, .42);
  color: var(--oliva-home-paper-ink);
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.oliva-home-split-cta {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  gap: 18px;
  margin-bottom: 26px;
}

.oliva-home-split-cta > article {
  min-width: 0;
  padding: clamp(22px, 3vw, 38px);
  border: 1px solid rgba(255, 248, 232, .16);
  border-radius: 30px;
  background: rgba(255, 248, 232, .055);
}

.oliva-home-location-card {
  display: grid;
  grid-template-columns: minmax(150px, .72fr) minmax(0, 1fr);
  gap: 22px;
  align-items: stretch;
}

.oliva-home-location-card > img {
  min-height: 320px;
  border-radius: 22px;
}

.oliva-home-footer-note {
  padding-top: 18px;
  border-top: 1px solid rgba(255, 248, 232, .16);
  color: rgba(255, 248, 232, .66);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  text-align: center;
  text-transform: uppercase;
}

.oliva-home-footer-note p {
  margin-bottom: 0;
}

.oliva-home-mobile-bar {
  display: none;
}

.wp-admin .oliva-home-plugin,
.oliva-home-admin-preview-shell .oliva-home-plugin {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

.wp-admin .oliva-home-mobile-bar {
  position: static !important;
  display: grid;
  margin: 18px auto 0;
}

@media (max-width: 980px) {
  .oliva-home-intro,
  .oliva-home-menu-panel,
  .oliva-home-split-cta,
  .oliva-home-location-card {
    grid-template-columns: 1fr;
  }

  .oliva-home-features {
    grid-template-columns: 1fr;
  }

  .oliva-home-image-card,
  .oliva-home-location-card > img {
    min-height: 320px;
  }
}

@media (max-width: 760px) {
  body.oliva-home-page {
    padding-bottom: 76px;
  }

  .oliva-home-shell {
    width: min(100% - 24px, 1180px);
  }

  .oliva-home-hero {
    min-height: 88svh;
  }

  .oliva-home-hero-overlay {
    background:
      linear-gradient(180deg, rgba(8, 12, 7, .78), rgba(8, 12, 7, .42) 44%, rgba(8, 12, 7, .92)),
      linear-gradient(90deg, rgba(8, 12, 7, .74), rgba(8, 12, 7, .42));
  }

  .oliva-home-hero-inner {
    padding-top: 96px;
    padding-bottom: 86px;
  }

  .oliva-home-kicker,
  .oliva-home-section-kicker {
    margin-bottom: 12px;
    font-size: 10.5px;
    letter-spacing: .16em;
  }

  .oliva-home-hero h1 {
    font-size: clamp(39px, 11.5vw, 58px);
    line-height: .99;
    margin-bottom: 18px;
  }

  .oliva-home-hero-text {
    margin-bottom: 24px;
    font-size: clamp(15.5px, 4.3vw, 18px);
    line-height: 1.55;
  }

  .oliva-home-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin-bottom: 22px;
  }

  .oliva-home-button {
    width: 100%;
    min-height: 50px;
    padding: 14px 18px;
  }

  .oliva-home-facts {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .oliva-home-facts a,
  .oliva-home-facts span {
    justify-content: center;
    min-height: 38px;
    font-size: 10.5px;
    text-align: center;
  }

  .oliva-home-section-wrap {
    padding-top: 38px;
    padding-bottom: 76px;
  }

  .oliva-home-copy,
  .oliva-home-menu-panel,
  .oliva-home-split-cta > article {
    padding: 20px 16px;
    border-radius: 24px;
  }

  .oliva-home-copy h2,
  .oliva-home-menu-copy h2,
  .oliva-home-split-cta h2 {
    font-size: clamp(28px, 8vw, 38px);
    line-height: 1.08;
  }

  .oliva-home-copy p:not(.oliva-home-section-kicker),
  .oliva-home-menu-copy p:not(.oliva-home-section-kicker),
  .oliva-home-split-cta p:not(.oliva-home-section-kicker) {
    font-size: 14.6px;
    line-height: 1.65;
  }

  .oliva-home-image-card,
  .oliva-home-featured-image,
  .oliva-home-location-card > img {
    min-height: 260px;
    border-radius: 22px;
  }

  .oliva-home-intro,
  .oliva-home-features,
  .oliva-home-menu-panel,
  .oliva-home-split-cta {
    margin-bottom: 24px;
  }

  .oliva-home-features {
    gap: 10px;
  }

  .oliva-home-features article {
    padding: 18px 16px;
    border-radius: 20px;
  }

  .oliva-home-features span {
    margin-bottom: 14px;
  }

  .oliva-home-featured-menu article {
    grid-template-columns: 1fr;
    padding: 14px;
  }

  .oliva-home-featured-menu article > span {
    justify-self: start;
  }

  .oliva-home-mobile-bar {
    position: fixed;
    right: max(10px, env(safe-area-inset-right));
    bottom: max(10px, env(safe-area-inset-bottom));
    left: max(10px, env(safe-area-inset-left));
    z-index: 9999;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
    max-width: 560px;
    margin: 0 auto;
    padding: 7px;
    border: 1px solid rgba(255, 248, 232, .16);
    border-radius: 22px;
    background: rgba(14, 19, 13, .92);
    box-shadow: 0 16px 52px rgba(0, 0, 0, .42);
    backdrop-filter: blur(16px);
  }

  .oliva-home-mobile-bar a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 8px 6px;
    border-radius: 16px;
    background: rgba(255, 248, 232, .08);
    color: #fffaf0 !important;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .06em;
    line-height: 1.1;
    text-align: center;
    text-decoration: none !important;
    text-transform: uppercase;
  }
}

@media (max-width: 380px) {
  .oliva-home-hero h1 {
    font-size: 37px;
  }

  .oliva-home-mobile-bar a {
    font-size: 9px;
    letter-spacing: .04em;
  }
}

@media (prefers-reduced-motion: reduce) {
  .oliva-home-plugin *,
  .oliva-home-plugin *::before,
  .oliva-home-plugin *::after {
    transition: none !important;
    animation: none !important;
    scroll-behavior: auto !important;
  }
}

/* v1.6.0 homepage renderer refinements */
body.oliva-home-page .entry-content,
body.oliva-home-page .page-content,
body.oliva-home-page .wp-block-post-content,
body.oliva-home-page .site-content,
body.oliva-home-page .content-area,
body.oliva-home-page .site-main,
body.oliva-home-page main {
  max-width: none !important;
}

body.oliva-home-page .entry-content,
body.oliva-home-page .page-content,
body.oliva-home-page .wp-block-post-content {
  width: 100% !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.oliva-home-plugin .oliva-home-shell {
  width: min(1240px, calc(100% - 44px));
  margin-right: auto;
  margin-left: auto;
}

.oliva-home-plugin .oliva-home-hero {
  position: relative;
  min-height: min(900px, 92vh);
  display: flex;
  align-items: stretch;
  background: #0f150d;
  overflow: hidden;
}

.oliva-home-plugin .oliva-home-hero-media {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: #0f150d;
}

.oliva-home-plugin .oliva-home-hero-media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  filter: saturate(.94) contrast(1.04) brightness(.78);
  transform: scale(1.01);
}

.oliva-home-plugin .oliva-home-hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(10, 15, 8, .95), rgba(10, 15, 8, .70) 44%, rgba(10, 15, 8, .36)),
    radial-gradient(ellipse at 18% 20%, rgba(182, 148, 98, .22), transparent 38%),
    linear-gradient(180deg, rgba(0, 0, 0, .18), rgba(0, 0, 0, .58));
}

.oliva-home-plugin .oliva-home-hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.28));
}

.oliva-home-plugin .oliva-home-hero-inner {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: min(900px, 92vh);
  padding-top: clamp(116px, 13vw, 184px);
  padding-bottom: clamp(42px, 7vw, 90px);
}

.oliva-home-plugin .oliva-home-hero-inner h1 {
  max-width: 900px;
  margin: 0;
  color: #fff7e8;
  font-size: clamp(42px, 7vw, 98px);
  font-weight: 700;
  letter-spacing: .01em;
  line-height: .98;
}

.oliva-home-plugin .oliva-home-kicker,
.oliva-home-plugin .oliva-home-section-kicker {
  margin: 0 0 14px;
  color: #bd9962;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .20em;
  line-height: 1.3;
  text-transform: uppercase;
}

.oliva-home-plugin .oliva-home-hero-text {
  max-width: 690px;
  margin: 24px 0 0;
  color: rgba(255, 247, 232, .80);
  font-size: clamp(16px, 1.35vw, 21px);
  line-height: 1.62;
}

.oliva-home-plugin .oliva-home-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}

.oliva-home-plugin .oliva-home-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 49px;
  padding: 13px 23px;
  border: 1px solid rgba(255, 247, 232, .24);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .13em;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: transform .22s ease, border-color .22s ease, background-color .22s ease, box-shadow .22s ease;
}

.oliva-home-plugin .oliva-home-button-primary {
  border-color: rgba(189, 153, 98, .76);
  background: linear-gradient(180deg, #caa773, #947045);
  color: #11170f !important;
  box-shadow: 0 18px 42px rgba(0, 0, 0, .28);
}

.oliva-home-plugin .oliva-home-button-secondary {
  background: rgba(255, 247, 232, .08);
  color: #fff7e8 !important;
  backdrop-filter: blur(10px);
}

.oliva-home-plugin .oliva-home-button:hover,
.oliva-home-plugin .oliva-home-button:focus {
  transform: translateY(-2px);
  text-decoration: none;
  border-color: rgba(255, 247, 232, .54);
  box-shadow: 0 20px 54px rgba(0, 0, 0, .28);
}

.oliva-home-plugin .oliva-home-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: min(760px, 100%);
  margin-top: clamp(32px, 5vw, 66px);
  border: 1px solid rgba(255, 247, 232, .16);
  border-radius: 24px;
  background: rgba(12, 17, 10, .58);
  box-shadow: 0 20px 70px rgba(0, 0, 0, .26);
  backdrop-filter: blur(16px);
  overflow: hidden;
}

.oliva-home-plugin .oliva-home-facts a,
.oliva-home-plugin .oliva-home-facts span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 66px;
  padding: 12px 14px;
  border-left: 1px solid rgba(255, 247, 232, .12);
  color: rgba(255, 247, 232, .88) !important;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .11em;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
}

.oliva-home-plugin .oliva-home-facts a:first-child,
.oliva-home-plugin .oliva-home-facts span:first-child {
  border-left: 0;
}

.oliva-home-plugin .oliva-home-section-wrap {
  background:
    radial-gradient(ellipse at 12% 2%, rgba(189, 153, 98, .10), transparent 35%),
    linear-gradient(180deg, #12180f 0%, #1a2416 36%, #0f150d 100%);
  color: #fff7e8;
  padding: clamp(62px, 7vw, 112px) 0 clamp(70px, 8vw, 132px);
}

.oliva-home-plugin .oliva-home-intro {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(320px, .86fr);
  gap: clamp(34px, 6vw, 86px);
  align-items: center;
  margin-bottom: clamp(46px, 7vw, 96px);
}

.oliva-home-plugin .oliva-home-copy h2,
.oliva-home-plugin .oliva-home-menu-copy h2,
.oliva-home-plugin .oliva-home-split-cta h2,
.oliva-home-plugin .oliva-home-location-card h2 {
  margin: 0 0 20px;
  color: #fff7e8;
  font-size: clamp(32px, 4.2vw, 64px);
  font-weight: 700;
  letter-spacing: .01em;
  line-height: 1.05;
}

.oliva-home-plugin .oliva-home-copy p,
.oliva-home-plugin .oliva-home-menu-copy p,
.oliva-home-plugin .oliva-home-split-cta p,
.oliva-home-plugin .oliva-home-location-card p {
  color: rgba(255, 247, 232, .76);
  font-size: clamp(15.5px, 1.15vw, 18px);
  line-height: 1.72;
}

.oliva-home-plugin .oliva-home-image-card,
.oliva-home-plugin .oliva-home-featured-image,
.oliva-home-plugin .oliva-home-location-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255, 247, 232, .16);
  border-radius: 30px;
  background: rgba(255, 247, 232, .055);
  box-shadow: 0 28px 82px rgba(0, 0, 0, .30);
}

.oliva-home-plugin .oliva-home-image-card {
  aspect-ratio: 4 / 5;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 420px;
}

.oliva-home-plugin .oliva-home-image-card img,
.oliva-home-plugin .oliva-home-featured-image img,
.oliva-home-plugin .oliva-home-location-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.oliva-home-plugin .oliva-home-image-card span {
  padding: 24px;
  color: rgba(255, 247, 232, .72);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .08em;
  text-align: center;
  text-transform: uppercase;
}

.oliva-home-plugin .oliva-home-features {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: clamp(54px, 7vw, 104px);
}

.oliva-home-plugin .oliva-home-features article {
  min-width: 0;
  padding: clamp(22px, 2.5vw, 34px);
  border: 1px solid rgba(255, 247, 232, .15);
  border-radius: 26px;
  background: rgba(255, 247, 232, .055);
}

.oliva-home-plugin .oliva-home-features article span {
  display: block;
  margin-bottom: 22px;
  color: #bd9962;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .16em;
}

.oliva-home-plugin .oliva-home-features article h3 {
  margin: 0 0 12px;
  color: #fff7e8;
  font-size: clamp(20px, 2.05vw, 30px);
  font-weight: 800;
  line-height: 1.16;
}

.oliva-home-plugin .oliva-home-features article p {
  margin: 0;
  color: rgba(255, 247, 232, .72);
  font-size: 15px;
  line-height: 1.62;
}

.oliva-home-plugin .oliva-home-menu-panel {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(360px, 1fr);
  gap: clamp(30px, 5vw, 74px);
  align-items: center;
  margin-bottom: clamp(54px, 7vw, 104px);
  padding: clamp(24px, 3.4vw, 48px);
  border: 1px solid rgba(255, 247, 232, .16);
  border-radius: 36px;
  background:
    radial-gradient(ellipse at 70% 12%, rgba(189, 153, 98, .12), transparent 34%),
    rgba(255, 247, 232, .045);
  box-shadow: 0 30px 90px rgba(0, 0, 0, .22);
}

.oliva-home-plugin .oliva-home-featured-menu {
  display: grid;
  gap: 12px;
}

.oliva-home-plugin .oliva-home-featured-image {
  aspect-ratio: 1.6 / 1;
  margin-bottom: 4px;
}

.oliva-home-plugin .oliva-home-featured-menu article {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 17px 18px;
  border: 1px solid rgba(255, 247, 232, .14);
  border-radius: 20px;
  background: rgba(8, 12, 7, .32);
}

.oliva-home-plugin .oliva-home-featured-menu h3 {
  margin: 0 0 7px;
  color: #fff7e8;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.2;
}

.oliva-home-plugin .oliva-home-featured-menu p {
  margin: 0;
  color: rgba(255, 247, 232, .70);
  font-size: 14px;
  line-height: 1.5;
}

.oliva-home-plugin .oliva-home-featured-menu article > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(189, 153, 98, .16);
  color: #fff7e8;
  font-size: 13px;
  font-weight: 900;
  white-space: nowrap;
}

.oliva-home-plugin .oliva-home-split-cta {
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 58px);
  align-items: stretch;
  margin-bottom: clamp(42px, 6vw, 84px);
}

.oliva-home-plugin .oliva-home-split-cta > article:first-child,
.oliva-home-plugin .oliva-home-location-card > div {
  padding: clamp(24px, 3vw, 42px);
  border: 1px solid rgba(255, 247, 232, .16);
  border-radius: 30px;
  background: rgba(255, 247, 232, .055);
}

.oliva-home-plugin .oliva-home-location-card {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1fr);
  min-height: 420px;
}

.oliva-home-plugin .oliva-home-location-card img {
  min-height: 100%;
}

.oliva-home-plugin .oliva-home-location-card > div {
  border: 0;
  border-radius: 0;
  background: transparent;
  align-self: center;
}

.oliva-home-plugin .oliva-home-footer-note {
  padding-top: 28px;
  border-top: 1px solid rgba(255, 247, 232, .16);
  text-align: center;
}

.oliva-home-plugin .oliva-home-footer-note p {
  margin: 0;
  color: rgba(255, 247, 232, .66);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.oliva-home-admin-preview-shell {
  max-width: 1400px;
  overflow: hidden;
  background: #11170f;
  padding: 16px;
  border: 1px solid #dcdcde;
  margin-top: 18px;
}

.wp-admin .oliva-home-admin-preview-shell .oliva-home-plugin,
.wp-admin .oliva-home-admin-preview-shell .oliva-home-plugin.oliva-home-full-width {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

.wp-admin .oliva-home-admin-preview-shell .oliva-home-mobile-bar {
  display: none !important;
}

@media (max-width: 1080px) {
  .oliva-home-plugin .oliva-home-intro,
  .oliva-home-plugin .oliva-home-menu-panel,
  .oliva-home-plugin .oliva-home-split-cta,
  .oliva-home-plugin .oliva-home-location-card {
    grid-template-columns: 1fr;
  }

  .oliva-home-plugin .oliva-home-features {
    grid-template-columns: 1fr;
  }

  .oliva-home-plugin .oliva-home-image-card {
    aspect-ratio: 1.35 / 1;
    min-height: 340px;
  }

  .oliva-home-plugin .oliva-home-location-card img {
    max-height: 390px;
  }
}

@media (max-width: 820px) {
  .oliva-home-plugin .oliva-home-shell {
    width: calc(100% - 26px);
  }

  .oliva-home-plugin .oliva-home-hero {
    min-height: 88svh;
  }

  .oliva-home-plugin .oliva-home-hero-media::after {
    background:
      linear-gradient(180deg, rgba(8, 12, 7, .72), rgba(8, 12, 7, .96)),
      radial-gradient(ellipse at 25% 12%, rgba(189, 153, 98, .18), transparent 40%);
  }

  .oliva-home-plugin .oliva-home-hero-inner {
    min-height: 88svh;
    padding-top: 98px;
    padding-bottom: 34px;
  }

  .oliva-home-plugin .oliva-home-hero-inner h1 {
    font-size: clamp(36px, 11.2vw, 58px);
    line-height: 1.03;
  }

  .oliva-home-plugin .oliva-home-kicker,
  .oliva-home-plugin .oliva-home-section-kicker {
    font-size: 10.5px;
    letter-spacing: .15em;
  }

  .oliva-home-plugin .oliva-home-hero-text {
    margin-top: 20px;
    font-size: 15.5px;
    line-height: 1.62;
  }

  .oliva-home-plugin .oliva-home-actions {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    margin-top: 24px;
  }

  .oliva-home-plugin .oliva-home-button {
    width: 100%;
    min-height: 50px;
    padding: 14px 18px;
  }

  .oliva-home-plugin .oliva-home-facts {
    grid-template-columns: 1fr;
    width: 100%;
    border-radius: 20px;
  }

  .oliva-home-plugin .oliva-home-facts a,
  .oliva-home-plugin .oliva-home-facts span {
    min-height: 48px;
    border-left: 0;
    border-top: 1px solid rgba(255, 247, 232, .12);
    font-size: 10px;
    letter-spacing: .09em;
  }

  .oliva-home-plugin .oliva-home-facts a:first-child,
  .oliva-home-plugin .oliva-home-facts span:first-child {
    border-top: 0;
  }

  .oliva-home-plugin .oliva-home-section-wrap {
    padding-top: 54px;
    padding-bottom: 102px;
  }

  .oliva-home-plugin .oliva-home-intro,
  .oliva-home-plugin .oliva-home-features,
  .oliva-home-plugin .oliva-home-menu-panel,
  .oliva-home-plugin .oliva-home-split-cta {
    margin-bottom: 46px;
  }

  .oliva-home-plugin .oliva-home-copy h2,
  .oliva-home-plugin .oliva-home-menu-copy h2,
  .oliva-home-plugin .oliva-home-split-cta h2,
  .oliva-home-plugin .oliva-home-location-card h2 {
    font-size: clamp(29px, 8.5vw, 43px);
    line-height: 1.08;
    margin-bottom: 16px;
  }

  .oliva-home-plugin .oliva-home-copy p,
  .oliva-home-plugin .oliva-home-menu-copy p,
  .oliva-home-plugin .oliva-home-split-cta p,
  .oliva-home-plugin .oliva-home-location-card p {
    font-size: 15px;
    line-height: 1.66;
  }

  .oliva-home-plugin .oliva-home-image-card,
  .oliva-home-plugin .oliva-home-menu-panel,
  .oliva-home-plugin .oliva-home-split-cta > article:first-child,
  .oliva-home-plugin .oliva-home-location-card {
    border-radius: 23px;
  }

  .oliva-home-plugin .oliva-home-menu-panel {
    padding: 15px;
  }

  .oliva-home-plugin .oliva-home-featured-menu article {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 15px;
    border-radius: 17px;
  }

  .oliva-home-plugin .oliva-home-featured-menu article > span {
    justify-self: start;
  }

  .oliva-home-plugin .oliva-home-split-cta > article:first-child,
  .oliva-home-plugin .oliva-home-location-card > div {
    padding: 20px 16px;
  }

  .oliva-home-plugin .oliva-home-mobile-bar {
    position: fixed;
    right: max(10px, env(safe-area-inset-right));
    bottom: max(10px, env(safe-area-inset-bottom));
    left: max(10px, env(safe-area-inset-left));
    z-index: 999;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5px;
    padding: 6px;
    border: 1px solid rgba(255, 247, 232, .20);
    border-radius: 999px;
    background: rgba(14, 19, 12, .94);
    backdrop-filter: blur(16px);
    box-shadow: 0 18px 50px rgba(0, 0, 0, .38);
  }

  .oliva-home-plugin .oliva-home-mobile-bar a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    border-radius: 999px;
    color: #fff7e8 !important;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
    text-decoration: none;
    text-transform: uppercase;
  }

  .oliva-home-plugin .oliva-home-mobile-bar a:first-child {
    background: linear-gradient(180deg, #caa773, #947045);
    color: #11170f !important;
  }
}

@media (max-width: 420px) {
  .oliva-home-plugin .oliva-home-shell {
    width: calc(100% - 22px);
  }

  .oliva-home-plugin .oliva-home-mobile-bar a {
    font-size: 9px;
    letter-spacing: .05em;
  }
}


/* v1.6.0 refinements: managed homepage, admin previews, SEO/ads workflow */
.oliva-home-plugin {
  min-height: 100%;
  background:
    radial-gradient(ellipse at 8% 4%, rgba(189, 153, 98, .13), transparent 34%),
    radial-gradient(ellipse at 92% 26%, rgba(255, 247, 232, .06), transparent 38%),
    linear-gradient(180deg, #0f150d 0%, #1a2416 48%, #0d120b 100%);
}

.oliva-home-plugin .oliva-home-button:focus-visible,
.oliva-home-plugin .oliva-home-facts a:focus-visible,
.oliva-home-plugin .oliva-home-mobile-bar a:focus-visible,
.oliva-menu-plugin a:focus-visible {
  outline: 2px solid #d4b27c;
  outline-offset: 3px;
}

.oliva-home-plugin .oliva-home-hero-inner {
  max-width: 1240px;
}

.oliva-home-plugin .oliva-home-hero-inner h1 {
  text-wrap: balance;
}

.oliva-home-plugin .oliva-home-hero-text,
.oliva-home-plugin .oliva-home-copy p,
.oliva-home-plugin .oliva-home-menu-copy p,
.oliva-home-plugin .oliva-home-split-cta p,
.oliva-home-plugin .oliva-home-location-card p {
  text-wrap: pretty;
}

.oliva-home-plugin .oliva-home-featured-menu article,
.oliva-home-plugin .oliva-home-features article,
.oliva-home-plugin .oliva-home-copy,
.oliva-home-plugin .oliva-home-menu-panel,
.oliva-home-plugin .oliva-home-split-cta > article:first-child,
.oliva-home-plugin .oliva-home-location-card {
  backdrop-filter: blur(12px);
}

.oliva-home-plugin .oliva-home-featured-menu article {
  box-shadow: inset 0 1px 0 rgba(255, 247, 232, .08);
}

.oliva-home-plugin .oliva-home-featured-menu article > span,
.oliva-menu-plugin .oliva-menu-item-price {
  font-variant-numeric: tabular-nums;
}

.oliva-device-preview.oliva-device-mobile,
.oliva-device-preview.oliva-device-tablet {
  border-radius: 28px;
  box-shadow: 0 22px 80px rgba(0,0,0,.28);
}

.oliva-device-preview.oliva-device-mobile {
  padding: 10px !important;
}

.oliva-device-preview.oliva-device-tablet {
  padding: 12px !important;
}

.oliva-settings-form .form-table th {
  width: 230px;
}

.oliva-settings-form textarea.large-text {
  max-width: 760px;
}

.oliva-check-table th,
.oliva-check-table td {
  vertical-align: top;
}

@media (min-width: 1081px) {
  .oliva-home-plugin .oliva-home-hero-inner {
    padding-bottom: clamp(64px, 7vw, 112px);
  }

  .oliva-home-plugin .oliva-home-intro {
    grid-template-columns: minmax(0, .88fr) minmax(360px, .82fr);
  }
}

@media (max-width: 820px) {
  .oliva-home-plugin .oliva-home-hero {
    min-height: 91svh;
  }

  .oliva-home-plugin .oliva-home-hero-inner {
    justify-content: end;
    min-height: 91svh;
  }

  .oliva-home-plugin .oliva-home-hero-inner h1 {
    max-width: 11ch;
  }

  .oliva-home-plugin .oliva-home-hero-text {
    max-width: 36em;
  }

  .oliva-home-plugin .oliva-home-facts {
    margin-top: 26px;
  }

  .oliva-home-plugin .oliva-home-features article {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    column-gap: 14px;
    align-items: start;
  }

  .oliva-home-plugin .oliva-home-features article span {
    margin-bottom: 0;
    padding-top: 3px;
  }

  .oliva-home-plugin .oliva-home-features article h3,
  .oliva-home-plugin .oliva-home-features article p {
    grid-column: 2;
  }

  .oliva-home-plugin .oliva-home-mobile-bar {
    z-index: 10000;
  }
}

@media (max-width: 390px) {
  .oliva-home-plugin .oliva-home-shell {
    width: calc(100% - 18px);
  }

  .oliva-home-plugin .oliva-home-hero-inner h1 {
    font-size: 35px;
  }

  .oliva-home-plugin .oliva-home-facts a,
  .oliva-home-plugin .oliva-home-facts span {
    min-height: 45px;
  }
}

/* v1.6.0 refinements: stronger focus states, cleaner previews, ad-ready UX */
.oliva-home-button:focus-visible,
.oliva-menu-nav a:focus-visible,
.oliva-home-mobile-bar a:focus-visible {
  outline: 2px solid rgba(255, 250, 240, .92);
  outline-offset: 3px;
}

.oliva-menu-item {
  scroll-margin-top: 96px;
}

.oliva-menu-section {
  scroll-margin-top: 110px;
}

.oliva-home-plugin img {
  max-width: 100%;
}

.oliva-home-featured-menu article {
  min-width: 0;
}

.oliva-home-featured-menu article div,
.oliva-home-featured-menu article h3,
.oliva-home-featured-menu article p {
  min-width: 0;
}

@media (max-width: 760px) {
  .oliva-home-plugin .oliva-home-hero {
    min-height: 88svh;
  }

  .oliva-home-plugin .oliva-home-hero-inner {
    min-height: 88svh;
  }

  .oliva-home-plugin .oliva-home-menu-panel,
  .oliva-home-plugin .oliva-home-copy,
  .oliva-home-plugin .oliva-home-split-cta > article {
    box-shadow: 0 18px 48px rgba(0, 0, 0, .24);
  }

  .oliva-home-plugin .oliva-home-featured-menu article > span {
    max-width: 100%;
    white-space: normal;
    text-align: center;
  }

  .oliva-home-mobile-bar {
    padding-bottom: max(7px, env(safe-area-inset-bottom));
  }
}

/* Oliva plugin-controlled header/footer, optional on managed pages */
.oliva-plugin-site-chrome,
.oliva-plugin-site-chrome * {
  box-sizing: border-box;
}

.oliva-plugin-site-chrome {
  --oliva-chrome-dark: #11170f;
  --oliva-chrome-dark-2: #1b2617;
  --oliva-chrome-green: #2d4227;
  --oliva-chrome-gold: #b99a63;
  --oliva-chrome-cream: #fff8e8;
  --oliva-chrome-soft: rgba(255, 248, 232, .74);
  --oliva-chrome-line: rgba(185, 154, 99, .28);
  width: 100%;
  max-width: 100%;
  color: var(--oliva-chrome-cream);
  background: transparent;
  isolation: isolate;
}

.oliva-plugin-site-header {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background:
    radial-gradient(ellipse at 8% 0, rgba(185, 154, 99, .18), transparent 42%),
    linear-gradient(180deg, rgba(17, 23, 15, .98), rgba(27, 38, 23, .96));
  border-bottom: 1px solid var(--oliva-chrome-line);
  color: var(--oliva-chrome-cream);
  z-index: 80;
}

.oliva-plugin-site-header-sticky:not(.oliva-plugin-site-header-preview) {
  position: sticky;
  top: 0;
}

.oliva-plugin-site-header-inner {
  width: min(1320px, calc(100% - 32px));
  min-height: 78px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(180px, .55fr) minmax(360px, 1.2fr) auto;
  align-items: center;
  gap: clamp(14px, 2.4vw, 34px);
}

.oliva-plugin-site-brand,
.oliva-plugin-site-brand:hover,
.oliva-plugin-site-brand:focus {
  color: var(--oliva-chrome-cream);
  text-decoration: none;
}

.oliva-plugin-site-brand span {
  display: block;
  color: var(--oliva-chrome-cream);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(18px, 2.2vw, 30px);
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1;
  text-transform: uppercase;
}

.oliva-plugin-site-brand em {
  display: block;
  margin-top: 7px;
  color: var(--oliva-chrome-gold);
  font-style: normal;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.oliva-plugin-site-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 14px;
}

.oliva-plugin-site-nav a,
.oliva-plugin-site-actions a,
.oliva-plugin-footer-links a,
.oliva-plugin-footer-details a,
.oliva-plugin-footer-cta a {
  color: var(--oliva-chrome-cream);
  text-decoration: none;
}

.oliva-plugin-site-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 8px 0;
  border-bottom: 1px solid transparent;
  color: var(--oliva-chrome-soft);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .13em;
  line-height: 1.2;
  text-transform: uppercase;
  transition: color .18s ease, border-color .18s ease;
}

.oliva-plugin-site-nav a:hover,
.oliva-plugin-site-nav a:focus {
  color: var(--oliva-chrome-cream);
  border-color: var(--oliva-chrome-gold);
}

.oliva-plugin-site-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
}

.oliva-plugin-site-actions a:not(.oliva-plugin-site-reserve) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 1px solid var(--oliva-chrome-line);
  border-radius: 999px;
  color: var(--oliva-chrome-soft);
  font-size: 11px;
  font-weight: 800;
}

.oliva-plugin-site-reserve,
.oliva-plugin-footer-cta a:first-child {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 11px 18px;
  border: 1px solid rgba(185, 154, 99, .74);
  border-radius: 999px;
  background: rgba(185, 154, 99, .16);
  color: var(--oliva-chrome-cream);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
  transition: background .18s ease, transform .18s ease, border-color .18s ease;
}

.oliva-plugin-site-reserve:hover,
.oliva-plugin-site-reserve:focus,
.oliva-plugin-footer-cta a:first-child:hover,
.oliva-plugin-footer-cta a:first-child:focus {
  background: rgba(185, 154, 99, .28);
  border-color: rgba(255, 248, 232, .62);
  color: var(--oliva-chrome-cream);
  transform: translateY(-1px);
}

.oliva-plugin-site-footer {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background:
    radial-gradient(ellipse at 90% 0, rgba(185, 154, 99, .14), transparent 42%),
    linear-gradient(180deg, #172013, #0f150d 72%);
  border-top: 1px solid var(--oliva-chrome-line);
  color: var(--oliva-chrome-cream);
}

.oliva-plugin-site-footer-inner {
  width: min(1320px, calc(100% - 32px));
  margin: 0 auto;
  padding: clamp(34px, 5vw, 68px) 0;
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(220px, .75fr) minmax(210px, .65fr);
  gap: clamp(24px, 4vw, 58px);
  align-items: start;
}

.oliva-plugin-footer-kicker {
  margin: 0 0 12px;
  color: var(--oliva-chrome-gold);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.oliva-plugin-footer-main h2 {
  max-width: 760px;
  margin: 0 0 16px;
  color: var(--oliva-chrome-cream);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(30px, 4vw, 56px);
  line-height: 1.02;
}

.oliva-plugin-footer-main p:not(.oliva-plugin-footer-kicker) {
  max-width: 650px;
  margin: 0;
  color: var(--oliva-chrome-soft);
  font-size: clamp(15px, 1.25vw, 18px);
  line-height: 1.72;
}

.oliva-plugin-footer-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.oliva-plugin-footer-cta a:not(:first-child) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 11px 18px;
  border: 1px solid var(--oliva-chrome-line);
  border-radius: 999px;
  color: var(--oliva-chrome-cream);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.oliva-plugin-footer-details h3,
.oliva-plugin-footer-links h3 {
  margin: 0 0 15px;
  color: var(--oliva-chrome-gold);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.oliva-plugin-footer-details,
.oliva-plugin-footer-links {
  display: flex;
  flex-direction: column;
  gap: 11px;
}

.oliva-plugin-footer-details a,
.oliva-plugin-footer-details span,
.oliva-plugin-footer-links a {
  color: var(--oliva-chrome-soft);
  font-size: 14px;
  line-height: 1.45;
}

.oliva-plugin-footer-details a:hover,
.oliva-plugin-footer-details a:focus,
.oliva-plugin-footer-links a:hover,
.oliva-plugin-footer-links a:focus {
  color: var(--oliva-chrome-cream);
}

.oliva-plugin-site-footer-bottom {
  width: min(1320px, calc(100% - 32px));
  margin: 0 auto;
  padding: 17px 0 22px;
  border-top: 1px solid rgba(255, 248, 232, .10);
}

.oliva-plugin-site-footer-bottom p {
  margin: 0;
  color: rgba(255, 248, 232, .58);
  font-size: 12px;
  letter-spacing: .04em;
}

.wp-admin .oliva-plugin-site-header,
.wp-admin .oliva-plugin-site-footer {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}

@media (max-width: 1050px) {
  .oliva-plugin-site-header-inner {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 18px 0;
    text-align: center;
  }

  .oliva-plugin-site-nav,
  .oliva-plugin-site-actions {
    justify-content: center;
  }

  .oliva-plugin-site-footer-inner {
    grid-template-columns: 1fr 1fr;
  }

  .oliva-plugin-footer-main {
    grid-column: 1 / -1;
  }
}

@media (max-width: 680px) {
  .oliva-plugin-site-header-inner {
    width: min(100% - 22px, 1320px);
    min-height: 0;
  }

  .oliva-plugin-site-nav {
    justify-content: flex-start;
    overflow-x: auto;
    flex-wrap: nowrap;
    padding: 4px 2px 8px;
    scrollbar-width: none;
  }

  .oliva-plugin-site-nav::-webkit-scrollbar {
    display: none;
  }

  .oliva-plugin-site-nav a {
    white-space: nowrap;
    font-size: 11px;
  }

  .oliva-plugin-site-actions {
    width: 100%;
    justify-content: space-between;
  }

  .oliva-plugin-site-reserve {
    flex: 1 1 auto;
  }

  .oliva-plugin-site-footer-inner {
    width: min(100% - 24px, 1320px);
    grid-template-columns: 1fr;
    padding: 36px 0;
  }

  .oliva-plugin-site-footer-bottom {
    width: min(100% - 24px, 1320px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .oliva-plugin-site-chrome *,
  .oliva-plugin-site-chrome *::before,
  .oliva-plugin-site-chrome *::after {
    transition: none !important;
    animation: none !important;
    scroll-behavior: auto !important;
  }
}

/* v1.7.0 fresh front-end pass: plugin header/footer + lighter premium rhythm */
.oliva-plugin-chrome,
.oliva-plugin-chrome * {
  box-sizing: border-box;
}

.oliva-plugin-chrome {
  --oliva-chrome-dark: #0f160d;
  --oliva-chrome-dark-2: #1f2b19;
  --oliva-chrome-cream: #fff7e8;
  --oliva-chrome-soft: rgba(255, 247, 232, .72);
  --oliva-chrome-gold: #bd9962;
  --oliva-chrome-line: rgba(255, 247, 232, .17);
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  color: var(--oliva-chrome-cream);
  font-family: Georgia, 'Times New Roman', serif;
  isolation: isolate;
}

.oliva-plugin-header {
  z-index: 90;
  border-bottom: 1px solid var(--oliva-chrome-line);
  background:
    radial-gradient(ellipse at 12% 0%, rgba(189, 153, 98, .14), transparent 32%),
    linear-gradient(180deg, rgba(15, 22, 13, .96), rgba(15, 22, 13, .88));
  backdrop-filter: blur(18px);
  box-shadow: 0 18px 48px rgba(0, 0, 0, .18);
}

.oliva-plugin-header-sticky:not(.oliva-plugin-chrome-preview) {
  position: sticky;
  top: 0;
}

.oliva-plugin-header-inner {
  width: min(1320px, calc(100% - 36px));
  min-height: 78px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(190px, .7fr) minmax(0, 1.4fr) minmax(210px, .7fr);
  gap: 18px;
  align-items: center;
}

.oliva-plugin-header a,
.oliva-plugin-footer a {
  color: inherit;
  text-decoration: none !important;
}

.oliva-plugin-header-brand {
  display: inline-flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

.oliva-plugin-header-brand strong {
  color: #fff7e8;
  font-size: clamp(17px, 1.3vw, 22px);
  font-weight: 800;
  letter-spacing: .05em;
  line-height: 1.05;
  text-transform: none;
}

.oliva-plugin-header-brand span {
  color: var(--oliva-chrome-gold);
  font-size: 10.5px;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.oliva-plugin-header-nav {
  display: flex;
  justify-content: center;
  gap: 8px;
  min-width: 0;
}

.oliva-plugin-header-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 9px 12px;
  border: 1px solid transparent;
  border-radius: 999px;
  color: rgba(255, 247, 232, .82);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .11em;
  line-height: 1.1;
  text-transform: uppercase;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

.oliva-plugin-header-nav a:hover,
.oliva-plugin-header-nav a:focus {
  border-color: rgba(189, 153, 98, .42);
  background: rgba(255, 247, 232, .08);
  color: #fff7e8;
  transform: translateY(-1px);
}

.oliva-plugin-header-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  align-items: center;
}

.oliva-plugin-header-phone,
.oliva-plugin-header-cta,
.oliva-plugin-footer-reserve {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 11px 15px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .11em;
  line-height: 1.1;
  text-align: center;
  text-transform: uppercase;
}

.oliva-plugin-header-phone {
  border: 1px solid rgba(255, 247, 232, .18);
  color: rgba(255, 247, 232, .82) !important;
}

.oliva-plugin-header-cta,
.oliva-plugin-footer-reserve {
  border: 1px solid rgba(189, 153, 98, .70);
  background: linear-gradient(180deg, #cfad78, #94704a);
  color: #10170f !important;
  box-shadow: 0 14px 30px rgba(0, 0, 0, .24);
}

.oliva-plugin-footer {
  padding: clamp(44px, 6vw, 86px) 0 28px;
  background:
    radial-gradient(ellipse at 82% 0%, rgba(189, 153, 98, .16), transparent 38%),
    linear-gradient(180deg, #11180f, #0b1009);
  border-top: 1px solid var(--oliva-chrome-line);
}

.oliva-plugin-footer-inner {
  width: min(1320px, calc(100% - 36px));
  margin: 0 auto;
}

.oliva-plugin-footer-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: end;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--oliva-chrome-line);
}

.oliva-plugin-footer-brand-block span {
  display: block;
  margin-bottom: 12px;
  color: var(--oliva-chrome-gold);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .20em;
  text-transform: uppercase;
}

.oliva-plugin-footer-brand-block h2 {
  max-width: 760px;
  margin: 0 0 14px;
  color: #fff7e8;
  font-size: clamp(32px, 4.5vw, 64px);
  font-weight: 700;
  letter-spacing: .01em;
  line-height: 1.02;
}

.oliva-plugin-footer-brand-block p {
  max-width: 720px;
  margin: 0;
  color: var(--oliva-chrome-soft);
  font-size: clamp(15px, 1.1vw, 18px);
  line-height: 1.65;
}

.oliva-plugin-footer-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  padding: 28px 0;
}

.oliva-plugin-footer-grid > div {
  min-width: 0;
  padding: 18px;
  border: 1px solid rgba(255, 247, 232, .12);
  border-radius: 22px;
  background: rgba(255, 247, 232, .045);
}

.oliva-plugin-footer-grid strong {
  display: block;
  margin-bottom: 12px;
  color: var(--oliva-chrome-gold);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.oliva-plugin-footer-grid p {
  margin: 0 0 8px;
  color: rgba(255, 247, 232, .76);
  font-size: 14px;
  line-height: 1.5;
}

.oliva-plugin-footer-grid a {
  color: rgba(255, 247, 232, .90) !important;
}

.oliva-plugin-footer-grid a:hover,
.oliva-plugin-footer-grid a:focus {
  color: #fff7e8 !important;
  text-decoration: underline !important;
  text-underline-offset: 4px;
}

.oliva-plugin-footer-bottom {
  padding-top: 18px;
  border-top: 1px solid rgba(255, 247, 232, .10);
}

.oliva-plugin-footer-bottom p {
  margin: 0;
  color: rgba(255, 247, 232, .50);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
  text-align: center;
  text-transform: uppercase;
}

/* Fresher managed pages without changing the core structure */
.oliva-home-plugin .oliva-home-hero-media::after {
  background:
    linear-gradient(90deg, rgba(8, 13, 7, .96), rgba(8, 13, 7, .66) 44%, rgba(8, 13, 7, .30)),
    radial-gradient(ellipse at 18% 18%, rgba(202, 167, 115, .26), transparent 38%),
    linear-gradient(180deg, rgba(0, 0, 0, .10), rgba(0, 0, 0, .66));
}

.oliva-home-plugin .oliva-home-copy,
.oliva-home-plugin .oliva-home-menu-panel,
.oliva-home-plugin .oliva-home-split-cta > article,
.oliva-home-plugin .oliva-home-features article {
  border-color: rgba(255, 247, 232, .18);
  background: linear-gradient(180deg, rgba(255, 247, 232, .075), rgba(255, 247, 232, .038));
  box-shadow: 0 22px 56px rgba(0, 0, 0, .22);
}

.oliva-menu-content {
  border-radius: 34px;
  background:
    radial-gradient(ellipse at 12% 0%, rgba(87, 107, 66, .16), transparent 34%),
    radial-gradient(ellipse at 88% 100%, rgba(138, 113, 73, .15), transparent 34%),
    linear-gradient(180deg, rgba(255, 253, 247, .995), rgba(241, 232, 217, .97));
}

.oliva-menu-section {
  border-radius: 26px;
  background: linear-gradient(180deg, rgba(255, 254, 250, .98), rgba(248, 242, 231, .91));
}

.oliva-menu-item {
  border-radius: 20px;
}

@media (max-width: 1100px) {
  .oliva-plugin-header-inner {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 14px 0;
  }

  .oliva-plugin-header-nav {
    justify-content: flex-start;
    overflow-x: auto;
    padding-bottom: 3px;
    scrollbar-width: none;
  }

  .oliva-plugin-header-nav::-webkit-scrollbar {
    display: none;
  }

  .oliva-plugin-header-actions {
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .oliva-plugin-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .oliva-plugin-header-inner,
  .oliva-plugin-footer-inner {
    width: min(100% - 24px, 1320px);
  }

  .oliva-plugin-header {
    position: relative !important;
  }

  .oliva-plugin-header-brand strong {
    font-size: 18px;
  }

  .oliva-plugin-header-nav {
    margin-right: -12px;
    margin-left: -12px;
    padding-left: 12px;
    padding-right: 12px;
  }

  .oliva-plugin-header-nav a {
    white-space: nowrap;
    min-height: 40px;
  }

  .oliva-plugin-header-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
  }

  .oliva-plugin-header-phone,
  .oliva-plugin-header-cta {
    width: 100%;
    min-height: 44px;
    padding-left: 10px;
    padding-right: 10px;
  }

  .oliva-plugin-footer {
    padding-top: 38px;
  }

  .oliva-plugin-footer-top,
  .oliva-plugin-footer-grid {
    grid-template-columns: 1fr;
  }

  .oliva-plugin-footer-reserve {
    width: 100%;
  }

  .oliva-plugin-footer-brand-block h2 {
    font-size: clamp(30px, 9vw, 42px);
  }
}

/* Admin preview containment for v1.7.0 Header/Footer tabs */
.wp-admin .oliva-admin-chrome-preview .oliva-plugin-chrome-preview {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.wp-admin .oliva-admin-chrome-preview .oliva-plugin-header,
.wp-admin .oliva-admin-chrome-preview .oliva-plugin-footer {
  border-radius: 18px;
  overflow: hidden;
}


/* Reservation managed page · v1.8.0 */
.oliva-reservation-plugin {
  --oliva-res-bg: #0b1209;
  --oliva-res-cream: #fff7e8;
  --oliva-res-muted: rgba(255, 247, 232, .72);
  --oliva-res-soft: rgba(255, 247, 232, .10);
  --oliva-res-line: rgba(255, 247, 232, .16);
  --oliva-res-gold: #caa773;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background: transparent;
  color: var(--oliva-res-cream);
  font-family: inherit;
  overflow: clip;
}

.oliva-reservation-plugin *,
.oliva-reservation-plugin *::before,
.oliva-reservation-plugin *::after {
  box-sizing: border-box;
}

.oliva-reservation-hero {
  position: relative;
  min-height: min(780px, 90vh);
  display: grid;
  align-items: end;
  isolation: isolate;
  background: #091007;
}

.oliva-reservation-hero-media,
.oliva-reservation-hero-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.oliva-reservation-hero-media img {
  object-fit: cover;
  filter: saturate(.92) contrast(1.05);
}

.oliva-reservation-hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(4, 9, 4, .96), rgba(8, 13, 7, .70) 48%, rgba(8, 13, 7, .30)),
    radial-gradient(ellipse at 22% 18%, rgba(202, 167, 115, .28), transparent 42%),
    linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.72));
}

.oliva-reservation-hero-inner {
  position: relative;
  z-index: 2;
  width: min(100% - 56px, 1320px);
  margin: 0 auto;
  padding: clamp(120px, 14vw, 190px) 0 clamp(58px, 8vw, 92px);
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(310px, .42fr);
  gap: clamp(28px, 5vw, 72px);
  align-items: end;
}

.oliva-reservation-hero-copy,
.oliva-reservation-hero-card,
.oliva-reservation-booking-panel,
.oliva-reservation-feature-grid article,
.oliva-reservation-transport-panel,
.oliva-reservation-engine-card,
.oliva-reservation-missing-box {
  border: 1px solid var(--oliva-res-line);
  background: linear-gradient(180deg, rgba(255, 247, 232, .092), rgba(255, 247, 232, .045));
  box-shadow: 0 28px 70px rgba(0,0,0,.30);
  backdrop-filter: blur(14px);
}

.oliva-reservation-hero-copy {
  max-width: 780px;
  border-radius: 34px;
  padding: clamp(28px, 4vw, 52px);
}

.oliva-reservation-eyebrow,
.oliva-reservation-booking-copy > span,
.oliva-reservation-transport-copy > span,
.oliva-reservation-hero-card > span,
.oliva-reservation-engine-visual > span,
.oliva-reservation-missing-box > span {
  display: inline-flex;
  color: var(--oliva-res-gold);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.oliva-reservation-hero-copy h1,
.oliva-reservation-booking-copy h2,
.oliva-reservation-transport-copy h2 {
  margin: 12px 0 16px;
  color: var(--oliva-res-cream);
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 500;
  line-height: .96;
  letter-spacing: -.045em;
}

.oliva-reservation-hero-copy h1 {
  font-size: clamp(42px, 7.2vw, 94px);
}

.oliva-reservation-booking-copy h2,
.oliva-reservation-transport-copy h2 {
  font-size: clamp(34px, 4.6vw, 64px);
}

.oliva-reservation-hero-copy p,
.oliva-reservation-booking-copy p,
.oliva-reservation-transport-copy p,
.oliva-reservation-feature-grid p,
.oliva-reservation-engine-visual p,
.oliva-reservation-missing-box p,
.oliva-reservation-hero-card p {
  color: var(--oliva-res-muted);
  font-size: clamp(15px, 1.12vw, 18px);
  line-height: 1.72;
  margin: 0;
}

.oliva-reservation-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 26px;
}

.oliva-reservation-actions.compact {
  margin-top: 22px;
}

.oliva-reservation-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 13px 22px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-decoration: none !important;
  transition: transform .22s ease, border-color .22s ease, background-color .22s ease;
}

.oliva-reservation-button:hover,
.oliva-reservation-button:focus {
  transform: translateY(-1px);
}

.oliva-reservation-button-primary {
  border: 1px solid rgba(202, 167, 115, .78);
  background: linear-gradient(135deg, #e6c58d, #a77c42);
  color: #1c1309 !important;
}

.oliva-reservation-button-ghost {
  border: 1px solid rgba(255, 247, 232, .26);
  background: rgba(255, 247, 232, .06);
  color: var(--oliva-res-cream) !important;
}

.oliva-reservation-hero-card {
  border-radius: 28px;
  padding: 26px;
}

.oliva-reservation-hero-card strong,
.oliva-reservation-engine-visual strong,
.oliva-reservation-missing-box strong {
  display: block;
  margin: 9px 0 10px;
  color: var(--oliva-res-cream);
  font-size: clamp(22px, 2.8vw, 34px);
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 500;
  line-height: 1.05;
}

.oliva-reservation-content {
  width: min(100% - 56px, 1320px);
  margin: 0 auto;
  padding: clamp(46px, 7vw, 88px) 0 clamp(76px, 8vw, 110px);
}

.oliva-reservation-booking-panel {
  border-radius: 34px;
  padding: clamp(22px, 4vw, 44px);
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(320px, .75fr);
  gap: clamp(22px, 4vw, 54px);
  align-items: stretch;
  background:
    radial-gradient(ellipse at 0% 0%, rgba(202,167,115,.14), transparent 42%),
    linear-gradient(180deg, rgba(255,247,232,.086), rgba(255,247,232,.038));
}

.oliva-reservation-meta-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 24px;
}

.oliva-reservation-meta-grid div {
  min-height: 108px;
  border: 1px solid rgba(255, 247, 232, .13);
  border-radius: 20px;
  padding: 16px;
  background: rgba(0,0,0,.16);
}

.oliva-reservation-meta-grid strong,
.oliva-reservation-meta-grid span {
  display: block;
}

.oliva-reservation-meta-grid strong {
  color: var(--oliva-res-gold);
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  margin-bottom: 7px;
}

.oliva-reservation-meta-grid span {
  color: var(--oliva-res-cream);
  font-weight: 650;
  line-height: 1.42;
}

.oliva-reservation-engine-card {
  border-radius: 28px;
  min-height: 420px;
  overflow: hidden;
}

.oliva-reservation-engine-card iframe {
  display: block;
  width: 100%;
  height: 680px;
  border: 0;
  background: #fff;
}

.oliva-reservation-engine-visual {
  height: 100%;
  min-height: 420px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(24px, 4vw, 44px);
  background:
    radial-gradient(ellipse at 80% 0%, rgba(202,167,115,.22), transparent 42%),
    linear-gradient(135deg, rgba(0,0,0,.20), rgba(255,247,232,.07));
}

.oliva-reservation-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 24px;
}

.oliva-reservation-feature-grid article {
  border-radius: 26px;
  padding: clamp(20px, 2.6vw, 30px);
}

.oliva-reservation-feature-grid span {
  display: inline-flex;
  margin-bottom: 18px;
  color: rgba(202, 167, 115, .86);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .18em;
}

.oliva-reservation-feature-grid h3 {
  margin: 0 0 10px;
  color: var(--oliva-res-cream);
  font-size: 22px;
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 500;
}

.oliva-reservation-transport-panel {
  margin-top: 24px;
  border-radius: 34px;
  padding: clamp(22px, 4vw, 44px);
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(320px, .65fr);
  gap: clamp(22px, 4vw, 52px);
  align-items: center;
}

.oliva-reservation-policy-note {
  margin-top: 16px !important;
  padding: 14px 16px;
  border: 1px solid rgba(202,167,115,.24);
  border-radius: 18px;
  background: rgba(202,167,115,.08);
}

.oliva-reservation-missing-box {
  border-radius: 24px;
  padding: 26px;
  background:
    repeating-linear-gradient(135deg, rgba(255,247,232,.045), rgba(255,247,232,.045) 10px, rgba(0,0,0,.05) 10px, rgba(0,0,0,.05) 20px),
    rgba(255,247,232,.05);
}

.oliva-reservation-wide-image {
  margin: 24px 0 0;
  border-radius: 34px;
  overflow: hidden;
  border: 1px solid rgba(255,247,232,.14);
  max-height: 520px;
}

.oliva-reservation-wide-image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 280px;
  object-fit: cover;
}

.oliva-reservation-mobile-bar {
  display: none;
}

.wp-admin .oliva-reservation-admin-preview-shell {
  background: #0b1209;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.12);
}

.oliva-admin-mini-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0;
}

.oliva-admin-mini-grid div {
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 16px;
  padding: 14px;
  background: rgba(255,255,255,.08);
}

.oliva-admin-mini-grid strong,
.oliva-admin-mini-grid span {
  display: block;
}

.oliva-admin-mini-grid span {
  margin-top: 5px;
  opacity: .78;
}

@media (max-width: 1100px) {
  .oliva-reservation-hero-inner,
  .oliva-reservation-booking-panel,
  .oliva-reservation-transport-panel {
    grid-template-columns: 1fr;
  }
  .oliva-reservation-feature-grid,
  .oliva-reservation-meta-grid {
    grid-template-columns: 1fr;
  }
  .oliva-admin-mini-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .oliva-reservation-plugin {
    padding-bottom: calc(76px + env(safe-area-inset-bottom));
  }
  .oliva-reservation-hero {
    min-height: 88svh;
  }
  .oliva-reservation-hero-inner,
  .oliva-reservation-content {
    width: min(100% - 24px, 1320px);
  }
  .oliva-reservation-hero-inner {
    padding-top: 98px;
    padding-bottom: 30px;
    gap: 16px;
  }
  .oliva-reservation-hero-copy,
  .oliva-reservation-booking-panel,
  .oliva-reservation-transport-panel {
    border-radius: 24px;
    padding: 20px;
  }
  .oliva-reservation-hero-card {
    border-radius: 22px;
    padding: 18px;
  }
  .oliva-reservation-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .oliva-reservation-button {
    width: 100%;
    min-height: 50px;
    padding-left: 14px;
    padding-right: 14px;
  }
  .oliva-reservation-content {
    padding-top: 24px;
    padding-bottom: 42px;
  }
  .oliva-reservation-engine-card,
  .oliva-reservation-engine-visual {
    min-height: 310px;
  }
  .oliva-reservation-engine-card iframe {
    height: 620px;
  }
  .oliva-reservation-mobile-bar {
    position: fixed;
    left: 10px;
    right: 10px;
    bottom: calc(10px + env(safe-area-inset-bottom));
    z-index: 999;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
    padding: 8px;
    border-radius: 20px;
    border: 1px solid rgba(255,247,232,.18);
    background: rgba(8, 13, 7, .94);
    box-shadow: 0 18px 50px rgba(0,0,0,.42);
    backdrop-filter: blur(16px);
  }
  .oliva-reservation-mobile-bar a {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: rgba(255,247,232,.09);
    color: #fff7e8 !important;
    text-decoration: none !important;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
  }
}

@media (prefers-reduced-motion: reduce) {
  .oliva-reservation-button {
    transition: none !important;
  }
  .oliva-reservation-button:hover,
  .oliva-reservation-button:focus {
    transform: none !important;
  }
}

/* 360° managed page · v1.9.0 */
.oliva-tour-plugin {
  --oliva-tour-bg: #071008;
  --oliva-tour-cream: #fff7e8;
  --oliva-tour-muted: rgba(255, 247, 232, .72);
  --oliva-tour-line: rgba(255, 247, 232, .16);
  --oliva-tour-soft: rgba(255, 247, 232, .08);
  --oliva-tour-gold: #caa773;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background: transparent;
  color: var(--oliva-tour-cream);
  font-family: inherit;
  overflow: clip;
}

.oliva-tour-plugin *,
.oliva-tour-plugin *::before,
.oliva-tour-plugin *::after {
  box-sizing: border-box;
}

.oliva-tour-hero {
  position: relative;
  min-height: min(790px, 92vh);
  display: grid;
  align-items: end;
  isolation: isolate;
  background: #081108;
}

.oliva-tour-hero-media,
.oliva-tour-hero-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.oliva-tour-hero-media img {
  object-fit: cover;
  filter: saturate(.88) contrast(1.08) brightness(.78);
}

.oliva-tour-hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(3, 8, 4, .97), rgba(7, 15, 8, .78) 48%, rgba(7, 15, 8, .34)),
    radial-gradient(ellipse at 22% 14%, rgba(202, 167, 115, .32), transparent 42%),
    radial-gradient(ellipse at 82% 78%, rgba(91, 115, 66, .24), transparent 34%),
    linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.72));
}

.oliva-tour-hero-inner {
  position: relative;
  z-index: 2;
  width: min(100% - 56px, 1320px);
  margin: 0 auto;
  padding: clamp(120px, 14vw, 192px) 0 clamp(58px, 8vw, 94px);
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(310px, .42fr);
  gap: clamp(28px, 5vw, 72px);
  align-items: end;
}

.oliva-tour-hero-copy,
.oliva-tour-hero-card,
.oliva-tour-experience-panel,
.oliva-tour-feature-grid article,
.oliva-tour-location-panel,
.oliva-tour-embed-card,
.oliva-tour-placeholder {
  border: 1px solid var(--oliva-tour-line);
  background: linear-gradient(180deg, rgba(255, 247, 232, .092), rgba(255, 247, 232, .044));
  box-shadow: 0 28px 74px rgba(0,0,0,.32);
  backdrop-filter: blur(14px);
}

.oliva-tour-hero-copy {
  max-width: 800px;
  border-radius: 36px;
  padding: clamp(28px, 4vw, 54px);
}

.oliva-tour-eyebrow,
.oliva-tour-copy > span,
.oliva-tour-location-panel > div > span,
.oliva-tour-hero-card > span,
.oliva-tour-placeholder > span {
  display: inline-flex;
  color: var(--oliva-tour-gold);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.oliva-tour-hero-copy h1,
.oliva-tour-copy h2,
.oliva-tour-location-panel h2 {
  margin: 12px 0 16px;
  color: var(--oliva-tour-cream);
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 500;
  line-height: .96;
  letter-spacing: -.045em;
}

.oliva-tour-hero-copy h1 {
  font-size: clamp(42px, 7.4vw, 96px);
}

.oliva-tour-copy h2,
.oliva-tour-location-panel h2 {
  font-size: clamp(34px, 4.6vw, 64px);
}

.oliva-tour-hero-copy p,
.oliva-tour-copy p,
.oliva-tour-location-panel p,
.oliva-tour-feature-grid p,
.oliva-tour-placeholder p,
.oliva-tour-hero-card p,
.oliva-tour-footer-note {
  color: var(--oliva-tour-muted);
  font-size: clamp(15px, 1.12vw, 18px);
  line-height: 1.72;
  margin: 0;
}

.oliva-tour-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 26px;
}

.oliva-tour-actions.compact {
  margin-top: 22px;
}

.oliva-tour-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 13px 22px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-decoration: none !important;
  transition: transform .22s ease, border-color .22s ease, background-color .22s ease;
}

.oliva-tour-button:hover,
.oliva-tour-button:focus {
  transform: translateY(-1px);
}

.oliva-tour-button-primary {
  border: 1px solid rgba(202, 167, 115, .78);
  background: linear-gradient(135deg, #e6c58d, #a77c42);
  color: #1c1309 !important;
}

.oliva-tour-button-ghost {
  border: 1px solid rgba(255, 247, 232, .26);
  background: rgba(255, 247, 232, .06);
  color: var(--oliva-tour-cream) !important;
}

.oliva-tour-hero-card {
  border-radius: 28px;
  padding: 26px;
}

.oliva-tour-hero-card strong,
.oliva-tour-placeholder strong {
  display: block;
  margin: 9px 0 10px;
  color: var(--oliva-tour-cream);
  font-size: clamp(22px, 2.8vw, 34px);
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 500;
  line-height: 1.05;
}

.oliva-tour-content {
  width: min(100% - 56px, 1320px);
  margin: 0 auto;
  padding: clamp(46px, 7vw, 88px) 0 clamp(76px, 8vw, 110px);
}

.oliva-tour-experience-panel {
  border-radius: 36px;
  padding: clamp(22px, 4vw, 44px);
  display: grid;
  grid-template-columns: minmax(0, .62fr) minmax(420px, 1fr);
  gap: clamp(22px, 4vw, 54px);
  align-items: stretch;
  background:
    radial-gradient(ellipse at 0% 0%, rgba(202,167,115,.14), transparent 42%),
    radial-gradient(ellipse at 100% 100%, rgba(91,115,66,.18), transparent 42%),
    linear-gradient(180deg, rgba(255,247,232,.086), rgba(255,247,232,.038));
}

.oliva-tour-embed-card {
  border-radius: 30px;
  min-height: 520px;
  overflow: hidden;
  background: #050a05;
}

.oliva-tour-embed-card iframe {
  display: block;
  width: 100%;
  height: 620px;
  border: 0;
  background: #111;
}

.oliva-tour-placeholder {
  height: 100%;
  min-height: 520px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(24px, 4vw, 44px);
  border: 0;
  border-radius: 0;
  background:
    repeating-linear-gradient(135deg, rgba(255,247,232,.046), rgba(255,247,232,.046) 10px, rgba(0,0,0,.06) 10px, rgba(0,0,0,.06) 20px),
    radial-gradient(ellipse at 80% 0%, rgba(202,167,115,.22), transparent 42%),
    linear-gradient(135deg, rgba(0,0,0,.20), rgba(255,247,232,.07));
}

.oliva-tour-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 24px;
}

.oliva-tour-feature-grid article {
  border-radius: 28px;
  padding: clamp(20px, 2.6vw, 30px);
}

.oliva-tour-feature-grid span {
  display: inline-flex;
  margin-bottom: 18px;
  color: rgba(202, 167, 115, .86);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .18em;
}

.oliva-tour-feature-grid h3 {
  margin: 0 0 10px;
  color: var(--oliva-tour-cream);
  font-size: 22px;
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 500;
}

.oliva-tour-location-panel {
  margin-top: 24px;
  border-radius: 36px;
  padding: clamp(22px, 4vw, 44px);
  display: grid;
  grid-template-columns: minmax(0, .76fr) minmax(320px, .58fr);
  gap: clamp(22px, 4vw, 52px);
  align-items: center;
}

.oliva-tour-location-panel figure {
  margin: 0;
  min-height: 360px;
  border-radius: 28px;
  overflow: hidden;
  border: 1px solid rgba(255,247,232,.14);
}

.oliva-tour-location-panel img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 360px;
  object-fit: cover;
}

.oliva-tour-footer-note {
  margin-top: 24px;
  padding: 16px 18px;
  border: 1px solid rgba(202,167,115,.22);
  border-radius: 20px;
  background: rgba(202,167,115,.07);
}

.oliva-tour-mobile-bar {
  display: none;
}

.wp-admin .oliva-tour-admin-preview-shell {
  background: #071008;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.12);
}

@media (max-width: 1100px) {
  .oliva-tour-hero-inner,
  .oliva-tour-experience-panel,
  .oliva-tour-location-panel {
    grid-template-columns: 1fr;
  }
  .oliva-tour-feature-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .oliva-tour-plugin {
    padding-bottom: calc(76px + env(safe-area-inset-bottom));
  }
  .oliva-tour-hero {
    min-height: 88svh;
  }
  .oliva-tour-hero-inner,
  .oliva-tour-content {
    width: min(100% - 24px, 1320px);
  }
  .oliva-tour-hero-inner {
    padding-top: 98px;
    padding-bottom: 30px;
    gap: 16px;
  }
  .oliva-tour-hero-copy,
  .oliva-tour-experience-panel,
  .oliva-tour-location-panel {
    border-radius: 24px;
    padding: 20px;
  }
  .oliva-tour-hero-card {
    border-radius: 22px;
    padding: 18px;
  }
  .oliva-tour-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .oliva-tour-button {
    width: 100%;
    min-height: 50px;
    padding-left: 14px;
    padding-right: 14px;
  }
  .oliva-tour-content {
    padding-top: 24px;
    padding-bottom: 42px;
  }
  .oliva-tour-embed-card,
  .oliva-tour-placeholder {
    min-height: 330px;
  }
  .oliva-tour-embed-card iframe {
    height: 520px;
  }
  .oliva-tour-location-panel figure,
  .oliva-tour-location-panel img {
    min-height: 260px;
  }
  .oliva-tour-mobile-bar {
    position: fixed;
    left: 10px;
    right: 10px;
    bottom: calc(10px + env(safe-area-inset-bottom));
    z-index: 999;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 6px;
    padding: 8px;
    border-radius: 20px;
    border: 1px solid rgba(255,247,232,.18);
    background: rgba(8, 13, 7, .94);
    box-shadow: 0 18px 50px rgba(0,0,0,.42);
    backdrop-filter: blur(16px);
  }
  .oliva-tour-mobile-bar a {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: rgba(255,247,232,.09);
    color: #fff7e8 !important;
    text-decoration: none !important;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
  }
}

@media (prefers-reduced-motion: reduce) {
  .oliva-tour-button {
    transition: none !important;
  }
  .oliva-tour-button:hover,
  .oliva-tour-button:focus {
    transform: none !important;
  }
}


/* About Us managed page */
body.oliva-about-page {
  overflow-x: hidden;
}

body.oliva-about-page .entry-content,
body.oliva-about-page .page-content,
body.oliva-about-page .wp-block-post-content,
body.oliva-about-page .site-content,
body.oliva-about-page .content-area,
body.oliva-about-page .site-main,
body.oliva-about-page main {
  max-width: none !important;
}

body.oliva-about-page .entry-content,
body.oliva-about-page .page-content,
body.oliva-about-page .wp-block-post-content {
  width: 100% !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.oliva-about-plugin,
.oliva-about-plugin * {
  box-sizing: border-box;
}

.oliva-about-plugin {
  --oliva-about-cream: #fff7e7;
  --oliva-about-muted: rgba(255, 247, 231, .72);
  --oliva-about-dark: #0e130d;
  --oliva-about-deep: #171f14;
  --oliva-about-green: #2d4227;
  --oliva-about-gold: #b89b63;
  --oliva-about-line: rgba(184, 155, 99, .35);
  --oliva-about-line-soft: rgba(255, 247, 231, .15);
  --oliva-about-card: rgba(19, 27, 16, .84);
  --oliva-about-paper: #fffaf0;
  --oliva-about-paper-ink: #182514;
  width: min(1320px, calc(100% - 32px));
  margin: 34px auto;
  color: var(--oliva-about-cream);
  background: var(--oliva-about-dark);
  font-family: Georgia, 'Times New Roman', serif;
  line-height: 1.55;
  overflow: clip;
  position: relative;
  isolation: isolate;
}

.oliva-about-plugin a,
.oliva-about-plugin h1,
.oliva-about-plugin h2,
.oliva-about-plugin h3,
.oliva-about-plugin p,
.oliva-about-plugin span,
.oliva-about-plugin strong {
  color: inherit;
}

.oliva-about-plugin p {
  margin: 0;
}

.oliva-about-plugin.oliva-about-full-width {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.oliva-about-hero {
  min-height: clamp(620px, 88vh, 860px);
  position: relative;
  display: grid;
  align-items: end;
  overflow: hidden;
  background: #0d120c;
}

.oliva-about-hero-media,
.oliva-about-hero-media::after {
  position: absolute;
  inset: 0;
}

.oliva-about-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.03);
  filter: saturate(.92) contrast(1.08) brightness(.58);
}

.oliva-about-hero-media::after {
  content: "";
  background:
    linear-gradient(90deg, rgba(12, 17, 10, .94), rgba(12, 17, 10, .58) 48%, rgba(12, 17, 10, .86)),
    linear-gradient(180deg, rgba(12, 17, 10, .42), rgba(12, 17, 10, .94));
}

.oliva-about-hero-inner {
  width: min(1220px, calc(100% - 44px));
  margin: 0 auto;
  padding: clamp(96px, 14vh, 160px) 0 clamp(52px, 9vh, 110px);
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 360px);
  gap: clamp(28px, 6vw, 92px);
  align-items: end;
}

.oliva-about-hero-copy {
  max-width: 790px;
}

.oliva-about-eyebrow,
.oliva-about-copy-card > span,
.oliva-about-values span,
.oliva-about-philosophy article > span,
.oliva-about-cta > span,
.oliva-about-founded-card > span {
  display: inline-block;
  margin: 0 0 16px;
  color: var(--oliva-about-gold);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.oliva-about-hero h1 {
  max-width: 860px;
  margin: 0;
  color: var(--oliva-about-cream);
  font-size: clamp(42px, 6.4vw, 86px);
  font-weight: 700;
  line-height: .98;
  letter-spacing: -.045em;
}

.oliva-about-hero-copy > p {
  max-width: 700px;
  margin: 24px 0 0;
  color: var(--oliva-about-muted);
  font-size: clamp(17px, 1.5vw, 22px);
}

.oliva-about-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.oliva-about-actions.compact {
  margin-top: 24px;
}

.oliva-about-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 13px 22px;
  border: 1px solid var(--oliva-about-line);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-decoration: none !important;
  transition: transform .18s ease, border-color .18s ease, background-color .18s ease;
}

.oliva-about-button:hover,
.oliva-about-button:focus {
  transform: translateY(-1px);
  border-color: rgba(255, 247, 231, .6);
  outline: none;
}

.oliva-about-button-primary {
  background: var(--oliva-about-cream);
  color: #172111 !important;
}

.oliva-about-button-ghost {
  background: rgba(255, 247, 231, .06);
  color: var(--oliva-about-cream) !important;
}

.oliva-about-founded-card {
  padding: 28px;
  border: 1px solid var(--oliva-about-line);
  border-radius: 28px;
  background: rgba(14, 19, 13, .74);
  backdrop-filter: blur(16px);
  box-shadow: 0 30px 70px rgba(0, 0, 0, .26);
}

.oliva-about-founded-card strong {
  display: block;
  font-size: clamp(52px, 7vw, 94px);
  line-height: .9;
  color: var(--oliva-about-cream);
}

.oliva-about-founded-card p {
  margin-top: 16px;
  color: var(--oliva-about-muted);
}

.oliva-about-content {
  width: min(1220px, calc(100% - 44px));
  margin: 0 auto;
  padding: clamp(54px, 7vw, 108px) 0 calc(clamp(54px, 7vw, 108px) + 20px);
}

.oliva-about-story-grid,
.oliva-about-philosophy {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .84fr);
  gap: clamp(24px, 5vw, 74px);
  align-items: stretch;
}

.oliva-about-copy-card,
.oliva-about-philosophy article,
.oliva-about-cta,
.oliva-about-values article {
  border: 1px solid var(--oliva-about-line-soft);
  border-radius: 30px;
  background:
    radial-gradient(circle at top left, rgba(184, 155, 99, .14), transparent 34%),
    var(--oliva-about-card);
  box-shadow: 0 28px 70px rgba(0, 0, 0, .20);
}

.oliva-about-copy-card,
.oliva-about-philosophy article,
.oliva-about-cta {
  padding: clamp(28px, 4vw, 54px);
}

.oliva-about-copy-card h2,
.oliva-about-philosophy h2,
.oliva-about-cta h2 {
  margin: 0;
  color: var(--oliva-about-cream);
  font-size: clamp(30px, 4vw, 56px);
  line-height: 1.04;
  letter-spacing: -.035em;
}

.oliva-about-copy-card p,
.oliva-about-philosophy p,
.oliva-about-cta p,
.oliva-about-values p {
  margin-top: 18px;
  color: var(--oliva-about-muted);
  font-size: 16px;
}

.oliva-about-image-card,
.oliva-about-philosophy figure {
  margin: 0;
  min-height: 420px;
  border-radius: 30px;
  overflow: hidden;
  background: #222;
  box-shadow: 0 32px 82px rgba(0, 0, 0, .25);
}

.oliva-about-image-card img,
.oliva-about-philosophy img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.oliva-about-values {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin: clamp(28px, 5vw, 72px) 0;
}

.oliva-about-values article {
  padding: 28px;
}

.oliva-about-values h3 {
  margin: 0;
  color: var(--oliva-about-cream);
  font-size: 23px;
  line-height: 1.14;
}

.oliva-about-philosophy {
  grid-template-columns: minmax(360px, .82fr) minmax(0, 1fr);
}

.oliva-about-chef-note {
  margin-top: 24px;
  padding: 18px 20px;
  border: 1px solid var(--oliva-about-line);
  border-radius: 20px;
  background: rgba(255, 247, 231, .05);
}

.oliva-about-chef-note strong {
  display: block;
  color: var(--oliva-about-gold);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.oliva-about-chef-note p {
  margin-top: 8px;
}

.oliva-about-cta {
  margin-top: clamp(28px, 5vw, 72px);
  text-align: center;
  background:
    radial-gradient(circle at 50% 0%, rgba(184, 155, 99, .18), transparent 45%),
    linear-gradient(180deg, rgba(26, 38, 21, .94), rgba(14, 19, 13, .92));
}

.oliva-about-cta p {
  max-width: 760px;
  margin-right: auto;
  margin-left: auto;
}

.oliva-about-cta .oliva-about-actions {
  justify-content: center;
}

.oliva-about-mobile-bar {
  display: none;
}

.wp-admin .oliva-about-admin-preview-shell {
  max-width: 100%;
  overflow: auto;
  background: #11170f;
  border-radius: 22px;
  border: 1px solid rgba(184, 155, 99, .28);
}

.wp-admin .oliva-about-plugin {
  margin-top: 0;
  margin-bottom: 0;
}

@media (max-width: 980px) {
  .oliva-about-hero-inner,
  .oliva-about-story-grid,
  .oliva-about-philosophy,
  .oliva-about-values {
    grid-template-columns: 1fr;
  }

  .oliva-about-founded-card {
    max-width: 420px;
  }

  .oliva-about-philosophy figure,
  .oliva-about-image-card {
    min-height: 360px;
  }
}

@media (max-width: 720px) {
  .oliva-about-plugin {
    width: 100%;
    margin: 0;
  }

  .oliva-about-hero {
    min-height: 88vh;
  }

  .oliva-about-hero-inner,
  .oliva-about-content {
    width: min(100% - 28px, 560px);
  }

  .oliva-about-hero-inner {
    padding-top: 88px;
    padding-bottom: 34px;
  }

  .oliva-about-hero h1 {
    font-size: clamp(36px, 12vw, 56px);
  }

  .oliva-about-hero-copy > p,
  .oliva-about-copy-card p,
  .oliva-about-philosophy p,
  .oliva-about-cta p,
  .oliva-about-values p {
    font-size: 15px;
  }

  .oliva-about-actions {
    flex-direction: column;
  }

  .oliva-about-button {
    width: 100%;
    min-height: 52px;
  }

  .oliva-about-founded-card,
  .oliva-about-copy-card,
  .oliva-about-philosophy article,
  .oliva-about-cta,
  .oliva-about-values article {
    border-radius: 24px;
  }

  .oliva-about-content {
    padding: 36px 0 88px;
  }

  .oliva-about-image-card,
  .oliva-about-philosophy figure {
    min-height: 280px;
  }

  .oliva-about-mobile-bar {
    position: fixed;
    left: max(10px, env(safe-area-inset-left));
    right: max(10px, env(safe-area-inset-right));
    bottom: max(10px, env(safe-area-inset-bottom));
    z-index: 999;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 6px;
    padding: 7px;
    border: 1px solid rgba(184, 155, 99, .35);
    border-radius: 999px;
    background: rgba(14, 19, 13, .92);
    box-shadow: 0 18px 42px rgba(0, 0, 0, .35);
    backdrop-filter: blur(14px);
  }

  .oliva-about-mobile-bar a {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: var(--oliva-about-cream) !important;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-decoration: none !important;
    text-transform: uppercase;
  }

  .wp-admin .oliva-about-mobile-bar {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .oliva-about-button,
  .oliva-about-hero-media img {
    transition: none !important;
    transform: none !important;
  }
}


/* Contact page · v1.11.0 */
.oliva-contact-plugin {
  --oliva-contact-cream: #f6efe1;
  --oliva-contact-muted: rgba(246, 239, 225, .72);
  --oliva-contact-green: #10180f;
  --oliva-contact-green-2: #1c2a18;
  --oliva-contact-gold: #b89b63;
  --oliva-contact-line: rgba(184, 155, 99, .28);
  width: 100%;
  margin: 0;
  color: var(--oliva-contact-cream);
  background: transparent;
  font-family: inherit;
  overflow-x: clip;
}

.oliva-contact-plugin *,
.oliva-contact-plugin *::before,
.oliva-contact-plugin *::after {
  box-sizing: border-box;
}

.oliva-contact-hero {
  position: relative;
  min-height: 82vh;
  isolation: isolate;
  overflow: hidden;
  background: #0e130d;
}

.oliva-contact-hero-media,
.oliva-contact-hero-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.oliva-contact-hero-media img {
  object-fit: cover;
  transform: scale(1.04);
  filter: saturate(.9) contrast(1.02);
}

.oliva-contact-hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 70% 50%, rgba(184, 155, 99, .18), transparent 34%),
    linear-gradient(90deg, rgba(10, 14, 9, .94) 0%, rgba(10, 14, 9, .74) 48%, rgba(10, 14, 9, .42) 100%),
    linear-gradient(180deg, rgba(10, 14, 9, .22), rgba(10, 14, 9, .86));
}

.oliva-contact-hero-inner {
  position: relative;
  z-index: 2;
  width: min(1180px, calc(100% - 44px));
  min-height: 82vh;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.16fr) minmax(320px, .72fr);
  gap: clamp(28px, 6vw, 90px);
  align-items: end;
  padding: clamp(110px, 14vh, 160px) 0 clamp(42px, 8vh, 86px);
}

.oliva-contact-hero-copy,
.oliva-contact-hero-card,
.oliva-contact-copy-card,
.oliva-contact-detail-grid article,
.oliva-contact-form-card,
.oliva-contact-map-card,
.oliva-contact-location-strip {
  border: 1px solid var(--oliva-contact-line);
  background:
    linear-gradient(180deg, rgba(246, 239, 225, .09), rgba(246, 239, 225, .035)),
    rgba(14, 19, 13, .82);
  box-shadow: 0 24px 76px rgba(0, 0, 0, .24);
  backdrop-filter: blur(16px);
}

.oliva-contact-hero-copy {
  padding: clamp(24px, 4vw, 48px);
  border-radius: 34px;
}

.oliva-contact-eyebrow,
.oliva-contact-copy-card > span,
.oliva-contact-form-card > span,
.oliva-contact-map-fallback > span,
.oliva-contact-location-strip article > span,
.oliva-contact-hero-card > span,
.oliva-contact-detail-grid span {
  display: inline-flex;
  color: var(--oliva-contact-gold);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.oliva-contact-hero-copy h1,
.oliva-contact-copy-card h2,
.oliva-contact-form-card h2,
.oliva-contact-map-fallback h2,
.oliva-contact-location-strip h2 {
  margin: 12px 0 0;
  color: var(--oliva-contact-cream);
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 500;
  line-height: .96;
  letter-spacing: -.045em;
}

.oliva-contact-hero-copy h1 {
  max-width: 780px;
  font-size: clamp(46px, 7vw, 92px);
}

.oliva-contact-copy-card h2,
.oliva-contact-form-card h2,
.oliva-contact-map-fallback h2,
.oliva-contact-location-strip h2 {
  font-size: clamp(31px, 4.8vw, 58px);
}

.oliva-contact-hero-copy p,
.oliva-contact-copy-card p,
.oliva-contact-form-card p,
.oliva-contact-map-fallback p,
.oliva-contact-location-strip p,
.oliva-contact-hero-card p,
.oliva-contact-detail-grid a,
.oliva-contact-note,
.oliva-contact-fallback-box p {
  color: var(--oliva-contact-muted);
  font-size: 16px;
  line-height: 1.72;
}

.oliva-contact-hero-copy > p {
  max-width: 680px;
  margin: 20px 0 0;
  font-size: clamp(16px, 1.8vw, 20px);
}

.oliva-contact-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.oliva-contact-actions.compact {
  margin-top: 22px;
}

.oliva-contact-button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 20px;
  border: 1px solid rgba(246, 239, 225, .18);
  border-radius: 999px;
  color: var(--oliva-contact-cream) !important;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .1em;
  text-decoration: none !important;
  text-transform: uppercase;
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}

.oliva-contact-button:hover,
.oliva-contact-button:focus {
  transform: translateY(-1px);
  border-color: rgba(246, 239, 225, .5);
}

.oliva-contact-button-primary {
  background: var(--oliva-contact-gold);
  color: #10180f !important;
  border-color: var(--oliva-contact-gold);
}

.oliva-contact-button-ghost {
  background: rgba(246, 239, 225, .07);
}

.oliva-contact-hero-card {
  align-self: end;
  border-radius: 30px;
  padding: 28px;
}

.oliva-contact-hero-card strong,
.oliva-contact-fallback-box strong,
.oliva-contact-detail-grid strong {
  display: block;
  margin-top: 10px;
  color: var(--oliva-contact-cream);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(24px, 3vw, 36px);
  font-weight: 500;
  line-height: 1.08;
}

.oliva-contact-content {
  width: min(1180px, calc(100% - 44px));
  margin: 0 auto;
  padding: clamp(42px, 7vw, 96px) 0 clamp(72px, 9vw, 120px);
}

.oliva-contact-main-grid {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  gap: clamp(18px, 3vw, 34px);
}

.oliva-contact-copy-card,
.oliva-contact-form-card,
.oliva-contact-map-fallback,
.oliva-contact-location-strip article {
  padding: clamp(24px, 4vw, 44px);
  border-radius: 30px;
}

.oliva-contact-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.oliva-contact-detail-grid article {
  min-height: 178px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-radius: 24px;
  padding: 24px;
}

.oliva-contact-detail-grid a {
  margin-top: 18px;
  color: var(--oliva-contact-gold) !important;
  font-weight: 800;
  letter-spacing: .06em;
  text-decoration: none !important;
  text-transform: uppercase;
}

.oliva-contact-note {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--oliva-contact-line);
}

.oliva-contact-form-map-grid {
  display: grid;
  grid-template-columns: minmax(0, .98fr) minmax(0, 1.02fr);
  gap: clamp(18px, 3vw, 34px);
  margin-top: clamp(24px, 4vw, 52px);
}

.oliva-contact-form-shortcode {
  margin-top: 24px;
}

.oliva-contact-form-shortcode input,
.oliva-contact-form-shortcode textarea,
.oliva-contact-form-shortcode select {
  width: 100%;
  min-height: 48px;
  border: 1px solid rgba(184, 155, 99, .28);
  border-radius: 16px;
  background: rgba(246, 239, 225, .92);
  color: #11170f;
  padding: 12px 14px;
}

.oliva-contact-form-shortcode textarea {
  min-height: 130px;
}

.oliva-contact-form-shortcode input[type='submit'],
.oliva-contact-form-shortcode button {
  width: auto;
  min-height: 48px;
  border-radius: 999px;
  background: var(--oliva-contact-gold);
  color: #11170f;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.oliva-contact-fallback-box {
  margin-top: 24px;
  border: 1px solid rgba(184, 155, 99, .24);
  border-radius: 24px;
  padding: 24px;
  background: rgba(246, 239, 225, .065);
}

.oliva-contact-map-card {
  min-height: 430px;
  overflow: hidden;
  border-radius: 30px;
}

.oliva-contact-map-embed,
.oliva-contact-map-embed iframe {
  width: 100%;
  height: 100%;
  min-height: 430px;
  border: 0;
}

.oliva-contact-map-fallback {
  min-height: 430px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background:
    radial-gradient(circle at 70% 20%, rgba(184, 155, 99, .2), transparent 38%),
    linear-gradient(135deg, rgba(26, 42, 22, .96), rgba(12, 18, 11, .95));
}

.oliva-contact-location-strip {
  display: grid;
  grid-template-columns: minmax(280px, .86fr) minmax(0, 1.14fr);
  gap: 0;
  margin-top: clamp(24px, 4vw, 52px);
  overflow: hidden;
  border-radius: 34px;
}

.oliva-contact-location-strip figure {
  min-height: 380px;
  margin: 0;
}

.oliva-contact-location-strip img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.oliva-contact-mobile-bar {
  display: none;
}

.wp-admin .oliva-contact-admin-preview-shell {
  max-width: 100%;
  overflow: auto;
  background: #11170f;
  border: 1px solid rgba(184, 155, 99, .28);
  border-radius: 22px;
}

.wp-admin .oliva-contact-plugin {
  margin-top: 0;
  margin-bottom: 0;
}

@media (max-width: 980px) {
  .oliva-contact-hero-inner,
  .oliva-contact-main-grid,
  .oliva-contact-form-map-grid,
  .oliva-contact-location-strip {
    grid-template-columns: 1fr;
  }

  .oliva-contact-hero-card {
    max-width: 440px;
  }

  .oliva-contact-location-strip figure {
    min-height: 340px;
  }
}

@media (max-width: 720px) {
  .oliva-contact-plugin {
    width: 100%;
    margin: 0;
  }

  .oliva-contact-hero {
    min-height: 88vh;
  }

  .oliva-contact-hero-inner,
  .oliva-contact-content {
    width: min(100% - 28px, 560px);
  }

  .oliva-contact-hero-inner {
    min-height: 88vh;
    padding-top: 88px;
    padding-bottom: 34px;
  }

  .oliva-contact-hero-copy,
  .oliva-contact-copy-card,
  .oliva-contact-detail-grid article,
  .oliva-contact-form-card,
  .oliva-contact-map-card,
  .oliva-contact-location-strip {
    border-radius: 24px;
  }

  .oliva-contact-hero-copy h1 {
    font-size: clamp(36px, 12vw, 56px);
  }

  .oliva-contact-hero-copy p,
  .oliva-contact-copy-card p,
  .oliva-contact-form-card p,
  .oliva-contact-map-fallback p,
  .oliva-contact-location-strip p,
  .oliva-contact-detail-grid a {
    font-size: 15px;
  }

  .oliva-contact-actions {
    flex-direction: column;
  }

  .oliva-contact-button {
    width: 100%;
    min-height: 52px;
  }

  .oliva-contact-detail-grid {
    grid-template-columns: 1fr;
  }

  .oliva-contact-content {
    padding: 36px 0 88px;
  }

  .oliva-contact-map-card,
  .oliva-contact-map-embed,
  .oliva-contact-map-embed iframe,
  .oliva-contact-map-fallback {
    min-height: 330px;
  }

  .oliva-contact-location-strip figure {
    min-height: 260px;
  }

  .oliva-contact-mobile-bar {
    position: fixed;
    left: max(10px, env(safe-area-inset-left));
    right: max(10px, env(safe-area-inset-right));
    bottom: max(10px, env(safe-area-inset-bottom));
    z-index: 999;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 6px;
    padding: 7px;
    border: 1px solid rgba(184, 155, 99, .35);
    border-radius: 999px;
    background: rgba(14, 19, 13, .92);
    box-shadow: 0 18px 42px rgba(0, 0, 0, .35);
    backdrop-filter: blur(14px);
  }

  .oliva-contact-mobile-bar a {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: var(--oliva-contact-cream) !important;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-decoration: none !important;
    text-transform: uppercase;
  }

  .wp-admin .oliva-contact-mobile-bar {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .oliva-contact-button,
  .oliva-contact-hero-media img {
    transition: none !important;
    transform: none !important;
  }
}


/* v1.12.1: Restaurant menus intentionally hide every visible price element. */
.oliva-menu-plugin .oliva-menu-item-price,
.oliva-home-plugin .oliva-home-featured-menu article > span,
.oliva-home-featured-menu article > span {
  display: none !important;
}



/* Oliva v1.13.0 · Minimal Editorial Upgrade
   Cleaner public pages: fewer repeated panels, softer cards, no visible technical placeholders. */
.oliva-home-plugin,
.oliva-reservation-plugin,
.oliva-tour-plugin,
.oliva-about-plugin,
.oliva-contact-plugin,
.oliva-menu-plugin {
  --oliva-min-bg: #0f160d;
  --oliva-min-bg-2: #172114;
  --oliva-min-paper: rgba(255, 251, 241, .965);
  --oliva-min-cream: #fff7e8;
  --oliva-min-muted: rgba(255, 247, 232, .72);
  --oliva-min-line: rgba(255, 247, 232, .14);
  --oliva-min-gold: #c5a16d;
}

.oliva-home-section-wrap,
.oliva-reservation-content,
.oliva-tour-content,
.oliva-about-content,
.oliva-contact-content {
  background: linear-gradient(180deg, #11190f 0%, #172114 42%, #10170f 100%) !important;
}

.oliva-home-hero,
.oliva-reservation-hero,
.oliva-tour-hero,
.oliva-about-hero,
.oliva-contact-hero {
  min-height: clamp(620px, 82vh, 860px) !important;
  background: #0f160d !important;
}

.oliva-home-hero-overlay,
.oliva-reservation-hero:after,
.oliva-tour-hero:after,
.oliva-about-hero:after,
.oliva-contact-hero:after {
  background: linear-gradient(90deg, rgba(10, 16, 8, .92), rgba(10, 16, 8, .62) 48%, rgba(10, 16, 8, .34)) !important;
}

.oliva-home-hero-inner,
.oliva-reservation-hero-inner,
.oliva-tour-hero-inner,
.oliva-about-hero-inner,
.oliva-contact-hero-inner {
  grid-template-columns: minmax(0, 760px) !important;
  justify-content: start !important;
  gap: 0 !important;
}

.oliva-home-hero-card,
.oliva-reservation-hero-card,
.oliva-tour-hero-card,
.oliva-contact-hero-card {
  display: none !important;
}

.oliva-home-kicker,
.oliva-home-section-kicker,
.oliva-reservation-eyebrow,
.oliva-tour-eyebrow,
.oliva-about-eyebrow,
.oliva-contact-eyebrow,
.oliva-reservation-booking-copy > span,
.oliva-tour-copy > span,
.oliva-about-copy-card > span,
.oliva-about-philosophy article > span,
.oliva-about-cta > span,
.oliva-contact-copy-card > span,
.oliva-contact-form-card > span,
.oliva-contact-map-fallback > span {
  letter-spacing: .20em !important;
  color: var(--oliva-min-gold) !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
}

.oliva-home-hero h1,
.oliva-reservation-hero h1,
.oliva-tour-hero h1,
.oliva-about-hero h1,
.oliva-contact-hero h1 {
  max-width: 780px !important;
  font-size: clamp(42px, 7vw, 86px) !important;
  line-height: .98 !important;
  letter-spacing: -.045em !important;
  color: var(--oliva-min-cream) !important;
}

.oliva-home-hero-text,
.oliva-reservation-hero-copy p,
.oliva-tour-hero-copy p,
.oliva-about-hero-copy p,
.oliva-contact-hero-copy p {
  max-width: 620px !important;
  color: var(--oliva-min-muted) !important;
  font-size: clamp(17px, 2vw, 22px) !important;
  line-height: 1.55 !important;
}

.oliva-home-actions,
.oliva-reservation-actions,
.oliva-tour-actions,
.oliva-about-actions,
.oliva-contact-actions {
  gap: 10px !important;
}

.oliva-home-button,
.oliva-reservation-button,
.oliva-tour-button,
.oliva-about-button,
.oliva-contact-button {
  border-radius: 999px !important;
  padding: 13px 21px !important;
  min-height: 48px !important;
  letter-spacing: .075em !important;
  text-transform: uppercase !important;
  font-size: 11px !important;
  font-weight: 800 !important;
}

.oliva-home-button-primary,
.oliva-reservation-button-primary,
.oliva-tour-button-primary,
.oliva-about-button-primary,
.oliva-contact-button-primary {
  background: var(--oliva-min-gold) !important;
  color: #10170f !important;
  border-color: var(--oliva-min-gold) !important;
}

.oliva-home-button-secondary,
.oliva-reservation-button-ghost,
.oliva-tour-button-ghost,
.oliva-about-button-ghost,
.oliva-contact-button-ghost {
  background: rgba(255,247,232,.055) !important;
  color: var(--oliva-min-cream) !important;
  border-color: rgba(255,247,232,.22) !important;
}

.oliva-home-intro,
.oliva-home-menu-panel,
.oliva-home-split-cta,
.oliva-reservation-booking-panel,
.oliva-reservation-transport-panel,
.oliva-tour-experience-panel,
.oliva-tour-location-panel,
.oliva-about-story-grid,
.oliva-about-philosophy,
.oliva-about-cta,
.oliva-contact-main-grid,
.oliva-contact-form-map-grid,
.oliva-contact-location-strip {
  border: 1px solid rgba(255,247,232,.12) !important;
  background: rgba(255,247,232,.045) !important;
  box-shadow: none !important;
  border-radius: clamp(22px, 3vw, 34px) !important;
}

.oliva-home-features,
.oliva-reservation-feature-grid,
.oliva-tour-feature-grid,
.oliva-home-footer-note,
.oliva-tour-footer-note {
  display: none !important;
}

.oliva-home-copy h2,
.oliva-home-menu-copy h2,
.oliva-home-split-cta h2,
.oliva-reservation-booking-copy h2,
.oliva-reservation-transport-copy h2,
.oliva-tour-copy h2,
.oliva-tour-location-panel h2,
.oliva-about-copy-card h2,
.oliva-about-philosophy h2,
.oliva-about-cta h2,
.oliva-contact-copy-card h2,
.oliva-contact-form-card h2,
.oliva-contact-map-fallback h2,
.oliva-contact-location-strip h2 {
  color: var(--oliva-min-cream) !important;
  font-size: clamp(30px, 4vw, 58px) !important;
  line-height: 1.04 !important;
  letter-spacing: -.03em !important;
}

.oliva-home-copy p,
.oliva-home-menu-copy p,
.oliva-home-split-cta p,
.oliva-reservation-booking-copy p,
.oliva-reservation-transport-copy p,
.oliva-tour-copy p,
.oliva-tour-location-panel p,
.oliva-about-copy-card p,
.oliva-about-philosophy p,
.oliva-about-cta p,
.oliva-contact-copy-card p,
.oliva-contact-form-card p,
.oliva-contact-map-fallback p,
.oliva-contact-location-strip p {
  color: rgba(255,247,232,.73) !important;
  font-size: 16px !important;
  line-height: 1.72 !important;
}

.oliva-home-image-card,
.oliva-home-featured-image,
.oliva-reservation-wide-image,
.oliva-tour-location-panel figure,
.oliva-about-image-card,
.oliva-about-philosophy figure,
.oliva-contact-location-strip figure {
  border-radius: clamp(20px, 3vw, 32px) !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,247,232,.12) !important;
  box-shadow: none !important;
}

.oliva-home-featured-menu article,
.oliva-reservation-meta-grid > div,
.oliva-contact-detail-grid article,
.oliva-contact-fallback-box,
.oliva-contact-map-fallback,
.oliva-reservation-missing-box,
.oliva-tour-placeholder {
  background: rgba(255,247,232,.065) !important;
  border: 1px solid rgba(255,247,232,.12) !important;
  border-radius: 20px !important;
  box-shadow: none !important;
}

.oliva-reservation-engine-card,
.oliva-tour-embed-card,
.oliva-contact-map-card,
.oliva-contact-form-card {
  background: rgba(9,13,7,.44) !important;
  border: 1px solid rgba(255,247,232,.12) !important;
  border-radius: clamp(22px, 3vw, 34px) !important;
  box-shadow: none !important;
}

.oliva-reservation-engine-visual span,
.oliva-tour-placeholder span {
  color: var(--oliva-min-gold) !important;
}

.oliva-menu-content {
  background: rgba(255, 251, 241, .98) !important;
  border: 1px solid rgba(197, 161, 109, .22) !important;
  border-radius: clamp(18px, 3vw, 36px) !important;
  box-shadow: 0 22px 70px rgba(0,0,0,.16) !important;
}

.oliva-menu-nav {
  border: 1px solid rgba(33,49,29,.10) !important;
  background: rgba(255,255,255,.66) !important;
  border-radius: 999px !important;
  padding: 8px !important;
}

.oliva-menu-section {
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid rgba(33,49,29,.18) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: clamp(26px, 4vw, 48px) 0 !important;
}

.oliva-menu-section:first-child { border-top: 0 !important; }

.oliva-menu-item {
  border-bottom: 1px solid rgba(33,49,29,.10) !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 16px 0 !important;
}

.oliva-menu-item:last-child { border-bottom: 0 !important; }

.oliva-menu-item-name {
  letter-spacing: -.01em !important;
}

.oliva-menu-item-desc {
  max-width: 820px !important;
}

.oliva-home-mobile-bar,
.oliva-reservation-mobile-bar,
.oliva-tour-mobile-bar,
.oliva-about-mobile-bar,
.oliva-contact-mobile-bar {
  background: rgba(16, 23, 15, .94) !important;
  border-top: 1px solid rgba(255,247,232,.14) !important;
  backdrop-filter: blur(14px) !important;
}

.oliva-home-mobile-bar a,
.oliva-reservation-mobile-bar a,
.oliva-tour-mobile-bar a,
.oliva-about-mobile-bar a,
.oliva-contact-mobile-bar a {
  color: var(--oliva-min-cream) !important;
}

@media (max-width: 760px) {
  .oliva-home-hero,
  .oliva-reservation-hero,
  .oliva-tour-hero,
  .oliva-about-hero,
  .oliva-contact-hero {
    min-height: 78vh !important;
  }
  .oliva-home-hero-inner,
  .oliva-reservation-hero-inner,
  .oliva-tour-hero-inner,
  .oliva-about-hero-inner,
  .oliva-contact-hero-inner {
    padding-top: 92px !important;
    padding-bottom: 96px !important;
  }
  .oliva-home-actions,
  .oliva-reservation-actions,
  .oliva-tour-actions,
  .oliva-about-actions,
  .oliva-contact-actions {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .oliva-home-button,
  .oliva-reservation-button,
  .oliva-tour-button,
  .oliva-about-button,
  .oliva-contact-button {
    justify-content: center !important;
    width: 100% !important;
  }
  .oliva-home-intro,
  .oliva-home-menu-panel,
  .oliva-home-split-cta,
  .oliva-reservation-booking-panel,
  .oliva-reservation-transport-panel,
  .oliva-tour-experience-panel,
  .oliva-tour-location-panel,
  .oliva-about-story-grid,
  .oliva-about-philosophy,
  .oliva-about-cta,
  .oliva-contact-main-grid,
  .oliva-contact-form-map-grid,
  .oliva-contact-location-strip {
    padding: 24px 18px !important;
  }
  .oliva-menu-content {
    border-radius: 20px !important;
  }
  .oliva-menu-nav {
    border-radius: 18px !important;
    justify-content: flex-start !important;
  }
}

/* v1.13.0: Premium minimal refresh across managed pages */
.oliva-minimal-page {
  --oliva-minimal-dark: #0c120d;
  --oliva-minimal-forest: #172116;
  --oliva-minimal-cream: #fff6e8;
  --oliva-minimal-soft: rgba(255, 246, 232, .74);
  --oliva-minimal-muted: rgba(255, 246, 232, .58);
  --oliva-minimal-gold: #b99663;
  --oliva-minimal-line: rgba(255, 246, 232, .14);
  --oliva-minimal-line-strong: rgba(185, 150, 99, .42);
  --oliva-minimal-panel: rgba(255, 246, 232, .055);
  --oliva-minimal-panel-strong: rgba(255, 246, 232, .085);
  color: var(--oliva-minimal-cream);
  background:
    radial-gradient(ellipse at 12% 0%, rgba(185,150,99,.12), transparent 34%),
    linear-gradient(180deg, #0c120d 0%, #172116 46%, #0d130d 100%) !important;
}

.oliva-minimal-page h1,
.oliva-minimal-page h2,
.oliva-minimal-page h3 {
  letter-spacing: .005em !important;
  text-transform: none !important;
  text-wrap: balance;
}

.oliva-minimal-page p {
  color: var(--oliva-minimal-soft) !important;
  line-height: 1.72 !important;
}

.oliva-minimal-page [class$="-eyebrow"],
.oliva-minimal-page .oliva-home-kicker,
.oliva-minimal-page .oliva-home-section-kicker,
.oliva-minimal-page .oliva-reservation-booking-copy > span,
.oliva-minimal-page .oliva-reservation-transport-copy > span,
.oliva-minimal-page .oliva-tour-copy > span,
.oliva-minimal-page .oliva-tour-location-panel span,
.oliva-minimal-page .oliva-about-copy-card > span,
.oliva-minimal-page .oliva-about-philosophy article > span,
.oliva-minimal-page .oliva-about-cta > span,
.oliva-minimal-page .oliva-contact-copy-card > span,
.oliva-minimal-page .oliva-contact-form-card > span,
.oliva-minimal-page .oliva-contact-map-fallback > span,
.oliva-minimal-page .oliva-contact-location-strip article > span {
  color: var(--oliva-minimal-gold) !important;
  font-size: 11px !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}

.oliva-minimal-page .oliva-home-hero,
.oliva-minimal-page .oliva-reservation-hero,
.oliva-minimal-page .oliva-tour-hero,
.oliva-minimal-page .oliva-about-hero,
.oliva-minimal-page .oliva-contact-hero {
  min-height: clamp(560px, 78vh, 820px) !important;
  background: #0c120d !important;
}

.oliva-minimal-page .oliva-home-hero-media img,
.oliva-minimal-page .oliva-reservation-hero-media img,
.oliva-minimal-page .oliva-tour-hero-media img,
.oliva-minimal-page .oliva-about-hero-media img,
.oliva-minimal-page .oliva-contact-hero-media img {
  filter: saturate(.9) contrast(1.05) brightness(.68) !important;
  transform: scale(1.01) !important;
}

.oliva-minimal-page .oliva-home-hero-media::after,
.oliva-minimal-page .oliva-reservation-hero-media::after,
.oliva-minimal-page .oliva-tour-hero-media::after,
.oliva-minimal-page .oliva-about-hero-media::after,
.oliva-minimal-page .oliva-contact-hero-media::after {
  background:
    linear-gradient(90deg, rgba(8,12,8,.94), rgba(8,12,8,.62) 52%, rgba(8,12,8,.42)),
    linear-gradient(180deg, rgba(8,12,8,.15), rgba(8,12,8,.84)) !important;
}

.oliva-minimal-page .oliva-home-shell,
.oliva-minimal-page .oliva-reservation-content,
.oliva-minimal-page .oliva-tour-content,
.oliva-minimal-page .oliva-about-content,
.oliva-minimal-page .oliva-contact-content,
.oliva-minimal-page .oliva-reservation-hero-inner,
.oliva-minimal-page .oliva-tour-hero-inner,
.oliva-minimal-page .oliva-about-hero-inner,
.oliva-minimal-page .oliva-contact-hero-inner {
  width: min(1180px, calc(100% - 44px)) !important;
}

.oliva-minimal-page .oliva-reservation-hero-inner,
.oliva-minimal-page .oliva-tour-hero-inner,
.oliva-minimal-page .oliva-about-hero-inner,
.oliva-minimal-page .oliva-contact-hero-inner {
  display: flex !important;
  align-items: flex-end !important;
  min-height: clamp(560px, 78vh, 820px) !important;
  padding-top: clamp(112px, 11vw, 170px) !important;
  padding-bottom: clamp(44px, 7vw, 86px) !important;
}

.oliva-minimal-page .oliva-home-hero-inner h1,
.oliva-minimal-page .oliva-reservation-hero-copy h1,
.oliva-minimal-page .oliva-tour-hero-copy h1,
.oliva-minimal-page .oliva-about-hero-copy h1,
.oliva-minimal-page .oliva-contact-hero-copy h1 {
  max-width: 900px !important;
  margin: 0 !important;
  color: var(--oliva-minimal-cream) !important;
  font-size: clamp(42px, 6.6vw, 88px) !important;
  font-weight: 650 !important;
  line-height: 1 !important;
  text-shadow: 0 18px 56px rgba(0,0,0,.42) !important;
}

.oliva-minimal-page .oliva-home-hero-text,
.oliva-minimal-page .oliva-reservation-hero-copy > p,
.oliva-minimal-page .oliva-tour-hero-copy > p,
.oliva-minimal-page .oliva-about-hero-copy > p,
.oliva-minimal-page .oliva-contact-hero-copy > p {
  max-width: 660px !important;
  margin-top: 22px !important;
  margin-bottom: 0 !important;
  font-size: clamp(16px, 1.22vw, 20px) !important;
}

.oliva-minimal-page .oliva-home-button,
.oliva-minimal-page .oliva-reservation-button,
.oliva-minimal-page .oliva-tour-button,
.oliva-minimal-page .oliva-about-button,
.oliva-minimal-page .oliva-contact-button {
  min-height: 48px !important;
  padding: 13px 22px !important;
  border-radius: 999px !important;
  border: 1px solid var(--oliva-minimal-line-strong) !important;
  box-shadow: none !important;
  font-size: 11px !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

.oliva-minimal-page .oliva-home-button-primary,
.oliva-minimal-page .oliva-reservation-button-primary,
.oliva-minimal-page .oliva-tour-button-primary,
.oliva-minimal-page .oliva-about-button-primary,
.oliva-minimal-page .oliva-contact-button-primary {
  background: var(--oliva-minimal-cream) !important;
  color: #12180f !important;
  border-color: var(--oliva-minimal-cream) !important;
}

.oliva-minimal-page .oliva-home-button-secondary,
.oliva-minimal-page .oliva-reservation-button-ghost,
.oliva-minimal-page .oliva-tour-button-ghost,
.oliva-minimal-page .oliva-about-button-ghost,
.oliva-minimal-page .oliva-contact-button-ghost {
  background: rgba(255,246,232,.06) !important;
  color: var(--oliva-minimal-cream) !important;
}

.oliva-minimal-page .oliva-home-section-wrap,
.oliva-minimal-page .oliva-reservation-content,
.oliva-minimal-page .oliva-tour-content,
.oliva-minimal-page .oliva-about-content,
.oliva-minimal-page .oliva-contact-content {
  padding-top: clamp(56px, 7vw, 104px) !important;
  padding-bottom: clamp(70px, 8vw, 126px) !important;
  background: transparent !important;
}

.oliva-minimal-page .oliva-home-intro,
.oliva-minimal-page .oliva-home-menu-panel,
.oliva-minimal-page .oliva-home-split-cta,
.oliva-minimal-page .oliva-reservation-booking-panel,
.oliva-minimal-page .oliva-reservation-transport-panel,
.oliva-minimal-page .oliva-tour-experience-panel,
.oliva-minimal-page .oliva-tour-location-panel,
.oliva-minimal-page .oliva-about-story-grid,
.oliva-minimal-page .oliva-about-philosophy,
.oliva-minimal-page .oliva-about-cta,
.oliva-minimal-page .oliva-contact-main-grid,
.oliva-minimal-page .oliva-contact-form-map-grid,
.oliva-minimal-page .oliva-contact-location-strip {
  border: 1px solid var(--oliva-minimal-line) !important;
  border-radius: 28px !important;
  background: var(--oliva-minimal-panel) !important;
  box-shadow: none !important;
}

.oliva-minimal-page .oliva-home-menu-panel,
.oliva-minimal-page .oliva-reservation-booking-panel,
.oliva-minimal-page .oliva-tour-experience-panel,
.oliva-minimal-page .oliva-about-philosophy,
.oliva-minimal-page .oliva-contact-form-map-grid {
  background: var(--oliva-minimal-panel-strong) !important;
}

.oliva-minimal-page .oliva-home-image-card,
.oliva-minimal-page .oliva-home-featured-image,
.oliva-minimal-page .oliva-home-location-card,
.oliva-minimal-page .oliva-reservation-engine-card,
.oliva-minimal-page .oliva-tour-embed-card,
.oliva-minimal-page .oliva-tour-location-panel figure,
.oliva-minimal-page .oliva-about-image-card,
.oliva-minimal-page .oliva-about-philosophy figure,
.oliva-minimal-page .oliva-contact-map-card,
.oliva-minimal-page .oliva-contact-location-strip figure {
  border-radius: 24px !important;
  border: 1px solid var(--oliva-minimal-line) !important;
  box-shadow: none !important;
  background: rgba(8,12,8,.24) !important;
}

.oliva-minimal-page .oliva-home-features article,
.oliva-minimal-page .oliva-home-featured-menu article,
.oliva-minimal-page .oliva-about-values article,
.oliva-minimal-page .oliva-contact-detail-grid article,
.oliva-minimal-page .oliva-reservation-meta-grid div {
  border: 1px solid var(--oliva-minimal-line) !important;
  border-radius: 18px !important;
  background: rgba(255,246,232,.035) !important;
  box-shadow: none !important;
}

.oliva-minimal-page .oliva-home-facts {
  border-radius: 18px !important;
  background: rgba(10,16,10,.58) !important;
  box-shadow: none !important;
}

.oliva-minimal-page .oliva-tour-placeholder,
.oliva-minimal-page .oliva-contact-map-fallback {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.oliva-minimal-page .oliva-reservation-mobile-bar,
.oliva-minimal-page .oliva-tour-mobile-bar,
.oliva-minimal-page .oliva-about-mobile-bar,
.oliva-minimal-page .oliva-contact-mobile-bar,
.oliva-minimal-page .oliva-home-mobile-bar {
  border: 1px solid rgba(255,246,232,.16) !important;
  background: rgba(12,18,13,.90) !important;
  box-shadow: 0 14px 32px rgba(0,0,0,.28) !important;
}

.oliva-menu-plugin .oliva-menu-content {
  border-radius: 24px !important;
  border-color: rgba(33,49,29,.24) !important;
  background: rgba(255,253,247,.96) !important;
  box-shadow: 0 20px 54px rgba(0,0,0,.14) !important;
}

.oliva-menu-plugin .oliva-menu-section,
.oliva-menu-plugin .oliva-menu-item,
.oliva-menu-plugin .oliva-menu-nav {
  box-shadow: none !important;
  background: rgba(255,254,250,.66) !important;
}

.oliva-menu-plugin .oliva-menu-item-name,
.oliva-menu-plugin .oliva-menu-section-title {
  text-transform: none !important;
  letter-spacing: .02em !important;
}

@media (max-width: 820px) {
  .oliva-minimal-page .oliva-home-hero,
  .oliva-minimal-page .oliva-reservation-hero,
  .oliva-minimal-page .oliva-tour-hero,
  .oliva-minimal-page .oliva-about-hero,
  .oliva-minimal-page .oliva-contact-hero {
    min-height: 72vh !important;
  }

  .oliva-minimal-page .oliva-home-shell,
  .oliva-minimal-page .oliva-reservation-content,
  .oliva-minimal-page .oliva-tour-content,
  .oliva-minimal-page .oliva-about-content,
  .oliva-minimal-page .oliva-contact-content,
  .oliva-minimal-page .oliva-reservation-hero-inner,
  .oliva-minimal-page .oliva-tour-hero-inner,
  .oliva-minimal-page .oliva-about-hero-inner,
  .oliva-minimal-page .oliva-contact-hero-inner {
    width: min(100% - 24px, 1180px) !important;
  }

  .oliva-minimal-page .oliva-home-hero-inner h1,
  .oliva-minimal-page .oliva-reservation-hero-copy h1,
  .oliva-minimal-page .oliva-tour-hero-copy h1,
  .oliva-minimal-page .oliva-about-hero-copy h1,
  .oliva-minimal-page .oliva-contact-hero-copy h1 {
    font-size: clamp(34px, 9.8vw, 52px) !important;
  }

  .oliva-minimal-page .oliva-home-intro,
  .oliva-minimal-page .oliva-home-menu-panel,
  .oliva-minimal-page .oliva-home-split-cta,
  .oliva-minimal-page .oliva-reservation-booking-panel,
  .oliva-minimal-page .oliva-reservation-transport-panel,
  .oliva-minimal-page .oliva-tour-experience-panel,
  .oliva-minimal-page .oliva-tour-location-panel,
  .oliva-minimal-page .oliva-about-story-grid,
  .oliva-minimal-page .oliva-about-philosophy,
  .oliva-minimal-page .oliva-about-cta,
  .oliva-minimal-page .oliva-contact-main-grid,
  .oliva-minimal-page .oliva-contact-form-map-grid,
  .oliva-minimal-page .oliva-contact-location-strip {
    border-radius: 22px !important;
  }
}


/* Oliva homepage refresh v1.14.0 */
.oliva-home-v114 {
  --oliva-home-max: 1210px;
  --oliva-home-cream: #fff8e8;
  --oliva-home-soft: rgba(255, 248, 232, .76);
  --oliva-home-soft-2: rgba(255, 248, 232, .58);
  --oliva-home-card: rgba(255, 248, 232, .055);
  --oliva-home-card-2: rgba(255, 248, 232, .088);
  --oliva-home-stroke: rgba(255, 248, 232, .16);
  --oliva-home-accent: #b99a63;
  background: #10160e;
}

.oliva-home-v114 .oliva-home-shell {
  width: min(var(--oliva-home-max), calc(100% - 42px));
}

.oliva-home-v114 .oliva-home-hero-refresh {
  min-height: clamp(720px, 94vh, 1040px);
}

.oliva-home-v114 .oliva-home-hero h1 {
  max-width: 900px;
  font-size: clamp(48px, 7.2vw, 106px);
  letter-spacing: -.015em;
}

.oliva-home-v114 .oliva-home-hero-text {
  max-width: 720px;
}

.oliva-home-v114 .oliva-home-flow {
  padding-top: clamp(62px, 8vw, 128px);
  background:
    radial-gradient(ellipse at 8% 8%, rgba(185, 154, 99, .14), transparent 32%),
    radial-gradient(ellipse at 90% 44%, rgba(255, 248, 232, .08), transparent 34%),
    linear-gradient(180deg, #10160e, #1a2217 38%, #0f150d 100%);
}

.oliva-home-v114 h2,
.oliva-home-v114 h3,
.oliva-home-v114 p {
  margin-top: 0;
}

.oliva-home-v114 .oliva-home-story,
.oliva-home-v114 .oliva-home-editorial,
.oliva-home-v114 .oliva-home-a-la-carte,
.oliva-home-v114 .oliva-home-chef-choice,
.oliva-home-v114 .oliva-home-experience-panel,
.oliva-home-v114 .oliva-home-gallery-panel,
.oliva-home-v114 .oliva-home-reservation-grid {
  margin-bottom: clamp(42px, 7vw, 108px);
}

.oliva-home-v114 .oliva-home-story,
.oliva-home-v114 .oliva-home-editorial,
.oliva-home-v114 .oliva-home-experience-panel {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(360px, 1.08fr);
  gap: clamp(24px, 5vw, 78px);
  align-items: center;
}

.oliva-home-v114 .oliva-home-story-copy,
.oliva-home-v114 .oliva-home-editorial-copy,
.oliva-home-v114 .oliva-home-section-head,
.oliva-home-v114 .oliva-home-chef-copy,
.oliva-home-v114 .oliva-home-experience-panel > div,
.oliva-home-v114 .oliva-home-booking-card > div {
  min-width: 0;
}

.oliva-home-v114 .oliva-home-story-copy h2,
.oliva-home-v114 .oliva-home-editorial-copy h2,
.oliva-home-v114 .oliva-home-section-head h2,
.oliva-home-v114 .oliva-home-chef-copy h2,
.oliva-home-v114 .oliva-home-experience-panel h2,
.oliva-home-v114 .oliva-home-booking-card h2 {
  max-width: 760px;
  margin-bottom: 18px;
  color: var(--oliva-home-cream);
  font-size: clamp(34px, 4.8vw, 70px);
  font-weight: 700;
  letter-spacing: -.014em;
  line-height: 1.02;
  text-wrap: balance;
}

.oliva-home-v114 .oliva-home-story-copy p:not(.oliva-home-section-kicker),
.oliva-home-v114 .oliva-home-editorial-copy > p,
.oliva-home-v114 .oliva-home-section-head > p,
.oliva-home-v114 .oliva-home-chef-copy > p,
.oliva-home-v114 .oliva-home-experience-panel > div > p,
.oliva-home-v114 .oliva-home-booking-card > div > p {
  max-width: 690px;
  color: var(--oliva-home-soft);
  font-size: clamp(15.8px, 1.2vw, 18.5px);
  line-height: 1.75;
}

.oliva-home-v114 .oliva-home-photo {
  position: relative;
  display: block;
  margin: 0;
  border: 1px solid var(--oliva-home-stroke);
  border-radius: clamp(22px, 3vw, 36px);
  background: #182015;
  box-shadow: 0 34px 92px rgba(0, 0, 0, .28);
  overflow: hidden;
}

.oliva-home-v114 .oliva-home-photo img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  object-position: center;
  filter: saturate(.94) contrast(1.04);
  transform: scale(1.002);
}

.oliva-home-v114 .oliva-home-photo-tall {
  min-height: clamp(460px, 58vw, 720px);
}

.oliva-home-v114 .oliva-home-photo-wide {
  min-height: clamp(390px, 42vw, 590px);
}

.oliva-home-v114 .oliva-home-photo-banner {
  min-height: clamp(300px, 35vw, 520px);
}

.oliva-home-v114 .oliva-home-feature-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: clamp(42px, 7vw, 108px);
}

.oliva-home-v114 .oliva-home-feature-strip article {
  padding: clamp(20px, 2.3vw, 34px);
  border: 1px solid var(--oliva-home-stroke);
  border-radius: 26px;
  background: linear-gradient(180deg, rgba(255, 248, 232, .075), rgba(255, 248, 232, .035));
}

.oliva-home-v114 .oliva-home-feature-strip span {
  display: block;
  margin-bottom: 18px;
  color: var(--oliva-home-accent);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .18em;
}

.oliva-home-v114 .oliva-home-feature-strip h3 {
  margin-bottom: 10px;
  color: var(--oliva-home-cream);
  font-size: clamp(20px, 1.8vw, 28px);
  line-height: 1.12;
}

.oliva-home-v114 .oliva-home-feature-strip p {
  margin-bottom: 0;
  color: var(--oliva-home-soft-2);
  font-size: 14.5px;
  line-height: 1.62;
}

.oliva-home-v114 .oliva-home-recommendations {
  grid-template-columns: minmax(360px, 1.05fr) minmax(0, .95fr);
}

.oliva-home-v114 .oliva-home-dish-lines {
  display: grid;
  gap: 0;
  margin-top: 28px;
  border-top: 1px solid var(--oliva-home-stroke);
}

.oliva-home-v114 .oliva-home-dish-lines article {
  padding: 16px 0;
  border-bottom: 1px solid var(--oliva-home-stroke);
}

.oliva-home-v114 .oliva-home-dish-lines h3 {
  margin: 0 0 6px;
  color: var(--oliva-home-cream);
  font-size: 16px;
  font-weight: 900;
  letter-spacing: .08em;
  line-height: 1.22;
  text-transform: uppercase;
}

.oliva-home-v114 .oliva-home-dish-lines p {
  margin: 0;
  color: var(--oliva-home-soft-2);
  font-size: 14px;
  line-height: 1.52;
}

.oliva-home-v114 .oliva-home-a-la-carte {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(360px, 1.18fr);
  gap: clamp(22px, 5vw, 74px);
  align-items: center;
  padding: clamp(24px, 4vw, 56px);
  border: 1px solid var(--oliva-home-stroke);
  border-radius: clamp(28px, 4vw, 46px);
  background:
    radial-gradient(ellipse at 90% 5%, rgba(185, 154, 99, .14), transparent 36%),
    rgba(255, 248, 232, .045);
}

.oliva-home-v114 .oliva-home-section-head .oliva-home-button {
  margin-top: 12px;
}

.oliva-home-v114 .oliva-home-chef-choice {
  display: grid;
  grid-template-columns: minmax(0, .75fr) minmax(480px, 1.25fr);
  gap: clamp(26px, 5vw, 82px);
  align-items: center;
}

.oliva-home-v114 .oliva-home-chef-images {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-auto-rows: minmax(210px, 1fr);
  gap: 14px;
}

.oliva-home-v114 .oliva-home-chef-images .oliva-home-photo:first-child {
  grid-row: span 2;
  min-height: 520px;
}

.oliva-home-v114 .oliva-home-chef-images .oliva-home-photo:not(:first-child) {
  min-height: 250px;
}

.oliva-home-v114 .oliva-home-experience-panel {
  grid-template-columns: minmax(360px, .9fr) minmax(0, 1.1fr);
  padding: clamp(24px, 4vw, 54px);
  border: 1px solid var(--oliva-home-stroke);
  border-radius: clamp(28px, 4vw, 46px);
  background: rgba(255, 248, 232, .045);
}

.oliva-home-v114 .oliva-home-location-mini {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  gap: 18px;
  align-items: stretch;
  margin-top: 28px;
  padding: 14px;
  border: 1px solid var(--oliva-home-stroke);
  border-radius: 24px;
  background: rgba(255, 248, 232, .055);
}

.oliva-home-v114 .oliva-home-location-mini img {
  width: 100%;
  height: 100%;
  min-height: 210px;
  border-radius: 18px;
  object-fit: cover;
}

.oliva-home-v114 .oliva-home-location-mini h3 {
  margin: 4px 0 8px;
  color: var(--oliva-home-cream);
  font-size: 22px;
}

.oliva-home-v114 .oliva-home-location-mini p {
  color: var(--oliva-home-soft-2);
  font-size: 14.5px;
  line-height: 1.62;
}

.oliva-home-v114 .oliva-home-section-head-center {
  width: min(820px, 100%);
  margin: 0 auto 28px;
  text-align: center;
}

.oliva-home-v114 .oliva-home-section-head-center p:not(.oliva-home-section-kicker) {
  margin-right: auto;
  margin-left: auto;
}

.oliva-home-v114 .oliva-home-gallery-grid {
  display: grid;
  grid-template-columns: 1.05fr .78fr 1.05fr;
  gap: 14px;
  align-items: stretch;
}

.oliva-home-v114 .oliva-home-gallery-grid .oliva-home-photo {
  min-height: 320px;
}

.oliva-home-v114 .oliva-home-gallery-grid .oliva-home-photo:nth-child(2) {
  min-height: 420px;
}

.oliva-home-v114 .oliva-home-gallery-grid .oliva-home-photo:nth-child(4) {
  grid-column: 1 / -1;
  min-height: 340px;
}

.oliva-home-v114 .oliva-home-reservation-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.oliva-home-v114 .oliva-home-booking-card {
  display: grid;
  grid-template-rows: minmax(260px, .72fr) auto;
  min-height: 100%;
  border: 1px solid var(--oliva-home-stroke);
  border-radius: clamp(28px, 4vw, 44px);
  background: linear-gradient(180deg, rgba(255, 248, 232, .072), rgba(255, 248, 232, .038));
  overflow: hidden;
}

.oliva-home-v114 .oliva-home-booking-card .oliva-home-photo {
  border: 0;
  border-radius: 0;
  min-height: 300px;
  box-shadow: none;
}

.oliva-home-v114 .oliva-home-booking-card > div {
  padding: clamp(22px, 3vw, 38px);
}

.oliva-home-v114 .oliva-home-booking-card h2 {
  font-size: clamp(30px, 3.4vw, 52px);
}

.oliva-home-v114 .oliva-home-footer-note {
  width: min(var(--oliva-home-max), calc(100% - 42px));
}

.wp-admin .oliva-home-v114 .oliva-home-hero-refresh {
  min-height: 680px;
}

@media (max-width: 1080px) {
  .oliva-home-v114 .oliva-home-story,
  .oliva-home-v114 .oliva-home-editorial,
  .oliva-home-v114 .oliva-home-a-la-carte,
  .oliva-home-v114 .oliva-home-chef-choice,
  .oliva-home-v114 .oliva-home-experience-panel,
  .oliva-home-v114 .oliva-home-reservation-grid {
    grid-template-columns: 1fr;
  }

  .oliva-home-v114 .oliva-home-recommendations .oliva-home-photo {
    order: 2;
  }

  .oliva-home-v114 .oliva-home-feature-strip {
    grid-template-columns: 1fr;
  }

  .oliva-home-v114 .oliva-home-chef-images {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .oliva-home-v114 .oliva-home-chef-images .oliva-home-photo:first-child {
    grid-row: auto;
    min-height: 310px;
  }

  .oliva-home-v114 .oliva-home-chef-images .oliva-home-photo:not(:first-child) {
    min-height: 310px;
  }
}

@media (max-width: 760px) {
  .oliva-home-v114 .oliva-home-shell {
    width: min(100% - 24px, var(--oliva-home-max));
  }

  .oliva-home-v114 .oliva-home-hero-refresh {
    min-height: 92svh;
  }

  .oliva-home-v114 .oliva-home-hero h1 {
    font-size: clamp(38px, 11.6vw, 58px);
  }

  .oliva-home-v114 .oliva-home-flow {
    padding-top: 38px;
  }

  .oliva-home-v114 .oliva-home-story,
  .oliva-home-v114 .oliva-home-editorial,
  .oliva-home-v114 .oliva-home-a-la-carte,
  .oliva-home-v114 .oliva-home-chef-choice,
  .oliva-home-v114 .oliva-home-experience-panel,
  .oliva-home-v114 .oliva-home-gallery-panel,
  .oliva-home-v114 .oliva-home-reservation-grid {
    margin-bottom: 36px;
  }

  .oliva-home-v114 .oliva-home-story-copy h2,
  .oliva-home-v114 .oliva-home-editorial-copy h2,
  .oliva-home-v114 .oliva-home-section-head h2,
  .oliva-home-v114 .oliva-home-chef-copy h2,
  .oliva-home-v114 .oliva-home-experience-panel h2,
  .oliva-home-v114 .oliva-home-booking-card h2 {
    font-size: clamp(28px, 8.5vw, 40px);
    line-height: 1.08;
  }

  .oliva-home-v114 .oliva-home-photo-tall,
  .oliva-home-v114 .oliva-home-photo-wide,
  .oliva-home-v114 .oliva-home-photo-banner,
  .oliva-home-v114 .oliva-home-chef-images .oliva-home-photo,
  .oliva-home-v114 .oliva-home-chef-images .oliva-home-photo:first-child,
  .oliva-home-v114 .oliva-home-chef-images .oliva-home-photo:not(:first-child),
  .oliva-home-v114 .oliva-home-gallery-grid .oliva-home-photo,
  .oliva-home-v114 .oliva-home-gallery-grid .oliva-home-photo:nth-child(2),
  .oliva-home-v114 .oliva-home-gallery-grid .oliva-home-photo:nth-child(4),
  .oliva-home-v114 .oliva-home-booking-card .oliva-home-photo {
    min-height: 255px;
  }

  .oliva-home-v114 .oliva-home-a-la-carte,
  .oliva-home-v114 .oliva-home-experience-panel {
    padding: 16px;
    border-radius: 26px;
  }

  .oliva-home-v114 .oliva-home-chef-images,
  .oliva-home-v114 .oliva-home-gallery-grid {
    grid-template-columns: 1fr;
  }

  .oliva-home-v114 .oliva-home-gallery-grid .oliva-home-photo:nth-child(4) {
    grid-column: auto;
  }

  .oliva-home-v114 .oliva-home-location-mini {
    grid-template-columns: 1fr;
    padding: 12px;
  }

  .oliva-home-v114 .oliva-home-location-mini img {
    min-height: 210px;
  }

  .oliva-home-v114 .oliva-home-booking-card {
    grid-template-rows: auto auto;
    border-radius: 26px;
  }

  .oliva-home-v114 .oliva-home-booking-card > div {
    padding: 20px 16px;
  }
}

/* Oliva v1.15.0 base · Minimal photographic refresh across managed pages */
.oliva-v115-page {
  --oliva-v115-bg: #0d120d;
  --oliva-v115-bg-2: #151b14;
  --oliva-v115-ink: #fff8ea;
  --oliva-v115-soft: rgba(255, 248, 232, .78);
  --oliva-v115-muted: rgba(255, 248, 232, .60);
  --oliva-v115-line: rgba(238, 215, 168, .20);
  --oliva-v115-gold: #d8bd78;
  --oliva-v115-paper: rgba(255, 248, 232, .055);
  --oliva-v115-paper-strong: rgba(255, 248, 232, .092);
  --oliva-v115-radius: clamp(22px, 3vw, 42px);
  --oliva-v115-max: 1180px;
  position: relative;
  overflow-x: hidden;
  isolation: isolate;
  color: var(--oliva-v115-ink);
  background:
    radial-gradient(circle at 15% 10%, rgba(216, 189, 120, .11), transparent 32%),
    linear-gradient(180deg, #0b100b 0%, #121812 48%, #0b100b 100%);
  font-family: inherit;
}

.oliva-v115-page *,
.oliva-v115-page *::before,
.oliva-v115-page *::after {
  box-sizing: border-box;
}

.oliva-v115-page img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.oliva-v115-page a {
  color: inherit;
}

.oliva-v115-container,
.oliva-v115-main,
.oliva-v115-section {
  width: min(var(--oliva-v115-max), calc(100% - 48px));
  margin-inline: auto;
}

.oliva-v115-hero {
  position: relative;
  min-height: clamp(620px, 86svh, 820px);
  display: grid;
  align-items: end;
  padding: clamp(118px, 12vw, 190px) 0 clamp(54px, 7vw, 92px);
  overflow: hidden;
  background: #080c08;
}

.oliva-v115-hero-home {
  min-height: clamp(680px, 92svh, 920px);
}

.oliva-v115-hero-media,
.oliva-v115-hero-shade {
  position: absolute;
  inset: 0;
}

.oliva-v115-hero-media img {
  filter: saturate(.94) contrast(1.06);
  transform: scale(1.012);
}

.oliva-v115-hero-shade {
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(5, 8, 5, .90) 0%, rgba(5, 8, 5, .58) 43%, rgba(5, 8, 5, .22) 100%),
    linear-gradient(180deg, rgba(5, 8, 5, .40) 0%, rgba(5, 8, 5, .42) 55%, rgba(5, 8, 5, .88) 100%);
}

.oliva-v115-hero-copy {
  position: relative;
  z-index: 2;
  max-width: 760px;
}

.oliva-v115-eyebrow,
.oliva-v115-kicker {
  margin: 0 0 14px;
  color: var(--oliva-v115-gold);
  font-size: 12px;
  line-height: 1.35;
  letter-spacing: .20em;
  text-transform: uppercase;
  font-weight: 700;
}

.oliva-v115-page h1,
.oliva-v115-page h2,
.oliva-v115-page h3 {
  color: var(--oliva-v115-ink);
  margin-top: 0;
  letter-spacing: -.045em;
  font-weight: 500;
}

.oliva-v115-page h1 {
  max-width: 900px;
  margin-bottom: 22px;
  font-size: clamp(46px, 7vw, 94px);
  line-height: .94;
}

.oliva-v115-page h2 {
  margin-bottom: 18px;
  font-size: clamp(32px, 4vw, 62px);
  line-height: 1.02;
}

.oliva-v115-page h3 {
  margin-bottom: 10px;
  font-size: clamp(20px, 2vw, 28px);
  line-height: 1.12;
}

.oliva-v115-page p {
  color: var(--oliva-v115-soft);
  font-size: clamp(15.5px, 1.15vw, 18px);
  line-height: 1.72;
}

.oliva-v115-lead {
  max-width: 640px;
  margin: 0 0 30px;
  color: rgba(255, 248, 232, .86);
  font-size: clamp(18px, 1.7vw, 24px);
  line-height: 1.55;
}

.oliva-v115-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.oliva-v115-actions.compact {
  margin-top: 24px;
}

.oliva-v115-page :is(.oliva-home-button,.oliva-reservation-button,.oliva-tour-button,.oliva-about-button,.oliva-contact-button) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 14px 20px;
  border-radius: 999px;
  border: 1px solid rgba(216, 189, 120, .34);
  background: rgba(255, 248, 232, .06);
  color: var(--oliva-v115-ink);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .13em;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  box-shadow: none;
  transition: transform .22s ease, border-color .22s ease, background .22s ease;
}

.oliva-v115-page :is(.oliva-home-button-primary,.oliva-reservation-button-primary,.oliva-tour-button-primary,.oliva-about-button-primary,.oliva-contact-button-primary) {
  background: var(--oliva-v115-gold);
  border-color: var(--oliva-v115-gold);
  color: #11160f;
}

.oliva-v115-page :is(.oliva-home-button:hover,.oliva-reservation-button:hover,.oliva-tour-button:hover,.oliva-about-button:hover,.oliva-contact-button:hover) {
  transform: translateY(-1px);
  border-color: rgba(255, 248, 232, .54);
  background: rgba(255, 248, 232, .11);
}

.oliva-v115-page :is(.oliva-home-button-primary:hover,.oliva-reservation-button-primary:hover,.oliva-tour-button-primary:hover,.oliva-about-button-primary:hover,.oliva-contact-button-primary:hover) {
  background: #e3c980;
  color: #11160f;
}

.oliva-v115-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 34px;
}

.oliva-v115-facts > * {
  padding: 10px 14px;
  border: 1px solid rgba(255, 248, 232, .18);
  border-radius: 999px;
  background: rgba(0, 0, 0, .22);
  color: rgba(255, 248, 232, .78);
  font-size: 12px;
  letter-spacing: .05em;
  text-decoration: none;
}

.oliva-v115-main {
  padding: clamp(52px, 7vw, 96px) 0 clamp(74px, 8vw, 120px);
}

.oliva-v115-section {
  margin-bottom: clamp(52px, 7vw, 104px);
}

.oliva-v115-section:last-child {
  margin-bottom: 0;
}

.oliva-v115-split {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  gap: clamp(24px, 4.2vw, 72px);
  align-items: center;
}

.oliva-v115-split-reverse {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
}

.oliva-v115-copy {
  max-width: 610px;
}

.oliva-v115-copy-centered {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}

.oliva-v115-copy-narrow {
  max-width: 760px;
  margin-inline: auto;
  text-align: center;
}

.oliva-v115-image {
  position: relative;
  min-height: clamp(320px, 40vw, 560px);
  margin: 0;
  overflow: hidden;
  border-radius: var(--oliva-v115-radius);
  background: rgba(255, 248, 232, .04);
  border: 1px solid rgba(255, 248, 232, .12);
  box-shadow: 0 28px 90px rgba(0, 0, 0, .28);
}

.oliva-v115-image::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, transparent 55%, rgba(0, 0, 0, .28));
}

.oliva-v115-image-tall {
  min-height: clamp(420px, 54vw, 680px);
}

.oliva-v115-image-wide {
  width: min(980px, 100%);
  min-height: clamp(300px, 39vw, 520px);
  margin: 34px auto 0;
}

.oliva-v115-photo-band {
  padding: clamp(28px, 4vw, 58px);
  border: 1px solid var(--oliva-v115-line);
  border-radius: var(--oliva-v115-radius);
  background: linear-gradient(180deg, rgba(255, 248, 232, .065), rgba(255, 248, 232, .026));
}

.oliva-v115-dish-lines {
  margin-top: 26px;
  border-top: 1px solid var(--oliva-v115-line);
}

.oliva-v115-dish-lines article {
  padding: 18px 0;
  border-bottom: 1px solid var(--oliva-v115-line);
}

.oliva-v115-dish-lines h3 {
  margin: 0 0 6px;
  font-size: clamp(18px, 1.7vw, 24px);
  letter-spacing: -.025em;
}

.oliva-v115-dish-lines p {
  margin: 0;
  color: var(--oliva-v115-muted);
  font-size: 14.5px;
  line-height: 1.55;
}

.oliva-v115-mosaic {
  display: grid;
  grid-template-columns: 1.1fr .9fr 1.1fr;
  gap: 14px;
  margin-top: clamp(24px, 4vw, 48px);
}

.oliva-v115-mosaic .oliva-v115-image {
  min-height: clamp(260px, 32vw, 470px);
}

.oliva-v115-mosaic .oliva-v115-image:nth-child(2) {
  transform: translateY(34px);
}

.oliva-v115-location-card {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 18px;
  align-items: center;
  margin-top: 28px;
  padding: 14px;
  border: 1px solid var(--oliva-v115-line);
  border-radius: 26px;
  background: rgba(255, 248, 232, .045);
}

.oliva-v115-location-card img {
  min-height: 150px;
  border-radius: 20px;
}

.oliva-v115-location-card h3,
.oliva-v115-location-card p {
  margin-bottom: 8px;
}

.oliva-v115-booking-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.oliva-v115-booking-card {
  display: grid;
  grid-template-rows: minmax(260px, .72fr) auto;
  overflow: hidden;
  border-radius: var(--oliva-v115-radius);
  border: 1px solid var(--oliva-v115-line);
  background: rgba(255, 248, 232, .045);
}

.oliva-v115-booking-card .oliva-v115-image {
  min-height: 300px;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.oliva-v115-booking-card > div {
  padding: clamp(22px, 3vw, 38px);
}

.oliva-v115-image-rail {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.oliva-v115-image-rail .oliva-v115-image {
  min-height: clamp(220px, 24vw, 360px);
  border-radius: clamp(18px, 2vw, 30px);
}

.oliva-v115-info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.oliva-v115-section.oliva-v115-info-grid.oliva-v115-three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.oliva-v115-info-grid article {
  min-height: 100%;
  padding: clamp(20px, 2.5vw, 30px);
  border: 1px solid var(--oliva-v115-line);
  border-radius: clamp(20px, 2vw, 30px);
  background: rgba(255, 248, 232, .045);
}

.oliva-v115-info-grid span,
.oliva-v115-founded span {
  display: block;
  margin-bottom: 10px;
  color: var(--oliva-v115-gold);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .16em;
  font-weight: 800;
}

.oliva-v115-info-grid strong {
  display: block;
  color: var(--oliva-v115-ink);
  font-size: clamp(17px, 1.5vw, 22px);
  line-height: 1.35;
  font-weight: 500;
}

.oliva-v115-info-grid p {
  margin: 8px 0 0;
  color: var(--oliva-v115-muted);
  font-size: 14.5px;
  line-height: 1.62;
}

.oliva-v115-founded {
  display: inline-flex;
  gap: 14px;
  align-items: baseline;
  margin-top: 28px;
  padding: 13px 18px;
  border: 1px solid rgba(255, 248, 232, .18);
  border-radius: 999px;
  background: rgba(0, 0, 0, .24);
}

.oliva-v115-founded span {
  margin: 0;
}

.oliva-v115-founded strong {
  color: var(--oliva-v115-ink);
  font-size: 24px;
  line-height: 1;
}

.oliva-v115-note {
  margin-top: 22px;
  padding: 18px;
  border-left: 1px solid var(--oliva-v115-gold);
  background: rgba(216, 189, 120, .075);
  color: var(--oliva-v115-soft);
}

.oliva-v115-note p {
  margin: 8px 0 0;
}

.oliva-v115-embed-card {
  overflow: hidden;
  min-height: clamp(420px, 48vw, 620px);
  border: 1px solid var(--oliva-v115-line);
  border-radius: var(--oliva-v115-radius);
  background: #090d09;
  box-shadow: 0 28px 90px rgba(0, 0, 0, .28);
}

.oliva-v115-embed-card iframe,
.oliva-v115-embed-card > iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: clamp(420px, 48vw, 620px);
  border: 0;
}

.oliva-v115-map-card,
.oliva-v115-map-fallback {
  min-height: 100%;
}

.oliva-v115-map-fallback {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(26px, 4vw, 46px);
  border: 1px solid var(--oliva-v115-line);
  border-radius: var(--oliva-v115-radius);
  background: rgba(255, 248, 232, .045);
}

.oliva-v115-form-slot {
  margin-top: 24px;
}

.oliva-v115-form-slot :is(input, textarea, select) {
  width: 100%;
  border: 1px solid rgba(255, 248, 232, .22);
  border-radius: 18px;
  background: rgba(255, 248, 232, .06);
  color: var(--oliva-v115-ink);
  padding: 13px 14px;
}

.oliva-v115-form-slot :is(input, textarea, select)::placeholder {
  color: rgba(255, 248, 232, .52);
}

.oliva-v115-cta-panel {
  padding: clamp(32px, 5vw, 70px);
  border: 1px solid var(--oliva-v115-line);
  border-radius: var(--oliva-v115-radius);
  background:
    linear-gradient(135deg, rgba(216, 189, 120, .11), transparent 42%),
    rgba(255, 248, 232, .045);
}

.oliva-v115-cta-panel .oliva-v115-actions,
.oliva-v115-copy-centered .oliva-v115-actions {
  justify-content: center;
}

.oliva-v115-mobile-bar {
  display: none;
}

.wp-admin .oliva-v115-page {
  border-radius: 22px;
  overflow: hidden;
}

.wp-admin .oliva-v115-hero {
  min-height: 620px;
}

@media (max-width: 1080px) {
  .oliva-v115-split,
  .oliva-v115-split-reverse,
  .oliva-v115-booking-grid,
  .oliva-v115-info-grid,
  .oliva-v115-section.oliva-v115-info-grid.oliva-v115-three {
    grid-template-columns: 1fr;
  }

  .oliva-v115-mosaic,
  .oliva-v115-image-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .oliva-v115-mosaic .oliva-v115-image:nth-child(2) {
    transform: none;
  }
}

@media (max-width: 760px) {
  .oliva-v115-container,
  .oliva-v115-main,
  .oliva-v115-section {
    width: min(100% - 24px, var(--oliva-v115-max));
  }

  .oliva-v115-hero,
  .oliva-v115-hero-home {
    min-height: 86svh;
    padding: 112px 0 64px;
  }

  .oliva-v115-hero-shade {
    background:
      linear-gradient(180deg, rgba(5, 8, 5, .42) 0%, rgba(5, 8, 5, .52) 38%, rgba(5, 8, 5, .93) 100%),
      linear-gradient(90deg, rgba(5, 8, 5, .82), rgba(5, 8, 5, .36));
  }

  .oliva-v115-page h1 {
    font-size: clamp(40px, 12vw, 58px);
    line-height: .98;
  }

  .oliva-v115-page h2 {
    font-size: clamp(30px, 9vw, 42px);
  }

  .oliva-v115-lead {
    font-size: 17px;
  }

  .oliva-v115-actions {
    gap: 9px;
  }

  .oliva-v115-page :is(.oliva-home-button,.oliva-reservation-button,.oliva-tour-button,.oliva-about-button,.oliva-contact-button) {
    min-height: 46px;
    padding: 13px 15px;
    font-size: 10px;
    letter-spacing: .11em;
  }

  .oliva-v115-facts {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .oliva-v115-main {
    padding: 42px 0 92px;
  }

  .oliva-v115-section {
    margin-bottom: 42px;
  }

  .oliva-v115-image,
  .oliva-v115-image-tall,
  .oliva-v115-image-wide,
  .oliva-v115-booking-card .oliva-v115-image,
  .oliva-v115-image-rail .oliva-v115-image,
  .oliva-v115-mosaic .oliva-v115-image {
    min-height: 260px;
    border-radius: 24px;
  }

  .oliva-v115-photo-band,
  .oliva-v115-cta-panel {
    padding: 20px;
    border-radius: 26px;
  }

  .oliva-v115-mosaic,
  .oliva-v115-image-rail {
    grid-template-columns: 1fr;
  }

  .oliva-v115-location-card {
    grid-template-columns: 1fr;
  }

  .oliva-v115-location-card img {
    min-height: 220px;
  }

  .oliva-v115-info-grid article,
  .oliva-v115-booking-card > div {
    padding: 20px;
  }

  .oliva-v115-embed-card,
  .oliva-v115-embed-card iframe,
  .oliva-v115-embed-card > iframe {
    min-height: 420px;
  }

  .oliva-v115-mobile-bar {
    position: fixed;
    z-index: 9999;
    right: 10px;
    bottom: calc(10px + env(safe-area-inset-bottom, 0px));
    left: 10px;
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
    gap: 1px;
    overflow: hidden;
    border: 1px solid rgba(216, 189, 120, .30);
    border-radius: 999px;
    background: rgba(10, 14, 10, .90);
    box-shadow: 0 16px 48px rgba(0, 0, 0, .38);
    backdrop-filter: blur(16px);
  }

  .oliva-v115-mobile-bar a {
    display: flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    padding: 0 6px;
    color: var(--oliva-v115-ink);
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: 10px;
    font-weight: 800;
  }
}

@media (prefers-reduced-motion: reduce) {
  .oliva-v115-page *,
  .oliva-v115-page *::before,
  .oliva-v115-page *::after {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}

/* Oliva v1.17.0 · disciplined premium refinement */
.oliva-v116-page {
  --oliva-v115-bg: #090d09;
  --oliva-v115-bg-2: #111710;
  --oliva-v115-ink: #fff9ee;
  --oliva-v115-soft: rgba(255, 249, 238, .80);
  --oliva-v115-muted: rgba(255, 249, 238, .62);
  --oliva-v115-line: rgba(225, 205, 156, .16);
  --oliva-v115-gold: #d6be7a;
  --oliva-v115-radius: clamp(18px, 2.2vw, 34px);
  --oliva-v115-max: 1220px;
  background:
    radial-gradient(circle at 88% 7%, rgba(214, 190, 122, .09), transparent 31%),
    radial-gradient(circle at 10% 44%, rgba(85, 112, 69, .12), transparent 33%),
    linear-gradient(180deg, #090d09 0%, #12180f 44%, #080c08 100%);
}

.oliva-v116-page .oliva-v115-container,
.oliva-v116-page .oliva-v115-main,
.oliva-v116-page .oliva-v115-section {
  width: min(var(--oliva-v115-max), calc(100% - clamp(32px, 6vw, 82px)));
}

.oliva-v116-page .oliva-v115-hero {
  min-height: clamp(620px, 84svh, 860px);
  padding: clamp(126px, 13vw, 190px) 0 clamp(54px, 7vw, 90px);
}

.oliva-v116-page .oliva-v115-hero-home {
  min-height: clamp(700px, 92svh, 920px);
}

.oliva-v116-page .oliva-v115-hero-media img {
  filter: saturate(.92) contrast(1.08) brightness(.82);
  transform: scale(1.015);
}

.oliva-v116-page .oliva-v115-hero-shade {
  background:
    linear-gradient(90deg, rgba(6, 9, 6, .92) 0%, rgba(6, 9, 6, .64) 46%, rgba(6, 9, 6, .26) 100%),
    linear-gradient(180deg, rgba(6, 9, 6, .24) 0%, rgba(6, 9, 6, .42) 52%, rgba(6, 9, 6, .94) 100%);
}

.oliva-v116-page .oliva-v115-hero-copy {
  max-width: 820px;
}

.oliva-v116-page .oliva-v115-eyebrow,
.oliva-v116-page .oliva-v115-kicker {
  margin-bottom: 12px;
  color: rgba(214, 190, 122, .94);
  letter-spacing: .18em;
  font-size: 11px;
}

.oliva-v116-page h1,
.oliva-v116-page h2,
.oliva-v116-page h3 {
  letter-spacing: -.038em;
  font-weight: 500;
}

.oliva-v116-page h1 {
  max-width: 920px;
  margin-bottom: 20px;
  font-size: clamp(46px, 6.3vw, 92px);
}

.oliva-v116-page h2 {
  max-width: 820px;
  margin-bottom: 16px;
  font-size: clamp(31px, 3.8vw, 60px);
}

.oliva-v116-page p {
  color: var(--oliva-v115-soft);
  line-height: 1.68;
}

.oliva-v116-page .oliva-v115-lead {
  max-width: 650px;
  margin-bottom: 28px;
  color: rgba(255, 249, 238, .84);
}

.oliva-v116-page .oliva-v115-main {
  padding: clamp(64px, 7vw, 108px) 0 clamp(82px, 9vw, 136px);
}

.oliva-v116-page .oliva-v115-section {
  margin-bottom: clamp(64px, 8vw, 118px);
}

.oliva-v116-page .oliva-v115-split,
.oliva-v116-page .oliva-v115-split-reverse {
  gap: clamp(32px, 5.5vw, 88px);
}

.oliva-v116-page .oliva-v115-copy {
  max-width: 620px;
}

.oliva-v116-page .oliva-v115-copy > p:not(.oliva-v115-kicker):not(.oliva-v115-lead) {
  max-width: 590px;
}

.oliva-v116-page .oliva-v115-image {
  min-height: clamp(360px, 42vw, 620px);
  border-color: rgba(255, 249, 238, .10);
  background: rgba(255, 249, 238, .025);
  box-shadow: 0 24px 74px rgba(0, 0, 0, .30);
}

.oliva-v116-page .oliva-v115-image::after {
  background:
    linear-gradient(180deg, rgba(0, 0, 0, .02) 38%, rgba(0, 0, 0, .25)),
    linear-gradient(90deg, rgba(0, 0, 0, .12), transparent 42%);
}

.oliva-v116-page .oliva-v115-image-tall {
  min-height: clamp(470px, 55vw, 720px);
}

.oliva-v116-page .oliva-v115-image-wide {
  width: min(1040px, 100%);
  min-height: clamp(320px, 40vw, 560px);
  margin-top: 38px;
}

.oliva-v116-page .oliva-v115-photo-band,
.oliva-v116-page .oliva-v115-cta-panel,
.oliva-v116-page .oliva-v115-map-fallback,
.oliva-v116-page .oliva-v115-booking-card,
.oliva-v116-page .oliva-v115-info-grid article,
.oliva-v116-page .oliva-v115-location-card {
  border-color: rgba(225, 205, 156, .14);
  background: rgba(255, 249, 238, .032);
  box-shadow: none;
}

.oliva-v116-page .oliva-v115-photo-band {
  padding: clamp(34px, 4.8vw, 66px);
}

.oliva-v116-page .oliva-v115-actions {
  gap: 10px;
}

.oliva-v116-page :is(.oliva-home-button,.oliva-reservation-button,.oliva-tour-button,.oliva-about-button,.oliva-contact-button) {
  min-height: 50px;
  padding: 14px 22px;
  border-color: rgba(214, 190, 122, .30);
  background: rgba(255, 249, 238, .045);
  letter-spacing: .12em;
}

.oliva-v116-page :is(.oliva-home-button-primary,.oliva-reservation-button-primary,.oliva-tour-button-primary,.oliva-about-button-primary,.oliva-contact-button-primary) {
  background: #d6be7a;
  border-color: #d6be7a;
}

.oliva-v116-page :is(.oliva-home-button:hover,.oliva-reservation-button:hover,.oliva-tour-button:hover,.oliva-about-button:hover,.oliva-contact-button:hover),
.oliva-v116-page :is(.oliva-home-button:focus-visible,.oliva-reservation-button:focus-visible,.oliva-tour-button:focus-visible,.oliva-about-button:focus-visible,.oliva-contact-button:focus-visible) {
  outline: 0;
  border-color: rgba(255, 249, 238, .55);
  background: rgba(255, 249, 238, .10);
  transform: translateY(-1px);
}

.oliva-v116-page :is(.oliva-home-button-primary:hover,.oliva-reservation-button-primary:hover,.oliva-tour-button-primary:hover,.oliva-about-button-primary:hover,.oliva-contact-button-primary:hover),
.oliva-v116-page :is(.oliva-home-button-primary:focus-visible,.oliva-reservation-button-primary:focus-visible,.oliva-tour-button-primary:focus-visible,.oliva-about-button-primary:focus-visible,.oliva-contact-button-primary:focus-visible) {
  background: #e2ca86;
  border-color: #e2ca86;
  color: #0f140e;
}

.oliva-v116-page .oliva-v115-facts > * {
  border-color: rgba(255, 249, 238, .15);
  background: rgba(0, 0, 0, .24);
}

.oliva-v116-page .oliva-v115-dish-lines {
  border-top-color: rgba(225, 205, 156, .17);
}

.oliva-v116-page .oliva-v115-dish-lines article {
  padding: 16px 0;
  border-bottom-color: rgba(225, 205, 156, .15);
}

.oliva-v116-page .oliva-v115-dish-lines h3 {
  font-size: clamp(18px, 1.55vw, 23px);
}

.oliva-v116-page .oliva-v115-mosaic {
  gap: clamp(10px, 1.4vw, 18px);
}

.oliva-v116-page .oliva-v115-mosaic .oliva-v115-image:nth-child(2) {
  transform: translateY(clamp(18px, 2.4vw, 30px));
}

.oliva-v116-page .oliva-v115-image-rail {
  gap: clamp(8px, 1.2vw, 14px);
}

.oliva-v116-page .oliva-v115-image-rail .oliva-v115-image {
  min-height: clamp(220px, 23vw, 340px);
}

.oliva-v116-page .oliva-v115-location-card {
  grid-template-columns: 170px 1fr;
  padding: 12px;
}

.oliva-v116-page .oliva-v115-location-card img {
  min-height: 170px;
}

.oliva-v116-page .oliva-v115-booking-grid {
  gap: clamp(16px, 2.2vw, 24px);
}

.oliva-v116-page .oliva-v115-booking-card {
  grid-template-rows: minmax(290px, .76fr) auto;
}

.oliva-v116-page .oliva-v115-info-grid article {
  padding: clamp(22px, 2.6vw, 34px);
}

.oliva-v116-page .oliva-v115-note {
  border-left-color: rgba(214, 190, 122, .72);
  background: rgba(214, 190, 122, .06);
}

.oliva-v116-page .oliva-v115-embed-card {
  border-color: rgba(225, 205, 156, .15);
  box-shadow: 0 24px 74px rgba(0, 0, 0, .26);
}

/* Menu refinement keeps prices hidden and reduces visual noise. */
.oliva-menu-v117 .oliva-menu-content {
  max-width: 1180px;
}

.oliva-menu-v117 .oliva-menu-nav {
  border-color: rgba(54, 77, 49, .22);
  box-shadow: 0 16px 44px rgba(29, 48, 28, .07);
}

.oliva-menu-v117 .oliva-menu-section {
  border-color: rgba(54, 77, 49, .14);
  box-shadow: 0 18px 50px rgba(29, 48, 28, .07);
}

.oliva-menu-v117 .oliva-menu-item {
  padding-block: 14px;
}

.oliva-menu-v117 .oliva-menu-item-name {
  letter-spacing: -.015em;
}

.oliva-menu-v117 .oliva-menu-item-desc {
  max-width: 760px;
}

@media (max-width: 1080px) {
  .oliva-v116-page .oliva-v115-hero-copy {
    max-width: 760px;
  }

  .oliva-v116-page .oliva-v115-section.oliva-v115-info-grid.oliva-v115-three {
    grid-template-columns: 1fr;
  }

  .oliva-v116-page .oliva-v115-info-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .oliva-v116-page .oliva-v115-container,
  .oliva-v116-page .oliva-v115-main,
  .oliva-v116-page .oliva-v115-section {
    width: calc(100% - 26px);
  }

  .oliva-v116-page .oliva-v115-hero,
  .oliva-v116-page .oliva-v115-hero-home {
    min-height: 82svh;
    padding: 104px 0 58px;
  }

  .oliva-v116-page .oliva-v115-hero-shade {
    background:
      linear-gradient(180deg, rgba(6, 9, 6, .38) 0%, rgba(6, 9, 6, .56) 42%, rgba(6, 9, 6, .96) 100%),
      linear-gradient(90deg, rgba(6, 9, 6, .86), rgba(6, 9, 6, .35));
  }

  .oliva-v116-page h1 {
    font-size: clamp(38px, 11vw, 54px);
    line-height: 1;
  }

  .oliva-v116-page h2 {
    font-size: clamp(28px, 8.4vw, 40px);
    line-height: 1.05;
  }

  .oliva-v116-page .oliva-v115-lead {
    font-size: 16.5px;
    line-height: 1.56;
  }

  .oliva-v116-page .oliva-v115-main {
    padding: 46px 0 96px;
  }

  .oliva-v116-page .oliva-v115-section {
    margin-bottom: 48px;
  }

  .oliva-v116-page .oliva-v115-actions {
    align-items: stretch;
  }

  .oliva-v116-page :is(.oliva-home-button,.oliva-reservation-button,.oliva-tour-button,.oliva-about-button,.oliva-contact-button) {
    min-height: 48px;
    flex: 1 1 auto;
    padding: 13px 14px;
    font-size: 10px;
    letter-spacing: .105em;
  }

  .oliva-v116-page .oliva-v115-facts {
    margin-top: 24px;
  }

  .oliva-v116-page .oliva-v115-image,
  .oliva-v116-page .oliva-v115-image-tall,
  .oliva-v116-page .oliva-v115-image-wide,
  .oliva-v116-page .oliva-v115-booking-card .oliva-v115-image,
  .oliva-v116-page .oliva-v115-image-rail .oliva-v115-image,
  .oliva-v116-page .oliva-v115-mosaic .oliva-v115-image {
    min-height: 270px;
    border-radius: 22px;
  }

  .oliva-v116-page .oliva-v115-photo-band,
  .oliva-v116-page .oliva-v115-cta-panel {
    padding: 22px;
    border-radius: 24px;
  }

  .oliva-v116-page .oliva-v115-info-grid {
    grid-template-columns: 1fr;
  }

  .oliva-v116-page .oliva-v115-location-card {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .oliva-v116-page .oliva-v115-location-card img {
    min-height: 220px;
  }

  .oliva-v116-page .oliva-v115-booking-card {
    grid-template-rows: auto auto;
  }

  .oliva-v116-page .oliva-v115-booking-card > div,
  .oliva-v116-page .oliva-v115-info-grid article {
    padding: 20px;
  }

  .oliva-v116-page .oliva-v115-embed-card,
  .oliva-v116-page .oliva-v115-embed-card iframe,
  .oliva-v116-page .oliva-v115-embed-card > iframe {
    min-height: 390px;
  }

  .oliva-v116-page .oliva-v115-mobile-bar {
    left: 8px;
    right: 8px;
    bottom: calc(8px + env(safe-area-inset-bottom, 0px));
    border-color: rgba(214, 190, 122, .26);
    background: rgba(8, 12, 8, .93);
  }
}

@media (max-width: 430px) {
  .oliva-v116-page .oliva-v115-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .oliva-v116-page .oliva-v115-hero .oliva-v115-actions {
    grid-template-columns: 1fr 1fr;
  }

  .oliva-v116-page .oliva-v115-hero .oliva-v115-actions a:first-child {
    grid-column: 1 / -1;
  }

  .oliva-v116-page .oliva-v115-mosaic,
  .oliva-v116-page .oliva-v115-image-rail {
    grid-template-columns: 1fr;
  }

  .oliva-v116-page .oliva-v115-mosaic .oliva-v115-image:nth-child(2) {
    transform: none;
  }
}

/* Oliva v1.17.0 · measured editorial polish */
.oliva-v116-page {
  --oliva-v115-bg: #0a0e0a;
  --oliva-v115-bg-2: #111710;
  --oliva-v115-ink: #fff8ea;
  --oliva-v115-soft: rgba(255, 248, 232, .78);
  --oliva-v115-muted: rgba(255, 248, 232, .56);
  --oliva-v115-line: rgba(231, 207, 151, .16);
  --oliva-v115-gold: #d9bd78;
  --oliva-v115-paper: rgba(255, 248, 232, .035);
  --oliva-v115-paper-strong: rgba(255, 248, 232, .058);
  --oliva-v115-radius: clamp(18px, 2.6vw, 34px);
  --oliva-v115-max: 1220px;
  background:
    linear-gradient(180deg, rgba(8, 12, 8, .98) 0%, rgba(13, 18, 13, .98) 50%, rgba(8, 12, 8, .98) 100%);
}

.oliva-v116-page .oliva-v115-hero {
  min-height: clamp(600px, 82svh, 860px);
  padding: clamp(110px, 10vw, 168px) 0 clamp(58px, 7vw, 96px);
}

.oliva-v116-page .oliva-v115-hero-home {
  min-height: clamp(660px, 90svh, 930px);
}

.oliva-v116-page .oliva-v115-hero-media img {
  filter: saturate(.92) contrast(1.05) brightness(.92);
  transform: scale(1.01);
}

.oliva-v116-page .oliva-v115-hero-shade {
  background:
    linear-gradient(90deg, rgba(4, 7, 4, .90) 0%, rgba(4, 7, 4, .62) 42%, rgba(4, 7, 4, .22) 100%),
    linear-gradient(180deg, rgba(4, 7, 4, .22) 0%, rgba(4, 7, 4, .45) 55%, rgba(4, 7, 4, .94) 100%);
}

.oliva-v116-page .oliva-v115-hero-copy {
  max-width: 780px;
}

.oliva-v116-page .oliva-v115-eyebrow,
.oliva-v116-page .oliva-v115-kicker {
  margin-bottom: 12px;
  color: rgba(226, 203, 143, .92);
  letter-spacing: .18em;
  font-size: 11px;
}

.oliva-v116-page h1,
.oliva-v116-page h2,
.oliva-v116-page h3 {
  text-wrap: balance;
}

.oliva-v116-page .oliva-v115-page h1,
.oliva-v116-page h1 {
  margin-bottom: 20px;
}

.oliva-v116-page .oliva-v115-lead {
  max-width: 650px;
  margin-bottom: 28px;
  color: rgba(255, 248, 232, .82);
}

.oliva-v116-page .oliva-v115-main {
  padding: clamp(56px, 7vw, 104px) 0 clamp(76px, 9vw, 132px);
}

.oliva-v116-page .oliva-v115-section {
  margin-bottom: clamp(58px, 8vw, 116px);
}

.oliva-v116-page .oliva-v115-split,
.oliva-v116-page .oliva-v115-split-reverse {
  gap: clamp(28px, 5vw, 82px);
}

.oliva-v116-page .oliva-v115-copy {
  max-width: 620px;
}

.oliva-v116-page .oliva-v115-copy p:last-child,
.oliva-v116-page .oliva-v115-booking-card p:last-child,
.oliva-v116-page .oliva-v115-info-grid p:last-child {
  margin-bottom: 0;
}

.oliva-v116-page .oliva-v115-image {
  border-color: rgba(255, 248, 232, .10);
  background: rgba(255, 248, 232, .025);
  box-shadow: 0 22px 70px rgba(0, 0, 0, .22);
}

.oliva-v116-page .oliva-v115-image::after {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 64%, rgba(0, 0, 0, .22));
}

.oliva-v116-page .oliva-v115-photo-band,
.oliva-v116-page .oliva-v115-cta-panel {
  background: rgba(255, 248, 232, .028);
  border-color: rgba(231, 207, 151, .14);
  box-shadow: none;
}

.oliva-v116-page .oliva-v115-photo-band {
  padding: clamp(24px, 3.5vw, 46px);
}

.oliva-v116-page .oliva-v115-info-grid article,
.oliva-v116-page .oliva-v115-booking-card,
.oliva-v116-page .oliva-v115-location-card,
.oliva-v116-page .oliva-v115-map-fallback,
.oliva-v116-page .oliva-v115-embed-card {
  border-color: rgba(231, 207, 151, .14);
  background: rgba(255, 248, 232, .033);
  box-shadow: none;
}

.oliva-v116-page .oliva-v115-info-grid article {
  padding: clamp(22px, 2.6vw, 32px);
}

.oliva-v116-page .oliva-v115-info-grid span,
.oliva-v116-page .oliva-v115-founded span {
  color: rgba(226, 203, 143, .88);
  letter-spacing: .15em;
}

.oliva-v116-page .oliva-v115-dish-lines article {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 4px;
  padding: 17px 0;
}

.oliva-v116-page .oliva-v115-mosaic,
.oliva-v116-page .oliva-v115-image-rail {
  gap: clamp(10px, 1.4vw, 16px);
}

.oliva-v116-page .oliva-v115-mosaic .oliva-v115-image:nth-child(2) {
  transform: translateY(22px);
}

.oliva-v116-page .oliva-v115-booking-card {
  grid-template-rows: minmax(270px, .78fr) auto;
}

.oliva-v116-page .oliva-v115-booking-card > div {
  padding: clamp(24px, 3vw, 40px);
}

.oliva-v116-page :is(.oliva-home-button,.oliva-reservation-button,.oliva-tour-button,.oliva-about-button,.oliva-contact-button) {
  min-height: 46px;
  padding: 13px 19px;
  border-color: rgba(226, 203, 143, .30);
  background: rgba(255, 248, 232, .045);
  letter-spacing: .12em;
  box-shadow: none;
}

.oliva-v116-page :is(.oliva-home-button-primary,.oliva-reservation-button-primary,.oliva-tour-button-primary,.oliva-about-button-primary,.oliva-contact-button-primary) {
  background: rgba(217, 189, 120, .95);
  border-color: rgba(217, 189, 120, .95);
  color: #11160f;
}

.oliva-v116-page :is(.oliva-home-button:hover,.oliva-reservation-button:hover,.oliva-tour-button:hover,.oliva-about-button:hover,.oliva-contact-button:hover) {
  transform: translateY(-1px);
  background: rgba(255, 248, 232, .085);
}

.oliva-v116-page .oliva-v115-facts > * {
  border-color: rgba(255, 248, 232, .14);
  background: rgba(0, 0, 0, .18);
}

.oliva-v116-page .oliva-v115-note {
  border-left-color: rgba(217, 189, 120, .72);
  background: rgba(217, 189, 120, .055);
}

.oliva-v116-page .oliva-v115-mobile-bar {
  border-color: rgba(217, 189, 120, .26);
  background: rgba(7, 11, 7, .90);
}

@media (min-width: 1090px) {
  .oliva-v116-page .oliva-v115-intro .oliva-v115-copy,
  .oliva-v116-page .oliva-v115-experience .oliva-v115-copy {
    padding-inline: clamp(0px, 1vw, 10px);
  }
}

@media (max-width: 760px) {
  .oliva-v116-page .oliva-v115-container,
  .oliva-v116-page .oliva-v115-main,
  .oliva-v116-page .oliva-v115-section {
    width: min(100% - 22px, var(--oliva-v115-max));
  }

  .oliva-v116-page .oliva-v115-hero,
  .oliva-v116-page .oliva-v115-hero-home {
    min-height: 86svh;
    padding: 108px 0 60px;
  }

  .oliva-v116-page .oliva-v115-hero-copy {
    max-width: 100%;
  }

  .oliva-v116-page .oliva-v115-actions {
    gap: 8px;
  }

  .oliva-v116-page .oliva-v115-page :is(.oliva-home-button,.oliva-reservation-button,.oliva-tour-button,.oliva-about-button,.oliva-contact-button),
  .oliva-v116-page :is(.oliva-home-button,.oliva-reservation-button,.oliva-tour-button,.oliva-about-button,.oliva-contact-button) {
    width: 100%;
    min-height: 48px;
    justify-content: center;
  }

  .oliva-v116-page .oliva-v115-actions.compact :is(.oliva-home-button,.oliva-reservation-button,.oliva-tour-button,.oliva-about-button,.oliva-contact-button) {
    width: auto;
    flex: 1 1 150px;
  }

  .oliva-v116-page .oliva-v115-main {
    padding: 44px 0 94px;
  }

  .oliva-v116-page .oliva-v115-section {
    margin-bottom: 48px;
  }

  .oliva-v116-page .oliva-v115-image,
  .oliva-v116-page .oliva-v115-image-tall,
  .oliva-v116-page .oliva-v115-image-wide,
  .oliva-v116-page .oliva-v115-booking-card .oliva-v115-image,
  .oliva-v116-page .oliva-v115-image-rail .oliva-v115-image,
  .oliva-v116-page .oliva-v115-mosaic .oliva-v115-image {
    min-height: 252px;
    border-radius: 22px;
  }

  .oliva-v116-page .oliva-v115-photo-band,
  .oliva-v116-page .oliva-v115-cta-panel {
    padding: 20px;
    border-radius: 24px;
  }

  .oliva-v116-page .oliva-v115-mosaic .oliva-v115-image:nth-child(2) {
    transform: none;
  }

  .oliva-v116-page .oliva-v115-location-card,
  .oliva-v116-page .oliva-v115-info-grid article,
  .oliva-v116-page .oliva-v115-booking-card > div {
    padding: 18px;
  }

  .oliva-v116-page .oliva-v115-mobile-bar a {
    min-height: 48px;
  }
}

/* v1.17.0 · Menu publish refinement */
.oliva-menu-v117 {
  --oliva-menu-ink: #162214;
  --oliva-menu-green: #24351f;
  --oliva-menu-gold: #a98554;
  --oliva-menu-cream: #fff9ee;
  --oliva-menu-paper: rgba(255, 251, 242, .985);
  --oliva-menu-line: rgba(36, 53, 31, .16);
  --oliva-menu-line-strong: rgba(36, 53, 31, .28);
}

.oliva-menu-v117 .oliva-menu-content {
  max-width: 1220px !important;
  padding: clamp(18px, 2.4vw, 34px) !important;
  background:
    radial-gradient(ellipse at 8% 2%, rgba(169, 133, 84, .10), transparent 30%),
    linear-gradient(180deg, rgba(255, 251, 242, .985), rgba(250, 244, 232, .972)) !important;
  border: 1px solid rgba(169, 133, 84, .24) !important;
  border-radius: clamp(18px, 2.8vw, 34px) !important;
  box-shadow: 0 24px 82px rgba(0, 0, 0, .16) !important;
}

.oliva-menu-v117 .oliva-menu-content::before {
  display: none !important;
}

.oliva-menu-v117 .oliva-menu-hero-block {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, .72fr);
  gap: clamp(22px, 4vw, 58px);
  align-items: stretch;
  margin: 0 0 clamp(26px, 4vw, 48px);
  padding: clamp(20px, 3.4vw, 46px);
  border: 1px solid rgba(36, 53, 31, .14);
  border-radius: clamp(18px, 2.8vw, 30px);
  background: linear-gradient(135deg, rgba(24, 35, 21, .96), rgba(43, 59, 36, .92));
  color: var(--oliva-menu-cream);
  overflow: hidden;
  position: relative;
}

.oliva-menu-v117 .oliva-menu-hero-block::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 12% 16%, rgba(255,255,255,.10), transparent 28%);
  pointer-events: none;
}

.oliva-menu-v117 .oliva-menu-hero-copy,
.oliva-menu-v117 .oliva-menu-hero-media {
  position: relative;
  z-index: 1;
}

.oliva-menu-v117 .oliva-menu-eyebrow {
  display: inline-block;
  margin: 0 0 14px;
  color: rgba(255, 247, 232, .72);
  font-size: clamp(10px, .9vw, 12px);
  font-weight: 800;
  letter-spacing: .18em;
  line-height: 1.35;
  text-transform: uppercase;
}

.oliva-menu-v117 .oliva-menu-title {
  max-width: 780px;
  margin: 0 0 18px !important;
  color: #fff8ea !important;
  font-size: clamp(36px, 6vw, 78px) !important;
  font-weight: 700 !important;
  letter-spacing: -.035em !important;
  line-height: .96 !important;
  text-align: left !important;
  text-transform: none !important;
}

.oliva-menu-v117 .oliva-menu-intro {
  max-width: 720px;
  margin: 0 0 18px;
  color: rgba(255, 247, 232, .84) !important;
  font-size: clamp(16px, 1.35vw, 21px);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.55;
}

.oliva-menu-v117 .oliva-menu-note {
  max-width: 640px;
  margin: 0;
  padding-left: 16px;
  border-left: 1px solid rgba(197, 161, 109, .58);
  color: rgba(255, 247, 232, .66) !important;
  font-size: clamp(12px, .98vw, 14px);
  font-weight: 600;
  line-height: 1.55;
}

.oliva-menu-v117 .oliva-menu-hero-media {
  min-height: 330px;
  display: grid;
  grid-template-columns: 1fr;
  place-items: stretch;
}

.oliva-menu-v117 .oliva-menu-hero-media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 330px;
  object-fit: cover;
  border-radius: 22px;
  filter: saturate(.96) contrast(1.02);
}

.oliva-menu-v117 .oliva-menu-hero-img-accent {
  position: absolute;
  right: clamp(-18px, -1vw, -8px);
  bottom: clamp(-18px, -1vw, -8px);
  width: min(46%, 230px) !important;
  height: min(42%, 190px) !important;
  min-height: 140px !important;
  border: 8px solid rgba(24, 35, 21, .96);
  box-shadow: 0 22px 62px rgba(0,0,0,.28);
}

.oliva-menu-v117 .oliva-menu-nav-wrap {
  margin: 0 0 clamp(24px, 3vw, 42px);
  text-align: center;
}

.oliva-menu-v117 .oliva-menu-nav-label {
  display: inline-block;
  margin: 0 0 10px;
  color: rgba(36, 53, 31, .62);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.oliva-menu-v117 .oliva-menu-nav {
  margin-bottom: 0 !important;
  border-color: rgba(36, 53, 31, .13) !important;
  background: rgba(255, 255, 255, .72) !important;
  box-shadow: 0 14px 42px rgba(36, 53, 31, .06) !important;
}

.oliva-menu-v117 .oliva-menu-nav a {
  background: transparent !important;
  border-color: transparent !important;
  color: var(--oliva-menu-green) !important;
}

.oliva-menu-v117 .oliva-menu-nav a:hover,
.oliva-menu-v117 .oliva-menu-nav a:focus {
  background: rgba(169, 133, 84, .12) !important;
  border-color: rgba(169, 133, 84, .20) !important;
}

.oliva-menu-v117 .oliva-menu-grid {
  gap: 0 clamp(34px, 5vw, 74px) !important;
}

.oliva-menu-v117 .oliva-menu-section {
  padding: clamp(28px, 4.2vw, 56px) 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--oliva-menu-line) !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.oliva-menu-v117 .oliva-menu-section:first-child,
.oliva-menu-v117 .oliva-menu-section:nth-child(2) {
  border-top: 0 !important;
}

.oliva-menu-v117 .oliva-menu-section-wide {
  grid-column: 1 / -1;
}

.oliva-menu-v117 .oliva-menu-section-heading {
  display: grid;
  gap: 7px;
  margin: 0 0 18px;
}

.oliva-menu-v117 .oliva-menu-section-title {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: var(--oliva-menu-green) !important;
  font-size: clamp(24px, 3.1vw, 40px) !important;
  font-weight: 760 !important;
  letter-spacing: -.025em !important;
  line-height: 1.05 !important;
  text-align: left !important;
  text-transform: none !important;
}

.oliva-menu-v117 .oliva-menu-section-subtitle {
  margin: 0 !important;
  color: var(--oliva-menu-gold) !important;
  font-size: 11px !important;
  font-weight: 850 !important;
  letter-spacing: .14em !important;
  text-align: left !important;
}

.oliva-menu-v117 .oliva-menu-section-wide .oliva-menu-items {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 clamp(24px, 4vw, 58px) !important;
}

.oliva-menu-v117 .oliva-menu-items {
  gap: 0 !important;
}

.oliva-menu-v117 .oliva-menu-item {
  padding: 14px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(36, 53, 31, .10) !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.oliva-menu-v117 .oliva-menu-item:last-child {
  border-bottom: 0 !important;
}

.oliva-menu-v117 .oliva-menu-item-name {
  color: #162214 !important;
  font-size: clamp(16px, 1.15vw, 18px) !important;
  font-weight: 760 !important;
  letter-spacing: -.01em !important;
  line-height: 1.22 !important;
  text-transform: none !important;
}

.oliva-menu-v117 .oliva-menu-item-desc {
  max-width: 760px !important;
  margin-top: 6px !important;
  color: rgba(36, 53, 31, .68) !important;
  font-size: clamp(13px, .95vw, 14.5px) !important;
  font-weight: 520 !important;
  letter-spacing: .002em !important;
  line-height: 1.52 !important;
}

.oliva-menu-v117 .oliva-menu-footer {
  margin-top: clamp(24px, 4vw, 46px) !important;
  padding-top: clamp(20px, 3vw, 34px) !important;
  border-top: 1px solid var(--oliva-menu-line) !important;
}

.oliva-menu-v117 .oliva-menu-chef {
  color: rgba(36, 53, 31, .78) !important;
  font-size: 14px !important;
  font-weight: 720 !important;
  letter-spacing: .08em;
}

.oliva-menu-check-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.oliva-menu-check {
  padding: 15px 16px;
  border-radius: 16px;
  border: 1px solid rgba(32, 49, 29, .14);
  background: rgba(255,255,255,.72);
}

.oliva-menu-check strong {
  display: block;
  margin-bottom: 6px;
  color: #182315;
}

.oliva-menu-check span {
  display: block;
  color: rgba(32, 49, 29, .72);
}

.oliva-menu-check-ok { border-color: rgba(34, 110, 70, .28); }
.oliva-menu-check-warn { border-color: rgba(191, 140, 46, .42); }
.oliva-menu-check-error { border-color: rgba(176, 44, 44, .42); }

@media (max-width: 1020px) {
  .oliva-menu-v117 .oliva-menu-hero-block {
    grid-template-columns: 1fr;
  }

  .oliva-menu-v117 .oliva-menu-hero-media {
    min-height: 300px;
  }
}

@media (max-width: 820px) {
  .oliva-menu-v117 .oliva-menu-content {
    padding: 12px !important;
    border-radius: 22px !important;
  }

  .oliva-menu-v117 .oliva-menu-hero-block {
    margin-bottom: 20px;
    padding: 22px 18px;
    border-radius: 20px;
  }

  .oliva-menu-v117 .oliva-menu-title {
    font-size: clamp(34px, 10.5vw, 52px) !important;
  }

  .oliva-menu-v117 .oliva-menu-intro {
    font-size: 15.5px;
    line-height: 1.52;
  }

  .oliva-menu-v117 .oliva-menu-note {
    font-size: 12.5px;
  }

  .oliva-menu-v117 .oliva-menu-hero-media {
    min-height: 230px;
  }

  .oliva-menu-v117 .oliva-menu-hero-media img {
    min-height: 230px;
    border-radius: 18px;
  }

  .oliva-menu-v117 .oliva-menu-hero-img-accent {
    display: none !important;
  }

  .oliva-menu-v117 .oliva-menu-nav-wrap {
    margin-bottom: 18px;
  }

  .oliva-menu-v117 .oliva-menu-grid,
  .oliva-menu-v117 .oliva-menu-section-wide .oliva-menu-items {
    grid-template-columns: 1fr !important;
  }

  .oliva-menu-v117 .oliva-menu-section,
  .oliva-menu-v117 .oliva-menu-section:first-child,
  .oliva-menu-v117 .oliva-menu-section:nth-child(2) {
    padding: 26px 2px !important;
    border-top: 1px solid rgba(36, 53, 31, .14) !important;
  }

  .oliva-menu-v117 .oliva-menu-section:first-child {
    border-top: 0 !important;
  }

  .oliva-menu-v117 .oliva-menu-section-title {
    font-size: clamp(25px, 7.3vw, 34px) !important;
  }

  .oliva-menu-v117 .oliva-menu-item {
    padding: 13px 0 !important;
  }

  .oliva-menu-v117 .oliva-menu-item-name {
    font-size: clamp(16px, 4.5vw, 18px) !important;
  }

  .oliva-menu-v117 .oliva-menu-item-desc {
    font-size: clamp(13.2px, 3.7vw, 14.5px) !important;
  }

  .oliva-menu-check-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .oliva-menu-v117 .oliva-menu-content {
    padding: 10px !important;
  }

  .oliva-menu-v117 .oliva-menu-hero-block {
    padding: 20px 15px;
  }

  .oliva-menu-v117 .oliva-menu-nav {
    background: rgba(255,255,255,.82) !important;
  }
}


/* v1.18.0 · Mobile QA hardening for live pages and admin device previews
   The admin preview frame is narrower than the browser viewport, so normal @media rules
   do not always fire. These rules emulate mobile/tablet inside the plugin preview frame
   and also tighten real mobile typography. */
.oliva-home-plugin,
.oliva-menu-plugin,
.oliva-reservation-plugin,
.oliva-tour-plugin,
.oliva-about-plugin,
.oliva-contact-plugin,
.oliva-v115-page,
.oliva-v116-page {
  max-width: 100%;
  overflow-x: clip;
}
@supports not (overflow: clip) {
  .oliva-home-plugin,
  .oliva-menu-plugin,
  .oliva-reservation-plugin,
  .oliva-tour-plugin,
  .oliva-about-plugin,
  .oliva-contact-plugin,
  .oliva-v115-page,
  .oliva-v116-page { overflow-x: hidden; }
}

.oliva-v115-page *,
.oliva-v116-page *,
.oliva-menu-plugin *,
.oliva-home-plugin * {
  min-width: 0;
}

.oliva-v115-page h1,
.oliva-v116-page h1,
.oliva-menu-v117 .oliva-menu-title,
.oliva-home-plugin .oliva-home-hero-inner h1 {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

@media (max-width: 760px) {
  .oliva-v115-page h1,
  .oliva-v116-page h1 {
    max-width: 100% !important;
    font-size: clamp(34px, 9.6vw, 44px) !important;
    line-height: 1.04 !important;
    letter-spacing: -.035em !important;
  }

  .oliva-v115-page h2,
  .oliva-v116-page h2 {
    font-size: clamp(27px, 7.6vw, 37px) !important;
    line-height: 1.07 !important;
  }

  .oliva-v115-page .oliva-v115-lead,
  .oliva-v116-page .oliva-v115-lead,
  .oliva-home-plugin .oliva-home-hero-text {
    max-width: 100% !important;
    font-size: 15.8px !important;
    line-height: 1.58 !important;
  }

  .oliva-v115-page .oliva-v115-container,
  .oliva-v116-page .oliva-v115-container,
  .oliva-v115-page .oliva-v115-main,
  .oliva-v116-page .oliva-v115-main,
  .oliva-v115-page .oliva-v115-section,
  .oliva-v116-page .oliva-v115-section {
    width: calc(100% - 24px) !important;
  }

  .oliva-v115-page .oliva-v115-hero,
  .oliva-v116-page .oliva-v115-hero,
  .oliva-v115-page .oliva-v115-hero-home,
  .oliva-v116-page .oliva-v115-hero-home {
    min-height: 82svh !important;
    padding-top: 96px !important;
    padding-bottom: 48px !important;
  }

  .oliva-v115-page .oliva-v115-actions,
  .oliva-v116-page .oliva-v115-actions {
    flex-direction: column;
    align-items: stretch !important;
  }

  .oliva-v115-page .oliva-v115-actions.compact,
  .oliva-v116-page .oliva-v115-actions.compact {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .oliva-v115-page :is(.oliva-home-button,.oliva-reservation-button,.oliva-tour-button,.oliva-about-button,.oliva-contact-button),
  .oliva-v116-page :is(.oliva-home-button,.oliva-reservation-button,.oliva-tour-button,.oliva-about-button,.oliva-contact-button) {
    width: 100% !important;
    min-height: 48px !important;
    white-space: normal !important;
  }

  .oliva-v115-page .oliva-v115-actions.compact :is(.oliva-home-button,.oliva-reservation-button,.oliva-tour-button,.oliva-about-button,.oliva-contact-button),
  .oliva-v116-page .oliva-v115-actions.compact :is(.oliva-home-button,.oliva-reservation-button,.oliva-tour-button,.oliva-about-button,.oliva-contact-button) {
    width: auto !important;
    flex: 1 1 150px !important;
  }
}

.wp-admin .oliva-device-preview {
  box-sizing: border-box;
  max-width: 100%;
  overflow: hidden;
}

.wp-admin .oliva-device-preview.oliva-device-mobile {
  max-width: 390px !important;
  padding: 8px !important;
  border-radius: 30px !important;
}

.wp-admin .oliva-device-preview.oliva-device-tablet {
  max-width: 820px !important;
  padding: 12px !important;
  border-radius: 28px !important;
}

.wp-admin .oliva-device-preview :is(.oliva-home-plugin,.oliva-menu-plugin,.oliva-reservation-plugin,.oliva-tour-plugin,.oliva-about-plugin,.oliva-contact-plugin,.oliva-v115-page,.oliva-v116-page) {
  width: 100% !important;
  max-width: 100% !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  overflow-x: hidden !important;
}

.wp-admin .oliva-device-mobile .oliva-v115-container,
.wp-admin .oliva-device-mobile .oliva-v115-main,
.wp-admin .oliva-device-mobile .oliva-v115-section {
  width: calc(100% - 22px) !important;
}

.wp-admin .oliva-device-tablet .oliva-v115-container,
.wp-admin .oliva-device-tablet .oliva-v115-main,
.wp-admin .oliva-device-tablet .oliva-v115-section {
  width: calc(100% - 34px) !important;
}

.wp-admin .oliva-device-mobile .oliva-v115-hero,
.wp-admin .oliva-device-mobile .oliva-v115-hero-home {
  min-height: 650px !important;
  padding: 92px 0 44px !important;
}

.wp-admin .oliva-device-tablet .oliva-v115-hero,
.wp-admin .oliva-device-tablet .oliva-v115-hero-home {
  min-height: 720px !important;
  padding: 118px 0 58px !important;
}

.wp-admin .oliva-device-mobile .oliva-v115-hero-shade {
  background:
    linear-gradient(180deg, rgba(5, 8, 5, .42) 0%, rgba(5, 8, 5, .58) 40%, rgba(5, 8, 5, .96) 100%),
    linear-gradient(90deg, rgba(5, 8, 5, .86), rgba(5, 8, 5, .32)) !important;
}

.wp-admin .oliva-device-mobile .oliva-v115-hero-copy,
.wp-admin .oliva-device-tablet .oliva-v115-hero-copy {
  max-width: 100% !important;
}

.wp-admin .oliva-device-mobile .oliva-v115-page h1,
.wp-admin .oliva-device-mobile .oliva-v116-page h1 {
  max-width: 100% !important;
  font-size: 38px !important;
  line-height: 1.04 !important;
  letter-spacing: -.035em !important;
  text-wrap: balance;
}

.wp-admin .oliva-device-tablet .oliva-v115-page h1,
.wp-admin .oliva-device-tablet .oliva-v116-page h1 {
  max-width: 100% !important;
  font-size: 58px !important;
  line-height: .99 !important;
}

.wp-admin .oliva-device-mobile .oliva-v115-page h2,
.wp-admin .oliva-device-mobile .oliva-v116-page h2 {
  font-size: 32px !important;
  line-height: 1.08 !important;
}

.wp-admin .oliva-device-tablet .oliva-v115-page h2,
.wp-admin .oliva-device-tablet .oliva-v116-page h2 {
  font-size: 44px !important;
  line-height: 1.04 !important;
}

.wp-admin .oliva-device-mobile .oliva-v115-lead,
.wp-admin .oliva-device-mobile .oliva-v116-page .oliva-v115-lead {
  max-width: 100% !important;
  font-size: 15.8px !important;
  line-height: 1.58 !important;
}

.wp-admin .oliva-device-mobile .oliva-v115-eyebrow,
.wp-admin .oliva-device-mobile .oliva-v115-kicker {
  font-size: 10px !important;
  line-height: 1.35 !important;
  letter-spacing: .16em !important;
}

.wp-admin .oliva-device-mobile .oliva-v115-split,
.wp-admin .oliva-device-mobile .oliva-v115-split-reverse,
.wp-admin .oliva-device-mobile .oliva-v115-booking-grid,
.wp-admin .oliva-device-mobile .oliva-v115-info-grid,
.wp-admin .oliva-device-mobile .oliva-v115-section.oliva-v115-info-grid.oliva-v115-three,
.wp-admin .oliva-device-mobile .oliva-v115-location-card,
.wp-admin .oliva-device-mobile .oliva-v115-mosaic,
.wp-admin .oliva-device-mobile .oliva-v115-image-rail {
  grid-template-columns: 1fr !important;
}

.wp-admin .oliva-device-tablet .oliva-v115-split,
.wp-admin .oliva-device-tablet .oliva-v115-split-reverse,
.wp-admin .oliva-device-tablet .oliva-v115-booking-grid,
.wp-admin .oliva-device-tablet .oliva-v115-section.oliva-v115-info-grid.oliva-v115-three,
.wp-admin .oliva-device-tablet .oliva-v115-location-card {
  grid-template-columns: 1fr !important;
}

.wp-admin .oliva-device-mobile .oliva-v115-actions {
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 9px !important;
}

.wp-admin .oliva-device-mobile .oliva-v115-actions.compact {
  flex-direction: row !important;
  flex-wrap: wrap !important;
}

.wp-admin .oliva-device-mobile .oliva-v115-page :is(.oliva-home-button,.oliva-reservation-button,.oliva-tour-button,.oliva-about-button,.oliva-contact-button) {
  width: 100% !important;
  min-height: 47px !important;
  padding: 13px 14px !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
  white-space: normal !important;
}

.wp-admin .oliva-device-mobile .oliva-v115-actions.compact :is(.oliva-home-button,.oliva-reservation-button,.oliva-tour-button,.oliva-about-button,.oliva-contact-button) {
  width: auto !important;
  flex: 1 1 146px !important;
}

.wp-admin .oliva-device-mobile .oliva-v115-facts,
.wp-admin .oliva-device-mobile .oliva-v115-info-grid {
  grid-template-columns: 1fr !important;
  gap: 8px !important;
}

.wp-admin .oliva-device-mobile .oliva-v115-main {
  padding: 42px 0 84px !important;
}

.wp-admin .oliva-device-mobile .oliva-v115-section {
  margin-bottom: 42px !important;
}

.wp-admin .oliva-device-mobile .oliva-v115-image,
.wp-admin .oliva-device-mobile .oliva-v115-image-tall,
.wp-admin .oliva-device-mobile .oliva-v115-image-wide,
.wp-admin .oliva-device-mobile .oliva-v115-booking-card .oliva-v115-image,
.wp-admin .oliva-device-mobile .oliva-v115-image-rail .oliva-v115-image,
.wp-admin .oliva-device-mobile .oliva-v115-mosaic .oliva-v115-image {
  min-height: 248px !important;
  border-radius: 22px !important;
}

.wp-admin .oliva-device-mobile .oliva-v115-mosaic .oliva-v115-image:nth-child(2) {
  transform: none !important;
}

.wp-admin .oliva-device-mobile .oliva-v115-photo-band,
.wp-admin .oliva-device-mobile .oliva-v115-cta-panel {
  padding: 18px !important;
  border-radius: 22px !important;
}

.wp-admin .oliva-device-mobile .oliva-v115-mobile-bar,
.wp-admin .oliva-device-tablet .oliva-v115-mobile-bar,
.wp-admin .oliva-device-mobile .oliva-home-mobile-bar,
.wp-admin .oliva-device-tablet .oliva-home-mobile-bar {
  display: none !important;
}

/* Admin mobile preview emulation for the menu page. */
.wp-admin .oliva-device-mobile .oliva-menu-plugin,
.wp-admin .oliva-device-mobile .oliva-menu-plugin.oliva-menu-full-width {
  padding: 8px !important;
}

.wp-admin .oliva-device-mobile .oliva-menu-v117 .oliva-menu-content {
  padding: 10px !important;
  border-radius: 22px !important;
}

.wp-admin .oliva-device-mobile .oliva-menu-v117 .oliva-menu-hero-block {
  grid-template-columns: 1fr !important;
  gap: 18px !important;
  padding: 20px 15px !important;
  border-radius: 20px !important;
}

.wp-admin .oliva-device-mobile .oliva-menu-v117 .oliva-menu-title {
  font-size: 36px !important;
  line-height: 1.02 !important;
  max-width: 100% !important;
}

.wp-admin .oliva-device-mobile .oliva-menu-v117 .oliva-menu-intro {
  font-size: 15px !important;
  line-height: 1.52 !important;
}

.wp-admin .oliva-device-mobile .oliva-menu-v117 .oliva-menu-hero-media,
.wp-admin .oliva-device-mobile .oliva-menu-v117 .oliva-menu-hero-media img {
  min-height: 220px !important;
}

.wp-admin .oliva-device-mobile .oliva-menu-v117 .oliva-menu-hero-img-accent {
  display: none !important;
}

.wp-admin .oliva-device-mobile .oliva-menu-v117 .oliva-menu-nav {
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x proximity;
}

.wp-admin .oliva-device-mobile .oliva-menu-v117 .oliva-menu-nav a {
  flex: 0 0 auto !important;
  scroll-snap-align: start;
}

.wp-admin .oliva-device-mobile .oliva-menu-v117 .oliva-menu-grid,
.wp-admin .oliva-device-mobile .oliva-menu-v117 .oliva-menu-section-wide .oliva-menu-items,
.wp-admin .oliva-device-tablet .oliva-menu-v117 .oliva-menu-grid,
.wp-admin .oliva-device-tablet .oliva-menu-v117 .oliva-menu-section-wide .oliva-menu-items {
  grid-template-columns: 1fr !important;
}

.wp-admin .oliva-device-mobile .oliva-menu-v117 .oliva-menu-section,
.wp-admin .oliva-device-mobile .oliva-menu-v117 .oliva-menu-section:first-child,
.wp-admin .oliva-device-mobile .oliva-menu-v117 .oliva-menu-section:nth-child(2) {
  padding: 24px 2px !important;
  border-top: 1px solid rgba(36, 53, 31, .14) !important;
}

.wp-admin .oliva-device-mobile .oliva-menu-v117 .oliva-menu-section:first-child {
  border-top: 0 !important;
}

.wp-admin .oliva-device-mobile .oliva-menu-v117 .oliva-menu-section-title {
  font-size: 29px !important;
  line-height: 1.07 !important;
}

.wp-admin .oliva-device-mobile .oliva-menu-v117 .oliva-menu-item-name {
  font-size: 17px !important;
  line-height: 1.25 !important;
}

.wp-admin .oliva-device-mobile .oliva-menu-v117 .oliva-menu-item-desc {
  font-size: 13.5px !important;
  line-height: 1.52 !important;
}

@media (max-width: 420px) {
  .oliva-v115-page h1,
  .oliva-v116-page h1,
  .oliva-home-plugin .oliva-home-hero-inner h1 {
    font-size: 34px !important;
    line-height: 1.05 !important;
  }

  .oliva-v115-page .oliva-v115-eyebrow,
  .oliva-v116-page .oliva-v115-eyebrow,
  .oliva-home-plugin .oliva-home-kicker {
    letter-spacing: .14em !important;
  }
}

/* v1.19.0 · Home mobile photographic rhythm
   One image per story card on mobile. Images are separated by copy, not stacked as a raw gallery. */
.oliva-v119-page .oliva-v119-chef-list,
.oliva-v119-page .oliva-v119-gallery-list {
  display: grid;
  gap: clamp(16px, 2.4vw, 28px);
  margin-top: clamp(28px, 4vw, 46px);
}

.oliva-v119-page .oliva-v119-chef-list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.oliva-v119-page .oliva-v119-gallery-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.oliva-v119-page .oliva-v119-chef-card,
.oliva-v119-page .oliva-v119-gallery-card {
  overflow: hidden;
  border: 1px solid rgba(238, 215, 168, .18);
  border-radius: var(--oliva-v115-radius);
  background: linear-gradient(180deg, rgba(255, 248, 232, .055), rgba(255, 248, 232, .026));
  box-shadow: 0 24px 80px rgba(0, 0, 0, .24);
}

.oliva-v119-page .oliva-v119-chef-card .oliva-v115-image,
.oliva-v119-page .oliva-v119-gallery-card .oliva-v115-image {
  min-height: clamp(280px, 32vw, 470px);
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.oliva-v119-page .oliva-v119-gallery-card .oliva-v115-image {
  min-height: clamp(300px, 34vw, 520px);
}

.oliva-v119-page .oliva-v119-image-note {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: clamp(18px, 2.4vw, 28px);
  border-top: 1px solid rgba(238, 215, 168, .16);
}

.oliva-v119-page .oliva-v119-image-note span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(216, 189, 120, .28);
  border-radius: 999px;
  color: rgba(226, 203, 143, .92);
  font-size: 11px;
  line-height: 1;
  letter-spacing: .08em;
  font-weight: 800;
}

.oliva-v119-page .oliva-v119-image-note p {
  margin: 0;
  color: rgba(255, 248, 232, .74);
  font-size: clamp(14.5px, 1.1vw, 16.5px);
  line-height: 1.62;
}

.oliva-v119-page .oliva-v119-gallery-story .oliva-v115-copy-narrow {
  margin-bottom: clamp(8px, 1.6vw, 18px);
}

@media (max-width: 760px) {
  .oliva-v119-page .oliva-v119-chef-list,
  .oliva-v119-page .oliva-v119-gallery-list {
    grid-template-columns: 1fr !important;
    gap: 26px !important;
    margin-top: 26px !important;
  }

  .oliva-v119-page .oliva-v119-chef-card,
  .oliva-v119-page .oliva-v119-gallery-card {
    border-radius: 24px !important;
  }

  .oliva-v119-page .oliva-v119-chef-card .oliva-v115-image,
  .oliva-v119-page .oliva-v119-gallery-card .oliva-v115-image {
    min-height: 255px !important;
    border-radius: 0 !important;
  }

  .oliva-v119-page .oliva-v119-image-note {
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 12px;
    padding: 17px 16px 18px;
  }

  .oliva-v119-page .oliva-v119-image-note span {
    width: 30px;
    height: 30px;
    font-size: 10px;
  }

  .oliva-v119-page .oliva-v119-image-note p {
    font-size: 14px;
    line-height: 1.55;
  }

  .oliva-v119-page .oliva-v119-gallery-story .oliva-v115-copy-narrow {
    text-align: left;
  }
}

.wp-admin .oliva-device-mobile .oliva-v119-chef-list,
.wp-admin .oliva-device-mobile .oliva-v119-gallery-list {
  grid-template-columns: 1fr !important;
  gap: 24px !important;
  margin-top: 24px !important;
}

.wp-admin .oliva-device-mobile .oliva-v119-chef-card,
.wp-admin .oliva-device-mobile .oliva-v119-gallery-card {
  border-radius: 22px !important;
}

.wp-admin .oliva-device-mobile .oliva-v119-chef-card .oliva-v115-image,
.wp-admin .oliva-device-mobile .oliva-v119-gallery-card .oliva-v115-image {
  min-height: 248px !important;
  border-radius: 0 !important;
}

.wp-admin .oliva-device-mobile .oliva-v119-image-note {
  grid-template-columns: 34px 1fr !important;
  padding: 16px !important;
}

.wp-admin .oliva-device-mobile .oliva-v119-image-note p {
  font-size: 14px !important;
  line-height: 1.55 !important;
}

/* v1.19.0 · Mobile sequence fix: text must separate consecutive photos. */
@media (max-width: 760px) {
  .oliva-v119-page .oliva-v115-recommendations .oliva-v115-copy {
    order: 1;
  }

  .oliva-v119-page .oliva-v115-recommendations > .oliva-v115-image {
    order: 2;
  }
}

.wp-admin .oliva-device-mobile .oliva-v119-page .oliva-v115-recommendations .oliva-v115-copy {
  order: 1 !important;
}

.wp-admin .oliva-device-mobile .oliva-v119-page .oliva-v115-recommendations > .oliva-v115-image {
  order: 2 !important;
}

/* v1.20.0 · Mobile excellence for Reservation, 360°, About, Contact and Menu.
   Mobile rule: copy appears before media. No raw photo-to-photo stacking. */
.oliva-v120-page,
.oliva-menu-v120 {
  -webkit-text-size-adjust: 100%;
  overflow-wrap: anywhere;
}

.oliva-v120-page h1,
.oliva-v120-page h2,
.oliva-v120-page h3,
.oliva-menu-v120 h1,
.oliva-menu-v120 h2,
.oliva-menu-v120 h3 {
  overflow-wrap: normal;
  word-break: normal;
  text-wrap: balance;
}

.oliva-v120-page .oliva-v115-image img,
.oliva-menu-v120 img {
  object-position: center;
}

@media (max-width: 760px) {
  .oliva-v120-page {
    background:
      radial-gradient(circle at 18% 4%, rgba(217, 189, 120, .08), transparent 28%),
      linear-gradient(180deg, #080d08 0%, #11180f 46%, #080d08 100%) !important;
  }

  .oliva-v120-page .oliva-v115-container,
  .oliva-v120-page .oliva-v115-main,
  .oliva-v120-page .oliva-v115-section {
    width: min(100% - 22px, 540px) !important;
  }

  .oliva-v120-page .oliva-v115-hero {
    min-height: 82svh !important;
    padding: 108px 0 58px !important;
  }

  .oliva-v120-page .oliva-v115-hero-media img {
    filter: saturate(.92) contrast(1.08) brightness(.74) !important;
    transform: none !important;
  }

  .oliva-v120-page .oliva-v115-hero-shade {
    background:
      linear-gradient(180deg, rgba(4, 7, 4, .38) 0%, rgba(4, 7, 4, .58) 42%, rgba(4, 7, 4, .96) 100%),
      linear-gradient(90deg, rgba(4, 7, 4, .86), rgba(4, 7, 4, .44)) !important;
  }

  .oliva-v120-page .oliva-v115-hero-copy {
    max-width: 100% !important;
  }

  .oliva-v120-page h1,
  .oliva-v120-page .oliva-v115-page h1 {
    max-width: 11.5ch !important;
    margin-bottom: 16px !important;
    font-size: clamp(34px, 10.6vw, 50px) !important;
    line-height: 1.03 !important;
    letter-spacing: -.035em !important;
  }

  .oliva-v120-page h2 {
    max-width: 13.5ch !important;
    margin-bottom: 14px !important;
    font-size: clamp(28px, 8.2vw, 40px) !important;
    line-height: 1.08 !important;
  }

  .oliva-v120-page h3 {
    font-size: 20px !important;
    line-height: 1.18 !important;
  }

  .oliva-v120-page .oliva-v115-eyebrow,
  .oliva-v120-page .oliva-v115-kicker {
    max-width: 100% !important;
    margin-bottom: 10px !important;
    font-size: 10px !important;
    line-height: 1.4 !important;
    letter-spacing: .15em !important;
  }

  .oliva-v120-page .oliva-v115-lead,
  .oliva-v120-page p {
    font-size: 15.5px !important;
    line-height: 1.66 !important;
  }

  .oliva-v120-page .oliva-v115-lead {
    max-width: 31em !important;
    margin-bottom: 22px !important;
  }

  .oliva-v120-page .oliva-v115-main {
    padding: 38px 0 calc(96px + env(safe-area-inset-bottom, 0px)) !important;
  }

  .oliva-v120-page .oliva-v115-section {
    margin-bottom: 44px !important;
  }

  .oliva-v120-page .oliva-v115-split,
  .oliva-v120-page .oliva-v115-split-reverse {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    align-items: stretch !important;
  }

  .oliva-v120-page .oliva-v115-split > .oliva-v115-copy,
  .oliva-v120-page .oliva-v115-split-reverse > .oliva-v115-copy {
    order: 1 !important;
  }

  .oliva-v120-page .oliva-v115-split > .oliva-v115-image,
  .oliva-v120-page .oliva-v115-split-reverse > .oliva-v115-image,
  .oliva-v120-page .oliva-v115-split > .oliva-v115-embed-card,
  .oliva-v120-page .oliva-v115-split-reverse > .oliva-v115-embed-card,
  .oliva-v120-page .oliva-v115-split > .oliva-v115-map-card,
  .oliva-v120-page .oliva-v115-split-reverse > .oliva-v115-map-card {
    order: 2 !important;
  }

  .oliva-v120-page .oliva-v115-copy {
    max-width: 100% !important;
    padding: 0 !important;
  }

  .oliva-v120-page .oliva-v115-copy > p:not(.oliva-v115-kicker):not(.oliva-v115-lead) {
    max-width: 100% !important;
  }

  .oliva-v120-page .oliva-v115-actions,
  .oliva-v120-page .oliva-v115-actions.compact {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
    width: 100% !important;
  }

  .oliva-v120-page :is(.oliva-home-button,.oliva-reservation-button,.oliva-tour-button,.oliva-about-button,.oliva-contact-button),
  .oliva-v120-page .oliva-v115-actions.compact :is(.oliva-home-button,.oliva-reservation-button,.oliva-tour-button,.oliva-about-button,.oliva-contact-button) {
    width: 100% !important;
    min-height: 48px !important;
    padding: 13px 14px !important;
    justify-content: center !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    letter-spacing: .095em !important;
    white-space: normal !important;
    text-align: center !important;
  }

  .oliva-v120-page .oliva-v115-image,
  .oliva-v120-page .oliva-v115-image-tall,
  .oliva-v120-page .oliva-v115-image-wide {
    width: 100% !important;
    min-height: clamp(238px, 70vw, 318px) !important;
    max-height: 365px !important;
    margin: 4px 0 0 !important;
    border-radius: 22px !important;
    box-shadow: none !important;
  }

  .oliva-v120-page .oliva-v115-image img {
    min-height: inherit !important;
    max-height: inherit !important;
    object-fit: cover !important;
  }

  .oliva-v120-page .oliva-v115-image::after {
    background: linear-gradient(180deg, rgba(0,0,0,0) 54%, rgba(0,0,0,.22) 100%) !important;
  }

  .oliva-v120-page .oliva-v115-info-grid,
  .oliva-v120-page .oliva-v115-section.oliva-v115-info-grid.oliva-v115-three {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .oliva-v120-page .oliva-v115-info-grid article {
    min-height: auto !important;
    padding: 17px !important;
    border-radius: 18px !important;
  }

  .oliva-v120-page .oliva-v115-info-grid span,
  .oliva-v120-page .oliva-v115-founded span {
    margin-bottom: 7px !important;
    font-size: 10px !important;
    letter-spacing: .14em !important;
  }

  .oliva-v120-page .oliva-v115-founded {
    width: min(100%, 260px) !important;
    margin-top: 22px !important;
    padding: 15px 16px !important;
    border-radius: 18px !important;
  }

  .oliva-v120-page .oliva-v115-founded strong {
    font-size: 42px !important;
    line-height: .95 !important;
  }

  .oliva-v120-page .oliva-v115-note {
    margin-top: 16px !important;
    padding: 13px 14px !important;
    border-radius: 16px !important;
    font-size: 14px !important;
  }

  .oliva-v120-page .oliva-v115-form-slot {
    margin-top: 18px !important;
  }

  .oliva-v120-page .oliva-v115-form-slot :is(input, textarea, select, button) {
    min-height: 48px !important;
    border-radius: 15px !important;
    font-size: 16px !important;
  }

  .oliva-v120-page .oliva-v115-form-slot textarea {
    min-height: 124px !important;
  }

  .oliva-v120-page .oliva-v115-embed-card,
  .oliva-v120-page .oliva-v115-map-card,
  .oliva-v120-page .oliva-v115-tour-embed {
    min-height: 360px !important;
    max-height: none !important;
    border-radius: 22px !important;
    overflow: hidden !important;
  }

  .oliva-v120-page .oliva-v115-embed-card iframe,
  .oliva-v120-page .oliva-v115-embed-card > iframe,
  .oliva-v120-page .oliva-v115-map-card iframe {
    min-height: 390px !important;
    height: 390px !important;
  }

  .oliva-v120-page .oliva-v115-map-fallback {
    min-height: 315px !important;
    padding: 20px !important;
  }

  .oliva-v120-page .oliva-v115-cta-panel,
  .oliva-v120-page .oliva-v115-photo-band {
    padding: 20px !important;
    border-radius: 22px !important;
  }

  .oliva-v120-page .oliva-v115-mobile-bar {
    left: max(10px, env(safe-area-inset-left, 0px)) !important;
    right: max(10px, env(safe-area-inset-right, 0px)) !important;
    bottom: max(10px, env(safe-area-inset-bottom, 0px)) !important;
    display: grid !important;
    grid-auto-flow: unset !important;
    grid-template-columns: repeat(auto-fit, minmax(68px, 1fr)) !important;
    gap: 5px !important;
    padding: 6px !important;
    border-radius: 20px !important;
    background: rgba(8, 12, 8, .94) !important;
  }

  .oliva-v120-page .oliva-v115-mobile-bar a {
    min-height: 42px !important;
    border-radius: 15px !important;
    background: rgba(255, 248, 232, .065) !important;
    font-size: 9.5px !important;
    line-height: 1.15 !important;
    letter-spacing: .055em !important;
    text-align: center !important;
  }

  .oliva-menu-v120,
  .oliva-menu-v120.oliva-menu-full-width {
    padding: 8px !important;
    overflow-x: clip !important;
  }

  .oliva-menu-v120 .oliva-menu-content {
    padding: 10px !important;
    border-radius: 22px !important;
  }

  .oliva-menu-v120 .oliva-menu-hero-block {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    padding: 20px 15px !important;
    border-radius: 20px !important;
  }

  .oliva-menu-v120 .oliva-menu-hero-copy {
    order: 1 !important;
  }

  .oliva-menu-v120 .oliva-menu-hero-media {
    order: 2 !important;
    min-height: 220px !important;
    border-radius: 18px !important;
  }

  .oliva-menu-v120 .oliva-menu-hero-media img {
    min-height: 220px !important;
  }

  .oliva-menu-v120 .oliva-menu-hero-img-accent {
    display: none !important;
  }

  .oliva-menu-v120 .oliva-menu-title {
    max-width: 100% !important;
    font-size: clamp(34px, 10vw, 44px) !important;
    line-height: 1.04 !important;
  }

  .oliva-menu-v120 .oliva-menu-intro,
  .oliva-menu-v120 .oliva-menu-note {
    font-size: 15px !important;
    line-height: 1.56 !important;
  }

  .oliva-menu-v120 .oliva-menu-nav-wrap {
    margin-bottom: 22px !important;
  }

  .oliva-menu-v120 .oliva-menu-nav {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    gap: 7px !important;
    overflow-x: auto !important;
    padding: 8px !important;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
  }

  .oliva-menu-v120 .oliva-menu-nav::-webkit-scrollbar {
    display: none;
  }

  .oliva-menu-v120 .oliva-menu-nav a {
    flex: 0 0 auto !important;
    min-height: 36px !important;
    padding: 9px 12px !important;
    scroll-snap-align: start;
    font-size: 10.5px !important;
    line-height: 1.1 !important;
  }

  .oliva-menu-v120 .oliva-menu-grid,
  .oliva-menu-v120 .oliva-menu-section-wide .oliva-menu-items {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }

  .oliva-menu-v120 .oliva-menu-section,
  .oliva-menu-v120 .oliva-menu-section:first-child,
  .oliva-menu-v120 .oliva-menu-section:nth-child(2) {
    padding: 25px 2px !important;
    border-top: 1px solid rgba(36, 53, 31, .14) !important;
    background: transparent !important;
  }

  .oliva-menu-v120 .oliva-menu-section:first-child {
    border-top: 0 !important;
  }

  .oliva-menu-v120 .oliva-menu-section-title {
    font-size: clamp(28px, 8.4vw, 36px) !important;
    line-height: 1.08 !important;
    text-align: left !important;
  }

  .oliva-menu-v120 .oliva-menu-section-subtitle {
    text-align: left !important;
    font-size: 13px !important;
  }

  .oliva-menu-v120 .oliva-menu-item {
    padding: 14px 0 !important;
    text-align: left !important;
  }

  .oliva-menu-v120 .oliva-menu-item-name {
    font-size: 17px !important;
    line-height: 1.25 !important;
    text-align: left !important;
  }

  .oliva-menu-v120 .oliva-menu-item-desc {
    max-width: 100% !important;
    font-size: 13.5px !important;
    line-height: 1.55 !important;
    text-align: left !important;
  }
}

@media (max-width: 380px) {
  .oliva-v120-page h1 {
    font-size: 33px !important;
    max-width: 11ch !important;
  }

  .oliva-v120-page .oliva-v115-mobile-bar a {
    font-size: 9px !important;
    letter-spacing: .035em !important;
  }

  .oliva-menu-v120 .oliva-menu-title {
    font-size: 32px !important;
  }
}

/* Admin preview must emulate the same mobile rules even when the browser is desktop width. */
.wp-admin .oliva-device-mobile .oliva-v120-page .oliva-v115-container,
.wp-admin .oliva-device-mobile .oliva-v120-page .oliva-v115-main,
.wp-admin .oliva-device-mobile .oliva-v120-page .oliva-v115-section {
  width: min(100% - 22px, 540px) !important;
}

.wp-admin .oliva-device-mobile .oliva-v120-page .oliva-v115-hero {
  min-height: 82svh !important;
  padding: 108px 0 58px !important;
}

.wp-admin .oliva-device-mobile .oliva-v120-page h1 {
  max-width: 11.5ch !important;
  font-size: clamp(34px, 10.6vw, 50px) !important;
  line-height: 1.03 !important;
}

.wp-admin .oliva-device-mobile .oliva-v120-page h2 {
  max-width: 13.5ch !important;
  font-size: clamp(28px, 8.2vw, 40px) !important;
  line-height: 1.08 !important;
}

.wp-admin .oliva-device-mobile .oliva-v120-page .oliva-v115-split,
.wp-admin .oliva-device-mobile .oliva-v120-page .oliva-v115-split-reverse {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 18px !important;
}

.wp-admin .oliva-device-mobile .oliva-v120-page .oliva-v115-split > .oliva-v115-copy,
.wp-admin .oliva-device-mobile .oliva-v120-page .oliva-v115-split-reverse > .oliva-v115-copy {
  order: 1 !important;
}

.wp-admin .oliva-device-mobile .oliva-v120-page .oliva-v115-split > .oliva-v115-image,
.wp-admin .oliva-device-mobile .oliva-v120-page .oliva-v115-split-reverse > .oliva-v115-image,
.wp-admin .oliva-device-mobile .oliva-v120-page .oliva-v115-split > .oliva-v115-embed-card,
.wp-admin .oliva-device-mobile .oliva-v120-page .oliva-v115-split-reverse > .oliva-v115-embed-card,
.wp-admin .oliva-device-mobile .oliva-v120-page .oliva-v115-split > .oliva-v115-map-card,
.wp-admin .oliva-device-mobile .oliva-v120-page .oliva-v115-split-reverse > .oliva-v115-map-card {
  order: 2 !important;
}

.wp-admin .oliva-device-mobile .oliva-v120-page .oliva-v115-actions,
.wp-admin .oliva-device-mobile .oliva-v120-page .oliva-v115-actions.compact {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 9px !important;
}

.wp-admin .oliva-device-mobile .oliva-v120-page :is(.oliva-home-button,.oliva-reservation-button,.oliva-tour-button,.oliva-about-button,.oliva-contact-button) {
  width: 100% !important;
  min-height: 48px !important;
  font-size: 10px !important;
  white-space: normal !important;
}

.wp-admin .oliva-device-mobile .oliva-v120-page .oliva-v115-image,
.wp-admin .oliva-device-mobile .oliva-v120-page .oliva-v115-image-tall,
.wp-admin .oliva-device-mobile .oliva-v120-page .oliva-v115-image-wide {
  min-height: 248px !important;
  max-height: 340px !important;
  border-radius: 22px !important;
}

.wp-admin .oliva-device-mobile .oliva-v120-page .oliva-v115-info-grid,
.wp-admin .oliva-device-mobile .oliva-v120-page .oliva-v115-section.oliva-v115-info-grid.oliva-v115-three {
  grid-template-columns: 1fr !important;
  gap: 10px !important;
}

.wp-admin .oliva-device-mobile .oliva-v120-page .oliva-v115-embed-card,
.wp-admin .oliva-device-mobile .oliva-v120-page .oliva-v115-map-card,
.wp-admin .oliva-device-mobile .oliva-v120-page .oliva-v115-tour-embed,
.wp-admin .oliva-device-mobile .oliva-v120-page .oliva-v115-embed-card iframe,
.wp-admin .oliva-device-mobile .oliva-v120-page .oliva-v115-map-card iframe {
  min-height: 360px !important;
  height: 360px !important;
}

.wp-admin .oliva-device-mobile .oliva-menu-v120,
.wp-admin .oliva-device-mobile .oliva-menu-v120.oliva-menu-full-width {
  padding: 8px !important;
  overflow-x: clip !important;
}

.wp-admin .oliva-device-mobile .oliva-menu-v120 .oliva-menu-content {
  padding: 10px !important;
  border-radius: 22px !important;
}

.wp-admin .oliva-device-mobile .oliva-menu-v120 .oliva-menu-hero-block {
  grid-template-columns: 1fr !important;
  gap: 18px !important;
  padding: 20px 15px !important;
}

.wp-admin .oliva-device-mobile .oliva-menu-v120 .oliva-menu-hero-copy {
  order: 1 !important;
}

.wp-admin .oliva-device-mobile .oliva-menu-v120 .oliva-menu-hero-media {
  order: 2 !important;
  min-height: 220px !important;
}

.wp-admin .oliva-device-mobile .oliva-menu-v120 .oliva-menu-hero-img-accent {
  display: none !important;
}

.wp-admin .oliva-device-mobile .oliva-menu-v120 .oliva-menu-title {
  font-size: 36px !important;
  line-height: 1.04 !important;
}

.wp-admin .oliva-device-mobile .oliva-menu-v120 .oliva-menu-nav {
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
  overflow-x: auto !important;
  scrollbar-width: none;
}

.wp-admin .oliva-device-mobile .oliva-menu-v120 .oliva-menu-nav a {
  flex: 0 0 auto !important;
}

.wp-admin .oliva-device-mobile .oliva-menu-v120 .oliva-menu-grid,
.wp-admin .oliva-device-mobile .oliva-menu-v120 .oliva-menu-section-wide .oliva-menu-items {
  grid-template-columns: 1fr !important;
}

.wp-admin .oliva-device-mobile .oliva-menu-v120 .oliva-menu-section-title {
  font-size: 29px !important;
  line-height: 1.08 !important;
  text-align: left !important;
}

.wp-admin .oliva-device-mobile .oliva-menu-v120 .oliva-menu-item,
.wp-admin .oliva-device-mobile .oliva-menu-v120 .oliva-menu-item-name,
.wp-admin .oliva-device-mobile .oliva-menu-v120 .oliva-menu-item-desc,
.wp-admin .oliva-device-mobile .oliva-menu-v120 .oliva-menu-section-subtitle {
  text-align: left !important;
}

/* v1.22.0 — restored premium home cover based on the classic Oliva first screen. */
.oliva-home-v122.oliva-cover-classic .oliva-v122-hero-cover {
  min-height: clamp(700px, 100svh, 980px) !important;
  align-items: center !important;
  justify-items: center;
  padding: clamp(118px, 10vw, 180px) 0 clamp(70px, 8vw, 120px) !important;
  background: #11110c;
  isolation: isolate;
}

.oliva-home-v122.oliva-cover-classic .oliva-v122-hero-cover .oliva-v115-hero-media img {
  object-fit: cover;
  object-position: center center;
  filter: saturate(1.03) contrast(1.02) brightness(.82) !important;
  transform: scale(1.018) !important;
}

.oliva-home-v122.oliva-cover-classic .oliva-v122-hero-cover .oliva-v115-hero-shade {
  background:
    radial-gradient(circle at 50% 56%, rgba(0, 0, 0, .06) 0%, rgba(0, 0, 0, .28) 52%, rgba(0, 0, 0, .58) 100%),
    linear-gradient(180deg, rgba(8, 8, 5, .34) 0%, rgba(8, 8, 5, .16) 38%, rgba(8, 8, 5, .40) 100%) !important;
}

.oliva-home-v122.oliva-cover-classic .oliva-v122-hero-cover .oliva-v115-hero-copy {
  width: min(980px, calc(100% - clamp(34px, 8vw, 112px))) !important;
  max-width: 980px !important;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.oliva-home-v122.oliva-cover-classic .oliva-v122-hero-cover .oliva-v115-eyebrow {
  margin: 0 0 clamp(16px, 1.8vw, 24px) !important;
  color: rgba(255, 248, 232, .88) !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase;
  font-weight: 800 !important;
  text-shadow: 0 6px 18px rgba(0, 0, 0, .42);
}

.oliva-home-v122.oliva-cover-classic .oliva-v122-hero-cover .oliva-v115-eyebrow:empty {
  display: none !important;
}

.oliva-home-v122.oliva-cover-classic .oliva-v122-hero-cover h1 {
  max-width: 960px !important;
  margin: 0 0 clamp(24px, 3vw, 36px) !important;
  color: #fff8ec !important;
  font-size: clamp(58px, 7.4vw, 108px) !important;
  line-height: .98 !important;
  font-weight: 600 !important;
  letter-spacing: -.045em !important;
  text-align: center;
  text-wrap: balance;
  text-shadow: 0 24px 58px rgba(0, 0, 0, .50), 0 2px 8px rgba(0, 0, 0, .38);
}

.oliva-home-v122.oliva-cover-classic .oliva-v122-hero-cover .oliva-v115-lead {
  max-width: 700px !important;
  margin: -8px 0 clamp(22px, 2.4vw, 30px) !important;
  color: rgba(255, 248, 232, .88) !important;
  font-size: clamp(16px, 1.35vw, 20px) !important;
  line-height: 1.55 !important;
  text-align: center;
  text-shadow: 0 10px 28px rgba(0, 0, 0, .36);
}

.oliva-home-v122.oliva-cover-classic .oliva-v122-cover-actions {
  justify-content: center !important;
  align-items: center !important;
  gap: clamp(18px, 2vw, 30px) !important;
}

.oliva-home-v122.oliva-cover-classic .oliva-v122-hero-cover .oliva-home-button {
  box-shadow: none !important;
}

.oliva-home-v122.oliva-cover-classic .oliva-v122-hero-cover .oliva-home-button-primary {
  min-height: 56px !important;
  padding: 18px 34px !important;
  border-radius: 0 !important;
  border-color: #e96513 !important;
  background: #e96513 !important;
  color: #fffaf0 !important;
  letter-spacing: .105em !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

.oliva-home-v122.oliva-cover-classic .oliva-v122-hero-cover .oliva-home-button-secondary {
  min-height: auto !important;
  padding: 10px 2px 8px !important;
  border: 0 !important;
  border-bottom: 2px solid rgba(255, 250, 240, .74) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #fffaf0 !important;
  letter-spacing: .105em !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

.oliva-home-v122.oliva-cover-classic .oliva-v122-hero-cover .oliva-home-button-primary:hover,
.oliva-home-v122.oliva-cover-classic .oliva-v122-hero-cover .oliva-home-button-primary:focus-visible {
  background: #f07218 !important;
  border-color: #f07218 !important;
  color: #fffaf0 !important;
}

.oliva-home-v122.oliva-cover-classic .oliva-v122-hero-cover .oliva-home-button-secondary:hover,
.oliva-home-v122.oliva-cover-classic .oliva-v122-hero-cover .oliva-home-button-secondary:focus-visible {
  background: transparent !important;
  border-bottom-color: #fffaf0 !important;
  color: #fffaf0 !important;
}

.oliva-home-v122.oliva-cover-classic .oliva-v122-cover-facts {
  display: none !important;
}

.oliva-home-v122.oliva-cover-classic .oliva-v122-scroll-cue {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin-top: clamp(36px, 4.8vw, 66px);
  color: rgba(255, 250, 240, .72);
  text-decoration: none;
  text-transform: uppercase;
  font-size: 10px;
  line-height: 1;
  letter-spacing: .18em;
  font-weight: 800;
  text-shadow: 0 8px 24px rgba(0, 0, 0, .35);
}

.oliva-home-v122.oliva-cover-classic .oliva-v122-scroll-cue::after {
  content: "";
  width: 1px;
  height: 34px;
  background: linear-gradient(180deg, rgba(255, 250, 240, .76), rgba(255, 250, 240, 0));
}

.oliva-home-v122.oliva-cover-classic .oliva-v115-main {
  padding-top: clamp(58px, 7vw, 106px) !important;
}

@media (max-width: 767px) {
  .oliva-home-v122.oliva-cover-classic .oliva-v122-hero-cover {
    min-height: 100svh !important;
    padding: clamp(92px, 18vw, 122px) 0 clamp(56px, 13vw, 84px) !important;
  }

  .oliva-home-v122.oliva-cover-classic .oliva-v122-hero-cover .oliva-v115-hero-copy {
    width: calc(100% - 34px) !important;
  }

  .oliva-home-v122.oliva-cover-classic .oliva-v122-hero-cover h1 {
    font-size: clamp(48px, 14vw, 68px) !important;
    line-height: .98 !important;
    letter-spacing: -.045em !important;
    margin-bottom: 22px !important;
  }

  .oliva-home-v122.oliva-cover-classic .oliva-v122-hero-cover .oliva-v115-lead {
    max-width: 330px !important;
    margin: -4px 0 22px !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
  }

  .oliva-home-v122.oliva-cover-classic .oliva-v122-cover-actions {
    flex-direction: column !important;
    align-items: center !important;
    gap: 14px !important;
  }

  .oliva-home-v122.oliva-cover-classic .oliva-v122-hero-cover .oliva-home-button-primary {
    width: auto !important;
    min-width: min(276px, 100%) !important;
    min-height: 52px !important;
    padding: 16px 24px !important;
    font-size: 11px !important;
  }

  .oliva-home-v122.oliva-cover-classic .oliva-v122-hero-cover .oliva-home-button-secondary {
    width: auto !important;
    min-width: 0 !important;
    font-size: 11px !important;
  }

  .oliva-home-v122.oliva-cover-classic .oliva-v122-scroll-cue {
    margin-top: 32px;
    font-size: 9px;
  }
}

.wp-admin .oliva-device-mobile .oliva-home-v122.oliva-cover-classic .oliva-v122-hero-cover {
  min-height: 650px !important;
  padding: 86px 0 52px !important;
}

.wp-admin .oliva-device-mobile .oliva-home-v122.oliva-cover-classic .oliva-v122-hero-cover h1 {
  font-size: 48px !important;
  line-height: .98 !important;
  max-width: 100% !important;
}

.wp-admin .oliva-device-mobile .oliva-home-v122.oliva-cover-classic .oliva-v122-cover-actions {
  flex-direction: column !important;
  align-items: center !important;
}

.wp-admin .oliva-device-mobile .oliva-home-v122.oliva-cover-classic .oliva-v122-hero-cover .oliva-home-button-primary,
.wp-admin .oliva-device-mobile .oliva-home-v122.oliva-cover-classic .oliva-v122-hero-cover .oliva-home-button-secondary {
  width: auto !important;
}

.wp-admin .oliva-device-tablet .oliva-home-v122.oliva-cover-classic .oliva-v122-hero-cover {
  min-height: 720px !important;
  padding: 110px 0 70px !important;
}

.wp-admin .oliva-device-tablet .oliva-home-v122.oliva-cover-classic .oliva-v122-hero-cover h1 {
  font-size: 72px !important;
  line-height: .98 !important;
}

/* v1.22.0 · Signature homepage cover
   Restores the strength of the original Oliva cover: one dominant venue image,
   clean centered brand title, reserve/transport actions, and no heavy chips in the first fold. */
.oliva-home-v122 .oliva-v115-hero-home {
  min-height: clamp(720px, 100svh, 1040px) !important;
  align-items: center !important;
  padding: clamp(92px, 10vw, 154px) 0 clamp(58px, 7vw, 92px) !important;
  background: #070907 !important;
}

.oliva-home-v122 .oliva-v115-hero-media img {
  object-position: center center !important;
  filter: saturate(1.03) contrast(1.03) brightness(.88) !important;
  transform: scale(1.018) !important;
}

.oliva-home-v122 .oliva-v115-hero-shade {
  background:
    radial-gradient(ellipse at 50% 45%, rgba(0, 0, 0, .12) 0%, rgba(0, 0, 0, .08) 34%, rgba(0, 0, 0, .42) 72%, rgba(0, 0, 0, .70) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, .52) 0%, rgba(0, 0, 0, .16) 38%, rgba(0, 0, 0, .22) 58%, rgba(0, 0, 0, .68) 100%) !important;
}

.oliva-home-v122 .oliva-v115-hero-copy {
  max-width: min(980px, calc(100% - 36px)) !important;
  margin-inline: auto !important;
  text-align: center !important;
  padding-top: clamp(30px, 6vh, 90px) !important;
}

.oliva-home-v122 .oliva-v115-hero-copy .oliva-v115-eyebrow {
  display: none !important;
}

.oliva-home-v122 .oliva-v115-hero-copy h1 {
  max-width: none !important;
  margin: 0 auto clamp(24px, 3vw, 34px) !important;
  color: #fff8ee !important;
  font-family: inherit !important;
  font-size: clamp(58px, 7.3vw, 104px) !important;
  line-height: .98 !important;
  font-weight: 700 !important;
  letter-spacing: -.035em !important;
  text-align: center !important;
  text-shadow: 0 12px 40px rgba(0,0,0,.38) !important;
}

.oliva-home-v122 .oliva-v115-lead {
  max-width: 680px !important;
  margin: -8px auto 28px !important;
  color: rgba(255,248,238,.88) !important;
  text-align: center !important;
  text-shadow: 0 10px 28px rgba(0,0,0,.34) !important;
}

.oliva-home-v122 .oliva-v122-cover-actions {
  justify-content: center !important;
  align-items: center !important;
  gap: clamp(14px, 2vw, 24px) !important;
}

.oliva-home-v122 .oliva-v122-cover-actions .oliva-home-button {
  border-radius: 0 !important;
  min-height: 54px !important;
  padding: 17px 29px !important;
  font-size: 12px !important;
  letter-spacing: .13em !important;
  box-shadow: 0 18px 44px rgba(0,0,0,.20) !important;
}

.oliva-home-v122 .oliva-v122-cover-actions .oliva-home-button-primary {
  background: #e55f12 !important;
  border-color: #e55f12 !important;
  color: #fff8ee !important;
}

.oliva-home-v122 .oliva-v122-cover-actions .oliva-home-button-secondary {
  min-height: 44px !important;
  padding-inline: 2px !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255,248,238,.82) !important;
  color: #fff8ee !important;
  box-shadow: none !important;
}

.oliva-home-v122 .oliva-v122-cover-actions .oliva-home-button:hover,
.oliva-home-v122 .oliva-v122-cover-actions .oliva-home-button:focus-visible {
  transform: translateY(-2px) !important;
}

.oliva-home-v122 .oliva-v122-cover-facts {
  display: none !important;
}

.oliva-home-v122 .oliva-v122-scroll-cue {
  position: absolute !important;
  left: 50% !important;
  bottom: clamp(22px, 4vh, 42px) !important;
  z-index: 3 !important;
  transform: translateX(-50%) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: rgba(255,248,238,.78) !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  letter-spacing: .18em !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  text-shadow: 0 10px 28px rgba(0,0,0,.40) !important;
}

.oliva-home-v122 .oliva-v122-scroll-cue::after {
  content: "";
  width: 34px;
  height: 1px;
  background: rgba(255,248,238,.62);
}

.oliva-home-v122 .oliva-v115-main {
  padding-top: clamp(70px, 7vw, 118px) !important;
}

@media (max-width: 780px) {
  .oliva-home-v122 .oliva-v115-hero-home {
    min-height: 94svh !important;
    padding: 96px 0 76px !important;
  }

  .oliva-home-v122 .oliva-v115-hero-media img {
    object-position: center center !important;
    transform: scale(1.03) !important;
    filter: saturate(1.02) contrast(1.03) brightness(.82) !important;
  }

  .oliva-home-v122 .oliva-v115-hero-shade {
    background:
      linear-gradient(180deg, rgba(0,0,0,.62) 0%, rgba(0,0,0,.16) 36%, rgba(0,0,0,.22) 58%, rgba(0,0,0,.74) 100%) !important;
  }

  .oliva-home-v122 .oliva-v115-hero-copy {
    width: min(100% - 30px, 480px) !important;
    padding-top: 12vh !important;
  }

  .oliva-home-v122 .oliva-v115-hero-copy h1 {
    max-width: 11ch !important;
    font-size: clamp(48px, 15vw, 72px) !important;
    line-height: .98 !important;
  }

  .oliva-home-v122 .oliva-v115-lead {
    font-size: 15.5px !important;
    line-height: 1.55 !important;
  }

  .oliva-home-v122 .oliva-v122-cover-actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }

  .oliva-home-v122 .oliva-v122-cover-actions .oliva-home-button {
    width: min(100%, 286px) !important;
  }

  .oliva-home-v122 .oliva-v122-cover-actions .oliva-home-button-secondary {
    width: auto !important;
    min-height: 36px !important;
  }

  .oliva-home-v122 .oliva-v122-scroll-cue {
    bottom: 76px !important;
  }
}

@media (max-width: 430px) {
  .oliva-home-v122 .oliva-v115-hero-copy h1 {
    font-size: clamp(44px, 14.2vw, 62px) !important;
  }

  .oliva-home-v122 .oliva-v122-scroll-cue {
    display: none !important;
  }
}

/* Admin device previews: force the new signature cover to behave like the real viewport. */
.wp-admin .oliva-device-mobile .oliva-home-v122 .oliva-v115-hero-home,
.wp-admin .oliva-device-tablet .oliva-home-v122 .oliva-v115-hero-home {
  min-height: 82svh !important;
  padding: 92px 0 72px !important;
}

.wp-admin .oliva-device-mobile .oliva-home-v122 .oliva-v115-hero-copy {
  width: min(100% - 26px, 430px) !important;
  padding-top: 10vh !important;
  text-align: center !important;
}

.wp-admin .oliva-device-mobile .oliva-home-v122 .oliva-v115-hero-copy h1 {
  max-width: 11ch !important;
  font-size: clamp(44px, 14.5vw, 62px) !important;
  line-height: .98 !important;
}

.wp-admin .oliva-device-mobile .oliva-home-v122 .oliva-v122-cover-actions {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 10px !important;
}

.wp-admin .oliva-device-mobile .oliva-home-v122 .oliva-v122-cover-actions .oliva-home-button {
  width: min(100%, 260px) !important;
}

.wp-admin .oliva-device-mobile .oliva-home-v122 .oliva-v122-scroll-cue {
  display: none !important;
}

.wp-admin .oliva-device-tablet .oliva-home-v122 .oliva-v115-hero-copy h1 {
  font-size: clamp(58px, 9vw, 86px) !important;
}


/* v1.23.0 · Owner-visible homepage refresh: keep the strong classic cover, add restrained premium detail. */
.oliva-home-v123 .oliva-v115-hero-home {
  min-height: clamp(760px, 100svh, 1060px) !important;
}

.oliva-home-v123 .oliva-v115-hero-media img {
  filter: saturate(1.06) contrast(1.04) brightness(.93) !important;
  transform: scale(1.012) !important;
}

.oliva-home-v123 .oliva-v115-hero-shade {
  background:
    radial-gradient(ellipse at 50% 46%, rgba(0,0,0,.03) 0%, rgba(0,0,0,.10) 35%, rgba(0,0,0,.44) 76%, rgba(0,0,0,.70) 100%),
    linear-gradient(180deg, rgba(10,9,5,.34) 0%, rgba(10,9,5,.10) 38%, rgba(10,9,5,.16) 58%, rgba(10,9,5,.62) 100%) !important;
}

.oliva-home-v123 .oliva-v115-hero-copy .oliva-v115-eyebrow {
  display: block !important;
  color: rgba(255,248,238,.92) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  margin-bottom: clamp(14px, 1.7vw, 22px) !important;
}

.oliva-home-v123 .oliva-v115-hero-copy h1 {
  font-size: clamp(64px, 7.6vw, 116px) !important;
  letter-spacing: -.04em !important;
  text-shadow: 0 18px 52px rgba(0,0,0,.36), 0 2px 10px rgba(0,0,0,.28) !important;
}

.oliva-home-v123 .oliva-v115-lead {
  display: block !important;
  max-width: 640px !important;
  margin: -10px auto clamp(24px, 2.4vw, 34px) !important;
  color: rgba(255,248,238,.90) !important;
  font-size: clamp(15.5px, 1.15vw, 18px) !important;
  line-height: 1.58 !important;
  text-align: center !important;
}

.oliva-home-v123 .oliva-v122-cover-actions .oliva-home-button-primary {
  background: #ef6a18 !important;
  border-color: #ef6a18 !important;
  box-shadow: 0 20px 50px rgba(0,0,0,.22) !important;
}

.oliva-home-v123 .oliva-v122-cover-actions .oliva-home-button-secondary {
  border-bottom-width: 2px !important;
}

.oliva-home-v123 .oliva-v123-signature-strip {
  position: relative;
  z-index: 5;
  margin-top: clamp(-58px, -4.8vw, -34px);
  padding: 0 clamp(16px, 3vw, 34px);
  background: transparent;
}

.oliva-home-v123 .oliva-v123-signature-strip-inner {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 1120px !important;
  gap: 0;
  background: rgba(255, 250, 238, .94);
  border: 1px solid rgba(50, 74, 37, .16);
  box-shadow: 0 28px 80px rgba(18, 24, 12, .22);
  backdrop-filter: blur(10px);
}

.oliva-home-v123 .oliva-v123-signature-card {
  min-height: 150px;
  padding: clamp(24px, 2.6vw, 34px);
  border-right: 1px solid rgba(50, 74, 37, .14);
}

.oliva-home-v123 .oliva-v123-signature-card:last-child {
  border-right: 0;
}

.oliva-home-v123 .oliva-v123-signature-card span {
  display: block;
  margin-bottom: 18px;
  color: #bf7a28;
  font-size: 11px;
  line-height: 1;
  letter-spacing: .20em;
  font-weight: 900;
}

.oliva-home-v123 .oliva-v123-signature-card h2 {
  margin: 0 0 10px !important;
  color: #17210f !important;
  font-size: clamp(20px, 1.45vw, 25px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.02em !important;
}

.oliva-home-v123 .oliva-v123-signature-card p {
  margin: 0 !important;
  color: rgba(23, 33, 15, .72) !important;
  font-size: 14.5px !important;
  line-height: 1.62 !important;
}

.oliva-home-v123 .oliva-v115-main {
  padding-top: clamp(74px, 7vw, 128px) !important;
}

@media (max-width: 780px) {
  .oliva-home-v123 .oliva-v115-hero-home {
    min-height: 100svh !important;
    padding: 92px 0 92px !important;
  }

  .oliva-home-v123 .oliva-v115-hero-copy .oliva-v115-eyebrow {
    font-size: 9.5px !important;
    letter-spacing: .18em !important;
    margin-bottom: 16px !important;
  }

  .oliva-home-v123 .oliva-v115-hero-copy h1 {
    max-width: 10.5ch !important;
    font-size: clamp(50px, 14.7vw, 68px) !important;
    line-height: .96 !important;
    margin-bottom: 20px !important;
  }

  .oliva-home-v123 .oliva-v115-lead {
    max-width: 310px !important;
    margin: -4px auto 24px !important;
    font-size: 14.5px !important;
    line-height: 1.55 !important;
  }

  .oliva-home-v123 .oliva-v123-signature-strip {
    margin-top: 0;
    padding: 0;
  }

  .oliva-home-v123 .oliva-v123-signature-strip-inner {
    grid-template-columns: 1fr;
    max-width: none !important;
    border-left: 0;
    border-right: 0;
    box-shadow: none;
    background: #fff8ee;
  }

  .oliva-home-v123 .oliva-v123-signature-card {
    min-height: 0;
    padding: 24px 24px 22px;
    border-right: 0;
    border-bottom: 1px solid rgba(50, 74, 37, .14);
  }

  .oliva-home-v123 .oliva-v123-signature-card:last-child {
    border-bottom: 0;
  }

  .oliva-home-v123 .oliva-v123-signature-card span {
    margin-bottom: 12px;
  }

  .oliva-home-v123 .oliva-v123-signature-card h2 {
    font-size: 22px !important;
  }

  .oliva-home-v123 .oliva-v115-main {
    padding-top: 54px !important;
  }
}

.wp-admin .oliva-device-mobile .oliva-home-v123 .oliva-v115-hero-home {
  min-height: 660px !important;
  padding: 84px 0 80px !important;
}

.wp-admin .oliva-device-mobile .oliva-home-v123 .oliva-v115-hero-copy .oliva-v115-eyebrow {
  display: block !important;
  font-size: 9px !important;
  letter-spacing: .17em !important;
}

.wp-admin .oliva-device-mobile .oliva-home-v123 .oliva-v115-lead {
  display: block !important;
  max-width: 285px !important;
  font-size: 14px !important;
}

.wp-admin .oliva-device-mobile .oliva-home-v123 .oliva-v123-signature-strip-inner {
  grid-template-columns: 1fr !important;
}


/* v1.24.0 · Premium Wine List managed page */
.oliva-wine-plugin{--oliva-green:#182316;--oliva-green-2:#26331f;--oliva-cream:#fff8ec;--oliva-paper:#fbf4e8;--oliva-gold:#b99a63;--oliva-muted:#6f6a5f;position:relative;width:100%;color:var(--oliva-green);font-family:inherit;background:transparent;box-sizing:border-box}.oliva-wine-plugin *{box-sizing:border-box}.oliva-wine-full-width{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}.oliva-wine-content{max-width:1180px;margin:0 auto;padding:clamp(28px,5vw,72px) clamp(18px,4vw,46px);background:linear-gradient(180deg,rgba(255,248,236,.96),rgba(246,239,225,.94));box-shadow:0 28px 80px rgba(15,20,12,.18)}.oliva-wine-hero-block{display:grid;grid-template-columns:minmax(0,.92fr) minmax(320px,.78fr);gap:clamp(22px,4vw,56px);align-items:center;padding:clamp(18px,3vw,36px) 0 clamp(28px,4vw,56px);border-bottom:1px solid rgba(38,51,31,.15)}.oliva-wine-eyebrow,.oliva-wine-nav-label{display:block;color:var(--oliva-gold);font-size:11px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.oliva-wine-title{margin:.22em 0 .28em;color:var(--oliva-green);font-size:clamp(42px,7vw,92px);line-height:.9;letter-spacing:-.065em}.oliva-wine-intro{max-width:680px;margin:0;color:#30382a;font-size:clamp(17px,1.55vw,22px);line-height:1.55}.oliva-wine-note{max-width:620px;margin:18px 0 0;color:var(--oliva-muted);font-size:14px;line-height:1.65}.oliva-wine-hero-media{position:relative;min-height:360px}.oliva-wine-hero-media img{display:block;width:100%;height:100%;object-fit:cover;border-radius:30px;box-shadow:0 22px 60px rgba(24,35,22,.18)}.oliva-wine-hero-img-main{position:absolute;inset:0}.oliva-wine-hero-img-accent{position:absolute;right:-16px;bottom:-22px;width:46%!important;height:44%!important;border:10px solid var(--oliva-paper);border-radius:24px!important}.oliva-wine-nav-wrap{position:sticky;top:0;z-index:3;margin:0 calc(clamp(18px,4vw,46px) * -1) clamp(24px,4vw,42px);padding:14px clamp(18px,4vw,46px);background:rgba(251,244,232,.91);backdrop-filter:blur(18px);border-bottom:1px solid rgba(38,51,31,.12)}.oliva-wine-nav{display:flex;gap:8px;overflow-x:auto;scrollbar-width:thin;padding:8px 0 2px}.oliva-wine-nav a{flex:0 0 auto;text-decoration:none;color:var(--oliva-green);border:1px solid rgba(38,51,31,.16);border-radius:999px;padding:9px 13px;font-size:12px;font-weight:850;letter-spacing:.02em;background:rgba(255,255,255,.55)}.oliva-wine-nav a:hover,.oliva-wine-nav a:focus{border-color:rgba(185,154,99,.7);background:#fffdf8;color:#141b12}.oliva-wine-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2.4vw,30px)}.oliva-wine-section{padding:clamp(20px,3vw,34px);border:1px solid rgba(38,51,31,.12);border-radius:28px;background:rgba(255,253,248,.72)}.oliva-wine-section:nth-child(3),.oliva-wine-section:nth-child(5),.oliva-wine-section:nth-child(6),.oliva-wine-section:nth-child(7){grid-column:1/-1}.oliva-wine-section-heading{margin:0 0 18px}.oliva-wine-section-title{margin:0;color:var(--oliva-green);font-size:clamp(24px,3.2vw,44px);line-height:1;letter-spacing:-.04em}.oliva-wine-groups{display:grid;gap:18px}.oliva-wine-section:nth-child(5) .oliva-wine-groups,.oliva-wine-section:nth-child(6) .oliva-wine-groups,.oliva-wine-section:nth-child(7) .oliva-wine-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.oliva-wine-group-title{margin:0 0 10px;color:#7b6544;font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.oliva-wine-items{list-style:none;margin:0;padding:0;display:grid;gap:0}.oliva-wine-items li{position:relative;margin:0;padding:11px 0 11px 18px;border-top:1px solid rgba(38,51,31,.09);color:#293324;font-size:15px;line-height:1.45}.oliva-wine-items li:first-child{border-top:0}.oliva-wine-items li:before{content:"";position:absolute;left:0;top:20px;width:6px;height:6px;border-radius:50%;background:var(--oliva-gold)}.oliva-admin-preview-shell .oliva-wine-full-width{width:100%;max-width:100%;margin:0}.oliva-admin-preview-shell .oliva-wine-content{max-width:100%;box-shadow:none}.oliva-device-mobile .oliva-wine-content{padding:26px 16px}.oliva-device-mobile .oliva-wine-hero-block{display:block}.oliva-device-mobile .oliva-wine-title{font-size:46px;letter-spacing:-.055em}.oliva-device-mobile .oliva-wine-intro{font-size:16px}.oliva-device-mobile .oliva-wine-hero-media{min-height:240px;margin-top:22px}.oliva-device-mobile .oliva-wine-hero-img-accent{display:none}.oliva-device-mobile .oliva-wine-grid,.oliva-device-mobile .oliva-wine-section:nth-child(5) .oliva-wine-groups,.oliva-device-mobile .oliva-wine-section:nth-child(6) .oliva-wine-groups,.oliva-device-mobile .oliva-wine-section:nth-child(7) .oliva-wine-groups{grid-template-columns:1fr}.oliva-device-mobile .oliva-wine-section{grid-column:auto!important;padding:20px 16px;border-radius:22px}.oliva-device-mobile .oliva-wine-section-title{font-size:29px}.oliva-device-mobile .oliva-wine-items li{font-size:14px;padding:10px 0 10px 16px}@media(max-width:900px){.oliva-wine-full-width{width:100%;max-width:100%;margin-left:0;margin-right:0}.oliva-wine-content{padding:28px 18px}.oliva-wine-hero-block{display:block}.oliva-wine-hero-media{min-height:280px;margin-top:24px}.oliva-wine-hero-img-accent{display:none}.oliva-wine-nav-wrap{position:relative;top:auto;margin:0 -18px 24px;padding:12px 18px}.oliva-wine-grid,.oliva-wine-section:nth-child(5) .oliva-wine-groups,.oliva-wine-section:nth-child(6) .oliva-wine-groups,.oliva-wine-section:nth-child(7) .oliva-wine-groups{grid-template-columns:1fr}.oliva-wine-section,.oliva-wine-section:nth-child(3),.oliva-wine-section:nth-child(5),.oliva-wine-section:nth-child(6),.oliva-wine-section:nth-child(7){grid-column:auto}.oliva-wine-title{font-size:clamp(42px,13vw,62px)}.oliva-wine-section-title{font-size:31px}}@media(max-width:520px){.oliva-wine-content{padding:22px 14px}.oliva-wine-title{font-size:44px}.oliva-wine-intro{font-size:16px}.oliva-wine-note{font-size:13px}.oliva-wine-hero-media{min-height:230px}.oliva-wine-section{padding:20px 16px;border-radius:22px}.oliva-wine-items li{font-size:14px}.oliva-wine-nav a{font-size:11px;padding:8px 11px}}

/* v1.24.0 · Menu to Wine List CTA */
.oliva-menu-wine-cta{margin:22px 0 0!important}.oliva-menu-wine-cta a{display:inline-flex;align-items:center;gap:10px;text-decoration:none!important;color:#17210f!important;background:#fff8ec;border:1px solid rgba(185,154,99,.54);border-radius:999px;padding:12px 18px;font-size:12px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;box-shadow:0 14px 36px rgba(22,31,18,.12)}.oliva-menu-wine-cta a:after{content:"→";font-size:14px;line-height:1;color:#b99a63}.oliva-menu-wine-cta a:hover,.oliva-menu-wine-cta a:focus{background:#ffffff;border-color:#b99a63;color:#111a0e!important}
@media(max-width:520px){.oliva-menu-wine-cta a{width:100%;justify-content:center;padding:13px 16px;font-size:11px}}

/* v1.24.1 · Wine List contrast audit and fix.
   Purpose: override theme heading colors and improve readability on cream cards. */
.oliva-wine-plugin.oliva-wine-v124,
.entry-content .oliva-wine-plugin.oliva-wine-v124,
.site-content .oliva-wine-plugin.oliva-wine-v124 {
  --oliva-green: #162214;
  --oliva-green-2: #25351f;
  --oliva-cream: #fff8ea;
  --oliva-paper: #f8eedc;
  --oliva-gold: #8f642b;
  --oliva-muted: #4f4a40;
  color: #1d2819 !important;
}

.oliva-wine-plugin.oliva-wine-v124 .oliva-wine-content {
  background:
    radial-gradient(circle at 82% 0%, rgba(143, 100, 43, .09), transparent 34%),
    linear-gradient(180deg, #fff8eb 0%, #f7eedf 52%, #f4ead9 100%) !important;
  color: #1d2819 !important;
}

.oliva-wine-plugin.oliva-wine-v124 .oliva-wine-eyebrow,
.oliva-wine-plugin.oliva-wine-v124 .oliva-wine-nav-label {
  color: #7b5426 !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

.oliva-wine-plugin.oliva-wine-v124 .oliva-wine-title,
.entry-content .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-title,
.site-content .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-title {
  color: #162214 !important;
  opacity: 1 !important;
  text-shadow: none !important;
  mix-blend-mode: normal !important;
}

.oliva-wine-plugin.oliva-wine-v124 .oliva-wine-intro {
  color: #25301f !important;
  opacity: 1 !important;
}

.oliva-wine-plugin.oliva-wine-v124 .oliva-wine-note {
  color: #514b40 !important;
  opacity: 1 !important;
}

.oliva-wine-plugin.oliva-wine-v124 .oliva-wine-nav-wrap {
  background: rgba(250, 241, 224, .96) !important;
  border-top: 1px solid rgba(22, 34, 20, .10) !important;
  border-bottom: 1px solid rgba(22, 34, 20, .16) !important;
}

.oliva-wine-plugin.oliva-wine-v124 .oliva-wine-nav a,
.entry-content .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-nav a {
  color: #162214 !important;
  background: #fffaf1 !important;
  border-color: rgba(22, 34, 20, .22) !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

.oliva-wine-plugin.oliva-wine-v124 .oliva-wine-nav a:hover,
.oliva-wine-plugin.oliva-wine-v124 .oliva-wine-nav a:focus,
.entry-content .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-nav a:hover,
.entry-content .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-nav a:focus {
  color: #0e170d !important;
  background: #ffffff !important;
  border-color: #8f642b !important;
  outline: 2px solid rgba(143, 100, 43, .22) !important;
  outline-offset: 2px !important;
}

.oliva-wine-plugin.oliva-wine-v124 .oliva-wine-section {
  background: linear-gradient(180deg, rgba(255, 252, 245, .96), rgba(250, 244, 234, .96)) !important;
  border-color: rgba(22, 34, 20, .20) !important;
  box-shadow: 0 18px 48px rgba(22, 34, 20, .08) !important;
  color: #202b1c !important;
}

.oliva-wine-plugin.oliva-wine-v124 .oliva-wine-section-heading {
  border-bottom: 1px solid rgba(22, 34, 20, .12) !important;
  margin-bottom: 18px !important;
  padding-bottom: 14px !important;
}

.oliva-wine-plugin.oliva-wine-v124 .oliva-wine-section-title,
.entry-content .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-section-title,
.site-content .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-section-title,
#page .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-section-title,
.wp-admin .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-section-title {
  color: #162214 !important;
  opacity: 1 !important;
  text-shadow: none !important;
  mix-blend-mode: normal !important;
  -webkit-text-fill-color: #162214 !important;
}

.oliva-wine-plugin.oliva-wine-v124 .oliva-wine-group-title,
.entry-content .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-group-title,
.site-content .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-group-title,
#page .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-group-title,
.wp-admin .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-group-title {
  color: #704f25 !important;
  opacity: 1 !important;
  text-shadow: none !important;
  -webkit-text-fill-color: #704f25 !important;
}

.oliva-wine-plugin.oliva-wine-v124 .oliva-wine-items li,
.entry-content .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-items li,
.site-content .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-items li,
#page .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-items li,
.wp-admin .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-items li {
  color: #202a1c !important;
  border-top-color: rgba(22, 34, 20, .13) !important;
  opacity: 1 !important;
  text-shadow: none !important;
  -webkit-text-fill-color: #202a1c !important;
}

.oliva-wine-plugin.oliva-wine-v124 .oliva-wine-items li::before {
  background: #8f642b !important;
  box-shadow: 0 0 0 3px rgba(143, 100, 43, .10) !important;
}

.oliva-wine-plugin.oliva-wine-v124 ::selection {
  color: #fffaf1 !important;
  background: #24351f !important;
  -webkit-text-fill-color: #fffaf1 !important;
}

@media (max-width: 900px) {
  .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-section-heading {
    margin-bottom: 16px !important;
    padding-bottom: 12px !important;
  }
}

.wp-admin .oliva-device-mobile .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-section-title,
.wp-admin .oliva-device-tablet .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-section-title,
.wp-admin .oliva-device-mobile .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-group-title,
.wp-admin .oliva-device-tablet .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-group-title,
.wp-admin .oliva-device-mobile .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-items li,
.wp-admin .oliva-device-tablet .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-items li {
  opacity: 1 !important;
  text-shadow: none !important;
}

/* v1.25.0 · Premium homepage image, card and typography repair.
   Fixes oversized crops, non-filling images, text/image collisions and inconsistent card heights.
   Applies to live pages and admin previews. */
.oliva-home-v123 .oliva-v115-split,
.oliva-home-v123 .oliva-v115-split-reverse {
  align-items: start !important;
}

.oliva-home-v123 .oliva-v115-copy {
  position: relative;
  z-index: 2;
}

.oliva-home-v123 .oliva-v115-image,
.oliva-home-v123 .oliva-v115-image-tall,
.oliva-home-v123 .oliva-v115-image-wide,
.oliva-home-v123 .oliva-v115-booking-card .oliva-v115-image,
.oliva-home-v123 .oliva-v119-chef-card .oliva-v115-image,
.oliva-home-v123 .oliva-v119-gallery-card .oliva-v115-image,
.oliva-home-v123 .oliva-v115-location-card img {
  min-height: 0 !important;
}

.oliva-home-v123 .oliva-v115-image,
.oliva-home-v123 .oliva-v115-booking-card .oliva-v115-image,
.oliva-home-v123 .oliva-v119-gallery-card .oliva-v115-image,
.oliva-home-v123 .oliva-v119-chef-card .oliva-v115-image,
.oliva-home-v123 .oliva-v115-location-card img {
  position: relative !important;
  overflow: hidden !important;
}

.oliva-home-v123 .oliva-v115-image > img,
.oliva-home-v123 .oliva-v115-booking-card .oliva-v115-image > img,
.oliva-home-v123 .oliva-v119-gallery-card .oliva-v115-image > img,
.oliva-home-v123 .oliva-v119-chef-card .oliva-v115-image > img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.oliva-home-v123 .oliva-v115-intro .oliva-v115-image,
.oliva-home-v123 .oliva-v115-experience .oliva-v115-image {
  aspect-ratio: 4 / 5 !important;
  max-height: 720px !important;
}

.oliva-home-v123 .oliva-v115-recommendations > .oliva-v115-image {
  aspect-ratio: 5 / 4 !important;
  max-height: 560px !important;
}

.oliva-home-v123 .oliva-v115-image-wide {
  width: min(920px, 100%) !important;
  aspect-ratio: 16 / 10 !important;
  max-height: 560px !important;
  margin: 30px auto 0 !important;
}

.oliva-home-v123 .oliva-v115-photo-band {
  overflow: hidden !important;
}

.oliva-home-v123 .oliva-v119-chef-list,
.oliva-home-v123 .oliva-v119-gallery-list {
  align-items: start !important;
}

.oliva-home-v123 .oliva-v119-chef-card .oliva-v115-image {
  aspect-ratio: 4 / 5 !important;
  max-height: 520px !important;
}

.oliva-home-v123 .oliva-v119-gallery-card .oliva-v115-image {
  aspect-ratio: 4 / 3 !important;
  max-height: 420px !important;
}

.oliva-home-v123 .oliva-v119-image-note {
  position: relative !important;
  z-index: 2 !important;
}

.oliva-home-v123 .oliva-v115-location-card {
  align-items: stretch !important;
}

.oliva-home-v123 .oliva-v115-location-card img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.oliva-home-v123 .oliva-v115-booking-grid {
  gap: 24px !important;
  align-items: stretch !important;
}

.oliva-home-v123 .oliva-v115-booking-card {
  grid-template-rows: auto 1fr !important;
  min-height: 0 !important;
  background: linear-gradient(180deg, rgba(255, 248, 232, .05), rgba(255, 248, 232, .03)) !important;
  box-shadow: 0 22px 56px rgba(0, 0, 0, .18) !important;
}

.oliva-home-v123 .oliva-v115-booking-card .oliva-v115-image {
  aspect-ratio: 5 / 4 !important;
  max-height: 390px !important;
  border-bottom: 1px solid rgba(255, 248, 232, .10) !important;
}

.oliva-home-v123 .oliva-v115-booking-card > div {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  padding: 28px 30px 32px !important;
}

.oliva-home-v123 .oliva-v115-booking-card > div > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.oliva-home-v123 .oliva-v115-booking-card h2 {
  font-size: clamp(28px, 2.6vw, 42px) !important;
  line-height: 1.02 !important;
}

.oliva-home-v123 .oliva-v115-booking-card p:last-of-type {
  color: rgba(255, 248, 232, .78) !important;
}

.oliva-home-v123 .oliva-v115-booking-card .oliva-v115-actions {
  margin-top: 6px !important;
}

@media (max-width: 1024px) {
  .oliva-home-v123 .oliva-v115-image-wide {
    width: 100% !important;
    aspect-ratio: 5 / 4 !important;
    max-height: none !important;
  }

  .oliva-home-v123 .oliva-v115-booking-card .oliva-v115-image {
    max-height: 340px !important;
  }
}

@media (max-width: 780px) {
  .oliva-home-v123 .oliva-v115-intro .oliva-v115-image,
  .oliva-home-v123 .oliva-v115-experience .oliva-v115-image,
  .oliva-home-v123 .oliva-v115-recommendations > .oliva-v115-image,
  .oliva-home-v123 .oliva-v115-image-wide,
  .oliva-home-v123 .oliva-v115-booking-card .oliva-v115-image,
  .oliva-home-v123 .oliva-v119-chef-card .oliva-v115-image,
  .oliva-home-v123 .oliva-v119-gallery-card .oliva-v115-image {
    aspect-ratio: 4 / 3 !important;
    max-height: none !important;
  }

  .oliva-home-v123 .oliva-v115-booking-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .oliva-home-v123 .oliva-v115-booking-card > div {
    padding: 22px 20px 24px !important;
  }

  .oliva-home-v123 .oliva-v115-location-card {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .oliva-home-v123 .oliva-v115-location-card img {
    min-height: 200px !important;
    border-radius: 18px !important;
  }
}

.wp-admin .oliva-device-mobile .oliva-home-v123 .oliva-v115-intro .oliva-v115-image,
.wp-admin .oliva-device-mobile .oliva-home-v123 .oliva-v115-experience .oliva-v115-image,
.wp-admin .oliva-device-mobile .oliva-home-v123 .oliva-v115-recommendations > .oliva-v115-image,
.wp-admin .oliva-device-mobile .oliva-home-v123 .oliva-v115-image-wide,
.wp-admin .oliva-device-mobile .oliva-home-v123 .oliva-v115-booking-card .oliva-v115-image,
.wp-admin .oliva-device-mobile .oliva-home-v123 .oliva-v119-chef-card .oliva-v115-image,
.wp-admin .oliva-device-mobile .oliva-home-v123 .oliva-v119-gallery-card .oliva-v115-image {
  aspect-ratio: 4 / 3 !important;
  max-height: none !important;
}

.wp-admin .oliva-device-mobile .oliva-home-v123 .oliva-v115-booking-grid {
  grid-template-columns: 1fr !important;
}

.wp-admin .oliva-device-mobile .oliva-home-v123 .oliva-v115-booking-card > div {
  padding: 20px 18px 24px !important;
}

.wp-admin .oliva-device-tablet .oliva-home-v123 .oliva-v115-intro .oliva-v115-image,
.wp-admin .oliva-device-tablet .oliva-home-v123 .oliva-v115-experience .oliva-v115-image {
  aspect-ratio: 4 / 5 !important;
}

/* v1.26.0 · Flagship homepage upgrade.
   A more expensive first page: cinematic cover, controlled imagery, editorial sections,
   elegant reservations and stronger visual rhythm for demanding client review. */
.oliva-home-v126 {
  --oliva-v126-deep: #071006;
  --oliva-v126-forest: #0e1b0f;
  --oliva-v126-forest-2: #152716;
  --oliva-v126-cream: #fff7ea;
  --oliva-v126-gold: #c9a76a;
  --oliva-v126-copper: #df6b1e;
  --oliva-v126-line: rgba(255, 247, 234, .145);
  --oliva-v126-soft: rgba(255, 247, 234, .78);
  background:
    radial-gradient(circle at 18% 4%, rgba(201, 167, 106, .16), transparent 27%),
    radial-gradient(circle at 88% 20%, rgba(223, 107, 30, .10), transparent 30%),
    linear-gradient(180deg, #071006 0%, #0e1b0f 48%, #071006 100%) !important;
}

.oliva-home-v126 .oliva-v115-hero-home {
  min-height: min(980px, 100svh) !important;
  overflow: hidden !important;
  border-bottom: 1px solid rgba(255, 247, 234, .12) !important;
}

.oliva-home-v126 .oliva-v115-hero-home::before {
  content: "" !important;
  position: absolute !important;
  inset: clamp(18px, 2.3vw, 34px) !important;
  z-index: 2 !important;
  pointer-events: none !important;
  border: 1px solid rgba(255, 247, 234, .22) !important;
  border-radius: clamp(22px, 3vw, 42px) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .08) !important;
}

.oliva-home-v126 .oliva-v115-hero-media img {
  transform: scale(1.004) !important;
  filter: saturate(1.08) contrast(1.06) brightness(.90) !important;
}

.oliva-home-v126 .oliva-v115-hero-shade {
  background:
    radial-gradient(ellipse at 50% 43%, rgba(0,0,0,.05) 0%, rgba(0,0,0,.08) 38%, rgba(0,0,0,.52) 78%, rgba(0,0,0,.78) 100%),
    linear-gradient(180deg, rgba(0,0,0,.44) 0%, rgba(0,0,0,.10) 34%, rgba(0,0,0,.30) 68%, rgba(0,0,0,.78) 100%) !important;
}

.oliva-home-v126 .oliva-v115-hero-copy {
  z-index: 3 !important;
  max-width: min(1040px, calc(100% - 42px)) !important;
  padding-top: clamp(50px, 8vh, 104px) !important;
}

.oliva-home-v126 .oliva-v115-hero-copy .oliva-v115-eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  margin: 0 auto 18px !important;
  color: rgba(255, 247, 234, .88) !important;
  font-size: 10.5px !important;
  font-weight: 900 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  text-shadow: 0 14px 32px rgba(0,0,0,.45) !important;
}

.oliva-home-v126 .oliva-v115-hero-copy .oliva-v115-eyebrow::before,
.oliva-home-v126 .oliva-v115-hero-copy .oliva-v115-eyebrow::after {
  content: "" !important;
  display: block !important;
  width: clamp(28px, 5vw, 70px) !important;
  height: 1px !important;
  background: rgba(255, 247, 234, .42) !important;
}

.oliva-home-v126 .oliva-v115-hero-copy h1 {
  max-width: 980px !important;
  margin-bottom: clamp(18px, 2.4vw, 28px) !important;
  color: #fff7ea !important;
  font-size: clamp(66px, 8.1vw, 124px) !important;
  line-height: .92 !important;
  letter-spacing: -.06em !important;
  text-shadow: 0 18px 54px rgba(0,0,0,.42) !important;
}

.oliva-home-v126 .oliva-v115-lead {
  max-width: 690px !important;
  color: rgba(255, 247, 234, .90) !important;
  font-size: clamp(18px, 1.35vw, 22px) !important;
  line-height: 1.58 !important;
  text-shadow: 0 12px 36px rgba(0,0,0,.46) !important;
}

.oliva-home-v126 .oliva-v122-cover-actions {
  margin-top: 2px !important;
  gap: 18px !important;
}

.oliva-home-v126 .oliva-v122-cover-actions .oliva-home-button-primary {
  min-width: 224px !important;
  background: linear-gradient(135deg, #f07722 0%, #cf520c 100%) !important;
  border-color: rgba(255, 255, 255, .10) !important;
  color: #fff7ea !important;
  box-shadow: 0 22px 58px rgba(223, 107, 30, .28), 0 16px 38px rgba(0,0,0,.28) !important;
}

.oliva-home-v126 .oliva-v122-cover-actions .oliva-home-button-primary:hover,
.oliva-home-v126 .oliva-v122-cover-actions .oliva-home-button-primary:focus-visible {
  filter: brightness(1.04) !important;
}

.oliva-home-v126 .oliva-v122-cover-actions .oliva-home-button-secondary {
  color: #fff7ea !important;
  border-bottom-color: rgba(255, 247, 234, .78) !important;
  text-shadow: 0 12px 34px rgba(0,0,0,.46) !important;
}

.oliva-home-v126 .oliva-v122-cover-facts {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 10px !important;
  max-width: min(820px, 100%) !important;
  margin: 28px auto 0 !important;
  flex-wrap: wrap !important;
}

.oliva-home-v126 .oliva-v122-cover-facts a,
.oliva-home-v126 .oliva-v122-cover-facts span {
  min-height: 36px !important;
  padding: 10px 14px !important;
  border: 1px solid rgba(255,247,234,.20) !important;
  border-radius: 999px !important;
  background: rgba(8, 13, 8, .32) !important;
  backdrop-filter: blur(16px) !important;
  color: rgba(255,247,234,.84) !important;
  font-size: 11.5px !important;
  font-weight: 750 !important;
  letter-spacing: .02em !important;
  box-shadow: 0 12px 34px rgba(0,0,0,.18) !important;
}

.oliva-home-v126 .oliva-v122-scroll-cue {
  color: rgba(255,247,234,.78) !important;
}

.oliva-home-v126 .oliva-v123-signature-strip {
  position: relative !important;
  z-index: 4 !important;
  margin-top: -64px !important;
  padding: 0 clamp(18px, 4vw, 46px) !important;
}

.oliva-home-v126 .oliva-v123-signature-strip-inner {
  max-width: 1120px !important;
  border: 1px solid rgba(255, 247, 234, .32) !important;
  border-radius: 34px !important;
  overflow: hidden !important;
  background: rgba(255, 247, 234, .92) !important;
  backdrop-filter: blur(20px) !important;
  box-shadow: 0 36px 90px rgba(0,0,0,.28) !important;
}

.oliva-home-v126 .oliva-v123-signature-card {
  min-height: 178px !important;
  padding: clamp(26px, 3vw, 38px) !important;
}

.oliva-home-v126 .oliva-v123-signature-card span {
  color: #a36d2d !important;
}

.oliva-home-v126 .oliva-v123-signature-card h2 {
  color: #142112 !important;
  font-size: clamp(22px, 1.55vw, 28px) !important;
}

.oliva-home-v126 .oliva-v123-signature-card p {
  color: rgba(20, 33, 18, .74) !important;
}

.oliva-home-v126 .oliva-v115-main {
  padding-top: clamp(80px, 8vw, 138px) !important;
}

.oliva-home-v126 .oliva-v115-section {
  margin-bottom: clamp(78px, 8vw, 132px) !important;
}

.oliva-home-v126 .oliva-v115-split,
.oliva-home-v126 .oliva-v115-split-reverse {
  grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr) !important;
  gap: clamp(34px, 5vw, 86px) !important;
}

.oliva-home-v126 .oliva-v115-copy {
  padding: clamp(18px, 2.4vw, 30px) 0 !important;
}

.oliva-home-v126 .oliva-v115-kicker {
  color: #c9a76a !important;
  letter-spacing: .22em !important;
}

.oliva-home-v126 .oliva-v115-page h2,
.oliva-home-v126 h2 {
  color: #fff7ea !important;
  letter-spacing: -.055em !important;
}

.oliva-home-v126 .oliva-v115-page p,
.oliva-home-v126 p {
  color: rgba(255, 247, 234, .77) !important;
}

.oliva-home-v126 .oliva-v115-intro,
.oliva-home-v126 .oliva-v115-recommendations,
.oliva-home-v126 .oliva-v115-experience {
  position: relative !important;
}

.oliva-home-v126 .oliva-v115-intro::before,
.oliva-home-v126 .oliva-v115-recommendations::before,
.oliva-home-v126 .oliva-v115-experience::before {
  content: "" !important;
  position: absolute !important;
  inset: -28px !important;
  border: 1px solid rgba(255, 247, 234, .055) !important;
  border-radius: 42px !important;
  pointer-events: none !important;
}

.oliva-home-v126 .oliva-v115-image {
  border-radius: 34px !important;
  border: 1px solid rgba(255, 247, 234, .18) !important;
  background: rgba(255, 247, 234, .035) !important;
  box-shadow: 0 30px 80px rgba(0,0,0,.28), 0 0 0 1px rgba(255,247,234,.04) inset !important;
}

.oliva-home-v126 .oliva-v115-image::after {
  background: linear-gradient(180deg, rgba(0,0,0,0) 54%, rgba(0,0,0,.22) 100%) !important;
}

.oliva-home-v126 .oliva-v115-photo-band {
  border-radius: 42px !important;
  border-color: rgba(255, 247, 234, .12) !important;
  background:
    radial-gradient(circle at 15% 12%, rgba(201, 167, 106, .12), transparent 35%),
    linear-gradient(180deg, rgba(255, 247, 234, .070), rgba(255, 247, 234, .035)) !important;
  box-shadow: inset 0 1px 0 rgba(255,247,234,.06), 0 24px 80px rgba(0,0,0,.16) !important;
}

.oliva-home-v126 .oliva-v115-dish-lines {
  border-top-color: rgba(255,247,234,.16) !important;
}

.oliva-home-v126 .oliva-v115-dish-lines article {
  border-bottom-color: rgba(255,247,234,.13) !important;
}

.oliva-home-v126 .oliva-v115-dish-lines h3 {
  color: #fff7ea !important;
}

.oliva-home-v126 .oliva-v115-dish-lines p {
  color: rgba(255,247,234,.68) !important;
}

.oliva-home-v126 .oliva-v119-chef-list,
.oliva-home-v126 .oliva-v119-gallery-list {
  gap: clamp(18px, 2.5vw, 32px) !important;
}

.oliva-home-v126 .oliva-v119-chef-card,
.oliva-home-v126 .oliva-v119-gallery-card {
  border-radius: 34px !important;
  background: rgba(255, 247, 234, .045) !important;
  border: 1px solid rgba(255, 247, 234, .12) !important;
  overflow: hidden !important;
  box-shadow: 0 22px 64px rgba(0,0,0,.20) !important;
}

.oliva-home-v126 .oliva-v119-chef-card .oliva-v115-image,
.oliva-home-v126 .oliva-v119-gallery-card .oliva-v115-image {
  border-radius: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

.oliva-home-v126 .oliva-v119-image-note {
  padding: 18px 20px 20px !important;
}

.oliva-home-v126 .oliva-v119-image-note span {
  color: #c9a76a !important;
}

.oliva-home-v126 .oliva-v119-image-note p {
  color: rgba(255,247,234,.74) !important;
}

.oliva-home-v126 .oliva-v115-location-card {
  border-radius: 30px !important;
  border-color: rgba(255,247,234,.14) !important;
  background: rgba(255,247,234,.045) !important;
}

.oliva-home-v126 .oliva-v115-location-card h3 {
  color: #fff7ea !important;
}

.oliva-home-v126 .oliva-v115-booking-card {
  border-radius: 34px !important;
  border-color: rgba(255,247,234,.16) !important;
  background:
    linear-gradient(180deg, rgba(255,247,234,.070), rgba(255,247,234,.035)) !important;
  overflow: hidden !important;
}

.oliva-home-v126 .oliva-v115-booking-card .oliva-v115-image {
  border-radius: 0 !important;
}

.oliva-home-v126 .oliva-v115-booking-card h2 {
  color: #fff7ea !important;
}

.oliva-home-v126 .oliva-v115-booking-card .oliva-home-button-primary,
.oliva-home-v126 .oliva-v115-photo-band .oliva-home-button-primary {
  background: #fff7ea !important;
  border-color: #fff7ea !important;
  color: #111a0e !important;
  box-shadow: 0 18px 44px rgba(0,0,0,.20) !important;
}

.oliva-home-v126 .oliva-v115-booking-card .oliva-home-button-secondary,
.oliva-home-v126 .oliva-v115-location-card .oliva-home-button-secondary {
  background: transparent !important;
  border-color: rgba(201,167,106,.45) !important;
}

@media (min-width: 781px) {
  .oliva-home-v126 .oliva-v115-split-reverse > .oliva-v115-image {
    order: 2 !important;
  }

  .oliva-home-v126 .oliva-v115-split-reverse > .oliva-v115-copy {
    order: 1 !important;
  }
}

@media (max-width: 900px) {
  .oliva-home-v126 .oliva-v115-hero-home::before {
    inset: 12px !important;
    border-radius: 26px !important;
  }

  .oliva-home-v126 .oliva-v122-cover-facts {
    display: none !important;
  }

  .oliva-home-v126 .oliva-v123-signature-strip {
    margin-top: 0 !important;
    padding: 0 !important;
  }

  .oliva-home-v126 .oliva-v123-signature-strip-inner {
    border-radius: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    box-shadow: none !important;
  }

  .oliva-home-v126 .oliva-v115-main {
    padding-top: 58px !important;
  }
}

@media (max-width: 780px) {
  .oliva-home-v126 .oliva-v115-hero-home {
    min-height: 100svh !important;
    padding: 92px 0 88px !important;
  }

  .oliva-home-v126 .oliva-v115-hero-copy {
    width: min(100% - 30px, 470px) !important;
    padding-top: 9vh !important;
  }

  .oliva-home-v126 .oliva-v115-hero-copy .oliva-v115-eyebrow {
    font-size: 9px !important;
    letter-spacing: .16em !important;
    margin-bottom: 14px !important;
  }

  .oliva-home-v126 .oliva-v115-hero-copy .oliva-v115-eyebrow::before,
  .oliva-home-v126 .oliva-v115-hero-copy .oliva-v115-eyebrow::after {
    width: 22px !important;
  }

  .oliva-home-v126 .oliva-v115-hero-copy h1 {
    max-width: 10ch !important;
    font-size: clamp(52px, 15.5vw, 74px) !important;
    line-height: .92 !important;
  }

  .oliva-home-v126 .oliva-v115-lead {
    max-width: 320px !important;
    font-size: 14.5px !important;
    line-height: 1.55 !important;
  }

  .oliva-home-v126 .oliva-v122-cover-actions {
    flex-direction: column !important;
    gap: 12px !important;
  }

  .oliva-home-v126 .oliva-v122-cover-actions .oliva-home-button-primary {
    width: min(100%, 286px) !important;
    min-width: 0 !important;
  }

  .oliva-home-v126 .oliva-v115-section {
    margin-bottom: 62px !important;
  }

  .oliva-home-v126 .oliva-v115-intro::before,
  .oliva-home-v126 .oliva-v115-recommendations::before,
  .oliva-home-v126 .oliva-v115-experience::before {
    display: none !important;
  }

  .oliva-home-v126 .oliva-v115-copy {
    padding: 0 !important;
  }

  .oliva-home-v126 .oliva-v115-image {
    border-radius: 24px !important;
  }

  .oliva-home-v126 .oliva-v115-photo-band {
    padding: 26px 18px !important;
    border-radius: 28px !important;
  }

  .oliva-home-v126 .oliva-v115-booking-card,
  .oliva-home-v126 .oliva-v119-chef-card,
  .oliva-home-v126 .oliva-v119-gallery-card {
    border-radius: 24px !important;
  }

  .oliva-home-v126 .oliva-v115-booking-card .oliva-v115-image {
    aspect-ratio: 4 / 3 !important;
  }
}

.wp-admin .oliva-device-mobile .oliva-home-v126 .oliva-v115-hero-home {
  min-height: 690px !important;
}

.wp-admin .oliva-device-mobile .oliva-home-v126 .oliva-v122-cover-facts {
  display: none !important;
}

.wp-admin .oliva-device-mobile .oliva-home-v126 .oliva-v115-hero-copy h1 {
  font-size: clamp(50px, 15vw, 68px) !important;
}

.wp-admin .oliva-device-tablet .oliva-home-v126 .oliva-v115-hero-copy h1 {
  font-size: clamp(64px, 9.2vw, 96px) !important;
}


/* v1.26.1 · Mobile homepage repair: no escaping text, premium top Call/Maps actions. */
.oliva-home-v1261 {
  overflow-x: hidden !important;
}

.oliva-home-v1261 .oliva-v1261-mobile-top-actions {
  display: none;
}

.oliva-home-v1261 .oliva-v115-hero-copy h1,
.oliva-home-v1261 .oliva-v115-hero-copy p,
.oliva-home-v1261 .oliva-v115-main h2,
.oliva-home-v1261 .oliva-v115-main h3,
.oliva-home-v1261 .oliva-v115-main p {
  max-width: 100% !important;
}

@media (max-width: 780px) {
  .oliva-home-v1261 .oliva-v115-hero-home {
    min-height: 100svh !important;
    padding: calc(82px + env(safe-area-inset-top, 0px)) 0 calc(96px + env(safe-area-inset-bottom, 0px)) !important;
    overflow: hidden !important;
  }

  .oliva-home-v1261 .oliva-v1261-mobile-top-actions {
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    top: calc(14px + env(safe-area-inset-top, 0px)) !important;
    z-index: 8 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
    pointer-events: auto !important;
  }

  .oliva-home-v1261 .oliva-v1261-top-pill {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 112px !important;
    min-height: 44px !important;
    padding: 12px 16px !important;
    border: 1px solid rgba(255, 248, 232, .42) !important;
    border-radius: 999px !important;
    background: rgba(8, 14, 8, .52) !important;
    color: #fff8ee !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    letter-spacing: .12em !important;
    font-size: 10.5px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    box-shadow: 0 16px 46px rgba(0, 0, 0, .32) !important;
    backdrop-filter: blur(16px) saturate(1.12) !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.12) !important;
  }

  .oliva-home-v1261 .oliva-v1261-top-pill::before {
    content: "";
    width: 7px !important;
    height: 7px !important;
    margin-right: 8px !important;
    border-radius: 999px !important;
    background: #d8bd78 !important;
    box-shadow: 0 0 0 4px rgba(216, 189, 120, .16) !important;
  }

  .oliva-home-v1261 .oliva-v1261-top-pill-map::before {
    background: #fff8ee !important;
    box-shadow: 0 0 0 4px rgba(255, 248, 238, .14) !important;
  }

  .oliva-home-v1261 .oliva-v115-hero-copy {
    width: min(calc(100% - 34px), 360px) !important;
    max-width: 360px !important;
    margin-inline: auto !important;
    padding-top: clamp(74px, 18svh, 126px) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    text-align: center !important;
  }

  .oliva-home-v1261 .oliva-v115-hero-copy .oliva-v115-eyebrow {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    max-width: min(100%, 300px) !important;
    margin: 0 auto 14px !important;
    color: rgba(255, 248, 232, .88) !important;
    font-size: 8.5px !important;
    line-height: 1.35 !important;
    letter-spacing: .16em !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .oliva-home-v1261 .oliva-v115-hero-copy .oliva-v115-eyebrow::before,
  .oliva-home-v1261 .oliva-v115-hero-copy .oliva-v115-eyebrow::after {
    flex: 0 0 18px !important;
    width: 18px !important;
  }

  .oliva-home-v1261 .oliva-v115-hero-copy h1 {
    width: min(100%, 330px) !important;
    max-width: 9.8ch !important;
    margin: 0 auto 18px !important;
    color: #fff8ee !important;
    font-size: clamp(38px, 11.6vw, 54px) !important;
    line-height: .98 !important;
    letter-spacing: -.038em !important;
    text-align: center !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
    text-wrap: balance;
  }

  .oliva-home-v1261 .oliva-v115-lead {
    display: block !important;
    width: min(100%, 300px) !important;
    max-width: 300px !important;
    margin: 0 auto 18px !important;
    color: rgba(255, 248, 232, .86) !important;
    font-size: 13.5px !important;
    line-height: 1.55 !important;
    letter-spacing: 0 !important;
    overflow-wrap: break-word !important;
  }

  .oliva-home-v1261 .oliva-v122-cover-actions {
    width: min(100%, 292px) !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 11px !important;
  }

  .oliva-home-v1261 .oliva-v122-cover-actions .oliva-home-button {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    padding: 14px 16px !important;
    font-size: 10px !important;
    letter-spacing: .105em !important;
    white-space: normal !important;
    text-align: center !important;
  }

  .oliva-home-v1261 .oliva-v122-cover-actions .oliva-home-button-secondary {
    width: auto !important;
    margin-inline: auto !important;
    min-height: 34px !important;
    padding: 6px 4px !important;
    border-radius: 0 !important;
  }

  .oliva-home-v1261 .oliva-v122-cover-facts,
  .oliva-home-v1261 .oliva-v122-scroll-cue {
    display: none !important;
  }

  .oliva-home-v1261 .oliva-v115-main {
    width: min(100% - 28px, var(--oliva-v115-max)) !important;
  }

  .oliva-home-v1261 .oliva-v115-main h2 {
    font-size: clamp(29px, 9.5vw, 42px) !important;
    line-height: 1.04 !important;
    letter-spacing: -.04em !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
    text-wrap: balance;
  }

  .oliva-home-v1261 .oliva-v115-main h3 {
    font-size: clamp(18px, 5.4vw, 24px) !important;
    line-height: 1.15 !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
  }

  .oliva-home-v1261 .oliva-v115-main p {
    font-size: 15px !important;
    line-height: 1.66 !important;
    overflow-wrap: break-word !important;
  }

  .oliva-home-v1261 .oliva-v119-image-note p {
    font-size: 13.5px !important;
    line-height: 1.55 !important;
  }

  .oliva-home-v1261 .oliva-v115-photo-band,
  .oliva-home-v1261 .oliva-v115-booking-card > div {
    overflow: visible !important;
  }
}

@media (max-width: 380px) {
  .oliva-home-v1261 .oliva-v115-hero-copy {
    width: min(calc(100% - 28px), 334px) !important;
    padding-top: clamp(68px, 16svh, 112px) !important;
  }

  .oliva-home-v1261 .oliva-v115-hero-copy h1 {
    font-size: clamp(34px, 10.8vw, 48px) !important;
    max-width: 9.4ch !important;
  }

  .oliva-home-v1261 .oliva-v115-lead {
    font-size: 13px !important;
  }

  .oliva-home-v1261 .oliva-v1261-top-pill {
    min-width: 98px !important;
    min-height: 42px !important;
    padding: 11px 13px !important;
    font-size: 10px !important;
  }
}

/* Admin preview must follow the same mobile rules even when the browser window is wide. */
.wp-admin .oliva-device-mobile .oliva-home-v1261 .oliva-v1261-mobile-top-actions {
  position: absolute !important;
  left: 14px !important;
  right: 14px !important;
  top: 14px !important;
  z-index: 8 !important;
  display: flex !important;
  justify-content: center !important;
  gap: 10px !important;
}

.wp-admin .oliva-device-mobile .oliva-home-v1261 .oliva-v115-hero-home {
  min-height: 690px !important;
  padding: 82px 0 92px !important;
  overflow: hidden !important;
}

.wp-admin .oliva-device-mobile .oliva-home-v1261 .oliva-v115-hero-copy {
  width: min(calc(100% - 30px), 360px) !important;
  max-width: 360px !important;
  padding-top: 98px !important;
}

.wp-admin .oliva-device-mobile .oliva-home-v1261 .oliva-v115-hero-copy h1 {
  width: min(100%, 330px) !important;
  max-width: 9.8ch !important;
  font-size: clamp(38px, 11.6vw, 54px) !important;
  line-height: .98 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.wp-admin .oliva-device-mobile .oliva-home-v1261 .oliva-v115-lead {
  max-width: 300px !important;
  font-size: 13.5px !important;
}

.wp-admin .oliva-device-mobile .oliva-home-v1261 .oliva-v122-cover-actions {
  width: min(100%, 292px) !important;
  align-items: stretch !important;
}

.wp-admin .oliva-device-mobile .oliva-home-v1261 .oliva-v122-cover-actions .oliva-home-button {
  width: 100% !important;
}


/* v1.26.2 · Homepage calm-premium repair.
   Removes orange from the homepage, removes the problematic scroll cue, and gives the hero photograph more breathing room. */
.oliva-home-v1262 {
  --oliva-v126-copper: #c9a76a !important;
  --oliva-v126-gold: #c9a76a !important;
  background:
    radial-gradient(circle at 18% 4%, rgba(201, 167, 106, .12), transparent 27%),
    radial-gradient(circle at 82% 26%, rgba(255, 247, 234, .055), transparent 34%),
    linear-gradient(180deg, #071006 0%, #0e1b0f 52%, #071006 100%) !important;
}

/* Kill all orange/copper hero treatments from previous homepage versions. */
.oliva-home-v1262 .oliva-v122-cover-actions .oliva-home-button-primary,
.oliva-home-v1262 .oliva-v115-booking-card .oliva-home-button-primary,
.oliva-home-v1262 .oliva-v115-photo-band .oliva-home-button-primary {
  background: #fff7ea !important;
  border: 1px solid rgba(255, 247, 234, .86) !important;
  color: #111a0e !important;
  box-shadow: 0 20px 48px rgba(0, 0, 0, .24) !important;
}

.oliva-home-v1262 .oliva-v122-cover-actions .oliva-home-button-primary:hover,
.oliva-home-v1262 .oliva-v122-cover-actions .oliva-home-button-primary:focus-visible,
.oliva-home-v1262 .oliva-v115-booking-card .oliva-home-button-primary:hover,
.oliva-home-v1262 .oliva-v115-booking-card .oliva-home-button-primary:focus-visible,
.oliva-home-v1262 .oliva-v115-photo-band .oliva-home-button-primary:hover,
.oliva-home-v1262 .oliva-v115-photo-band .oliva-home-button-primary:focus-visible {
  background: #ffffff !important;
  filter: none !important;
  transform: translateY(-1px) !important;
}

.oliva-home-v1262 .oliva-v122-cover-actions .oliva-home-button-secondary {
  border-bottom-color: rgba(255, 247, 234, .72) !important;
  color: #fff7ea !important;
}

.oliva-home-v1262 .oliva-v115-kicker,
.oliva-home-v1262 .oliva-v119-image-note span,
.oliva-home-v1262 .oliva-v123-signature-card span {
  color: #c9a76a !important;
}

/* The scroll cue was visually unstable. Remove it completely from homepage. */
.oliva-home-v1262 .oliva-v122-scroll-cue,
.wp-admin .oliva-device-mobile .oliva-home-v1262 .oliva-v122-scroll-cue,
.wp-admin .oliva-device-tablet .oliva-home-v1262 .oliva-v122-scroll-cue {
  display: none !important;
}

/* Desktop/tablet hero: lighter center, restrained title, photo-first composition. */
.oliva-home-v1262 .oliva-v115-hero-home {
  min-height: min(980px, 100svh) !important;
  padding: clamp(88px, 10vw, 150px) 0 clamp(86px, 8vw, 132px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.oliva-home-v1262 .oliva-v115-hero-home::before {
  inset: clamp(18px, 2.4vw, 34px) !important;
  border-color: rgba(255, 247, 234, .20) !important;
  border-radius: clamp(22px, 3vw, 40px) !important;
}

.oliva-home-v1262 .oliva-v115-hero-media img {
  transform: scale(1.000) !important;
  filter: saturate(1.03) contrast(1.02) brightness(.96) !important;
  object-position: center center !important;
}

.oliva-home-v1262 .oliva-v115-hero-shade {
  background:
    radial-gradient(ellipse at 50% 44%, rgba(0,0,0,.02) 0%, rgba(0,0,0,.04) 36%, rgba(0,0,0,.34) 76%, rgba(0,0,0,.64) 100%),
    linear-gradient(180deg, rgba(0,0,0,.32) 0%, rgba(0,0,0,.08) 37%, rgba(0,0,0,.18) 62%, rgba(0,0,0,.66) 100%) !important;
}

.oliva-home-v1262 .oliva-v115-hero-copy {
  max-width: min(860px, calc(100% - 42px)) !important;
  padding-top: clamp(18px, 4vh, 54px) !important;
  text-align: center !important;
}

.oliva-home-v1262 .oliva-v115-hero-copy .oliva-v115-eyebrow {
  display: inline-flex !important;
  margin-bottom: 16px !important;
  color: rgba(255, 247, 234, .84) !important;
}

.oliva-home-v1262 .oliva-v115-hero-copy h1 {
  max-width: 880px !important;
  margin: 0 auto clamp(20px, 2.4vw, 28px) !important;
  font-size: clamp(58px, 6.5vw, 98px) !important;
  line-height: .96 !important;
  letter-spacing: -.045em !important;
  color: #fff7ea !important;
  text-shadow: 0 16px 52px rgba(0,0,0,.42) !important;
}

.oliva-home-v1262 .oliva-v115-lead {
  max-width: 580px !important;
  margin-inline: auto !important;
  font-size: clamp(16px, 1.15vw, 20px) !important;
  color: rgba(255, 247, 234, .86) !important;
}

.oliva-home-v1262 .oliva-v122-cover-actions {
  justify-content: center !important;
  gap: 16px !important;
}

.oliva-home-v1262 .oliva-v122-cover-actions .oliva-home-button {
  border-radius: 999px !important;
  min-height: 50px !important;
  padding: 15px 26px !important;
}

.oliva-home-v1262 .oliva-v1261-mobile-top-actions {
  z-index: 8 !important;
}

/* Quick top buttons: keep Call/Maps but make them match the rest of the site, not orange. */
.oliva-home-v1262 .oliva-v1261-top-pill {
  border-color: rgba(255, 247, 234, .32) !important;
  background: rgba(9, 18, 10, .45) !important;
  color: #fff7ea !important;
}

.oliva-home-v1262 .oliva-v1261-top-pill::before,
.oliva-home-v1262 .oliva-v1261-top-pill-map::before {
  background: #c9a76a !important;
  box-shadow: 0 0 0 4px rgba(201, 167, 106, .14) !important;
}

@media (max-width: 780px) {
  .oliva-home-v1262 .oliva-v115-hero-home {
    min-height: 92svh !important;
    padding: calc(70px + env(safe-area-inset-top, 0px)) 0 calc(72px + env(safe-area-inset-bottom, 0px)) !important;
    align-items: end !important;
  }

  .oliva-home-v1262 .oliva-v115-hero-home::before {
    inset: 10px !important;
    border-radius: 24px !important;
    opacity: .82 !important;
  }

  .oliva-home-v1262 .oliva-v115-hero-media img {
    transform: scale(1.000) !important;
    object-position: center center !important;
    filter: saturate(1.02) contrast(1.02) brightness(.96) !important;
  }

  .oliva-home-v1262 .oliva-v115-hero-shade {
    background:
      linear-gradient(180deg, rgba(0,0,0,.34) 0%, rgba(0,0,0,.08) 34%, rgba(0,0,0,.16) 54%, rgba(0,0,0,.76) 100%) !important;
  }

  .oliva-home-v1262 .oliva-v1261-mobile-top-actions {
    left: 12px !important;
    right: 12px !important;
    top: calc(12px + env(safe-area-inset-top, 0px)) !important;
    justify-content: space-between !important;
    gap: 8px !important;
  }

  .oliva-home-v1262 .oliva-v1261-top-pill {
    min-width: 0 !important;
    width: calc(50% - 4px) !important;
    max-width: 164px !important;
    min-height: 42px !important;
    padding: 11px 13px !important;
    font-size: 10px !important;
    letter-spacing: .10em !important;
    backdrop-filter: blur(14px) saturate(1.05) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.05) !important;
  }

  .oliva-home-v1262 .oliva-v115-hero-copy {
    width: min(calc(100% - 30px), 360px) !important;
    max-width: 360px !important;
    margin: 0 auto !important;
    padding: 0 0 10px !important;
    text-align: center !important;
  }

  .oliva-home-v1262 .oliva-v115-hero-copy .oliva-v115-eyebrow {
    display: none !important;
  }

  .oliva-home-v1262 .oliva-v115-hero-copy h1 {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto 16px !important;
    font-size: clamp(37px, 10.7vw, 48px) !important;
    line-height: 1 !important;
    letter-spacing: -.035em !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  .oliva-home-v1262 .oliva-v115-lead {
    display: none !important;
  }

  .oliva-home-v1262 .oliva-v122-cover-actions {
    width: min(100%, 310px) !important;
    margin: 0 auto !important;
    gap: 10px !important;
    align-items: stretch !important;
  }

  .oliva-home-v1262 .oliva-v122-cover-actions .oliva-home-button {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 46px !important;
    padding: 13px 16px !important;
    border-radius: 999px !important;
    font-size: 10px !important;
    letter-spacing: .105em !important;
    white-space: normal !important;
  }

  .oliva-home-v1262 .oliva-v122-cover-actions .oliva-home-button-secondary {
    background: rgba(9, 18, 10, .36) !important;
    border: 1px solid rgba(255,247,234,.32) !important;
    color: #fff7ea !important;
    box-shadow: 0 16px 42px rgba(0,0,0,.22) !important;
  }

  .oliva-home-v1262 .oliva-v123-signature-strip {
    margin-top: 0 !important;
  }

  .oliva-home-v1262 .oliva-v115-main {
    padding-top: 52px !important;
  }
}

@media (max-width: 380px) {
  .oliva-home-v1262 .oliva-v115-hero-copy h1 {
    font-size: clamp(34px, 10vw, 43px) !important;
  }

  .oliva-home-v1262 .oliva-v1261-top-pill {
    min-height: 40px !important;
    padding-inline: 10px !important;
    font-size: 9.5px !important;
  }
}

.wp-admin .oliva-device-mobile .oliva-home-v1262 .oliva-v115-hero-home {
  min-height: 640px !important;
  padding: 70px 0 72px !important;
  align-items: end !important;
}

.wp-admin .oliva-device-mobile .oliva-home-v1262 .oliva-v115-hero-copy {
  width: min(calc(100% - 30px), 360px) !important;
  max-width: 360px !important;
  padding: 0 0 10px !important;
}

.wp-admin .oliva-device-mobile .oliva-home-v1262 .oliva-v115-hero-copy .oliva-v115-eyebrow,
.wp-admin .oliva-device-mobile .oliva-home-v1262 .oliva-v115-lead,
.wp-admin .oliva-device-mobile .oliva-home-v1262 .oliva-v122-scroll-cue {
  display: none !important;
}

.wp-admin .oliva-device-mobile .oliva-home-v1262 .oliva-v115-hero-copy h1 {
  max-width: 100% !important;
  font-size: clamp(37px, 10.7vw, 48px) !important;
  line-height: 1 !important;
}

.wp-admin .oliva-device-mobile .oliva-home-v1262 .oliva-v122-cover-actions {
  width: min(100%, 310px) !important;
}

.wp-admin .oliva-device-mobile .oliva-home-v1262 .oliva-v122-cover-actions .oliva-home-button {
  width: 100% !important;
}

/* v1.27.0 · Final Visual & Mobile QA
   Production-focused pass: no escaping text, no oversized mobile hero, stable image frames,
   clean Call/Maps actions, consistent premium spacing across all managed pages. */
.oliva-v127-page,
.oliva-v127-page * {
  box-sizing: border-box !important;
}

.oliva-v127-page {
  max-width: 100% !important;
  overflow-x: hidden !important;
}

.oliva-v127-page :is(h1,h2,h3,h4,p,li,a,span) {
  max-width: 100% !important;
}

.oliva-v127-page :is(h1,h2,h3,h4) {
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

.oliva-v127-page :is(p,li,a,span) {
  overflow-wrap: break-word !important;
  word-break: normal !important;
}

.oliva-v127-page img,
.oliva-menu-plugin img,
.oliva-wine-plugin img {
  max-width: 100% !important;
}

/* Homepage: calm luxury cover, photo-first, no orange, no scroll cue. */
.oliva-home-v127 .oliva-v122-scroll-cue,
.wp-admin .oliva-device-mobile .oliva-home-v127 .oliva-v122-scroll-cue,
.wp-admin .oliva-device-tablet .oliva-home-v127 .oliva-v122-scroll-cue {
  display: none !important;
}

.oliva-home-v127 .oliva-v115-hero-home {
  min-height: min(960px, 96svh) !important;
  padding: clamp(92px, 10vw, 150px) 0 clamp(88px, 9vw, 138px) !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  overflow: hidden !important;
  background: #071006 !important;
}

.oliva-home-v127 .oliva-v115-hero-home::before {
  inset: clamp(16px, 2.3vw, 32px) !important;
  border: 1px solid rgba(255, 247, 234, .18) !important;
  border-radius: clamp(22px, 2.8vw, 38px) !important;
  opacity: .9 !important;
}

.oliva-home-v127 .oliva-v115-hero-media img {
  transform: none !important;
  object-position: center center !important;
  filter: saturate(1.02) contrast(1.02) brightness(.98) !important;
}

.oliva-home-v127 .oliva-v115-hero-shade {
  background:
    linear-gradient(180deg, rgba(0,0,0,.20) 0%, rgba(0,0,0,.04) 38%, rgba(0,0,0,.18) 58%, rgba(0,0,0,.78) 100%),
    radial-gradient(ellipse at 50% 56%, rgba(0,0,0,0) 0%, rgba(0,0,0,.08) 42%, rgba(0,0,0,.48) 100%) !important;
}

.oliva-home-v127 .oliva-v115-hero-copy {
  width: min(900px, calc(100% - 44px)) !important;
  max-width: 900px !important;
  margin: 0 auto !important;
  padding: 0 0 clamp(8px, 2vh, 26px) !important;
  text-align: center !important;
  z-index: 5 !important;
}

.oliva-home-v127 .oliva-v115-hero-copy .oliva-v115-eyebrow {
  display: inline-flex !important;
  justify-content: center !important;
  margin: 0 auto 15px !important;
  color: rgba(255, 247, 234, .82) !important;
}

.oliva-home-v127 .oliva-v115-hero-copy h1 {
  max-width: 100% !important;
  margin: 0 auto clamp(18px, 2.4vw, 30px) !important;
  color: #fff7ea !important;
  font-size: clamp(58px, 6.25vw, 94px) !important;
  line-height: .98 !important;
  letter-spacing: -.04em !important;
  text-align: center !important;
  text-shadow: 0 18px 56px rgba(0,0,0,.48) !important;
  white-space: normal !important;
}

.oliva-home-v127 .oliva-v115-lead {
  max-width: 620px !important;
  margin: -4px auto 24px !important;
  color: rgba(255, 247, 234, .84) !important;
  font-size: clamp(15.5px, 1.05vw, 19px) !important;
  line-height: 1.58 !important;
}

.oliva-home-v127 .oliva-v122-cover-actions {
  width: min(100%, 610px) !important;
  margin: 0 auto !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 14px !important;
}

.oliva-home-v127 .oliva-v122-cover-actions .oliva-home-button,
.oliva-home-v127 .oliva-home-button {
  border-radius: 999px !important;
}

.oliva-home-v127 .oliva-v122-cover-actions .oliva-home-button-primary,
.oliva-home-v127 .oliva-v115-booking-card .oliva-home-button-primary,
.oliva-home-v127 .oliva-v115-photo-band .oliva-home-button-primary {
  background: #fff7ea !important;
  border-color: #fff7ea !important;
  color: #11180e !important;
  box-shadow: 0 18px 46px rgba(0,0,0,.24) !important;
}

.oliva-home-v127 .oliva-v122-cover-actions .oliva-home-button-secondary {
  color: #fff7ea !important;
  background: rgba(8, 16, 8, .34) !important;
  border: 1px solid rgba(255, 247, 234, .30) !important;
  box-shadow: 0 16px 40px rgba(0,0,0,.18) !important;
  padding-inline: 24px !important;
}

.oliva-home-v127 .oliva-v123-signature-strip {
  position: relative !important;
  z-index: 4 !important;
  margin-top: 0 !important;
}

.oliva-home-v127 .oliva-v123-signature-strip-inner {
  border-radius: 0 0 30px 30px !important;
}

/* Image frames across managed pages: stable ratios, no blank areas, no text overlay collisions. */
.oliva-v127-page .oliva-v115-image,
.oliva-v127-page .oliva-v115-image-tall,
.oliva-v127-page .oliva-v115-image-wide,
.oliva-v127-page .oliva-v115-booking-card .oliva-v115-image,
.oliva-v127-page .oliva-v119-chef-card .oliva-v115-image,
.oliva-v127-page .oliva-v119-gallery-card .oliva-v115-image {
  position: relative !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

.oliva-v127-page .oliva-v115-image > img,
.oliva-v127-page .oliva-v115-image-tall > img,
.oliva-v127-page .oliva-v115-image-wide > img,
.oliva-v127-page .oliva-v115-booking-card .oliva-v115-image > img,
.oliva-v127-page .oliva-v119-chef-card .oliva-v115-image > img,
.oliva-v127-page .oliva-v119-gallery-card .oliva-v115-image > img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.oliva-v127-page .oliva-v115-image { aspect-ratio: 5 / 4 !important; }
.oliva-v127-page .oliva-v115-image-tall { aspect-ratio: 4 / 5 !important; }
.oliva-v127-page .oliva-v115-image-wide { aspect-ratio: 16 / 9 !important; max-height: 560px !important; }
.oliva-v127-page .oliva-v115-booking-card .oliva-v115-image { aspect-ratio: 5 / 4 !important; max-height: 390px !important; }
.oliva-v127-page .oliva-v119-chef-card .oliva-v115-image { aspect-ratio: 4 / 5 !important; max-height: 520px !important; }
.oliva-v127-page .oliva-v119-gallery-card .oliva-v115-image { aspect-ratio: 4 / 3 !important; max-height: 430px !important; }

.oliva-v127-page .oliva-v115-booking-card,
.oliva-v127-page .oliva-v115-photo-band,
.oliva-v127-page .oliva-v115-info-card,
.oliva-v127-page .oliva-v115-location-card {
  overflow: hidden !important;
}

/* Menus: keep readability above decoration. */
.oliva-menu-plugin.oliva-v127-page,
.oliva-wine-plugin.oliva-v127-page {
  overflow-x: hidden !important;
}

.oliva-menu-plugin.oliva-v127-page :is(.oliva-menu-title,.oliva-menu-section-title),
.oliva-wine-plugin.oliva-v127-page :is(.oliva-wine-title,.oliva-wine-section-title) {
  overflow-wrap: normal !important;
  word-break: normal !important;
}

@media (max-width: 900px) {
  .oliva-v127-page .oliva-v115-container,
  .oliva-v127-page .oliva-v115-main,
  .oliva-v127-page .oliva-v115-section {
    width: min(100% - 30px, var(--oliva-v115-max)) !important;
  }

  .oliva-v127-page .oliva-v115-split,
  .oliva-v127-page .oliva-v115-split-reverse,
  .oliva-v127-page .oliva-v115-booking-grid,
  .oliva-v127-page .oliva-v115-info-grid {
    grid-template-columns: 1fr !important;
  }

  .oliva-v127-page .oliva-v115-split > .oliva-v115-copy,
  .oliva-v127-page .oliva-v115-split-reverse > .oliva-v115-copy {
    order: 1 !important;
  }

  .oliva-v127-page .oliva-v115-split > .oliva-v115-image,
  .oliva-v127-page .oliva-v115-split-reverse > .oliva-v115-image,
  .oliva-v127-page .oliva-v115-split > .oliva-v115-embed-card,
  .oliva-v127-page .oliva-v115-split-reverse > .oliva-v115-embed-card,
  .oliva-v127-page .oliva-v115-split > .oliva-v115-map-card,
  .oliva-v127-page .oliva-v115-split-reverse > .oliva-v115-map-card {
    order: 2 !important;
  }

  .oliva-v127-page .oliva-v115-image,
  .oliva-v127-page .oliva-v115-image-tall,
  .oliva-v127-page .oliva-v115-image-wide,
  .oliva-v127-page .oliva-v115-booking-card .oliva-v115-image,
  .oliva-v127-page .oliva-v119-chef-card .oliva-v115-image,
  .oliva-v127-page .oliva-v119-gallery-card .oliva-v115-image {
    aspect-ratio: 4 / 3 !important;
    max-height: none !important;
  }
}

@media (max-width: 780px) {
  .oliva-home-v127 .oliva-v115-hero-home {
    min-height: 94svh !important;
    padding: calc(72px + env(safe-area-inset-top, 0px)) 0 calc(74px + env(safe-area-inset-bottom, 0px)) !important;
    align-items: flex-end !important;
  }

  .oliva-home-v127 .oliva-v115-hero-home::before {
    inset: 10px !important;
    border-radius: 24px !important;
    border-color: rgba(255, 247, 234, .16) !important;
  }

  .oliva-home-v127 .oliva-v115-hero-media img {
    object-position: center center !important;
    filter: saturate(1.02) contrast(1.02) brightness(.99) !important;
  }

  .oliva-home-v127 .oliva-v115-hero-shade {
    background:
      linear-gradient(180deg, rgba(0,0,0,.22) 0%, rgba(0,0,0,.03) 36%, rgba(0,0,0,.10) 56%, rgba(0,0,0,.78) 100%) !important;
  }

  .oliva-home-v127 .oliva-v1261-mobile-top-actions {
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    top: calc(14px + env(safe-area-inset-top, 0px)) !important;
    z-index: 10 !important;
    display: flex !important;
    justify-content: space-between !important;
    gap: 8px !important;
  }

  .oliva-home-v127 .oliva-v1261-top-pill {
    flex: 1 1 0 !important;
    max-width: 164px !important;
    min-width: 0 !important;
    min-height: 42px !important;
    padding: 11px 12px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255, 247, 234, .32) !important;
    background: rgba(7, 16, 6, .48) !important;
    color: #fff7ea !important;
    font-size: 10px !important;
    letter-spacing: .105em !important;
    font-weight: 900 !important;
    box-shadow: 0 16px 44px rgba(0,0,0,.28) !important;
    backdrop-filter: blur(14px) saturate(1.08) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.08) !important;
  }

  .oliva-home-v127 .oliva-v115-hero-copy {
    width: min(calc(100% - 30px), 342px) !important;
    max-width: 342px !important;
    padding: 0 0 6px !important;
  }

  .oliva-home-v127 .oliva-v115-hero-copy .oliva-v115-eyebrow,
  .oliva-home-v127 .oliva-v115-lead {
    display: none !important;
  }

  .oliva-home-v127 .oliva-v115-hero-copy h1 {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto 16px !important;
    font-size: clamp(36px, 10.3vw, 46px) !important;
    line-height: 1.02 !important;
    letter-spacing: -.032em !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  .oliva-home-v127 .oliva-v122-cover-actions {
    width: min(100%, 300px) !important;
    max-width: 300px !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
  }

  .oliva-home-v127 .oliva-v122-cover-actions .oliva-home-button {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 45px !important;
    padding: 13px 14px !important;
    font-size: 10px !important;
    letter-spacing: .10em !important;
    text-align: center !important;
    white-space: normal !important;
  }

  .oliva-home-v127 .oliva-v123-signature-strip-inner {
    border-radius: 0 !important;
  }

  .oliva-home-v127 .oliva-v115-main {
    padding-top: 50px !important;
  }

  .oliva-v127-page h1,
  .oliva-v127-page .oliva-v115-page h1 {
    font-size: clamp(36px, 10.5vw, 50px) !important;
    line-height: 1.02 !important;
  }

  .oliva-v127-page h2,
  .oliva-v127-page .oliva-v115-page h2 {
    font-size: clamp(28px, 8.8vw, 40px) !important;
    line-height: 1.05 !important;
  }

  .oliva-v127-page h3,
  .oliva-v127-page .oliva-v115-page h3 {
    font-size: clamp(18px, 5.4vw, 24px) !important;
    line-height: 1.15 !important;
  }

  .oliva-v127-page p,
  .oliva-v127-page li {
    font-size: 15px !important;
    line-height: 1.66 !important;
  }

  .oliva-v127-page .oliva-v115-actions,
  .oliva-v127-page .oliva-v122-cover-actions {
    max-width: 100% !important;
  }

  .oliva-v127-page .oliva-v115-actions :is(a,button),
  .oliva-v127-page .oliva-v122-cover-actions :is(a,button) {
    max-width: 100% !important;
  }

  .oliva-menu-plugin.oliva-v127-page .oliva-menu-title,
  .oliva-wine-plugin.oliva-v127-page .oliva-wine-title {
    font-size: clamp(38px, 12vw, 54px) !important;
    line-height: .98 !important;
  }
}

@media (max-width: 380px) {
  .oliva-home-v127 .oliva-v115-hero-copy {
    width: min(calc(100% - 28px), 318px) !important;
  }

  .oliva-home-v127 .oliva-v115-hero-copy h1 {
    font-size: clamp(33px, 9.8vw, 42px) !important;
  }

  .oliva-home-v127 .oliva-v1261-top-pill {
    min-height: 40px !important;
    padding-inline: 10px !important;
    font-size: 9.5px !important;
  }
}

/* Admin preview must follow the exact mobile QA rules. */
.wp-admin .oliva-device-mobile .oliva-home-v127 .oliva-v115-hero-home {
  min-height: 640px !important;
  padding: 72px 0 74px !important;
  align-items: flex-end !important;
}

.wp-admin .oliva-device-mobile .oliva-home-v127 .oliva-v1261-mobile-top-actions {
  position: absolute !important;
  left: 14px !important;
  right: 14px !important;
  top: 14px !important;
  display: flex !important;
  justify-content: space-between !important;
}

.wp-admin .oliva-device-mobile .oliva-home-v127 .oliva-v115-hero-copy {
  width: min(calc(100% - 30px), 342px) !important;
  max-width: 342px !important;
  padding: 0 0 6px !important;
}

.wp-admin .oliva-device-mobile .oliva-home-v127 .oliva-v115-hero-copy .oliva-v115-eyebrow,
.wp-admin .oliva-device-mobile .oliva-home-v127 .oliva-v115-lead,
.wp-admin .oliva-device-mobile .oliva-home-v127 .oliva-v122-scroll-cue {
  display: none !important;
}

.wp-admin .oliva-device-mobile .oliva-home-v127 .oliva-v115-hero-copy h1 {
  font-size: clamp(36px, 10.3vw, 46px) !important;
  line-height: 1.02 !important;
  max-width: 100% !important;
}

.wp-admin .oliva-device-mobile .oliva-home-v127 .oliva-v122-cover-actions {
  width: min(100%, 300px) !important;
  flex-direction: column !important;
  align-items: stretch !important;
}

.wp-admin .oliva-device-mobile .oliva-home-v127 .oliva-v122-cover-actions .oliva-home-button {
  width: 100% !important;
}

.wp-admin .oliva-device-mobile .oliva-v127-page .oliva-v115-split,
.wp-admin .oliva-device-mobile .oliva-v127-page .oliva-v115-split-reverse,
.wp-admin .oliva-device-mobile .oliva-v127-page .oliva-v115-booking-grid,
.wp-admin .oliva-device-mobile .oliva-v127-page .oliva-v115-info-grid {
  grid-template-columns: 1fr !important;
}

.wp-admin .oliva-device-mobile .oliva-v127-page .oliva-v115-image,
.wp-admin .oliva-device-mobile .oliva-v127-page .oliva-v115-image-tall,
.wp-admin .oliva-device-mobile .oliva-v127-page .oliva-v115-image-wide,
.wp-admin .oliva-device-mobile .oliva-v127-page .oliva-v115-booking-card .oliva-v115-image,
.wp-admin .oliva-device-mobile .oliva-v127-page .oliva-v119-chef-card .oliva-v115-image,
.wp-admin .oliva-device-mobile .oliva-v127-page .oliva-v119-gallery-card .oliva-v115-image {
  aspect-ratio: 4 / 3 !important;
  max-height: none !important;
}


/* v1.30.0 · SEO Copy Pack helper */
.oliva-admin-wrap .widefat td,
.oliva-admin-wrap .widefat th { vertical-align: top; }
.oliva-admin-wrap .widefat td:nth-child(2),
.oliva-admin-wrap .widefat td:nth-child(3) { line-height: 1.55; }

/* v1.31.0 · Contact transport request form
   Built-in form on Contact page; sends to WP admin email. Reservation remains external. */
.oliva-contact-plugin #oliva-contact-transport {
  scroll-margin-top: 110px;
}

.oliva-contact-transport-card {
  margin-top: clamp(22px, 3vw, 34px);
  padding: clamp(18px, 3vw, 30px);
  border: 1px solid rgba(255, 248, 232, .14);
  border-radius: clamp(24px, 2.4vw, 34px);
  background:
    linear-gradient(180deg, rgba(255, 248, 232, .075), rgba(255, 248, 232, .035)),
    rgba(8, 14, 8, .42);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .24);
  backdrop-filter: blur(14px);
}

.oliva-contact-transport-form {
  display: grid;
  gap: 16px;
}

.oliva-contact-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.oliva-contact-transport-form label {
  display: grid;
  gap: 8px;
  margin: 0;
  color: rgba(255, 248, 232, .84);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.oliva-contact-transport-form label span {
  color: rgba(255, 248, 232, .78);
}

.oliva-contact-transport-form :is(input, textarea) {
  width: 100%;
  min-height: 48px;
  border: 1px solid rgba(255, 248, 232, .18);
  border-radius: 16px;
  background: rgba(255, 248, 232, .09);
  color: #fff8ee;
  padding: 13px 14px;
  font: inherit;
  font-size: 15px;
  line-height: 1.35;
  outline: none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}

.oliva-contact-transport-form textarea {
  min-height: 112px;
  resize: vertical;
}

.oliva-contact-transport-form :is(input, textarea)::placeholder {
  color: rgba(255, 248, 232, .45);
}

.oliva-contact-transport-form :is(input, textarea):focus {
  border-color: rgba(216, 189, 120, .72);
  background: rgba(255, 248, 232, .12);
  box-shadow: 0 0 0 3px rgba(216, 189, 120, .13);
}

.oliva-contact-form-full {
  grid-column: 1 / -1;
}

.oliva-contact-form-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 4px;
}

.oliva-contact-form-footer small {
  max-width: 300px;
  color: rgba(255, 248, 232, .58);
  font-size: 12px;
  line-height: 1.45;
}

.oliva-contact-form-message {
  margin-bottom: 16px;
  padding: 13px 15px;
  border-radius: 16px;
  font-size: 14px;
  line-height: 1.45;
}

.oliva-contact-form-message.success {
  color: #fff8ee;
  background: rgba(70, 110, 58, .35);
  border: 1px solid rgba(151, 193, 129, .28);
}

.oliva-contact-form-message.error {
  color: #fff8ee;
  background: rgba(122, 56, 42, .35);
  border: 1px solid rgba(216, 140, 112, .30);
}

.oliva-contact-honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
}

.oliva-v115-form-slot-secondary {
  margin-top: 22px;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 248, 232, .12);
}

@media (max-width: 780px) {
  .oliva-contact-transport-card {
    padding: 18px 16px 20px;
    border-radius: 24px;
  }

  .oliva-contact-form-grid {
    grid-template-columns: 1fr;
    gap: 13px;
  }

  .oliva-contact-form-footer {
    display: grid;
    gap: 12px;
  }

  .oliva-contact-form-footer .oliva-contact-button {
    width: 100%;
  }

  .oliva-contact-form-footer small {
    max-width: none;
    text-align: center;
  }

  .oliva-contact-transport-form :is(input, textarea) {
    min-height: 50px;
    font-size: 16px;
  }
}

.wp-admin .oliva-device-mobile .oliva-contact-form-grid {
  grid-template-columns: 1fr !important;
}

.wp-admin .oliva-device-mobile .oliva-contact-form-footer {
  display: grid !important;
}


/* v1.32.0 · Independence Pack + Contact general form */
.oliva-contact-message-section .oliva-contact-message-card,
.oliva-contact-general-card,
.oliva-contact-transport-card {
  border: 1px solid rgba(255, 248, 232, .12) !important;
  border-radius: 28px !important;
  background: linear-gradient(180deg, rgba(255, 248, 232, .075), rgba(255, 248, 232, .035)) !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .20) !important;
}
.oliva-contact-message-section .oliva-contact-message-card {
  padding: clamp(18px, 3vw, 32px) !important;
}
.oliva-contact-general-form,
.oliva-contact-transport-form {
  display: grid !important;
  gap: 18px !important;
}
.oliva-contact-form-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}
.oliva-contact-form-grid label,
.oliva-contact-transport-form label {
  display: grid !important;
  gap: 7px !important;
  margin: 0 !important;
  color: rgba(255, 248, 232, .88) !important;
  font-size: 12px !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  font-weight: 800 !important;
}
.oliva-contact-form-grid label.wide,
.oliva-contact-transport-form label.wide {
  grid-column: 1 / -1 !important;
}
.oliva-contact-general-form input,
.oliva-contact-general-form textarea,
.oliva-contact-transport-form input,
.oliva-contact-transport-form textarea {
  width: 100% !important;
  min-height: 48px !important;
  border: 1px solid rgba(255, 248, 232, .16) !important;
  border-radius: 16px !important;
  background: rgba(5, 10, 6, .44) !important;
  color: #fff8ee !important;
  padding: 13px 14px !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  outline: none !important;
}
.oliva-contact-general-form textarea,
.oliva-contact-transport-form textarea {
  min-height: 128px !important;
  resize: vertical !important;
}
.oliva-contact-general-form input:focus,
.oliva-contact-general-form textarea:focus,
.oliva-contact-transport-form input:focus,
.oliva-contact-transport-form textarea:focus {
  border-color: rgba(216, 189, 120, .70) !important;
  box-shadow: 0 0 0 3px rgba(216, 189, 120, .16) !important;
}
.oliva-contact-form-admin-note {
  margin: -4px 0 0 !important;
  color: rgba(255, 248, 232, .58) !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
}
.oliva-contact-form-message {
  margin: 0 0 14px !important;
  padding: 12px 14px !important;
  border-radius: 14px !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}
.oliva-contact-form-message.success {
  background: rgba(76, 140, 82, .18) !important;
  border: 1px solid rgba(119, 190, 126, .36) !important;
  color: #e9ffe9 !important;
}
.oliva-contact-form-message.error {
  background: rgba(150, 50, 40, .18) !important;
  border: 1px solid rgba(232, 115, 95, .36) !important;
  color: #fff2ef !important;
}
.oliva-form-hp {position:absolute!important;left:-9999px!important;height:1px!important;width:1px!important;overflow:hidden!important;}
@media (max-width: 780px) {
  .oliva-contact-form-grid {grid-template-columns: 1fr !important;}
  .oliva-contact-message-section {gap: 18px !important;}
  .oliva-contact-message-section .oliva-contact-message-card {padding: 18px !important;}
}

.oliva-independence-wrap .oliva-ind-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
  gap: 22px;
  align-items: stretch;
  margin: 18px 0;
  padding: 26px;
  border-radius: 22px;
  background: linear-gradient(135deg, #10190e, #23331d);
  color: #fff8ee;
  box-shadow: 0 20px 60px rgba(0,0,0,.16);
}
.oliva-independence-wrap .oliva-ind-kicker {margin:0 0 8px;color:#d8bd78;text-transform:uppercase;letter-spacing:.18em;font-weight:800;font-size:11px;}
.oliva-independence-wrap .oliva-ind-hero h2 {margin:0 0 10px;font-size:34px;line-height:1.04;color:#fff8ee;}
.oliva-independence-wrap .oliva-ind-hero p {max-width:760px;color:rgba(255,248,238,.78);font-size:15px;line-height:1.65;}
.oliva-ind-score-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.oliva-ind-score-grid article,.oliva-ind-card{background:#fff;border:1px solid #e6e1d8;border-radius:18px;padding:18px;box-shadow:0 8px 24px rgba(15,23,42,.06)}
.oliva-ind-score-grid article strong{display:block;margin:10px 0 4px;color:#17210f}.oliva-ind-score-grid article span{color:#62656a;font-size:13px;line-height:1.5}.oliva-ind-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0}.oliva-ind-card h2{margin-top:0}.oliva-ind-card label{display:block;margin:13px 0}.oliva-ind-card input[type=email],.oliva-ind-card input[type=text],.oliva-ind-card textarea{margin-top:5px;max-width:100%}.oliva-ind-actions-row{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 20px}.oliva-ind-wide{margin:18px 0}.oliva-ind-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.oliva-ind-ok{background:#e8f6ed;color:#0f6a34}.oliva-ind-check{background:#fff6db;color:#875500}.oliva-ind-block{background:#fde8e6;color:#a22b1f}@media(max-width:900px){.oliva-independence-wrap .oliva-ind-hero,.oliva-ind-grid{grid-template-columns:1fr}.oliva-ind-score-grid{grid-template-columns:1fr}}

/* v1.37.0 · Professional Final Polish
   Clean premium tone, stronger readability and stable mobile rhythm across all managed pages. */
.oliva-v137-page,
.oliva-home-v137 {
  --oliva-v137-ivory: #fff8ea;
  --oliva-v137-paper: #f8eedc;
  --oliva-v137-green: #111d0f;
  --oliva-v137-gold: #c7a66b;
  --oliva-v137-muted: rgba(255, 248, 234, .76);
}

.oliva-v137-page :is(h1,h2,h3,h4),
.oliva-home-v137 :is(h1,h2,h3,h4) {
  text-wrap: balance;
}

.oliva-v137-page :is(p,li),
.oliva-home-v137 :is(p,li) {
  text-wrap: pretty;
}

.oliva-home-v137 .oliva-v115-hero-home {
  min-height: clamp(720px, 98svh, 1040px) !important;
  padding-top: clamp(92px, 9vw, 144px) !important;
  padding-bottom: clamp(74px, 8vw, 120px) !important;
  background: #071006 !important;
}

.oliva-home-v137 .oliva-v115-hero-home::before {
  content: '';
  position: absolute;
  inset: clamp(18px, 2.5vw, 34px);
  z-index: 2;
  border: 1px solid rgba(255, 248, 234, .20);
  border-radius: clamp(26px, 3vw, 42px);
  pointer-events: none;
}

.oliva-home-v137 .oliva-v115-hero-media img {
  object-position: center center !important;
  filter: saturate(1.03) contrast(1.035) brightness(.98) !important;
  transform: scale(1.008) !important;
}

.oliva-home-v137 .oliva-v115-hero-shade {
  background:
    radial-gradient(ellipse at 50% 42%, rgba(0,0,0,.02) 0%, rgba(0,0,0,.16) 58%, rgba(0,0,0,.66) 100%),
    linear-gradient(180deg, rgba(0,0,0,.28) 0%, rgba(0,0,0,.06) 34%, rgba(0,0,0,.18) 58%, rgba(0,0,0,.72) 100%) !important;
}

.oliva-home-v137 .oliva-v115-hero-copy {
  position: relative !important;
  z-index: 4 !important;
  max-width: min(980px, calc(100% - 42px)) !important;
  padding-top: clamp(46px, 8vh, 118px) !important;
}

.oliva-home-v137 .oliva-v115-hero-copy h1 {
  color: var(--oliva-v137-ivory) !important;
  font-size: clamp(60px, 7.2vw, 108px) !important;
  line-height: .96 !important;
  letter-spacing: -.045em !important;
  text-shadow: 0 18px 52px rgba(0,0,0,.42) !important;
}

.oliva-home-v137 .oliva-v122-scroll-cue {
  display: none !important;
}

.oliva-home-v137 .oliva-v122-cover-actions .oliva-home-button-primary {
  background: var(--oliva-v137-ivory) !important;
  border-color: rgba(255, 248, 234, .84) !important;
  color: var(--oliva-v137-green) !important;
  box-shadow: 0 18px 52px rgba(0,0,0,.30) !important;
}

.oliva-home-v137 .oliva-v122-cover-actions .oliva-home-button-secondary {
  color: var(--oliva-v137-ivory) !important;
  border-color: rgba(255, 248, 234, .72) !important;
}

.oliva-home-v137 .oliva-v122-cover-facts {
  display: flex !important;
  justify-content: center !important;
  gap: 10px !important;
  max-width: 860px !important;
  margin: 28px auto 0 !important;
  opacity: .96 !important;
}

.oliva-home-v137 .oliva-v122-cover-facts :is(a,span) {
  min-height: 38px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,248,234,.22) !important;
  background: rgba(8,16,7,.30) !important;
  color: rgba(255,248,234,.88) !important;
  backdrop-filter: blur(12px) saturate(1.08) !important;
  -webkit-backdrop-filter: blur(12px) saturate(1.08) !important;
}

.oliva-home-v137 .oliva-v123-signature-strip-inner {
  border-radius: 0 0 34px 34px !important;
  box-shadow: 0 22px 70px rgba(17,29,15,.13) !important;
}

.oliva-v137-page .oliva-v115-main {
  padding-top: clamp(58px, 6vw, 104px) !important;
}

.oliva-v137-page .oliva-v115-section {
  margin-bottom: clamp(54px, 6.8vw, 96px) !important;
}

.oliva-v137-page .oliva-v115-copy {
  max-width: 640px !important;
}

.oliva-v137-page .oliva-v115-image,
.oliva-v137-page .oliva-v115-booking-card,
.oliva-v137-page .oliva-v115-info-card,
.oliva-v137-page .oliva-v115-photo-band,
.oliva-v137-page .oliva-v115-location-card,
.oliva-menu-plugin.oliva-v137-page .oliva-menu-section,
.oliva-wine-plugin.oliva-v137-page .oliva-wine-section {
  border-color: rgba(255,248,234,.14) !important;
  box-shadow: 0 22px 62px rgba(0,0,0,.18) !important;
}

.oliva-v137-page .oliva-v115-image::after {
  background: linear-gradient(180deg, transparent 66%, rgba(0,0,0,.20)) !important;
}

.oliva-v137-page .oliva-v115-image > img,
.oliva-v137-page .oliva-v115-image-tall > img,
.oliva-v137-page .oliva-v115-image-wide > img,
.oliva-v137-page .oliva-v115-booking-card .oliva-v115-image > img,
.oliva-v137-page .oliva-v119-chef-card .oliva-v115-image > img,
.oliva-v137-page .oliva-v119-gallery-card .oliva-v115-image > img {
  transition: transform .8s ease, filter .8s ease !important;
}

@media (hover:hover) {
  .oliva-v137-page .oliva-v115-image:hover > img,
  .oliva-v137-page .oliva-v115-booking-card:hover .oliva-v115-image > img,
  .oliva-v137-page .oliva-v119-chef-card:hover .oliva-v115-image > img,
  .oliva-v137-page .oliva-v119-gallery-card:hover .oliva-v115-image > img {
    transform: scale(1.025) !important;
    filter: saturate(1.04) contrast(1.02) !important;
  }
}

.oliva-v137-page :is(.oliva-home-button,.oliva-reservation-button,.oliva-tour-button,.oliva-about-button,.oliva-contact-button),
.oliva-menu-plugin.oliva-v137-page .oliva-menu-wine-cta a {
  border-radius: 999px !important;
  text-decoration: none !important;
}

.oliva-menu-plugin.oliva-v137-page,
.oliva-wine-plugin.oliva-v137-page {
  overflow-x: clip !important;
}

.oliva-menu-plugin.oliva-v137-page .oliva-menu-content,
.oliva-wine-plugin.oliva-v137-page .oliva-wine-content {
  box-shadow: 0 28px 84px rgba(17,29,15,.13) !important;
}

.oliva-menu-plugin.oliva-v137-page .oliva-menu-nav,
.oliva-wine-plugin.oliva-v137-page .oliva-wine-nav {
  padding-bottom: 8px !important;
}

.oliva-menu-plugin.oliva-v137-page .oliva-menu-nav a,
.oliva-wine-plugin.oliva-v137-page .oliva-wine-nav a {
  white-space: nowrap !important;
}

.oliva-v137-page .oliva-v115-mobile-bar {
  border-top: 1px solid rgba(255,248,234,.14) !important;
  background: rgba(7, 14, 6, .86) !important;
  backdrop-filter: blur(18px) saturate(1.08) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.08) !important;
}

@media (max-width: 780px) {
  .oliva-home-v137 .oliva-v115-hero-home {
    min-height: 96svh !important;
    padding: calc(84px + env(safe-area-inset-top, 0px)) 0 calc(88px + env(safe-area-inset-bottom, 0px)) !important;
    align-items: flex-end !important;
  }

  .oliva-home-v137 .oliva-v115-hero-home::before {
    inset: 12px !important;
    border-radius: 26px !important;
  }

  .oliva-home-v137 .oliva-v115-hero-media img {
    object-position: center top !important;
    transform: scale(1.015) !important;
  }

  .oliva-home-v137 .oliva-v115-hero-shade {
    background:
      linear-gradient(180deg, rgba(0,0,0,.14) 0%, rgba(0,0,0,.02) 36%, rgba(0,0,0,.14) 56%, rgba(0,0,0,.82) 100%) !important;
  }

  .oliva-home-v137 .oliva-v1261-mobile-top-actions {
    top: calc(16px + env(safe-area-inset-top, 0px)) !important;
    left: 16px !important;
    right: 16px !important;
  }

  .oliva-home-v137 .oliva-v1261-top-pill {
    background: rgba(8, 16, 7, .54) !important;
    border-color: rgba(255,248,234,.28) !important;
    color: var(--oliva-v137-ivory) !important;
    box-shadow: 0 16px 46px rgba(0,0,0,.30) !important;
  }

  .oliva-home-v137 .oliva-v115-hero-copy {
    width: min(calc(100% - 34px), 350px) !important;
    max-width: 350px !important;
    padding-bottom: 4px !important;
  }

  .oliva-home-v137 .oliva-v115-hero-copy h1 {
    font-size: clamp(38px, 10.8vw, 48px) !important;
    line-height: 1.01 !important;
    letter-spacing: -.035em !important;
    margin-bottom: 17px !important;
  }

  .oliva-home-v137 .oliva-v122-cover-actions {
    width: min(100%, 304px) !important;
    gap: 10px !important;
  }

  .oliva-home-v137 .oliva-v122-cover-actions .oliva-home-button {
    min-height: 46px !important;
    font-size: 10px !important;
  }

  .oliva-home-v137 .oliva-v122-cover-facts {
    display: none !important;
  }

  .oliva-v137-page .oliva-v115-section {
    margin-bottom: 50px !important;
  }

  .oliva-v137-page .oliva-v115-copy {
    max-width: 100% !important;
  }

  .oliva-v137-page .oliva-v115-image,
  .oliva-v137-page .oliva-v115-image-tall,
  .oliva-v137-page .oliva-v115-image-wide,
  .oliva-v137-page .oliva-v115-booking-card .oliva-v115-image,
  .oliva-v137-page .oliva-v119-chef-card .oliva-v115-image,
  .oliva-v137-page .oliva-v119-gallery-card .oliva-v115-image {
    aspect-ratio: 4 / 3 !important;
    border-radius: 24px !important;
  }

  .oliva-v137-page .oliva-v115-actions :is(a,button) {
    width: 100% !important;
    max-width: 340px !important;
  }

  .oliva-menu-plugin.oliva-v137-page .oliva-menu-content,
  .oliva-wine-plugin.oliva-v137-page .oliva-wine-content {
    box-shadow: none !important;
  }
}

@media (max-width: 390px) {
  .oliva-home-v137 .oliva-v115-hero-copy {
    width: min(calc(100% - 30px), 318px) !important;
  }

  .oliva-home-v137 .oliva-v115-hero-copy h1 {
    font-size: clamp(34px, 10.2vw, 42px) !important;
  }
}

.wp-admin .oliva-device-mobile .oliva-home-v137 .oliva-v115-hero-home {
  min-height: 650px !important;
  padding: 86px 0 84px !important;
  align-items: flex-end !important;
}

.wp-admin .oliva-device-mobile .oliva-home-v137 .oliva-v115-hero-copy {
  width: min(calc(100% - 34px), 350px) !important;
  max-width: 350px !important;
}

.wp-admin .oliva-device-mobile .oliva-home-v137 .oliva-v115-hero-copy h1 {
  font-size: clamp(38px, 10.8vw, 48px) !important;
  line-height: 1.01 !important;
}

.wp-admin .oliva-device-mobile .oliva-home-v137 .oliva-v122-cover-facts,
.wp-admin .oliva-device-mobile .oliva-home-v137 .oliva-v122-scroll-cue {
  display: none !important;
}

/* v1.39.0 · Contact form typography and premium form repair.
   Fixes tiny labels, cramped fields and public technical copy around forms. */
.oliva-contact-plugin .oliva-contact-message-section,
.oliva-contact-plugin .oliva-v115-section:has(#oliva-contact-transport) {
  align-items: center !important;
  gap: clamp(34px, 5vw, 76px) !important;
}

.oliva-contact-plugin .oliva-contact-message-section {
  grid-template-columns: minmax(0, .92fr) minmax(420px, .88fr) !important;
}

.oliva-contact-plugin .oliva-contact-message-copy h2,
.oliva-contact-plugin .oliva-contact-transport-copy h2,
.oliva-contact-plugin .oliva-v115-map-fallback h2 {
  font-size: clamp(36px, 4.2vw, 62px) !important;
  line-height: 1.04 !important;
  letter-spacing: -.035em !important;
  margin-bottom: 18px !important;
  max-width: 11.5ch !important;
}

.oliva-contact-plugin .oliva-contact-message-copy p,
.oliva-contact-plugin .oliva-contact-transport-copy p,
.oliva-contact-plugin .oliva-v115-map-fallback p {
  max-width: 560px !important;
  color: rgba(255, 248, 238, .82) !important;
}

.oliva-contact-plugin .oliva-contact-message-section .oliva-contact-message-card,
.oliva-contact-plugin .oliva-contact-general-card,
.oliva-contact-plugin .oliva-contact-transport-card {
  width: 100% !important;
  max-width: 560px !important;
  margin-inline: auto !important;
  padding: clamp(24px, 3.2vw, 38px) !important;
  border: 1px solid rgba(255, 248, 232, .18) !important;
  border-radius: 30px !important;
  background:
    linear-gradient(180deg, rgba(255, 248, 232, .09), rgba(255, 248, 232, .045)),
    rgba(8, 14, 8, .58) !important;
  box-shadow: 0 28px 78px rgba(0, 0, 0, .24) !important;
}

.oliva-contact-plugin .oliva-contact-general-form,
.oliva-contact-plugin .oliva-contact-transport-form {
  gap: 18px !important;
}

.oliva-contact-plugin .oliva-contact-form-grid {
  gap: 16px !important;
}

.oliva-contact-plugin .oliva-contact-form-grid label,
.oliva-contact-plugin .oliva-contact-transport-form label,
.oliva-contact-plugin .oliva-contact-form-full {
  gap: 9px !important;
  color: rgba(255, 248, 238, .94) !important;
  font-size: 13.5px !important;
  line-height: 1.25 !important;
  letter-spacing: .015em !important;
  text-transform: none !important;
  font-weight: 760 !important;
}

.oliva-contact-plugin .oliva-contact-form-grid label span,
.oliva-contact-plugin .oliva-contact-transport-form label span,
.oliva-contact-plugin .oliva-contact-form-full span {
  display: block !important;
  color: rgba(255, 248, 238, .90) !important;
  font-size: 13.5px !important;
  line-height: 1.25 !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
  font-weight: 760 !important;
}

.oliva-contact-plugin .oliva-contact-general-form input,
.oliva-contact-plugin .oliva-contact-general-form textarea,
.oliva-contact-plugin .oliva-contact-transport-form input,
.oliva-contact-plugin .oliva-contact-transport-form textarea {
  min-height: 54px !important;
  border: 1px solid rgba(255, 248, 232, .22) !important;
  border-radius: 15px !important;
  background: rgba(4, 10, 6, .52) !important;
  color: #fff8ee !important;
  padding: 15px 16px !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05) !important;
}

.oliva-contact-plugin .oliva-contact-general-form textarea,
.oliva-contact-plugin .oliva-contact-transport-form textarea {
  min-height: 150px !important;
}

.oliva-contact-plugin .oliva-contact-general-form input:focus,
.oliva-contact-plugin .oliva-contact-general-form textarea:focus,
.oliva-contact-plugin .oliva-contact-transport-form input:focus,
.oliva-contact-plugin .oliva-contact-transport-form textarea:focus {
  border-color: rgba(255, 248, 238, .64) !important;
  background: rgba(4, 10, 6, .66) !important;
  box-shadow: 0 0 0 3px rgba(255, 248, 238, .12), inset 0 1px 0 rgba(255,255,255,.06) !important;
}

.oliva-contact-plugin .oliva-contact-button[type="submit"],
.oliva-contact-plugin button.oliva-contact-button {
  min-height: 54px !important;
  width: 100% !important;
  justify-content: center !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  letter-spacing: .13em !important;
}

.oliva-contact-plugin .oliva-contact-form-admin-note,
.oliva-contact-plugin .oliva-contact-form-footer small {
  color: rgba(255, 248, 238, .66) !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
}

@media (max-width: 980px) {
  .oliva-contact-plugin .oliva-contact-message-section,
  .oliva-contact-plugin .oliva-v115-section:has(#oliva-contact-transport) {
    grid-template-columns: 1fr !important;
  }

  .oliva-contact-plugin .oliva-contact-message-copy h2,
  .oliva-contact-plugin .oliva-contact-transport-copy h2,
  .oliva-contact-plugin .oliva-v115-map-fallback h2 {
    max-width: 12.5ch !important;
  }
}

@media (max-width: 560px) {
  .oliva-contact-plugin .oliva-contact-message-section .oliva-contact-message-card,
  .oliva-contact-plugin .oliva-contact-general-card,
  .oliva-contact-plugin .oliva-contact-transport-card {
    max-width: none !important;
    padding: 20px 16px !important;
    border-radius: 24px !important;
  }

  .oliva-contact-plugin .oliva-contact-message-copy h2,
  .oliva-contact-plugin .oliva-contact-transport-copy h2,
  .oliva-contact-plugin .oliva-v115-map-fallback h2 {
    font-size: clamp(34px, 11vw, 46px) !important;
    max-width: 100% !important;
  }

  .oliva-contact-plugin .oliva-contact-general-form input,
  .oliva-contact-plugin .oliva-contact-general-form textarea,
  .oliva-contact-plugin .oliva-contact-transport-form input,
  .oliva-contact-plugin .oliva-contact-transport-form textarea {
    font-size: 16px !important;
  }
}

/* v1.40.0 · Header & Footer Fit Pack
   Fixes crowded preview/header, empty footer cards, theme heading overrides and mobile/footer rhythm. */
.oliva-plugin-header,
.oliva-plugin-footer {
  --oliva-chrome-dark: #0b1209;
  --oliva-chrome-dark-2: #141f12;
  --oliva-chrome-cream: #fff7e8;
  --oliva-chrome-soft: rgba(255, 247, 232, .78);
  --oliva-chrome-gold: #c7a66f;
  --oliva-chrome-line: rgba(255, 247, 232, .16);
  color: var(--oliva-chrome-cream) !important;
  font-family: inherit !important;
}

.oliva-plugin-header :is(a, span, strong),
.oliva-plugin-footer :is(a, span, strong, p, h1, h2, h3, h4) {
  color: inherit;
}

.oliva-plugin-header {
  background:
    radial-gradient(ellipse at 12% 0%, rgba(199, 166, 111, .14), transparent 36%),
    linear-gradient(180deg, rgba(10, 17, 9, .98), rgba(10, 17, 9, .93)) !important;
  border-bottom: 1px solid rgba(255, 247, 232, .14) !important;
}

.oliva-plugin-header-inner {
  width: min(1360px, calc(100% - 42px)) !important;
  min-height: 82px !important;
  display: grid !important;
  grid-template-columns: minmax(178px, .82fr) minmax(0, 1.75fr) minmax(230px, .78fr) !important;
  gap: clamp(12px, 2vw, 28px) !important;
  align-items: center !important;
}

.oliva-plugin-header-brand {
  max-width: 260px !important;
}

.oliva-plugin-header-brand strong {
  color: #fff7e8 !important;
  font-size: clamp(18px, 1.2vw, 24px) !important;
  line-height: .98 !important;
  letter-spacing: .04em !important;
}

.oliva-plugin-header-brand span {
  color: var(--oliva-chrome-gold) !important;
  font-size: 10px !important;
  letter-spacing: .18em !important;
  line-height: 1.25 !important;
}

.oliva-plugin-header-nav {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 6px !important;
  min-width: 0 !important;
  overflow: visible !important;
}

.oliva-plugin-header-nav a {
  flex: 0 0 auto !important;
  min-height: 34px !important;
  padding: 8px 9px !important;
  border-radius: 999px !important;
  color: rgba(255, 247, 232, .84) !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .085em !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.oliva-plugin-header-actions {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 0 !important;
}

.oliva-plugin-header-phone,
.oliva-plugin-header-cta {
  min-height: 40px !important;
  padding: 10px 13px !important;
  border-radius: 999px !important;
  font-size: 10px !important;
  letter-spacing: .095em !important;
  line-height: 1.08 !important;
  white-space: nowrap !important;
}

.oliva-plugin-header-phone {
  max-width: 138px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.oliva-plugin-header-cta,
.oliva-plugin-footer-reserve {
  background: linear-gradient(180deg, #ead7b7, #c7a66f) !important;
  border-color: rgba(255, 247, 232, .28) !important;
  color: #0b1209 !important;
}

.oliva-plugin-footer {
  background:
    radial-gradient(ellipse at 80% 0%, rgba(199, 166, 111, .14), transparent 42%),
    linear-gradient(180deg, #10180e 0%, #080d07 100%) !important;
  border-top: 1px solid rgba(255, 247, 232, .14) !important;
}

.oliva-plugin-footer-inner {
  width: min(1320px, calc(100% - 42px)) !important;
}

.oliva-plugin-footer-top {
  align-items: center !important;
  gap: clamp(18px, 3vw, 42px) !important;
}

.oliva-plugin-footer-brand-block span {
  color: var(--oliva-chrome-gold) !important;
}

.oliva-plugin-footer-brand-block h2,
.entry-content .oliva-plugin-footer-brand-block h2,
.site-content .oliva-plugin-footer-brand-block h2,
.wp-admin .oliva-plugin-footer-brand-block h2 {
  color: #fff7e8 !important;
  text-shadow: 0 18px 42px rgba(0, 0, 0, .30) !important;
}

.oliva-plugin-footer-brand-block p,
.wp-admin .oliva-plugin-footer-brand-block p {
  color: rgba(255, 247, 232, .80) !important;
}

.oliva-plugin-footer-grid {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
  gap: 18px !important;
}

.oliva-plugin-footer-grid > div {
  min-height: 150px !important;
  background: linear-gradient(180deg, rgba(255, 247, 232, .065), rgba(255, 247, 232, .032)) !important;
  border-color: rgba(255, 247, 232, .14) !important;
}

.oliva-plugin-footer-grid strong {
  color: var(--oliva-chrome-gold) !important;
}

.oliva-plugin-footer-grid p,
.oliva-plugin-footer-grid a {
  color: rgba(255, 247, 232, .84) !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

.oliva-plugin-footer-bottom p {
  color: rgba(255, 247, 232, .56) !important;
}

/* Admin preview must show the real behaviour without crushing the chrome. */
.wp-admin .oliva-admin-chrome-preview .oliva-plugin-header-inner {
  width: calc(100% - 24px) !important;
  min-height: 0 !important;
  grid-template-columns: 1fr !important;
  gap: 12px !important;
  padding: 18px 0 !important;
  text-align: center !important;
}

.wp-admin .oliva-admin-chrome-preview .oliva-plugin-header-brand {
  justify-self: center !important;
  align-items: center !important;
  max-width: 100% !important;
}

.wp-admin .oliva-admin-chrome-preview .oliva-plugin-header-nav {
  justify-content: center !important;
  gap: 6px !important;
  overflow: visible !important;
}

.wp-admin .oliva-admin-chrome-preview .oliva-plugin-header-nav a {
  min-height: 31px !important;
  padding: 7px 8px !important;
  font-size: 9px !important;
  letter-spacing: .07em !important;
}

.wp-admin .oliva-admin-chrome-preview .oliva-plugin-header-actions {
  justify-content: center !important;
  flex-wrap: wrap !important;
  width: 100% !important;
}

.wp-admin .oliva-admin-chrome-preview .oliva-plugin-header-phone,
.wp-admin .oliva-admin-chrome-preview .oliva-plugin-header-cta {
  max-width: none !important;
  min-height: 36px !important;
  padding: 9px 12px !important;
}

.wp-admin .oliva-admin-chrome-preview .oliva-plugin-footer-inner {
  width: calc(100% - 24px) !important;
}

.wp-admin .oliva-admin-chrome-preview .oliva-plugin-footer-top {
  grid-template-columns: 1fr !important;
  text-align: left !important;
  align-items: start !important;
}

.wp-admin .oliva-admin-chrome-preview .oliva-plugin-footer-brand-block h2 {
  font-size: clamp(30px, 6vw, 48px) !important;
}

.wp-admin .oliva-admin-chrome-preview .oliva-plugin-footer-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

@media (max-width: 1180px) {
  .oliva-plugin-header-inner {
    grid-template-columns: 1fr auto !important;
    padding: 14px 0 !important;
  }

  .oliva-plugin-header-brand {
    grid-column: 1 / 2 !important;
  }

  .oliva-plugin-header-actions {
    grid-column: 2 / 3 !important;
  }

  .oliva-plugin-header-nav {
    grid-column: 1 / -1 !important;
    justify-content: flex-start !important;
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
    padding: 3px 0 7px !important;
    scrollbar-width: none !important;
  }

  .oliva-plugin-header-nav::-webkit-scrollbar {
    display: none !important;
  }
}

@media (max-width: 760px) {
  .oliva-plugin-header-inner,
  .oliva-plugin-footer-inner {
    width: calc(100% - 24px) !important;
  }

  .oliva-plugin-header-inner {
    grid-template-columns: 1fr !important;
    gap: 11px !important;
    padding: 16px 0 !important;
  }

  .oliva-plugin-header-brand,
  .oliva-plugin-header-actions,
  .oliva-plugin-header-nav {
    grid-column: 1 / -1 !important;
  }

  .oliva-plugin-header-brand {
    align-items: center !important;
    text-align: center !important;
    margin-inline: auto !important;
  }

  .oliva-plugin-header-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    width: 100% !important;
    gap: 8px !important;
  }

  .oliva-plugin-header-phone,
  .oliva-plugin-header-cta {
    width: 100% !important;
    max-width: none !important;
    min-height: 42px !important;
    font-size: 9.5px !important;
  }

  .oliva-plugin-header-nav {
    margin-inline: -12px !important;
    padding-inline: 12px !important;
  }

  .oliva-plugin-footer-top {
    grid-template-columns: 1fr !important;
    align-items: start !important;
  }

  .oliva-plugin-footer-reserve {
    width: 100% !important;
  }

  .oliva-plugin-footer-grid,
  .wp-admin .oliva-admin-chrome-preview .oliva-plugin-footer-grid {
    grid-template-columns: 1fr !important;
  }

  .oliva-plugin-footer-grid > div {
    min-height: 0 !important;
  }
}

/* v1.42.0 · Oliva Canvas Mode
   Managed pages render without active theme header/footer. This reset prevents the old theme shell from adding unwanted spacing, duplicated chrome or WooCommerce noise. */
html:has(body.oliva-canvas-body) {
  margin: 0 !important;
  padding: 0 !important;
  background: #090d09 !important;
}
body.oliva-canvas-body {
  margin: 0 !important;
  padding: 0 !important;
  min-width: 320px !important;
  overflow-x: hidden !important;
  background: #090d09 !important;
  color: #fff8ec !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.oliva-canvas-body #wpadminbar {
  position: fixed !important;
}
.oliva-canvas-site,
.oliva-canvas-main {
  width: 100% !important;
  max-width: none !important;
  min-height: 100vh;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: clip !important;
  background: #090d09;
}
.oliva-canvas-main > :first-child {
  margin-top: 0 !important;
}
.oliva-canvas-body .oliva-plugin-header,
.oliva-canvas-body .oliva-plugin-footer {
  position: relative;
  z-index: 50;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
.oliva-canvas-body .oliva-plugin-header {
  top: 0;
}
.oliva-canvas-body .oliva-plugin-header-sticky {
  position: sticky !important;
  top: 0 !important;
  backdrop-filter: blur(18px);
}
body.admin-bar.oliva-canvas-body .oliva-plugin-header-sticky {
  top: 32px !important;
}
.oliva-canvas-body .oliva-home-plugin,
.oliva-canvas-body .oliva-v115-page,
.oliva-canvas-body .oliva-menu-plugin,
.oliva-canvas-body .oliva-wine-plugin {
  margin-top: 0 !important;
}
.oliva-canvas-body .oliva-home-plugin.oliva-home-full-width,
.oliva-canvas-body .oliva-menu-full-width,
.oliva-canvas-body .oliva-wine-full-width {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.oliva-canvas-body .woocommerce,
.oliva-canvas-body .widget_shopping_cart,
.oliva-canvas-body .site-header-cart,
.oliva-canvas-body .cart-contents,
.oliva-canvas-body .woocommerce-mini-cart,
.oliva-canvas-body .wc-block-mini-cart,
.oliva-canvas-body .wc-block-components-drawer,
.oliva-canvas-body [class*="mini-cart"],
.oliva-canvas-body [class*="shopping-cart"] {
  display: none !important;
}
@media (max-width: 782px) {
  body.admin-bar.oliva-canvas-body .oliva-plugin-header-sticky {
    top: 46px !important;
  }
}
@media (max-width: 720px) {
  .oliva-canvas-body .oliva-plugin-header-sticky {
    position: relative !important;
    top: auto !important;
  }
  .oliva-canvas-main {
    min-height: auto;
  }
}

/* v1.43.0 · Final Photography Pack polish
   Curated image set: venue-first hero, controlled crops, stronger mobile framing, no image collision. */
.oliva-v143-page img[src*="/assets/media/oliva-"],
.oliva-menu-plugin img[src*="/assets/media/oliva-"],
.oliva-wine-plugin img[src*="/assets/media/oliva-"],
.oliva-reservation-plugin img[src*="/assets/media/oliva-"],
.oliva-tour-plugin img[src*="/assets/media/oliva-"],
.oliva-about-plugin img[src*="/assets/media/oliva-"],
.oliva-contact-plugin img[src*="/assets/media/oliva-"] {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.oliva-home-v143 .oliva-v115-hero-media img {
  object-position: center 52% !important;
  filter: saturate(1.06) contrast(1.03) brightness(.90) !important;
  transform: scale(1.006) !important;
}

.oliva-home-v143 .oliva-v115-hero-shade {
  background:
    radial-gradient(ellipse at 50% 48%, rgba(0,0,0,.05) 0%, rgba(0,0,0,.10) 38%, rgba(0,0,0,.40) 76%, rgba(0,0,0,.70) 100%),
    linear-gradient(180deg, rgba(0,0,0,.38) 0%, rgba(0,0,0,.08) 42%, rgba(0,0,0,.26) 62%, rgba(0,0,0,.72) 100%) !important;
}

.oliva-home-v143 .oliva-v115-intro .oliva-v115-image img,
.oliva-home-v143 .oliva-v115-recommendations > .oliva-v115-image img,
.oliva-home-v143 .oliva-v115-experience .oliva-v115-image img,
.oliva-home-v143 .oliva-v115-booking-card .oliva-v115-image img,
.oliva-home-v143 .oliva-v119-chef-card .oliva-v115-image img,
.oliva-home-v143 .oliva-v119-gallery-card .oliva-v115-image img {
  object-position: center center !important;
}

.oliva-home-v143 .oliva-v115-intro .oliva-v115-image,
.oliva-home-v143 .oliva-v115-experience .oliva-v115-image {
  border-color: rgba(255,248,232,.16) !important;
  box-shadow: 0 32px 94px rgba(0,0,0,.30) !important;
}

.oliva-home-v143 .oliva-v119-chef-card,
.oliva-home-v143 .oliva-v119-gallery-card,
.oliva-home-v143 .oliva-v115-booking-card {
  background: linear-gradient(180deg, rgba(255,248,232,.058), rgba(255,248,232,.024)) !important;
  border-color: rgba(255,248,232,.14) !important;
}

.oliva-home-v143 .oliva-v115-image-wide img {
  object-position: center center !important;
}

.oliva-menu-plugin img[src*="oliva-pasta-seafood"],
.oliva-wine-plugin img[src*="oliva-wine-wall"],
.oliva-reservation-plugin img[src*="oliva-venue-night-wide"],
.oliva-tour-plugin img[src*="oliva-dining-room"],
.oliva-about-plugin img[src*="oliva-location-wide"],
.oliva-contact-plugin img[src*="oliva-exterior-facade"] {
  object-position: center center !important;
}

@media (max-width: 780px) {
  .oliva-home-v143 .oliva-v115-hero-home {
    min-height: 96svh !important;
  }

  .oliva-home-v143 .oliva-v115-hero-media img {
    object-position: center center !important;
    transform: scale(1.015) !important;
    filter: saturate(1.06) contrast(1.04) brightness(.88) !important;
  }

  .oliva-home-v143 .oliva-v115-hero-shade {
    background:
      linear-gradient(180deg, rgba(0,0,0,.42) 0%, rgba(0,0,0,.10) 38%, rgba(0,0,0,.28) 62%, rgba(0,0,0,.78) 100%) !important;
  }

  .oliva-home-v143 .oliva-v115-intro .oliva-v115-image,
  .oliva-home-v143 .oliva-v115-recommendations > .oliva-v115-image,
  .oliva-home-v143 .oliva-v115-experience .oliva-v115-image,
  .oliva-home-v143 .oliva-v115-image-wide,
  .oliva-home-v143 .oliva-v115-booking-card .oliva-v115-image,
  .oliva-home-v143 .oliva-v119-chef-card .oliva-v115-image,
  .oliva-home-v143 .oliva-v119-gallery-card .oliva-v115-image {
    aspect-ratio: 4 / 3 !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  .oliva-home-v143 .oliva-v119-gallery-card:nth-child(n+3) {
    display: none !important;
  }
}

/* v1.44.0 · Final Layout Fit Pack
   Fixes the exact live issues seen in tablet/desktop screenshots: sticky header clipping, anchor jumps,
   contact/transport form rhythm, reservation info-card width, menu paper spacing and image/card balance. */
body.oliva-canvas-body {
  --oliva-fixed-header-h: 86px;
  --oliva-scroll-offset: 126px;
  --oliva-menu-sticky-top: 88px;
}
body.admin-bar.oliva-canvas-body {
  --oliva-scroll-offset: 158px;
  --oliva-menu-sticky-top: 122px;
}
html:has(body.oliva-canvas-body) {
  scroll-padding-top: var(--oliva-scroll-offset) !important;
}
.oliva-v144-page :is(#oliva-contact-message,#oliva-contact-transport,#transport,.oliva-menu-section,.oliva-wine-section,.oliva-v115-section) {
  scroll-margin-top: var(--oliva-scroll-offset) !important;
}

/* Header: no clipped logo, no cramped nav, no accidental theme collision. */
.oliva-plugin-header,
.oliva-plugin-header-inner,
.oliva-plugin-header-brand,
.oliva-plugin-header-nav,
.oliva-plugin-header-actions {
  overflow: visible !important;
}
.oliva-plugin-header-inner {
  min-height: 78px !important;
  padding-block: 8px !important;
}
.oliva-plugin-header-brand strong {
  line-height: 1.08 !important;
  padding-top: 2px !important;
  overflow: visible !important;
}
.oliva-plugin-header-nav a,
.oliva-plugin-header-phone,
.oliva-plugin-header-cta {
  transform: translateZ(0);
}

/* Shared page rhythm under the sticky header. */
.oliva-canvas-main .oliva-v144-page:not(.oliva-home-plugin) .oliva-v115-hero,
.oliva-canvas-main .oliva-menu-plugin.oliva-v144-page .oliva-menu-content,
.oliva-canvas-main .oliva-wine-plugin.oliva-v144-page .oliva-wine-content {
  isolation: isolate;
}
.oliva-v144-page .oliva-v115-main {
  padding-top: clamp(72px, 7vw, 118px) !important;
}
.oliva-v144-page .oliva-v115-section {
  margin-bottom: clamp(58px, 7vw, 108px) !important;
}
.oliva-v144-page .oliva-v115-split,
.oliva-v144-page .oliva-v115-split-reverse {
  align-items: start !important;
}
.oliva-v144-page .oliva-v115-copy {
  min-width: 0 !important;
}
.oliva-v144-page .oliva-v115-copy h2 {
  overflow-wrap: normal !important;
  word-break: normal !important;
}

/* Contact: contact form and transport block need to sit like designed editorial sections, not like split fragments. */
.oliva-contact-plugin.oliva-v144-page .oliva-contact-message-section {
  grid-template-columns: minmax(360px, .92fr) minmax(420px, .92fr) !important;
  align-items: center !important;
  gap: clamp(42px, 5vw, 78px) !important;
}
.oliva-contact-plugin.oliva-v144-page .oliva-contact-message-copy,
.oliva-contact-plugin.oliva-v144-page .oliva-contact-transport-copy {
  align-self: center !important;
}
.oliva-contact-plugin.oliva-v144-page .oliva-contact-message-copy h2,
.oliva-contact-plugin.oliva-v144-page .oliva-contact-transport-copy h2,
.oliva-contact-plugin.oliva-v144-page .oliva-v115-map-fallback h2 {
  max-width: 12.5ch !important;
  font-size: clamp(42px, 4.3vw, 68px) !important;
  line-height: 1.03 !important;
}
.oliva-contact-plugin.oliva-v144-page .oliva-v115-section:has(#oliva-contact-transport) {
  grid-template-columns: minmax(420px, .95fr) minmax(360px, .82fr) !important;
  align-items: start !important;
  gap: clamp(38px, 5vw, 78px) !important;
}
.oliva-contact-plugin.oliva-v144-page #oliva-contact-transport {
  padding-top: 6px !important;
}
.oliva-contact-plugin.oliva-v144-page .oliva-v115-map-card {
  align-self: start !important;
  position: sticky !important;
  top: calc(var(--oliva-menu-sticky-top, 88px) + 22px) !important;
  min-height: 0 !important;
}
.oliva-contact-plugin.oliva-v144-page .oliva-v115-map-fallback {
  padding: clamp(30px, 3.6vw, 48px) !important;
  min-height: 260px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}
.oliva-contact-plugin.oliva-v144-page .oliva-contact-message-card,
.oliva-contact-plugin.oliva-v144-page .oliva-contact-general-card,
.oliva-contact-plugin.oliva-v144-page .oliva-contact-transport-card,
.oliva-contact-plugin.oliva-v144-page .oliva-v115-form-slot {
  border-radius: 28px !important;
  max-width: 600px !important;
}
.oliva-contact-plugin.oliva-v144-page .oliva-contact-form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px 16px !important;
}
.oliva-contact-plugin.oliva-v144-page .oliva-contact-form-grid label.wide,
.oliva-contact-plugin.oliva-v144-page .oliva-contact-form-full {
  grid-column: 1 / -1 !important;
}
.oliva-contact-plugin.oliva-v144-page .oliva-contact-general-form input,
.oliva-contact-plugin.oliva-v144-page .oliva-contact-general-form textarea,
.oliva-contact-plugin.oliva-v144-page .oliva-contact-transport-form input,
.oliva-contact-plugin.oliva-v144-page .oliva-contact-transport-form textarea,
.oliva-contact-plugin.oliva-v144-page .oliva-contact-transport-form select {
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Reservation: the long larger-party text must not be trapped in a narrow card. */
.oliva-reservation-plugin.oliva-v144-page .oliva-v115-info-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
}
.oliva-reservation-plugin.oliva-v144-page .oliva-v115-info-grid article:nth-child(3) {
  grid-column: 1 / -1 !important;
  max-width: 100% !important;
}
.oliva-reservation-plugin.oliva-v144-page .oliva-v115-info-grid article:nth-child(3) strong {
  max-width: 720px !important;
  font-size: clamp(18px, 1.7vw, 27px) !important;
  line-height: 1.32 !important;
}
.oliva-reservation-plugin.oliva-v144-page .oliva-v115-split > .oliva-v115-image,
.oliva-reservation-plugin.oliva-v144-page .oliva-v115-split-reverse > .oliva-v115-image {
  aspect-ratio: 4 / 3 !important;
  max-height: 620px !important;
}
.oliva-reservation-plugin.oliva-v144-page .oliva-v115-split > .oliva-v115-image img,
.oliva-reservation-plugin.oliva-v144-page .oliva-v115-split-reverse > .oliva-v115-image img {
  object-position: center center !important;
}

/* Menu: clearer paper layout and sticky category bar that respects the plugin header. */
body.oliva-canvas-body .oliva-menu-plugin .oliva-menu-nav {
  top: calc(var(--oliva-menu-sticky-top, 88px) + 10px) !important;
  z-index: 20 !important;
}
.oliva-menu-plugin.oliva-v144-page .oliva-menu-content {
  max-width: 1180px !important;
  padding-inline: clamp(24px, 4vw, 58px) !important;
  box-shadow: 0 28px 86px rgba(19, 26, 16, .16) !important;
}
.oliva-menu-plugin.oliva-v144-page .oliva-menu-grid {
  gap: clamp(24px, 3vw, 42px) !important;
}
.oliva-menu-plugin.oliva-v144-page .oliva-menu-section {
  padding: clamp(28px, 3.4vw, 48px) !important;
  background: rgba(255, 253, 247, .70) !important;
  border-color: rgba(41, 54, 34, .10) !important;
}
.oliva-menu-plugin.oliva-v144-page .oliva-menu-section-title {
  font-size: clamp(33px, 3.7vw, 54px) !important;
  line-height: 1.02 !important;
}
.oliva-menu-plugin.oliva-v144-page .oliva-menu-item-name {
  font-size: clamp(18px, 1.45vw, 23px) !important;
}
.oliva-menu-plugin.oliva-v144-page .oliva-menu-item-desc {
  font-size: clamp(14px, 1.08vw, 16px) !important;
  line-height: 1.55 !important;
}

/* Home featured-food block from the screenshots: prevent giant image feeling and make the text card breathe. */
.oliva-home-v144 .oliva-v115-recommendations {
  align-items: center !important;
}
.oliva-home-v144 .oliva-v115-recommendations > .oliva-v115-image {
  aspect-ratio: 4 / 3 !important;
  max-height: 520px !important;
}
.oliva-home-v144 .oliva-v115-dish-lines article {
  padding-block: 17px !important;
}

@media (max-width: 1180px) {
  .oliva-plugin-header-inner {
    grid-template-columns: minmax(180px, .9fr) minmax(0, 1.7fr) !important;
    gap: 14px !important;
  }
  .oliva-plugin-header-actions {
    grid-column: 1 / -1 !important;
    justify-content: center !important;
    padding-top: 2px !important;
  }
  .oliva-contact-plugin.oliva-v144-page .oliva-contact-message-section,
  .oliva-contact-plugin.oliva-v144-page .oliva-v115-section:has(#oliva-contact-transport) {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .oliva-contact-plugin.oliva-v144-page .oliva-v115-map-card {
    position: relative !important;
    top: auto !important;
  }
  .oliva-contact-plugin.oliva-v144-page .oliva-contact-message-card,
  .oliva-contact-plugin.oliva-v144-page .oliva-contact-general-card,
  .oliva-contact-plugin.oliva-v144-page .oliva-contact-transport-card,
  .oliva-contact-plugin.oliva-v144-page .oliva-v115-form-slot {
    max-width: 720px !important;
  }
}

@media (max-width: 900px) {
  body.oliva-canvas-body {
    --oliva-fixed-header-h: 0px;
    --oliva-scroll-offset: 82px;
    --oliva-menu-sticky-top: 0px;
  }
  body.admin-bar.oliva-canvas-body {
    --oliva-scroll-offset: 118px;
  }
  .oliva-v144-page .oliva-v115-main {
    padding-top: 52px !important;
  }
  .oliva-plugin-header-inner {
    min-height: auto !important;
  }
  .oliva-contact-plugin.oliva-v144-page .oliva-contact-message-copy h2,
  .oliva-contact-plugin.oliva-v144-page .oliva-contact-transport-copy h2,
  .oliva-contact-plugin.oliva-v144-page .oliva-v115-map-fallback h2 {
    max-width: 100% !important;
    font-size: clamp(36px, 10vw, 50px) !important;
  }
  .oliva-reservation-plugin.oliva-v144-page .oliva-v115-info-grid {
    grid-template-columns: 1fr !important;
  }
  .oliva-reservation-plugin.oliva-v144-page .oliva-v115-info-grid article:nth-child(3) {
    grid-column: auto !important;
  }
  .oliva-menu-plugin.oliva-v144-page .oliva-menu-content {
    padding-inline: 16px !important;
  }
  .oliva-menu-plugin.oliva-v144-page .oliva-menu-nav {
    top: 8px !important;
    margin-inline: -8px !important;
    padding-inline: 8px !important;
  }
}

@media (max-width: 640px) {
  .oliva-contact-plugin.oliva-v144-page .oliva-contact-form-grid {
    grid-template-columns: 1fr !important;
  }
  .oliva-contact-plugin.oliva-v144-page .oliva-contact-message-card,
  .oliva-contact-plugin.oliva-v144-page .oliva-contact-general-card,
  .oliva-contact-plugin.oliva-v144-page .oliva-contact-transport-card,
  .oliva-contact-plugin.oliva-v144-page .oliva-v115-form-slot {
    padding: 20px 16px !important;
    border-radius: 22px !important;
  }
  .oliva-contact-plugin.oliva-v144-page .oliva-contact-general-form textarea,
  .oliva-contact-plugin.oliva-v144-page .oliva-contact-transport-form textarea {
    min-height: 132px !important;
  }
  .oliva-menu-plugin.oliva-v144-page .oliva-menu-section {
    padding: 24px 16px !important;
  }
  .oliva-menu-plugin.oliva-v144-page .oliva-menu-section-title {
    font-size: clamp(30px, 10vw, 40px) !important;
  }
}


/* v1.45.0 · Premium 360 Tour Pack
   Large cinematic Google Street View frame, clear tour hierarchy and robust mobile/tablet sizing. */
.oliva-v145-tour #oliva-360-experience {
  scroll-margin-top: 120px !important;
}

.oliva-v145-tour .oliva-v145-tour-stage {
  width: min(1440px, calc(100% - 48px)) !important;
  margin-inline: auto !important;
  padding: clamp(34px, 5vw, 72px) clamp(18px, 3vw, 42px) !important;
  border: 1px solid rgba(255, 248, 232, .13) !important;
  border-radius: clamp(26px, 3vw, 44px) !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(216, 189, 120, .10), transparent 38%),
    linear-gradient(180deg, rgba(255, 248, 232, .045), rgba(255, 248, 232, .018)) !important;
  box-shadow: 0 36px 110px rgba(0, 0, 0, .22) !important;
}

.oliva-v145-tour .oliva-v145-tour-intro {
  max-width: 860px !important;
  margin: 0 auto clamp(28px, 4vw, 52px) !important;
  text-align: center !important;
}

.oliva-v145-tour .oliva-v145-tour-intro h2 {
  margin-bottom: 18px !important;
  color: #fff8ec !important;
  font-size: clamp(42px, 6.2vw, 88px) !important;
  line-height: .94 !important;
  letter-spacing: -.055em !important;
}

.oliva-v145-tour .oliva-v145-tour-intro p:not(.oliva-v115-kicker) {
  max-width: 720px !important;
  margin: 0 auto !important;
  color: rgba(255, 248, 236, .78) !important;
  font-size: clamp(16px, 1.25vw, 19px) !important;
  line-height: 1.72 !important;
}

.oliva-v145-tour .oliva-v145-tour-intro-actions {
  justify-content: center !important;
  margin-top: 24px !important;
}

.oliva-v145-tour .oliva-v145-tour-frame-shell {
  position: relative !important;
  overflow: hidden !important;
  padding: clamp(10px, 1.2vw, 18px) !important;
  border: 1px solid rgba(216, 189, 120, .36) !important;
  border-radius: clamp(26px, 3vw, 46px) !important;
  background:
    linear-gradient(135deg, rgba(255, 248, 236, .12), rgba(255, 248, 236, .035)),
    #070b07 !important;
  box-shadow: 0 40px 120px rgba(0, 0, 0, .44) !important;
}

.oliva-v145-tour .oliva-v145-tour-frame-shell::before {
  content: "";
  position: absolute;
  inset: -1px;
  pointer-events: none;
  background: linear-gradient(120deg, rgba(216, 189, 120, .24), transparent 28%, transparent 72%, rgba(216, 189, 120, .16));
  opacity: .8;
  z-index: 0;
}

.oliva-v145-tour .oliva-v145-tour-frame-top {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  min-height: 42px !important;
  padding: 6px 10px 14px !important;
  color: rgba(255, 248, 236, .84) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}

.oliva-v145-tour .oliva-v145-tour-frame-top span:first-child {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 52px !important;
  min-height: 30px !important;
  border: 1px solid rgba(216, 189, 120, .42) !important;
  border-radius: 999px !important;
  color: #d8bd78 !important;
}

.oliva-v145-tour .oliva-v145-tour-frame {
  position: relative !important;
  z-index: 1 !important;
  min-height: clamp(580px, 80vh, 900px) !important;
  height: min(80vh, 900px) !important;
  border: 1px solid rgba(255, 248, 236, .16) !important;
  border-radius: clamp(22px, 2.5vw, 36px) !important;
  background: #050805 !important;
  box-shadow: none !important;
}

.oliva-v145-tour .oliva-v145-tour-frame iframe,
.oliva-v145-tour .oliva-v145-tour-frame > iframe {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: inherit !important;
  border: 0 !important;
}

.oliva-v145-tour .oliva-v145-tour-fallback-image {
  aspect-ratio: 16 / 9 !important;
  min-height: 520px !important;
  border-radius: clamp(24px, 3vw, 40px) !important;
}

.oliva-v145-tour .oliva-v115-info-grid.oliva-v115-three {
  margin-top: clamp(46px, 6vw, 86px) !important;
}

@media (max-width: 1024px) {
  .oliva-v145-tour .oliva-v145-tour-stage {
    width: min(100% - 28px, 980px) !important;
    padding: 28px 16px 20px !important;
    border-radius: 28px !important;
  }

  .oliva-v145-tour .oliva-v145-tour-frame {
    min-height: 68svh !important;
    height: 68svh !important;
    border-radius: 22px !important;
  }
}

@media (max-width: 620px) {
  .oliva-v145-tour #oliva-360-experience {
    scroll-margin-top: 92px !important;
  }

  .oliva-v145-tour .oliva-v145-tour-stage {
    width: min(100% - 18px, 560px) !important;
    padding: 22px 10px 12px !important;
    border-radius: 24px !important;
  }

  .oliva-v145-tour .oliva-v145-tour-intro {
    text-align: left !important;
    margin-bottom: 22px !important;
    padding-inline: 8px !important;
  }

  .oliva-v145-tour .oliva-v145-tour-intro h2 {
    font-size: clamp(38px, 12vw, 54px) !important;
    line-height: .98 !important;
  }

  .oliva-v145-tour .oliva-v145-tour-intro p:not(.oliva-v115-kicker) {
    font-size: 15px !important;
    line-height: 1.62 !important;
  }

  .oliva-v145-tour .oliva-v145-tour-intro-actions {
    justify-content: flex-start !important;
  }

  .oliva-v145-tour .oliva-v145-tour-frame-shell {
    padding: 8px !important;
    border-radius: 22px !important;
  }

  .oliva-v145-tour .oliva-v145-tour-frame-top {
    min-height: 36px !important;
    padding: 4px 8px 10px !important;
    font-size: 9.5px !important;
    letter-spacing: .14em !important;
  }

  .oliva-v145-tour .oliva-v145-tour-frame {
    min-height: 64svh !important;
    height: 64svh !important;
    border-radius: 18px !important;
  }
}

.wp-admin .oliva-device-mobile .oliva-v145-tour .oliva-v145-tour-stage {
  width: calc(100% - 18px) !important;
  padding: 20px 10px 12px !important;
}

.wp-admin .oliva-device-mobile .oliva-v145-tour .oliva-v145-tour-frame {
  min-height: 540px !important;
  height: 540px !important;
}

.wp-admin .oliva-device-tablet .oliva-v145-tour .oliva-v145-tour-frame {
  min-height: 640px !important;
  height: 640px !important;
}


/* v1.45.0 · Premium final layout correction
   Real fixes for the live screenshots: sticky header/admin-bar clipping, Contact/Transport anchor position,
   Reservation larger-party card, Menu paper/navigation balance, and a real premium 360° embedded tour. */
body.oliva-canvas-body {
  --oliva-fixed-header-h: 96px;
  --oliva-scroll-offset: 172px;
  --oliva-menu-sticky-top: 104px;
}
body.admin-bar.oliva-canvas-body {
  --oliva-scroll-offset: 206px;
}
body.admin-bar .oliva-plugin-header-sticky:not(.oliva-plugin-chrome-preview) {
  top: 32px !important;
}
@media (max-width: 782px) {
  body.admin-bar .oliva-plugin-header-sticky:not(.oliva-plugin-chrome-preview) {
    top: 46px !important;
  }
}

/* Header: enough height and breathing room. No clipped brand in logged-in tablet view. */
.oliva-plugin-header-inner {
  min-height: 92px !important;
  padding-block: 14px !important;
  align-items: center !important;
}
.oliva-plugin-header-brand {
  padding-block: 2px !important;
  min-height: 54px !important;
  justify-content: center !important;
}
.oliva-plugin-header-brand strong {
  display: block !important;
  line-height: 1.08 !important;
  overflow: visible !important;
  padding-top: 0 !important;
}
.oliva-plugin-header-brand span {
  display: block !important;
  line-height: 1.25 !important;
  margin-top: 2px !important;
}
.oliva-plugin-header-nav {
  row-gap: 8px !important;
}
.oliva-plugin-header-actions {
  min-width: 225px !important;
}

/* Keep anchors from hiding behind the sticky header. */
.oliva-v145-page :is(#oliva-contact-message,#oliva-contact-transport,#transport,#oliva-360-experience,.oliva-menu-section,.oliva-wine-section,.oliva-v115-section) {
  scroll-margin-top: var(--oliva-scroll-offset, 172px) !important;
}
.oliva-contact-plugin.oliva-v145-page #oliva-contact-transport,
.oliva-reservation-plugin.oliva-v145-page #transport,
.oliva-tour-plugin.oliva-v145-page #oliva-360-experience {
  padding-top: 126px !important;
  margin-top: -126px !important;
}

/* Contact: stronger editorial balance and forms that sit in their frame. */
.oliva-contact-plugin.oliva-v145-page .oliva-contact-message-section,
.oliva-contact-plugin.oliva-v145-page .oliva-v115-section:has(#oliva-contact-transport) {
  grid-template-columns: minmax(360px, .9fr) minmax(430px, .9fr) !important;
  gap: clamp(44px, 5.5vw, 86px) !important;
  align-items: center !important;
}
.oliva-contact-plugin.oliva-v145-page .oliva-contact-message-copy h2,
.oliva-contact-plugin.oliva-v145-page .oliva-contact-transport-copy h2,
.oliva-contact-plugin.oliva-v145-page .oliva-v115-map-fallback h2 {
  max-width: 10.8ch !important;
  font-size: clamp(44px, 4.1vw, 66px) !important;
  line-height: 1.02 !important;
  letter-spacing: -.035em !important;
}
.oliva-contact-plugin.oliva-v145-page .oliva-contact-message-copy p,
.oliva-contact-plugin.oliva-v145-page .oliva-contact-transport-copy p {
  max-width: 590px !important;
}
.oliva-contact-plugin.oliva-v145-page .oliva-contact-message-card,
.oliva-contact-plugin.oliva-v145-page .oliva-contact-general-card,
.oliva-contact-plugin.oliva-v145-page .oliva-contact-transport-card,
.oliva-contact-plugin.oliva-v145-page .oliva-v115-form-slot {
  width: min(100%, 560px) !important;
  max-width: 560px !important;
  margin-inline: auto !important;
  padding: clamp(28px, 3.1vw, 42px) !important;
  background: linear-gradient(180deg, rgba(255,248,232,.082), rgba(255,248,232,.040)) !important;
  border: 1px solid rgba(255,248,232,.18) !important;
  box-shadow: 0 26px 74px rgba(0,0,0,.22) !important;
}
.oliva-contact-plugin.oliva-v145-page .oliva-contact-general-form label,
.oliva-contact-plugin.oliva-v145-page .oliva-contact-transport-form label {
  color: rgba(255,248,232,.90) !important;
  font-size: 13px !important;
  letter-spacing: .015em !important;
  line-height: 1.25 !important;
  text-transform: none !important;
}
.oliva-contact-plugin.oliva-v145-page .oliva-contact-general-form input,
.oliva-contact-plugin.oliva-v145-page .oliva-contact-general-form textarea,
.oliva-contact-plugin.oliva-v145-page .oliva-contact-transport-form input,
.oliva-contact-plugin.oliva-v145-page .oliva-contact-transport-form textarea,
.oliva-contact-plugin.oliva-v145-page .oliva-contact-transport-form select {
  min-height: 54px !important;
  border-color: rgba(255,248,232,.22) !important;
  background: rgba(4, 10, 6, .42) !important;
  color: #fff8ec !important;
  font-size: 15px !important;
}
.oliva-contact-plugin.oliva-v145-page .oliva-contact-general-form textarea,
.oliva-contact-plugin.oliva-v145-page .oliva-contact-transport-form textarea {
  min-height: 154px !important;
}
.oliva-contact-plugin.oliva-v145-page .oliva-v115-map-card {
  align-self: start !important;
  position: relative !important;
  top: auto !important;
  max-width: 560px !important;
  margin-inline: auto !important;
}
.oliva-contact-plugin.oliva-v145-page .oliva-v115-map-fallback {
  min-height: 300px !important;
  justify-content: center !important;
}

/* Reservation: the larger-parties note must read as a premium note, not as a narrow text column. */
.oliva-reservation-plugin.oliva-v145-page .oliva-v115-copy {
  max-width: 690px !important;
}
.oliva-reservation-plugin.oliva-v145-page .oliva-v115-info-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
}
.oliva-reservation-plugin.oliva-v145-page .oliva-v115-info-grid article:last-child,
.oliva-reservation-plugin.oliva-v145-page .oliva-v115-info-grid article:nth-child(3) {
  grid-column: 1 / -1 !important;
  min-height: 0 !important;
}
.oliva-reservation-plugin.oliva-v145-page .oliva-v115-info-grid article:last-child strong,
.oliva-reservation-plugin.oliva-v145-page .oliva-v115-info-grid article:nth-child(3) strong {
  max-width: none !important;
  font-size: clamp(16px, 1.25vw, 20px) !important;
  line-height: 1.45 !important;
  letter-spacing: -.01em !important;
}
.oliva-reservation-plugin.oliva-v145-page .oliva-v115-split {
  grid-template-columns: minmax(390px, .82fr) minmax(430px, 1fr) !important;
  gap: clamp(38px, 5vw, 82px) !important;
}
.oliva-reservation-plugin.oliva-v145-page .oliva-v115-image {
  aspect-ratio: 4 / 3 !important;
  max-height: 620px !important;
}

/* Menu: more controlled paper, cleaner category bar, less awkward vertical mass. */
.oliva-menu-plugin.oliva-v145-page .oliva-menu-content {
  max-width: 1200px !important;
  padding-top: clamp(46px, 5vw, 78px) !important;
  padding-inline: clamp(28px, 4.2vw, 62px) !important;
}
body.oliva-canvas-body .oliva-menu-plugin.oliva-v145-page .oliva-menu-nav {
  top: calc(var(--oliva-menu-sticky-top, 104px) + 8px) !important;
  max-width: 100% !important;
  box-shadow: 0 14px 42px rgba(18, 25, 16, .10) !important;
}
.oliva-menu-plugin.oliva-v145-page .oliva-menu-nav a {
  padding-inline: clamp(12px, 1.45vw, 20px) !important;
}
.oliva-menu-plugin.oliva-v145-page .oliva-menu-section {
  min-height: 0 !important;
  padding: clamp(30px, 3.2vw, 46px) !important;
  box-shadow: 0 22px 60px rgba(20, 26, 14, .08) !important;
}
.oliva-menu-plugin.oliva-v145-page .oliva-menu-section-title {
  font-size: clamp(32px, 3.25vw, 50px) !important;
}
.oliva-menu-plugin.oliva-v145-page .oliva-menu-item {
  break-inside: avoid !important;
}

/* 360°: make the real Google Maps tour the dominant premium asset. */
.oliva-tour-plugin.oliva-v145-page #oliva-360-experience {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: clamp(24px, 4vw, 46px) !important;
  align-items: start !important;
}
.oliva-tour-plugin.oliva-v145-page #oliva-360-experience .oliva-v115-copy {
  max-width: 820px !important;
  text-align: center !important;
  margin-inline: auto !important;
}
.oliva-tour-plugin.oliva-v145-page .oliva-v115-tour-embed,
.oliva-tour-plugin.oliva-v145-page #oliva-360-experience .oliva-v115-embed-card {
  width: min(1180px, 100%) !important;
  margin-inline: auto !important;
  aspect-ratio: 16 / 9 !important;
  min-height: clamp(460px, 72vh, 760px) !important;
  border-radius: clamp(24px, 2.6vw, 38px) !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,248,232,.18) !important;
  background: #050805 !important;
  box-shadow: 0 34px 100px rgba(0,0,0,.38) !important;
}
.oliva-tour-plugin.oliva-v145-page .oliva-v115-tour-embed iframe,
.oliva-tour-plugin.oliva-v145-page #oliva-360-experience .oliva-v115-embed-card iframe {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: inherit !important;
  border: 0 !important;
}

/* Home food image/card in the tablet screenshots: prevent oversized block and improve breathing. */
.oliva-home-v145 .oliva-v115-recommendations {
  grid-template-columns: minmax(380px, .92fr) minmax(420px, 1fr) !important;
  gap: clamp(42px, 5vw, 78px) !important;
}
.oliva-home-v145 .oliva-v115-recommendations > .oliva-v115-image {
  aspect-ratio: 16 / 10 !important;
  max-height: 470px !important;
}
.oliva-home-v145 .oliva-v115-dish-lines {
  margin-top: 24px !important;
}

@media (max-width: 1180px) {
  .oliva-plugin-header-inner {
    grid-template-columns: minmax(210px, .8fr) minmax(0, 1.35fr) !important;
    gap: 14px !important;
  }
  .oliva-plugin-header-actions {
    min-width: 0 !important;
    grid-column: 2 / 3 !important;
    justify-content: flex-end !important;
  }
  .oliva-plugin-header-nav {
    grid-column: 1 / -1 !important;
    justify-content: center !important;
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
    padding-bottom: 2px !important;
  }
  .oliva-reservation-plugin.oliva-v145-page .oliva-v115-split,
  .oliva-contact-plugin.oliva-v145-page .oliva-contact-message-section,
  .oliva-contact-plugin.oliva-v145-page .oliva-v115-section:has(#oliva-contact-transport),
  .oliva-home-v145 .oliva-v115-recommendations {
    grid-template-columns: 1fr !important;
  }
  .oliva-contact-plugin.oliva-v145-page .oliva-contact-message-card,
  .oliva-contact-plugin.oliva-v145-page .oliva-contact-general-card,
  .oliva-contact-plugin.oliva-v145-page .oliva-contact-transport-card,
  .oliva-contact-plugin.oliva-v145-page .oliva-v115-form-slot,
  .oliva-contact-plugin.oliva-v145-page .oliva-v115-map-card {
    max-width: 720px !important;
    width: 100% !important;
  }
  .oliva-tour-plugin.oliva-v145-page .oliva-v115-tour-embed,
  .oliva-tour-plugin.oliva-v145-page #oliva-360-experience .oliva-v115-embed-card {
    min-height: clamp(420px, 58vh, 650px) !important;
  }
}

@media (max-width: 900px) {
  body.oliva-canvas-body {
    --oliva-fixed-header-h: 0px;
    --oliva-scroll-offset: 118px;
    --oliva-menu-sticky-top: 0px;
  }
  body.admin-bar.oliva-canvas-body {
    --oliva-scroll-offset: 154px;
  }
  .oliva-plugin-header-sticky:not(.oliva-plugin-chrome-preview) {
    position: relative !important;
    top: auto !important;
  }
  .oliva-contact-plugin.oliva-v145-page #oliva-contact-transport,
  .oliva-reservation-plugin.oliva-v145-page #transport,
  .oliva-tour-plugin.oliva-v145-page #oliva-360-experience {
    padding-top: 80px !important;
    margin-top: -80px !important;
  }
  .oliva-v145-page .oliva-v115-main {
    width: min(100% - 28px, var(--oliva-v115-max, 1180px)) !important;
  }
  .oliva-contact-plugin.oliva-v145-page .oliva-contact-message-copy h2,
  .oliva-contact-plugin.oliva-v145-page .oliva-contact-transport-copy h2,
  .oliva-contact-plugin.oliva-v145-page .oliva-v115-map-fallback h2 {
    max-width: 100% !important;
    font-size: clamp(36px, 11vw, 52px) !important;
  }
  .oliva-reservation-plugin.oliva-v145-page .oliva-v115-info-grid {
    grid-template-columns: 1fr !important;
  }
  .oliva-reservation-plugin.oliva-v145-page .oliva-v115-info-grid article:last-child,
  .oliva-reservation-plugin.oliva-v145-page .oliva-v115-info-grid article:nth-child(3) {
    grid-column: auto !important;
  }
  .oliva-menu-plugin.oliva-v145-page .oliva-menu-content {
    padding-inline: 18px !important;
  }
  body.oliva-canvas-body .oliva-menu-plugin.oliva-v145-page .oliva-menu-nav {
    position: sticky !important;
    top: 8px !important;
    margin-inline: -8px !important;
    padding-inline: 8px !important;
  }
  .oliva-tour-plugin.oliva-v145-page .oliva-v115-tour-embed,
  .oliva-tour-plugin.oliva-v145-page #oliva-360-experience .oliva-v115-embed-card {
    aspect-ratio: 4 / 3 !important;
    min-height: 360px !important;
    border-radius: 24px !important;
  }
}

@media (max-width: 640px) {
  .oliva-plugin-header-inner {
    min-height: 0 !important;
    padding-block: 14px !important;
  }
  .oliva-plugin-header-actions {
    grid-template-columns: 1fr 1fr !important;
  }
  .oliva-contact-plugin.oliva-v145-page .oliva-contact-form-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  .oliva-contact-plugin.oliva-v145-page .oliva-contact-message-card,
  .oliva-contact-plugin.oliva-v145-page .oliva-contact-general-card,
  .oliva-contact-plugin.oliva-v145-page .oliva-contact-transport-card,
  .oliva-contact-plugin.oliva-v145-page .oliva-v115-form-slot {
    padding: 22px 16px !important;
    border-radius: 22px !important;
  }
  .oliva-menu-plugin.oliva-v145-page .oliva-menu-section {
    padding: 24px 16px !important;
  }
  .oliva-tour-plugin.oliva-v145-page .oliva-v115-tour-embed,
  .oliva-tour-plugin.oliva-v145-page #oliva-360-experience .oliva-v115-embed-card {
    min-height: 300px !important;
  }
}

/* v1.46.0 · Final central homepage hero.
   Uses the new night exterior image as the first impression. The photo keeps space to breathe while preserving legibility. */
.oliva-home-v146 .oliva-v115-hero-home {
  min-height: clamp(780px, 100svh, 1120px) !important;
  background: #050805 !important;
}

.oliva-home-v146 .oliva-v115-hero-media img {
  object-position: center 54% !important;
  filter: saturate(1.08) contrast(1.06) brightness(.88) !important;
  transform: scale(1.004) !important;
}

.oliva-home-v146 .oliva-v115-hero-shade {
  background:
    radial-gradient(ellipse at 50% 44%, rgba(0,0,0,.03) 0%, rgba(0,0,0,.08) 40%, rgba(0,0,0,.34) 76%, rgba(0,0,0,.68) 100%),
    linear-gradient(180deg, rgba(0,0,0,.34) 0%, rgba(0,0,0,.10) 36%, rgba(0,0,0,.18) 58%, rgba(0,0,0,.72) 100%) !important;
}

.oliva-home-v146 .oliva-v115-hero-copy {
  padding-top: clamp(22px, 5vh, 76px) !important;
}

.oliva-home-v146 .oliva-v115-hero-copy h1 {
  text-shadow: 0 14px 46px rgba(0,0,0,.52), 0 2px 12px rgba(0,0,0,.38) !important;
}

.oliva-home-v146 .oliva-v115-lead {
  color: rgba(255,248,238,.90) !important;
  text-shadow: 0 10px 32px rgba(0,0,0,.48) !important;
}

.oliva-home-v146 .oliva-v122-cover-actions .oliva-home-button-primary {
  background: #fff6e6 !important;
  border-color: rgba(255,246,230,.94) !important;
  color: #11180f !important;
  box-shadow: 0 18px 50px rgba(0,0,0,.24) !important;
}

.oliva-home-v146 .oliva-v122-cover-actions .oliva-home-button-secondary {
  color: #fff6e6 !important;
  border-bottom-color: rgba(255,246,230,.78) !important;
}

@media (max-width: 780px) {
  .oliva-home-v146 .oliva-v115-hero-home {
    min-height: 94svh !important;
    padding-top: 84px !important;
    padding-bottom: 82px !important;
  }

  .oliva-home-v146 .oliva-v115-hero-media img {
    object-position: center center !important;
    transform: scale(1.025) !important;
    filter: saturate(1.08) contrast(1.06) brightness(.82) !important;
  }

  .oliva-home-v146 .oliva-v115-hero-shade {
    background:
      linear-gradient(180deg, rgba(0,0,0,.46) 0%, rgba(0,0,0,.10) 34%, rgba(0,0,0,.24) 58%, rgba(0,0,0,.82) 100%) !important;
  }

  .oliva-home-v146 .oliva-v115-hero-copy {
    padding-top: 14vh !important;
  }
}

.wp-admin .oliva-device-mobile .oliva-home-v146 .oliva-v115-hero-home {
  min-height: 660px !important;
}

.wp-admin .oliva-device-mobile .oliva-home-v146 .oliva-v115-hero-media img {
  object-position: center center !important;
}

/* v1.46.1 · Mobile contrast and fit repair.
   Fixes black active/selected states on mobile, removes orange CTA bleed, and makes the mobile header/nav fit cleanly. */
.oliva-home-v146,
.oliva-home-v146 * {
  -webkit-tap-highlight-color: transparent !important;
}

/* Hero CTAs: no orange, no black selected state. */
.oliva-home-v146.oliva-home-plugin .oliva-v122-cover-actions a.oliva-home-button-primary,
.oliva-home-v146.oliva-home-plugin .oliva-v122-cover-actions a.oliva-home-button-primary:visited,
.oliva-home-v146.oliva-home-plugin .oliva-v122-cover-actions a.oliva-home-button-primary:hover,
.oliva-home-v146.oliva-home-plugin .oliva-v122-cover-actions a.oliva-home-button-primary:focus,
.oliva-home-v146.oliva-home-plugin .oliva-v122-cover-actions a.oliva-home-button-primary:active {
  background: linear-gradient(180deg, #fff8ec 0%, #ead8b9 100%) !important;
  border: 1px solid rgba(255,248,236,.88) !important;
  color: #0b1209 !important;
  box-shadow: 0 18px 48px rgba(0,0,0,.28) !important;
}

.oliva-home-v146.oliva-home-plugin .oliva-v122-cover-actions a.oliva-home-button-secondary,
.oliva-home-v146.oliva-home-plugin .oliva-v122-cover-actions a.oliva-home-button-secondary:visited,
.oliva-home-v146.oliva-home-plugin .oliva-v122-cover-actions a.oliva-home-button-secondary:hover,
.oliva-home-v146.oliva-home-plugin .oliva-v122-cover-actions a.oliva-home-button-secondary:focus,
.oliva-home-v146.oliva-home-plugin .oliva-v122-cover-actions a.oliva-home-button-secondary:active {
  background: rgba(7,14,6,.34) !important;
  border: 1px solid rgba(255,248,236,.34) !important;
  border-bottom-color: rgba(255,248,236,.46) !important;
  color: #fff8ec !important;
  box-shadow: 0 14px 38px rgba(0,0,0,.24) !important;
}

/* Bottom quick bar: every item remains readable; no first-child black text. */
.oliva-home-v146 .oliva-home-mobile-bar,
.oliva-home-v146 .oliva-v115-mobile-bar {
  background: rgba(6, 12, 6, .92) !important;
  border: 1px solid rgba(255,248,236,.22) !important;
  box-shadow: 0 18px 48px rgba(0,0,0,.42) !important;
}

.oliva-home-v146 .oliva-home-mobile-bar a,
.oliva-home-v146 .oliva-home-mobile-bar a:first-child,
.oliva-home-v146 .oliva-home-mobile-bar a:visited,
.oliva-home-v146 .oliva-home-mobile-bar a:hover,
.oliva-home-v146 .oliva-home-mobile-bar a:focus,
.oliva-home-v146 .oliva-home-mobile-bar a:active,
.oliva-home-v146 .oliva-v115-mobile-bar a,
.oliva-home-v146 .oliva-v115-mobile-bar a:first-child,
.oliva-home-v146 .oliva-v115-mobile-bar a:visited,
.oliva-home-v146 .oliva-v115-mobile-bar a:hover,
.oliva-home-v146 .oliva-v115-mobile-bar a:focus,
.oliva-home-v146 .oliva-v115-mobile-bar a:active {
  background: rgba(255,248,236,.055) !important;
  color: #fff8ec !important;
  border: 1px solid rgba(255,248,236,.08) !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

.oliva-home-v146 .oliva-home-mobile-bar a:first-child,
.oliva-home-v146 .oliva-v115-mobile-bar a:first-child {
  background: linear-gradient(180deg, rgba(255,248,236,.18), rgba(255,248,236,.08)) !important;
  color: #fff8ec !important;
}

/* Header: compact mobile layout, all navigation visible, no overflow or clipped labels. */
@media (max-width: 760px) {
  .oliva-plugin-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 9998 !important;
  }

  .oliva-plugin-header-inner {
    width: calc(100% - 22px) !important;
    gap: 12px !important;
    padding: 14px 0 13px !important;
  }

  .oliva-plugin-header-brand strong {
    font-size: clamp(22px, 7vw, 30px) !important;
    line-height: .95 !important;
    letter-spacing: .04em !important;
  }

  .oliva-plugin-header-brand span {
    font-size: 11px !important;
    letter-spacing: .22em !important;
  }

  .oliva-plugin-header-nav {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 6px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  .oliva-plugin-header-nav a,
  .oliva-plugin-header-nav a:visited,
  .oliva-plugin-header-nav a:hover,
  .oliva-plugin-header-nav a:focus,
  .oliva-plugin-header-nav a:active {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 34px !important;
    padding: 7px 4px !important;
    border-radius: 999px !important;
    background: rgba(255,248,236,.035) !important;
    border: 1px solid rgba(255,248,236,.08) !important;
    color: rgba(255,248,236,.92) !important;
    font-size: clamp(8.5px, 2.15vw, 10px) !important;
    letter-spacing: .06em !important;
    line-height: 1 !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  .oliva-plugin-header-nav a[aria-current="page"],
  .oliva-plugin-header-nav .current-menu-item > a,
  .oliva-plugin-header-nav a.current,
  .oliva-plugin-header-nav a.is-active {
    background: rgba(255,248,236,.12) !important;
    border-color: rgba(199,166,111,.46) !important;
    color: #fff8ec !important;
  }

  .oliva-plugin-header-actions {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }

  .oliva-plugin-header-phone,
  .oliva-plugin-header-phone:visited,
  .oliva-plugin-header-phone:hover,
  .oliva-plugin-header-phone:focus,
  .oliva-plugin-header-phone:active {
    background: rgba(255,248,236,.035) !important;
    border: 1px solid rgba(255,248,236,.22) !important;
    color: #fff8ec !important;
  }

  .oliva-plugin-header-cta,
  .oliva-plugin-header-cta:visited,
  .oliva-plugin-header-cta:hover,
  .oliva-plugin-header-cta:focus,
  .oliva-plugin-header-cta:active {
    background: linear-gradient(180deg, #ead8b9 0%, #c7a66f 100%) !important;
    color: #0b1209 !important;
    border-color: rgba(255,248,236,.26) !important;
  }

  .oliva-home-v146 .oliva-v115-hero-home {
    min-height: calc(100svh - 4px) !important;
    padding-top: 16px !important;
    padding-bottom: calc(92px + env(safe-area-inset-bottom, 0px)) !important;
    align-items: flex-end !important;
  }

  .oliva-home-v146 .oliva-v115-hero-media img {
    object-position: center 48% !important;
    transform: scale(1.015) !important;
    filter: saturate(1.08) contrast(1.05) brightness(.86) !important;
  }

  .oliva-home-v146 .oliva-v115-hero-copy {
    width: min(calc(100% - 32px), 420px) !important;
    max-width: 420px !important;
    padding-top: 0 !important;
    padding-bottom: 8px !important;
  }

  .oliva-home-v146 .oliva-v115-hero-copy h1 {
    font-size: clamp(42px, 12vw, 60px) !important;
    line-height: .98 !important;
    letter-spacing: -.04em !important;
    margin-bottom: 18px !important;
  }

  .oliva-home-v146 .oliva-v122-cover-actions {
    width: min(100%, 360px) !important;
    max-width: 360px !important;
    gap: 10px !important;
  }

  .oliva-home-v146 .oliva-v122-cover-actions .oliva-home-button {
    min-height: 52px !important;
    padding: 15px 18px !important;
    font-size: 10.5px !important;
    letter-spacing: .12em !important;
  }

  .oliva-home-v146 .oliva-v1261-mobile-top-actions {
    top: 14px !important;
    left: 18px !important;
    right: 18px !important;
    gap: 10px !important;
  }

  .oliva-home-v146 .oliva-v1261-top-pill,
  .oliva-home-v146 .oliva-v1261-top-pill:visited,
  .oliva-home-v146 .oliva-v1261-top-pill:hover,
  .oliva-home-v146 .oliva-v1261-top-pill:focus,
  .oliva-home-v146 .oliva-v1261-top-pill:active {
    min-height: 46px !important;
    background: rgba(7,14,6,.58) !important;
    border: 1px solid rgba(255,248,236,.26) !important;
    color: #fff8ec !important;
    box-shadow: 0 16px 42px rgba(0,0,0,.30) !important;
  }
}

@media (max-width: 390px) {
  .oliva-plugin-header-nav {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .oliva-home-v146 .oliva-v115-hero-copy h1 {
    font-size: clamp(38px, 11.5vw, 50px) !important;
  }

  .oliva-home-v146 .oliva-v122-cover-actions {
    width: min(100%, 326px) !important;
  }
}

/* v1.46.1 · Mobile contrast and final fit repair
   Fixes the dark selected bottom action, removes old orange CTAs, and tightens mobile header/hero contrast. */
.oliva-home-v1461,
.oliva-home-v1461 * {
  -webkit-tap-highlight-color: transparent !important;
}

/* No orange on the central homepage CTA. Keep the premium ivory/gold language. */
.oliva-home-v1461 .oliva-v122-cover-actions .oliva-home-button-primary,
.oliva-home-v146 .oliva-v122-cover-actions .oliva-home-button-primary,
.oliva-home-plugin .oliva-v122-cover-actions .oliva-home-button-primary {
  background: linear-gradient(180deg, #fff7e8 0%, #ecd8b7 100%) !important;
  border: 1px solid rgba(255, 248, 232, .92) !important;
  color: #10170f !important;
  box-shadow: 0 18px 52px rgba(0, 0, 0, .30) !important;
}

.oliva-home-v1461 .oliva-v122-cover-actions .oliva-home-button-primary:hover,
.oliva-home-v1461 .oliva-v122-cover-actions .oliva-home-button-primary:focus-visible,
.oliva-home-v146 .oliva-v122-cover-actions .oliva-home-button-primary:hover,
.oliva-home-v146 .oliva-v122-cover-actions .oliva-home-button-primary:focus-visible {
  background: #fffaf0 !important;
  color: #10170f !important;
  transform: translateY(-1px) !important;
}

/* Bottom mobile bar: all labels must stay readable, including the first/active item. */
.oliva-home-v1461 .oliva-home-mobile-bar,
.oliva-home-v1461 .oliva-v115-mobile-bar,
.oliva-home-v146 .oliva-home-mobile-bar,
.oliva-home-v146 .oliva-v115-mobile-bar,
.oliva-v137-page .oliva-v115-mobile-bar {
  border: 1px solid rgba(255, 248, 232, .20) !important;
  background: rgba(5, 10, 6, .94) !important;
  box-shadow: 0 18px 54px rgba(0, 0, 0, .42) !important;
  backdrop-filter: blur(18px) saturate(1.05) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.05) !important;
}

.oliva-home-v1461 .oliva-home-mobile-bar a,
.oliva-home-v1461 .oliva-home-mobile-bar a:visited,
.oliva-home-v1461 .oliva-home-mobile-bar a:hover,
.oliva-home-v1461 .oliva-home-mobile-bar a:focus,
.oliva-home-v1461 .oliva-home-mobile-bar a:active,
.oliva-home-v1461 .oliva-v115-mobile-bar a,
.oliva-home-v1461 .oliva-v115-mobile-bar a:visited,
.oliva-home-v1461 .oliva-v115-mobile-bar a:hover,
.oliva-home-v1461 .oliva-v115-mobile-bar a:focus,
.oliva-home-v1461 .oliva-v115-mobile-bar a:active,
.oliva-home-v146 .oliva-home-mobile-bar a,
.oliva-home-v146 .oliva-home-mobile-bar a:visited,
.oliva-home-v146 .oliva-home-mobile-bar a:first-child,
.oliva-home-v146 .oliva-home-mobile-bar a:first-child:visited,
.oliva-v137-page .oliva-v115-mobile-bar a,
.oliva-v137-page .oliva-v115-mobile-bar a:visited {
  color: #fff8ec !important;
  text-shadow: 0 1px 12px rgba(0, 0, 0, .36) !important;
  text-decoration: none !important;
}

.oliva-home-v1461 .oliva-home-mobile-bar a,
.oliva-home-v1461 .oliva-v115-mobile-bar a,
.oliva-home-v146 .oliva-home-mobile-bar a,
.oliva-home-v146 .oliva-v115-mobile-bar a {
  background: rgba(255, 248, 232, .075) !important;
  border: 1px solid rgba(255, 248, 232, .045) !important;
}

.oliva-home-v1461 .oliva-home-mobile-bar a:first-child,
.oliva-home-v1461 .oliva-v115-mobile-bar a:first-child,
.oliva-home-v146 .oliva-home-mobile-bar a:first-child,
.oliva-home-v146 .oliva-v115-mobile-bar a:first-child {
  background: linear-gradient(180deg, rgba(255, 248, 232, .20), rgba(255, 248, 232, .095)) !important;
  color: #fff8ec !important;
  border-color: rgba(226, 202, 134, .36) !important;
}

.oliva-home-v1461 .oliva-home-mobile-bar a[aria-current="page"],
.oliva-home-v1461 .oliva-v115-mobile-bar a[aria-current="page"],
.oliva-home-v146 .oliva-home-mobile-bar a[aria-current="page"],
.oliva-home-v146 .oliva-v115-mobile-bar a[aria-current="page"] {
  color: #fff8ec !important;
}

/* Mobile top Call/Maps buttons: keep visible but not heavy. */
.oliva-home-v1461 .oliva-v1261-mobile-top-actions,
.oliva-home-v146 .oliva-v1261-mobile-top-actions {
  z-index: 7 !important;
}

.oliva-home-v1461 .oliva-v1261-top-pill,
.oliva-home-v1461 .oliva-v1261-top-pill:visited,
.oliva-home-v146 .oliva-v1261-top-pill,
.oliva-home-v146 .oliva-v1261-top-pill:visited {
  background: rgba(5, 11, 7, .68) !important;
  border: 1px solid rgba(255, 248, 232, .28) !important;
  color: #fff8ec !important;
  box-shadow: 0 16px 44px rgba(0, 0, 0, .30) !important;
  backdrop-filter: blur(15px) saturate(1.05) !important;
  -webkit-backdrop-filter: blur(15px) saturate(1.05) !important;
}

.oliva-home-v1461 .oliva-v1261-top-pill::before,
.oliva-home-v146 .oliva-v1261-top-pill::before {
  background: #d8bd78 !important;
  box-shadow: 0 0 0 6px rgba(216, 189, 120, .12) !important;
}

@media (max-width: 780px) {
  body.oliva-canvas-body .oliva-plugin-header-sticky:not(.oliva-plugin-chrome-preview),
  .oliva-plugin-header-sticky:not(.oliva-plugin-chrome-preview) {
    position: relative !important;
    top: auto !important;
  }

  .oliva-plugin-header {
    border-bottom-color: rgba(255, 248, 232, .10) !important;
    background: linear-gradient(180deg, rgba(4, 9, 5, .98), rgba(4, 9, 5, .94)) !important;
  }

  .oliva-plugin-header-inner {
    width: min(100% - 28px, 1180px) !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    min-height: 0 !important;
    padding: 18px 0 14px !important;
  }

  .oliva-plugin-header-brand {
    min-height: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    align-items: center !important;
  }

  .oliva-plugin-header-brand strong {
    font-size: clamp(24px, 6.8vw, 34px) !important;
    line-height: .94 !important;
    letter-spacing: .03em !important;
  }

  .oliva-plugin-header-brand span {
    margin-top: 6px !important;
    font-size: 12px !important;
    letter-spacing: .28em !important;
    color: #d8bd78 !important;
  }

  .oliva-plugin-header-nav {
    display: flex !important;
    width: 100% !important;
    justify-content: flex-start !important;
    gap: 20px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 7px 2px 9px !important;
    scroll-snap-type: x proximity !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .oliva-plugin-header-nav a {
    flex: 0 0 auto !important;
    scroll-snap-align: center !important;
    color: #fff8ec !important;
    font-size: 12px !important;
    line-height: 1 !important;
    letter-spacing: .12em !important;
    white-space: nowrap !important;
  }

  .oliva-plugin-header-actions {
    display: grid !important;
    width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    justify-content: stretch !important;
  }

  .oliva-plugin-header-phone,
  .oliva-plugin-header-cta {
    min-height: 50px !important;
    width: 100% !important;
    justify-content: center !important;
    padding: 0 14px !important;
    font-size: 12px !important;
    letter-spacing: .11em !important;
    white-space: nowrap !important;
  }

  .oliva-plugin-header-phone {
    color: #fff8ec !important;
    border-color: rgba(255, 248, 232, .22) !important;
    background: rgba(255, 248, 232, .045) !important;
  }

  .oliva-plugin-header-cta {
    color: #10170f !important;
    background: linear-gradient(180deg, #f2dcbd, #c9a76e) !important;
    border-color: rgba(242, 220, 189, .82) !important;
  }

  .oliva-home-v1461 .oliva-v115-hero-home,
  .oliva-home-v146 .oliva-v115-hero-home {
    min-height: calc(100svh - 6px) !important;
    padding-top: 28px !important;
    padding-bottom: calc(112px + env(safe-area-inset-bottom, 0px)) !important;
    align-items: flex-end !important;
  }

  .oliva-home-v1461 .oliva-v115-hero-media img,
  .oliva-home-v146 .oliva-v115-hero-media img {
    object-position: center center !important;
    filter: saturate(1.06) contrast(1.06) brightness(.78) !important;
  }

  .oliva-home-v1461 .oliva-v115-hero-shade,
  .oliva-home-v146 .oliva-v115-hero-shade {
    background:
      linear-gradient(180deg, rgba(0,0,0,.32) 0%, rgba(0,0,0,.08) 34%, rgba(0,0,0,.18) 55%, rgba(0,0,0,.82) 100%) !important;
  }

  .oliva-home-v1461 .oliva-v115-hero-copy,
  .oliva-home-v146 .oliva-v115-hero-copy {
    width: min(calc(100% - 34px), 372px) !important;
    max-width: 372px !important;
    padding-top: 0 !important;
    padding-bottom: 26px !important;
  }

  .oliva-home-v1461 .oliva-v115-hero-copy h1,
  .oliva-home-v146 .oliva-v115-hero-copy h1 {
    max-width: 11ch !important;
    margin-inline: auto !important;
    font-size: clamp(46px, 13.5vw, 62px) !important;
    line-height: .95 !important;
    letter-spacing: -.04em !important;
    color: #fff8ec !important;
    text-shadow: 0 16px 48px rgba(0,0,0,.58), 0 3px 12px rgba(0,0,0,.42) !important;
  }

  .oliva-home-v1461 .oliva-v122-cover-actions,
  .oliva-home-v146 .oliva-v122-cover-actions {
    width: min(100%, 326px) !important;
    margin-inline: auto !important;
    gap: 11px !important;
  }

  .oliva-home-v1461 .oliva-v122-cover-actions .oliva-home-button,
  .oliva-home-v146 .oliva-v122-cover-actions .oliva-home-button {
    min-height: 50px !important;
    width: 100% !important;
    font-size: 11px !important;
    letter-spacing: .14em !important;
  }

  .oliva-home-v1461 .oliva-home-mobile-bar,
  .oliva-home-v1461 .oliva-v115-mobile-bar,
  .oliva-home-v146 .oliva-home-mobile-bar,
  .oliva-home-v146 .oliva-v115-mobile-bar {
    left: 14px !important;
    right: 14px !important;
    bottom: calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 6px !important;
    padding: 7px !important;
    border-radius: 24px !important;
  }

  .oliva-home-v1461 .oliva-home-mobile-bar a,
  .oliva-home-v1461 .oliva-v115-mobile-bar a,
  .oliva-home-v146 .oliva-home-mobile-bar a,
  .oliva-home-v146 .oliva-v115-mobile-bar a {
    min-height: 48px !important;
    border-radius: 18px !important;
    font-size: 10.5px !important;
    letter-spacing: .08em !important;
    color: #fff8ec !important;
  }
}

@media (max-width: 380px) {
  .oliva-plugin-header-nav {
    gap: 16px !important;
  }

  .oliva-plugin-header-nav a {
    font-size: 11px !important;
  }

  .oliva-plugin-header-phone,
  .oliva-plugin-header-cta {
    min-height: 48px !important;
    font-size: 10.5px !important;
  }

  .oliva-home-v1461 .oliva-v115-hero-copy h1,
  .oliva-home-v146 .oliva-v115-hero-copy h1 {
    font-size: clamp(42px, 12.8vw, 54px) !important;
  }

  .oliva-home-v1461 .oliva-home-mobile-bar a,
  .oliva-home-v1461 .oliva-v115-mobile-bar a,
  .oliva-home-v146 .oliva-home-mobile-bar a,
  .oliva-home-v146 .oliva-v115-mobile-bar a {
    font-size: 9.5px !important;
    letter-spacing: .055em !important;
  }
}

/* v1.47.0 · iPhone Mobile Fit & Contrast Lock
   Final mobile audit for iPhone/Safari/Messenger webviews: compact header, fixed phone button,
   no orange CTA bleed, readable selected mobile bar, and safe hero spacing. */
html body.oliva-canvas-body {
  overflow-x: hidden !important;
}

.oliva-plugin-header,
.oliva-plugin-header *,
.oliva-home-v147,
.oliva-home-v147 * {
  -webkit-tap-highlight-color: rgba(0,0,0,0) !important;
  box-sizing: border-box !important;
}

/* Force premium reservation CTA everywhere on the home cover. */
.oliva-home-v147 .oliva-v122-cover-actions a.oliva-home-button-primary,
.oliva-home-v147 .oliva-v122-cover-actions a.oliva-home-button-primary:link,
.oliva-home-v147 .oliva-v122-cover-actions a.oliva-home-button-primary:visited,
.oliva-home-v147 .oliva-v122-cover-actions a.oliva-home-button-primary:hover,
.oliva-home-v147 .oliva-v122-cover-actions a.oliva-home-button-primary:focus,
.oliva-home-v147 .oliva-v122-cover-actions a.oliva-home-button-primary:active,
.oliva-home-v146 .oliva-v122-cover-actions a.oliva-home-button-primary,
.oliva-home-v146 .oliva-v122-cover-actions a.oliva-home-button-primary:link,
.oliva-home-v146 .oliva-v122-cover-actions a.oliva-home-button-primary:visited,
.oliva-home-v146 .oliva-v122-cover-actions a.oliva-home-button-primary:hover,
.oliva-home-v146 .oliva-v122-cover-actions a.oliva-home-button-primary:focus,
.oliva-home-v146 .oliva-v122-cover-actions a.oliva-home-button-primary:active {
  background: linear-gradient(180deg, #fff8ec 0%, #ead5b0 100%) !important;
  border: 1px solid rgba(255,248,236,.92) !important;
  color: #0c130a !important;
  text-shadow: none !important;
  box-shadow: 0 18px 48px rgba(0,0,0,.30) !important;
}

.oliva-home-v147 .oliva-v122-cover-actions a.oliva-home-button-secondary,
.oliva-home-v147 .oliva-v122-cover-actions a.oliva-home-button-secondary:link,
.oliva-home-v147 .oliva-v122-cover-actions a.oliva-home-button-secondary:visited,
.oliva-home-v147 .oliva-v122-cover-actions a.oliva-home-button-secondary:hover,
.oliva-home-v147 .oliva-v122-cover-actions a.oliva-home-button-secondary:focus,
.oliva-home-v147 .oliva-v122-cover-actions a.oliva-home-button-secondary:active,
.oliva-home-v146 .oliva-v122-cover-actions a.oliva-home-button-secondary,
.oliva-home-v146 .oliva-v122-cover-actions a.oliva-home-button-secondary:link,
.oliva-home-v146 .oliva-v122-cover-actions a.oliva-home-button-secondary:visited,
.oliva-home-v146 .oliva-v122-cover-actions a.oliva-home-button-secondary:hover,
.oliva-home-v146 .oliva-v122-cover-actions a.oliva-home-button-secondary:focus,
.oliva-home-v146 .oliva-v122-cover-actions a.oliva-home-button-secondary:active {
  background: rgba(6, 13, 7, .42) !important;
  border: 1px solid rgba(255,248,236,.30) !important;
  border-bottom-color: rgba(255,248,236,.50) !important;
  color: #fff8ec !important;
  text-shadow: 0 1px 12px rgba(0,0,0,.42) !important;
}

/* Universal mobile quick bar contrast. The first item is intentionally gold with dark text. */
.oliva-v115-mobile-bar,
.oliva-home-mobile-bar {
  background: rgba(4, 9, 5, .96) !important;
  border: 1px solid rgba(255, 248, 236, .18) !important;
  box-shadow: 0 18px 55px rgba(0, 0, 0, .42) !important;
  backdrop-filter: blur(18px) saturate(1.08) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.08) !important;
}

.oliva-v115-mobile-bar a,
.oliva-v115-mobile-bar a:link,
.oliva-v115-mobile-bar a:visited,
.oliva-v115-mobile-bar a:hover,
.oliva-v115-mobile-bar a:focus,
.oliva-v115-mobile-bar a:active,
.oliva-v115-mobile-bar a span,
.oliva-home-mobile-bar a,
.oliva-home-mobile-bar a:link,
.oliva-home-mobile-bar a:visited,
.oliva-home-mobile-bar a:hover,
.oliva-home-mobile-bar a:focus,
.oliva-home-mobile-bar a:active,
.oliva-home-mobile-bar a span {
  color: #fff8ec !important;
  text-decoration: none !important;
  opacity: 1 !important;
  text-shadow: 0 1px 10px rgba(0,0,0,.34) !important;
}

.oliva-v115-mobile-bar a,
.oliva-home-mobile-bar a {
  background: rgba(255, 248, 236, .085) !important;
  border: 1px solid rgba(255, 248, 236, .07) !important;
}

.oliva-v115-mobile-bar a:first-child,
.oliva-v115-mobile-bar a:first-child:link,
.oliva-v115-mobile-bar a:first-child:visited,
.oliva-v115-mobile-bar a:first-child:hover,
.oliva-v115-mobile-bar a:first-child:focus,
.oliva-v115-mobile-bar a:first-child:active,
.oliva-home-mobile-bar a:first-child,
.oliva-home-mobile-bar a:first-child:link,
.oliva-home-mobile-bar a:first-child:visited,
.oliva-home-mobile-bar a:first-child:hover,
.oliva-home-mobile-bar a:first-child:focus,
.oliva-home-mobile-bar a:first-child:active {
  background: linear-gradient(180deg, #fff8ec 0%, #dfc59b 100%) !important;
  border-color: rgba(255,248,236,.72) !important;
  color: #0b1209 !important;
  text-shadow: none !important;
}

.oliva-v115-mobile-bar a:first-child *,
.oliva-home-mobile-bar a:first-child * {
  color: #0b1209 !important;
  text-shadow: none !important;
}

@media (max-width: 820px) {
  /* Canvas header becomes a true mobile header, not a compressed desktop header. */
  body.oliva-canvas-body .oliva-plugin-header-sticky:not(.oliva-plugin-chrome-preview),
  .oliva-plugin-header-sticky:not(.oliva-plugin-chrome-preview) {
    position: relative !important;
    top: auto !important;
  }

  .oliva-plugin-header {
    overflow: hidden !important;
    border-bottom: 1px solid rgba(255,248,236,.10) !important;
    background: linear-gradient(180deg, rgba(4,9,5,.985), rgba(4,9,5,.955)) !important;
    box-shadow: 0 14px 40px rgba(0,0,0,.22) !important;
  }

  .oliva-plugin-header-inner {
    width: min(100% - 24px, 760px) !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
    min-height: 0 !important;
    padding: 12px 0 11px !important;
    margin-inline: auto !important;
  }

  .oliva-plugin-header-brand {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    width: 100% !important;
    text-align: center !important;
    padding: 0 !important;
  }

  .oliva-plugin-header-brand strong {
    max-width: 100% !important;
    font-size: clamp(21px, 5.9vw, 30px) !important;
    line-height: .96 !important;
    letter-spacing: .045em !important;
    white-space: normal !important;
    color: #fff8ec !important;
  }

  .oliva-plugin-header-brand span {
    margin-top: 4px !important;
    font-size: clamp(9px, 2.8vw, 12px) !important;
    line-height: 1 !important;
    letter-spacing: .26em !important;
    color: #d8bd78 !important;
  }

  .oliva-plugin-header-nav {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 18px !important;
    justify-content: flex-start !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    white-space: nowrap !important;
    padding: 8px 2px 8px !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    mask-image: linear-gradient(90deg, transparent 0, #000 18px, #000 calc(100% - 18px), transparent 100%) !important;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 18px, #000 calc(100% - 18px), transparent 100%) !important;
  }

  .oliva-plugin-header-nav::-webkit-scrollbar {
    display: none !important;
  }

  .oliva-plugin-header-nav a,
  .oliva-plugin-header-nav a:link,
  .oliva-plugin-header-nav a:visited,
  .oliva-plugin-header-nav a:hover,
  .oliva-plugin-header-nav a:focus,
  .oliva-plugin-header-nav a:active {
    flex: 0 0 auto !important;
    min-width: max-content !important;
    color: #fff8ec !important;
    opacity: .96 !important;
    font-size: clamp(10.5px, 2.8vw, 12px) !important;
    line-height: 1 !important;
    letter-spacing: .12em !important;
    text-decoration: none !important;
    padding: 2px 0 !important;
  }

  .oliva-plugin-header-actions {
    display: grid !important;
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: .82fr 1.18fr !important;
    gap: 8px !important;
    min-width: 0 !important;
    justify-content: stretch !important;
  }

  .oliva-plugin-header-phone,
  .oliva-plugin-header-phone:link,
  .oliva-plugin-header-phone:visited,
  .oliva-plugin-header-phone:hover,
  .oliva-plugin-header-phone:focus,
  .oliva-plugin-header-phone:active,
  .oliva-plugin-header-cta,
  .oliva-plugin-header-cta:link,
  .oliva-plugin-header-cta:visited,
  .oliva-plugin-header-cta:hover,
  .oliva-plugin-header-cta:focus,
  .oliva-plugin-header-cta:active {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    width: 100% !important;
    min-height: 44px !important;
    padding: 0 12px !important;
    border-radius: 999px !important;
    font-size: 11px !important;
    line-height: 1 !important;
    letter-spacing: .12em !important;
    font-weight: 900 !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: nowrap !important;
  }

  /* Full phone number breaks on iPhone. Show compact CALL label, keeping the tel: link. */
  .oliva-plugin-header-phone,
  .oliva-plugin-header-phone:link,
  .oliva-plugin-header-phone:visited,
  .oliva-plugin-header-phone:hover,
  .oliva-plugin-header-phone:focus,
  .oliva-plugin-header-phone:active {
    font-size: 0 !important;
    color: transparent !important;
    border: 1px solid rgba(255,248,236,.23) !important;
    background: rgba(255,248,236,.055) !important;
    box-shadow: inset 0 0 0 1px rgba(255,248,236,.03) !important;
  }

  .oliva-plugin-header-phone::before {
    content: "CALL" !important;
    display: inline-flex !important;
    color: #fff8ec !important;
    font-size: 11px !important;
    letter-spacing: .13em !important;
    font-weight: 900 !important;
    line-height: 1 !important;
  }

  .oliva-lang-el .oliva-plugin-header-phone::before {
    content: "ΤΗΛΕΦΩΝΟ" !important;
  }

  .oliva-plugin-header-cta,
  .oliva-plugin-header-cta:link,
  .oliva-plugin-header-cta:visited,
  .oliva-plugin-header-cta:hover,
  .oliva-plugin-header-cta:focus,
  .oliva-plugin-header-cta:active {
    background: linear-gradient(180deg, #fff8ec 0%, #d9b777 100%) !important;
    border: 1px solid rgba(255,248,236,.78) !important;
    color: #0b1209 !important;
    text-shadow: none !important;
    box-shadow: 0 10px 32px rgba(0,0,0,.24) !important;
  }

  /* Top call/maps hero pills are secondary; keep them smaller and away from the headline. */
  .oliva-home-v147 .oliva-v1261-mobile-top-actions,
  .oliva-home-v146 .oliva-v1261-mobile-top-actions {
    width: min(100% - 28px, 360px) !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 9px !important;
    z-index: 6 !important;
  }

  .oliva-home-v147 .oliva-v1261-top-pill,
  .oliva-home-v147 .oliva-v1261-top-pill:link,
  .oliva-home-v147 .oliva-v1261-top-pill:visited,
  .oliva-home-v147 .oliva-v1261-top-pill:hover,
  .oliva-home-v147 .oliva-v1261-top-pill:focus,
  .oliva-home-v147 .oliva-v1261-top-pill:active,
  .oliva-home-v146 .oliva-v1261-top-pill,
  .oliva-home-v146 .oliva-v1261-top-pill:link,
  .oliva-home-v146 .oliva-v1261-top-pill:visited,
  .oliva-home-v146 .oliva-v1261-top-pill:hover,
  .oliva-home-v146 .oliva-v1261-top-pill:focus,
  .oliva-home-v146 .oliva-v1261-top-pill:active {
    min-height: 44px !important;
    border-radius: 999px !important;
    background: rgba(5, 12, 7, .72) !important;
    border: 1px solid rgba(255,248,236,.28) !important;
    color: #fff8ec !important;
    box-shadow: 0 12px 30px rgba(0,0,0,.26) !important;
  }

  .oliva-home-v147 .oliva-v1261-top-pill span,
  .oliva-home-v146 .oliva-v1261-top-pill span {
    color: #fff8ec !important;
    font-size: 11px !important;
    letter-spacing: .13em !important;
    font-weight: 900 !important;
  }

  .oliva-home-v147 .oliva-v1261-top-pill::before,
  .oliva-home-v146 .oliva-v1261-top-pill::before {
    width: 8px !important;
    height: 8px !important;
    background: #d8bd78 !important;
    box-shadow: 0 0 0 5px rgba(216,189,120,.13) !important;
  }

  /* Hero: iPhone safe rhythm. */
  .oliva-home-v147 .oliva-v115-hero-home,
  .oliva-home-v146 .oliva-v115-hero-home {
    min-height: min(760px, 100dvh) !important;
    min-height: min(760px, 100svh) !important;
    padding-top: 20px !important;
    padding-bottom: calc(106px + env(safe-area-inset-bottom, 0px)) !important;
    align-items: flex-end !important;
  }

  .oliva-home-v147 .oliva-v115-hero-copy,
  .oliva-home-v146 .oliva-v115-hero-copy {
    width: min(calc(100% - 30px), 352px) !important;
    max-width: 352px !important;
    padding-top: 0 !important;
    padding-bottom: 18px !important;
    text-align: center !important;
  }

  .oliva-home-v147 .oliva-v115-hero-copy h1,
  .oliva-home-v146 .oliva-v115-hero-copy h1 {
    max-width: 10.8ch !important;
    margin-inline: auto !important;
    margin-bottom: 16px !important;
    font-size: clamp(43px, 12.7vw, 58px) !important;
    line-height: .94 !important;
    letter-spacing: -.045em !important;
  }

  .oliva-home-v147 .oliva-v122-cover-actions,
  .oliva-home-v146 .oliva-v122-cover-actions {
    width: min(100%, 310px) !important;
    margin-inline: auto !important;
    gap: 10px !important;
  }

  .oliva-home-v147 .oliva-v122-cover-actions .oliva-home-button,
  .oliva-home-v146 .oliva-v122-cover-actions .oliva-home-button {
    min-height: 48px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 14px 16px !important;
    font-size: 10.5px !important;
    letter-spacing: .13em !important;
  }

  .oliva-home-v147 .oliva-home-mobile-bar,
  .oliva-home-v147 .oliva-v115-mobile-bar,
  .oliva-home-v146 .oliva-home-mobile-bar,
  .oliva-home-v146 .oliva-v115-mobile-bar {
    left: 10px !important;
    right: 10px !important;
    bottom: calc(9px + env(safe-area-inset-bottom, 0px)) !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 6px !important;
    padding: 7px !important;
    border-radius: 24px !important;
    max-width: none !important;
  }

  .oliva-home-v147 .oliva-home-mobile-bar a,
  .oliva-home-v147 .oliva-v115-mobile-bar a,
  .oliva-home-v146 .oliva-home-mobile-bar a,
  .oliva-home-v146 .oliva-v115-mobile-bar a {
    min-height: 46px !important;
    border-radius: 17px !important;
    font-size: 9.8px !important;
    letter-spacing: .065em !important;
    padding-inline: 4px !important;
  }
}

@media (max-width: 390px) {
  .oliva-plugin-header-inner {
    width: min(100% - 18px, 760px) !important;
    gap: 8px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  .oliva-plugin-header-brand strong {
    font-size: clamp(20px, 5.7vw, 27px) !important;
  }

  .oliva-plugin-header-brand span {
    letter-spacing: .22em !important;
    font-size: 9.5px !important;
  }

  .oliva-plugin-header-nav {
    gap: 15px !important;
    padding-block: 7px !important;
  }

  .oliva-plugin-header-nav a {
    font-size: 10px !important;
    letter-spacing: .10em !important;
  }

  .oliva-plugin-header-actions {
    gap: 7px !important;
  }

  .oliva-plugin-header-phone,
  .oliva-plugin-header-cta {
    min-height: 42px !important;
    padding-inline: 9px !important;
  }

  .oliva-plugin-header-phone::before,
  .oliva-plugin-header-cta {
    font-size: 10px !important;
    letter-spacing: .10em !important;
  }

  .oliva-home-v147 .oliva-v1261-mobile-top-actions,
  .oliva-home-v146 .oliva-v1261-mobile-top-actions {
    width: min(100% - 22px, 334px) !important;
    gap: 7px !important;
  }

  .oliva-home-v147 .oliva-v115-hero-copy h1,
  .oliva-home-v146 .oliva-v115-hero-copy h1 {
    font-size: clamp(40px, 12vw, 52px) !important;
  }

  .oliva-home-v147 .oliva-home-mobile-bar a,
  .oliva-home-v147 .oliva-v115-mobile-bar a,
  .oliva-home-v146 .oliva-home-mobile-bar a,
  .oliva-home-v146 .oliva-v115-mobile-bar a {
    min-height: 44px !important;
    font-size: 9px !important;
    letter-spacing: .045em !important;
  }
}

@supports (-webkit-touch-callout: none) {
  @media (max-width: 820px) {
    .oliva-home-v147 .oliva-v115-hero-home,
    .oliva-home-v146 .oliva-v115-hero-home {
      min-height: -webkit-fill-available !important;
    }
  }
}

/* v1.48.0 · SEO 100 Pack frontend support */
.oliva-canvas-site :is(.oliva-v115-hero-copy h1,.oliva-menu-title,.oliva-wine-title){text-wrap:balance;}
.oliva-canvas-site :is(.oliva-v115-hero-copy h1,.oliva-menu-title,.oliva-wine-title)::selection{background:#d7b676;color:#0b120b;}

/* v1.49.0 · Radical iPhone / mobile reset.
   Goal: no bulky mobile paths, no broken phone button, clear top BOOK NOW + CALL NOW,
   visible navigation, readable menu, and stable Safari/Messenger webview fit. */
@media (max-width: 820px) {
  html,
  body.oliva-canvas-body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    -webkit-text-size-adjust: 100% !important;
  }

  body.oliva-canvas-body .oliva-canvas-site,
  body.oliva-canvas-body .oliva-canvas-main,
  .oliva-home-plugin,
  .oliva-menu-plugin,
  .oliva-wine-plugin,
  .oliva-reservation-plugin,
  .oliva-tour-plugin,
  .oliva-about-plugin,
  .oliva-contact-plugin {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: clip !important;
  }

  /* Header becomes a real mobile control bar: actions first, brand second, navigation third. */
  body.oliva-canvas-body .oliva-plugin-header,
  .oliva-plugin-header {
    position: relative !important;
    z-index: 40 !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: linear-gradient(180deg, rgba(5, 10, 6, .99), rgba(7, 13, 8, .97)) !important;
    border-bottom: 1px solid rgba(255, 248, 236, .12) !important;
    box-shadow: 0 16px 40px rgba(0,0,0,.26) !important;
  }

  body.oliva-canvas-body .oliva-plugin-header-sticky:not(.oliva-plugin-chrome-preview),
  .oliva-plugin-header-sticky:not(.oliva-plugin-chrome-preview) {
    position: relative !important;
    top: auto !important;
  }

  .oliva-plugin-header-inner {
    width: min(100% - 22px, 520px) !important;
    max-width: 520px !important;
    margin-inline: auto !important;
    padding: calc(10px + env(safe-area-inset-top, 0px)) 0 10px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  .oliva-plugin-header-actions {
    order: 1 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .oliva-plugin-header-cta,
  .oliva-plugin-header-cta:link,
  .oliva-plugin-header-cta:visited,
  .oliva-plugin-header-cta:hover,
  .oliva-plugin-header-cta:focus,
  .oliva-plugin-header-cta:active,
  .oliva-plugin-header-phone,
  .oliva-plugin-header-phone:link,
  .oliva-plugin-header-phone:visited,
  .oliva-plugin-header-phone:hover,
  .oliva-plugin-header-phone:focus,
  .oliva-plugin-header-phone:active {
    min-width: 0 !important;
    width: 100% !important;
    min-height: 40px !important;
    height: 40px !important;
    padding: 0 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    font-size: 0 !important;
    line-height: 1 !important;
    letter-spacing: .12em !important;
    font-weight: 950 !important;
    white-space: nowrap !important;
    text-align: center !important;
    box-shadow: none !important;
    transform: none !important;
  }

  .oliva-plugin-header-cta {
    order: 1 !important;
  }

  .oliva-plugin-header-phone {
    order: 2 !important;
  }

  .oliva-plugin-header-cta::before,
  .oliva-plugin-header-phone::before {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 11px !important;
    line-height: 1 !important;
    letter-spacing: .12em !important;
    font-weight: 950 !important;
    text-shadow: none !important;
  }

  .oliva-plugin-header-cta,
  .oliva-plugin-header-cta:link,
  .oliva-plugin-header-cta:visited,
  .oliva-plugin-header-cta:hover,
  .oliva-plugin-header-cta:focus,
  .oliva-plugin-header-cta:active {
    background: linear-gradient(180deg, #fff8ec 0%, #d5b06d 100%) !important;
    border: 1px solid rgba(255,248,236,.78) !important;
    color: #0a1108 !important;
  }

  .oliva-plugin-header-cta::before {
    content: "BOOK NOW" !important;
    color: #0a1108 !important;
  }

  .oliva-lang-el .oliva-plugin-header-cta::before {
    content: "ΚΡΑΤΗΣΗ" !important;
  }

  .oliva-plugin-header-phone,
  .oliva-plugin-header-phone:link,
  .oliva-plugin-header-phone:visited,
  .oliva-plugin-header-phone:hover,
  .oliva-plugin-header-phone:focus,
  .oliva-plugin-header-phone:active {
    background: rgba(255,248,236,.075) !important;
    border: 1px solid rgba(255,248,236,.22) !important;
    color: transparent !important;
  }

  .oliva-plugin-header-phone::before {
    content: "CALL NOW" !important;
    color: #fff8ec !important;
  }

  .oliva-lang-el .oliva-plugin-header-phone::before {
    content: "ΚΛΗΣΗ" !important;
  }

  .oliva-plugin-header-brand {
    order: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 1px 0 0 !important;
    text-align: center !important;
    text-decoration: none !important;
  }

  .oliva-plugin-header-brand strong {
    width: 100% !important;
    max-width: 100% !important;
    color: #fff8ec !important;
    font-size: clamp(19px, 5.6vw, 25px) !important;
    line-height: .96 !important;
    letter-spacing: .055em !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    text-wrap: balance !important;
  }

  .oliva-plugin-header-brand span {
    margin-top: 4px !important;
    color: #d8bd78 !important;
    font-size: clamp(8.5px, 2.4vw, 10.5px) !important;
    line-height: 1 !important;
    letter-spacing: .24em !important;
    white-space: nowrap !important;
  }

  /* No more mobile “paths” that hide pages. All links are visible in a compact two-row grid. */
  .oliva-plugin-header-nav {
    order: 3 !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 5px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 3px 0 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    white-space: normal !important;
    mask-image: none !important;
    -webkit-mask-image: none !important;
  }

  .oliva-plugin-header-nav a,
  .oliva-plugin-header-nav a:link,
  .oliva-plugin-header-nav a:visited,
  .oliva-plugin-header-nav a:hover,
  .oliva-plugin-header-nav a:focus,
  .oliva-plugin-header-nav a:active {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 31px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 5px !important;
    border-radius: 999px !important;
    background: rgba(255,248,236,.045) !important;
    border: 1px solid rgba(255,248,236,.075) !important;
    color: rgba(255,248,236,.95) !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    font-size: clamp(8px, 2.18vw, 9.8px) !important;
    line-height: 1 !important;
    letter-spacing: .055em !important;
    font-weight: 900 !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .oliva-plugin-header-nav a[href*="menu"],
  .oliva-plugin-header-nav a[href*="wine"],
  .oliva-plugin-header-nav a:hover,
  .oliva-plugin-header-nav a:focus-visible {
    border-color: rgba(216,189,120,.33) !important;
    background: rgba(216,189,120,.09) !important;
    color: #fff8ec !important;
  }

  /* The previous floating Call/Maps over the hero made the first fold crowded. Header now owns primary mobile actions. */
  .oliva-home-v149 .oliva-v1261-mobile-top-actions,
  .oliva-home-v147 .oliva-v1261-mobile-top-actions,
  .oliva-home-v146 .oliva-v1261-mobile-top-actions {
    display: none !important;
  }

  .oliva-home-v149 .oliva-v115-hero-home,
  .oliva-home-v147 .oliva-v115-hero-home,
  .oliva-home-v146 .oliva-v115-hero-home {
    min-height: clamp(560px, 78svh, 720px) !important;
    min-height: clamp(560px, 78dvh, 720px) !important;
    padding: 34px 0 calc(96px + env(safe-area-inset-bottom, 0px)) !important;
    align-items: end !important;
  }

  .oliva-home-v149 .oliva-v115-hero-media img,
  .oliva-home-v147 .oliva-v115-hero-media img,
  .oliva-home-v146 .oliva-v115-hero-media img {
    object-position: center center !important;
    transform: scale(1.008) !important;
    filter: saturate(1.06) contrast(1.05) brightness(.84) !important;
  }

  .oliva-home-v149 .oliva-v115-hero-shade,
  .oliva-home-v147 .oliva-v115-hero-shade,
  .oliva-home-v146 .oliva-v115-hero-shade {
    background: linear-gradient(180deg, rgba(0,0,0,.34) 0%, rgba(0,0,0,.08) 34%, rgba(0,0,0,.18) 58%, rgba(0,0,0,.72) 100%) !important;
  }

  .oliva-home-v149 .oliva-v115-hero-copy,
  .oliva-home-v147 .oliva-v115-hero-copy,
  .oliva-home-v146 .oliva-v115-hero-copy {
    width: min(calc(100% - 26px), 360px) !important;
    max-width: 360px !important;
    margin-inline: auto !important;
    padding: 0 0 10px !important;
    text-align: center !important;
  }

  .oliva-home-v149 .oliva-v115-hero-copy h1,
  .oliva-home-v147 .oliva-v115-hero-copy h1,
  .oliva-home-v146 .oliva-v115-hero-copy h1 {
    max-width: 100% !important;
    margin: 0 auto 16px !important;
    font-size: clamp(42px, 12.2vw, 56px) !important;
    line-height: .94 !important;
    letter-spacing: -.05em !important;
    color: #fff8ec !important;
    text-shadow: 0 14px 42px rgba(0,0,0,.56), 0 2px 10px rgba(0,0,0,.46) !important;
  }

  .oliva-home-v149 .oliva-v122-cover-actions,
  .oliva-home-v147 .oliva-v122-cover-actions,
  .oliva-home-v146 .oliva-v122-cover-actions {
    width: min(100%, 312px) !important;
    margin-inline: auto !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
  }

  .oliva-home-v149 .oliva-v122-cover-actions a.oliva-home-button,
  .oliva-home-v147 .oliva-v122-cover-actions a.oliva-home-button,
  .oliva-home-v146 .oliva-v122-cover-actions a.oliva-home-button {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 46px !important;
    padding: 13px 15px !important;
    border-radius: 999px !important;
    font-size: 10px !important;
    letter-spacing: .12em !important;
  }

  .oliva-home-v149 .oliva-home-mobile-bar,
  .oliva-home-v149 .oliva-v115-mobile-bar,
  .oliva-home-v147 .oliva-home-mobile-bar,
  .oliva-home-v147 .oliva-v115-mobile-bar,
  .oliva-home-v146 .oliva-home-mobile-bar,
  .oliva-home-v146 .oliva-v115-mobile-bar,
  .oliva-v115-mobile-bar,
  .oliva-home-mobile-bar {
    left: max(8px, env(safe-area-inset-left, 0px)) !important;
    right: max(8px, env(safe-area-inset-right, 0px)) !important;
    bottom: calc(8px + env(safe-area-inset-bottom, 0px)) !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 5px !important;
    padding: 6px !important;
    border-radius: 22px !important;
    background: rgba(4, 9, 5, .965) !important;
    border: 1px solid rgba(255,248,236,.18) !important;
    box-shadow: 0 20px 54px rgba(0,0,0,.45) !important;
  }

  .oliva-home-v149 .oliva-home-mobile-bar a,
  .oliva-home-v149 .oliva-v115-mobile-bar a,
  .oliva-home-v147 .oliva-home-mobile-bar a,
  .oliva-home-v147 .oliva-v115-mobile-bar a,
  .oliva-home-v146 .oliva-home-mobile-bar a,
  .oliva-home-v146 .oliva-v115-mobile-bar a,
  .oliva-v115-mobile-bar a,
  .oliva-home-mobile-bar a {
    min-height: 43px !important;
    border-radius: 16px !important;
    padding: 0 4px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(255,248,236,.075) !important;
    border: 1px solid rgba(255,248,236,.07) !important;
    color: #fff8ec !important;
    font-size: clamp(8.4px, 2.16vw, 10px) !important;
    line-height: 1 !important;
    letter-spacing: .045em !important;
    font-weight: 950 !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    text-align: center !important;
    opacity: 1 !important;
  }

  .oliva-home-v149 .oliva-home-mobile-bar a:first-child,
  .oliva-home-v149 .oliva-v115-mobile-bar a:first-child,
  .oliva-home-v147 .oliva-home-mobile-bar a:first-child,
  .oliva-home-v147 .oliva-v115-mobile-bar a:first-child,
  .oliva-home-v146 .oliva-home-mobile-bar a:first-child,
  .oliva-home-v146 .oliva-v115-mobile-bar a:first-child,
  .oliva-v115-mobile-bar a:first-child,
  .oliva-home-mobile-bar a:first-child {
    background: linear-gradient(180deg, #fff8ec 0%, #d7b676 100%) !important;
    border-color: rgba(255,248,236,.70) !important;
    color: #091108 !important;
    text-shadow: none !important;
  }
}

@media (max-width: 430px) {
  .oliva-plugin-header-inner {
    width: min(100% - 18px, 430px) !important;
    gap: 7px !important;
  }

  .oliva-plugin-header-nav {
    gap: 4px !important;
  }

  .oliva-plugin-header-nav a,
  .oliva-plugin-header-nav a:link,
  .oliva-plugin-header-nav a:visited {
    min-height: 29px !important;
    padding-inline: 4px !important;
    font-size: 8.4px !important;
    letter-spacing: .04em !important;
  }

  .oliva-plugin-header-cta,
  .oliva-plugin-header-phone {
    min-height: 38px !important;
    height: 38px !important;
  }

  .oliva-plugin-header-cta::before,
  .oliva-plugin-header-phone::before {
    font-size: 10px !important;
    letter-spacing: .095em !important;
  }

  .oliva-home-v149 .oliva-v115-hero-copy h1,
  .oliva-home-v147 .oliva-v115-hero-copy h1,
  .oliva-home-v146 .oliva-v115-hero-copy h1 {
    font-size: clamp(39px, 11.4vw, 50px) !important;
  }
}

/* Menu mobile: keep the food menu visible and readable after the compact header. */
@media (max-width: 820px) {
  body.oliva-canvas-body .oliva-menu-plugin.oliva-v145-page .oliva-menu-content,
  .oliva-menu-plugin .oliva-menu-content {
    width: min(100% - 18px, 520px) !important;
    max-width: 520px !important;
    padding: 28px 12px 82px !important;
    margin-inline: auto !important;
  }

  body.oliva-canvas-body .oliva-menu-plugin .oliva-menu-nav,
  body.oliva-canvas-body .oliva-menu-plugin.oliva-v145-page .oliva-menu-nav {
    position: relative !important;
    top: auto !important;
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
    margin: 18px 0 28px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  body.oliva-canvas-body .oliva-menu-plugin .oliva-menu-nav a,
  body.oliva-canvas-body .oliva-menu-plugin.oliva-v145-page .oliva-menu-nav a {
    width: 100% !important;
    min-height: 38px !important;
    padding: 0 8px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    background: #fffaf0 !important;
    border: 1px solid rgba(32,45,24,.14) !important;
    color: #1b2815 !important;
    text-align: center !important;
    font-size: 10px !important;
    line-height: 1.1 !important;
    letter-spacing: .055em !important;
    font-weight: 900 !important;
    white-space: normal !important;
    box-shadow: 0 8px 22px rgba(20,26,14,.06) !important;
  }

  .oliva-menu-plugin .oliva-menu-grid,
  .oliva-menu-plugin.oliva-v145-page .oliva-menu-grid,
  .oliva-menu-plugin .oliva-menu-section-wide .oliva-menu-items,
  .oliva-menu-plugin.oliva-v145-page .oliva-menu-section-wide .oliva-menu-items {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .oliva-menu-plugin .oliva-menu-section,
  .oliva-menu-plugin.oliva-v145-page .oliva-menu-section {
    grid-column: auto !important;
    min-height: 0 !important;
    padding: 24px 16px !important;
    border-radius: 0 !important;
    box-shadow: 0 12px 32px rgba(20,26,14,.07) !important;
  }

  .oliva-menu-plugin .oliva-menu-section-title,
  .oliva-menu-plugin.oliva-v145-page .oliva-menu-section-title {
    font-size: clamp(30px, 9vw, 42px) !important;
    line-height: .98 !important;
    letter-spacing: -.045em !important;
  }

  .oliva-menu-plugin .oliva-menu-item-name,
  .oliva-menu-plugin.oliva-v145-page .oliva-menu-item-name {
    font-size: 17px !important;
    line-height: 1.18 !important;
  }

  .oliva-menu-plugin .oliva-menu-item-desc,
  .oliva-menu-plugin.oliva-v145-page .oliva-menu-item-desc {
    font-size: 14px !important;
    line-height: 1.5 !important;
  }
}

@supports (-webkit-touch-callout: none) {
  @media (max-width: 820px) {
    .oliva-plugin-header,
    .oliva-plugin-header * {
      -webkit-font-smoothing: antialiased !important;
    }

    .oliva-home-v149 .oliva-v115-hero-home,
    .oliva-home-v147 .oliva-v115-hero-home,
    .oliva-home-v146 .oliva-v115-hero-home {
      min-height: 78svh !important;
    }
  }
}

/* v1.50.0 · Mobile Classic Restoration & iPhone Fit Lock.
   Mobile only. Restores the preferred classic mobile hierarchy:
   brand, menu, phone + book, then Call/Maps on the hero. Keeps header sticky on scroll. */
@media (max-width: 820px) {
  html,
  body.oliva-canvas-body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    -webkit-text-size-adjust: 100% !important;
  }

  body.oliva-canvas-body .oliva-plugin-header,
  .oliva-plugin-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 99999 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    overflow: visible !important;
    background:
      linear-gradient(180deg, rgba(3, 8, 4, .995), rgba(6, 12, 7, .985)) !important;
    border-bottom: 1px solid rgba(255, 248, 236, .13) !important;
    box-shadow: 0 18px 46px rgba(0, 0, 0, .34) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    backdrop-filter: blur(14px) !important;
    transform: translateZ(0) !important;
  }

  body.admin-bar.oliva-canvas-body .oliva-plugin-header,
  body.admin-bar.oliva-canvas-body .oliva-plugin-header-sticky {
    top: 0 !important;
  }

  body.oliva-canvas-body .oliva-plugin-header-sticky:not(.oliva-plugin-chrome-preview),
  .oliva-plugin-header-sticky:not(.oliva-plugin-chrome-preview) {
    position: sticky !important;
    top: 0 !important;
  }

  .oliva-plugin-header-inner {
    width: min(100% - 28px, 620px) !important;
    max-width: 620px !important;
    margin-inline: auto !important;
    padding: calc(16px + env(safe-area-inset-top, 0px)) 0 16px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "brand"
      "nav"
      "actions" !important;
    gap: 14px !important;
    align-items: center !important;
  }

  .oliva-plugin-header-brand {
    grid-area: brand !important;
    order: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    text-align: center !important;
    text-decoration: none !important;
  }

  .oliva-plugin-header-brand strong {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    color: #fff8ec !important;
    font-size: clamp(25px, 7.4vw, 33px) !important;
    line-height: .96 !important;
    letter-spacing: .055em !important;
    font-weight: 950 !important;
    text-align: center !important;
    text-transform: none !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    text-wrap: balance !important;
    text-shadow: 0 10px 28px rgba(0,0,0,.32) !important;
  }

  .oliva-plugin-header-brand span {
    display: block !important;
    margin: 7px 0 0 !important;
    color: #d8bd78 !important;
    font-size: clamp(9px, 2.55vw, 11px) !important;
    line-height: 1 !important;
    letter-spacing: .28em !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
    text-transform: uppercase !important;
  }

  .oliva-plugin-header-nav {
    grid-area: nav !important;
    order: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: clamp(18px, 5.2vw, 34px) !important;
    margin: 0 !important;
    padding: 2px 0 9px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    white-space: nowrap !important;
    scroll-snap-type: x proximity !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    mask-image: none !important;
    -webkit-mask-image: none !important;
  }

  .oliva-plugin-header-nav::-webkit-scrollbar {
    display: none !important;
  }

  .oliva-plugin-header-nav a,
  .oliva-plugin-header-nav a:link,
  .oliva-plugin-header-nav a:visited,
  .oliva-plugin-header-nav a:hover,
  .oliva-plugin-header-nav a:focus,
  .oliva-plugin-header-nav a:active {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 22px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: rgba(255, 248, 236, .92) !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    font-size: clamp(10.5px, 2.75vw, 13px) !important;
    line-height: 1 !important;
    letter-spacing: .105em !important;
    font-weight: 950 !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
    scroll-snap-align: center !important;
    opacity: 1 !important;
  }

  .oliva-plugin-header-nav a:hover,
  .oliva-plugin-header-nav a:focus-visible,
  .oliva-plugin-header-nav a[aria-current="page"] {
    color: #d8bd78 !important;
  }

  .oliva-plugin-header-actions {
    grid-area: actions !important;
    order: 3 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .oliva-plugin-header-cta::before,
  .oliva-plugin-header-phone::before {
    content: none !important;
    display: none !important;
  }

  .oliva-plugin-header-phone,
  .oliva-plugin-header-phone:link,
  .oliva-plugin-header-phone:visited,
  .oliva-plugin-header-phone:hover,
  .oliva-plugin-header-phone:focus,
  .oliva-plugin-header-phone:active,
  .oliva-plugin-header-cta,
  .oliva-plugin-header-cta:link,
  .oliva-plugin-header-cta:visited,
  .oliva-plugin-header-cta:hover,
  .oliva-plugin-header-cta:focus,
  .oliva-plugin-header-cta:active {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 54px !important;
    height: 54px !important;
    padding: 0 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    font-size: clamp(10.5px, 2.8vw, 13px) !important;
    line-height: 1 !important;
    letter-spacing: .12em !important;
    font-weight: 950 !important;
    white-space: nowrap !important;
    text-align: center !important;
    box-shadow: none !important;
    transform: none !important;
    opacity: 1 !important;
  }

  .oliva-plugin-header-phone,
  .oliva-plugin-header-phone:link,
  .oliva-plugin-header-phone:visited,
  .oliva-plugin-header-phone:hover,
  .oliva-plugin-header-phone:focus,
  .oliva-plugin-header-phone:active {
    background: rgba(255, 248, 236, .045) !important;
    border: 1px solid rgba(255, 248, 236, .24) !important;
    color: #fff8ec !important;
  }

  .oliva-plugin-header-cta,
  .oliva-plugin-header-cta:link,
  .oliva-plugin-header-cta:visited,
  .oliva-plugin-header-cta:hover,
  .oliva-plugin-header-cta:focus,
  .oliva-plugin-header-cta:active {
    background: linear-gradient(180deg, #fff3d6 0%, #d5ad66 100%) !important;
    border: 1px solid rgba(255, 248, 236, .72) !important;
    color: #0a1108 !important;
    text-shadow: none !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.36), 0 14px 32px rgba(0,0,0,.22) !important;
  }

  .oliva-home-v150 .oliva-v1261-mobile-top-actions,
  .oliva-home-v149 .oliva-v1261-mobile-top-actions,
  .oliva-home-v147 .oliva-v1261-mobile-top-actions,
  .oliva-home-v146 .oliva-v1261-mobile-top-actions {
    position: absolute !important;
    z-index: 5 !important;
    top: clamp(14px, 4.8vw, 24px) !important;
    left: max(18px, env(safe-area-inset-left, 0px)) !important;
    right: max(18px, env(safe-area-inset-right, 0px)) !important;
    width: auto !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .oliva-home-v150 .oliva-v1261-mobile-top-actions a,
  .oliva-home-v149 .oliva-v1261-mobile-top-actions a,
  .oliva-home-v147 .oliva-v1261-mobile-top-actions a,
  .oliva-home-v146 .oliva-v1261-mobile-top-actions a {
    min-height: 52px !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    background: rgba(4, 10, 5, .72) !important;
    border: 1px solid rgba(255, 248, 236, .28) !important;
    color: #fff8ec !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    font-size: 12px !important;
    line-height: 1 !important;
    letter-spacing: .16em !important;
    font-weight: 950 !important;
    box-shadow: 0 18px 46px rgba(0,0,0,.34) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    backdrop-filter: blur(12px) !important;
  }

  .oliva-home-v150 .oliva-v1261-mobile-top-actions a::before,
  .oliva-home-v149 .oliva-v1261-mobile-top-actions a::before,
  .oliva-home-v147 .oliva-v1261-mobile-top-actions a::before,
  .oliva-home-v146 .oliva-v1261-mobile-top-actions a::before {
    content: "" !important;
    width: 11px !important;
    height: 11px !important;
    flex: 0 0 11px !important;
    border-radius: 999px !important;
    background: #d5ad66 !important;
    box-shadow: 0 0 0 7px rgba(213, 173, 102, .14) !important;
  }

  .oliva-home-v150 .oliva-v1261-mobile-top-actions span,
  .oliva-home-v149 .oliva-v1261-mobile-top-actions span,
  .oliva-home-v147 .oliva-v1261-mobile-top-actions span,
  .oliva-home-v146 .oliva-v1261-mobile-top-actions span {
    color: #fff8ec !important;
    font: inherit !important;
    letter-spacing: inherit !important;
  }

  .oliva-home-v150 .oliva-v115-hero-home,
  .oliva-home-v149 .oliva-v115-hero-home,
  .oliva-home-v147 .oliva-v115-hero-home,
  .oliva-home-v146 .oliva-v115-hero-home {
    min-height: clamp(620px, 82svh, 760px) !important;
    min-height: clamp(620px, 82dvh, 760px) !important;
    padding: calc(84px + env(safe-area-inset-top, 0px)) 0 calc(108px + env(safe-area-inset-bottom, 0px)) !important;
    align-items: end !important;
    border-top: 1px solid rgba(255, 248, 236, .12) !important;
  }

  .oliva-home-v150 .oliva-v115-hero-media img,
  .oliva-home-v149 .oliva-v115-hero-media img,
  .oliva-home-v147 .oliva-v115-hero-media img,
  .oliva-home-v146 .oliva-v115-hero-media img {
    object-position: center center !important;
    transform: scale(1.01) !important;
    filter: saturate(1.06) contrast(1.04) brightness(.82) !important;
  }

  .oliva-home-v150 .oliva-v115-hero-shade,
  .oliva-home-v149 .oliva-v115-hero-shade,
  .oliva-home-v147 .oliva-v115-hero-shade,
  .oliva-home-v146 .oliva-v115-hero-shade {
    background:
      linear-gradient(180deg, rgba(0,0,0,.36) 0%, rgba(0,0,0,.10) 36%, rgba(0,0,0,.22) 58%, rgba(0,0,0,.76) 100%) !important;
  }

  .oliva-home-v150 .oliva-v115-hero-copy,
  .oliva-home-v149 .oliva-v115-hero-copy,
  .oliva-home-v147 .oliva-v115-hero-copy,
  .oliva-home-v146 .oliva-v115-hero-copy {
    width: min(calc(100% - 30px), 460px) !important;
    max-width: 460px !important;
    margin-inline: auto !important;
    padding: 0 0 8px !important;
    text-align: center !important;
  }

  .oliva-home-v150 .oliva-v115-hero-copy h1,
  .oliva-home-v149 .oliva-v115-hero-copy h1,
  .oliva-home-v147 .oliva-v115-hero-copy h1,
  .oliva-home-v146 .oliva-v115-hero-copy h1 {
    max-width: 100% !important;
    margin: 0 auto 18px !important;
    font-size: clamp(44px, 13.2vw, 68px) !important;
    line-height: .94 !important;
    letter-spacing: -.052em !important;
    color: #fff8ec !important;
    text-align: center !important;
    text-shadow: 0 14px 44px rgba(0,0,0,.58), 0 2px 12px rgba(0,0,0,.46) !important;
  }

  .oliva-home-v150 .oliva-v122-cover-actions,
  .oliva-home-v149 .oliva-v122-cover-actions,
  .oliva-home-v147 .oliva-v122-cover-actions,
  .oliva-home-v146 .oliva-v122-cover-actions {
    width: min(100%, 360px) !important;
    margin-inline: auto !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 11px !important;
  }

  .oliva-home-v150 .oliva-v122-cover-actions a.oliva-home-button,
  .oliva-home-v149 .oliva-v122-cover-actions a.oliva-home-button,
  .oliva-home-v147 .oliva-v122-cover-actions a.oliva-home-button,
  .oliva-home-v146 .oliva-v122-cover-actions a.oliva-home-button {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 52px !important;
    padding: 14px 18px !important;
    border-radius: 0 !important;
    font-size: 11px !important;
    letter-spacing: .16em !important;
  }

  .oliva-home-v150 .oliva-home-button-primary,
  .oliva-home-v149 .oliva-home-button-primary,
  .oliva-home-v147 .oliva-home-button-primary,
  .oliva-home-v146 .oliva-home-button-primary {
    background: linear-gradient(180deg, #fff7e8 0%, #d8bd78 100%) !important;
    border-color: rgba(255, 248, 236, .82) !important;
    color: #0a1108 !important;
    text-shadow: none !important;
  }

  .oliva-home-v150 .oliva-home-button-secondary,
  .oliva-home-v149 .oliva-home-button-secondary,
  .oliva-home-v147 .oliva-home-button-secondary,
  .oliva-home-v146 .oliva-home-button-secondary {
    background: rgba(4, 10, 5, .46) !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255,248,236,.82) !important;
    color: #fff8ec !important;
    border-radius: 0 !important;
  }

  .oliva-home-v150 .oliva-home-mobile-bar,
  .oliva-home-v150 .oliva-v115-mobile-bar,
  .oliva-home-v149 .oliva-home-mobile-bar,
  .oliva-home-v149 .oliva-v115-mobile-bar,
  .oliva-home-v147 .oliva-home-mobile-bar,
  .oliva-home-v147 .oliva-v115-mobile-bar,
  .oliva-v115-mobile-bar,
  .oliva-home-mobile-bar {
    left: max(10px, env(safe-area-inset-left, 0px)) !important;
    right: max(10px, env(safe-area-inset-right, 0px)) !important;
    bottom: calc(10px + env(safe-area-inset-bottom, 0px)) !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 6px !important;
    padding: 7px !important;
    border-radius: 24px !important;
    background: rgba(3, 9, 5, .97) !important;
    border: 1px solid rgba(255,248,236,.18) !important;
    box-shadow: 0 22px 58px rgba(0,0,0,.48) !important;
  }

  .oliva-home-v150 .oliva-home-mobile-bar a,
  .oliva-home-v150 .oliva-v115-mobile-bar a,
  .oliva-home-v149 .oliva-home-mobile-bar a,
  .oliva-home-v149 .oliva-v115-mobile-bar a,
  .oliva-home-v147 .oliva-home-mobile-bar a,
  .oliva-home-v147 .oliva-v115-mobile-bar a,
  .oliva-v115-mobile-bar a,
  .oliva-home-mobile-bar a {
    min-height: 45px !important;
    border-radius: 18px !important;
    padding: 0 4px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(255,248,236,.075) !important;
    border: 1px solid rgba(255,248,236,.075) !important;
    color: #fff8ec !important;
    font-size: clamp(8.4px, 2.18vw, 10.5px) !important;
    line-height: 1 !important;
    letter-spacing: .052em !important;
    font-weight: 950 !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    text-align: center !important;
    opacity: 1 !important;
    text-shadow: none !important;
  }

  .oliva-home-v150 .oliva-home-mobile-bar a:first-child,
  .oliva-home-v150 .oliva-v115-mobile-bar a:first-child,
  .oliva-home-v149 .oliva-home-mobile-bar a:first-child,
  .oliva-home-v149 .oliva-v115-mobile-bar a:first-child,
  .oliva-v115-mobile-bar a:first-child,
  .oliva-home-mobile-bar a:first-child {
    background: linear-gradient(180deg, #fff7e8 0%, #d8bd78 100%) !important;
    border-color: rgba(255,248,236,.72) !important;
    color: #0a1108 !important;
  }

  body.oliva-canvas-body .oliva-menu-plugin .oliva-menu-content,
  body.oliva-canvas-body .oliva-menu-plugin.oliva-v145-page .oliva-menu-content,
  .oliva-menu-plugin .oliva-menu-content {
    width: min(100% - 20px, 560px) !important;
    max-width: 560px !important;
    padding: 26px 12px calc(96px + env(safe-area-inset-bottom, 0px)) !important;
    margin-inline: auto !important;
  }

  body.oliva-canvas-body .oliva-menu-plugin .oliva-menu-nav,
  body.oliva-canvas-body .oliva-menu-plugin.oliva-v145-page .oliva-menu-nav {
    position: sticky !important;
    top: 0 !important;
    z-index: 8 !important;
    width: 100% !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    margin: 18px 0 24px !important;
    padding: 9px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    white-space: nowrap !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    background: rgba(255, 248, 236, .94) !important;
    border: 1px solid rgba(27, 40, 21, .12) !important;
    border-radius: 999px !important;
    box-shadow: 0 12px 32px rgba(20,26,14,.07) !important;
  }

  body.oliva-canvas-body .oliva-menu-plugin .oliva-menu-nav::-webkit-scrollbar,
  body.oliva-canvas-body .oliva-menu-plugin.oliva-v145-page .oliva-menu-nav::-webkit-scrollbar {
    display: none !important;
  }

  body.oliva-canvas-body .oliva-menu-plugin .oliva-menu-nav a,
  body.oliva-canvas-body .oliva-menu-plugin.oliva-v145-page .oliva-menu-nav a {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: max-content !important;
    min-height: 34px !important;
    padding: 0 13px !important;
    border-radius: 999px !important;
    background: transparent !important;
    border: 0 !important;
    color: #1b2815 !important;
    text-align: center !important;
    font-size: 10px !important;
    line-height: 1 !important;
    letter-spacing: .08em !important;
    font-weight: 950 !important;
    white-space: nowrap !important;
    box-shadow: none !important;
  }

  .oliva-menu-plugin .oliva-menu-grid,
  .oliva-menu-plugin.oliva-v145-page .oliva-menu-grid,
  .oliva-menu-plugin .oliva-menu-section-wide .oliva-menu-items,
  .oliva-menu-plugin.oliva-v145-page .oliva-menu-section-wide .oliva-menu-items {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .oliva-menu-plugin .oliva-menu-section,
  .oliva-menu-plugin.oliva-v145-page .oliva-menu-section {
    grid-column: auto !important;
    min-height: 0 !important;
    padding: 24px 16px !important;
    border-radius: 18px !important;
    box-shadow: 0 12px 32px rgba(20,26,14,.07) !important;
  }
}

@media (max-width: 430px) {
  .oliva-plugin-header-inner {
    width: min(100% - 24px, 430px) !important;
    gap: 12px !important;
    padding-top: calc(14px + env(safe-area-inset-top, 0px)) !important;
    padding-bottom: 14px !important;
  }

  .oliva-plugin-header-brand strong {
    font-size: clamp(23px, 7.2vw, 30px) !important;
    letter-spacing: .05em !important;
  }

  .oliva-plugin-header-nav {
    gap: 22px !important;
    padding-bottom: 8px !important;
  }

  .oliva-plugin-header-nav a,
  .oliva-plugin-header-nav a:link,
  .oliva-plugin-header-nav a:visited {
    font-size: 11.2px !important;
    letter-spacing: .095em !important;
  }

  .oliva-plugin-header-phone,
  .oliva-plugin-header-cta {
    min-height: 50px !important;
    height: 50px !important;
    padding-inline: 10px !important;
    font-size: 10.2px !important;
    letter-spacing: .095em !important;
  }

  .oliva-home-v150 .oliva-v1261-mobile-top-actions,
  .oliva-home-v149 .oliva-v1261-mobile-top-actions,
  .oliva-home-v147 .oliva-v1261-mobile-top-actions {
    left: 18px !important;
    right: 18px !important;
    gap: 12px !important;
  }

  .oliva-home-v150 .oliva-v1261-mobile-top-actions a,
  .oliva-home-v149 .oliva-v1261-mobile-top-actions a,
  .oliva-home-v147 .oliva-v1261-mobile-top-actions a {
    min-height: 48px !important;
    font-size: 11px !important;
    letter-spacing: .14em !important;
  }

  .oliva-home-v150 .oliva-v115-hero-copy h1,
  .oliva-home-v149 .oliva-v115-hero-copy h1,
  .oliva-home-v147 .oliva-v115-hero-copy h1,
  .oliva-home-v146 .oliva-v115-hero-copy h1 {
    font-size: clamp(43px, 12.8vw, 60px) !important;
  }
}

@supports (-webkit-touch-callout: none) {
  @media (max-width: 820px) {
    body.oliva-canvas-body .oliva-plugin-header,
    .oliva-plugin-header {
      position: -webkit-sticky !important;
      position: sticky !important;
      top: 0 !important;
    }

    .oliva-plugin-header-nav,
    .oliva-menu-plugin .oliva-menu-nav {
      -webkit-overflow-scrolling: touch !important;
    }

    .oliva-home-v150 .oliva-v115-hero-home,
    .oliva-home-v149 .oliva-v115-hero-home,
    .oliva-home-v147 .oliva-v115-hero-home,
    .oliva-home-v146 .oliva-v115-hero-home {
      min-height: 82svh !important;
    }
  }
}

/* v1.51.0 · Final surgical mobile fixes.
   Scope: mobile/iPhone + 360 button removal + Menu/Wine sticky category bars. */
.oliva-tour-plugin .oliva-v145-tour-intro-actions,
.oliva-tour-plugin .oliva-v145-tour-intro-actions .oliva-tour-button {
  display: none !important;
}

@media (max-width: 820px) {
  body.oliva-canvas-body {
    --oliva-mobile-header-h: clamp(178px, 42vw, 222px);
    --oliva-mobile-subnav-top: calc(var(--oliva-mobile-header-h) + 8px);
    overflow-x: hidden !important;
  }

  body.oliva-canvas-body .oliva-canvas-site {
    padding-top: var(--oliva-mobile-header-h) !important;
  }

  body.oliva-canvas-body .oliva-plugin-header,
  body.oliva-canvas-body .oliva-plugin-header-sticky,
  body.oliva-canvas-body .oliva-plugin-header-sticky:not(.oliva-plugin-chrome-preview),
  .oliva-plugin-header.oliva-plugin-header-sticky:not(.oliva-plugin-chrome-preview) {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    z-index: 2147483000 !important;
    transform: translate3d(0,0,0) !important;
    contain: paint !important;
  }

  body.admin-bar.oliva-canvas-body .oliva-plugin-header,
  body.admin-bar.oliva-canvas-body .oliva-plugin-header-sticky {
    top: 0 !important;
  }

  .oliva-plugin-header-inner {
    min-height: var(--oliva-mobile-header-h) !important;
    justify-content: center !important;
  }

  .oliva-plugin-header-nav {
    position: relative !important;
    z-index: 2 !important;
    padding-inline: 2px !important;
    scroll-padding-inline: 18px !important;
  }

  .oliva-plugin-header-nav a,
  .oliva-plugin-header-nav a:link,
  .oliva-plugin-header-nav a:visited {
    max-width: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  .oliva-home-v150 .oliva-home-button-secondary,
  .oliva-home-v149 .oliva-home-button-secondary,
  .oliva-home-v147 .oliva-home-button-secondary,
  .oliva-home-v146 .oliva-home-button-secondary {
    min-height: 48px !important;
    padding: 14px 18px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(216, 189, 120, .56) !important;
    border-bottom: 1px solid rgba(216, 189, 120, .72) !important;
    background: rgba(4, 10, 5, .58) !important;
    color: #fff8ec !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 14px 34px rgba(0,0,0,.28) !important;
    text-decoration: none !important;
  }

  .oliva-home-v150 .oliva-home-button-secondary::after,
  .oliva-home-v149 .oliva-home-button-secondary::after,
  .oliva-home-v147 .oliva-home-button-secondary::after,
  .oliva-home-v146 .oliva-home-button-secondary::after {
    content: "" !important;
    width: 7px !important;
    height: 7px !important;
    margin-left: 10px !important;
    display: inline-block !important;
    border-radius: 50% !important;
    background: #d8bd78 !important;
    box-shadow: 0 0 0 6px rgba(216,189,120,.12) !important;
  }

  .oliva-menu-title {
    max-width: 100% !important;
    margin-inline: auto !important;
    line-height: 1 !important;
    letter-spacing: -.04em !important;
    text-align: left !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    text-wrap: balance !important;
  }

  .oliva-menu-title-main,
  .oliva-menu-title-sub {
    display: block !important;
  }

  .oliva-menu-title-main {
    font-size: clamp(42px, 12vw, 58px) !important;
    line-height: .94 !important;
  }

  .oliva-menu-title-sub {
    margin-top: 8px !important;
    max-width: 22ch !important;
    color: rgba(24, 35, 22, .84) !important;
    font-size: clamp(22px, 6.25vw, 32px) !important;
    line-height: 1.05 !important;
    letter-spacing: -.035em !important;
  }

  .oliva-menu-plugin .oliva-menu-hero-block,
  .oliva-menu-plugin.oliva-v145-page .oliva-menu-hero-block {
    gap: 22px !important;
    padding-top: 22px !important;
  }

  .oliva-menu-plugin .oliva-menu-nav-wrap,
  .oliva-menu-plugin.oliva-v145-page .oliva-menu-nav-wrap,
  .oliva-wine-plugin .oliva-wine-nav-wrap,
  .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-nav-wrap {
    position: sticky !important;
    top: var(--oliva-mobile-subnav-top) !important;
    z-index: 2147482000 !important;
    margin-left: calc(-1 * min(18px, 4vw)) !important;
    margin-right: calc(-1 * min(18px, 4vw)) !important;
    padding: 10px 12px !important;
    background: rgba(255, 248, 236, .98) !important;
    border-top: 1px solid rgba(27, 40, 21, .10) !important;
    border-bottom: 1px solid rgba(27, 40, 21, .13) !important;
    box-shadow: 0 14px 34px rgba(15, 20, 12, .14) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    backdrop-filter: blur(16px) !important;
  }

  .oliva-menu-plugin .oliva-menu-nav,
  .oliva-menu-plugin.oliva-v145-page .oliva-menu-nav,
  .oliva-wine-plugin .oliva-wine-nav {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    white-space: nowrap !important;
    padding: 5px 0 4px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .oliva-menu-plugin .oliva-menu-nav::-webkit-scrollbar,
  .oliva-menu-plugin.oliva-v145-page .oliva-menu-nav::-webkit-scrollbar,
  .oliva-wine-plugin .oliva-wine-nav::-webkit-scrollbar {
    display: none !important;
  }

  .oliva-menu-plugin .oliva-menu-nav a,
  .oliva-menu-plugin.oliva-v145-page .oliva-menu-nav a,
  .oliva-wine-plugin .oliva-wine-nav a {
    flex: 0 0 auto !important;
    min-width: max-content !important;
    min-height: 34px !important;
    padding: 0 13px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(27, 40, 21, .12) !important;
    background: rgba(255,255,255,.58) !important;
    color: #17210f !important;
    font-size: 10px !important;
    line-height: 1 !important;
    letter-spacing: .075em !important;
    font-weight: 950 !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
  }

  .oliva-menu-plugin .oliva-menu-nav-label,
  .oliva-wine-plugin .oliva-wine-nav-label {
    display: block !important;
    margin: 0 0 6px !important;
    color: #8f642b !important;
    font-size: 9px !important;
    line-height: 1 !important;
    letter-spacing: .16em !important;
    text-align: center !important;
  }

  .oliva-menu-plugin .oliva-menu-section,
  .oliva-menu-plugin.oliva-v145-page .oliva-menu-section,
  .oliva-wine-plugin .oliva-wine-section {
    scroll-margin-top: calc(var(--oliva-mobile-subnav-top) + 72px) !important;
  }

  .oliva-tour-plugin.oliva-v145-page #oliva-360-experience {
    scroll-margin-top: var(--oliva-mobile-header-h) !important;
  }
}

@media (max-width: 430px) {
  body.oliva-canvas-body {
    --oliva-mobile-header-h: clamp(174px, 45vw, 216px);
  }

  .oliva-plugin-header-inner {
    width: min(100% - 22px, 430px) !important;
  }

  .oliva-plugin-header-nav {
    gap: 18px !important;
  }

  .oliva-plugin-header-nav a,
  .oliva-plugin-header-nav a:link,
  .oliva-plugin-header-nav a:visited {
    font-size: 10.4px !important;
    letter-spacing: .085em !important;
  }

  .oliva-menu-title-main {
    font-size: clamp(40px, 12vw, 54px) !important;
  }

  .oliva-menu-title-sub {
    font-size: clamp(20px, 6vw, 28px) !important;
  }
}

@supports (-webkit-touch-callout: none) {
  @media (max-width: 820px) {
    body.oliva-canvas-body .oliva-plugin-header,
    body.oliva-canvas-body .oliva-plugin-header-sticky {
      position: fixed !important;
      top: 0 !important;
      -webkit-transform: translate3d(0,0,0) !important;
      transform: translate3d(0,0,0) !important;
    }

    .oliva-menu-plugin .oliva-menu-nav-wrap,
    .oliva-wine-plugin .oliva-wine-nav-wrap {
      top: var(--oliva-mobile-subnav-top) !important;
    }
  }
}

/* v1.52.0 · Final cohesion pass: mobile fit, covers, Menu/Wine contrast and CTA consistency.
   This block intentionally overrides only the final presentation layer. */
:root {
  --oliva-final-ink: #081008;
  --oliva-final-cream: #fff7e8;
  --oliva-final-gold: #d7b676;
  --oliva-final-gold-deep: #b99151;
  --oliva-final-glass: rgba(6, 13, 7, .74);
}

/* Covers: preserve premium dark identity, but stop over-darkening the photography. */
.oliva-canvas-site :is(.oliva-home-plugin,.oliva-reservation-plugin,.oliva-tour-plugin,.oliva-about-plugin,.oliva-contact-plugin) .oliva-v115-hero-media img,
.oliva-canvas-site :is(.oliva-home-plugin,.oliva-reservation-plugin,.oliva-tour-plugin,.oliva-about-plugin,.oliva-contact-plugin) .oliva-v115-image img,
.oliva-canvas-site .oliva-menu-plugin .oliva-menu-hero-media img,
.oliva-canvas-site .oliva-wine-plugin .oliva-wine-hero-media img {
  filter: saturate(1.05) contrast(1.02) brightness(.98) !important;
}

.oliva-canvas-site :is(.oliva-home-plugin,.oliva-reservation-plugin,.oliva-tour-plugin,.oliva-about-plugin,.oliva-contact-plugin) .oliva-v115-hero-shade {
  background:
    radial-gradient(ellipse at 50% 42%, rgba(0,0,0,.04) 0%, rgba(0,0,0,.06) 34%, rgba(0,0,0,.24) 72%, rgba(0,0,0,.38) 100%),
    linear-gradient(180deg, rgba(0,0,0,.30) 0%, rgba(0,0,0,.10) 42%, rgba(0,0,0,.36) 100%) !important;
}

.oliva-canvas-site .oliva-menu-plugin .oliva-menu-hero-block {
  background:
    radial-gradient(ellipse at 10% 6%, rgba(255,248,236,.14), transparent 34%),
    linear-gradient(135deg, rgba(21, 33, 18, .94), rgba(40, 57, 34, .89)) !important;
}

/* Homepage hero CTAs: Make a reservation and Request transport now share the same premium system. */
.oliva-home-plugin .oliva-v122-cover-actions,
.oliva-home-plugin .oliva-v122-hero-actions {
  gap: clamp(12px, 2vw, 18px) !important;
  justify-content: center !important;
  align-items: center !important;
}

.oliva-home-plugin .oliva-v122-cover-actions a.oliva-home-button,
.oliva-home-plugin .oliva-v122-hero-actions a.oliva-home-button,
.oliva-home-plugin .oliva-v122-cover-actions a.oliva-home-button:link,
.oliva-home-plugin .oliva-v122-cover-actions a.oliva-home-button:visited,
.oliva-home-plugin .oliva-v122-hero-actions a.oliva-home-button:link,
.oliva-home-plugin .oliva-v122-hero-actions a.oliva-home-button:visited {
  min-height: 54px !important;
  min-width: min(100%, 270px) !important;
  padding: 16px 26px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255, 247, 232, .72) !important;
  background: linear-gradient(180deg, #fff8ea 0%, #e2c37b 100%) !important;
  color: #081008 !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  letter-spacing: .15em !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  box-shadow: 0 18px 48px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.70) !important;
}

.oliva-home-plugin .oliva-v122-cover-actions a.oliva-home-button-secondary,
.oliva-home-plugin .oliva-v122-hero-actions a.oliva-home-button-secondary,
.oliva-home-plugin .oliva-v122-cover-actions a.oliva-home-button-secondary:link,
.oliva-home-plugin .oliva-v122-cover-actions a.oliva-home-button-secondary:visited,
.oliva-home-plugin .oliva-v122-hero-actions a.oliva-home-button-secondary:link,
.oliva-home-plugin .oliva-v122-hero-actions a.oliva-home-button-secondary:visited {
  background: linear-gradient(180deg, rgba(255,248,236,.98), rgba(222,194,128,.96)) !important;
  border-color: rgba(255, 247, 232, .74) !important;
  border-bottom: 1px solid rgba(185,145,81,.86) !important;
  color: #081008 !important;
}

.oliva-home-plugin .oliva-v122-cover-actions a.oliva-home-button-secondary::after,
.oliva-home-plugin .oliva-v122-hero-actions a.oliva-home-button-secondary::after {
  display: none !important;
  content: none !important;
}

/* Menu hero title contrast: the secondary line must never be green on a dark cover. */
.oliva-menu-plugin .oliva-menu-hero-block .oliva-menu-title,
.oliva-menu-plugin .oliva-menu-hero-block .oliva-menu-title-main,
.oliva-menu-plugin .oliva-menu-hero-block .oliva-menu-title-sub {
  color: #fff8ea !important;
  text-shadow: 0 14px 34px rgba(0,0,0,.32) !important;
}

.oliva-menu-plugin .oliva-menu-hero-block .oliva-menu-title-sub {
  opacity: .92 !important;
  font-weight: 650 !important;
}

.oliva-menu-plugin .oliva-menu-hero-block .oliva-menu-intro,
.oliva-menu-plugin .oliva-menu-hero-block .oliva-menu-note {
  color: rgba(255, 248, 234, .82) !important;
}

/* Wine navigation and menu category bars: one stable sticky system under the main mobile header. */
.oliva-menu-plugin .oliva-menu-nav-wrap,
.oliva-wine-plugin .oliva-wine-nav-wrap {
  isolation: isolate !important;
}

.oliva-menu-plugin .oliva-menu-nav a,
.oliva-wine-plugin .oliva-wine-nav a,
.oliva-menu-plugin .oliva-menu-nav a:link,
.oliva-menu-plugin .oliva-menu-nav a:visited,
.oliva-wine-plugin .oliva-wine-nav a:link,
.oliva-wine-plugin .oliva-wine-nav a:visited {
  color: #17210f !important;
  background: rgba(255,255,255,.78) !important;
}

@media (max-width: 820px) {
  body.oliva-canvas-body {
    --oliva-mobile-header-h: clamp(196px, 47vw, 238px) !important;
    --oliva-mobile-subnav-top: calc(var(--oliva-mobile-header-h) - 1px) !important;
  }

  body.oliva-canvas-body .oliva-canvas-site {
    padding-top: var(--oliva-mobile-header-h) !important;
  }

  body.oliva-canvas-body .oliva-plugin-header,
  body.oliva-canvas-body .oliva-plugin-header-sticky {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 2147483000 !important;
    width: 100% !important;
    background: linear-gradient(180deg, rgba(3,9,4,.985), rgba(9,18,9,.965)) !important;
    border-bottom: 1px solid rgba(216, 189, 120, .22) !important;
    box-shadow: 0 18px 42px rgba(0,0,0,.28) !important;
  }

  .oliva-plugin-header-inner {
    min-height: var(--oliva-mobile-header-h) !important;
    width: min(100% - 26px, 760px) !important;
    padding: 18px 0 14px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 13px !important;
  }

  .oliva-plugin-header-brand {
    margin: 0 auto !important;
    text-align: center !important;
  }

  .oliva-plugin-header-nav {
    width: 100% !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    gap: 23px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    scroll-snap-type: x proximity !important;
    padding: 4px 2px 7px !important;
    mask-image: linear-gradient(90deg, transparent 0, #000 18px, #000 calc(100% - 18px), transparent 100%) !important;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 18px, #000 calc(100% - 18px), transparent 100%) !important;
  }

  .oliva-plugin-header-nav::-webkit-scrollbar {
    display: none !important;
  }

  .oliva-plugin-header-nav a,
  .oliva-plugin-header-nav a:link,
  .oliva-plugin-header-nav a:visited {
    flex: 0 0 auto !important;
    min-width: max-content !important;
    max-width: none !important;
    padding: 0 !important;
    color: #fff8ea !important;
    font-size: 11px !important;
    letter-spacing: .12em !important;
    line-height: 1 !important;
    scroll-snap-align: center !important;
    white-space: nowrap !important;
    opacity: .94 !important;
  }

  .oliva-plugin-header-actions {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 11px !important;
  }

  .oliva-plugin-header-phone,
  .oliva-plugin-header-cta {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    padding: 0 14px !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
    letter-spacing: .12em !important;
    font-size: 11px !important;
    font-weight: 950 !important;
  }

  .oliva-home-plugin .oliva-v115-hero-home {
    min-height: calc(100svh - var(--oliva-mobile-header-h) + 18px) !important;
    padding: 0 0 max(86px, env(safe-area-inset-bottom)) !important;
    display: grid !important;
    align-items: end !important;
  }

  .oliva-home-plugin .oliva-v1261-mobile-top-actions {
    position: absolute !important;
    z-index: 5 !important;
    top: clamp(16px, 4.2vw, 24px) !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: min(calc(100% - 34px), 640px) !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: clamp(10px, 3vw, 16px) !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .oliva-home-plugin .oliva-v1261-mobile-top-actions a,
  .oliva-home-plugin .oliva-v1261-mobile-top-actions a:link,
  .oliva-home-plugin .oliva-v1261-mobile-top-actions a:visited {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 50px !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(255,248,236,.24) !important;
    background: rgba(5, 12, 6, .76) !important;
    color: #fff8ea !important;
    text-decoration: none !important;
    letter-spacing: .14em !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.07) !important;
  }

  .oliva-home-plugin .oliva-v1261-mobile-top-actions a::before {
    content: "" !important;
    display: inline-block !important;
    width: 9px !important;
    height: 9px !important;
    margin-right: 10px !important;
    border-radius: 50% !important;
    background: var(--oliva-final-gold) !important;
    box-shadow: 0 0 0 7px rgba(216,189,120,.14) !important;
  }

  .oliva-home-plugin .oliva-v115-hero-copy {
    width: min(calc(100% - 34px), 640px) !important;
    padding-top: clamp(98px, 28vw, 152px) !important;
    padding-bottom: 22px !important;
  }

  .oliva-home-plugin .oliva-v115-hero-copy h1 {
    max-width: 10.6ch !important;
    margin-inline: auto !important;
    font-size: clamp(48px, 15vw, 72px) !important;
    line-height: .94 !important;
    letter-spacing: -.045em !important;
  }

  .oliva-home-plugin .oliva-v122-cover-actions,
  .oliva-home-plugin .oliva-v122-hero-actions {
    width: min(100%, 350px) !important;
    margin: 18px auto 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .oliva-home-plugin .oliva-v122-cover-actions a.oliva-home-button,
  .oliva-home-plugin .oliva-v122-hero-actions a.oliva-home-button {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 52px !important;
    padding: 15px 18px !important;
    font-size: 11px !important;
  }

  .oliva-home-plugin .oliva-v115-hero-shade {
    background:
      linear-gradient(180deg, rgba(0,0,0,.32) 0%, rgba(0,0,0,.12) 28%, rgba(0,0,0,.20) 62%, rgba(0,0,0,.44) 100%) !important;
  }

  .oliva-menu-plugin .oliva-menu-hero-block,
  .oliva-menu-plugin.oliva-v145-page .oliva-menu-hero-block {
    padding: 24px 18px 22px !important;
    gap: 18px !important;
  }

  .oliva-menu-plugin .oliva-menu-hero-block .oliva-menu-title-main {
    font-size: clamp(46px, 13.5vw, 66px) !important;
    line-height: .92 !important;
  }

  .oliva-menu-plugin .oliva-menu-hero-block .oliva-menu-title-sub {
    max-width: 18ch !important;
    margin-top: 9px !important;
    color: #fff8ea !important;
    font-size: clamp(22px, 6.3vw, 32px) !important;
    line-height: 1.05 !important;
    letter-spacing: -.035em !important;
  }

  .oliva-menu-plugin .oliva-menu-nav-wrap,
  .oliva-menu-plugin.oliva-v145-page .oliva-menu-nav-wrap,
  .oliva-wine-plugin .oliva-wine-nav-wrap,
  .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-nav-wrap {
    position: sticky !important;
    top: var(--oliva-mobile-subnav-top) !important;
    z-index: 2147482500 !important;
    margin: 0 -14px 22px !important;
    padding: 10px 14px 11px !important;
    border-radius: 0 !important;
    background: rgba(255, 248, 236, .985) !important;
    box-shadow: 0 16px 34px rgba(12,18,10,.16) !important;
    border-top: 1px solid rgba(23, 33, 15, .10) !important;
    border-bottom: 1px solid rgba(23, 33, 15, .16) !important;
  }

  .oliva-wine-plugin .oliva-wine-nav-wrap {
    margin-left: -14px !important;
    margin-right: -14px !important;
  }

  .oliva-menu-plugin .oliva-menu-nav,
  .oliva-menu-plugin.oliva-v145-page .oliva-menu-nav,
  .oliva-wine-plugin .oliva-wine-nav {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    scroll-padding-inline: 14px !important;
    padding: 4px 0 !important;
  }

  .oliva-menu-plugin .oliva-menu-nav a,
  .oliva-menu-plugin.oliva-v145-page .oliva-menu-nav a,
  .oliva-wine-plugin .oliva-wine-nav a {
    min-height: 36px !important;
    padding: 0 13px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    border: 1px solid rgba(23, 33, 15, .14) !important;
    color: #17210f !important;
    box-shadow: 0 6px 18px rgba(12,18,10,.07) !important;
  }
}

@media (max-width: 430px) {
  body.oliva-canvas-body {
    --oliva-mobile-header-h: clamp(188px, 49vw, 228px) !important;
  }

  .oliva-plugin-header-inner {
    width: min(100% - 24px, 430px) !important;
    gap: 12px !important;
  }

  .oliva-plugin-header-nav {
    gap: 20px !important;
  }

  .oliva-plugin-header-nav a,
  .oliva-plugin-header-nav a:link,
  .oliva-plugin-header-nav a:visited {
    font-size: 10.2px !important;
    letter-spacing: .105em !important;
  }

  .oliva-plugin-header-phone,
  .oliva-plugin-header-cta {
    min-height: 46px !important;
    font-size: 10.4px !important;
    letter-spacing: .11em !important;
  }

  .oliva-home-plugin .oliva-v1261-mobile-top-actions {
    width: calc(100% - 30px) !important;
    gap: 10px !important;
  }

  .oliva-home-plugin .oliva-v1261-mobile-top-actions a {
    min-height: 48px !important;
  }

  .oliva-home-plugin .oliva-v115-hero-copy h1 {
    font-size: clamp(46px, 14.6vw, 64px) !important;
  }

  .oliva-menu-plugin .oliva-menu-hero-block .oliva-menu-title-main {
    font-size: clamp(42px, 12.6vw, 58px) !important;
  }

  .oliva-menu-plugin .oliva-menu-hero-block .oliva-menu-title-sub {
    font-size: clamp(20px, 5.9vw, 28px) !important;
  }
}

@supports (-webkit-touch-callout: none) {
  @media (max-width: 820px) {
    body.oliva-canvas-body .oliva-plugin-header,
    body.oliva-canvas-body .oliva-plugin-header-sticky {
      position: fixed !important;
      top: 0 !important;
      -webkit-transform: translateZ(0) !important;
      transform: translateZ(0) !important;
    }

    .oliva-home-plugin .oliva-v115-hero-home {
      min-height: calc(100svh - var(--oliva-mobile-header-h) + 16px) !important;
    }

    .oliva-home-plugin .oliva-v1261-mobile-top-actions,
    .oliva-menu-plugin .oliva-menu-nav-wrap,
    .oliva-wine-plugin .oliva-wine-nav-wrap {
      -webkit-transform: translateZ(0) !important;
      transform: translateZ(0) !important;
    }
  }
}

/* v1.53.0 · Surgical mobile closure.
   Scope: mobile/iPhone only. Fixes the reported last issues without changing desktop layout.
   Targets: hero Call/Maps fit, request CTA consistency, bottom bar contrast,
   Menu hero contrast, Wine List category bar fit, sticky category navigation. */
@media (max-width: 820px) {
  body.oliva-canvas-body {
    --oliva-mobile-header-h: clamp(188px, 45vw, 226px) !important;
    --oliva-mobile-subnav-top: calc(var(--oliva-mobile-header-h) - 1px) !important;
    overflow-x: hidden !important;
  }

  body.oliva-canvas-body .oliva-canvas-site {
    padding-top: var(--oliva-mobile-header-h) !important;
  }

  /* Header: keep the classic order, reduce crowding, never break words. */
  .oliva-plugin-header-inner {
    min-height: var(--oliva-mobile-header-h) !important;
    width: min(100% - 24px, 620px) !important;
    padding: 14px 0 13px !important;
    gap: 11px !important;
  }

  .oliva-plugin-header-brand strong {
    font-size: clamp(27px, 7.2vw, 39px) !important;
    line-height: .94 !important;
    letter-spacing: .055em !important;
    white-space: normal !important;
    text-align: center !important;
  }

  .oliva-plugin-header-brand span {
    margin-top: 7px !important;
    font-size: clamp(9.5px, 2.55vw, 11.5px) !important;
    letter-spacing: .28em !important;
  }

  .oliva-plugin-header-nav {
    gap: clamp(17px, 4.2vw, 25px) !important;
    padding: 3px 2px 6px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x proximity !important;
    mask-image: linear-gradient(90deg, transparent 0, #000 10px, #000 calc(100% - 10px), transparent 100%) !important;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 10px, #000 calc(100% - 10px), transparent 100%) !important;
  }

  .oliva-plugin-header-nav a,
  .oliva-plugin-header-nav a:link,
  .oliva-plugin-header-nav a:visited,
  .oliva-plugin-header-nav a:hover,
  .oliva-plugin-header-nav a:active,
  .oliva-plugin-header-nav a:focus {
    min-width: max-content !important;
    max-width: none !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    color: #fff8ec !important;
    -webkit-text-fill-color: #fff8ec !important;
    font-size: clamp(10px, 2.45vw, 11.8px) !important;
    letter-spacing: .105em !important;
    line-height: 1 !important;
  }

  .oliva-plugin-header-actions {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 11px !important;
  }

  .oliva-plugin-header-phone,
  .oliva-plugin-header-phone:link,
  .oliva-plugin-header-phone:visited,
  .oliva-plugin-header-cta,
  .oliva-plugin-header-cta:link,
  .oliva-plugin-header-cta:visited {
    min-height: 48px !important;
    height: 48px !important;
    font-size: clamp(10.5px, 2.55vw, 12px) !important;
    letter-spacing: .13em !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  /* Home hero quick actions: Call/Maps must sit as two clean equal pills. If only one exists, center it. */
  .oliva-home-plugin .oliva-v1261-mobile-top-actions {
    position: absolute !important;
    z-index: 10 !important;
    top: clamp(16px, 4.8vw, 24px) !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: min(calc(100% - 34px), 520px) !important;
    max-width: 520px !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    align-items: center !important;
    justify-items: stretch !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .oliva-home-plugin .oliva-v1261-mobile-top-actions a:only-child {
    grid-column: 1 / -1 !important;
    width: min(220px, 100%) !important;
    justify-self: center !important;
  }

  .oliva-home-plugin .oliva-v1261-mobile-top-actions a,
  .oliva-home-plugin .oliva-v1261-mobile-top-actions a:link,
  .oliva-home-plugin .oliva-v1261-mobile-top-actions a:visited,
  .oliva-home-plugin .oliva-v1261-mobile-top-actions a:hover,
  .oliva-home-plugin .oliva-v1261-mobile-top-actions a:focus,
  .oliva-home-plugin .oliva-v1261-mobile-top-actions a:active {
    min-width: 0 !important;
    width: 100% !important;
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    border-radius: 999px !important;
    background: rgba(5, 12, 6, .78) !important;
    border: 1px solid rgba(255, 248, 236, .30) !important;
    color: #fff8ea !important;
    -webkit-text-fill-color: #fff8ea !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    letter-spacing: .14em !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow: hidden !important;
    text-overflow: clip !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.08) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    backdrop-filter: blur(12px) !important;
  }

  .oliva-home-plugin .oliva-v1261-mobile-top-actions span {
    display: inline-block !important;
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    color: inherit !important;
    -webkit-text-fill-color: currentColor !important;
    line-height: 1 !important;
  }

  .oliva-home-plugin .oliva-v1261-mobile-top-actions a::before {
    flex: 0 0 9px !important;
    width: 9px !important;
    height: 9px !important;
    margin: 0 1px 0 0 !important;
  }

  /* Hero spacing and CTA cohesion. */
  .oliva-home-plugin .oliva-v115-hero-home {
    min-height: calc(100svh - var(--oliva-mobile-header-h) + 12px) !important;
    border-top: 0 !important;
  }

  .oliva-home-plugin .oliva-v115-hero-copy {
    width: min(calc(100% - 32px), 520px) !important;
    padding-top: clamp(88px, 23vw, 128px) !important;
    padding-bottom: clamp(86px, 20vw, 118px) !important;
  }

  .oliva-home-plugin .oliva-v115-hero-copy h1 {
    max-width: 10.4ch !important;
    margin-inline: auto !important;
    font-size: clamp(44px, 13.4vw, 64px) !important;
    line-height: .94 !important;
    letter-spacing: -.045em !important;
  }

  .oliva-home-plugin .oliva-v122-cover-actions,
  .oliva-home-plugin .oliva-v122-hero-actions {
    width: min(100%, 360px) !important;
    margin: 18px auto 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .oliva-home-plugin .oliva-v122-cover-actions a.oliva-home-button,
  .oliva-home-plugin .oliva-v122-cover-actions a.oliva-home-button:link,
  .oliva-home-plugin .oliva-v122-cover-actions a.oliva-home-button:visited,
  .oliva-home-plugin .oliva-v122-hero-actions a.oliva-home-button,
  .oliva-home-plugin .oliva-v122-hero-actions a.oliva-home-button:link,
  .oliva-home-plugin .oliva-v122-hero-actions a.oliva-home-button:visited {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 54px !important;
    height: 54px !important;
    padding: 0 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 0 !important;
    background: linear-gradient(180deg, #fff8ea 0%, #e2c37b 100%) !important;
    border: 1px solid rgba(255, 248, 236, .78) !important;
    color: #081008 !important;
    -webkit-text-fill-color: #081008 !important;
    text-shadow: none !important;
    text-transform: uppercase !important;
    letter-spacing: .145em !important;
    font-weight: 950 !important;
    font-size: 11px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    box-shadow: 0 18px 42px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.72) !important;
  }

  .oliva-home-plugin .oliva-v122-cover-actions a.oliva-home-button-secondary,
  .oliva-home-plugin .oliva-v122-cover-actions a.oliva-home-button-secondary:link,
  .oliva-home-plugin .oliva-v122-cover-actions a.oliva-home-button-secondary:visited,
  .oliva-home-plugin .oliva-v122-hero-actions a.oliva-home-button-secondary,
  .oliva-home-plugin .oliva-v122-hero-actions a.oliva-home-button-secondary:link,
  .oliva-home-plugin .oliva-v122-hero-actions a.oliva-home-button-secondary:visited {
    border-radius: 0 !important;
    background: linear-gradient(180deg, rgba(255,248,236,.98), rgba(226,195,123,.98)) !important;
    border: 1px solid rgba(255, 248, 236, .74) !important;
    color: #081008 !important;
    -webkit-text-fill-color: #081008 !important;
  }

  /* Bottom bar: first state is readable on iPhone/Safari/Messenger. */
  .oliva-home-mobile-bar,
  .oliva-v115-mobile-bar {
    width: min(calc(100% - 22px), 620px) !important;
    padding: 10px !important;
    gap: 8px !important;
    border-radius: 22px !important;
  }

  .oliva-home-mobile-bar a,
  .oliva-home-mobile-bar a:link,
  .oliva-home-mobile-bar a:visited,
  .oliva-v115-mobile-bar a,
  .oliva-v115-mobile-bar a:link,
  .oliva-v115-mobile-bar a:visited {
    min-width: 0 !important;
    min-height: 54px !important;
    border-radius: 18px !important;
    font-size: 11px !important;
    letter-spacing: .09em !important;
    color: #fff8ea !important;
    -webkit-text-fill-color: #fff8ea !important;
    text-shadow: none !important;
  }

  .oliva-home-mobile-bar a:first-child,
  .oliva-home-mobile-bar a:first-child:link,
  .oliva-home-mobile-bar a:first-child:visited,
  .oliva-home-mobile-bar a:first-child:hover,
  .oliva-home-mobile-bar a:first-child:active,
  .oliva-home-mobile-bar a:first-child:focus,
  .oliva-v115-mobile-bar a:first-child,
  .oliva-v115-mobile-bar a:first-child:link,
  .oliva-v115-mobile-bar a:first-child:visited,
  .oliva-v115-mobile-bar a:first-child:hover,
  .oliva-v115-mobile-bar a:first-child:active,
  .oliva-v115-mobile-bar a:first-child:focus {
    background: linear-gradient(180deg, #fff8e8 0%, #dfbd73 100%) !important;
    border-color: rgba(255,248,236,.86) !important;
    color: #081008 !important;
    -webkit-text-fill-color: #081008 !important;
    font-weight: 950 !important;
  }

  /* Menu hero: the secondary title line must be ivory, never green/dark. */
  .oliva-menu-plugin .oliva-menu-hero-block .oliva-menu-title,
  .oliva-menu-plugin .oliva-menu-hero-block .oliva-menu-title-main,
  .oliva-menu-plugin .oliva-menu-hero-block .oliva-menu-title-sub,
  .oliva-menu-plugin .oliva-menu-hero-block h1,
  .oliva-menu-plugin .oliva-menu-hero-block h1 span,
  .oliva-menu-plugin .oliva-menu-hero-block .oliva-menu-intro,
  .oliva-menu-plugin .oliva-menu-hero-block .oliva-menu-note {
    color: #fff8ea !important;
    -webkit-text-fill-color: #fff8ea !important;
    text-shadow: 0 12px 30px rgba(0,0,0,.34) !important;
  }

  .oliva-menu-plugin .oliva-menu-hero-block .oliva-menu-title-sub {
    display: block !important;
    max-width: 100% !important;
    margin: 8px 0 0 !important;
    font-size: clamp(24px, 6.4vw, 34px) !important;
    line-height: 1.04 !important;
    font-weight: 700 !important;
    opacity: 1 !important;
  }

  .oliva-menu-plugin .oliva-menu-hero-block .oliva-menu-intro,
  .oliva-menu-plugin .oliva-menu-hero-block .oliva-menu-note {
    color: rgba(255,248,234,.88) !important;
    -webkit-text-fill-color: rgba(255,248,234,.88) !important;
  }

  /* Menu/Wine category bars: sticky, compact, readable. */
  .oliva-menu-plugin .oliva-menu-nav-wrap,
  .oliva-menu-plugin.oliva-v145-page .oliva-menu-nav-wrap,
  .oliva-wine-plugin .oliva-wine-nav-wrap,
  .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-nav-wrap {
    position: sticky !important;
    top: var(--oliva-mobile-subnav-top) !important;
    z-index: 2147482500 !important;
    margin: 0 -14px 22px !important;
    padding: 10px 12px 11px !important;
    background: rgba(255, 248, 236, .985) !important;
    border-radius: 0 !important;
    border-top: 1px solid rgba(23,33,15,.10) !important;
    border-bottom: 1px solid rgba(23,33,15,.16) !important;
    box-shadow: 0 16px 34px rgba(12,18,10,.14) !important;
  }

  .oliva-menu-plugin .oliva-menu-nav-label,
  .oliva-wine-plugin .oliva-wine-nav-label {
    display: block !important;
    margin: 0 0 8px !important;
    text-align: center !important;
    color: #8b6836 !important;
    -webkit-text-fill-color: #8b6836 !important;
    font-size: 10px !important;
    letter-spacing: .16em !important;
    line-height: 1 !important;
  }

  .oliva-menu-plugin .oliva-menu-nav,
  .oliva-menu-plugin.oliva-v145-page .oliva-menu-nav,
  .oliva-wine-plugin .oliva-wine-nav {
    width: 100% !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 7px !important;
    overflow: visible !important;
    padding: 0 !important;
    scrollbar-width: none !important;
  }

  .oliva-menu-plugin .oliva-menu-nav a,
  .oliva-menu-plugin .oliva-menu-nav a:link,
  .oliva-menu-plugin .oliva-menu-nav a:visited,
  .oliva-wine-plugin .oliva-wine-nav a,
  .oliva-wine-plugin .oliva-wine-nav a:link,
  .oliva-wine-plugin .oliva-wine-nav a:visited {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100vw - 34px) !important;
    min-height: 34px !important;
    height: auto !important;
    padding: 8px 11px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    background: #fffdf8 !important;
    border: 1px solid rgba(23, 33, 15, .17) !important;
    color: #17210f !important;
    -webkit-text-fill-color: #17210f !important;
    font-size: 9.8px !important;
    line-height: 1.05 !important;
    letter-spacing: .055em !important;
    font-weight: 950 !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow: visible !important;
    text-overflow: clip !important;
    box-shadow: 0 6px 16px rgba(12,18,10,.07) !important;
  }

  .oliva-wine-plugin .oliva-wine-nav a {
    font-size: 9.4px !important;
    padding-inline: 9px !important;
    letter-spacing: .035em !important;
  }
}

@media (max-width: 430px) {
  body.oliva-canvas-body {
    --oliva-mobile-header-h: clamp(186px, 47vw, 220px) !important;
  }

  .oliva-plugin-header-inner {
    width: min(100% - 22px, 430px) !important;
    gap: 10px !important;
  }

  .oliva-plugin-header-brand strong {
    font-size: clamp(27px, 7.6vw, 36px) !important;
  }

  .oliva-plugin-header-nav {
    gap: 17px !important;
  }

  .oliva-plugin-header-nav a,
  .oliva-plugin-header-nav a:link,
  .oliva-plugin-header-nav a:visited {
    font-size: 10px !important;
    letter-spacing: .095em !important;
  }

  .oliva-plugin-header-phone,
  .oliva-plugin-header-cta {
    min-height: 46px !important;
    height: 46px !important;
    font-size: 10.2px !important;
    letter-spacing: .10em !important;
  }

  .oliva-home-plugin .oliva-v1261-mobile-top-actions {
    width: calc(100% - 30px) !important;
    gap: 10px !important;
  }

  .oliva-home-plugin .oliva-v1261-mobile-top-actions a {
    height: 46px !important;
    min-height: 46px !important;
    padding-inline: 11px !important;
    font-size: 10.6px !important;
    letter-spacing: .125em !important;
  }

  .oliva-home-plugin .oliva-v1261-mobile-top-actions a::before {
    width: 8px !important;
    height: 8px !important;
    flex-basis: 8px !important;
    box-shadow: 0 0 0 6px rgba(216,189,120,.14) !important;
  }

  .oliva-home-plugin .oliva-v115-hero-copy h1 {
    font-size: clamp(42px, 13.7vw, 60px) !important;
    line-height: .94 !important;
  }

  .oliva-menu-plugin .oliva-menu-hero-block .oliva-menu-title-sub {
    font-size: clamp(22px, 6vw, 30px) !important;
  }

  .oliva-menu-plugin .oliva-menu-nav a,
  .oliva-wine-plugin .oliva-wine-nav a {
    font-size: 9.2px !important;
    padding: 8px 9px !important;
    letter-spacing: .035em !important;
  }
}

@supports (-webkit-touch-callout: none) {
  @media (max-width: 820px) {
    .oliva-plugin-header,
    .oliva-plugin-header-sticky {
      position: fixed !important;
      top: 0 !important;
      transform: translate3d(0,0,0) !important;
      -webkit-transform: translate3d(0,0,0) !important;
    }

    .oliva-home-plugin .oliva-v1261-mobile-top-actions,
    .oliva-menu-plugin .oliva-menu-nav-wrap,
    .oliva-wine-plugin .oliva-wine-nav-wrap,
    .oliva-home-mobile-bar,
    .oliva-v115-mobile-bar {
      transform: translate3d(0,0,0) !important;
      -webkit-transform: translate3d(0,0,0) !important;
    }
  }
}

/* v1.54.0 · Main Navigation Fit Lock
   Scope: only the central plugin header menu on mobile/iPhone and its sticky offsets.
   Purpose: keep Home / Reservation / 360° / Menu / Wine List / About Us / Contact readable,
   centered and stable everywhere, without touching the food-menu content. */
@media (max-width: 820px) {
  body.oliva-canvas-body {
    --oliva-mobile-header-h: clamp(204px, 48vw, 234px) !important;
    --oliva-mobile-subnav-top: calc(var(--oliva-mobile-header-h) - 1px) !important;
  }

  body.oliva-canvas-body .oliva-canvas-site {
    padding-top: var(--oliva-mobile-header-h) !important;
  }

  body.oliva-canvas-body .oliva-plugin-header,
  body.oliva-canvas-body .oliva-plugin-header-sticky {
    position: fixed !important;
    inset: 0 0 auto 0 !important;
    z-index: 2147483000 !important;
    min-height: var(--oliva-mobile-header-h) !important;
    background: linear-gradient(180deg, rgba(2, 8, 4, .992), rgba(6, 14, 7, .972)) !important;
    border-bottom: 1px solid rgba(216, 189, 120, .20) !important;
    box-shadow: 0 18px 44px rgba(0,0,0,.26) !important;
    overflow: visible !important;
  }

  .oliva-plugin-header-inner {
    width: min(100% - 24px, 620px) !important;
    min-height: var(--oliva-mobile-header-h) !important;
    padding: 13px 0 13px !important;
    margin-inline: auto !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto !important;
    align-content: center !important;
    justify-items: center !important;
    gap: 10px !important;
  }

  .oliva-plugin-header-brand {
    grid-row: 1 !important;
    width: 100% !important;
    max-width: none !important;
    align-items: center !important;
    text-align: center !important;
    margin: 0 !important;
  }

  .oliva-plugin-header-brand strong {
    display: block !important;
    max-width: 100% !important;
    color: #fff8ea !important;
    -webkit-text-fill-color: #fff8ea !important;
    font-size: clamp(25px, 6.8vw, 36px) !important;
    line-height: .96 !important;
    letter-spacing: .055em !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
  }

  .oliva-plugin-header-brand span {
    display: block !important;
    margin-top: 6px !important;
    color: #d8bd78 !important;
    -webkit-text-fill-color: #d8bd78 !important;
    font-size: clamp(9px, 2.25vw, 11px) !important;
    line-height: 1 !important;
    letter-spacing: .26em !important;
    white-space: nowrap !important;
  }

  .oliva-plugin-header-nav {
    grid-row: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 1px 0 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px clamp(13px, 3.6vw, 20px) !important;
    overflow: visible !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
    mask-image: none !important;
    -webkit-mask-image: none !important;
    scrollbar-width: none !important;
    text-align: center !important;
  }

  .oliva-plugin-header-nav::-webkit-scrollbar {
    display: none !important;
  }

  .oliva-plugin-header-nav a,
  .oliva-plugin-header-nav a:link,
  .oliva-plugin-header-nav a:visited,
  .oliva-plugin-header-nav a:hover,
  .oliva-plugin-header-nav a:active,
  .oliva-plugin-header-nav a:focus {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 22px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #fff8ea !important;
    -webkit-text-fill-color: #fff8ea !important;
    opacity: .95 !important;
    font-size: clamp(9.2px, 2.25vw, 10.8px) !important;
    font-weight: 950 !important;
    letter-spacing: .095em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  .oliva-plugin-header-nav a:hover,
  .oliva-plugin-header-nav a:focus {
    color: #d8bd78 !important;
    -webkit-text-fill-color: #d8bd78 !important;
    transform: none !important;
  }

  .oliva-plugin-header-actions {
    grid-row: 3 !important;
    width: 100% !important;
    max-width: 620px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 !important;
  }

  .oliva-plugin-header-phone,
  .oliva-plugin-header-phone:link,
  .oliva-plugin-header-phone:visited,
  .oliva-plugin-header-cta,
  .oliva-plugin-header-cta:link,
  .oliva-plugin-header-cta:visited {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 46px !important;
    min-height: 46px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    font-size: clamp(10px, 2.45vw, 11.4px) !important;
    line-height: 1 !important;
    letter-spacing: .115em !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .oliva-plugin-header-phone {
    background: rgba(255, 248, 236, .02) !important;
    border: 1px solid rgba(255, 248, 236, .24) !important;
    color: #fff8ea !important;
    -webkit-text-fill-color: #fff8ea !important;
  }

  .oliva-plugin-header-cta {
    background: linear-gradient(180deg, #fff2cf 0%, #d8bd78 100%) !important;
    border: 1px solid rgba(255, 248, 236, .70) !important;
    color: #071007 !important;
    -webkit-text-fill-color: #071007 !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.65), 0 12px 26px rgba(0,0,0,.18) !important;
  }

  .oliva-menu-plugin .oliva-menu-nav-wrap,
  .oliva-menu-plugin.oliva-v145-page .oliva-menu-nav-wrap,
  .oliva-wine-plugin .oliva-wine-nav-wrap,
  .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-nav-wrap {
    top: var(--oliva-mobile-subnav-top) !important;
  }
}

@media (max-width: 430px) {
  body.oliva-canvas-body {
    --oliva-mobile-header-h: clamp(198px, 49vw, 226px) !important;
  }

  .oliva-plugin-header-inner {
    width: min(100% - 20px, 430px) !important;
    gap: 9px !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }

  .oliva-plugin-header-brand strong {
    font-size: clamp(24px, 7.1vw, 34px) !important;
    letter-spacing: .05em !important;
  }

  .oliva-plugin-header-brand span {
    font-size: clamp(8.8px, 2.25vw, 10.5px) !important;
    letter-spacing: .245em !important;
  }

  .oliva-plugin-header-nav {
    gap: 7px clamp(10px, 3vw, 15px) !important;
  }

  .oliva-plugin-header-nav a,
  .oliva-plugin-header-nav a:link,
  .oliva-plugin-header-nav a:visited {
    font-size: clamp(8.8px, 2.18vw, 10px) !important;
    letter-spacing: .078em !important;
  }

  .oliva-plugin-header-actions {
    gap: 9px !important;
  }

  .oliva-plugin-header-phone,
  .oliva-plugin-header-cta {
    height: 44px !important;
    min-height: 44px !important;
    font-size: clamp(9.8px, 2.35vw, 10.8px) !important;
    letter-spacing: .095em !important;
  }
}

@media (max-width: 374px) {
  body.oliva-canvas-body {
    --oliva-mobile-header-h: 218px !important;
  }

  .oliva-plugin-header-nav {
    gap: 7px 9px !important;
  }

  .oliva-plugin-header-nav a,
  .oliva-plugin-header-nav a:link,
  .oliva-plugin-header-nav a:visited {
    font-size: 8.4px !important;
    letter-spacing: .055em !important;
  }
}

@supports (-webkit-touch-callout: none) {
  @media (max-width: 820px) {
    body.oliva-canvas-body .oliva-plugin-header,
    body.oliva-canvas-body .oliva-plugin-header-sticky {
      position: fixed !important;
      top: 0 !important;
      transform: translate3d(0,0,0) !important;
      -webkit-transform: translate3d(0,0,0) !important;
      will-change: transform !important;
    }
  }
}

/* v1.55.0 · Mobile final positioning lock
   Scope: mobile/iPhone only. Keeps the approved header layout and fixes the final visual seating:
   hero buttons stay above the sticky bar, request CTA matches Make a Reservation, and section nav bars remain readable. */
@media (max-width: 820px) {
  body.oliva-canvas-body {
    --oliva-mobile-bottom-bar-h: calc(88px + env(safe-area-inset-bottom, 0px)) !important;
  }

  body.oliva-canvas-body .oliva-canvas-site {
    padding-bottom: var(--oliva-mobile-bottom-bar-h) !important;
  }

  /* Keep the already-approved mobile header stable and prevent micro-overflow in webviews. */
  .oliva-plugin-header,
  .oliva-plugin-header-sticky,
  .oliva-plugin-header-inner {
    max-width: 100vw !important;
    overflow-x: clip !important;
  }

  .oliva-plugin-header-nav {
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  .oliva-plugin-header-nav::-webkit-scrollbar {
    display: none !important;
  }

  /* Home hero: leave room for the sticky mobile action bar. */
  .oliva-home-plugin .oliva-v115-hero-home {
    min-height: calc(100svh - var(--oliva-mobile-header-h) + 86px) !important;
    min-height: calc(100dvh - var(--oliva-mobile-header-h) + 86px) !important;
    overflow: hidden !important;
  }

  .oliva-home-plugin .oliva-v115-hero-copy {
    width: min(calc(100% - 34px), 540px) !important;
    max-width: 540px !important;
    padding-top: clamp(86px, 21vw, 122px) !important;
    padding-bottom: calc(142px + env(safe-area-inset-bottom, 0px)) !important;
    transform: translateY(-10px) !important;
  }

  .oliva-home-plugin .oliva-v115-hero-copy h1 {
    margin-bottom: 16px !important;
    font-size: clamp(42px, 12.4vw, 62px) !important;
    line-height: .95 !important;
    max-width: 10.8ch !important;
  }

  .oliva-home-plugin .oliva-v122-cover-actions,
  .oliva-home-plugin .oliva-v122-hero-actions {
    width: min(100%, 390px) !important;
    max-width: 390px !important;
    margin: 14px auto 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    position: relative !important;
    z-index: 12 !important;
  }

  .oliva-home-plugin .oliva-v122-cover-actions a.oliva-home-button,
  .oliva-home-plugin .oliva-v122-hero-actions a.oliva-home-button,
  .oliva-home-plugin .oliva-v122-cover-actions a.oliva-home-button:link,
  .oliva-home-plugin .oliva-v122-hero-actions a.oliva-home-button:link,
  .oliva-home-plugin .oliva-v122-cover-actions a.oliva-home-button:visited,
  .oliva-home-plugin .oliva-v122-hero-actions a.oliva-home-button:visited,
  .oliva-home-plugin .oliva-v122-cover-actions a.oliva-home-button:hover,
  .oliva-home-plugin .oliva-v122-hero-actions a.oliva-home-button:hover,
  .oliva-home-plugin .oliva-v122-cover-actions a.oliva-home-button:focus,
  .oliva-home-plugin .oliva-v122-hero-actions a.oliva-home-button:focus,
  .oliva-home-plugin .oliva-v122-cover-actions a.oliva-home-button:active,
  .oliva-home-plugin .oliva-v122-hero-actions a.oliva-home-button:active {
    width: 100% !important;
    height: 54px !important;
    min-height: 54px !important;
    padding: 0 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 0 !important;
    background: linear-gradient(180deg, #fff8ea 0%, #e2c37b 100%) !important;
    border: 1px solid rgba(255, 248, 236, .82) !important;
    color: #071007 !important;
    -webkit-text-fill-color: #071007 !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    text-align: center !important;
    letter-spacing: .145em !important;
    font-size: 10.8px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    text-shadow: none !important;
    box-shadow: 0 16px 38px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.70) !important;
  }

  .oliva-home-plugin .oliva-v122-cover-actions a.oliva-home-button-secondary::after,
  .oliva-home-plugin .oliva-v122-hero-actions a.oliva-home-button-secondary::after {
    display: none !important;
    content: none !important;
  }

  .oliva-home-plugin .oliva-v1261-mobile-top-actions {
    width: min(calc(100% - 34px), 540px) !important;
    top: clamp(14px, 4vw, 22px) !important;
    gap: 12px !important;
    z-index: 15 !important;
  }

  .oliva-home-plugin .oliva-v1261-mobile-top-actions a,
  .oliva-home-plugin .oliva-v1261-mobile-top-actions a:link,
  .oliva-home-plugin .oliva-v1261-mobile-top-actions a:visited,
  .oliva-home-plugin .oliva-v1261-mobile-top-actions a:hover,
  .oliva-home-plugin .oliva-v1261-mobile-top-actions a:active,
  .oliva-home-plugin .oliva-v1261-mobile-top-actions a:focus {
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 16px !important;
    border-radius: 999px !important;
    letter-spacing: .14em !important;
    font-size: 11px !important;
    color: #fff8ea !important;
    -webkit-text-fill-color: #fff8ea !important;
  }

  /* Bottom sticky bar: never cover unreadably or invert text in mobile browsers. */
  .oliva-home-mobile-bar,
  .oliva-v115-mobile-bar {
    left: max(12px, env(safe-area-inset-left, 0px)) !important;
    right: max(12px, env(safe-area-inset-right, 0px)) !important;
    bottom: calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    width: auto !important;
    max-width: 620px !important;
    margin-inline: auto !important;
    padding: 10px !important;
    gap: 8px !important;
    border-radius: 24px !important;
    background: rgba(3, 9, 5, .975) !important;
    border: 1px solid rgba(255,248,236,.22) !important;
    z-index: 2147482900 !important;
    -webkit-transform: translateZ(0) !important;
    transform: translateZ(0) !important;
  }

  .oliva-home-mobile-bar a,
  .oliva-v115-mobile-bar a,
  .oliva-home-mobile-bar a:link,
  .oliva-v115-mobile-bar a:link,
  .oliva-home-mobile-bar a:visited,
  .oliva-v115-mobile-bar a:visited,
  .oliva-home-mobile-bar a:hover,
  .oliva-v115-mobile-bar a:hover,
  .oliva-home-mobile-bar a:active,
  .oliva-v115-mobile-bar a:active,
  .oliva-home-mobile-bar a:focus,
  .oliva-v115-mobile-bar a:focus {
    min-height: 54px !important;
    height: 54px !important;
    border-radius: 18px !important;
    color: #fff8ea !important;
    -webkit-text-fill-color: #fff8ea !important;
    font-size: 10.6px !important;
    letter-spacing: .09em !important;
    font-weight: 950 !important;
    opacity: 1 !important;
    text-shadow: none !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  .oliva-home-mobile-bar a:first-child,
  .oliva-v115-mobile-bar a:first-child,
  .oliva-home-mobile-bar a:first-child:link,
  .oliva-v115-mobile-bar a:first-child:link,
  .oliva-home-mobile-bar a:first-child:visited,
  .oliva-v115-mobile-bar a:first-child:visited,
  .oliva-home-mobile-bar a:first-child:hover,
  .oliva-v115-mobile-bar a:first-child:hover,
  .oliva-home-mobile-bar a:first-child:active,
  .oliva-v115-mobile-bar a:first-child:active,
  .oliva-home-mobile-bar a:first-child:focus,
  .oliva-v115-mobile-bar a:first-child:focus {
    background: linear-gradient(180deg, #fff8e8 0%, #dfbd73 100%) !important;
    color: #071007 !important;
    -webkit-text-fill-color: #071007 !important;
    border-color: rgba(255,248,236,.88) !important;
  }

  /* Menu and Wine category bars: stay below the main header and do not clip labels. */
  body.oliva-canvas-body .oliva-menu-plugin .oliva-menu-nav-wrap,
  body.oliva-canvas-body .oliva-menu-plugin.oliva-v145-page .oliva-menu-nav-wrap,
  body.oliva-canvas-body .oliva-wine-plugin .oliva-wine-nav-wrap,
  body.oliva-canvas-body .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-nav-wrap {
    position: sticky !important;
    top: calc(var(--oliva-mobile-header-h) - 1px) !important;
    z-index: 2147482600 !important;
    margin-inline: calc(-1 * min(18px, 4vw)) !important;
    padding: 10px 14px !important;
    background: rgba(255, 248, 236, .97) !important;
    border-top: 1px solid rgba(27, 40, 21, .08) !important;
    border-bottom: 1px solid rgba(27, 40, 21, .14) !important;
    box-shadow: 0 16px 34px rgba(18,24,12,.08) !important;
    overflow: hidden !important;
  }

  .oliva-menu-plugin .oliva-menu-nav,
  .oliva-wine-plugin .oliva-wine-nav {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    mask-image: none !important;
    -webkit-mask-image: none !important;
    padding: 5px 2px !important;
  }

  .oliva-menu-plugin .oliva-menu-nav::-webkit-scrollbar,
  .oliva-wine-plugin .oliva-wine-nav::-webkit-scrollbar {
    display: none !important;
  }

  .oliva-menu-plugin .oliva-menu-nav a,
  .oliva-wine-plugin .oliva-wine-nav a,
  .oliva-menu-plugin .oliva-menu-nav a:link,
  .oliva-wine-plugin .oliva-wine-nav a:link,
  .oliva-menu-plugin .oliva-menu-nav a:visited,
  .oliva-wine-plugin .oliva-wine-nav a:visited {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: max-content !important;
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 13px !important;
    border-radius: 999px !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
    color: #172313 !important;
    -webkit-text-fill-color: #172313 !important;
    font-size: 10px !important;
    letter-spacing: .07em !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    text-align: center !important;
  }
}

@media (max-width: 420px) {
  .oliva-home-plugin .oliva-v115-hero-copy {
    padding-top: clamp(82px, 22vw, 112px) !important;
    padding-bottom: calc(136px + env(safe-area-inset-bottom, 0px)) !important;
  }

  .oliva-home-plugin .oliva-v115-hero-copy h1 {
    font-size: clamp(40px, 12vw, 56px) !important;
    max-width: 10.6ch !important;
  }

  .oliva-home-plugin .oliva-v122-cover-actions,
  .oliva-home-plugin .oliva-v122-hero-actions {
    width: min(100%, 360px) !important;
  }

  .oliva-home-plugin .oliva-v122-cover-actions a.oliva-home-button,
  .oliva-home-plugin .oliva-v122-hero-actions a.oliva-home-button {
    height: 52px !important;
    min-height: 52px !important;
    font-size: 10.2px !important;
    letter-spacing: .12em !important;
  }

  .oliva-home-plugin .oliva-v1261-mobile-top-actions a,
  .oliva-home-plugin .oliva-v1261-mobile-top-actions a:link,
  .oliva-home-plugin .oliva-v1261-mobile-top-actions a:visited {
    height: 46px !important;
    min-height: 46px !important;
    font-size: 10px !important;
    letter-spacing: .12em !important;
  }
}

/* v1.55.0 · Final Mobile Seating & Safe-Area Lock
   Scope: mobile/iPhone only. Purpose: keep the approved classic header, make the hero CTAs breathe,
   prevent the fixed bottom action bar from covering content, and keep Menu/Wine sticky category bars aligned. */
@media (max-width: 820px) {
  html,
  body.oliva-canvas-body {
    overflow-x: hidden !important;
  }

  body.oliva-canvas-body {
    --oliva-mobile-bottom-bar-h: 82px !important;
    --oliva-mobile-bottom-gap: max(12px, env(safe-area-inset-bottom)) !important;
  }

  body.oliva-canvas-body .oliva-canvas-site {
    padding-bottom: calc(var(--oliva-mobile-bottom-bar-h) + var(--oliva-mobile-bottom-gap) + 18px) !important;
  }

  body.oliva-canvas-body .oliva-plugin-header,
  body.oliva-canvas-body .oliva-plugin-header-sticky {
    -webkit-backdrop-filter: blur(16px) saturate(1.05) !important;
    backdrop-filter: blur(16px) saturate(1.05) !important;
  }

  .oliva-plugin-header-inner {
    box-sizing: border-box !important;
  }

  .oliva-plugin-header-nav {
    row-gap: 8px !important;
  }

  .oliva-plugin-header-nav a {
    text-shadow: 0 1px 0 rgba(0,0,0,.24) !important;
  }

  .oliva-home-v123 .oliva-v115-hero-home,
  .oliva-home-v122 .oliva-v115-hero-home,
  .oliva-home-plugin .oliva-v115-hero-home {
    min-height: clamp(620px, 86svh, 780px) !important;
    padding-top: 28px !important;
    padding-bottom: calc(var(--oliva-mobile-bottom-bar-h) + var(--oliva-mobile-bottom-gap) + 74px) !important;
    border-radius: 0 !important;
  }

  .oliva-home-v123 .oliva-v115-hero-media img,
  .oliva-home-v122 .oliva-v115-hero-media img,
  .oliva-home-plugin .oliva-v115-hero-media img {
    object-position: center center !important;
    filter: saturate(1.06) contrast(1.04) brightness(.86) !important;
  }

  .oliva-home-v123 .oliva-v115-hero-shade,
  .oliva-home-v122 .oliva-v115-hero-shade,
  .oliva-home-plugin .oliva-v115-hero-shade {
    background:
      linear-gradient(180deg, rgba(0,0,0,.30) 0%, rgba(0,0,0,.08) 26%, rgba(0,0,0,.16) 54%, rgba(0,0,0,.66) 100%),
      radial-gradient(ellipse at 50% 68%, rgba(0,0,0,.08) 0%, rgba(0,0,0,.34) 72%, rgba(0,0,0,.58) 100%) !important;
  }

  .oliva-home-v123 .oliva-v115-hero-copy,
  .oliva-home-v122 .oliva-v115-hero-copy,
  .oliva-home-plugin .oliva-v115-hero-copy {
    width: min(100% - 34px, 720px) !important;
    max-width: 720px !important;
    margin-inline: auto !important;
    padding: 0 !important;
    text-align: center !important;
    transform: translateY(-4px) !important;
  }

  .oliva-home-v123 .oliva-v115-hero-copy h1,
  .oliva-home-v122 .oliva-v115-hero-copy h1,
  .oliva-home-plugin .oliva-v115-hero-copy h1 {
    max-width: 11.5ch !important;
    margin: 0 auto 20px !important;
    font-size: clamp(44px, 12.8vw, 66px) !important;
    line-height: .96 !important;
    letter-spacing: -.045em !important;
    color: #fff8ea !important;
    -webkit-text-fill-color: #fff8ea !important;
    text-shadow: 0 14px 34px rgba(0,0,0,.58) !important;
  }

  .oliva-home-v123 .oliva-v122-cover-actions,
  .oliva-home-v122 .oliva-v122-cover-actions,
  .oliva-home-plugin .oliva-v122-cover-actions {
    width: min(100%, 640px) !important;
    max-width: 640px !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: center !important;
    gap: 12px !important;
    position: relative !important;
    z-index: 4 !important;
  }

  .oliva-home-v123 .oliva-v122-cover-actions .oliva-home-button,
  .oliva-home-v122 .oliva-v122-cover-actions .oliva-home-button,
  .oliva-home-plugin .oliva-v122-cover-actions .oliva-home-button {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 58px !important;
    border-radius: 0 !important;
    padding: 17px 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: clamp(11px, 2.8vw, 13px) !important;
    line-height: 1 !important;
    letter-spacing: .14em !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
  }

  .oliva-home-v123 .oliva-v122-cover-actions .oliva-home-button-primary,
  .oliva-home-v122 .oliva-v122-cover-actions .oliva-home-button-primary,
  .oliva-home-plugin .oliva-v122-cover-actions .oliva-home-button-primary,
  .oliva-home-v123 .oliva-v122-cover-actions .oliva-home-button-secondary,
  .oliva-home-v122 .oliva-v122-cover-actions .oliva-home-button-secondary,
  .oliva-home-plugin .oliva-v122-cover-actions .oliva-home-button-secondary {
    color: #071007 !important;
    -webkit-text-fill-color: #071007 !important;
    background: linear-gradient(180deg, #fff8ea 0%, #f4e0af 45%, #d8bd78 100%) !important;
    border: 1px solid rgba(255, 248, 236, .86) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.76), 0 14px 34px rgba(0,0,0,.30) !important;
    text-decoration: none !important;
  }

  .oliva-home-v123 .oliva-v122-cover-actions .oliva-home-button-secondary::after,
  .oliva-home-v122 .oliva-v122-cover-actions .oliva-home-button-secondary::after,
  .oliva-home-plugin .oliva-v122-cover-actions .oliva-home-button-secondary::after {
    content: none !important;
  }

  .oliva-v1261-mobile-top-actions {
    position: absolute !important;
    z-index: 5 !important;
    top: clamp(16px, 4vw, 26px) !important;
    left: 0 !important;
    right: 0 !important;
    width: min(100% - 34px, 720px) !important;
    margin-inline: auto !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: clamp(12px, 3vw, 18px) !important;
    pointer-events: auto !important;
  }

  .oliva-v1261-top-pill,
  .oliva-v1261-top-pill:link,
  .oliva-v1261-top-pill:visited,
  .oliva-v1261-top-pill:hover,
  .oliva-v1261-top-pill:focus,
  .oliva-v1261-top-pill:active {
    min-width: 0 !important;
    width: 100% !important;
    height: 54px !important;
    min-height: 54px !important;
    padding: 0 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    border-radius: 999px !important;
    background: rgba(2, 10, 5, .78) !important;
    border: 1px solid rgba(255, 248, 236, .32) !important;
    color: #fff8ea !important;
    -webkit-text-fill-color: #fff8ea !important;
    text-decoration: none !important;
    box-shadow: 0 16px 28px rgba(0,0,0,.22) !important;
    overflow: hidden !important;
  }

  .oliva-v1261-top-pill span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    color: #fff8ea !important;
    -webkit-text-fill-color: #fff8ea !important;
    font-size: clamp(11px, 2.75vw, 13px) !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
  }

  .oliva-v1261-top-pill::before {
    content: '' !important;
    flex: 0 0 auto !important;
    width: 14px !important;
    height: 14px !important;
    border-radius: 50% !important;
    background: #d8bd78 !important;
    box-shadow: 0 0 0 8px rgba(216,189,120,.13) !important;
  }

  .oliva-v115-mobile-bar,
  .oliva-home-mobile-bar {
    position: fixed !important;
    left: max(14px, env(safe-area-inset-left)) !important;
    right: max(14px, env(safe-area-inset-right)) !important;
    bottom: calc(env(safe-area-inset-bottom) + 10px) !important;
    z-index: 2147482990 !important;
    min-height: 74px !important;
    padding: 9px !important;
    border-radius: 26px !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;
    background: rgba(2, 10, 5, .92) !important;
    border: 1px solid rgba(255, 248, 236, .20) !important;
    box-shadow: 0 18px 46px rgba(0,0,0,.38) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.1) !important;
    backdrop-filter: blur(18px) saturate(1.1) !important;
  }

  .oliva-v115-mobile-bar a,
  .oliva-home-mobile-bar a,
  .oliva-v115-mobile-bar a:link,
  .oliva-home-mobile-bar a:link,
  .oliva-v115-mobile-bar a:visited,
  .oliva-home-mobile-bar a:visited,
  .oliva-v115-mobile-bar a:hover,
  .oliva-home-mobile-bar a:hover,
  .oliva-v115-mobile-bar a:active,
  .oliva-home-mobile-bar a:active,
  .oliva-v115-mobile-bar a:focus,
  .oliva-home-mobile-bar a:focus {
    min-width: 0 !important;
    min-height: 56px !important;
    border-radius: 20px !important;
    padding: 0 8px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(255, 248, 236, .055) !important;
    border: 1px solid rgba(255, 248, 236, .13) !important;
    color: #fff8ea !important;
    -webkit-text-fill-color: #fff8ea !important;
    opacity: 1 !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    font-size: clamp(9.8px, 2.55vw, 11px) !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    letter-spacing: .08em !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .oliva-v115-mobile-bar a:first-child,
  .oliva-home-mobile-bar a:first-child {
    color: #071007 !important;
    -webkit-text-fill-color: #071007 !important;
    background: linear-gradient(180deg, #fff8ea 0%, #f5dfaa 45%, #d8bd78 100%) !important;
    border-color: rgba(255, 248, 236, .82) !important;
  }

  .oliva-menu-plugin .oliva-menu-nav-wrap,
  .oliva-menu-plugin.oliva-v145-page .oliva-menu-nav-wrap,
  .oliva-wine-plugin .oliva-wine-nav-wrap,
  .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-nav-wrap {
    position: sticky !important;
    top: var(--oliva-mobile-subnav-top) !important;
    z-index: 2147482800 !important;
    margin-top: 0 !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.05) !important;
    backdrop-filter: blur(18px) saturate(1.05) !important;
  }
}

@media (max-width: 430px) {
  body.oliva-canvas-body {
    --oliva-mobile-bottom-bar-h: 78px !important;
  }

  .oliva-home-v123 .oliva-v115-hero-home,
  .oliva-home-v122 .oliva-v115-hero-home,
  .oliva-home-plugin .oliva-v115-hero-home {
    min-height: clamp(610px, 84svh, 740px) !important;
    padding-bottom: calc(var(--oliva-mobile-bottom-bar-h) + var(--oliva-mobile-bottom-gap) + 70px) !important;
  }

  .oliva-home-v123 .oliva-v115-hero-copy h1,
  .oliva-home-v122 .oliva-v115-hero-copy h1,
  .oliva-home-plugin .oliva-v115-hero-copy h1 {
    font-size: clamp(40px, 12.2vw, 58px) !important;
    max-width: 10.8ch !important;
  }

  .oliva-home-v123 .oliva-v122-cover-actions,
  .oliva-home-v122 .oliva-v122-cover-actions,
  .oliva-home-plugin .oliva-v122-cover-actions,
  .oliva-v1261-mobile-top-actions {
    width: min(100% - 28px, 420px) !important;
  }

  .oliva-v1261-top-pill {
    height: 50px !important;
    min-height: 50px !important;
  }

  .oliva-v115-mobile-bar,
  .oliva-home-mobile-bar {
    left: 12px !important;
    right: 12px !important;
    bottom: calc(env(safe-area-inset-bottom) + 8px) !important;
    min-height: 70px !important;
    padding: 8px !important;
    gap: 7px !important;
    border-radius: 24px !important;
  }

  .oliva-v115-mobile-bar a,
  .oliva-home-mobile-bar a {
    min-height: 54px !important;
    border-radius: 18px !important;
    font-size: clamp(9.2px, 2.5vw, 10.4px) !important;
    letter-spacing: .07em !important;
  }
}

@media (max-width: 374px) {
  .oliva-home-v123 .oliva-v122-cover-actions .oliva-home-button,
  .oliva-home-v122 .oliva-v122-cover-actions .oliva-home-button,
  .oliva-home-plugin .oliva-v122-cover-actions .oliva-home-button {
    font-size: 10.4px !important;
    letter-spacing: .10em !important;
  }

  .oliva-v1261-top-pill span {
    font-size: 10px !important;
    letter-spacing: .11em !important;
  }
}


/* v1.55.0 · Final Mobile Seating & Hero Clearance Lock
   Scope: mobile/iPhone only. Preserve the approved header structure, but correct spacing,
   CTA clearance above the sticky bottom bar, Call/Maps seating, and sticky sub-navigation offsets. */
@media (max-width: 820px) {
  body.oliva-canvas-body {
    --oliva-mobile-header-h: clamp(202px, 48vw, 232px) !important;
    --oliva-mobile-subnav-top: calc(var(--oliva-mobile-header-h) - 1px) !important;
    --oliva-mobile-bottom-h: calc(86px + env(safe-area-inset-bottom, 0px)) !important;
  }

  body.oliva-canvas-body .oliva-canvas-site {
    padding-top: var(--oliva-mobile-header-h) !important;
    padding-bottom: calc(var(--oliva-mobile-bottom-h) + 18px) !important;
    overflow-x: hidden !important;
  }

  body.oliva-canvas-body .oliva-plugin-header,
  body.oliva-canvas-body .oliva-plugin-header-sticky {
    min-height: var(--oliva-mobile-header-h) !important;
    height: var(--oliva-mobile-header-h) !important;
    overflow: hidden !important;
    backdrop-filter: blur(16px) saturate(1.05) !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.05) !important;
  }

  .oliva-plugin-header-inner {
    min-height: var(--oliva-mobile-header-h) !important;
    height: var(--oliva-mobile-header-h) !important;
    padding-top: clamp(11px, 2.6vw, 14px) !important;
    padding-bottom: clamp(11px, 2.6vw, 14px) !important;
    gap: clamp(8px, 2vw, 10px) !important;
  }

  .oliva-plugin-header-brand strong {
    font-size: clamp(25px, 6.7vw, 34px) !important;
    line-height: .96 !important;
    letter-spacing: .052em !important;
  }

  .oliva-plugin-header-brand span {
    margin-top: 5px !important;
    font-size: clamp(8.8px, 2.1vw, 10.4px) !important;
  }

  .oliva-plugin-header-nav {
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-content: center !important;
    gap: 7px clamp(12px, 3.2vw, 18px) !important;
    max-height: 44px !important;
    overflow: hidden !important;
    padding: 0 !important;
    mask-image: none !important;
    -webkit-mask-image: none !important;
  }

  .oliva-plugin-header-nav a,
  .oliva-plugin-header-nav a:link,
  .oliva-plugin-header-nav a:visited,
  .oliva-plugin-header-nav a:hover,
  .oliva-plugin-header-nav a:active,
  .oliva-plugin-header-nav a:focus {
    min-height: 18px !important;
    font-size: clamp(9.2px, 2.15vw, 10.4px) !important;
    letter-spacing: .084em !important;
    line-height: 1 !important;
    padding: 0 !important;
  }

  .oliva-plugin-header-actions {
    max-width: 760px !important;
    gap: clamp(9px, 2.6vw, 12px) !important;
  }

  .oliva-plugin-header-cta,
  .oliva-plugin-header-phone,
  .oliva-plugin-header-cta:link,
  .oliva-plugin-header-phone:link,
  .oliva-plugin-header-cta:visited,
  .oliva-plugin-header-phone:visited {
    height: clamp(44px, 10vw, 50px) !important;
    min-height: clamp(44px, 10vw, 50px) !important;
    font-size: clamp(10px, 2.3vw, 11.2px) !important;
    letter-spacing: .11em !important;
  }

  /* Homepage first fold: keep the approved visual, but give enough room for both CTAs above the bottom action bar. */
  .oliva-home-plugin .oliva-v115-hero-home {
    min-height: calc(100svh - var(--oliva-mobile-header-h) + 96px) !important;
    padding-top: 0 !important;
    padding-bottom: calc(var(--oliva-mobile-bottom-h) + 66px) !important;
    border-radius: 0 !important;
  }

  .oliva-home-plugin .oliva-v115-hero-media img {
    object-position: center 46% !important;
  }

  .oliva-home-plugin .oliva-v115-hero-shade {
    background:
      radial-gradient(ellipse at 50% 44%, rgba(0,0,0,.02) 0%, rgba(0,0,0,.12) 42%, rgba(0,0,0,.34) 100%),
      linear-gradient(180deg, rgba(0,0,0,.22) 0%, rgba(0,0,0,.07) 30%, rgba(0,0,0,.42) 100%) !important;
  }

  .oliva-home-plugin .oliva-v1261-mobile-top-actions {
    top: clamp(18px, 4.8vw, 28px) !important;
    width: min(calc(100% - 42px), 680px) !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: clamp(12px, 3.2vw, 18px) !important;
  }

  .oliva-home-plugin .oliva-v1261-mobile-top-actions a,
  .oliva-home-plugin .oliva-v1261-mobile-top-actions a:link,
  .oliva-home-plugin .oliva-v1261-mobile-top-actions a:visited {
    min-height: 50px !important;
    height: 50px !important;
    border-radius: 999px !important;
    letter-spacing: .14em !important;
    white-space: nowrap !important;
  }

  .oliva-home-plugin .oliva-v1261-mobile-top-actions a::before {
    flex: 0 0 10px !important;
    width: 10px !important;
    height: 10px !important;
    margin-right: 10px !important;
  }

  .oliva-home-plugin .oliva-v115-hero-copy {
    width: min(100% - 42px, 740px) !important;
    padding-top: clamp(112px, 25vw, 150px) !important;
    padding-bottom: 0 !important;
    margin-inline: auto !important;
    text-align: center !important;
    transform: translateY(-8px) !important;
  }

  .oliva-home-plugin .oliva-v115-hero-copy h1 {
    max-width: 11ch !important;
    margin: 0 auto 18px !important;
    font-size: clamp(42px, 12.7vw, 62px) !important;
    line-height: .95 !important;
  }

  .oliva-home-plugin .oliva-v122-cover-actions,
  .oliva-home-plugin .oliva-v122-hero-actions {
    width: min(100%, 560px) !important;
    margin: 14px auto 0 !important;
    gap: 9px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .oliva-home-plugin .oliva-v122-cover-actions a.oliva-home-button,
  .oliva-home-plugin .oliva-v122-hero-actions a.oliva-home-button,
  .oliva-home-plugin .oliva-v122-cover-actions a.oliva-home-button:link,
  .oliva-home-plugin .oliva-v122-hero-actions a.oliva-home-button:link,
  .oliva-home-plugin .oliva-v122-cover-actions a.oliva-home-button:visited,
  .oliva-home-plugin .oliva-v122-hero-actions a.oliva-home-button:visited {
    width: 100% !important;
    max-width: none !important;
    min-height: 50px !important;
    height: 50px !important;
    border-radius: 0 !important;
    font-size: 10.8px !important;
    letter-spacing: .13em !important;
    padding-inline: 12px !important;
  }

  .oliva-home-plugin .oliva-v122-cover-actions a.oliva-home-button-secondary,
  .oliva-home-plugin .oliva-v122-hero-actions a.oliva-home-button-secondary,
  .oliva-home-plugin .oliva-v122-cover-actions a.oliva-home-button-secondary:link,
  .oliva-home-plugin .oliva-v122-hero-actions a.oliva-home-button-secondary:link,
  .oliva-home-plugin .oliva-v122-cover-actions a.oliva-home-button-secondary:visited,
  .oliva-home-plugin .oliva-v122-hero-actions a.oliva-home-button-secondary:visited {
    background: rgba(6, 13, 7, .78) !important;
    color: #fff8ea !important;
    -webkit-text-fill-color: #fff8ea !important;
    border: 1px solid rgba(255,248,236,.34) !important;
    box-shadow: 0 12px 30px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.08) !important;
  }

  /* Sticky bottom bar: consistent, readable, not covering the last hero button. */
  .oliva-home-mobile-bar,
  .oliva-v115-mobile-bar {
    bottom: max(8px, env(safe-area-inset-bottom, 8px)) !important;
    width: min(calc(100% - 24px), 660px) !important;
    min-height: 72px !important;
    padding: 10px !important;
    gap: 8px !important;
    border-radius: 24px !important;
    background: rgba(4, 12, 6, .92) !important;
    border: 1px solid rgba(255,248,236,.16) !important;
  }

  .oliva-home-mobile-bar a,
  .oliva-v115-mobile-bar a,
  .oliva-home-mobile-bar a:link,
  .oliva-v115-mobile-bar a:link,
  .oliva-home-mobile-bar a:visited,
  .oliva-v115-mobile-bar a:visited {
    min-height: 52px !important;
    height: 52px !important;
    border-radius: 18px !important;
    font-size: 10.6px !important;
    letter-spacing: .085em !important;
    line-height: 1 !important;
  }

  .oliva-menu-plugin .oliva-menu-nav-wrap,
  .oliva-menu-plugin.oliva-v145-page .oliva-menu-nav-wrap,
  .oliva-wine-plugin .oliva-wine-nav-wrap,
  .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-nav-wrap {
    top: var(--oliva-mobile-subnav-top) !important;
    scroll-margin-top: calc(var(--oliva-mobile-subnav-top) + 72px) !important;
  }

  .oliva-menu-plugin section,
  .oliva-wine-plugin section {
    scroll-margin-top: calc(var(--oliva-mobile-subnav-top) + 88px) !important;
  }
}

@media (max-width: 430px) {
  body.oliva-canvas-body {
    --oliva-mobile-header-h: clamp(194px, 48vw, 222px) !important;
  }

  .oliva-plugin-header-inner {
    width: min(100% - 20px, 430px) !important;
    gap: 8px !important;
  }

  .oliva-plugin-header-brand strong {
    font-size: clamp(25px, 7vw, 33px) !important;
    letter-spacing: .048em !important;
  }

  .oliva-plugin-header-nav {
    gap: 6px clamp(10px, 2.9vw, 14px) !important;
    max-height: 42px !important;
  }

  .oliva-plugin-header-nav a,
  .oliva-plugin-header-nav a:link,
  .oliva-plugin-header-nav a:visited {
    font-size: clamp(8.6px, 2.1vw, 9.7px) !important;
    letter-spacing: .065em !important;
  }

  .oliva-plugin-header-actions {
    gap: 8px !important;
  }

  .oliva-plugin-header-phone,
  .oliva-plugin-header-cta {
    height: 44px !important;
    min-height: 44px !important;
    font-size: 10px !important;
    letter-spacing: .09em !important;
  }

  .oliva-home-plugin .oliva-v115-hero-home {
    padding-bottom: calc(var(--oliva-mobile-bottom-h) + 56px) !important;
  }

  .oliva-home-plugin .oliva-v1261-mobile-top-actions {
    width: calc(100% - 36px) !important;
    top: 18px !important;
    gap: 11px !important;
  }

  .oliva-home-plugin .oliva-v1261-mobile-top-actions a {
    min-height: 46px !important;
    height: 46px !important;
    font-size: 10px !important;
  }

  .oliva-home-plugin .oliva-v115-hero-copy {
    width: calc(100% - 40px) !important;
    padding-top: clamp(104px, 28vw, 132px) !important;
  }

  .oliva-home-plugin .oliva-v115-hero-copy h1 {
    font-size: clamp(40px, 12.5vw, 56px) !important;
    margin-bottom: 16px !important;
  }

  .oliva-home-plugin .oliva-v122-cover-actions a.oliva-home-button,
  .oliva-home-plugin .oliva-v122-hero-actions a.oliva-home-button {
    min-height: 48px !important;
    height: 48px !important;
    font-size: 10.4px !important;
  }
}

@media (max-width: 374px) {
  body.oliva-canvas-body {
    --oliva-mobile-header-h: 210px !important;
  }

  .oliva-plugin-header-brand strong {
    font-size: 24px !important;
  }

  .oliva-plugin-header-nav a,
  .oliva-plugin-header-nav a:link,
  .oliva-plugin-header-nav a:visited {
    font-size: 8.1px !important;
    letter-spacing: .045em !important;
  }

  .oliva-plugin-header-phone,
  .oliva-plugin-header-cta {
    height: 42px !important;
    min-height: 42px !important;
    font-size: 9.4px !important;
  }
}

/* v1.55.1 · Mobile Call / Maps exact spacing lock.
   Scope: home mobile hero only. Keeps the accepted header and hero, but locks the two quick-action pills to equal size, equal distance, and stable iPhone/Samsung webview rendering. */
@media (max-width: 820px) {
  .oliva-home-plugin .oliva-v1261-mobile-top-actions,
  body.oliva-canvas-body .oliva-home-plugin .oliva-v1261-mobile-top-actions {
    position: absolute !important;
    z-index: 8 !important;
    top: clamp(18px, 4.8vw, 26px) !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: min(calc(100% - 44px), 680px) !important;
    max-width: 680px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: clamp(14px, 4vw, 22px) !important;
    align-items: center !important;
    justify-items: stretch !important;
  }

  .oliva-home-plugin .oliva-v1261-mobile-top-actions a,
  .oliva-home-plugin .oliva-v1261-mobile-top-actions a:link,
  .oliva-home-plugin .oliva-v1261-mobile-top-actions a:visited,
  .oliva-home-plugin .oliva-v1261-mobile-top-actions a:hover,
  .oliva-home-plugin .oliva-v1261-mobile-top-actions a:active,
  .oliva-home-plugin .oliva-v1261-mobile-top-actions a:focus {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 52px !important;
    min-height: 52px !important;
    padding: 0 18px !important;
    border-radius: 999px !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: clip !important;
    color: #fff8ea !important;
    -webkit-text-fill-color: #fff8ea !important;
    background: rgba(4, 12, 6, .74) !important;
    border: 1px solid rgba(255, 248, 236, .32) !important;
    box-shadow: 0 14px 36px rgba(0, 0, 0, .24), inset 0 1px 0 rgba(255,255,255,.09) !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: .16em !important;
  }

  .oliva-home-plugin .oliva-v1261-mobile-top-actions a::before {
    content: "" !important;
    display: inline-block !important;
    flex: 0 0 10px !important;
    width: 10px !important;
    height: 10px !important;
    margin: 0 10px 0 0 !important;
    border-radius: 999px !important;
    background: #d7b66e !important;
    box-shadow: 0 0 0 8px rgba(215, 182, 110, .12) !important;
  }

  .oliva-home-plugin .oliva-v1261-mobile-top-actions span {
    display: inline-block !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    overflow: visible !important;
    color: #fff8ea !important;
    -webkit-text-fill-color: #fff8ea !important;
  }
}

@media (max-width: 430px) {
  .oliva-home-plugin .oliva-v1261-mobile-top-actions,
  body.oliva-canvas-body .oliva-home-plugin .oliva-v1261-mobile-top-actions {
    top: 18px !important;
    width: calc(100% - 36px) !important;
    gap: 12px !important;
  }

  .oliva-home-plugin .oliva-v1261-mobile-top-actions a,
  .oliva-home-plugin .oliva-v1261-mobile-top-actions a:link,
  .oliva-home-plugin .oliva-v1261-mobile-top-actions a:visited,
  .oliva-home-plugin .oliva-v1261-mobile-top-actions a:hover,
  .oliva-home-plugin .oliva-v1261-mobile-top-actions a:active,
  .oliva-home-plugin .oliva-v1261-mobile-top-actions a:focus {
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 12px !important;
    font-size: 10.4px !important;
    letter-spacing: .14em !important;
  }

  .oliva-home-plugin .oliva-v1261-mobile-top-actions a::before {
    flex-basis: 9px !important;
    width: 9px !important;
    height: 9px !important;
    margin-right: 9px !important;
    box-shadow: 0 0 0 7px rgba(215, 182, 110, .12) !important;
  }
}

@media (max-width: 360px) {
  .oliva-home-plugin .oliva-v1261-mobile-top-actions,
  body.oliva-canvas-body .oliva-home-plugin .oliva-v1261-mobile-top-actions {
    width: calc(100% - 28px) !important;
    gap: 8px !important;
  }

  .oliva-home-plugin .oliva-v1261-mobile-top-actions a,
  .oliva-home-plugin .oliva-v1261-mobile-top-actions a:link,
  .oliva-home-plugin .oliva-v1261-mobile-top-actions a:visited {
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 9px !important;
    font-size: 9.6px !important;
    letter-spacing: .12em !important;
  }
}

/* v1.55.4 · Mobile/tablet landscape stabilization.
   Scope: real devices rotated sideways. Keeps portrait locks intact, but compresses header, hero, sticky subnav and bottom quick bars on short landscape viewports. */
@media (orientation: landscape) and (max-width: 1180px) and (max-height: 620px) {
  html,
  body.oliva-canvas-body {
    overflow-x: hidden !important;
  }

  body.oliva-canvas-body {
    --oliva-mobile-header-h: clamp(58px, 11svh, 74px) !important;
    --oliva-mobile-subnav-top: calc(var(--oliva-mobile-header-h) - 1px) !important;
    --oliva-mobile-bottom-h: calc(48px + env(safe-area-inset-bottom, 0px)) !important;
    --oliva-mobile-bottom-bar-h: 48px !important;
    --oliva-mobile-bottom-gap: max(5px, env(safe-area-inset-bottom, 0px)) !important;
  }

  body.oliva-canvas-body .oliva-canvas-site {
    padding-top: var(--oliva-mobile-header-h) !important;
    padding-bottom: calc(var(--oliva-mobile-bottom-h) + 8px) !important;
    overflow-x: clip !important;
  }

  body.oliva-canvas-body .oliva-plugin-header,
  body.oliva-canvas-body .oliva-plugin-header-sticky,
  body.oliva-canvas-body .oliva-plugin-header-sticky:not(.oliva-plugin-chrome-preview),
  .oliva-plugin-header.oliva-plugin-header-sticky:not(.oliva-plugin-chrome-preview) {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    z-index: 2147483000 !important;
    min-height: var(--oliva-mobile-header-h) !important;
    height: var(--oliva-mobile-header-h) !important;
    overflow: visible !important;
    border-bottom: 1px solid rgba(255, 248, 236, .14) !important;
    background: rgba(8, 13, 7, .94) !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.08) !important;
    backdrop-filter: blur(16px) saturate(1.08) !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .24) !important;
    transform: translate3d(0, 0, 0) !important;
  }

  body.admin-bar.oliva-canvas-body .oliva-plugin-header,
  body.admin-bar.oliva-canvas-body .oliva-plugin-header-sticky {
    top: 0 !important;
  }

  .oliva-plugin-header-inner,
  body.oliva-canvas-body .oliva-plugin-header-inner {
    width: min(calc(100% - 18px), 1180px) !important;
    min-height: var(--oliva-mobile-header-h) !important;
    height: var(--oliva-mobile-header-h) !important;
    margin-inline: auto !important;
    padding: 6px 0 !important;
    display: grid !important;
    grid-template-columns: minmax(118px, .42fr) minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: clamp(6px, 1.4vw, 12px) !important;
    text-align: left !important;
  }

  .oliva-plugin-header-brand {
    min-width: 0 !important;
    overflow: hidden !important;
  }

  .oliva-plugin-header-brand strong,
  body.oliva-canvas-body .oliva-plugin-header-brand strong {
    display: block !important;
    max-width: 100% !important;
    overflow: hidden !important;
    color: #fff8ea !important;
    -webkit-text-fill-color: #fff8ea !important;
    font-size: clamp(16px, 2.2vw, 22px) !important;
    line-height: 1 !important;
    letter-spacing: .035em !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .oliva-plugin-header-brand span,
  body.oliva-canvas-body .oliva-plugin-header-brand span {
    display: none !important;
  }

  .oliva-plugin-header-nav,
  body.oliva-canvas-body .oliva-plugin-header-nav {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 6px !important;
    max-height: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 2px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    white-space: nowrap !important;
    mask-image: none !important;
    -webkit-mask-image: none !important;
  }

  .oliva-plugin-header-nav::-webkit-scrollbar {
    display: none !important;
  }

  .oliva-plugin-header-nav a,
  .oliva-plugin-header-nav a:link,
  .oliva-plugin-header-nav a:visited,
  .oliva-plugin-header-nav a:hover,
  .oliva-plugin-header-nav a:active,
  .oliva-plugin-header-nav a:focus,
  body.oliva-canvas-body .oliva-plugin-header-nav a {
    flex: 0 0 auto !important;
    min-width: max-content !important;
    min-height: 30px !important;
    height: 30px !important;
    padding: 0 9px !important;
    border: 1px solid rgba(255, 248, 236, .12) !important;
    border-radius: 999px !important;
    background: rgba(255, 248, 236, .055) !important;
    color: rgba(255, 248, 236, .86) !important;
    -webkit-text-fill-color: rgba(255, 248, 236, .86) !important;
    font-size: clamp(8.2px, 1.25vw, 9.6px) !important;
    font-weight: 950 !important;
    letter-spacing: .06em !important;
    line-height: 1 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
  }

  .oliva-plugin-header-actions,
  body.oliva-canvas-body .oliva-plugin-header-actions {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 6px !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  .oliva-plugin-header-phone,
  body.oliva-canvas-body .oliva-plugin-header-phone {
    display: none !important;
  }

  .oliva-plugin-header-cta,
  .oliva-plugin-header-cta:link,
  .oliva-plugin-header-cta:visited,
  body.oliva-canvas-body .oliva-plugin-header-cta {
    width: auto !important;
    min-width: max-content !important;
    min-height: 32px !important;
    height: 32px !important;
    padding: 0 11px !important;
    border-radius: 999px !important;
    font-size: clamp(8.4px, 1.25vw, 9.6px) !important;
    letter-spacing: .07em !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    box-shadow: none !important;
  }

  .oliva-plugin-site-header-inner {
    min-height: var(--oliva-mobile-header-h) !important;
    padding: 6px 0 !important;
    grid-template-columns: minmax(118px, .42fr) minmax(0, 1fr) auto !important;
    gap: 8px !important;
    text-align: left !important;
  }

  .oliva-plugin-site-brand span {
    font-size: clamp(16px, 2.2vw, 22px) !important;
    white-space: nowrap !important;
  }

  .oliva-plugin-site-brand em {
    display: none !important;
  }

  .oliva-plugin-site-nav {
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    gap: 6px !important;
    scrollbar-width: none !important;
  }

  .oliva-plugin-site-nav::-webkit-scrollbar {
    display: none !important;
  }

  .oliva-plugin-site-nav a {
    flex: 0 0 auto !important;
    min-height: 30px !important;
    padding: 0 8px !important;
    font-size: 9px !important;
    white-space: nowrap !important;
  }

  .oliva-plugin-site-actions a:not(.oliva-plugin-site-reserve) {
    display: none !important;
  }

  .oliva-plugin-site-reserve {
    min-height: 32px !important;
    padding: 0 11px !important;
    font-size: 9px !important;
  }

  .oliva-v115-page .oliva-v115-hero,
  .oliva-v115-page .oliva-v115-hero-home,
  .oliva-home-plugin .oliva-v115-hero-home,
  .oliva-home-v123 .oliva-v115-hero-home,
  .oliva-home-v122 .oliva-v115-hero-home {
    min-height: calc(100svh - var(--oliva-mobile-header-h)) !important;
    min-height: calc(100dvh - var(--oliva-mobile-header-h)) !important;
    padding-top: 18px !important;
    padding-bottom: calc(var(--oliva-mobile-bottom-h) + 18px) !important;
    display: grid !important;
    align-items: center !important;
    border-radius: 0 !important;
  }

  .oliva-home-plugin .oliva-v1261-mobile-top-actions,
  body.oliva-canvas-body .oliva-home-plugin .oliva-v1261-mobile-top-actions,
  .oliva-home-v123 .oliva-v1261-mobile-top-actions,
  .oliva-home-v122 .oliva-v1261-mobile-top-actions {
    display: none !important;
  }

  .oliva-v115-page .oliva-v115-hero-copy,
  .oliva-home-plugin .oliva-v115-hero-copy,
  .oliva-home-v123 .oliva-v115-hero-copy,
  .oliva-home-v122 .oliva-v115-hero-copy {
    width: min(calc(100% - 28px), 900px) !important;
    max-width: 900px !important;
    margin-inline: auto !important;
    padding: 0 !important;
    text-align: left !important;
    transform: none !important;
  }

  .oliva-v115-page .oliva-v115-eyebrow,
  .oliva-v115-page .oliva-v115-kicker {
    margin-bottom: 7px !important;
    font-size: clamp(8.2px, 1.25vw, 9.8px) !important;
    letter-spacing: .13em !important;
  }

  .oliva-v115-page h1,
  .oliva-home-plugin .oliva-v115-hero-copy h1,
  .oliva-home-v123 .oliva-v115-hero-copy h1,
  .oliva-home-v122 .oliva-v115-hero-copy h1 {
    max-width: 16ch !important;
    margin: 0 0 9px !important;
    font-size: clamp(30px, 5.3vw, 50px) !important;
    line-height: .96 !important;
    letter-spacing: -.042em !important;
    text-align: left !important;
  }

  .oliva-v115-page .oliva-v115-lead,
  .oliva-home-plugin .oliva-v115-lead {
    max-width: 44em !important;
    margin: 0 0 11px !important;
    font-size: clamp(13px, 1.9vw, 16px) !important;
    line-height: 1.38 !important;
  }

  .oliva-v115-page .oliva-v115-actions,
  .oliva-home-plugin .oliva-v122-cover-actions,
  .oliva-home-plugin .oliva-v122-hero-actions,
  .oliva-home-v123 .oliva-v122-cover-actions,
  .oliva-home-v122 .oliva-v122-cover-actions {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: min(100%, 680px) !important;
    max-width: 680px !important;
    margin: 0 !important;
    gap: 8px !important;
  }

  .oliva-v115-page :is(.oliva-home-button,.oliva-reservation-button,.oliva-tour-button,.oliva-about-button,.oliva-contact-button),
  .oliva-home-plugin .oliva-v122-cover-actions a.oliva-home-button,
  .oliva-home-plugin .oliva-v122-hero-actions a.oliva-home-button,
  .oliva-home-v123 .oliva-v122-cover-actions a.oliva-home-button,
  .oliva-home-v122 .oliva-v122-cover-actions a.oliva-home-button {
    flex: 0 1 auto !important;
    width: auto !important;
    min-width: min(220px, 48%) !important;
    max-width: 100% !important;
    min-height: 38px !important;
    height: 38px !important;
    padding: 0 13px !important;
    border-radius: 999px !important;
    font-size: clamp(8.4px, 1.25vw, 9.8px) !important;
    letter-spacing: .075em !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  .oliva-home-plugin .oliva-v115-facts,
  .oliva-home-v123 .oliva-v115-facts,
  .oliva-home-v122 .oliva-v115-facts {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin-top: 10px !important;
  }

  .oliva-home-plugin .oliva-v115-facts > *,
  .oliva-home-v123 .oliva-v115-facts > *,
  .oliva-home-v122 .oliva-v115-facts > * {
    min-height: 28px !important;
    padding: 0 9px !important;
    font-size: 8.6px !important;
    letter-spacing: .06em !important;
  }

  .oliva-home-plugin .oliva-v122-scroll-cue,
  .oliva-home-v123 .oliva-v122-scroll-cue,
  .oliva-home-v122 .oliva-v122-scroll-cue {
    display: none !important;
  }

  .oliva-v115-main,
  .oliva-v116-page .oliva-v115-main,
  .oliva-home-plugin .oliva-v115-main {
    padding-top: 28px !important;
    padding-bottom: calc(var(--oliva-mobile-bottom-h) + 30px) !important;
  }

  .oliva-v115-section,
  .oliva-v116-page .oliva-v115-section {
    margin-bottom: 34px !important;
  }

  .oliva-v115-split,
  .oliva-v115-split-reverse,
  .oliva-v115-booking-grid,
  .oliva-v115-info-grid,
  .oliva-v115-section.oliva-v115-info-grid.oliva-v115-three,
  .oliva-v116-page .oliva-v115-info-grid,
  .oliva-v116-page .oliva-v115-section.oliva-v115-info-grid.oliva-v115-three {
    grid-template-columns: 1fr !important;
  }

  .oliva-v115-image,
  .oliva-v115-image-tall,
  .oliva-v115-image-wide,
  .oliva-v115-booking-card .oliva-v115-image,
  .oliva-v115-image-rail .oliva-v115-image,
  .oliva-v115-mosaic .oliva-v115-image,
  .oliva-v116-page .oliva-v115-image,
  .oliva-v116-page .oliva-v115-image-tall,
  .oliva-v116-page .oliva-v115-image-wide,
  .oliva-v116-page .oliva-v115-booking-card .oliva-v115-image,
  .oliva-v116-page .oliva-v115-image-rail .oliva-v115-image,
  .oliva-v116-page .oliva-v115-mosaic .oliva-v115-image {
    min-height: clamp(170px, 34svh, 260px) !important;
    border-radius: 20px !important;
  }

  .oliva-v115-embed-card,
  .oliva-v115-embed-card iframe,
  .oliva-v115-embed-card > iframe,
  .oliva-v116-page .oliva-v115-embed-card,
  .oliva-v116-page .oliva-v115-embed-card iframe,
  .oliva-v116-page .oliva-v115-embed-card > iframe {
    min-height: clamp(240px, 58svh, 360px) !important;
  }

  .oliva-home-mobile-bar,
  .oliva-v115-mobile-bar,
  .oliva-reservation-mobile-bar,
  .oliva-tour-mobile-bar,
  .oliva-about-mobile-bar,
  .oliva-contact-mobile-bar {
    position: fixed !important;
    right: max(8px, env(safe-area-inset-right, 0px)) !important;
    bottom: max(5px, env(safe-area-inset-bottom, 0px)) !important;
    left: max(8px, env(safe-area-inset-left, 0px)) !important;
    z-index: 2147482900 !important;
    width: min(calc(100% - 16px), 760px) !important;
    max-width: 760px !important;
    min-height: 44px !important;
    margin-inline: auto !important;
    padding: 5px !important;
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(0, 1fr) !important;
    grid-template-columns: none !important;
    gap: 5px !important;
    border-radius: 18px !important;
    background: rgba(4, 12, 6, .94) !important;
    border: 1px solid rgba(255, 248, 236, .16) !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .32) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.08) !important;
    backdrop-filter: blur(14px) saturate(1.08) !important;
  }

  .oliva-home-mobile-bar a,
  .oliva-v115-mobile-bar a,
  .oliva-reservation-mobile-bar a,
  .oliva-tour-mobile-bar a,
  .oliva-about-mobile-bar a,
  .oliva-contact-mobile-bar a,
  .oliva-home-mobile-bar a:link,
  .oliva-v115-mobile-bar a:link,
  .oliva-home-mobile-bar a:visited,
  .oliva-v115-mobile-bar a:visited {
    min-width: 0 !important;
    min-height: 34px !important;
    height: 34px !important;
    padding: 0 5px !important;
    border-radius: 14px !important;
    font-size: clamp(7.6px, 1.2vw, 9px) !important;
    letter-spacing: .035em !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .oliva-menu-plugin.oliva-menu-full-width,
  .oliva-wine-plugin.oliva-wine-full-width,
  body.oliva-canvas-body .oliva-menu-plugin,
  body.oliva-canvas-body .oliva-wine-plugin {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 14px !important;
  }

  .oliva-menu-plugin .oliva-menu-content,
  .oliva-menu-plugin.oliva-v145-page .oliva-menu-content,
  .oliva-wine-plugin .oliva-wine-content,
  .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-content {
    padding: 14px !important;
    border-radius: 20px !important;
  }

  .oliva-menu-plugin .oliva-menu-hero-block,
  .oliva-menu-plugin.oliva-v145-page .oliva-menu-hero-block,
  .oliva-wine-plugin .oliva-wine-hero-block {
    display: block !important;
    padding: 10px 0 14px !important;
  }

  .oliva-menu-plugin .oliva-menu-hero-media,
  .oliva-menu-plugin.oliva-v145-page .oliva-menu-hero-media,
  .oliva-wine-plugin .oliva-wine-hero-media {
    display: none !important;
  }

  .oliva-menu-plugin .oliva-menu-hero-block .oliva-menu-title,
  .oliva-menu-plugin .oliva-menu-hero-block .oliva-menu-title-main,
  .oliva-menu-plugin.oliva-v145-page .oliva-menu-hero-block .oliva-menu-title,
  .oliva-menu-plugin.oliva-v145-page .oliva-menu-hero-block .oliva-menu-title-main {
    font-size: clamp(30px, 5.5vw, 46px) !important;
    line-height: .98 !important;
    letter-spacing: -.035em !important;
  }

  .oliva-menu-plugin .oliva-menu-hero-block .oliva-menu-title-sub,
  .oliva-menu-plugin.oliva-v145-page .oliva-menu-hero-block .oliva-menu-title-sub {
    margin-top: 4px !important;
    font-size: clamp(18px, 3vw, 26px) !important;
    line-height: 1 !important;
  }

  .oliva-menu-plugin .oliva-menu-hero-block .oliva-menu-intro,
  .oliva-menu-plugin .oliva-menu-hero-block .oliva-menu-note,
  .oliva-wine-plugin .oliva-wine-intro,
  .oliva-wine-plugin .oliva-wine-note {
    max-width: 64em !important;
    font-size: clamp(12.5px, 1.6vw, 15px) !important;
    line-height: 1.38 !important;
  }

  .oliva-wine-plugin .oliva-wine-title,
  .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-title {
    font-size: clamp(32px, 5.6vw, 52px) !important;
    line-height: .96 !important;
  }

  body.oliva-canvas-body .oliva-menu-plugin .oliva-menu-nav-wrap,
  body.oliva-canvas-body .oliva-menu-plugin.oliva-v145-page .oliva-menu-nav-wrap,
  body.oliva-canvas-body .oliva-wine-plugin .oliva-wine-nav-wrap,
  body.oliva-canvas-body .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-nav-wrap {
    position: sticky !important;
    top: var(--oliva-mobile-subnav-top) !important;
    z-index: 2147482600 !important;
    margin: 0 -14px 16px !important;
    padding: 6px 10px !important;
    overflow: hidden !important;
    background: rgba(255, 248, 236, .97) !important;
    border-top: 1px solid rgba(27, 40, 21, .08) !important;
    border-bottom: 1px solid rgba(27, 40, 21, .14) !important;
    box-shadow: 0 10px 24px rgba(18, 24, 12, .08) !important;
  }

  .oliva-menu-plugin .oliva-menu-nav-label,
  .oliva-wine-plugin .oliva-wine-nav-label {
    display: none !important;
  }

  .oliva-menu-plugin .oliva-menu-nav,
  .oliva-menu-plugin.oliva-v145-page .oliva-menu-nav,
  .oliva-wine-plugin .oliva-wine-nav,
  .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-nav {
    gap: 6px !important;
    padding: 3px 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    scrollbar-width: none !important;
  }

  .oliva-menu-plugin .oliva-menu-nav::-webkit-scrollbar,
  .oliva-wine-plugin .oliva-wine-nav::-webkit-scrollbar {
    display: none !important;
  }

  .oliva-menu-plugin .oliva-menu-nav a,
  .oliva-menu-plugin.oliva-v145-page .oliva-menu-nav a,
  .oliva-wine-plugin .oliva-wine-nav a,
  .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-nav a {
    flex: 0 0 auto !important;
    min-width: max-content !important;
    height: 30px !important;
    min-height: 30px !important;
    padding: 0 10px !important;
    font-size: clamp(8px, 1.12vw, 9.3px) !important;
    letter-spacing: .045em !important;
    line-height: 1 !important;
  }

  .oliva-menu-plugin .oliva-menu-section,
  .oliva-menu-plugin.oliva-v145-page .oliva-menu-section,
  .oliva-wine-plugin .oliva-wine-section,
  .oliva-v115-page .oliva-v115-section {
    scroll-margin-top: calc(var(--oliva-mobile-subnav-top) + 48px) !important;
  }
}

@media (orientation: landscape) and (max-width: 940px) and (max-height: 430px) {
  body.oliva-canvas-body {
    --oliva-mobile-header-h: clamp(54px, 13svh, 64px) !important;
    --oliva-mobile-bottom-h: calc(42px + env(safe-area-inset-bottom, 0px)) !important;
    --oliva-mobile-bottom-bar-h: 42px !important;
  }

  .oliva-plugin-header-inner,
  body.oliva-canvas-body .oliva-plugin-header-inner {
    width: min(calc(100% - 14px), 940px) !important;
    grid-template-columns: minmax(98px, .34fr) minmax(0, 1fr) auto !important;
    gap: 5px !important;
    padding-block: 5px !important;
  }

  .oliva-plugin-header-brand strong,
  body.oliva-canvas-body .oliva-plugin-header-brand strong {
    font-size: clamp(14px, 2.5vw, 18px) !important;
    letter-spacing: .025em !important;
  }

  .oliva-plugin-header-nav,
  body.oliva-canvas-body .oliva-plugin-header-nav {
    gap: 5px !important;
  }

  .oliva-plugin-header-nav a,
  .oliva-plugin-header-nav a:link,
  .oliva-plugin-header-nav a:visited,
  body.oliva-canvas-body .oliva-plugin-header-nav a {
    height: 28px !important;
    min-height: 28px !important;
    padding: 0 7px !important;
    font-size: 7.9px !important;
    letter-spacing: .04em !important;
  }

  .oliva-plugin-header-cta,
  body.oliva-canvas-body .oliva-plugin-header-cta {
    height: 30px !important;
    min-height: 30px !important;
    padding: 0 9px !important;
    font-size: 8px !important;
    letter-spacing: .045em !important;
  }

  .oliva-v115-page .oliva-v115-hero,
  .oliva-v115-page .oliva-v115-hero-home,
  .oliva-home-plugin .oliva-v115-hero-home {
    padding-top: 12px !important;
    padding-bottom: calc(var(--oliva-mobile-bottom-h) + 12px) !important;
  }

  .oliva-v115-page .oliva-v115-eyebrow,
  .oliva-v115-page .oliva-v115-kicker,
  .oliva-home-plugin .oliva-v115-facts,
  .oliva-home-v123 .oliva-v115-facts,
  .oliva-home-v122 .oliva-v115-facts,
  .oliva-v115-page .oliva-v115-founded {
    display: none !important;
  }

  .oliva-v115-page h1,
  .oliva-home-plugin .oliva-v115-hero-copy h1,
  .oliva-home-v123 .oliva-v115-hero-copy h1,
  .oliva-home-v122 .oliva-v115-hero-copy h1 {
    max-width: 20ch !important;
    margin-bottom: 7px !important;
    font-size: clamp(28px, 5.1vw, 42px) !important;
    line-height: .96 !important;
  }

  .oliva-v115-page .oliva-v115-lead,
  .oliva-home-plugin .oliva-v115-lead {
    max-width: 54em !important;
    margin-bottom: 9px !important;
    font-size: clamp(12px, 1.65vw, 14px) !important;
    line-height: 1.28 !important;
  }

  .oliva-v115-page :is(.oliva-home-button,.oliva-reservation-button,.oliva-tour-button,.oliva-about-button,.oliva-contact-button),
  .oliva-home-plugin .oliva-v122-cover-actions a.oliva-home-button,
  .oliva-home-plugin .oliva-v122-hero-actions a.oliva-home-button {
    min-width: 0 !important;
    min-height: 34px !important;
    height: 34px !important;
    padding-inline: 10px !important;
    font-size: 8px !important;
    letter-spacing: .05em !important;
  }

  .oliva-home-mobile-bar,
  .oliva-v115-mobile-bar,
  .oliva-reservation-mobile-bar,
  .oliva-tour-mobile-bar,
  .oliva-about-mobile-bar,
  .oliva-contact-mobile-bar {
    min-height: 38px !important;
    padding: 4px !important;
    gap: 4px !important;
    border-radius: 15px !important;
  }

  .oliva-home-mobile-bar a,
  .oliva-v115-mobile-bar a,
  .oliva-reservation-mobile-bar a,
  .oliva-tour-mobile-bar a,
  .oliva-about-mobile-bar a,
  .oliva-contact-mobile-bar a {
    min-height: 30px !important;
    height: 30px !important;
    border-radius: 12px !important;
    font-size: 7.2px !important;
    letter-spacing: .02em !important;
  }

  .oliva-menu-plugin .oliva-menu-hero-block .oliva-menu-intro,
  .oliva-menu-plugin .oliva-menu-hero-block .oliva-menu-note,
  .oliva-wine-plugin .oliva-wine-intro,
  .oliva-wine-plugin .oliva-wine-note {
    display: none !important;
  }

  .oliva-menu-plugin .oliva-menu-hero-block .oliva-menu-title,
  .oliva-menu-plugin .oliva-menu-hero-block .oliva-menu-title-main,
  .oliva-wine-plugin .oliva-wine-title {
    font-size: clamp(28px, 5.2vw, 42px) !important;
  }
}

/* v1.55.4 · Landscape final cascade lock.
   Runs after all portrait/mobile packs so sideways phones and tablets do not inherit the tall stacked portrait header. */
@media (orientation: landscape) and (max-width: 1180px) and (max-height: 900px) {
  body.oliva-canvas-body {
    --oliva-mobile-header-h: clamp(60px, 8svh, 78px) !important;
    --oliva-mobile-subnav-top: calc(var(--oliva-mobile-header-h) - 1px) !important;
    --oliva-mobile-bottom-h: calc(48px + env(safe-area-inset-bottom, 0px)) !important;
    --oliva-mobile-bottom-bar-h: 48px !important;
    overflow-x: hidden !important;
  }

  body.oliva-canvas-body .oliva-canvas-site {
    padding-top: var(--oliva-mobile-header-h) !important;
    padding-bottom: calc(var(--oliva-mobile-bottom-h) + 8px) !important;
    overflow-x: clip !important;
  }

  body.oliva-canvas-body .oliva-plugin-header,
  body.oliva-canvas-body .oliva-plugin-header-sticky,
  body.oliva-canvas-body .oliva-plugin-header-sticky:not(.oliva-plugin-chrome-preview),
  body.oliva-canvas-body .oliva-plugin-header.oliva-plugin-header-sticky:not(.oliva-plugin-chrome-preview) {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    min-height: var(--oliva-mobile-header-h) !important;
    height: var(--oliva-mobile-header-h) !important;
    z-index: 2147483000 !important;
    overflow: visible !important;
    transform: translate3d(0,0,0) !important;
  }

  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-inner {
    width: min(calc(100% - 18px), 1180px) !important;
    height: var(--oliva-mobile-header-h) !important;
    min-height: var(--oliva-mobile-header-h) !important;
    margin-inline: auto !important;
    padding: 6px 0 !important;
    display: grid !important;
    grid-template-columns: minmax(124px, .38fr) minmax(0, 1fr) auto !important;
    grid-template-rows: 1fr !important;
    grid-template-areas: "brand nav actions" !important;
    align-items: center !important;
    align-content: center !important;
    justify-content: normal !important;
    gap: clamp(6px, 1.25vw, 14px) !important;
    overflow: visible !important;
    text-align: left !important;
    box-sizing: border-box !important;
  }

  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-brand {
    grid-area: brand !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    order: 0 !important;
    align-self: center !important;
    justify-self: stretch !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    overflow: hidden !important;
    text-align: left !important;
    transform: none !important;
  }

  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-brand strong {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    font-size: clamp(16px, 1.9vw, 22px) !important;
    line-height: 1.02 !important;
    letter-spacing: .025em !important;
    white-space: nowrap !important;
    text-align: left !important;
    text-overflow: ellipsis !important;
    transform: none !important;
  }

  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-brand span {
    display: none !important;
  }

  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-nav {
    grid-area: nav !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    order: 0 !important;
    position: static !important;
    inset: auto !important;
    align-self: center !important;
    justify-self: stretch !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 2px !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    white-space: nowrap !important;
    scrollbar-width: none !important;
    scroll-snap-type: none !important;
    mask-image: none !important;
    -webkit-mask-image: none !important;
    transform: none !important;
  }

  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-nav::-webkit-scrollbar {
    display: none !important;
  }

  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-nav a,
  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-nav a:link,
  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-nav a:visited,
  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-nav a:hover,
  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-nav a:active,
  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-nav a:focus {
    flex: 0 0 auto !important;
    min-width: max-content !important;
    width: auto !important;
    min-height: 30px !important;
    height: 30px !important;
    padding: 0 9px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    font-size: clamp(8px, 1.05vw, 9.8px) !important;
    letter-spacing: .055em !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-actions {
    grid-area: actions !important;
    grid-column: 3 !important;
    grid-row: 1 !important;
    order: 0 !important;
    align-self: center !important;
    justify-self: end !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    grid-template-columns: none !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    overflow: visible !important;
  }

  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-phone,
  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-phone:link,
  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-phone:visited {
    display: none !important;
  }

  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-cta,
  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-cta:link,
  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-cta:visited,
  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-cta:hover,
  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-cta:active,
  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-cta:focus {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: max-content !important;
    min-height: 32px !important;
    height: 32px !important;
    padding: 0 11px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    font-size: clamp(8px, 1vw, 9.8px) !important;
    letter-spacing: .06em !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    text-align: center !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.oliva-canvas-body .oliva-v115-page .oliva-v115-hero,
  body.oliva-canvas-body .oliva-v115-page .oliva-v115-hero-home,
  body.oliva-canvas-body .oliva-home-plugin .oliva-v115-hero-home,
  body.oliva-canvas-body .oliva-home-v123 .oliva-v115-hero-home,
  body.oliva-canvas-body .oliva-home-v122 .oliva-v115-hero-home {
    min-height: calc(100svh - var(--oliva-mobile-header-h)) !important;
    min-height: calc(100dvh - var(--oliva-mobile-header-h)) !important;
    padding-top: 18px !important;
    padding-bottom: calc(var(--oliva-mobile-bottom-h) + 18px) !important;
    align-items: center !important;
  }

  body.oliva-canvas-body .oliva-home-plugin .oliva-v1261-mobile-top-actions,
  body.oliva-canvas-body .oliva-home-v123 .oliva-v1261-mobile-top-actions,
  body.oliva-canvas-body .oliva-home-v122 .oliva-v1261-mobile-top-actions {
    display: none !important;
  }

  body.oliva-canvas-body .oliva-v115-page .oliva-v115-hero-copy,
  body.oliva-canvas-body .oliva-home-plugin .oliva-v115-hero-copy,
  body.oliva-canvas-body .oliva-home-v123 .oliva-v115-hero-copy,
  body.oliva-canvas-body .oliva-home-v122 .oliva-v115-hero-copy {
    width: min(calc(100% - 28px), 900px) !important;
    max-width: 900px !important;
    margin-inline: auto !important;
    padding: 0 !important;
    text-align: left !important;
    transform: none !important;
  }

  body.oliva-canvas-body .oliva-v115-page h1,
  body.oliva-canvas-body .oliva-home-plugin .oliva-v115-hero-copy h1,
  body.oliva-canvas-body .oliva-home-v123 .oliva-v115-hero-copy h1,
  body.oliva-canvas-body .oliva-home-v122 .oliva-v115-hero-copy h1 {
    max-width: 20ch !important;
    margin: 0 0 9px !important;
    font-size: clamp(32px, 4.2vw, 54px) !important;
    line-height: .96 !important;
    text-align: left !important;
  }

  body.oliva-canvas-body .oliva-v115-page .oliva-v115-lead,
  body.oliva-canvas-body .oliva-home-plugin .oliva-v115-lead {
    max-width: 54em !important;
    margin: 0 0 11px !important;
    font-size: clamp(13px, 1.45vw, 16px) !important;
    line-height: 1.36 !important;
  }

  body.oliva-canvas-body .oliva-v115-page .oliva-v115-actions,
  body.oliva-canvas-body .oliva-home-plugin .oliva-v122-cover-actions,
  body.oliva-canvas-body .oliva-home-plugin .oliva-v122-hero-actions,
  body.oliva-canvas-body .oliva-home-v123 .oliva-v122-cover-actions,
  body.oliva-canvas-body .oliva-home-v122 .oliva-v122-cover-actions {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: min(100%, 760px) !important;
    max-width: 760px !important;
    margin: 0 !important;
    gap: 8px !important;
  }

  body.oliva-canvas-body .oliva-v115-page :is(.oliva-home-button,.oliva-reservation-button,.oliva-tour-button,.oliva-about-button,.oliva-contact-button),
  body.oliva-canvas-body .oliva-home-plugin .oliva-v122-cover-actions a.oliva-home-button,
  body.oliva-canvas-body .oliva-home-plugin .oliva-v122-hero-actions a.oliva-home-button,
  body.oliva-canvas-body .oliva-home-v123 .oliva-v122-cover-actions a.oliva-home-button,
  body.oliva-canvas-body .oliva-home-v122 .oliva-v122-cover-actions a.oliva-home-button {
    flex: 0 1 auto !important;
    width: auto !important;
    min-width: min(220px, 48%) !important;
    max-width: 100% !important;
    min-height: 38px !important;
    height: 38px !important;
    padding: 0 13px !important;
    border-radius: 999px !important;
    font-size: clamp(8px, 1.05vw, 10px) !important;
    letter-spacing: .065em !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  body.oliva-canvas-body .oliva-menu-plugin .oliva-menu-nav-wrap,
  body.oliva-canvas-body .oliva-menu-plugin.oliva-v145-page .oliva-menu-nav-wrap,
  body.oliva-canvas-body .oliva-wine-plugin .oliva-wine-nav-wrap,
  body.oliva-canvas-body .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-nav-wrap {
    top: var(--oliva-mobile-subnav-top) !important;
    margin-top: 0 !important;
    padding: 6px 10px !important;
    transform: none !important;
  }

  body.oliva-canvas-body .oliva-home-plugin .oliva-home-mobile-bar,
  body.oliva-canvas-body .oliva-home-plugin .oliva-v115-mobile-bar,
  body.oliva-canvas-body .oliva-v115-mobile-bar,
  body.oliva-canvas-body .oliva-reservation-mobile-bar,
  body.oliva-canvas-body .oliva-tour-mobile-bar,
  body.oliva-canvas-body .oliva-about-mobile-bar,
  body.oliva-canvas-body .oliva-contact-mobile-bar {
    position: fixed !important;
    left: max(8px, env(safe-area-inset-left, 0px)) !important;
    right: max(8px, env(safe-area-inset-right, 0px)) !important;
    bottom: max(5px, env(safe-area-inset-bottom, 0px)) !important;
    width: min(calc(100% - 16px), 760px) !important;
    max-width: 760px !important;
    min-height: 44px !important;
    height: 44px !important;
    max-height: 44px !important;
    margin-inline: auto !important;
    padding: 5px !important;
    gap: 5px !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(0, 1fr) !important;
    align-items: stretch !important;
    overflow: hidden !important;
    border-radius: 18px !important;
    box-sizing: border-box !important;
  }

  body.oliva-canvas-body .oliva-home-plugin .oliva-home-mobile-bar a,
  body.oliva-canvas-body .oliva-home-plugin .oliva-home-mobile-bar a:link,
  body.oliva-canvas-body .oliva-home-plugin .oliva-home-mobile-bar a:visited,
  body.oliva-canvas-body .oliva-home-plugin .oliva-home-mobile-bar a:hover,
  body.oliva-canvas-body .oliva-home-plugin .oliva-home-mobile-bar a:active,
  body.oliva-canvas-body .oliva-home-plugin .oliva-home-mobile-bar a:focus,
  body.oliva-canvas-body .oliva-home-plugin .oliva-v115-mobile-bar a,
  body.oliva-canvas-body .oliva-home-plugin .oliva-v115-mobile-bar a:link,
  body.oliva-canvas-body .oliva-home-plugin .oliva-v115-mobile-bar a:visited,
  body.oliva-canvas-body .oliva-home-plugin .oliva-v115-mobile-bar a:hover,
  body.oliva-canvas-body .oliva-home-plugin .oliva-v115-mobile-bar a:active,
  body.oliva-canvas-body .oliva-home-plugin .oliva-v115-mobile-bar a:focus,
  body.oliva-canvas-body .oliva-v115-mobile-bar a,
  body.oliva-canvas-body .oliva-reservation-mobile-bar a,
  body.oliva-canvas-body .oliva-tour-mobile-bar a,
  body.oliva-canvas-body .oliva-about-mobile-bar a,
  body.oliva-canvas-body .oliva-contact-mobile-bar a {
    min-width: 0 !important;
    min-height: 34px !important;
    height: 34px !important;
    max-height: 34px !important;
    padding: 0 5px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 14px !important;
    font-size: clamp(7.4px, 1vw, 9px) !important;
    letter-spacing: .035em !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    box-sizing: border-box !important;
  }
}

@media (orientation: landscape) and (max-width: 760px) and (max-height: 430px) {
  body.oliva-canvas-body {
    --oliva-mobile-header-h: clamp(52px, 13svh, 56px) !important;
    --oliva-mobile-bottom-h: calc(38px + env(safe-area-inset-bottom, 0px)) !important;
    --oliva-mobile-bottom-bar-h: 38px !important;
  }

  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-inner {
    width: min(calc(100% - 14px), 760px) !important;
    grid-template-columns: minmax(112px, .34fr) minmax(0, 1fr) auto !important;
    gap: 5px !important;
    padding-block: 5px !important;
  }

  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-brand strong {
    font-size: clamp(14px, 2.35vw, 17px) !important;
    letter-spacing: .015em !important;
  }

  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-nav {
    gap: 5px !important;
  }

  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-nav a,
  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-nav a:link,
  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-nav a:visited,
  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-nav a:hover,
  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-nav a:active,
  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-nav a:focus {
    min-height: 28px !important;
    height: 28px !important;
    padding-inline: 7px !important;
    font-size: 7.8px !important;
    letter-spacing: .035em !important;
  }

  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-cta,
  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-cta:link,
  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-cta:visited,
  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-cta:hover,
  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-cta:active,
  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-cta:focus {
    min-height: 28px !important;
    height: 28px !important;
    padding-inline: 9px !important;
    font-size: 7.8px !important;
    letter-spacing: .035em !important;
  }

  body.oliva-canvas-body .oliva-v115-page .oliva-v115-eyebrow,
  body.oliva-canvas-body .oliva-v115-page .oliva-v115-kicker,
  body.oliva-canvas-body .oliva-home-plugin .oliva-v115-facts,
  body.oliva-canvas-body .oliva-home-v123 .oliva-v115-facts,
  body.oliva-canvas-body .oliva-home-v122 .oliva-v115-facts,
  body.oliva-canvas-body .oliva-v115-page .oliva-v115-founded {
    display: none !important;
  }

  body.oliva-canvas-body .oliva-v115-page .oliva-v115-hero,
  body.oliva-canvas-body .oliva-v115-page .oliva-v115-hero-home,
  body.oliva-canvas-body .oliva-home-plugin .oliva-v115-hero-home {
    padding-top: 12px !important;
    padding-bottom: calc(var(--oliva-mobile-bottom-h) + 12px) !important;
  }

  body.oliva-canvas-body .oliva-v115-page h1,
  body.oliva-canvas-body .oliva-home-plugin .oliva-v115-hero-copy h1,
  body.oliva-canvas-body .oliva-home-v123 .oliva-v115-hero-copy h1,
  body.oliva-canvas-body .oliva-home-v122 .oliva-v115-hero-copy h1 {
    font-size: clamp(28px, 5vw, 40px) !important;
    margin-bottom: 7px !important;
  }

  body.oliva-canvas-body .oliva-v115-page .oliva-v115-lead,
  body.oliva-canvas-body .oliva-home-plugin .oliva-v115-lead {
    font-size: clamp(12px, 1.65vw, 14px) !important;
    line-height: 1.28 !important;
    margin-bottom: 9px !important;
  }

  body.oliva-canvas-body .oliva-v115-page :is(.oliva-home-button,.oliva-reservation-button,.oliva-tour-button,.oliva-about-button,.oliva-contact-button),
  body.oliva-canvas-body .oliva-home-plugin .oliva-v122-cover-actions a.oliva-home-button,
  body.oliva-canvas-body .oliva-home-plugin .oliva-v122-hero-actions a.oliva-home-button {
    min-height: 34px !important;
    height: 34px !important;
    padding-inline: 10px !important;
    font-size: 8px !important;
    letter-spacing: .05em !important;
  }

  body.oliva-canvas-body .oliva-home-plugin .oliva-home-mobile-bar,
  body.oliva-canvas-body .oliva-home-plugin .oliva-v115-mobile-bar,
  body.oliva-canvas-body .oliva-v115-mobile-bar,
  body.oliva-canvas-body .oliva-reservation-mobile-bar,
  body.oliva-canvas-body .oliva-tour-mobile-bar,
  body.oliva-canvas-body .oliva-about-mobile-bar,
  body.oliva-canvas-body .oliva-contact-mobile-bar {
    min-height: 38px !important;
    height: 38px !important;
    max-height: 38px !important;
    padding: 4px !important;
    gap: 4px !important;
    bottom: max(4px, env(safe-area-inset-bottom, 0px)) !important;
    border-radius: 15px !important;
  }

  body.oliva-canvas-body .oliva-home-plugin .oliva-home-mobile-bar a,
  body.oliva-canvas-body .oliva-home-plugin .oliva-home-mobile-bar a:link,
  body.oliva-canvas-body .oliva-home-plugin .oliva-home-mobile-bar a:visited,
  body.oliva-canvas-body .oliva-home-plugin .oliva-home-mobile-bar a:hover,
  body.oliva-canvas-body .oliva-home-plugin .oliva-home-mobile-bar a:active,
  body.oliva-canvas-body .oliva-home-plugin .oliva-home-mobile-bar a:focus,
  body.oliva-canvas-body .oliva-home-plugin .oliva-v115-mobile-bar a,
  body.oliva-canvas-body .oliva-home-plugin .oliva-v115-mobile-bar a:link,
  body.oliva-canvas-body .oliva-home-plugin .oliva-v115-mobile-bar a:visited,
  body.oliva-canvas-body .oliva-home-plugin .oliva-v115-mobile-bar a:hover,
  body.oliva-canvas-body .oliva-home-plugin .oliva-v115-mobile-bar a:active,
  body.oliva-canvas-body .oliva-home-plugin .oliva-v115-mobile-bar a:focus,
  body.oliva-canvas-body .oliva-v115-mobile-bar a,
  body.oliva-canvas-body .oliva-reservation-mobile-bar a,
  body.oliva-canvas-body .oliva-tour-mobile-bar a,
  body.oliva-canvas-body .oliva-about-mobile-bar a,
  body.oliva-canvas-body .oliva-contact-mobile-bar a {
    min-height: 30px !important;
    height: 30px !important;
    max-height: 30px !important;
    padding-inline: 4px !important;
    border-radius: 12px !important;
    font-size: 7.1px !important;
    letter-spacing: .018em !important;
  }
}

/* v1.55.4 · Landscape category-nav compact lock for Menu/Wine pages. */
@media (orientation: landscape) and (max-width: 1180px) and (max-height: 900px) {
  body.oliva-canvas-body .oliva-menu-plugin .oliva-menu-nav-wrap,
  body.oliva-canvas-body .oliva-menu-plugin.oliva-v145-page .oliva-menu-nav-wrap,
  body.oliva-canvas-body .oliva-wine-plugin .oliva-wine-nav-wrap,
  body.oliva-canvas-body .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-nav-wrap {
    position: sticky !important;
    top: var(--oliva-mobile-subnav-top) !important;
    z-index: 2147482600 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: 48px !important;
    margin: 0 -14px 14px !important;
    padding: 6px 10px !important;
    display: block !important;
    overflow: hidden !important;
    transform: none !important;
    box-sizing: border-box !important;
  }

  body.oliva-canvas-body .oliva-menu-plugin .oliva-menu-nav-label,
  body.oliva-canvas-body .oliva-menu-plugin.oliva-v145-page .oliva-menu-nav-label,
  body.oliva-canvas-body .oliva-wine-plugin .oliva-wine-nav-label,
  body.oliva-canvas-body .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-nav-label {
    display: none !important;
  }

  body.oliva-canvas-body .oliva-menu-plugin .oliva-menu-nav,
  body.oliva-canvas-body .oliva-menu-plugin.oliva-v145-page .oliva-menu-nav,
  body.oliva-canvas-body .oliva-wine-plugin .oliva-wine-nav,
  body.oliva-canvas-body .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-nav {
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: 34px !important;
    margin: 0 !important;
    padding: 2px 0 !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    white-space: nowrap !important;
    scrollbar-width: none !important;
    transform: none !important;
    box-sizing: border-box !important;
  }

  body.oliva-canvas-body .oliva-menu-plugin .oliva-menu-nav::-webkit-scrollbar,
  body.oliva-canvas-body .oliva-wine-plugin .oliva-wine-nav::-webkit-scrollbar {
    display: none !important;
  }

  body.oliva-canvas-body .oliva-menu-plugin .oliva-menu-nav a,
  body.oliva-canvas-body .oliva-menu-plugin .oliva-menu-nav a:link,
  body.oliva-canvas-body .oliva-menu-plugin .oliva-menu-nav a:visited,
  body.oliva-canvas-body .oliva-menu-plugin .oliva-menu-nav a:hover,
  body.oliva-canvas-body .oliva-menu-plugin .oliva-menu-nav a:active,
  body.oliva-canvas-body .oliva-menu-plugin .oliva-menu-nav a:focus,
  body.oliva-canvas-body .oliva-menu-plugin.oliva-v145-page .oliva-menu-nav a,
  body.oliva-canvas-body .oliva-menu-plugin.oliva-v145-page .oliva-menu-nav a:link,
  body.oliva-canvas-body .oliva-menu-plugin.oliva-v145-page .oliva-menu-nav a:visited,
  body.oliva-canvas-body .oliva-wine-plugin .oliva-wine-nav a,
  body.oliva-canvas-body .oliva-wine-plugin .oliva-wine-nav a:link,
  body.oliva-canvas-body .oliva-wine-plugin .oliva-wine-nav a:visited,
  body.oliva-canvas-body .oliva-wine-plugin .oliva-wine-nav a:hover,
  body.oliva-canvas-body .oliva-wine-plugin .oliva-wine-nav a:active,
  body.oliva-canvas-body .oliva-wine-plugin .oliva-wine-nav a:focus,
  body.oliva-canvas-body .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-nav a,
  body.oliva-canvas-body .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-nav a:link,
  body.oliva-canvas-body .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-nav a:visited {
    flex: 0 0 auto !important;
    min-width: max-content !important;
    width: auto !important;
    min-height: 28px !important;
    height: 28px !important;
    padding: 0 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    font-size: clamp(7.8px, 1vw, 9.2px) !important;
    letter-spacing: .045em !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    box-sizing: border-box !important;
  }

  body.oliva-canvas-body .oliva-menu-plugin .oliva-menu-section,
  body.oliva-canvas-body .oliva-menu-plugin.oliva-v145-page .oliva-menu-section,
  body.oliva-canvas-body .oliva-wine-plugin .oliva-wine-section,
  body.oliva-canvas-body .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-section {
    scroll-margin-top: calc(var(--oliva-mobile-subnav-top) + 48px) !important;
  }
}

@media (orientation: landscape) and (max-width: 760px) and (max-height: 430px) {
  body.oliva-canvas-body .oliva-menu-plugin .oliva-menu-nav-wrap,
  body.oliva-canvas-body .oliva-menu-plugin.oliva-v145-page .oliva-menu-nav-wrap,
  body.oliva-canvas-body .oliva-wine-plugin .oliva-wine-nav-wrap,
  body.oliva-canvas-body .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-nav-wrap {
    max-height: 42px !important;
    margin-bottom: 12px !important;
    padding: 5px 8px !important;
  }

  body.oliva-canvas-body .oliva-menu-plugin .oliva-menu-nav,
  body.oliva-canvas-body .oliva-menu-plugin.oliva-v145-page .oliva-menu-nav,
  body.oliva-canvas-body .oliva-wine-plugin .oliva-wine-nav,
  body.oliva-canvas-body .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-nav {
    max-height: 30px !important;
    gap: 5px !important;
    padding: 1px 0 !important;
  }

  body.oliva-canvas-body .oliva-menu-plugin .oliva-menu-nav a,
  body.oliva-canvas-body .oliva-menu-plugin .oliva-menu-nav a:link,
  body.oliva-canvas-body .oliva-menu-plugin .oliva-menu-nav a:visited,
  body.oliva-canvas-body .oliva-menu-plugin.oliva-v145-page .oliva-menu-nav a,
  body.oliva-canvas-body .oliva-wine-plugin .oliva-wine-nav a,
  body.oliva-canvas-body .oliva-wine-plugin .oliva-wine-nav a:link,
  body.oliva-canvas-body .oliva-wine-plugin .oliva-wine-nav a:visited,
  body.oliva-canvas-body .oliva-wine-plugin.oliva-wine-v124 .oliva-wine-nav a {
    min-height: 26px !important;
    height: 26px !important;
    padding-inline: 8px !important;
    font-size: 7.4px !important;
    letter-spacing: .035em !important;
  }
}

/* v1.55.5 · Compact Restaurant logo lockup and final landscape hardening. */
.oliva-plugin-header-brand-v1555,
body.oliva-canvas-body .oliva-plugin-header-brand-v1555 {
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 4px !important;
  min-width: 0 !important;
  max-width: 100% !important;
  text-decoration: none !important;
}

.oliva-plugin-header-brand-v1555 .oliva-plugin-brand-lockup,
body.oliva-canvas-body .oliva-plugin-header-brand-v1555 .oliva-plugin-brand-lockup {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: clamp(7px, .8vw, 11px) !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

.oliva-plugin-header-brand-v1555 .oliva-plugin-brand-mark,
body.oliva-canvas-body .oliva-plugin-header-brand-v1555 .oliva-plugin-brand-mark {
  display: block !important;
  flex: 0 0 auto !important;
  width: clamp(32px, 3vw, 46px) !important;
  height: clamp(32px, 3vw, 46px) !important;
  object-fit: contain !important;
  opacity: .98 !important;
  filter: brightness(0) saturate(100%) invert(94%) sepia(17%) saturate(752%) hue-rotate(343deg) brightness(104%) contrast(95%) !important;
}

.oliva-plugin-header-brand-v1555 .oliva-plugin-brand-word,
body.oliva-canvas-body .oliva-plugin-header-brand-v1555 .oliva-plugin-brand-word {
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 0 !important;
  min-width: 0 !important;
  max-width: 100% !important;
  line-height: 1 !important;
}

.oliva-plugin-header-brand-v1555 .oliva-plugin-brand-word strong,
body.oliva-canvas-body .oliva-plugin-header-brand-v1555 .oliva-plugin-brand-word strong {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  color: #fff7e8 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(20px, 1.65vw, 27px) !important;
  font-weight: 500 !important;
  letter-spacing: .025em !important;
  line-height: .95 !important;
  text-transform: none !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

.oliva-plugin-header-brand-v1555 .oliva-plugin-brand-word em,
body.oliva-canvas-body .oliva-plugin-header-brand-v1555 .oliva-plugin-brand-word em {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  margin-top: 2px !important;
  color: #d7ba7a !important;
  font-style: normal !important;
  font-size: clamp(9px, .72vw, 11px) !important;
  font-weight: 900 !important;
  letter-spacing: .16em !important;
  line-height: 1 !important;
  text-transform: none !important;
  white-space: nowrap !important;
}

.oliva-plugin-header-brand-v1555 .oliva-plugin-header-subtitle,
body.oliva-canvas-body .oliva-plugin-header-brand-v1555 .oliva-plugin-header-subtitle {
  display: block !important;
  max-width: 100% !important;
  color: var(--oliva-chrome-gold, #d7ba7a) !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .16em !important;
  line-height: 1.15 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

@media (orientation: landscape) and (max-width: 1180px) and (max-height: 900px) {
  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-inner {
    grid-template-columns: minmax(154px, .42fr) minmax(0, 1fr) auto !important;
  }

  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-brand-v1555 {
    overflow: visible !important;
  }

  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-brand-v1555 .oliva-plugin-brand-lockup {
    display: inline-flex !important;
    gap: 7px !important;
  }

  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-brand-v1555 .oliva-plugin-brand-mark {
    width: clamp(27px, 3.6vw, 38px) !important;
    height: clamp(27px, 3.6vw, 38px) !important;
  }

  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-brand-v1555 .oliva-plugin-brand-word {
    display: inline-flex !important;
  }

  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-brand-v1555 .oliva-plugin-brand-word strong {
    display: block !important;
    width: auto !important;
    font-size: clamp(17px, 2.15vw, 23px) !important;
    letter-spacing: .015em !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-brand-v1555 .oliva-plugin-brand-word em {
    display: block !important;
    font-size: clamp(7.8px, 1vw, 10px) !important;
    letter-spacing: .12em !important;
  }

  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-brand-v1555 .oliva-plugin-header-subtitle {
    display: none !important;
  }
}

@media (orientation: landscape) and (max-width: 760px) and (max-height: 430px) {
  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-inner {
    grid-template-columns: minmax(124px, .4fr) minmax(0, 1fr) auto !important;
  }

  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-brand-v1555 .oliva-plugin-brand-mark {
    width: 25px !important;
    height: 25px !important;
  }

  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-brand-v1555 .oliva-plugin-brand-word strong {
    font-size: clamp(15px, 2.9vw, 18px) !important;
  }

  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-brand-v1555 .oliva-plugin-brand-word em {
    font-size: 7.4px !important;
    letter-spacing: .09em !important;
  }
}

@media (max-width: 430px) and (orientation: portrait) {
  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-brand-v1555 .oliva-plugin-brand-mark {
    width: 30px !important;
    height: 30px !important;
  }

  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-brand-v1555 .oliva-plugin-brand-word strong {
    font-size: 19px !important;
  }

  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-brand-v1555 .oliva-plugin-brand-word em {
    font-size: 8px !important;
    letter-spacing: .1em !important;
  }
}

/* v1.55.6 · Greek mobile telephone label lock.
   Scope: Greek mobile home top slider and mobile header phone label. Shows ΤΗΛΕΦΩΝΟ without abbreviation and without clipping on small screens. */
@media (max-width: 820px) {
  .oliva-home-plugin.oliva-lang-el .oliva-v1261-mobile-top-actions,
  body.oliva-canvas-body .oliva-home-plugin.oliva-lang-el .oliva-v1261-mobile-top-actions {
    grid-template-columns: minmax(0, 1.18fr) minmax(0, 1fr) !important;
  }

  .oliva-home-plugin.oliva-lang-el .oliva-v1261-mobile-top-actions .oliva-v1261-top-pill-call,
  .oliva-home-plugin.oliva-lang-el .oliva-v1261-mobile-top-actions .oliva-v1261-top-pill-call:link,
  .oliva-home-plugin.oliva-lang-el .oliva-v1261-mobile-top-actions .oliva-v1261-top-pill-call:visited,
  .oliva-home-plugin.oliva-lang-el .oliva-v1261-mobile-top-actions .oliva-v1261-top-pill-call:hover,
  .oliva-home-plugin.oliva-lang-el .oliva-v1261-mobile-top-actions .oliva-v1261-top-pill-call:focus,
  .oliva-home-plugin.oliva-lang-el .oliva-v1261-mobile-top-actions .oliva-v1261-top-pill-call:active {
    padding-inline: clamp(10px, 3vw, 16px) !important;
    font-size: clamp(9.8px, 2.65vw, 10.8px) !important;
    letter-spacing: .075em !important;
    overflow: hidden !important;
    text-overflow: clip !important;
  }

  .oliva-home-plugin.oliva-lang-el .oliva-v1261-mobile-top-actions .oliva-v1261-top-pill-call span {
    display: inline-block !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
    letter-spacing: inherit !important;
  }

  .oliva-lang-el .oliva-plugin-header-phone::before {
    content: "ΤΗΛΕΦΩΝΟ" !important;
    font-size: clamp(9px, 2.7vw, 10.4px) !important;
    letter-spacing: .055em !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 360px) {
  .oliva-home-plugin.oliva-lang-el .oliva-v1261-mobile-top-actions,
  body.oliva-canvas-body .oliva-home-plugin.oliva-lang-el .oliva-v1261-mobile-top-actions {
    grid-template-columns: minmax(0, 1.22fr) minmax(0, .98fr) !important;
    gap: 7px !important;
  }

  .oliva-home-plugin.oliva-lang-el .oliva-v1261-mobile-top-actions .oliva-v1261-top-pill-call,
  .oliva-home-plugin.oliva-lang-el .oliva-v1261-mobile-top-actions .oliva-v1261-top-pill-call:link,
  .oliva-home-plugin.oliva-lang-el .oliva-v1261-mobile-top-actions .oliva-v1261-top-pill-call:visited {
    padding-inline: 8px !important;
    font-size: 9.2px !important;
    letter-spacing: .045em !important;
  }

  .oliva-home-plugin.oliva-lang-el .oliva-v1261-mobile-top-actions .oliva-v1261-top-pill-call::before {
    flex-basis: 8px !important;
    width: 8px !important;
    height: 8px !important;
    margin-right: 5px !important;
  }
}

/* v1.55.7 · Mobile centered Restaurant logo lock.
   Keeps the existing compact Oliva Restaurant lockup unchanged; only the mobile/header placement is centered. */
@media (max-width: 820px) {
  .oliva-plugin-header .oliva-plugin-header-brand-v1555,
  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-brand-v1555,
  body.oliva-canvas-body .oliva-plugin-header-brand-v1555 {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    justify-self: center !important;
    align-self: center !important;
    text-align: center !important;
    overflow: visible !important;
  }

  .oliva-plugin-header .oliva-plugin-header-brand-v1555 .oliva-plugin-brand-lockup,
  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-brand-v1555 .oliva-plugin-brand-lockup,
  body.oliva-canvas-body .oliva-plugin-header-brand-v1555 .oliva-plugin-brand-lockup {
    width: auto !important;
    max-width: min(100%, 320px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: left !important;
    overflow: visible !important;
    transform: none !important;
  }

  .oliva-plugin-header .oliva-plugin-header-brand-v1555 .oliva-plugin-brand-word,
  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-brand-v1555 .oliva-plugin-brand-word,
  body.oliva-canvas-body .oliva-plugin-header-brand-v1555 .oliva-plugin-brand-word {
    align-items: flex-start !important;
    justify-content: center !important;
    text-align: left !important;
  }

  .oliva-plugin-header .oliva-plugin-header-brand-v1555 .oliva-plugin-header-subtitle,
  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-brand-v1555 .oliva-plugin-header-subtitle,
  body.oliva-canvas-body .oliva-plugin-header-brand-v1555 .oliva-plugin-header-subtitle {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    align-self: center !important;
    text-align: center !important;
  }
}

@media (max-width: 820px) and (orientation: portrait) {
  .oliva-plugin-header .oliva-plugin-header-inner,
  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-inner,
  body.oliva-canvas-body .oliva-plugin-header-inner {
    align-items: center !important;
    justify-items: center !important;
    text-align: center !important;
  }

  .oliva-plugin-header .oliva-plugin-header-brand-v1555,
  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-brand-v1555,
  body.oliva-canvas-body .oliva-plugin-header-brand-v1555 {
    grid-column: 1 / -1 !important;
    place-self: center !important;
  }
}

@media (max-width: 430px) and (orientation: portrait) {
  .oliva-plugin-header .oliva-plugin-header-brand-v1555 .oliva-plugin-brand-lockup,
  body.oliva-canvas-body .oliva-plugin-header-brand-v1555 .oliva-plugin-brand-lockup {
    max-width: min(100%, 286px) !important;
    gap: 7px !important;
  }
}

@media (orientation: landscape) and (max-width: 980px) and (max-height: 520px) {
  .oliva-plugin-header .oliva-plugin-header-brand-v1555,
  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-brand-v1555,
  body.oliva-canvas-body .oliva-plugin-header-brand-v1555 {
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .oliva-plugin-header .oliva-plugin-header-brand-v1555 .oliva-plugin-brand-lockup,
  body.oliva-canvas-body .oliva-plugin-header .oliva-plugin-header-brand-v1555 .oliva-plugin-brand-lockup,
  body.oliva-canvas-body .oliva-plugin-header-brand-v1555 .oliva-plugin-brand-lockup {
    margin-left: auto !important;
    margin-right: auto !important;
    justify-content: center !important;
  }
}

.wp-admin .oliva-device-mobile .oliva-plugin-header .oliva-plugin-header-inner,
.wp-admin .oliva-device-preview.oliva-device-mobile .oliva-plugin-header .oliva-plugin-header-inner,
.wp-admin .oliva-device-mobile .oliva-plugin-header-inner,
.wp-admin .oliva-device-preview.oliva-device-mobile .oliva-plugin-header-inner {
  align-items: center !important;
  justify-items: center !important;
  text-align: center !important;
}

.wp-admin .oliva-device-mobile .oliva-plugin-header .oliva-plugin-header-brand-v1555,
.wp-admin .oliva-device-preview.oliva-device-mobile .oliva-plugin-header .oliva-plugin-header-brand-v1555,
.wp-admin .oliva-device-mobile .oliva-plugin-header-brand-v1555,
.wp-admin .oliva-device-preview.oliva-device-mobile .oliva-plugin-header-brand-v1555 {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  justify-self: center !important;
  align-self: center !important;
  text-align: center !important;
  overflow: visible !important;
}

.wp-admin .oliva-device-mobile .oliva-plugin-header-brand-v1555 .oliva-plugin-brand-lockup,
.wp-admin .oliva-device-preview.oliva-device-mobile .oliva-plugin-header-brand-v1555 .oliva-plugin-brand-lockup {
  width: auto !important;
  max-width: min(100%, 320px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  justify-content: center !important;
  text-align: left !important;
  overflow: visible !important;
}

.wp-admin .oliva-device-mobile .oliva-plugin-header-brand-v1555 .oliva-plugin-brand-word,
.wp-admin .oliva-device-preview.oliva-device-mobile .oliva-plugin-header-brand-v1555 .oliva-plugin-brand-word {
  align-items: flex-start !important;
  text-align: left !important;
}

