/*
Theme Name: ZUVA Hakoura Universal
Theme URI: https://zuvabeirut.com/
Author: ZUVA
Description: A visually editable WordPress block theme based on the supplied Universal/Hakoura template, preserving WooCommerce ordering, customer accounts, OTP, fulfilment, tracking, PWA and POS integrations.
Version: 10.13.1
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 8.0
Text Domain: zuva-restaurant
Tags: full-site-editing, block-patterns, e-commerce, food-and-drink, custom-logo, featured-images, wide-blocks
*/

:root {
  --zuva-cream: #f8f1e3;
  --zuva-cream-soft: #fbf7ef;
  --zuva-charcoal: #1a1512;
  --zuva-charcoal-soft: #2a231f;
  --zuva-terracotta: #a54a28;
  --zuva-terracotta-deep: #7b290c;
  --zuva-olive: #5e713c;
  --zuva-olive-deep: #37491e;
  --zuva-border: #dacbb9;
  --zuva-display: "Cormorant Garamond", Georgia, serif;
  --zuva-body: Inter, Arial, sans-serif;
  --zuva-accent: Cinzel, Georgia, serif;
  --zuva-header-height: 80px;
  --zuva-ease: cubic-bezier(.22,1,.36,1);
}

html { scroll-behavior: smooth; }
body {
  margin: 0;
  overflow-x: hidden;
  background: var(--zuva-cream);
  color: var(--zuva-charcoal);
  font-family: var(--zuva-body);
  font-weight: 300;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
* { box-sizing: border-box; }
img { max-width: 100%; height: auto; }
a { transition: color .25s ease, background-color .25s ease, border-color .25s ease, opacity .25s ease; }
button, input, select, textarea { font: inherit; }
h1, h2, h3, h4, h5, h6, .wp-block-heading { font-family: var(--zuva-display); font-weight: 500; letter-spacing: -.01em; }
.wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; border-radius: 0; background: var(--zuva-terracotta); color: var(--zuva-cream); font-family: var(--zuva-accent); font-size: .68rem; letter-spacing: .16em; line-height: 1; text-decoration: none; text-transform: uppercase; }
::selection { background: var(--zuva-terracotta); color: var(--zuva-cream); }

.zuva-eyebrow,
.zuva-menu-category-subtitle,
.zuva-gallery-kicker,
.zuva-footer-kicker,
.zuva-hero-kicker,
.zuva-scroll-label {
  font-family: var(--zuva-accent);
  font-size: .72rem;
  letter-spacing: .25em;
  line-height: 1.5;
  text-transform: uppercase;
}
.zuva-eyebrow { color: var(--zuva-terracotta); }
.zuva-section-title { text-wrap: balance; }
.zuva-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  width: 10rem;
  margin: 1.5rem auto;
  color: var(--zuva-terracotta);
}
.zuva-divider::before,
.zuva-divider::after {
  content: "";
  width: 4rem;
  height: 1px;
  background: color-mix(in srgb, var(--zuva-terracotta) 45%, transparent);
}
.zuva-divider strong { font-size: 1rem; font-weight: 400; }
.zuva-reveal { opacity: 1; transform: none; }
.zuva-js .zuva-reveal {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity .9s var(--zuva-ease), transform .9s var(--zuva-ease);
}
.zuva-js .zuva-reveal.is-visible { opacity: 1; transform: translateY(0); }

/* Header — mirrors the Lovable navigation exactly and contains no Woo account/mini-cart blocks. */
.zuva-site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 1000;
  min-height: var(--zuva-header-height);
  border-bottom: 1px solid rgba(218,203,185,.55);
  background: rgba(248,241,227,.72);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transition: background .3s ease, box-shadow .3s ease;
}
.admin-bar .zuva-site-header { top: 32px; }
.zuva-site-header.is-scrolled {
  background: rgba(248,241,227,.92);
  box-shadow: 0 12px 30px rgba(26,21,18,.06);
}
.zuva-header-inner {
  min-height: var(--zuva-header-height);
  padding-inline: clamp(1.5rem, 3vw, 2.5rem);
}
.zuva-brand-lockup { gap: .75rem !important; flex-shrink: 0; }
.zuva-site-header .wp-block-site-logo { margin: 0; line-height: 0; }
.zuva-site-header .wp-block-site-logo img {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
}
.zuva-brand-text { margin: 0 !important; line-height: 1.04; }
.zuva-brand-name {
  margin: 0 !important;
  font-family: var(--zuva-display);
  font-size: 1.35rem;
  font-weight: 500;
  letter-spacing: .01em;
}
.zuva-brand-city {
  margin: .12rem 0 0 !important;
  color: var(--zuva-terracotta);
  font-family: var(--zuva-accent);
  font-size: .58rem;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.zuva-header-nav {
  margin-inline: auto !important;
  font-family: var(--zuva-accent);
  font-size: .69rem;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.zuva-header-nav .wp-block-navigation__container { gap: clamp(1.8rem, 3vw, 2.6rem); }
.zuva-header-nav .wp-block-navigation-item__content, .zuva-header-nav a { color: rgba(26,21,18,.8); text-decoration: none; }
.zuva-header-nav .wp-block-navigation-item__content:hover { color: var(--zuva-terracotta); }
.zuva-header-actions { gap: .75rem !important; flex-shrink: 0; }
.zuva-header-reserve { margin: 0; }
.zuva-header-reserve .wp-block-button__link,
.zuva-cart-trigger,
.zuva-cart-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: .78rem 1.45rem;
  border-radius: 0;
  font-family: var(--zuva-accent);
  font-size: .66rem;
  letter-spacing: .16em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}
.zuva-header-reserve .wp-block-button__link {
  border: 1px solid var(--zuva-terracotta);
  background: transparent;
  color: var(--zuva-terracotta);
}
.zuva-header-reserve .wp-block-button__link:hover { background: var(--zuva-terracotta); color: var(--zuva-cream); }
.zuva-cart-trigger,
.zuva-cart-link {
  position: relative;
  border: 0;
  background: var(--zuva-charcoal);
  color: var(--zuva-cream);
  cursor: pointer;
  text-decoration: none;
}
.zuva-cart-trigger:hover,
.zuva-cart-link:hover { background: var(--zuva-terracotta); color: var(--zuva-cream); }
.zuva-cart-count {
  position: absolute;
  top: -.55rem;
  right: -.55rem;
  display: grid;
  place-items: center;
  min-width: 1.45rem;
  height: 1.45rem;
  padding: 0 .25rem;
  border-radius: 999px;
  background: var(--zuva-terracotta);
  color: var(--zuva-cream);
  font-family: var(--zuva-body);
  font-size: .7rem;
  letter-spacing: 0;
}
.zuva-cart-count[data-count="0"] { display: none; }

/* Hero */
.zuva-hero {
  position: relative;
  min-height: 100svh !important;
  overflow: hidden;
  margin: 0 !important;
}
.zuva-hero .wp-block-cover__image-background {
  transform: translate3d(0,0,0) scale(1.01);
  will-change: transform;
}
.zuva-hero .wp-block-cover__background {
  background: linear-gradient(to bottom, rgba(26,21,18,.5), rgba(26,21,18,.3) 48%, rgba(26,21,18,.82)) !important;
  opacity: 1 !important;
}
.zuva-hero .wp-block-cover__inner-container {
  position: relative;
  display: flex;
  min-height: 100svh;
  align-items: center;
  justify-content: center;
}
.zuva-hero-content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 980px;
  padding: calc(var(--zuva-header-height) + 2rem) 1.5rem 5rem;
  text-align: center;
  will-change: transform;
}
.zuva-hero-logo { margin: 0 auto !important; }
.zuva-hero-logo img {
  width: clamp(112px, 10vw, 148px);
  height: clamp(112px, 10vw, 148px);
  margin-inline: auto;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 24px 70px rgba(0,0,0,.34);
  outline: 1px solid rgba(248,241,227,.2);
}
.zuva-hero-kicker {
  margin: 2rem 0 0 !important;
  color: rgba(248,241,227,.82);
}
.zuva-hero-title {
  margin: 1.35rem 0 0 !important;
  color: var(--zuva-cream);
  font-family: var(--zuva-display);
  font-size: clamp(4rem, 9vw, 8.5rem) !important;
  font-weight: 500;
  line-height: .92 !important;
  letter-spacing: -.025em;
  text-wrap: balance;
}
.zuva-hero-title mark {
  padding: 0;
  background: transparent;
  color: var(--zuva-terracotta) !important;
}
.zuva-hero-intro {
  max-width: 540px;
  margin: 2rem auto 0 !important;
  color: rgba(248,241,227,.86);
  font-size: 1.08rem;
  font-weight: 300;
  line-height: 1.7;
}
.zuva-hero-buttons { display: flex; justify-content: center; gap: 1rem !important; margin-top: 2.5rem !important; }
.zuva-hero-buttons .wp-block-button__link { min-width: 178px; padding: 1.08rem 1.8rem; }
.zuva-hero-buttons .is-style-outline .wp-block-button__link {
  border: 1px solid rgba(248,241,227,.42);
  background: transparent;
  color: var(--zuva-cream);
}
.zuva-hero-buttons .is-style-outline .wp-block-button__link:hover { border-color: var(--zuva-cream); background: rgba(248,241,227,.08); }
.zuva-scroll-label {
  position: absolute;
  bottom: 1.9rem;
  left: 50%;
  z-index: 3;
  margin: 0 !important;
  transform: translateX(-50%);
  color: rgba(248,241,227,.58);
  font-size: .58rem;
  letter-spacing: .4em;
}
.zuva-scroll-label::after {
  content: "";
  display: block;
  width: 1px;
  height: 2rem;
  margin: .65rem auto 0;
  background: rgba(248,241,227,.4);
  animation: zuva-scroll 2s ease-in-out infinite;
}
@keyframes zuva-scroll { 0%,100% { transform: translateY(0); opacity: .45; } 50% { transform: translateY(8px); opacity: 1; } }

/* Story */
.zuva-story-section { padding: 8rem clamp(1.5rem, 3vw, 2.5rem); }
.zuva-story-columns { gap: clamp(4rem, 7vw, 6rem) !important; }
.zuva-story-copy .zuva-section-title {
  margin: 1.35rem 0 0;
  font-size: clamp(3.25rem, 5vw, 4.6rem) !important;
  line-height: 1.02;
}
.zuva-story-copy .zuva-divider { margin-left: 0; }
.zuva-story-copy .zuva-divider::before { display: none; }
.zuva-story-copy p:not(.zuva-eyebrow):not(.zuva-divider) {
  max-width: 570px;
  color: rgba(26,21,18,.73);
  line-height: 1.8;
}
.zuva-story-lead { font-size: 1.08rem; }
.zuva-story-visual {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: visible;
}
.zuva-story-visual > .wp-block-image { height: 100%; margin: 0; overflow: hidden; }
.zuva-story-visual img { width: 100%; height: 100%; object-fit: cover; }
.zuva-story-quote {
  position: absolute;
  bottom: -1.5rem;
  left: -1.5rem;
  z-index: 2;
  width: min(220px, 70%);
  padding: 1.5rem 2rem;
  background: var(--zuva-olive);
  color: var(--zuva-cream);
}
.zuva-story-quote p {
  margin: 0 !important;
  font-family: var(--zuva-display);
  font-size: 1.8rem;
  font-style: italic;
  line-height: 1.05;
}
.zuva-story-quote small {
  display: block;
  margin-top: .75rem;
  font-family: var(--zuva-accent);
  font-size: .58rem;
  letter-spacing: .18em;
  opacity: .78;
  text-transform: uppercase;
}

/* Menu */
.zuva-menu-shell {
  position: relative;
  overflow: hidden;
  padding: 8rem clamp(1.5rem, 3vw, 2.5rem);
  background: var(--zuva-charcoal);
  color: var(--zuva-cream);
}
.zuva-menu-shell::before,
.zuva-menu-shell::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 18px;
  opacity: .3;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='20' viewBox='0 0 200 20'%3E%3Cg fill='none' stroke='%23a54a28' stroke-width='1.5'%3E%3Cpath d='M2 18V6h12v8H6v-4h4M22 18V6h12v8h-8v-4h4M42 18V6h12v8h-8v-4h4M62 18V6h12v8h-8v-4h4M82 18V6h12v8h-8v-4h4M102 18V6h12v8h-8v-4h4M122 18V6h12v8h-8v-4h4M142 18V6h12v8h-8v-4h4M162 18V6h12v8h-8v-4h4M182 18V6h12v8h-8v-4h4'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: repeat-x;
  background-position: center;
}
.zuva-menu-shell::before { top: 2rem; }
.zuva-menu-shell::after { bottom: 2rem; transform: rotate(180deg); }
.zuva-menu-heading { max-width: 1000px; margin-bottom: 4.8rem; text-align: center; }
.zuva-menu-heading .zuva-section-title {
  margin: 1rem 0 0;
  color: var(--zuva-cream);
  font-size: clamp(3.2rem, 5vw, 4.6rem) !important;
}
.zuva-menu-categories { max-width: 1024px; gap: 5.6rem !important; }
.zuva-menu-category { width: 100%; }
.zuva-menu-category-header {
  align-items: flex-end !important;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(165,74,40,.38);
}
.zuva-menu-category-header h3 {
  margin: 0;
  color: var(--zuva-cream);
  font-size: clamp(2.4rem, 3.5vw, 3.4rem);
  line-height: 1;
}
.zuva-menu-category-subtitle { margin: 0 !important; color: var(--zuva-terracotta); font-size: .59rem; }
.zuva-menu-list { margin-top: 2rem; }
.zuva-menu-items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 2rem 4rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.zuva-menu-item { min-width: 0; }
.zuva-menu-item-head { display: flex; align-items: baseline; gap: 1rem; min-width: 0; }
.zuva-menu-item-name {
  flex: 0 1 auto;
  margin: 0;
  color: var(--zuva-cream);
  font-family: var(--zuva-display);
  font-size: 1.55rem;
  font-weight: 500;
  line-height: 1.15;
  transition: color .25s ease;
}
.zuva-menu-item:hover .zuva-menu-item-name { color: var(--zuva-terracotta); }
.zuva-menu-item-dots {
  flex: 1;
  min-width: 2rem;
  height: 1px;
  transform: translateY(-.25rem);
  border-bottom: 1px dotted rgba(248,241,227,.22);
}
.zuva-menu-item-price {
  flex-shrink: 0;
  color: var(--zuva-terracotta);
  font-family: var(--zuva-accent);
  font-size: .78rem;
  letter-spacing: .07em;
}
.zuva-menu-item-price del { opacity: .45; }
.zuva-menu-item-price ins { text-decoration: none; }
.zuva-menu-item-description {
  margin: .5rem 0 0;
  color: rgba(248,241,227,.58);
  font-size: .86rem;
  line-height: 1.65;
}
.zuva-add-order {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  margin-top: .72rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: rgba(165,74,40,.88);
  font-family: var(--zuva-accent);
  font-size: .58rem;
  letter-spacing: .25em;
  line-height: 1.4;
  text-transform: uppercase;
  cursor: pointer;
}
.zuva-add-order:hover { color: var(--zuva-terracotta); }
.zuva-add-order-line { width: 1.5rem; height: 1px; background: rgba(165,74,40,.62); transition: width .3s var(--zuva-ease); }
.zuva-add-order:hover .zuva-add-order-line { width: 2.5rem; }
.zuva-add-order[disabled] { opacity: .45; cursor: wait; }
.zuva-menu-note { margin: 5.5rem 0 0 !important; color: rgba(248,241,227,.48); font-style: italic; }
.zuva-menu-empty {
  padding: 1.2rem;
  border: 1px dashed rgba(248,241,227,.25);
  color: rgba(248,241,227,.65);
  text-align: center;
}
.zuva-menu-empty a { color: var(--zuva-terracotta); }

/* Gallery */
.zuva-gallery-section { padding: 8rem clamp(1.5rem, 3vw, 2.5rem); }
.zuva-gallery-heading { margin-bottom: 3.8rem; text-align: center; }
.zuva-gallery-heading .zuva-section-title {
  margin: 1rem 0 0;
  font-size: clamp(3.25rem, 5vw, 4.6rem) !important;
}
.zuva-gallery-grid { gap: 1.5rem !important; }
.zuva-dish-card {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  isolation: isolate;
}
.zuva-dish-card > .wp-block-image { height: 100%; margin: 0; }
.zuva-dish-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.5s var(--zuva-ease);
}
.zuva-dish-card:hover img { transform: scale(1.1); }
.zuva-dish-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(to top, rgba(26,21,18,.84), transparent 60%);
  pointer-events: none;
}
.zuva-dish-caption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 1.5rem;
}
.zuva-gallery-kicker {
  width: auto !important;
  margin: 0 !important;
  color: var(--zuva-terracotta);
  font-size: .58rem;
  white-space: nowrap;
}
.zuva-dish-caption h3 {
  width: auto !important;
  max-width: none !important;
  margin: .25rem 0 0 !important;
  color: var(--zuva-cream);
  font-size: clamp(1.8rem, 2.4vw, 2.3rem);
  line-height: 1.05;
  overflow-wrap: normal;
  word-break: normal;
  white-space: normal;
}

/* Room */
.zuva-room-section { position: relative; min-height: 80vh !important; overflow: hidden; }
.zuva-room-section .wp-block-cover__image-background { transition: transform 2s var(--zuva-ease); }
.zuva-room-section.is-visible .wp-block-cover__image-background { transform: scale(1); }
.zuva-room-section .wp-block-cover__background { background: rgba(26,21,18,.42) !important; opacity: 1 !important; }
.zuva-room-content { max-width: 720px; padding-inline: 1.5rem; text-align: center; }
.zuva-room-content .zuva-section-title {
  margin: 1rem 0 0;
  color: var(--zuva-cream);
  font-size: clamp(3.5rem, 7vw, 6.4rem) !important;
  line-height: .98;
}
.zuva-room-copy { max-width: 610px; margin: 2rem auto 0 !important; color: rgba(248,241,227,.86); font-size: 1.08rem; line-height: 1.75; }

/* Reservation */
.zuva-reservation-section { padding: 8rem 1.5rem; background: var(--zuva-olive); color: var(--zuva-cream); }
.zuva-reservation-inner { max-width: 780px; text-align: center; }
.zuva-reservation-inner .zuva-eyebrow { color: rgba(248,241,227,.7); }
.zuva-reservation-inner .zuva-section-title {
  margin: 1rem 0 0;
  color: var(--zuva-cream);
  font-size: clamp(3.25rem, 5vw, 4.7rem) !important;
}
.zuva-reservation-intro { max-width: 620px; margin: 2rem auto 0 !important; color: rgba(248,241,227,.78); font-size: 1.05rem; line-height: 1.7; }
.zuva-reservation-wrap { margin-top: 3rem; }
.zuva-reservation-message {
  margin-bottom: 1.25rem;
  padding: 1rem 1.25rem;
  border: 1px solid rgba(248,241,227,.35);
  background: rgba(248,241,227,.08);
  color: var(--zuva-cream);
}
.zuva-reservation-message.is-error { border-color: #ffd0c2; }
.zuva-reservation-form {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 1rem;
  text-align: left;
}
.zuva-reservation-form label { display: block; }
.zuva-reservation-form label > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.zuva-reservation-form input,
.zuva-reservation-form select,
.zuva-reservation-form textarea {
  width: 100%;
  min-height: 56px;
  padding: .95rem 1.2rem;
  border: 1px solid rgba(248,241,227,.32);
  border-radius: 0;
  outline: 0;
  background: transparent;
  color: var(--zuva-cream);
  font-weight: 300;
}
.zuva-reservation-form input::placeholder,
.zuva-reservation-form textarea::placeholder { color: rgba(248,241,227,.55); }
.zuva-reservation-form input:focus,
.zuva-reservation-form select:focus,
.zuva-reservation-form textarea:focus { border-color: var(--zuva-cream); }
.zuva-reservation-form select option { color: var(--zuva-charcoal); }
.zuva-reservation-form .zuva-reservation-notes { grid-column: 1 / -1; }
.zuva-reservation-form textarea { min-height: 100px; resize: vertical; }
.zuva-reservation-form button {
  grid-column: 1 / -1;
  min-height: 58px;
  margin-top: .2rem;
  border: 0;
  border-radius: 0;
  background: var(--zuva-terracotta);
  color: var(--zuva-cream);
  font-family: var(--zuva-accent);
  font-size: .68rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  cursor: pointer;
}
.zuva-reservation-form button:hover { background: var(--zuva-terracotta-deep); }

/* Visit and footer */
.zuva-visit-section { padding: 8rem clamp(1.5rem, 3vw, 2.5rem); }
.zuva-visit-grid { gap: 3rem !important; }
.zuva-visit-card p:last-child { margin-top: 1rem; color: rgba(26,21,18,.78); line-height: 1.75; }
.zuva-footer {
  position: relative;
  padding: 4.5rem 1.5rem 3rem;
  text-align: center;
  background: var(--zuva-charcoal);
  color: rgba(248,241,227,.7);
}
.zuva-footer::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 18px;
  opacity: .4;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='20' viewBox='0 0 200 20'%3E%3Cg fill='none' stroke='%23a54a28' stroke-width='1.5'%3E%3Cpath d='M2 18V6h12v8H6v-4h4M22 18V6h12v8h-8v-4h4M42 18V6h12v8h-8v-4h4M62 18V6h12v8h-8v-4h4M82 18V6h12v8h-8v-4h4M102 18V6h12v8h-8v-4h4M122 18V6h12v8h-8v-4h4M142 18V6h12v8h-8v-4h4M162 18V6h12v8h-8v-4h4M182 18V6h12v8h-8v-4h4'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: repeat-x;
}
.zuva-footer .wp-block-site-logo { margin: 0 auto; }
.zuva-footer .wp-block-site-logo img { width: 68px; height: 68px; border-radius: 50%; object-fit: cover; }
.zuva-footer-kicker { margin: 1.25rem 0 0 !important; color: var(--zuva-terracotta); font-size: .62rem; }
.zuva-footer-copy { max-width: 440px; margin: 1.2rem auto 0 !important; font-size: .9rem; }
.zuva-footer-copyright { margin: 2rem 0 0 !important; color: rgba(248,241,227,.38); font-size: .72rem; }

/* Lovable-style WooCommerce drawer */
body.zuva-cart-open { overflow: hidden; }
.zuva-cart-overlay {
  position: fixed;
  inset: 0;
  z-index: 1090;
  display: block;
  opacity: 0;
  visibility: hidden;
  background: rgba(26,21,18,.62);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  transition: opacity .35s ease, visibility .35s ease;
}
.zuva-cart-overlay.is-open { opacity: 1; visibility: visible; }
.zuva-cart-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 1100;
  display: flex;
  flex-direction: column;
  width: min(440px,100vw);
  overflow: hidden;
  transform: translateX(102%);
  background: var(--zuva-cream);
  color: var(--zuva-charcoal);
  box-shadow: -24px 0 70px rgba(26,21,18,.24);
  transition: transform .45s var(--zuva-ease);
}
.admin-bar .zuva-cart-drawer { top: 32px; }
.zuva-cart-drawer.is-open { transform: translateX(0); }
.zuva-cart-drawer-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 92px;
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid var(--zuva-border);
}
.zuva-cart-drawer-header span {
  display: block;
  color: var(--zuva-terracotta);
  font-family: var(--zuva-accent);
  font-size: .58rem;
  letter-spacing: .23em;
  text-transform: uppercase;
}
.zuva-cart-drawer-header h2 { margin: .2rem 0 0; font-family: var(--zuva-display); font-size: 1.75rem; font-weight: 500; }
.zuva-cart-close {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 0;
  background: transparent;
  color: rgba(26,21,18,.62);
  font-size: 2rem;
  font-weight: 300;
  line-height: 1;
  cursor: pointer;
}
.zuva-cart-close:hover { color: var(--zuva-terracotta); }
.zuva-mini-cart-contents { display: flex; flex: 1; flex-direction: column; min-height: 0; }
.zuva-cart-items { flex: 1; min-height: 0; overflow-y: auto; padding: 0 1.5rem; }
.zuva-cart-items ul { margin: 0; padding: 0; list-style: none; }
.zuva-cart-item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.4rem 0;
  border-bottom: 1px solid var(--zuva-border);
  transition: opacity .2s ease;
}
.zuva-cart-item.is-updating { opacity: .45; pointer-events: none; }
.zuva-cart-item-image { flex: 0 0 70px; width: 70px; height: 78px; object-fit: cover; }
.zuva-cart-item-copy { flex: 1; min-width: 0; }
.zuva-cart-item-name { margin: 0; font-family: var(--zuva-display); font-size: 1.25rem; font-weight: 500; line-height: 1.15; }
.zuva-cart-item-unit { margin: .4rem 0 0; color: var(--zuva-terracotta); font-family: var(--zuva-accent); font-size: .6rem; letter-spacing: .08em; text-transform: uppercase; }
.zuva-cart-quantity { display: flex; align-items: center; gap: .5rem; margin-top: .8rem; }
.zuva-cart-qty {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 1px solid rgba(26,21,18,.2);
  background: transparent;
  color: var(--zuva-charcoal);
  cursor: pointer;
}
.zuva-cart-qty:hover { border-color: var(--zuva-terracotta); color: var(--zuva-terracotta); }
.zuva-cart-qty-value { min-width: 24px; text-align: center; }
.zuva-cart-remove { margin-left: auto; border: 0; background: transparent; color: rgba(26,21,18,.48); font-family: var(--zuva-accent); font-size: .55rem; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.zuva-cart-remove:hover { color: var(--zuva-terracotta); }
.zuva-cart-item-total { flex: 0 0 auto; margin: 0; font-family: var(--zuva-display); font-size: 1.15rem; }
.zuva-cart-summary { padding: 1.25rem 1.5rem 1.5rem; border-top: 1px solid var(--zuva-border); }
.zuva-cart-subtotal { display: flex; align-items: baseline; justify-content: space-between; }
.zuva-cart-subtotal span { font-family: var(--zuva-accent); font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; }
.zuva-cart-subtotal strong { font-family: var(--zuva-display); font-size: 1.8rem; font-weight: 500; }
.zuva-cart-summary > p { margin: .45rem 0 1rem; color: rgba(26,21,18,.5); font-size: .72rem; }
.zuva-cart-checkout {
  display: grid;
  place-items: center;
  min-height: 52px;
  background: var(--zuva-terracotta);
  color: var(--zuva-cream);
  font-family: var(--zuva-accent);
  font-size: .65rem;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.zuva-cart-checkout:hover { background: var(--zuva-terracotta-deep); color: var(--zuva-cream); }
.zuva-cart-empty { display: flex; flex: 1; flex-direction: column; align-items: center; justify-content: center; padding: 3rem; text-align: center; }
.zuva-cart-empty-title { margin: 0; color: rgba(26,21,18,.62); font-family: var(--zuva-display); font-size: 2rem; font-style: italic; }
.zuva-cart-empty > p:not(.zuva-cart-empty-title) { margin: .7rem 0 0; color: rgba(26,21,18,.55); font-size: .85rem; }
.zuva-cart-browse { margin-top: 1.25rem; padding: .8rem 1.35rem; border: 1px solid rgba(26,21,18,.28); background: transparent; font-family: var(--zuva-accent); font-size: .6rem; letter-spacing: .15em; text-transform: uppercase; cursor: pointer; }
.zuva-cart-browse:hover { border-color: var(--zuva-terracotta); color: var(--zuva-terracotta); }
.zuva-cart-status { padding: .65rem 1rem; background: var(--zuva-charcoal); color: var(--zuva-cream); font-size: .78rem; text-align: center; }

/* WooCommerce pages */
.zuva-page-shell { padding: calc(var(--zuva-header-height) + 5rem) 1.5rem 6rem; }
.zuva-page-shell > .wp-block-group { max-width: 1180px; }
.zuva-page-title { margin-bottom: 2.5rem !important; font-size: clamp(3rem, 6vw, 5rem) !important; text-align: center; }
.woocommerce .woocommerce-notices-wrapper { max-width: 1180px; margin: 0 auto 1.5rem; }
.woocommerce-message,
.woocommerce-info,
.woocommerce-error { border-top-color: var(--zuva-terracotta); background: var(--zuva-cream-soft); color: var(--zuva-charcoal); }
.woocommerce-message::before,
.woocommerce-info::before { color: var(--zuva-terracotta); }
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  border-radius: 0;
  background: var(--zuva-charcoal);
  color: var(--zuva-cream);
  font-family: var(--zuva-accent);
  font-size: .65rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover { background: var(--zuva-terracotta); color: var(--zuva-cream); }
.woocommerce table.shop_table { border-radius: 0; border-color: var(--zuva-border); }
.woocommerce table.shop_table th { font-family: var(--zuva-accent); font-size: .63rem; letter-spacing: .1em; text-transform: uppercase; }
.woocommerce table.shop_table td { border-color: var(--zuva-border); }
.woocommerce-cart table.cart img { width: 72px; height: 72px; object-fit: cover; }
.woocommerce .quantity .qty { min-height: 42px; border: 1px solid var(--zuva-border); }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single {
  min-height: 48px;
  padding: .65rem .8rem;
  border: 1px solid var(--zuva-border);
  border-radius: 0;
  background: var(--zuva-cream-soft);
}
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 32px; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px; }
.woocommerce-checkout #payment { border-radius: 0; background: var(--zuva-cream-soft); }
.woocommerce-checkout #payment div.payment_box { background: #eee4d3; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #eee4d3; }
.woocommerce ul#shipping_method li { margin-bottom: .4rem; }
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout-review-order { padding: 1.5rem; border: 1px solid var(--zuva-border); background: rgba(255,255,255,.25); }
.woocommerce-order-received .woocommerce-order { max-width: 900px; margin-inline: auto; }

/* Regular page templates */
body:not(.home) .wp-site-blocks > main { min-height: 60vh; }
.zuva-content-shell { padding: calc(var(--zuva-header-height) + 4rem) 1.5rem 5rem; }
.zuva-content-shell > * { max-width: 980px; margin-inline: auto; }

/* Responsive */
@media (max-width: 980px) {
  .zuva-header-inner { max-width: none !important; }
  .zuva-menu-items { gap-inline: 2.5rem; }
  .zuva-story-quote { left: -.5rem; }
}
@media (max-width: 782px) {
  .admin-bar .zuva-site-header { top: 46px; }
  .admin-bar .zuva-cart-drawer { top: 46px; }
  .zuva-header-inner { padding-inline: 1rem; }
  .zuva-brand-text { display: none; }
  .zuva-header-reserve { display: none; }
  .zuva-site-header .wp-block-navigation { display: flex !important; margin-left: auto !important; order: 2; }
  .zuva-header-actions { order: 3; }
  .zuva-site-header .wp-block-navigation__responsive-container-open { display: flex; }
  .zuva-site-header .wp-block-navigation__responsive-container.is-menu-open {
    padding: 6rem 2rem 2rem;
    background: var(--zuva-cream);
    color: var(--zuva-charcoal);
  }
  .zuva-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 1.5rem; font-size: .9rem; }
  .zuva-site-header .wp-block-navigation__responsive-container-close { top: 1.4rem; right: 1.4rem; }
  .zuva-hero-title { font-size: clamp(3.7rem, 17vw, 6.5rem) !important; }
  .zuva-hero-logo img { width: 110px; height: 110px; }
  .zuva-story-section,
  .zuva-menu-shell,
  .zuva-gallery-section,
  .zuva-reservation-section,
  .zuva-visit-section { padding-top: 6rem; padding-bottom: 6rem; }
  .zuva-story-columns { gap: 4rem !important; }
  .zuva-story-visual { margin-top: 1rem; }
  .zuva-menu-items { grid-template-columns: 1fr; gap: 1.8rem; }
  .zuva-menu-category-header { align-items: flex-start !important; flex-direction: column; gap: .4rem !important; }
  .zuva-gallery-grid { gap: 1rem !important; }
  .zuva-room-section { min-height: 70vh !important; }
  .zuva-reservation-form { grid-template-columns: 1fr; }
  .zuva-reservation-form .zuva-reservation-notes,
  .zuva-reservation-form button { grid-column: auto; }
}
@media (max-width: 560px) {
  :root { --zuva-header-height: 72px; }
  .zuva-site-header .wp-block-site-logo img { width: 44px; height: 44px; }
  .zuva-cart-trigger { min-height: 42px; padding: .72rem 1rem; }
  .zuva-cart-count { top: -.35rem; right: -.35rem; }
  .zuva-hero-content { padding-inline: 1rem; }
  .zuva-hero-intro { font-size: .98rem; }
  .zuva-hero-buttons { flex-direction: column; align-items: stretch !important; width: min(100%,300px); margin-inline: auto !important; }
  .zuva-hero-buttons .wp-block-button { width: 100%; }
  .zuva-hero-buttons .wp-block-button__link { width: 100%; }
  .zuva-story-section,
  .zuva-menu-shell,
  .zuva-gallery-section,
  .zuva-reservation-section,
  .zuva-visit-section { padding-inline: 1.15rem; }
  .zuva-story-copy .zuva-section-title,
  .zuva-menu-heading .zuva-section-title,
  .zuva-gallery-heading .zuva-section-title,
  .zuva-reservation-inner .zuva-section-title { font-size: 3rem !important; }
  .zuva-story-quote { bottom: -1rem; left: 0; }
  .zuva-gallery-grid { display: grid !important; grid-template-columns: 1fr; }
  .zuva-dish-card { aspect-ratio: 4 / 5; }
  .zuva-visit-grid { gap: 2rem !important; }
  .zuva-cart-item { gap: .75rem; }
  .zuva-cart-item-image { width: 58px; height: 66px; flex-basis: 58px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .zuva-js .zuva-reveal { opacity: 1; transform: none; }
}

/* ========================================================================
   ZUVA 5.1 — live header, native Mini-Cart positioning, and motion repairs
   ======================================================================== */

/* The live Site Editor header must remain visible while the page scrolls.
   This selector intentionally outranks older user CSS that set it to absolute. */
html body.home .wp-site-blocks > header.wp-block-template-part,
html body.home header.wp-block-template-part.zuva-site-header,
html body .zuva-site-header {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  left: 0 !important;
  width: 100% !important;
  z-index: 100000 !important;
  isolation: isolate;
  background: transparent !important;
  background-image: none !important;
}

/* Warm frosted-glass layer matching the Lovable navigation. */
html body.home .wp-site-blocks > header.wp-block-template-part::before,
html body.home header.wp-block-template-part.zuva-site-header::before,
html body .zuva-site-header::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: rgba(214, 205, 192, .86) !important;
  border-bottom: 1px solid rgba(255, 255, 255, .28);
  box-shadow: 0 1px 0 rgba(40, 30, 22, .04), 0 8px 28px rgba(25, 18, 12, .06);
  -webkit-backdrop-filter: blur(18px) saturate(120%);
  backdrop-filter: blur(18px) saturate(120%);
}

/* Keep all saved Site Editor blocks above the glass and remove opaque fills. */
html body.home .wp-site-blocks > header.wp-block-template-part > *,
html body.home header.wp-block-template-part.zuva-site-header > *,
html body .zuva-site-header > * {
  position: relative;
  z-index: 1;
}

html body.home .wp-site-blocks > header.wp-block-template-part .wp-block-group,
html body.home .wp-site-blocks > header.wp-block-template-part .wp-block-columns,
html body.home .wp-site-blocks > header.wp-block-template-part .wp-block-column,
html body.home .wp-site-blocks > header.wp-block-template-part .wp-block-navigation,
html body.home header.wp-block-template-part.zuva-site-header .wp-block-group,
html body.home header.wp-block-template-part.zuva-site-header .wp-block-columns,
html body.home header.wp-block-template-part.zuva-site-header .wp-block-column,
html body.home header.wp-block-template-part.zuva-site-header .wp-block-navigation,
html body .zuva-site-header .wp-block-group,
html body .zuva-site-header .wp-block-columns,
html body .zuva-site-header .wp-block-column,
html body .zuva-site-header .wp-block-navigation {
  background-color: transparent !important;
  background-image: none !important;
}

/* WordPress admin toolbar offset. */
html body.admin-bar.home .wp-site-blocks > header.wp-block-template-part,
html body.admin-bar.home header.wp-block-template-part.zuva-site-header,
html body.admin-bar .zuva-site-header {
  top: 32px !important;
}

/* The WooCommerce Mini-Cart drawer starts immediately below the fixed header,
   so its title, close button, and first item can never be covered. The exact
   offset is measured by theme.js and stored in --zuva-live-header-bottom. */
html body .wc-block-components-drawer__screen-overlay {
  position: fixed !important;
  inset: var(--zuva-live-header-bottom, 112px) 0 0 0 !important;
  width: auto !important;
  height: auto !important;
  max-height: none !important;
  z-index: 99990 !important;
}

html body .wc-block-mini-cart__drawer.wc-block-components-drawer {
  top: 0 !important;
  bottom: 0 !important;
  height: 100% !important;
  max-height: 100% !important;
}

html body .wc-block-components-drawer__content,
html body .wc-block-mini-cart__template-part {
  min-height: 0;
  max-height: 100%;
}

/* Restore the scroll reveal even if a performance plugin delays the original
   JavaScript. */
html.zuva-motion-ready .zuva-reveal:not(.is-visible) {
  opacity: 0;
  transform: translate3d(0, 42px, 0);
}

html.zuva-motion-ready .zuva-reveal.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: opacity .9s var(--zuva-ease), transform .9s var(--zuva-ease);
}

/* The original room image had a missing starting scale, which prevented its
   intended cinematic zoom from being visible. */
html.zuva-motion-ready .zuva-room-section .wp-block-cover__image-background {
  transform: scale(1.09);
  transition: transform 1.7s var(--zuva-ease), filter 1.2s ease;
  will-change: transform;
}

html.zuva-motion-ready .zuva-room-section.is-visible .wp-block-cover__image-background {
  transform: scale(1);
}

html.zuva-motion-ready .zuva-room-section .zuva-room-content > * {
  opacity: 0;
  transform: translate3d(0, 30px, 0);
  transition: opacity .9s var(--zuva-ease), transform .9s var(--zuva-ease);
}

html.zuva-motion-ready .zuva-room-section.is-visible .zuva-room-content > * {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

html.zuva-motion-ready .zuva-room-section.is-visible .zuva-room-content > :nth-child(1) { transition-delay: .18s; }
html.zuva-motion-ready .zuva-room-section.is-visible .zuva-room-content > :nth-child(2) { transition-delay: .31s; }
html.zuva-motion-ready .zuva-room-section.is-visible .zuva-room-content > :nth-child(3) { transition-delay: .44s; }

/* Lovable-style first-load animation for the hero's individual elements. The
   parallax transform remains on the parent and therefore is not interrupted. */
html.zuva-motion-ready:not(.zuva-page-loaded) .zuva-hero-logo,
html.zuva-motion-ready:not(.zuva-page-loaded) .zuva-hero-kicker,
html.zuva-motion-ready:not(.zuva-page-loaded) .zuva-hero-title,
html.zuva-motion-ready:not(.zuva-page-loaded) .zuva-hero-intro,
html.zuva-motion-ready:not(.zuva-page-loaded) .zuva-hero-buttons,
html.zuva-motion-ready:not(.zuva-page-loaded) .zuva-scroll-cue {
  opacity: 0;
}

html.zuva-motion-ready.zuva-page-loaded .zuva-hero-logo {
  animation: zuvaHeroLogoIn 1.35s var(--zuva-ease) both;
}
html.zuva-motion-ready.zuva-page-loaded .zuva-hero-kicker {
  animation: zuvaHeroFadeUp .95s .28s var(--zuva-ease) both;
}
html.zuva-motion-ready.zuva-page-loaded .zuva-hero-title {
  animation: zuvaHeroFadeUp 1.05s .42s var(--zuva-ease) both;
}
html.zuva-motion-ready.zuva-page-loaded .zuva-hero-intro {
  animation: zuvaHeroFadeUp .95s .68s var(--zuva-ease) both;
}
html.zuva-motion-ready.zuva-page-loaded .zuva-hero-buttons {
  animation: zuvaHeroFadeUp .9s .86s var(--zuva-ease) both;
}
html.zuva-motion-ready.zuva-page-loaded .zuva-scroll-cue {
  animation: zuvaHeroFadeUp .9s 1.15s var(--zuva-ease) both;
}

@keyframes zuvaHeroLogoIn {
  from { opacity: 0; transform: scale(.85); }
  to { opacity: 1; transform: scale(1); }
}

@keyframes zuvaHeroFadeUp {
  from { opacity: 0; transform: translate3d(0, 28px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@media (max-width: 782px) {
  html body.admin-bar.home .wp-site-blocks > header.wp-block-template-part,
  html body.admin-bar.home header.wp-block-template-part.zuva-site-header,
  html body.admin-bar .zuva-site-header {
    top: 46px !important;
  }

  html body.home .wp-site-blocks > header.wp-block-template-part::before,
  html body.home header.wp-block-template-part.zuva-site-header::before,
  html body .zuva-site-header::before {
    background: rgba(214, 205, 192, .92) !important;
    -webkit-backdrop-filter: blur(20px) saturate(115%);
    backdrop-filter: blur(20px) saturate(115%);
  }
}

@media (prefers-reduced-motion: reduce) {
  html.zuva-motion-ready .zuva-reveal,
  html.zuva-motion-ready .zuva-room-section .wp-block-cover__image-background,
  html.zuva-motion-ready .zuva-room-section .zuva-room-content > *,
  html.zuva-motion-ready .zuva-hero-logo,
  html.zuva-motion-ready .zuva-hero-kicker,
  html.zuva-motion-ready .zuva-hero-title,
  html.zuva-motion-ready .zuva-hero-intro,
  html.zuva-motion-ready .zuva-hero-buttons,
  html.zuva-motion-ready .zuva-scroll-cue {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
  }
}

/* ========================================================================
   ZUVA 5.2 — native Mini-Cart reliability and fixed glass-header repair
   ======================================================================== */

/* Current saved Site Editor headers may still contain Woo account and native
   Mini-Cart blocks. Normalize them automatically to the Lovable layout. */
header.wp-block-template-part .wp-block-woocommerce-customer-account,
header.wp-block-template-part .wc-block-customer-account,
header.wp-block-template-part [class*="customer-account"] {
  display: none !important;
}

header.wp-block-template-part .wp-block-woocommerce-mini-cart,
header.wp-block-template-part .wc-block-mini-cart {
  order: 20 !important;
  margin: 0 !important;
}

header.wp-block-template-part .wp-block-buttons,
header.wp-block-template-part .zuva-header-reserve {
  order: 10 !important;
}

header.wp-block-template-part .wc-block-mini-cart__button {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 120px !important;
  min-height: 50px !important;
  padding: 15px 28px !important;
  margin: 0 !important;
  border: 1px solid #181411 !important;
  border-radius: 0 !important;
  background: #181411 !important;
  color: #f8f1e3 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

header.wp-block-template-part .wc-block-mini-cart__button::before {
  content: "ORDER" !important;
  display: block !important;
  color: #f8f1e3 !important;
  font-family: var(--zuva-accent) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: .24em !important;
  text-indent: .24em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

header.wp-block-template-part .wc-block-mini-cart__button:hover {
  background: var(--zuva-terracotta) !important;
  border-color: var(--zuva-terracotta) !important;
}

header.wp-block-template-part .wc-block-mini-cart__icon,
header.wp-block-template-part .wc-block-mini-cart__amount {
  display: none !important;
}

header.wp-block-template-part .wc-block-mini-cart__quantity-badge {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none !important;
}

header.wp-block-template-part .wc-block-mini-cart__badge {
  position: absolute !important;
  top: -11px !important;
  right: -11px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 23px !important;
  height: 23px !important;
  padding: 0 5px !important;
  border: 2px solid rgba(214,205,192,.96) !important;
  border-radius: 999px !important;
  background: var(--zuva-terracotta) !important;
  color: #fff !important;
  font-family: var(--zuva-body) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 19px !important;
  box-sizing: border-box !important;
}

/* The drawer overlays the full storefront and therefore cannot be clipped or
   hidden by the fixed header. */
html body .wc-block-components-drawer__screen-overlay {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  max-height: none !important;
  z-index: 200000 !important;
}

html body .wc-block-mini-cart__drawer.wc-block-components-drawer {
  top: 0 !important;
  bottom: 0 !important;
  height: 100% !important;
  max-height: 100% !important;
  z-index: 200001 !important;
}

body.admin-bar .wc-block-components-drawer__screen-overlay {
  top: 32px !important;
  height: calc(100vh - 32px) !important;
}

.zuva-add-order.is-adding {
  opacity: .65;
  pointer-events: none;
}

@media (max-width: 782px) {
  body.admin-bar .wc-block-components-drawer__screen-overlay {
    top: 46px !important;
    height: calc(100vh - 46px) !important;
  }

  header.wp-block-template-part .wc-block-mini-cart__button {
    min-width: 96px !important;
    min-height: 43px !important;
    padding: 12px 20px !important;
  }
}


/* Dynamic AJAX cart state (v5.3). */
.zuva-cart-loading-shell {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  min-height: 0;
}
.zuva-cart-loading {
  display: grid;
  justify-items: center;
  gap: .9rem;
  padding: 3rem;
  color: rgba(26,21,18,.58);
  text-align: center;
}
.zuva-cart-loading span {
  width: 34px;
  height: 34px;
  border: 1px solid rgba(26,21,18,.18);
  border-top-color: var(--zuva-terracotta);
  border-radius: 50%;
  animation: zuva-cart-spin .75s linear infinite;
}
.zuva-cart-loading p {
  margin: 0;
  font-family: var(--zuva-accent);
  font-size: .62rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.zuva-cart-drawer.is-loading .zuva-mini-cart-contents { opacity: .62; }
.zuva-cart-status.is-error { background: #7b290c; }
.zuva-cart-count[hidden] { display: none !important; }
@keyframes zuva-cart-spin { to { transform: rotate(360deg); } }


/* ========================================================================
   ZUVA 5.4 — WordPress admin-toolbar dropdown stacking fix
   ======================================================================== */

/* Keep the public-facing fixed glass header above the page, but below the
   WordPress admin toolbar and its dropdown menus while an administrator is
   logged in. The previous header z-index (100000) was one level above the
   core toolbar, so toolbar dropdowns appeared behind the header. */
html body.admin-bar.home .wp-site-blocks > header.wp-block-template-part,
html body.admin-bar.home header.wp-block-template-part.zuva-site-header,
html body.admin-bar .zuva-site-header {
  z-index: 9000 !important;
}

/* Reinforce the WordPress toolbar stacking context without affecting the
   customer-facing page when logged out. */
html body.admin-bar #wpadminbar {
  z-index: 999999 !important;
}

html body.admin-bar #wpadminbar .ab-top-menu,
html body.admin-bar #wpadminbar .ab-top-secondary,
html body.admin-bar #wpadminbar .ab-sub-wrapper,
html body.admin-bar #wpadminbar .menupop .ab-sub-wrapper {
  position: relative;
  z-index: 1000000 !important;
}


/* ================================================================
   ZUVA 5.5 — Shop Product Collection uses the live ORDER drawer
   ================================================================ */

/* WooCommerce intentionally renders a separate “View cart” link under the
   Product Button after an item is added. ZUVA opens the live ORDER drawer
   instead, so the second link is redundant and breaks the card alignment. */
.wp-block-button.wc-block-components-product-button > a:not(.wc-block-components-product-button__button),
.wp-block-button.wc-block-components-product-button .added_to_cart,
.wp-block-woocommerce-product-button .added_to_cart,
.woocommerce ul.products li.product .added_to_cart,
.woocommerce .products .added_to_cart {
  display: none !important;
}

/* Keep the product action area centered after the redundant link is removed. */
.wp-block-button.wc-block-components-product-button,
.wp-block-woocommerce-product-button {
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

/* When the ZUVA Header template part is inserted into Product Catalog, the
   header is fixed, so the catalog content must start below its live height. */
body.woocommerce-shop .wp-site-blocks > header.wp-block-template-part + *,
body.post-type-archive-product .wp-site-blocks > header.wp-block-template-part + *,
body.tax-product_cat .wp-site-blocks > header.wp-block-template-part + *,
body.tax-product_tag .wp-site-blocks > header.wp-block-template-part + * {
  padding-top: var(--zuva-live-header-height, var(--zuva-header-height, 80px)) !important;
}

/* The Site Editor canvas should not add the public fixed-header offset. */
.editor-styles-wrapper .wp-site-blocks > header.wp-block-template-part + * {
  padding-top: 0 !important;
}


/* ================================================================
   ZUVA 5.6 — Shop Add-to-Order uses only the live ORDER drawer
   ================================================================ */

/* Woo Product Collection can inject a secondary View cart link after adding.
   The ZUVA ORDER drawer replaces that link, so suppress every known variant. */
body.woocommerce-shop .wc-block-components-product-button a.added_to_cart,
body.woocommerce-shop .wc-block-components-product-button a[href*="/cart"],
body.woocommerce-shop .wc-block-components-product-button__button ~ a,
body.woocommerce-shop .wp-block-woocommerce-product-button a.added_to_cart,
body.woocommerce-shop .wp-block-woocommerce-product-button a[href*="/cart"],
body.woocommerce-shop .wp-block-button a.added_to_cart,
body.woocommerce-shop .wp-block-button a[href*="/cart"].wc-forward,
body.post-type-archive-product .added_to_cart,
body.tax-product_cat .added_to_cart,
body.tax-product_tag .added_to_cart {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

/* Do not reserve vertical space for the removed link. */
body.woocommerce-shop .wc-block-components-product-button,
body.woocommerce-shop .wp-block-woocommerce-product-button,
body.post-type-archive-product .wc-block-components-product-button,
body.tax-product_cat .wc-block-components-product-button,
body.tax-product_tag .wc-block-components-product-button {
  gap: 0 !important;
  min-height: 58px !important;
}


/* ================================================================
   ZUVA 5.7 — mobile header always exposes the live ORDER cart
   ================================================================ */
@media (max-width: 782px) {
  header.wp-block-template-part .wp-block-woocommerce-mini-cart,
  header.wp-block-template-part .wc-block-mini-cart {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    flex: 0 0 auto !important;
    width: auto !important;
    margin: 0 !important;
  }
  header.wp-block-template-part .wc-block-mini-cart__button {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    min-width: 92px !important;
    min-height: 44px !important;
    padding: 12px 16px !important;
  }
}
@media (max-width: 390px) {
  header.wp-block-template-part .wp-block-buttons,
  header.wp-block-template-part .zuva-header-reserve {
    display: none !important;
  }
}


/* ================================================================
   ZUVA 5.9 — clean mobile header: existing RESERVE becomes ORDER
   ================================================================ */

/* Official Saudi Riyal symbol image inside WooCommerce price markup. */
.woocommerce-Price-currencySymbol.zuva-sar-symbol-wrap {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: .82em !important;
  height: 1em !important;
  margin: 0 .32em 0 0 !important;
  vertical-align: -.08em !important;
  line-height: 1 !important;
  overflow: visible !important;
  color: inherit !important;
}
.woocommerce-Price-currencySymbol.zuva-sar-symbol-wrap::before {
  content: "" !important;
  display: block !important;
  width: .82em !important;
  height: .92em !important;
  background-color: currentColor !important;
  -webkit-mask: url("assets/images/saudi-riyal-symbol.svg") center / contain no-repeat !important;
  mask: url("assets/images/saudi-riyal-symbol.svg") center / contain no-repeat !important;
}



/* Mobile header keeps the original clean layout: logo | menu | ORDER.
   No additional injected button is created. */
@media (max-width: 782px) {
  header.wp-block-template-part,
  header.wp-block-template-part .zuva-site-header,
  header.wp-block-template-part .zuva-site-header-runtime {
    min-height: 82px !important;
    overflow: visible !important;
  }

  header.wp-block-template-part .zuva-header-inner,
  header.wp-block-template-part > .wp-block-group > .wp-block-group.is-layout-flex {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    align-items: center !important;
    gap: 12px !important;
    min-height: 82px !important;
    padding: 10px 28px !important;
  }

  header.wp-block-template-part .zuva-brand-lockup,
  header.wp-block-template-part .wp-block-site-logo {
    grid-column: 1 !important;
    justify-self: start !important;
    position: static !important;
    max-width: none !important;
    margin: 0 !important;
  }

  header.wp-block-template-part .wp-block-site-logo img {
    width: 58px !important;
    height: 58px !important;
    object-fit: contain !important;
  }

  header.wp-block-template-part .wp-block-navigation {
    grid-column: 2 !important;
    justify-self: center !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    transform: none !important;
    order: initial !important;
  }

  header.wp-block-template-part .wp-block-navigation__responsive-container-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 46px !important;
    height: 46px !important;
    padding: 0 !important;
  }

  header.wp-block-template-part .zuva-header-actions {
    grid-column: 3 !important;
    justify-self: end !important;
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    order: initial !important;
  }

  /* Hide desktop/native cart controls. The existing Reserve button becomes
     the one and only mobile ORDER trigger through theme.js. */
  header.wp-block-template-part .wp-block-woocommerce-mini-cart,
  header.wp-block-template-part .wc-block-mini-cart,
  header.wp-block-template-part .wp-block-shortcode,
  header.wp-block-template-part .zuva-cart-trigger:not(.zuva-mobile-reserve-as-order),
  header.wp-block-template-part .zuva-mobile-order-fallback {
    display: none !important;
  }

  header.wp-block-template-part .zuva-header-reserve,
  header.wp-block-template-part .zuva-header-reserve.wp-block-buttons,
  header.wp-block-template-part .zuva-header-actions > .wp-block-buttons {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin: 0 !important;
  }

  header.wp-block-template-part .zuva-header-reserve .zuva-mobile-reserve-as-order,
  header.wp-block-template-part a.zuva-mobile-reserve-as-order {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 128px !important;
    min-height: 54px !important;
    padding: 15px 22px !important;
    margin: 0 !important;
    border: 1px solid #181411 !important;
    border-radius: 0 !important;
    background: #181411 !important;
    color: #f8f1e3 !important;
    box-shadow: none !important;
    font-family: var(--zuva-accent) !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: .22em !important;
    text-indent: .22em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    white-space: nowrap !important;
  }

  header.wp-block-template-part .zuva-mobile-reserve-as-order .zuva-cart-count {
    position: absolute !important;
    top: -10px !important;
    right: -10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 23px !important;
    height: 23px !important;
    padding: 0 5px !important;
    border: 2px solid rgba(214,205,192,.96) !important;
    border-radius: 999px !important;
    background: var(--zuva-terracotta) !important;
    color: #fff !important;
    font-family: var(--zuva-body) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 19px !important;
    text-indent: 0 !important;
    letter-spacing: 0 !important;
    box-sizing: border-box !important;
  }

  header.wp-block-template-part .zuva-mobile-reserve-as-order .zuva-cart-count[hidden] {
    display: none !important;
  }

  /* Restore WordPress's own full-screen mobile navigation. */
  header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open {
    position: fixed !important;
    inset: 0 !important;
    z-index: 400000 !important;
    display: flex !important;
    padding: 6rem 2rem 2rem !important;
    background: var(--zuva-cream) !important;
  }

  header.wp-block-template-part .wp-block-navigation__responsive-container-close {
    top: 22px !important;
    right: 22px !important;
    width: 44px !important;
    height: 44px !important;
  }
}

@media (max-width: 430px) {
  header.wp-block-template-part .zuva-header-inner,
  header.wp-block-template-part > .wp-block-group > .wp-block-group.is-layout-flex {
    padding-inline: 24px !important;
    gap: 8px !important;
  }

  header.wp-block-template-part .wp-block-site-logo img {
    width: 54px !important;
    height: 54px !important;
  }

  header.wp-block-template-part .zuva-header-reserve .zuva-mobile-reserve-as-order,
  header.wp-block-template-part a.zuva-mobile-reserve-as-order {
    min-width: 122px !important;
    min-height: 52px !important;
    padding-inline: 18px !important;
  }
}

@media (max-width: 360px) {
  header.wp-block-template-part .zuva-header-inner,
  header.wp-block-template-part > .wp-block-group > .wp-block-group.is-layout-flex {
    padding-inline: 16px !important;
  }

  header.wp-block-template-part .zuva-header-reserve .zuva-mobile-reserve-as-order,
  header.wp-block-template-part a.zuva-mobile-reserve-as-order {
    min-width: 108px !important;
    padding-inline: 14px !important;
    font-size: 10px !important;
    letter-spacing: .18em !important;
    text-indent: .18em !important;
  }
}



/* ========================================================================
   ZUVA 6.0 — authoritative mobile header layout
   Runtime-detected slots keep the saved Site Editor header on one clean row.
   ======================================================================== */
@media (max-width: 782px) {
  html {
    --zuva-header-height: 76px !important;
    --zuva-live-header-height: 76px !important;
  }

  html body header.wp-block-template-part.zuva-mobile-header-ready,
  html body header.wp-block-template-part.zuva-mobile-header-ready > .wp-block-group,
  html body header.wp-block-template-part.zuva-mobile-header-ready .zuva-site-header,
  html body header.wp-block-template-part.zuva-mobile-header-ready .zuva-site-header-runtime,
  html body header.wp-block-template-part.zuva-mobile-header-ready .zuva-mobile-header-shell-runtime {
    height: 76px !important;
    min-height: 76px !important;
    max-height: 76px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  html body header.wp-block-template-part.zuva-mobile-header-ready
  .zuva-mobile-header-row-runtime {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 44px minmax(0, 1fr) !important;
    grid-template-rows: 76px !important;
    align-items: center !important;
    align-content: center !important;
    justify-items: stretch !important;
    width: 100% !important;
    max-width: none !important;
    height: 76px !important;
    min-height: 76px !important;
    max-height: 76px !important;
    margin: 0 !important;
    padding: 0 22px !important;
    gap: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  html body header.wp-block-template-part.zuva-mobile-header-ready
  .zuva-mobile-header-row-runtime > * {
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    align-self: center !important;
  }

  html body header.wp-block-template-part.zuva-mobile-header-ready
  .zuva-mobile-logo-slot {
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: start !important;
    align-self: center !important;
    position: static !important;
    transform: none !important;
  }

  html body header.wp-block-template-part.zuva-mobile-header-ready
  .zuva-mobile-logo-slot .zuva-brand-text {
    display: none !important;
  }

  html body header.wp-block-template-part.zuva-mobile-header-ready
  .zuva-mobile-logo-slot .wp-block-site-logo,
  html body header.wp-block-template-part.zuva-mobile-header-ready
  .zuva-mobile-logo-slot .custom-logo-link {
    display: block !important;
    width: 52px !important;
    height: 52px !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
  }

  html body header.wp-block-template-part.zuva-mobile-header-ready
  .zuva-mobile-logo-slot .wp-block-site-logo img,
  html body header.wp-block-template-part.zuva-mobile-header-ready
  .zuva-mobile-logo-slot .custom-logo {
    display: block !important;
    width: 52px !important;
    height: 52px !important;
    max-width: 52px !important;
    max-height: 52px !important;
    margin: 0 !important;
    object-fit: contain !important;
  }

  html body header.wp-block-template-part.zuva-mobile-header-ready
  .zuva-mobile-menu-slot {
    grid-column: 2 !important;
    grid-row: 1 !important;
    place-self: center !important;
    position: static !important;
    inset: auto !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    order: initial !important;
    z-index: 5 !important;
  }

  html body header.wp-block-template-part.zuva-mobile-header-ready
  .zuva-mobile-menu-slot.wp-block-navigation,
  html body header.wp-block-template-part.zuva-mobile-header-ready
  .zuva-mobile-menu-slot .wp-block-navigation {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html body header.wp-block-template-part.zuva-mobile-header-ready
  .zuva-mobile-menu-slot .wp-block-navigation__responsive-container-open,
  html body header.wp-block-template-part.zuva-mobile-header-ready
  .zuva-mobile-menu-slot.wp-block-navigation
  > .wp-block-navigation__responsive-container-open {
    position: static !important;
    inset: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    line-height: 1 !important;
  }

  html body header.wp-block-template-part.zuva-mobile-header-ready
  .zuva-mobile-menu-slot .wp-block-navigation__responsive-container-open svg {
    display: block !important;
    width: 28px !important;
    height: 28px !important;
    margin: 0 !important;
  }

  html body header.wp-block-template-part.zuva-mobile-header-ready
  .zuva-mobile-order-slot {
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    align-self: center !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    order: initial !important;
    z-index: 5 !important;
  }

  html body header.wp-block-template-part.zuva-mobile-header-ready
  .zuva-mobile-order-slot.zuva-header-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
  }

  html body header.wp-block-template-part.zuva-mobile-header-ready
  .zuva-mobile-order-slot.zuva-header-actions
  > :not(.zuva-header-reserve) {
    display: none !important;
  }

  html body header.wp-block-template-part.zuva-mobile-header-ready
  .zuva-mobile-order-slot .zuva-header-reserve,
  html body header.wp-block-template-part.zuva-mobile-header-ready
  .zuva-mobile-order-slot .wp-block-buttons,
  html body header.wp-block-template-part.zuva-mobile-header-ready
  .zuva-mobile-order-slot .wp-block-button {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html body header.wp-block-template-part.zuva-mobile-header-ready
  .zuva-mobile-order-slot .zuva-mobile-reserve-as-order {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 112px !important;
    min-width: 112px !important;
    max-width: 112px !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    margin: 0 !important;
    padding: 0 16px !important;
    border: 1px solid #181411 !important;
    border-radius: 0 !important;
    background: #181411 !important;
    color: #f8f1e3 !important;
    box-shadow: none !important;
    font-family: Cinzel, Georgia, serif !important;
    font-size: 10px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: .22em !important;
    text-indent: .22em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
  }

  html body header.wp-block-template-part.zuva-mobile-header-ready
  .zuva-mobile-order-slot .zuva-mobile-reserve-as-order .zuva-cart-count {
    top: -8px !important;
    right: -8px !important;
  }

  html body.admin-bar
  header.wp-block-template-part.zuva-mobile-header-ready {
    top: 46px !important;
  }
}

@media (max-width: 430px) {
  html {
    --zuva-header-height: 70px !important;
    --zuva-live-header-height: 70px !important;
  }

  html body header.wp-block-template-part.zuva-mobile-header-ready,
  html body header.wp-block-template-part.zuva-mobile-header-ready > .wp-block-group,
  html body header.wp-block-template-part.zuva-mobile-header-ready .zuva-site-header,
  html body header.wp-block-template-part.zuva-mobile-header-ready .zuva-site-header-runtime,
  html body header.wp-block-template-part.zuva-mobile-header-ready .zuva-mobile-header-shell-runtime {
    height: 70px !important;
    min-height: 70px !important;
    max-height: 70px !important;
  }

  html body header.wp-block-template-part.zuva-mobile-header-ready
  .zuva-mobile-header-row-runtime {
    grid-template-columns: minmax(0, 1fr) 42px minmax(0, 1fr) !important;
    grid-template-rows: 70px !important;
    height: 70px !important;
    min-height: 70px !important;
    max-height: 70px !important;
    padding: 0 16px !important;
  }

  html body header.wp-block-template-part.zuva-mobile-header-ready
  .zuva-mobile-logo-slot .wp-block-site-logo,
  html body header.wp-block-template-part.zuva-mobile-header-ready
  .zuva-mobile-logo-slot .custom-logo-link,
  html body header.wp-block-template-part.zuva-mobile-header-ready
  .zuva-mobile-logo-slot .wp-block-site-logo img,
  html body header.wp-block-template-part.zuva-mobile-header-ready
  .zuva-mobile-logo-slot .custom-logo {
    width: 48px !important;
    height: 48px !important;
    max-width: 48px !important;
    max-height: 48px !important;
  }

  html body header.wp-block-template-part.zuva-mobile-header-ready
  .zuva-mobile-menu-slot,
  html body header.wp-block-template-part.zuva-mobile-header-ready
  .zuva-mobile-menu-slot.wp-block-navigation,
  html body header.wp-block-template-part.zuva-mobile-header-ready
  .zuva-mobile-menu-slot .wp-block-navigation,
  html body header.wp-block-template-part.zuva-mobile-header-ready
  .zuva-mobile-menu-slot .wp-block-navigation__responsive-container-open {
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
  }

  html body header.wp-block-template-part.zuva-mobile-header-ready
  .zuva-mobile-order-slot .zuva-mobile-reserve-as-order {
    width: 104px !important;
    min-width: 104px !important;
    max-width: 104px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    padding-inline: 12px !important;
    font-size: 9.5px !important;
    letter-spacing: .20em !important;
    text-indent: .20em !important;
  }
}



/* =========================================================
   ZUVA 8.0 — unified website/PWA presentation
   ========================================================= */
.zuva-account-button {
  min-height: 46px; display:inline-flex; align-items:center; justify-content:center;
  padding: 0 24px; border:1px solid #ad4c2d; color:#ad4c2d;
  background:transparent; font-family:Cinzel,Georgia,serif; font-size:11px;
  letter-spacing:.2em; text-transform:uppercase; text-decoration:none;
}
.zuva-account-button:hover { background:#ad4c2d; color:#fff; }
.zuva-account-cta-actions { gap:14px; margin-top:28px; }
.zuva-account-cta-actions .zuva-account-button { color:#f8f1e3; border-color:#f8f1e3; }
.zuva-account-cta-actions .zuva-account-button:hover { color:#181411; background:#f8f1e3; }

/* Full-screen, reliable WordPress mobile menu. */
@media (max-width: 782px) {
  header.wp-block-template-part .zuva-header-inner,
  .zuva-site-header .zuva-header-inner {
    display:grid !important; grid-template-columns:64px minmax(44px,1fr) 112px !important;
    align-items:center !important; min-height:104px !important; height:104px !important;
    padding:12px 20px !important; gap:10px !important; max-width:none !important;
  }
  header.wp-block-template-part .zuva-brand-lockup,
  .zuva-site-header .zuva-brand-lockup { grid-column:1; justify-self:start; margin:0 !important; }
  header.wp-block-template-part .zuva-brand-text,
  .zuva-site-header .zuva-brand-text { display:none !important; }
  header.wp-block-template-part .wp-block-site-logo img,
  .zuva-site-header .wp-block-site-logo img { width:58px !important; height:58px !important; object-fit:contain; }
  header.wp-block-template-part .zuva-header-nav,
  .zuva-site-header .zuva-header-nav { grid-column:2; justify-self:center !important; margin:0 !important; }
  header.wp-block-template-part .wp-block-navigation__responsive-container-open,
  .zuva-site-header .wp-block-navigation__responsive-container-open {
    display:flex !important; align-items:center !important; justify-content:center !important;
    width:46px !important; height:46px !important; padding:0 !important; margin:0 !important;
  }
  header.wp-block-template-part .wp-block-navigation__responsive-container-open svg,
  .zuva-site-header .wp-block-navigation__responsive-container-open svg { width:30px !important; height:30px !important; }
  header.wp-block-template-part .zuva-header-actions,
  .zuva-site-header .zuva-header-actions { grid-column:3; justify-self:end; margin:0 !important; gap:0 !important; }
  header.wp-block-template-part .zuva-header-actions .zuva-account-button,
  .zuva-site-header .zuva-header-actions .zuva-account-button { display:none !important; }
  header.wp-block-template-part .zuva-cart-trigger,
  .zuva-site-header .zuva-cart-trigger { min-width:110px !important; min-height:48px !important; padding:0 16px !important; }

  header.wp-block-template-part .wp-block-navigation__responsive-container,
  .zuva-site-header .wp-block-navigation__responsive-container {
    position:fixed !important; inset:0 !important; z-index:2147483000 !important;
    width:100vw !important; height:100dvh !important; max-height:none !important;
    padding:0 !important; background:rgba(248,241,227,.985) !important;
    -webkit-backdrop-filter:blur(26px) saturate(120%); backdrop-filter:blur(26px) saturate(120%);
    overflow-y:auto !important;
  }
  header.wp-block-template-part .wp-block-navigation__responsive-container-content,
  .zuva-site-header .wp-block-navigation__responsive-container-content {
    display:flex !important; min-height:100dvh !important; padding:96px 30px 120px !important;
    align-items:center !important; justify-content:center !important;
  }
  header.wp-block-template-part .wp-block-navigation__responsive-container .wp-block-navigation__container,
  .zuva-site-header .wp-block-navigation__responsive-container .wp-block-navigation__container {
    display:flex !important; flex-direction:column !important; align-items:center !important;
    gap:28px !important; width:100% !important;
  }
  header.wp-block-template-part .wp-block-navigation__responsive-container .wp-block-navigation-item__content,
  .zuva-site-header .wp-block-navigation__responsive-container .wp-block-navigation-item__content {
    font-family:Cinzel,Georgia,serif !important; font-size:24px !important; letter-spacing:.18em !important;
    color:#211a16 !important; text-transform:uppercase; padding:8px 14px !important;
  }
  header.wp-block-template-part .wp-block-navigation__responsive-container-close,
  .zuva-site-header .wp-block-navigation__responsive-container-close {
    position:fixed !important; top:24px !important; right:24px !important; width:48px !important; height:48px !important;
    display:flex !important; align-items:center !important; justify-content:center !important; padding:0 !important;
    color:#211a16 !important; background:transparent !important; border:1px solid rgba(33,26,22,.18) !important;
  }
  .admin-bar header.wp-block-template-part .wp-block-navigation__responsive-container-close { top:70px !important; }
  body:has(.wp-block-navigation__responsive-container.is-menu-open) { overflow:hidden !important; }
}

/* Mobile bottom application navigation. */
.zuva-app-bottom-nav { display:none; }
@media (max-width:782px) {
  body { padding-bottom:calc(74px + env(safe-area-inset-bottom,0px)); }
  .zuva-app-bottom-nav {
    position:fixed; left:0; right:0; bottom:0; z-index:160000; display:grid;
    grid-template-columns:repeat(5,1fr); min-height:70px; padding:7px 5px env(safe-area-inset-bottom,0px);
    background:rgba(248,241,227,.97); border-top:1px solid rgba(33,26,22,.1);
    box-shadow:0 -10px 35px rgba(25,18,12,.1); -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px);
  }
  .zuva-app-bottom-nav a { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; color:#675f57; text-decoration:none; }
  .zuva-app-bottom-nav a>span { font-size:22px; line-height:1; }
  .zuva-app-bottom-nav small { font-family:Inter,sans-serif; font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
  .zuva-app-bottom-nav a:hover,.zuva-app-bottom-nav a[aria-current="page"] { color:#ad4c2d; }
  .zuva-bottom-cart-count { position:absolute; top:1px; right:calc(50% - 23px); display:grid; place-items:center; min-width:18px; height:18px; padding:0 4px; border-radius:99px; color:#fff; background:#ad4c2d; font-size:10px; }
}

/* Catalog presentation: no breadcrumb, result count or sorting; aligned cards. */
.woocommerce-breadcrumb,.woocommerce-result-count,.woocommerce-ordering,
.wc-block-product-results-count,.wp-block-woocommerce-catalog-sorting,
.wc-block-components-product-button a.added_to_cart,.woocommerce a.added_to_cart { display:none !important; }
.zuva-shop-shell,.post-type-archive-product main { padding-top:clamp(150px,15vw,210px); padding-bottom:100px; }
.wp-block-woocommerce-product-collection .wc-block-product,
.woocommerce ul.products li.product { display:flex !important; flex-direction:column !important; height:100%; text-align:center; }
.wp-block-woocommerce-product-collection .wp-block-post-title,
.woocommerce-loop-product__title { min-height:42px; display:flex; align-items:center; justify-content:center; text-align:center; }
.wp-block-woocommerce-product-collection .wp-block-woocommerce-product-summary,
.wp-block-woocommerce-product-collection .wc-block-components-product-summary { min-height:64px; display:flex; align-items:center; justify-content:center; text-align:center; }
.wp-block-woocommerce-product-collection .wp-block-woocommerce-product-button { margin-top:auto; }
.zuva-product-shell { padding-top:clamp(140px,14vw,200px); padding-bottom:100px; }

/* Admin setup cards must not clip or overlap on narrow screens. */
.woocommerce_page_zuva-mobile-app .wrap .card { box-sizing:border-box; width:min(100%,1000px); max-width:1000px !important; overflow:visible; }
.woocommerce_page_zuva-mobile-app .form-table input.regular-text,
.woocommerce_page_zuva-mobile-app .form-table input.large-text,
.woocommerce_page_zuva-mobile-app .form-table select { max-width:100%; }


/* =========================================================
   ZUVA 8.1 — polished accounts, orders and landing motion
   ========================================================= */

.zuva-site-header .wp-block-site-logo,
.zuva-hero-logo,
.zuva-footer .wp-block-site-logo {
  background: transparent !important;
}
.zuva-site-header .wp-block-site-logo img,
.zuva-hero-logo img,
.zuva-footer .wp-block-site-logo img {
  background: transparent !important;
}

@keyframes zuva-logo-arrive {
  from { opacity:0; transform:translateY(18px) scale(.88) rotate(-2deg); filter:blur(5px); }
  to { opacity:1; transform:translateY(0) scale(1) rotate(0); filter:blur(0); }
}
@keyframes zuva-copy-arrive {
  from { opacity:0; transform:translateY(28px); }
  to { opacity:1; transform:translateY(0); }
}
@keyframes zuva-button-arrive {
  from { opacity:0; transform:translateY(18px) scale(.97); }
  to { opacity:1; transform:translateY(0) scale(1); }
}
.zuva-js .zuva-hero-logo,
.zuva-js .zuva-hero-kicker,
.zuva-js .zuva-hero-title,
.zuva-js .zuva-hero-intro,
.zuva-js .zuva-hero-buttons { opacity:0; }
.zuva-page-loaded .zuva-hero-logo { animation:zuva-logo-arrive .95s var(--zuva-ease) .08s both; }
.zuva-page-loaded .zuva-hero-kicker { animation:zuva-copy-arrive .8s var(--zuva-ease) .22s both; }
.zuva-page-loaded .zuva-hero-title { animation:zuva-copy-arrive 1s var(--zuva-ease) .34s both; }
.zuva-page-loaded .zuva-hero-intro { animation:zuva-copy-arrive .9s var(--zuva-ease) .5s both; }
.zuva-page-loaded .zuva-hero-buttons { animation:zuva-button-arrive .8s var(--zuva-ease) .66s both; }
@media (prefers-reduced-motion: reduce) {
  .zuva-js .zuva-hero-logo,.zuva-js .zuva-hero-kicker,.zuva-js .zuva-hero-title,
  .zuva-js .zuva-hero-intro,.zuva-js .zuva-hero-buttons { opacity:1 !important; animation:none !important; transform:none !important; }
}

.woocommerce-account .zuva-page-shell {
  width:min(1160px,calc(100% - 40px));
  margin-inline:auto;
  padding-inline:0;
  overflow:hidden;
}
.woocommerce-account .zuva-page-title {
  margin:0 0 clamp(36px,6vw,72px);
  text-align:center;
  font-size:clamp(48px,7vw,76px) !important;
  line-height:.95;
}
.woocommerce-account .woocommerce {
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  align-items:start;
  gap:28px;
  width:100%;
  min-width:0;
}
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
  float:none !important;
  width:auto !important;
  min-width:0;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  display:grid;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}
.woocommerce-account .woocommerce-MyAccount-navigation li { margin:0; }
.woocommerce-account .woocommerce-MyAccount-navigation a {
  display:flex;
  align-items:center;
  min-height:50px;
  padding:13px 16px;
  border:1px solid rgba(33,26,22,.12);
  color:#5f574f;
  background:rgba(255,255,255,.52);
  font-size:14px;
  text-decoration:none;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
  border-color:#181411;
  color:#f8f1e3;
  background:#181411;
}
.woocommerce-account .woocommerce-MyAccount-content {
  padding:clamp(22px,4vw,38px);
  border:1px solid rgba(33,26,22,.12);
  background:rgba(255,255,255,.66);
  box-shadow:0 20px 55px rgba(25,18,12,.05);
  overflow-wrap:anywhere;
}
.woocommerce-account .woocommerce-MyAccount-content > :first-child { margin-top:0; }
.woocommerce-account .woocommerce-MyAccount-content > :last-child { margin-bottom:0; }
.woocommerce-account .woocommerce-Addresses {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.woocommerce-account .woocommerce-Address {
  float:none !important;
  width:auto !important;
  margin:0 !important;
  padding:22px;
  border:1px solid rgba(33,26,22,.11);
  background:#fff;
}
.woocommerce-account .woocommerce-Address-title {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.woocommerce-account .woocommerce-Address-title h2 { margin:0; font-size:30px; }
.woocommerce-account .woocommerce-Address address { line-height:1.7; }

.zuva-orders-shell,
.zuva-orders-list,
.zuva-order-card { min-width:0; max-width:100%; }
.zuva-order-card { overflow:hidden; }
.zuva-order-card header > * { min-width:0; }
.zuva-order-items { overflow-wrap:anywhere; }

.zuva-app-bottom-nav a[aria-current="page"] {
  color:#f8f1e3 !important;
  background:#181411;
}
.zuva-app-bottom-nav a[aria-current="page"] .zuva-bottom-cart-count {
  border:1px solid rgba(248,241,227,.7);
}

header.wp-block-template-part .zuva-runtime-account-action,
.zuva-site-header .zuva-runtime-account-action {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 24px;
  border:1px solid #ad4c2d;
  color:#ad4c2d;
  background:transparent;
  font-family:Cinzel,Georgia,serif;
  font-size:11px;
  letter-spacing:.2em;
  text-transform:uppercase;
  text-decoration:none;
}
header.wp-block-template-part .zuva-runtime-account-action:hover,
.zuva-site-header .zuva-runtime-account-action:hover {
  color:#fff;
  background:#ad4c2d;
}

@media (max-width:782px) {
  .woocommerce-account .zuva-page-shell {
    width:calc(100% - 28px);
    padding-top:calc(var(--zuva-live-header-height,88px) + 38px) !important;
    padding-bottom:110px;
    overflow:visible;
  }
  .woocommerce-account .zuva-page-title {
    margin-bottom:28px;
    font-size:44px !important;
  }
  .woocommerce-account .woocommerce {
    display:block;
    width:100%;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation {
    width:100% !important;
    margin:0 0 14px;
    overflow:visible;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation ul {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    width:100%;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation a {
    min-height:46px;
    justify-content:center;
    padding:10px 8px;
    font-size:12px;
    text-align:center;
  }
  .woocommerce-account .woocommerce-MyAccount-content {
    width:100% !important;
    padding:20px 18px;
    overflow:hidden;
  }
  .woocommerce-account .woocommerce-Addresses { grid-template-columns:1fr; }
  .woocommerce-account .woocommerce-Address { padding:18px; }
  .woocommerce-account .woocommerce-Address-title h2 { font-size:27px; }

  .zuva-orders-shell {
    width:calc(100% - 28px) !important;
    margin-inline:auto !important;
    padding-top:calc(var(--zuva-live-header-height,88px) + 38px) !important;
    padding-bottom:110px !important;
    overflow:hidden;
  }
  .zuva-orders-heading { margin-bottom:24px !important; }
  .zuva-orders-heading h1 { font-size:48px !important; }
  .zuva-order-card {
    width:100%;
    padding:18px 16px !important;
  }
  .zuva-order-card header {
    align-items:flex-start;
    gap:10px;
  }
  .zuva-order-card header > div:first-child { flex:1; min-width:0; }
  .zuva-order-card header > span { flex:0 0 auto; white-space:nowrap; }
  .zuva-order-card h3 { font-size:30px !important; }
  .zuva-order-progress {
    display:flex !important;
    width:100%;
    padding:18px 0 8px !important;
    margin:0 !important;
    overflow:visible !important;
  }
  .zuva-order-progress li {
    min-width:0 !important;
    padding:0 2px;
    font-size:9px !important;
    line-height:1.25;
    overflow-wrap:anywhere;
  }
  .zuva-order-progress li::before {
    top:7px !important;
    left:-50% !important;
    width:100% !important;
  }
  .zuva-order-progress i {
    width:16px !important;
    height:16px !important;
    margin-bottom:7px !important;
  }
  .zuva-order-items { font-size:13px; line-height:1.5; }

  .zuva-order-success {
    width:calc(100% - 28px) !important;
    min-height:calc(100dvh - 160px);
    padding-top:calc(var(--zuva-live-header-height,88px) + 44px) !important;
    padding-bottom:120px !important;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
}

@media (max-width:380px) {
  .woocommerce-account .woocommerce-MyAccount-navigation ul { grid-template-columns:1fr; }
  .zuva-order-progress li { font-size:8px !important; }
}

/* ========================================================================
   ZUVA 8.2 — forced mobile polish for saved Site Editor templates
   ======================================================================== */
html,
body,
.wp-site-blocks {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

.wp-block-site-logo,
.wp-block-site-logo a,
.wp-block-site-logo img,
.zuva-hero-logo,
.zuva-hero-logo img,
.zuva-brand-lockup,
.zuva-brand-lockup * {
  background: transparent !important;
  box-shadow: none !important;
}
.wp-block-site-logo img[data-zuva-transparent-logo="1"],
.zuva-hero-logo img {
  object-fit: contain !important;
  mix-blend-mode: normal !important;
}

/* A saved 6.0 Header may still render the Reserve wrapper. Its server-rendered
   account link must look identical to the approved outline action. */
.zuva-header-reserve.zuva-runtime-account-wrap {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
}
.zuva-header-reserve .zuva-account-button,
.zuva-header-reserve .zuva-runtime-account-action {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 116px;
  min-height: 48px;
  padding: 0 22px !important;
  color: var(--zuva-terracotta) !important;
  background: transparent !important;
  border: 1px solid var(--zuva-terracotta) !important;
  border-radius: 0 !important;
  font-family: var(--zuva-accent) !important;
  font-size: 11px !important;
  letter-spacing: .19em !important;
  line-height: 1 !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
}
.zuva-header-reserve .zuva-account-button:hover,
.zuva-header-reserve .zuva-runtime-account-action:hover {
  color: #fff !important;
  background: var(--zuva-terracotta) !important;
}

/* Landing animation remains visible even when a performance plugin defers the
   main bundle. */
body.home .zuva-hero-logo,
body.home .zuva-hero-kicker,
body.home .zuva-hero-title,
body.home .zuva-hero-intro,
body.home .zuva-hero-buttons {
  animation-fill-mode: both;
  animation-timing-function: var(--zuva-ease);
}
html.zuva-page-loaded body.home .zuva-hero-logo { animation-name: zuva-logo-arrive; animation-duration: 1s; animation-delay: .05s; }
html.zuva-page-loaded body.home .zuva-hero-kicker { animation-name: zuva-copy-arrive; animation-duration: .85s; animation-delay: .18s; }
html.zuva-page-loaded body.home .zuva-hero-title { animation-name: zuva-copy-arrive; animation-duration: 1s; animation-delay: .30s; }
html.zuva-page-loaded body.home .zuva-hero-intro { animation-name: zuva-copy-arrive; animation-duration: .9s; animation-delay: .46s; }
html.zuva-page-loaded body.home .zuva-hero-buttons { animation-name: zuva-button-arrive; animation-duration: .8s; animation-delay: .60s; }

/* The My Account heading is supplied by the app portal header, not by the raw
   WordPress page-title block. */
body.woocommerce-account .zuva-page-title,
body.woocommerce-account main > .wp-block-post-title {
  display: none !important;
}

@media (max-width: 782px) {
  body.woocommerce-account .zuva-page-shell,
  body.woocommerce-account main.zuva-page-shell,
  body.page-id-0 .zuva-page-shell {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: calc(var(--zuva-live-header-height, 92px) + 22px) 14px 112px !important;
    overflow: hidden !important;
  }
  .zuva-header-reserve .zuva-account-button,
  .zuva-header-reserve .zuva-runtime-account-action {
    min-width: 108px;
    min-height: 46px;
    padding-inline: 14px !important;
    font-size: 10px !important;
  }
}


/* =========================================================
   ZUVA 8.4 — website restored; installed app kept separate.
   The normal website homepage remains unchanged on desktop
   and mobile browsers. Only /zuva-app-home/ is app-specific.
   ========================================================= */

/* Hakoura mark beside the single ORDER control. */
.zuva-hakoura-logo {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:64px;
  height:50px;
  margin:0 0 0 4px;
  text-decoration:none;
}
.zuva-hakoura-logo img {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.zuva-header-actions {
  align-items:center !important;
  gap:10px !important;
}

/* Bottom app navigation is not part of the normal responsive website. */
@media (max-width:782px) {
  .zuva-app-bottom-nav { display:none !important; }
  html.zuva-pwa-standalone .zuva-app-bottom-nav,
  body.zuva-app-home-page .zuva-app-bottom-nav {
    display:grid !important;
  }
  html:not(.zuva-pwa-standalone) body:not(.zuva-app-home-page) {
    padding-bottom:0 !important;
  }

  /* Keep app navigation consistent—no black Cart tile. */
  html.zuva-pwa-standalone .zuva-app-bottom-nav a,
  body.zuva-app-home-page .zuva-app-bottom-nav a,
  html.zuva-pwa-standalone .zuva-app-bottom-nav .zuva-cart-trigger,
  body.zuva-app-home-page .zuva-app-bottom-nav .zuva-cart-trigger {
    min-width:0 !important;
    min-height:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    color:#675f57 !important;
    box-shadow:none !important;
    font-family:inherit !important;
    letter-spacing:normal !important;
    text-transform:none !important;
  }
  html.zuva-pwa-standalone .zuva-app-bottom-nav a:hover,
  html.zuva-pwa-standalone .zuva-app-bottom-nav a[aria-current="page"],
  body.zuva-app-home-page .zuva-app-bottom-nav a:hover,
  body.zuva-app-home-page .zuva-app-bottom-nav a[aria-current="page"] {
    background:transparent !important;
    color:#ad4c2d !important;
  }
  html.zuva-pwa-standalone .zuva-app-bottom-nav a[aria-current="page"]::before,
  body.zuva-app-home-page .zuva-app-bottom-nav a[aria-current="page"]::before {
    content:"";
    position:absolute;
    top:-7px;
    left:50%;
    width:28px;
    height:2px;
    border-radius:99px;
    background:#ad4c2d;
    transform:translateX(-50%);
  }

  /* Preserve the existing website mobile header, only adding Hakoura compactly. */
  header.wp-block-template-part .zuva-header-actions,
  .zuva-site-header .zuva-header-actions {
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:6px !important;
    width:auto !important;
    min-width:0 !important;
  }
  header.wp-block-template-part .zuva-cart-trigger,
  .zuva-site-header .zuva-cart-trigger {
    width:86px !important;
    min-width:86px !important;
    max-width:86px !important;
    min-height:44px !important;
    height:44px !important;
    padding:0 10px !important;
    font-size:9px !important;
    letter-spacing:.17em !important;
  }
  .zuva-hakoura-logo {
    width:38px;
    height:38px;
    margin:0;
  }
}

/* Dedicated visually editable installed-app homepage. */
body.zuva-app-home-page main,
body.zuva-app-home-page .entry-content {
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
  overflow:hidden;
}

@media (max-width:782px) {
  body.zuva-app-home-page .zuva-mobile-hero {
    min-height:calc(100svh - var(--zuva-live-header-height,104px)) !important;
  }
  body.zuva-app-home-page .zuva-mobile-hero .wp-block-cover__inner-container {
    min-height:calc(100svh - var(--zuva-live-header-height,104px)) !important;
  }
  body.zuva-app-home-page .zuva-mobile-hero-content {
    width:100%;
    max-width:100%;
    padding:3rem 22px 5.2rem;
    text-align:center;
  }
  body.zuva-app-home-page .zuva-mobile-hero .zuva-hero-logo img {
    width:124px !important;
    height:124px !important;
    max-width:124px !important;
    max-height:124px !important;
    border-radius:0 !important;
    object-fit:contain !important;
  }
  body.zuva-app-home-page .zuva-mobile-hero .zuva-hero-kicker {
    max-width:330px;
    margin:1.45rem auto 0;
    font-size:.62rem;
    letter-spacing:.22em;
    line-height:1.65;
  }
  body.zuva-app-home-page .zuva-mobile-hero .zuva-hero-title {
    margin:1.5rem 0 0 !important;
    font-size:clamp(3.5rem,16vw,5.3rem) !important;
    line-height:.86 !important;
  }
  body.zuva-app-home-page .zuva-mobile-hero .zuva-hero-intro {
    max-width:330px;
    margin:1.7rem auto 0 !important;
    font-size:1rem;
    line-height:1.65;
  }
  body.zuva-app-home-page .zuva-mobile-hero .zuva-hero-buttons {
    width:min(100%,330px);
    margin-top:1.8rem !important;
  }
  body.zuva-app-home-page .zuva-mobile-fulfillment,
  body.zuva-app-home-page .zuva-mobile-signatures {
    padding:5.5rem 20px;
  }
  body.zuva-app-home-page .zuva-mobile-fulfillment .zuva-section-title,
  body.zuva-app-home-page .zuva-mobile-signatures .zuva-section-title {
    max-width:330px;
    margin:1rem auto 2.2rem;
    font-size:clamp(2.7rem,12vw,4rem);
    line-height:.95;
  }
  body.zuva-app-home-page .zuva-mobile-fulfillment-grid {
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  body.zuva-app-home-page .zuva-mobile-service-card {
    padding:24px 22px;
    border:1px solid rgba(33,26,22,.12);
    background:rgba(255,255,255,.38);
    box-shadow:0 18px 55px rgba(33,26,22,.05);
  }
  body.zuva-app-home-page .zuva-mobile-service-card h3 {
    margin:.45rem 0 .3rem;
    font-size:1.8rem;
  }
  body.zuva-app-home-page .zuva-mobile-service-card p:last-child {
    max-width:250px;
    margin:.2rem auto 0;
    color:#786e64;
    font-size:.92rem;
    line-height:1.55;
  }
  body.zuva-app-home-page .zuva-mobile-service-icon {
    margin:0 !important;
    color:#ad4c2d;
    font-family:Cormorant Garamond,Georgia,serif;
    font-size:1.9rem;
  }
  body.zuva-app-home-page .zuva-mobile-menu-shell {
    padding-top:5.5rem !important;
    padding-bottom:5.5rem !important;
  }
  body.zuva-app-home-page .zuva-mobile-menu-shell .zuva-menu-heading,
  body.zuva-app-home-page .zuva-mobile-menu-shell .zuva-menu-categories {
    padding-inline:20px;
  }
  body.zuva-app-home-page .zuva-mobile-menu-shell .zuva-menu-category {
    padding-block:2rem;
  }
  body.zuva-app-home-page .zuva-mobile-menu-shell .zuva-menu-category-header {
    align-items:flex-end !important;
    gap:12px !important;
  }
  body.zuva-app-home-page .zuva-mobile-menu-shell .zuva-menu-category-header h3 {
    font-size:2.25rem;
  }
  body.zuva-app-home-page .zuva-mobile-signature-grid {
    display:grid;
    gap:18px;
  }
  body.zuva-app-home-page .zuva-mobile-signature-card {
    position:relative;
    overflow:hidden;
    background:#fff;
  }
  body.zuva-app-home-page .zuva-mobile-signature-card figure {
    margin:0 !important;
    aspect-ratio:4/3;
    overflow:hidden;
  }
  body.zuva-app-home-page .zuva-mobile-signature-card figure img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .7s cubic-bezier(.22,.61,.36,1);
  }
  body.zuva-app-home-page .zuva-mobile-signature-card.is-visible figure img {
    transform:scale(1.035);
  }
  body.zuva-app-home-page .zuva-mobile-signature-copy {
    padding:20px 20px 22px;
  }
  body.zuva-app-home-page .zuva-mobile-signature-copy h3 {
    margin:.35rem 0 0;
    font-size:2rem;
  }
}

/* Both website and app pages remain visible inside the block editor. */
.editor-styles-wrapper .zuva-mobile-hero,
.editor-styles-wrapper .zuva-mobile-fulfillment,
.editor-styles-wrapper .zuva-mobile-menu-shell,
.editor-styles-wrapper .zuva-mobile-signatures {
  display:block !important;
}

/* =========================================================
   ZUVA 8.5 — canonical dual-brand header and app polish
   ========================================================= */

/* The header contains exactly one account control, one ORDER control,
   followed by the Hakoura mark. */
.zuva-site-header .zuva-header-inner,
header.wp-block-template-part .zuva-header-inner {
  width: min(100% - 48px, 1380px) !important;
  max-width: 1380px !important;
}

.zuva-site-header .zuva-header-actions,
header.wp-block-template-part .zuva-header-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
  gap: 10px !important;
  width: auto !important;
  min-width: 0 !important;
}

.zuva-header-actions:has(.zuva-cart-trigger) .wp-block-woocommerce-mini-cart,
.zuva-header-actions:has(.zuva-cart-trigger) .wc-block-mini-cart {
  display: none !important;
}

.zuva-hakoura-logo {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 76px !important;
  width: 76px !important;
  height: 52px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  overflow: visible !important;
}

.zuva-hakoura-logo img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Installed-app menu headings remain centered and balanced. */
body.zuva-app-home-page .zuva-mobile-menu-shell .zuva-menu-heading,
html.zuva-pwa-standalone body .zuva-mobile-menu-shell .zuva-menu-heading {
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: auto !important;
  text-align: center !important;
}

body.zuva-app-home-page .zuva-mobile-menu-shell .zuva-menu-category-header,
html.zuva-pwa-standalone body .zuva-mobile-menu-shell .zuva-menu-category-header {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
}

body.zuva-app-home-page .zuva-mobile-menu-shell .zuva-menu-category-header h3,
body.zuva-app-home-page .zuva-mobile-menu-shell .zuva-menu-category-subtitle,
html.zuva-pwa-standalone body .zuva-mobile-menu-shell .zuva-menu-category-header h3,
html.zuva-pwa-standalone body .zuva-mobile-menu-shell .zuva-menu-category-subtitle {
  width: 100% !important;
  margin-inline: auto !important;
  text-align: center !important;
}

body.zuva-app-home-page .zuva-mobile-menu-shell .zuva-menu-category-subtitle,
html.zuva-pwa-standalone body .zuva-mobile-menu-shell .zuva-menu-category-subtitle {
  margin-top: .35rem !important;
}

/* Signature dishes use the photograph itself as the card background.
   The title is overlaid on a refined dark gradient instead of a white box. */
body.zuva-app-home-page .zuva-mobile-signature-card,
html.zuva-pwa-standalone body .zuva-mobile-signature-card {
  position: relative !important;
  min-height: 430px !important;
  aspect-ratio: 4 / 5 !important;
  overflow: hidden !important;
  background: #181411 !important;
  border: 0 !important;
  box-shadow: 0 22px 60px rgba(24,20,17,.16) !important;
}

body.zuva-app-home-page .zuva-mobile-signature-card figure,
html.zuva-pwa-standalone body .zuva-mobile-signature-card figure {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  aspect-ratio: auto !important;
}

body.zuva-app-home-page .zuva-mobile-signature-card figure img,
html.zuva-pwa-standalone body .zuva-mobile-signature-card figure img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transform: scale(1.01) !important;
}

body.zuva-app-home-page .zuva-mobile-signature-card::after,
html.zuva-pwa-standalone body .zuva-mobile-signature-card::after {
  content: "";
  position: absolute;
  inset: 38% 0 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(24,20,17,0) 0%, rgba(24,20,17,.3) 42%, rgba(24,20,17,.92) 100%);
  pointer-events: none;
}

body.zuva-app-home-page .zuva-mobile-signature-copy,
html.zuva-pwa-standalone body .zuva-mobile-signature-copy {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 2 !important;
  padding: 30px 26px 28px !important;
  color: var(--zuva-cream) !important;
  background: transparent !important;
}

body.zuva-app-home-page .zuva-mobile-signature-copy .zuva-gallery-kicker,
html.zuva-pwa-standalone body .zuva-mobile-signature-copy .zuva-gallery-kicker {
  color: #d78563 !important;
  margin: 0 0 .5rem !important;
}

body.zuva-app-home-page .zuva-mobile-signature-copy h3,
html.zuva-pwa-standalone body .zuva-mobile-signature-copy h3 {
  color: var(--zuva-cream) !important;
  margin: 0 !important;
  font-size: clamp(2.1rem, 10vw, 3.1rem) !important;
  line-height: .95 !important;
  text-shadow: 0 2px 20px rgba(0,0,0,.24) !important;
}

@media (max-width: 782px) {
  :root { --zuva-header-height: 86px; }

  header.wp-block-template-part .zuva-header-inner,
  .zuva-site-header .zuva-header-inner {
    display: grid !important;
    grid-template-columns: 54px 44px minmax(132px, auto) !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    max-width: none !important;
    height: 86px !important;
    min-height: 86px !important;
    padding: 10px 16px !important;
    gap: 10px !important;
    box-sizing: border-box !important;
  }

  header.wp-block-template-part .zuva-brand-lockup,
  .zuva-site-header .zuva-brand-lockup {
    grid-column: 1 !important;
    justify-self: start !important;
  }

  header.wp-block-template-part .wp-block-site-logo img,
  .zuva-site-header .wp-block-site-logo img {
    width: 52px !important;
    height: 52px !important;
  }

  header.wp-block-template-part .zuva-header-nav,
  .zuva-site-header .zuva-header-nav {
    grid-column: 2 !important;
    justify-self: center !important;
    width: 44px !important;
  }

  header.wp-block-template-part .zuva-header-actions,
  .zuva-site-header .zuva-header-actions {
    grid-column: 3 !important;
    justify-self: end !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    width: auto !important;
    min-width: 132px !important;
    margin: 0 !important;
  }

  header.wp-block-template-part .zuva-header-actions > .wp-block-shortcode,
  .zuva-site-header .zuva-header-actions > .wp-block-shortcode {
    display: block !important;
    width: auto !important;
    margin: 0 !important;
  }

  header.wp-block-template-part .zuva-header-actions > .wp-block-shortcode:has(.zuva-account-button),
  .zuva-site-header .zuva-header-actions > .wp-block-shortcode:has(.zuva-account-button),
  header.wp-block-template-part .zuva-header-actions .zuva-account-button,
  .zuva-site-header .zuva-header-actions .zuva-account-button {
    display: none !important;
  }

  header.wp-block-template-part .zuva-cart-trigger,
  .zuva-site-header .zuva-cart-trigger {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 82px !important;
    min-width: 82px !important;
    max-width: 82px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 10px !important;
    font-size: 9px !important;
    letter-spacing: .16em !important;
  }

  header.wp-block-template-part .zuva-hakoura-logo,
  .zuva-site-header .zuva-hakoura-logo {
    display: inline-flex !important;
    flex: 0 0 42px !important;
    width: 42px !important;
    height: 42px !important;
  }

  body.zuva-app-home-page .zuva-mobile-menu-shell .zuva-menu-category-header h3,
  html.zuva-pwa-standalone body .zuva-mobile-menu-shell .zuva-menu-category-header h3 {
    font-size: 2.35rem !important;
  }
}

@media (max-width: 380px) {
  header.wp-block-template-part .zuva-header-inner,
  .zuva-site-header .zuva-header-inner {
    grid-template-columns: 50px 40px minmax(122px, auto) !important;
    padding-inline: 12px !important;
    gap: 8px !important;
  }
  header.wp-block-template-part .zuva-cart-trigger,
  .zuva-site-header .zuva-cart-trigger {
    width: 76px !important;
    min-width: 76px !important;
    max-width: 76px !important;
  }
  header.wp-block-template-part .zuva-hakoura-logo,
  .zuva-site-header .zuva-hakoura-logo {
    width: 38px !important;
    height: 38px !important;
    flex-basis: 38px !important;
  }
}

/* ========================================================================
   ZUVA / HAKOURA UNIVERSAL 9.0 VISUAL SYSTEM
   The rules below intentionally override the previous Lovable skin while
   retaining its proven WooCommerce and application functionality.
   ======================================================================== */
:root {
  --zuva-cream: #faf5e9;
  --zuva-cream-soft: #fdfbf6;
  --zuva-charcoal: #28251f;
  --zuva-charcoal-soft: #4f4a42;
  --zuva-terracotta: #b65b37;
  --zuva-terracotta-deep: #8e4027;
  --zuva-olive: #546344;
  --zuva-olive-deep: #384431;
  --zuva-olive-soft: #dfe5d6;
  --zuva-border: #e4ddd1;
  --zuva-stone: #f2e9d9;
  --zuva-display: "Cormorant Garamond", Georgia, serif;
  --zuva-body: Inter, Arial, sans-serif;
  --zuva-accent: Inter, Arial, sans-serif;
  --zuva-header-height: 88px;
  --zuva-radius: 28px;
  --zuva-radius-small: 18px;
  --zuva-shadow-soft: 0 1px 2px rgba(40,37,31,.04), 0 12px 34px rgba(40,37,31,.07);
  --zuva-shadow-elegant: 0 24px 80px -26px rgba(56,68,49,.34);
  --zuva-ease: cubic-bezier(.16,1,.3,1);
}

body.zuva-universal-theme {
  background: var(--zuva-cream-soft);
  color: var(--zuva-charcoal);
  font-family: var(--zuva-body);
  font-weight: 400;
}
body.zuva-universal-theme .wp-site-blocks { padding-top: var(--zuva-header-height); }
body.zuva-universal-theme.home .wp-site-blocks { padding-top: 0; }
body.zuva-universal-theme a { text-decoration: none; }
body.zuva-universal-theme h1,
body.zuva-universal-theme h2,
body.zuva-universal-theme h3,
body.zuva-universal-theme h4 { font-family: var(--zuva-display); font-weight: 500; }

/* Header */
body.zuva-universal-theme .zuva-site-header,
body.zuva-universal-theme header.wp-block-template-part {
  position: fixed !important;
  inset: 0 0 auto !important;
  z-index: 100000 !important;
  min-height: var(--zuva-header-height);
  border-bottom: 1px solid transparent !important;
  background: rgba(253,251,246,.93) !important;
  -webkit-backdrop-filter: blur(18px) saturate(150%);
  backdrop-filter: blur(18px) saturate(150%);
  box-shadow: 0 8px 30px rgba(40,37,31,.04);
  transition: background .45s ease, border-color .45s ease, box-shadow .45s ease;
}
body.home.zuva-universal-theme .zuva-site-header:not(.is-scrolled),
body.home.zuva-universal-theme header.wp-block-template-part:not(.is-scrolled) {
  background: transparent !important;
  box-shadow: none !important;
}
body.zuva-universal-theme .zuva-site-header.is-scrolled,
body.zuva-universal-theme header.wp-block-template-part.is-scrolled {
  border-color: rgba(228,221,209,.8) !important;
  background: rgba(253,251,246,.82) !important;
  box-shadow: var(--zuva-shadow-soft) !important;
}
body.admin-bar.zuva-universal-theme .zuva-site-header,
body.admin-bar.zuva-universal-theme header.wp-block-template-part { top: 32px !important; }
body.zuva-universal-theme .zuva-header-inner {
  width: min(100% - 40px, 1280px) !important;
  min-height: var(--zuva-header-height);
  margin-inline: auto !important;
  padding: 12px 0 !important;
  gap: 24px !important;
}
body.zuva-universal-theme .zuva-brand-lockup { gap: 12px !important; }
body.zuva-universal-theme .zuva-site-header .wp-block-site-logo img {
  width: 56px !important;
  height: 56px !important;
  border: 0 !important;
  border-radius: 50% !important;
  object-fit: contain !important;
  filter: none !important;
}
body.zuva-universal-theme .zuva-brand-name {
  margin: 0 !important;
  font-family: var(--zuva-display);
  font-size: 1.55rem;
  line-height: .9;
  letter-spacing: .02em;
}
body.zuva-universal-theme .zuva-brand-city {
  margin: .3rem 0 0 !important;
  color: var(--zuva-terracotta);
  font-size: .56rem;
  font-weight: 600;
  letter-spacing: .26em;
  text-transform: uppercase;
}
body.zuva-universal-theme .zuva-header-nav { margin-inline: auto !important; }
body.zuva-universal-theme .zuva-header-nav .wp-block-navigation__container { gap: clamp(24px,3vw,42px) !important; }
body.zuva-universal-theme .zuva-header-nav a {
  position: relative;
  color: rgba(40,37,31,.72) !important;
  font-size: .7rem !important;
  font-weight: 500;
  letter-spacing: .22em !important;
  text-transform: uppercase;
}
body.home.zuva-universal-theme .zuva-site-header:not(.is-scrolled) .zuva-brand-name,
body.home.zuva-universal-theme .zuva-site-header:not(.is-scrolled) .zuva-header-nav a { color: #fff !important; text-shadow: 0 2px 14px rgba(0,0,0,.4); }
body.home.zuva-universal-theme .zuva-site-header:not(.is-scrolled) .zuva-brand-city { color: rgba(255,255,255,.78); }
body.zuva-universal-theme .zuva-header-nav a::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -9px;
  width: 24px;
  height: 1px;
  background: currentColor;
  opacity: 0;
  transform: translateX(-50%) scaleX(.4);
  transition: opacity .25s ease, transform .25s ease;
}
body.zuva-universal-theme .zuva-header-nav a:hover::after { opacity: .8; transform: translateX(-50%) scaleX(1); }
body.zuva-universal-theme .zuva-header-actions { gap: 10px !important; }
body.zuva-universal-theme .zuva-account-button,
body.zuva-universal-theme .zuva-cart-trigger,
body.zuva-universal-theme .zuva-cart-link {
  display: inline-flex !important;
  min-height: 44px !important;
  align-items: center;
  justify-content: center;
  padding: 0 20px !important;
  border-radius: 999px !important;
  font-size: .66rem !important;
  font-weight: 500;
  letter-spacing: .2em !important;
  text-transform: uppercase;
  white-space: nowrap;
}
body.zuva-universal-theme .zuva-account-button {
  border: 1px solid rgba(84,99,68,.35);
  background: rgba(255,255,255,.52);
  color: var(--zuva-olive) !important;
}
body.zuva-universal-theme .zuva-account-button:hover { background: var(--zuva-olive); color: #fff !important; }
body.zuva-universal-theme .zuva-cart-trigger,
body.zuva-universal-theme .zuva-cart-link {
  border: 1px solid var(--zuva-olive) !important;
  background: var(--zuva-olive) !important;
  color: #fff !important;
  box-shadow: 0 9px 24px rgba(56,68,49,.18);
}
body.zuva-universal-theme .zuva-cart-trigger:hover { background: var(--zuva-olive-deep) !important; }
body.zuva-universal-theme .zuva-cart-count { background: var(--zuva-terracotta) !important; }
body.zuva-universal-theme .zuva-hakoura-logo { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; }
body.zuva-universal-theme .zuva-hakoura-logo img { width: 58px !important; height: 58px !important; object-fit: contain; }
body.home.zuva-universal-theme .zuva-site-header:not(.is-scrolled) .zuva-hakoura-logo img,
body.home.zuva-universal-theme .zuva-site-header:not(.is-scrolled) .wp-block-site-logo img { filter: drop-shadow(0 3px 14px rgba(0,0,0,.42)); }

/* Typography and ornaments */
body.zuva-universal-theme .zuva-eyebrow {
  color: var(--zuva-olive);
  font-family: var(--zuva-body);
  font-size: .69rem;
  font-weight: 600;
  letter-spacing: .28em;
  text-transform: uppercase;
}
body.zuva-universal-theme .zuva-ornament { width: max-content; gap: 11px !important; color: var(--zuva-olive); }
body.zuva-universal-theme .zuva-ornament-center { margin-inline: auto !important; }
body.zuva-universal-theme .zuva-ornament span { width: 48px; height: 1px; background: currentColor; opacity: .38; }
body.zuva-universal-theme .zuva-ornament b { font-size: .85rem; font-weight: 400; }
body.zuva-universal-theme .zuva-universal-title { margin: 12px 0 0 !important; font-size: clamp(2.8rem,5vw,5rem) !important; line-height: 1.02 !important; text-wrap: balance; }
body.zuva-universal-theme .zuva-universal-lead { max-width: 660px; margin-top: 22px !important; color: rgba(40,37,31,.68); font-size: 1.05rem; line-height: 1.8; }
body.zuva-universal-theme .zuva-universal-intro { max-width: 780px; margin-inline: auto !important; text-align: center; }
body.zuva-universal-theme .zuva-universal-intro .zuva-universal-lead { margin-inline: auto !important; }
body.zuva-universal-theme .zuva-universal-section { padding: clamp(82px,10vw,140px) clamp(20px,4vw,48px); }

/* Hero */
body.zuva-universal-theme .zuva-universal-hero,
body.zuva-universal-theme .zuva-app-hero { overflow: hidden; margin: 0 !important; }
body.zuva-universal-theme .zuva-universal-hero .wp-block-cover__background,
body.zuva-universal-theme .zuva-app-hero .wp-block-cover__background {
  opacity: 1 !important;
  background: linear-gradient(180deg,rgba(35,32,27,.58),rgba(35,32,27,.12) 42%,rgba(35,32,27,.75)) !important;
}
body.zuva-universal-theme .zuva-universal-hero .wp-block-cover__image-background,
body.zuva-universal-theme .zuva-app-hero .wp-block-cover__image-background {
  transform: scale(1.045);
  animation: zuva-universal-kenburns 22s ease-in-out infinite alternate;
  will-change: transform;
}
body.zuva-universal-theme .zuva-universal-hero .wp-block-cover__inner-container,
body.zuva-universal-theme .zuva-app-hero .wp-block-cover__inner-container { display: grid; min-height: inherit; place-items: center; }
body.zuva-universal-theme .zuva-universal-hero-content,
body.zuva-universal-theme .zuva-app-hero-content { max-width: 980px; padding: calc(var(--zuva-header-height) + 60px) 24px 100px; text-align: center; }
body.zuva-universal-theme .zuva-hero-eyebrow,
body.zuva-universal-theme .zuva-app-hero .zuva-eyebrow { color: rgba(255,255,255,.86); }
body.zuva-universal-theme .zuva-universal-hero-title {
  margin: 22px 0 0 !important;
  color: #fff;
  font-size: clamp(4rem,9vw,8rem) !important;
  line-height: .98 !important;
  letter-spacing: -.025em;
  text-wrap: balance;
}
body.zuva-universal-theme .zuva-universal-hero-title em { color: rgba(255,255,255,.96); font-weight: 500; }
body.zuva-universal-theme .zuva-universal-hero-copy { max-width: 650px; margin: 30px auto 0 !important; color: rgba(255,255,255,.83); font-size: clamp(1rem,1.5vw,1.15rem); line-height: 1.75; }
body.zuva-universal-theme .zuva-universal-hero-buttons { margin-top: 34px; gap: 13px !important; }
body.zuva-universal-theme .zuva-universal-hero-buttons .wp-block-button__link,
body.zuva-universal-theme .zuva-app-hero .wp-block-button__link,
body.zuva-universal-theme .zuva-app-hero .zuva-account-button {
  min-height: 52px;
  border-radius: 999px !important;
  padding-inline: 28px !important;
}
body.zuva-universal-theme .zuva-button-primary .wp-block-button__link { background: #fff !important; color: var(--zuva-olive) !important; }
body.zuva-universal-theme .zuva-button-light .wp-block-button__link { border-color: rgba(255,255,255,.55) !important; color: #fff !important; }
body.zuva-universal-theme .zuva-button-light .wp-block-button__link:hover { background: rgba(255,255,255,.12) !important; }
body.zuva-universal-theme .zuva-scroll-cue { position: absolute; left: 50%; bottom: 22px; z-index: 3; align-items: center; gap: 9px !important; color: rgba(255,255,255,.72); transform: translateX(-50%); }
body.zuva-universal-theme .zuva-scroll-cue small { font-size: .6rem; letter-spacing: .3em; text-transform: uppercase; }
body.zuva-universal-theme .zuva-scroll-cue span { width: 1px; height: 48px; background: rgba(255,255,255,.5); animation: zuva-universal-float 3s ease-in-out infinite; }

/* Homepage content */
body.zuva-universal-theme .zuva-signature-section { background: var(--zuva-cream-soft); }
body.zuva-universal-theme .zuva-universal-products-wrap { margin-top: 58px !important; }
body.zuva-universal-theme .zuva-universal-product-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
body.zuva-universal-theme .zuva-universal-product-card { overflow: hidden; border: 1px solid var(--zuva-border); border-radius: var(--zuva-radius); background: #fff; box-shadow: var(--zuva-shadow-soft); transition: transform .6s var(--zuva-ease), box-shadow .6s var(--zuva-ease); transition-delay: var(--zuva-card-delay,0ms); }
body.zuva-universal-theme .zuva-universal-product-card:hover { transform: translateY(-7px); box-shadow: var(--zuva-shadow-elegant); }
body.zuva-universal-theme .zuva-universal-product-image { position: relative; display: block; aspect-ratio: 4/5; overflow: hidden; }
body.zuva-universal-theme .zuva-universal-product-image::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent,rgba(35,32,27,.42)); }
body.zuva-universal-theme .zuva-universal-product-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.25s var(--zuva-ease); }
body.zuva-universal-theme .zuva-universal-product-card:hover .zuva-universal-product-image img { transform: scale(1.075); }
body.zuva-universal-theme .zuva-universal-product-tag { position: absolute; top: 18px; left: 18px; z-index: 2; padding: 8px 12px; border-radius: 999px; background: rgba(255,255,255,.86); color: var(--zuva-olive); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); font-size: .57rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; }
body.zuva-universal-theme .zuva-universal-product-copy { padding: 25px; }
body.zuva-universal-theme .zuva-universal-product-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
body.zuva-universal-theme .zuva-universal-product-head h3 { margin: 0; font-size: 1.85rem; }
body.zuva-universal-theme .zuva-universal-product-head h3 a { color: var(--zuva-charcoal); }
body.zuva-universal-theme .zuva-universal-product-head p { margin: 9px 0 0; color: rgba(40,37,31,.62); font-size: .86rem; line-height: 1.6; }
body.zuva-universal-theme .zuva-universal-product-price { flex: 0 0 auto; color: var(--zuva-olive); font-family: var(--zuva-display); font-size: 1.55rem; white-space: nowrap; }
body.zuva-universal-theme .zuva-universal-product-card .zuva-add-order { margin-top: 22px; color: var(--zuva-olive); }
body.zuva-universal-theme .zuva-universal-product-card .zuva-add-order-line { background: var(--zuva-olive); }

body.zuva-universal-theme .zuva-chef-section { background: linear-gradient(135deg,#fdfbf6,#f2e9d9); }
body.zuva-universal-theme .zuva-universal-split { gap: clamp(45px,7vw,90px) !important; }
body.zuva-universal-theme .zuva-universal-copy { align-self: center; }
body.zuva-universal-theme .zuva-rounded-image { overflow: hidden; margin: 0 !important; border-radius: var(--zuva-radius); box-shadow: var(--zuva-shadow-elegant); }
body.zuva-universal-theme .zuva-rounded-image img { width: 100%; min-height: 520px; object-fit: cover; }
body.zuva-universal-theme .zuva-chef-visual { position: relative; }
body.zuva-universal-theme .zuva-chef-visual .zuva-rounded-image { max-width: 480px; }
body.zuva-universal-theme .zuva-floating-card { position: absolute; right: 0; bottom: -26px; width: min(270px,65%); padding: 22px !important; border: 1px solid rgba(255,255,255,.65); border-radius: var(--zuva-radius-small); background: rgba(253,251,246,.78); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); box-shadow: var(--zuva-shadow-elegant); }
body.zuva-universal-theme .zuva-floating-card h3 { margin: 5px 0 0; color: var(--zuva-olive); font-size: 1.8rem; }
body.zuva-universal-theme .zuva-floating-card p:last-child { margin: 7px 0 0; color: rgba(40,37,31,.62); font-size: .82rem; }
body.zuva-universal-theme .zuva-stat-grid,
body.zuva-universal-theme .zuva-number-grid { margin-top: 30px; gap: 0 !important; border-block: 1px solid var(--zuva-border); }
body.zuva-universal-theme .zuva-stat-grid .wp-block-column,
body.zuva-universal-theme .zuva-number-grid .wp-block-column { padding: 22px 14px; text-align: center; }
body.zuva-universal-theme .zuva-stat-grid .wp-block-column + .wp-block-column,
body.zuva-universal-theme .zuva-number-grid .wp-block-column + .wp-block-column { border-left: 1px solid var(--zuva-border); }
body.zuva-universal-theme .zuva-stat-grid strong,
body.zuva-universal-theme .zuva-number-grid strong { display: block; color: var(--zuva-olive); font-family: var(--zuva-display); font-size: 2rem; font-weight: 500; }
body.zuva-universal-theme .zuva-stat-grid span,
body.zuva-universal-theme .zuva-number-grid span { display: block; margin-top: 4px; color: rgba(40,37,31,.55); font-size: .7rem; }
body.zuva-universal-theme .zuva-button-link .wp-block-button__link { padding-inline: 0 !important; background: transparent !important; color: var(--zuva-olive) !important; }
body.zuva-universal-theme .zuva-story-universal { background: #fff; }
body.zuva-universal-theme .zuva-universal-title em { color: var(--zuva-olive); }
body.zuva-universal-theme .zuva-why-section { background: rgba(242,233,217,.58); }
body.zuva-universal-theme .zuva-service-grid { display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px !important; margin-top: 54px !important; }
body.zuva-universal-theme .zuva-app-service-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
body.zuva-universal-theme .zuva-service-card { min-height: 100%; padding: 30px !important; border: 1px solid var(--zuva-border); border-radius: var(--zuva-radius); background: #fff; box-shadow: 0 1px 2px rgba(40,37,31,.03); transition: transform .55s var(--zuva-ease), box-shadow .55s var(--zuva-ease); }
body.zuva-universal-theme .zuva-service-card:hover { transform: translateY(-6px); box-shadow: var(--zuva-shadow-elegant); }
body.zuva-universal-theme .zuva-service-icon { display: grid; width: 56px; height: 56px; place-items: center; border-radius: 18px; background: var(--zuva-olive-soft); color: var(--zuva-olive); font-size: 1.4rem; transition: background .3s ease,color .3s ease; }
body.zuva-universal-theme .zuva-service-card:hover .zuva-service-icon { background: var(--zuva-olive); color: #fff; }
body.zuva-universal-theme .zuva-service-card h3 { margin: 22px 0 0; font-size: 1.85rem; }
body.zuva-universal-theme .zuva-service-card p { margin: 10px 0 0; color: rgba(40,37,31,.6); font-size: .88rem; line-height: 1.65; }
body.zuva-universal-theme .zuva-reviews-section { background: var(--zuva-cream-soft); }
body.zuva-universal-theme .zuva-review-grid { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px !important; margin-top: 54px !important; }
body.zuva-universal-theme .zuva-review-card { padding: 30px !important; border: 1px solid var(--zuva-border); border-radius: var(--zuva-radius); background: #fff; box-shadow: var(--zuva-shadow-soft); }
body.zuva-universal-theme .zuva-review-stars { color: var(--zuva-terracotta); letter-spacing: .15em; }
body.zuva-universal-theme .zuva-review-card blockquote { margin: 22px 0 0; padding: 0; border: 0; }
body.zuva-universal-theme .zuva-review-card blockquote p { font-family: var(--zuva-display); font-size: 1.65rem; line-height: 1.28; }
body.zuva-universal-theme .zuva-review-person { display: flex; align-items: center; gap: 12px; margin-top: 25px; }
body.zuva-universal-theme .zuva-review-person > b { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: var(--zuva-olive-soft); color: var(--zuva-olive); font-family: var(--zuva-display); font-size: 1.3rem; }
body.zuva-universal-theme .zuva-review-person span { display: grid; }
body.zuva-universal-theme .zuva-review-person small { color: rgba(40,37,31,.52); }
body.zuva-universal-theme .zuva-universal-cta { color: #fff; }
body.zuva-universal-theme .zuva-universal-cta .zuva-eyebrow { color: rgba(255,255,255,.72); }
body.zuva-universal-theme .zuva-universal-cta .zuva-universal-title { max-width: 800px; margin-inline: auto !important; color: #fff; }
body.zuva-universal-theme .zuva-universal-cta p { max-width: 650px; margin-inline: auto; color: rgba(255,255,255,.8); }
body.zuva-universal-theme .zuva-universal-cta .wp-block-buttons { margin-top: 30px; }
body.zuva-universal-theme .zuva-universal-cta .zuva-account-button { display: inline-flex; min-height: 50px; align-items: center; padding: 0 28px; border: 1px solid rgba(255,255,255,.55); border-radius: 999px; color: #fff !important; font-size: .7rem; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; }
body.zuva-universal-theme .zuva-social-section { background: #fff; }
body.zuva-universal-theme .zuva-social-grid { display: grid !important; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 10px !important; margin-top: 48px !important; }
body.zuva-universal-theme .zuva-social-tile { position: relative; overflow: hidden; aspect-ratio: 1; border-radius: var(--zuva-radius-small); }
body.zuva-universal-theme .zuva-social-tile figure { height: 100%; margin: 0 !important; }
body.zuva-universal-theme .zuva-social-tile img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--zuva-ease); }
body.zuva-universal-theme .zuva-social-tile span { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(84,99,68,.68); color: #fff; font-size: 1.5rem; opacity: 0; transition: opacity .3s ease; }
body.zuva-universal-theme .zuva-social-tile:hover img { transform: scale(1.09); }
body.zuva-universal-theme .zuva-social-tile:hover span { opacity: 1; }
body.zuva-universal-theme .zuva-visit-universal { background: linear-gradient(135deg,#fdfbf6,#f2e9d9); }
body.zuva-universal-theme .zuva-visit-info { margin-top: 28px; gap: 20px !important; }
body.zuva-universal-theme .zuva-visit-info small { color: var(--zuva-olive); font-size: .65rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; }
body.zuva-universal-theme .zuva-visit-info p { margin-top: 8px; color: rgba(40,37,31,.68); }

/* Installed app homepage */
html:not(.zuva-pwa-standalone) body.zuva-universal-theme .zuva-app-bottom-nav { display: none !important; }
html.zuva-pwa-standalone body.zuva-universal-theme { padding-bottom: calc(82px + env(safe-area-inset-bottom,0px)); }
html.zuva-pwa-standalone body.zuva-universal-theme .zuva-app-bottom-nav {
  position: fixed;
  inset: auto 0 0;
  z-index: 160000;
  display: grid !important;
  grid-template-columns: repeat(5,1fr);
  padding-bottom: env(safe-area-inset-bottom,0px);
  border-top: 1px solid var(--zuva-border);
  background: rgba(253,251,246,.94);
  -webkit-backdrop-filter: blur(20px) saturate(150%);
  backdrop-filter: blur(20px) saturate(150%);
  box-shadow: 0 -12px 36px rgba(40,37,31,.08);
}
html.zuva-pwa-standalone body.zuva-universal-theme .zuva-app-bottom-nav a { position: relative; display: grid; min-height: 76px; place-items: center; align-content: center; gap: 2px; color: rgba(40,37,31,.58); }
html.zuva-pwa-standalone body.zuva-universal-theme .zuva-app-bottom-nav a:hover { color: var(--zuva-olive); }
html.zuva-pwa-standalone body.zuva-universal-theme .zuva-app-bottom-nav a span { font-size: 1.25rem; line-height: 1; }
html.zuva-pwa-standalone body.zuva-universal-theme .zuva-app-bottom-nav a small { font-size: .55rem; letter-spacing: .12em; text-transform: uppercase; }
html.zuva-pwa-standalone body.zuva-universal-theme .zuva-bottom-cart-count { position: absolute; top: 8px; left: 55%; display: grid; min-width: 20px; height: 20px; place-items: center; border-radius: 999px; background: var(--zuva-terracotta); color: #fff; font-size: .62rem; }
body.zuva-universal-theme .zuva-app-services { background: var(--zuva-cream-soft); }
body.zuva-universal-theme .zuva-app-tracking { background: #fff; }

/* Footer */
body.zuva-universal-theme .zuva-universal-footer { padding: 78px clamp(20px,4vw,48px) 28px; border-top: 1px solid var(--zuva-border); background: linear-gradient(135deg,#faf5e9,#f2e9d9); }
body.zuva-universal-theme .zuva-footer-grid { gap: 50px !important; }
body.zuva-universal-theme .zuva-footer-logos { gap: 12px !important; }
body.zuva-universal-theme .zuva-footer-logos .wp-block-site-logo img,
body.zuva-universal-theme .zuva-footer-logos .zuva-hakoura-logo img { width: 68px !important; height: 68px !important; object-fit: contain; }
body.zuva-universal-theme .zuva-universal-footer h3 { max-width: 590px; margin: 25px 0 0; font-size: clamp(2rem,3vw,3rem); line-height: 1.1; }
body.zuva-universal-theme .zuva-universal-footer p { color: rgba(40,37,31,.62); }
body.zuva-universal-theme .zuva-footer-links { list-style: none; margin: 20px 0 0; padding: 0; }
body.zuva-universal-theme .zuva-footer-links li { margin: 8px 0; }
body.zuva-universal-theme .zuva-footer-bottom { margin-top: 52px !important; padding-top: 24px; border-top: 1px solid var(--zuva-border); }
body.zuva-universal-theme .zuva-footer-bottom p { margin: 0; font-size: .72rem; }

/* WooCommerce catalog and product pages */
body.zuva-universal-theme .zuva-shop-shell,
body.zuva-universal-theme .zuva-product-shell,
body.zuva-universal-theme .zuva-page-shell,
body.zuva-universal-theme .zuva-content-shell { padding: calc(var(--zuva-header-height) + 70px) clamp(18px,4vw,48px) 100px !important; }
body.zuva-universal-theme .zuva-page-title { margin: 0 0 48px !important; color: var(--zuva-charcoal); font-size: clamp(3rem,6vw,5.5rem) !important; }
body.zuva-universal-theme .wp-block-woocommerce-product-collection .wc-block-product,
body.zuva-universal-theme .woocommerce ul.products li.product { overflow: hidden; height: 100%; border: 1px solid var(--zuva-border); border-radius: var(--zuva-radius); background: #fff; box-shadow: var(--zuva-shadow-soft); text-align: center; }
body.zuva-universal-theme .wc-block-components-product-image,
body.zuva-universal-theme .woocommerce ul.products li.product a img { overflow: hidden; margin: 0 !important; border-radius: var(--zuva-radius) var(--zuva-radius) 0 0; }
body.zuva-universal-theme .wc-block-components-product-image img,
body.zuva-universal-theme .woocommerce ul.products li.product a img { aspect-ratio: 4/5; width: 100%; object-fit: cover; }
body.zuva-universal-theme .wc-block-product .wp-block-post-title,
body.zuva-universal-theme .woocommerce-loop-product__title { padding-inline: 22px !important; font-family: var(--zuva-display); font-size: 1.75rem !important; }
body.zuva-universal-theme .wc-block-components-product-summary,
body.zuva-universal-theme .wp-block-woocommerce-product-summary { min-height: 54px; padding-inline: 22px; color: rgba(40,37,31,.58); }
body.zuva-universal-theme .wp-block-woocommerce-product-price,
body.zuva-universal-theme .woocommerce ul.products li.product .price { color: var(--zuva-olive); font-family: var(--zuva-display); font-size: 1.35rem; }
body.zuva-universal-theme .wp-block-woocommerce-product-button,
body.zuva-universal-theme .woocommerce ul.products li.product .button { padding: 0 22px 24px; }
body.zuva-universal-theme .wp-block-woocommerce-product-button button,
body.zuva-universal-theme .woocommerce ul.products li.product .button { border-radius: 999px !important; background: var(--zuva-olive) !important; }
body.zuva-universal-theme .zuva-single-product-copy { padding: clamp(24px,4vw,54px); border: 1px solid var(--zuva-border); border-radius: var(--zuva-radius); background: #fff; box-shadow: var(--zuva-shadow-soft); }
body.zuva-universal-theme .wc-block-product-gallery,
body.zuva-universal-theme .woocommerce-product-gallery { overflow: hidden; border-radius: var(--zuva-radius); box-shadow: var(--zuva-shadow-soft); }
body.zuva-universal-theme .single_add_to_cart_button { border-radius: 999px !important; background: var(--zuva-olive) !important; }

/* Account, cart and checkout */
body.zuva-universal-theme .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: 8px; padding: 10px; border: 1px solid var(--zuva-border); border-radius: var(--zuva-radius-small); background: #fff; list-style: none; }
body.zuva-universal-theme .woocommerce-MyAccount-navigation li a { display: flex; min-height: 44px; align-items: center; padding: 0 16px; border-radius: 999px; color: rgba(40,37,31,.66); }
body.zuva-universal-theme .woocommerce-MyAccount-navigation li.is-active a { background: var(--zuva-olive); color: #fff; }
body.zuva-universal-theme .woocommerce-MyAccount-content,
body.zuva-universal-theme .woocommerce-cart-form,
body.zuva-universal-theme .cart_totals,
body.zuva-universal-theme .woocommerce-checkout-review-order,
body.zuva-universal-theme .woocommerce form.checkout .col2-set > div,
body.zuva-universal-theme .woocommerce-order { padding: clamp(22px,4vw,42px); border: 1px solid var(--zuva-border); border-radius: var(--zuva-radius); background: #fff; box-shadow: var(--zuva-shadow-soft); }
body.zuva-universal-theme .woocommerce input.input-text,
body.zuva-universal-theme .woocommerce textarea,
body.zuva-universal-theme .woocommerce select { min-height: 52px; padding: 12px 15px; border: 1px solid var(--zuva-border); border-radius: 14px; background: #fff; }
body.zuva-universal-theme .woocommerce button.button,
body.zuva-universal-theme .woocommerce a.button,
body.zuva-universal-theme .woocommerce input.button { border-radius: 999px !important; background: var(--zuva-olive) !important; color: #fff !important; }

/* Custom cart drawer in the new light language */
body.zuva-universal-theme .zuva-cart-drawer { background: #fdfbf6 !important; box-shadow: -24px 0 70px rgba(40,37,31,.18); }
body.zuva-universal-theme .zuva-cart-drawer-header { border-bottom-color: var(--zuva-border); }
body.zuva-universal-theme .zuva-cart-drawer-header span { color: var(--zuva-olive); }
body.zuva-universal-theme .zuva-cart-item { border-bottom-color: var(--zuva-border); }
body.zuva-universal-theme .zuva-cart-item-image { border-radius: 14px; }
body.zuva-universal-theme .zuva-cart-item-unit { color: var(--zuva-olive); }
body.zuva-universal-theme .zuva-cart-qty { border-radius: 999px; }
body.zuva-universal-theme .zuva-cart-checkout { border-radius: 999px; background: var(--zuva-olive); }
body.zuva-universal-theme .zuva-cart-checkout:hover { background: var(--zuva-olive-deep); }
body.zuva-universal-theme .zuva-cart-overlay { background: rgba(40,37,31,.45); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }

/* Reveal motion */
body.zuva-universal-theme .zuva-reveal { opacity: 1; transform: none; }
html.zuva-js body.zuva-universal-theme .zuva-reveal { opacity: 0; transform: translateY(28px); transition: opacity .9s var(--zuva-ease), transform .9s var(--zuva-ease); }
html.zuva-js body.zuva-universal-theme .zuva-reveal.is-visible { opacity: 1; transform: translateY(0); }

@keyframes zuva-universal-kenburns { from { transform: scale(1.045) translate3d(0,0,0); } to { transform: scale(1.14) translate3d(-1%,-1%,0); } }
@keyframes zuva-universal-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(9px); } }

@media (max-width: 1080px) {
  body.zuva-universal-theme .zuva-header-actions .zuva-account-button { display: none; }
  body.zuva-universal-theme .zuva-service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.zuva-universal-theme .zuva-social-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 782px) {
  :root { --zuva-header-height: 78px; }
  body.admin-bar.zuva-universal-theme .zuva-site-header,
  body.admin-bar.zuva-universal-theme header.wp-block-template-part { top: 46px !important; }
  body.zuva-universal-theme .zuva-header-inner { display: grid !important; grid-template-columns: 58px 48px 1fr !important; min-height: 78px !important; width: calc(100% - 28px) !important; padding: 8px 0 !important; gap: 10px !important; }
  body.zuva-universal-theme .zuva-brand-lockup { grid-column: 1; }
  body.zuva-universal-theme .zuva-brand-text { display: none !important; }
  body.zuva-universal-theme .zuva-site-header .wp-block-site-logo img { width: 52px !important; height: 52px !important; }
  body.zuva-universal-theme .zuva-header-nav { grid-column: 2; width: 48px; margin: 0 !important; }
  body.zuva-universal-theme .wp-block-navigation__responsive-container-open { display: grid !important; width: 48px; height: 48px; place-items: center; padding: 0 !important; color: var(--zuva-charcoal) !important; }
  body.home.zuva-universal-theme .zuva-site-header:not(.is-scrolled) .wp-block-navigation__responsive-container-open { color: #fff !important; }
  body.zuva-universal-theme .zuva-header-actions { grid-column: 3; justify-self: end; gap: 7px !important; }
  body.zuva-universal-theme .zuva-header-actions .zuva-account-button { display: none !important; }
  body.zuva-universal-theme .zuva-cart-trigger { min-width: 92px !important; min-height: 42px !important; padding-inline: 14px !important; }
  body.zuva-universal-theme .zuva-hakoura-logo img { width: 48px !important; height: 48px !important; }
  body.zuva-universal-theme .wp-block-navigation__responsive-container { position: fixed !important; inset: 0 !important; z-index: 2147483000 !important; background: rgba(253,251,246,.98) !important; -webkit-backdrop-filter: blur(24px); backdrop-filter: blur(24px); }
  body.zuva-universal-theme .wp-block-navigation__responsive-container-content { display: flex !important; min-height: 100dvh; align-items: center; justify-content: center; padding: 90px 28px 120px !important; }
  body.zuva-universal-theme .wp-block-navigation__responsive-container .wp-block-navigation__container { display: flex !important; flex-direction: column !important; align-items: center !important; gap: 22px !important; }
  body.zuva-universal-theme .wp-block-navigation__responsive-container .wp-block-navigation-item__content { color: var(--zuva-charcoal) !important; font-family: var(--zuva-display); font-size: 2rem !important; letter-spacing: .02em !important; text-transform: none !important; }
  body.zuva-universal-theme .wp-block-navigation__responsive-container-close { position: fixed !important; top: 18px !important; right: 18px !important; display: grid !important; width: 48px !important; height: 48px !important; place-items: center; border: 1px solid var(--zuva-border) !important; border-radius: 50% !important; }
  body.admin-bar.zuva-universal-theme .wp-block-navigation__responsive-container-close { top: 64px !important; }
  body.zuva-universal-theme .zuva-universal-hero-content,
  body.zuva-universal-theme .zuva-app-hero-content { padding: calc(var(--zuva-header-height) + 50px) 20px 90px; }
  body.zuva-universal-theme .zuva-universal-hero-title { font-size: clamp(3.8rem,16vw,6rem) !important; }
  body.zuva-universal-theme .zuva-universal-hero-copy { max-width: 92%; font-size: .96rem; }
  body.zuva-universal-theme .zuva-universal-hero-buttons { flex-direction: column; align-items: stretch !important; width: min(100%,360px); margin-inline: auto; }
  body.zuva-universal-theme .zuva-universal-hero-buttons .wp-block-button,
  body.zuva-universal-theme .zuva-universal-hero-buttons .wp-block-button__link { width: 100%; }
  body.zuva-universal-theme .zuva-universal-section { padding: 76px 20px; }
  body.zuva-universal-theme .zuva-universal-product-grid { grid-template-columns: 1fr; }
  body.zuva-universal-theme .zuva-universal-split,
  body.zuva-universal-theme .zuva-universal-split-reverse { flex-direction: column !important; gap: 42px !important; }
  body.zuva-universal-theme .zuva-chef-visual .zuva-rounded-image { max-width: none; }
  body.zuva-universal-theme .zuva-rounded-image img { min-height: 420px; }
  body.zuva-universal-theme .zuva-floating-card { right: 14px; bottom: -20px; }
  body.zuva-universal-theme .zuva-service-grid,
  body.zuva-universal-theme .zuva-app-service-grid,
  body.zuva-universal-theme .zuva-review-grid { grid-template-columns: 1fr; }
  body.zuva-universal-theme .zuva-social-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.zuva-universal-theme .zuva-footer-grid { flex-direction: column !important; }
  body.zuva-universal-theme .zuva-footer-bottom { align-items: flex-start !important; }
  body.zuva-universal-theme .zuva-shop-shell,
  body.zuva-universal-theme .zuva-product-shell,
  body.zuva-universal-theme .zuva-page-shell,
  body.zuva-universal-theme .zuva-content-shell { padding: calc(var(--zuva-header-height) + 42px) 16px 90px !important; }
  body.zuva-universal-theme .woocommerce-MyAccount-navigation ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.zuva-universal-theme .woocommerce-MyAccount-navigation li a { justify-content: center; text-align: center; }
  body.zuva-universal-theme .zuva-cart-drawer { width: 100% !important; max-width: 100% !important; }
}

@media (max-width: 420px) {
  body.zuva-universal-theme .zuva-hakoura-logo img { width: 42px !important; height: 42px !important; }
  body.zuva-universal-theme .zuva-cart-trigger { min-width: 82px !important; padding-inline: 10px !important; font-size: .58rem !important; }
  body.zuva-universal-theme .zuva-universal-title { font-size: 2.8rem !important; }
}

@media (prefers-reduced-motion: reduce) {
  body.zuva-universal-theme *,
  body.zuva-universal-theme *::before,
  body.zuva-universal-theme *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

body.page-template-page-app.zuva-universal-theme .zuva-site-header:not(.is-scrolled),
body.page-template-page-app.zuva-universal-theme header.wp-block-template-part:not(.is-scrolled) {
  background: transparent !important;
  box-shadow: none !important;
}
body.page-template-page-app.zuva-universal-theme .zuva-site-header:not(.is-scrolled) .zuva-brand-name,
body.page-template-page-app.zuva-universal-theme .zuva-site-header:not(.is-scrolled) .zuva-header-nav a { color: #fff !important; text-shadow: 0 2px 14px rgba(0,0,0,.4); }
body.page-template-page-app.zuva-universal-theme .zuva-site-header:not(.is-scrolled) .zuva-brand-city { color: rgba(255,255,255,.78); }
body.page-template-page-app.zuva-universal-theme .zuva-site-header:not(.is-scrolled) .wp-block-navigation__responsive-container-open { color: #fff !important; }
body.zuva-universal-theme .zuva-shop-intro { margin-bottom: 55px !important; }
body.zuva-universal-theme .zuva-shop-intro .zuva-page-title { margin: 12px 0 0 !important; }
body.zuva-universal-theme .zuva-shop-intro .zuva-universal-lead { margin-inline: auto !important; }
body.zuva-universal-theme .zuva-category-filters { margin-top: 28px; gap: 8px !important; }
body.zuva-universal-theme .zuva-category-filters .wp-block-button__link { min-height: 42px; padding: 0 17px !important; border-color: var(--zuva-border) !important; background: rgba(255,255,255,.7) !important; color: rgba(40,37,31,.68) !important; font-size: .62rem; }
body.zuva-universal-theme .zuva-category-filters .wp-block-button__link:hover { border-color: var(--zuva-olive) !important; color: var(--zuva-olive) !important; }
body.zuva-universal-theme .zuva-service-icon { margin: 0 !important; }
body.zuva-universal-theme .zuva-review-stars { margin: 0 !important; }
body.zuva-universal-theme .zuva-review-avatar { display: grid; width: 42px; height: 42px; margin: 0 !important; place-items: center; border-radius: 50%; background: var(--zuva-olive-soft); color: var(--zuva-olive); font-family: var(--zuva-display); font-size: 1.3rem; }
body.zuva-universal-theme .zuva-review-name { margin: 0 !important; font-weight: 600; }
body.zuva-universal-theme .zuva-review-role { margin: 2px 0 0 !important; color: rgba(40,37,31,.52); font-size: .76rem; }


/* ========================================================================
   ZUVA UNIVERSAL 9.1 — authoritative single-header and cart viewport repair
   Keeps one fixed header directly below the WordPress toolbar and ensures the
   live order drawer always starts below the visible header.
   ======================================================================== */

html {
  --zuva-header-height: 94px;
  --zuva-live-header-height: 94px;
  --zuva-live-header-bottom: 94px;
}

/* Only the template-part shell is fixed. Older versions fixed both this shell
   and the nested header group, producing a doubled vertical offset. */
html body.zuva-universal-theme .wp-site-blocks > header.wp-block-template-part {
  position: fixed !important;
  inset: 0 0 auto 0 !important;
  z-index: 1200 !important;
  width: 100% !important;
  height: var(--zuva-header-height) !important;
  min-height: var(--zuva-header-height) !important;
  max-height: var(--zuva-header-height) !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  isolation: isolate;
}

html body.admin-bar.zuva-universal-theme .wp-site-blocks > header.wp-block-template-part {
  top: 32px !important;
}

/* The visual header is a single normal-flow child inside the fixed shell. */
html body.zuva-universal-theme .wp-site-blocks > header.wp-block-template-part > .zuva-site-header,
html body.zuva-universal-theme .wp-site-blocks > header.wp-block-template-part .zuva-site-header {
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  z-index: 1 !important;
  display: block !important;
  width: 100% !important;
  height: var(--zuva-header-height) !important;
  min-height: var(--zuva-header-height) !important;
  max-height: var(--zuva-header-height) !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.22) !important;
  background: rgba(242,233,217,.78) !important;
  box-shadow: 0 10px 34px rgba(40,37,31,.07) !important;
  -webkit-backdrop-filter: blur(20px) saturate(122%) !important;
  backdrop-filter: blur(20px) saturate(122%) !important;
}

html body.zuva-universal-theme .wp-site-blocks > header.wp-block-template-part > .zuva-site-header::before,
html body.zuva-universal-theme .wp-site-blocks > header.wp-block-template-part .zuva-site-header::before,
html body.zuva-universal-theme .wp-site-blocks > header.wp-block-template-part::before {
  content: none !important;
  display: none !important;
}

html body.zuva-universal-theme .zuva-header-inner {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: min(100% - 56px, 1400px) !important;
  max-width: 1400px !important;
  height: var(--zuva-header-height) !important;
  min-height: var(--zuva-header-height) !important;
  max-height: var(--zuva-header-height) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  gap: clamp(20px, 2.2vw, 42px) !important;
  background: transparent !important;
}

html body.zuva-universal-theme .zuva-site-header .wp-block-group,
html body.zuva-universal-theme .zuva-site-header .wp-block-navigation {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

html body.zuva-universal-theme .zuva-header-nav {
  flex: 1 1 auto !important;
  margin: 0 auto !important;
}

html body.zuva-universal-theme .zuva-header-actions {
  display: flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
  gap: 10px !important;
  margin: 0 !important;
}

/* Hide any second template header that may have survived an older Site Editor
   override. JavaScript removes it as well; this prevents a visual flash. */
html body.zuva-universal-theme .wp-site-blocks > header.wp-block-template-part ~ header.wp-block-template-part,
html body.zuva-universal-theme .wp-site-blocks > header.wp-block-template-part .zuva-site-header + .zuva-site-header {
  display: none !important;
}

/* The custom live cart occupies only the viewport below the real header. */
html body.zuva-universal-theme .zuva-cart-overlay {
  inset: var(--zuva-live-header-bottom, 94px) 0 0 0 !important;
  z-index: 1210 !important;
  width: auto !important;
  height: auto !important;
}

html body.zuva-universal-theme .zuva-cart-drawer {
  top: var(--zuva-live-header-bottom, 94px) !important;
  right: 0 !important;
  bottom: 0 !important;
  left: auto !important;
  z-index: 1220 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: calc(100dvh - var(--zuva-live-header-bottom, 94px)) !important;
}

html body.admin-bar.zuva-universal-theme .zuva-cart-drawer,
html body.admin-bar.zuva-universal-theme .zuva-cart-overlay {
  /* The JS bottom coordinate already includes the admin toolbar. */
  top: var(--zuva-live-header-bottom, 126px) !important;
}

html body.zuva-universal-theme .zuva-cart-drawer-header {
  flex: 0 0 auto !important;
  min-height: 88px !important;
  padding: 18px 24px !important;
  background: #fdfbf6 !important;
}

html body.zuva-universal-theme .zuva-mini-cart-contents {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

html body.zuva-universal-theme .zuva-cart-items {
  min-height: 0 !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
}

/* Keep the WordPress toolbar and all of its menus above the public header. */
html body.admin-bar.zuva-universal-theme #wpadminbar,
html body.admin-bar.zuva-universal-theme #wpadminbar .ab-sub-wrapper {
  z-index: 2147483647 !important;
}

@media (max-width: 782px) {
  html {
    --zuva-header-height: 78px;
    --zuva-live-header-height: 78px;
    --zuva-live-header-bottom: 78px;
  }

  html body.admin-bar.zuva-universal-theme .wp-site-blocks > header.wp-block-template-part {
    top: 46px !important;
  }

  html body.zuva-universal-theme .zuva-header-inner {
    width: calc(100% - 24px) !important;
    height: 78px !important;
    min-height: 78px !important;
    max-height: 78px !important;
    padding: 0 !important;
    gap: 8px !important;
  }

  html body.zuva-universal-theme .wp-site-blocks > header.wp-block-template-part,
  html body.zuva-universal-theme .wp-site-blocks > header.wp-block-template-part > .zuva-site-header,
  html body.zuva-universal-theme .wp-site-blocks > header.wp-block-template-part .zuva-site-header {
    height: 78px !important;
    min-height: 78px !important;
    max-height: 78px !important;
  }

  html body.zuva-universal-theme .zuva-cart-drawer,
  html body.zuva-universal-theme .zuva-cart-overlay {
    top: var(--zuva-live-header-bottom, 78px) !important;
  }

  html body.admin-bar.zuva-universal-theme .zuva-cart-drawer,
  html body.admin-bar.zuva-universal-theme .zuva-cart-overlay {
    top: var(--zuva-live-header-bottom, 124px) !important;
  }

  html body.zuva-universal-theme .zuva-cart-drawer-header {
    min-height: 76px !important;
    padding: 14px 18px !important;
  }
}

/* =========================================================
   ZUVA 9.6 — reliable single-product runtime, no visual reset
   ========================================================= */
body.zuva-universal-theme .zuva-runtime-single-product > .product {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(320px, .88fr);
  gap: clamp(28px, 4vw, 64px);
  align-items: start;
  width: min(100%, 1320px);
  margin-inline: auto;
}
body.zuva-universal-theme .zuva-runtime-single-product .woocommerce-product-gallery {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
}
body.zuva-universal-theme .zuva-runtime-single-product .summary.entry-summary {
  float: none !important;
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
  padding: clamp(24px, 4vw, 54px);
  border: 1px solid var(--zuva-border);
  border-radius: var(--zuva-radius);
  background: #fff;
  box-shadow: var(--zuva-shadow-soft);
}
body.zuva-universal-theme .zuva-runtime-single-product .summary.entry-summary > :first-child { margin-top: 0; }
body.zuva-universal-theme .zuva-runtime-single-product .summary.entry-summary .product_title {
  font-family: var(--zuva-display);
  font-size: clamp(2.8rem, 5vw, 4.8rem);
  font-weight: 400;
  line-height: .96;
}
body.zuva-universal-theme .zuva-runtime-single-product .woocommerce-tabs,
body.zuva-universal-theme .zuva-runtime-single-product .related,
body.zuva-universal-theme .zuva-runtime-single-product .upsells {
  grid-column: 1 / -1;
  width: 100%;
}
body.zuva-universal-theme .zuva-product-load-error {
  display: grid;
  min-height: 360px;
  place-items: center;
  align-content: center;
  gap: 18px;
  padding: 40px 20px;
  border: 1px solid var(--zuva-border);
  border-radius: var(--zuva-radius);
  background: #fdfbf6;
  text-align: center;
}
body.zuva-universal-theme .zuva-product-load-error p { margin: 0; }
body.zuva-universal-theme .zuva-product-load-error button {
  min-height: 48px;
  padding: 0 26px;
  border: 0;
  border-radius: 999px;
  background: var(--zuva-olive);
  color: #fff;
  cursor: pointer;
  font-family: var(--zuva-accent);
  letter-spacing: .12em;
  text-transform: uppercase;
}
@media (max-width: 782px) {
  body.zuva-universal-theme .zuva-runtime-single-product > .product {
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
  }
  body.zuva-universal-theme .zuva-runtime-single-product .summary.entry-summary {
    padding: 24px 18px;
  }
  body.zuva-universal-theme .zuva-runtime-single-product .summary.entry-summary .product_title {
    font-size: clamp(2.45rem, 13vw, 3.8rem);
  }
}

/* =========================================================
   ZUVA 9.8 — complete product screen + exact action alignment
   ========================================================= */
body.zuva-universal-theme .zuva-runtime-single-product > .zuva-runtime-product,
body.zuva-universal-theme .zuva-runtime-product-main {
  width: min(100%, 1260px);
  margin-inline: auto;
}
body.zuva-universal-theme .zuva-runtime-product-main {
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(360px, .94fr);
  gap: clamp(30px, 4vw, 62px);
  align-items: start;
}
body.zuva-universal-theme .zuva-runtime-product-media {
  overflow: hidden;
  min-height: 420px;
  border: 1px solid var(--zuva-border);
  border-radius: var(--zuva-radius);
  background: #f4ecdf;
  box-shadow: var(--zuva-shadow-soft);
}
body.zuva-universal-theme .zuva-runtime-product-image {
  display: block;
  width: 100%;
  height: auto;
  min-height: 420px;
  max-height: 760px;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}
body.zuva-universal-theme .zuva-runtime-product-summary {
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
  padding: clamp(26px, 4vw, 52px) !important;
  border: 1px solid var(--zuva-border);
  border-radius: var(--zuva-radius);
  background: #fff;
  box-shadow: var(--zuva-shadow-soft);
  text-align: left !important;
}
body.zuva-universal-theme .zuva-runtime-product-summary .product_title {
  margin: 0 0 18px;
  font-family: var(--zuva-display);
  font-size: clamp(2.8rem, 5vw, 4.9rem);
  font-weight: 400;
  line-height: .94;
}
body.zuva-universal-theme .zuva-runtime-product-price {
  margin: 0 0 22px;
  color: var(--zuva-olive);
  font-family: var(--zuva-display);
  font-size: 1.42rem;
}
body.zuva-universal-theme .zuva-runtime-product-summary .woocommerce-product-details__short-description {
  margin: 0 0 22px;
  color: rgba(40,37,31,.72);
  font-size: 1rem;
  line-height: 1.65;
}
body.zuva-universal-theme .zuva-runtime-product-summary .woocommerce-product-details__short-description p { margin: 0; }
body.zuva-universal-theme .zuva-runtime-cart-form { margin: 0; }
body.zuva-universal-theme .zuva-runtime-purchase-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 18px;
}
body.zuva-universal-theme .zuva-runtime-purchase-row .quantity { margin: 0 !important; }
body.zuva-universal-theme .zuva-runtime-purchase-row .qty {
  width: 84px;
  min-height: 52px;
  border: 1px solid var(--zuva-border);
  border-radius: 999px;
  background: #fff;
  text-align: center;
}
body.zuva-universal-theme .zuva-runtime-purchase-row .single_add_to_cart_button {
  display: inline-flex !important;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  padding: 0 28px !important;
  border-radius: 999px !important;
  background: var(--zuva-olive) !important;
  color: #fff !important;
  font-family: var(--zuva-accent);
  font-size: .67rem;
  letter-spacing: .15em;
  text-transform: uppercase;
}
body.zuva-universal-theme .zuva-runtime-product-meta {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--zuva-border);
  color: rgba(40,37,31,.52);
  font-size: .75rem;
}
body.zuva-universal-theme .zuva-runtime-product-after {
  width: min(100%, 1260px);
  margin: 50px auto 0;
}

/* The block action occupies the same slot and dimensions as ADD TO ORDER. */
body.zuva-universal-theme .wp-block-woocommerce-product-button.zuva-customize-button-wrap,
body.zuva-universal-theme .wp-block-woocommerce-product-button:has(.zuva-customize-product-link) {
  display: flex !important;
  min-height: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 22px 24px !important;
  aspect-ratio: auto !important;
}
body.zuva-universal-theme .wc-block-product .zuva-customize-product-link,
body.zuva-universal-theme .woocommerce ul.products li.product .zuva-customize-product-link {
  position: static !important;
  inset: auto !important;
  display: inline-flex !important;
  width: auto !important;
  min-width: 158px !important;
  max-width: calc(100% - 8px) !important;
  height: 52px !important;
  min-height: 52px !important;
  max-height: 52px !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto !important;
  padding: 0 26px !important;
  aspect-ratio: auto !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--zuva-olive) !important;
  color: #fff !important;
  box-shadow: none !important;
  font-family: var(--zuva-accent) !important;
  font-size: .65rem !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: .15em !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
}
body.zuva-universal-theme .wc-block-product .zuva-customize-product-link:hover,
body.zuva-universal-theme .woocommerce ul.products li.product .zuva-customize-product-link:hover {
  background: var(--zuva-olive-deep) !important;
  color: #fff !important;
  transform: translateY(-2px) !important;
}

@media (max-width: 782px) {
  body.zuva-universal-theme .zuva-runtime-product-main { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  body.zuva-universal-theme .zuva-runtime-product-media,
  body.zuva-universal-theme .zuva-runtime-product-image { min-height: 0; }
  body.zuva-universal-theme .zuva-runtime-product-image { max-height: none; aspect-ratio: 1 / 1; }
  body.zuva-universal-theme .zuva-runtime-product-summary { padding: 24px 18px !important; }
  body.zuva-universal-theme .zuva-runtime-product-summary .product_title { font-size: clamp(2.5rem, 13vw, 3.8rem); }
  body.zuva-universal-theme .zuva-runtime-purchase-row { align-items: stretch; flex-direction: column; }
  body.zuva-universal-theme .zuva-runtime-purchase-row .quantity,
  body.zuva-universal-theme .zuva-runtime-purchase-row .qty,
  body.zuva-universal-theme .zuva-runtime-purchase-row .single_add_to_cart_button { width: 100% !important; }
  body.zuva-universal-theme .wp-block-woocommerce-product-button.zuva-customize-button-wrap,
  body.zuva-universal-theme .wp-block-woocommerce-product-button:has(.zuva-customize-product-link) {
    padding: 0 18px 22px !important;
  }
  body.zuva-universal-theme .wc-block-product .zuva-customize-product-link,
  body.zuva-universal-theme .woocommerce ul.products li.product .zuva-customize-product-link {
    width: auto !important;
    min-width: 150px !important;
    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;
  }
}
body.zuva-universal-theme .zuva-runtime-single-product > .zuva-runtime-product {
  display: block !important;
  grid-template-columns: none !important;
  gap: 0 !important;
}


/* =========================================================
   ZUVA 9.9 — responsive header stability and duplicate cart guard
   ========================================================= */

/* When the canonical ZUVA cart trigger exists, suppress any old native
   WooCommerce Mini-Cart block left in a saved Site Editor header. This keeps
   exactly one ORDER control without changing the active header layout. */
body.zuva-universal-theme header.wp-block-template-part.zuva-has-custom-cart .wp-block-woocommerce-mini-cart,
body.zuva-universal-theme header.wp-block-template-part.zuva-has-custom-cart .wc-block-mini-cart,
body.zuva-universal-theme header.wp-block-template-part:has(.zuva-cart-trigger) .wp-block-woocommerce-mini-cart,
body.zuva-universal-theme header.wp-block-template-part:has(.zuva-cart-trigger) .wc-block-mini-cart {
  display: none !important;
}

/* Old runtime fallbacks must never become an additional desktop ORDER button. */
body.zuva-universal-theme header.wp-block-template-part .zuva-mobile-order-fallback {
  display: none !important;
}

/* Hidden cart layers must not intercept clicks while the drawer is closed. */
body.zuva-universal-theme .zuva-cart-overlay[hidden],
body.zuva-universal-theme .zuva-cart-drawer[aria-hidden="true"] {
  pointer-events: none !important;
}

/* Preserve responsive sizing even when an older saved header adds wrappers. */
body.zuva-universal-theme header.wp-block-template-part .zuva-header-inner {
  box-sizing: border-box !important;
  max-width: min(1380px, calc(100vw - 32px)) !important;
}

@media (max-width: 782px) {
  body.zuva-universal-theme header.wp-block-template-part .zuva-header-inner {
    max-width: calc(100vw - 24px) !important;
  }
}

/* =========================================================
   ZUVA 10.0 — non-blocking header/cart stability
   ========================================================= */

/* Duplicate controls remain in the DOM so WooCommerce Blocks/React does not
   continuously recreate them. They are visually and interactively suppressed. */
body.zuva-universal-theme header.wp-block-template-part .zuva-suppressed-header-control,
body.zuva-universal-theme header.wp-block-template-part .zuva-native-cart-suppressed,
body.zuva-universal-theme header.wp-block-template-part .wp-block-woocommerce-mini-cart.zuva-native-cart-suppressed,
body.zuva-universal-theme header.wp-block-template-part .wc-block-mini-cart.zuva-native-cart-suppressed {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* A closed native Woo drawer may be hydrated in the page DOM. It must never
   cover the site or intercept clicks while the ZUVA cart is the active cart. */
body.zuva-universal-theme:not(.wc-block-components-drawer--is-open) .wc-block-components-drawer__screen-overlay:not(.is-open) {
  pointer-events: none !important;
}


/* ZUVA 10.1 storefront stability — no DOM removal from WooCommerce Blocks. */
.wc-block-components-product-button a.added_to_cart,
.wp-block-woocommerce-product-button a.added_to_cart,
.products a.added_to_cart,
.wc-block-components-product-button a[href*="/cart"].added_to_cart,
.wp-block-woocommerce-product-button a[href*="/cart"].added_to_cart {
  display: none !important;
}
body.zuva-cart-open .wc-block-components-drawer__screen-overlay:has(.wc-block-mini-cart__drawer),
body.zuva-cart-open .wc-block-components-drawer__screen-overlay:has(.wc-block-mini-cart__template-part) {
  display: none !important;
  pointer-events: none !important;
}
html.zuva-page-loaded body,
html.zuva-page-loaded .wp-site-blocks {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto;
}

/* ZUVA 10.11 — Gutenberg split product sections (frontend remains visually identical). */
body.single-product.zuva-universal-theme .zuva-product-section-block{box-sizing:border-box;width:100%}
body.single-product.zuva-universal-theme .zuva-product-image-section{height:100%}
body.single-product.zuva-universal-theme .zuva-product-image-section>a{display:block;height:100%}
body.single-product.zuva-universal-theme .zuva-product-details-section,
body.single-product.zuva-universal-theme .zuva-product-order-builder-section,
body.single-product.zuva-universal-theme .zuva-product-meta-section{margin:0}
.editor-styles-wrapper .zuva-product-template-editor-block{box-sizing:border-box;min-height:96px;padding:18px;border:1px dashed rgba(82,105,68,.4);border-radius:12px;background:rgba(247,241,229,.32)}
.editor-styles-wrapper .zuva-product-template-editor-block strong{display:block;margin-bottom:6px;font-family:"Cormorant Garamond",Georgia,serif;font-size:24px}
.editor-styles-wrapper .zuva-product-template-editor-block p{margin:0;color:#6f6a62}
