.zuva-pwa-prompt {
  position: fixed;
  right: 18px;
  bottom: calc(88px + env(safe-area-inset-bottom, 0px));
  z-index: 150000;
  display: grid;
  grid-template-columns: 46px minmax(0,1fr) auto 26px;
  align-items: center;
  gap: 12px;
  width: min(460px, calc(100vw - 36px));
  padding: 12px;
  color: #211a16;
  background: rgba(248,241,227,.96);
  border: 1px solid rgba(33,26,22,.12);
  box-shadow: 0 22px 70px rgba(25,18,12,.18);
  -webkit-backdrop-filter: blur(22px) saturate(125%);
  backdrop-filter: blur(22px) saturate(125%);
}
.zuva-pwa-prompt[hidden], .zuva-pwa-ios[hidden] { display: none !important; }
.zuva-pwa-prompt img { border-radius: 10px; }
.zuva-pwa-prompt div { display: grid; gap: 3px; }
.zuva-pwa-prompt strong { font-family: Cinzel, Georgia, serif; font-size: 13px; letter-spacing: .12em; }
.zuva-pwa-prompt span { color: #786e64; font-size: 12px; }
.zuva-pwa-prompt button[data-zuva-install] { min-height: 38px; padding: 0 14px; color: #f8f1e3; background: #181411; border: 0; font-family: Cinzel, Georgia, serif; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; }
.zuva-pwa-dismiss { color: #786e64; background: transparent; border: 0; font-size: 24px; cursor: pointer; }
.zuva-pwa-ios { position: fixed; inset: 0; z-index: 170000; display: grid; place-items: end center; padding: 18px; background: rgba(24,20,17,.58); }
.zuva-pwa-ios-card { position: relative; width: min(500px,100%); padding: 28px 24px calc(28px + env(safe-area-inset-bottom,0px)); background: #f8f1e3; box-shadow: 0 20px 80px rgba(0,0,0,.28); }
.zuva-pwa-ios-card h2 { margin: 0 0 8px; font-family: "Cormorant Garamond", Georgia, serif; font-size: 34px; }
.zuva-pwa-ios-card button { position: absolute; top: 10px; right: 12px; background: transparent; border: 0; font-size: 26px; cursor: pointer; }
@media (min-width: 783px) { .zuva-pwa-prompt { bottom: 24px; } }


/* ZUVA 2.3 launch experience */
.zuva-pwa-splash {
  position:fixed;
  inset:0;
  z-index:2147483000;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:#f8f1e3;
  opacity:0;
  transition:opacity .42s ease;
}
.zuva-pwa-splash[hidden] { display:none !important; }
.zuva-pwa-splash.is-visible { opacity:1; }
.zuva-pwa-splash.is-leaving { opacity:0; }
.zuva-pwa-splash-mark {
  position:relative;
  display:grid;
  place-items:center;
  width:min(42vw,190px);
  aspect-ratio:1;
}
.zuva-pwa-splash-mark img {
  position:relative;
  z-index:2;
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  opacity:0;
  transform:translateY(12px) scale(.92);
  filter:drop-shadow(0 18px 34px rgba(33,26,22,.08));
}
.zuva-pwa-splash.is-visible .zuva-pwa-splash-mark img {
  animation:zuva-pwa-logo-enter 1.05s cubic-bezier(.22,1,.36,1) .08s forwards;
}
.zuva-pwa-splash-mark span {
  position:absolute;
  inset:9%;
  border:1px solid rgba(165,74,40,.22);
  border-radius:50%;
  opacity:0;
  transform:scale(.72);
}
.zuva-pwa-splash.is-visible .zuva-pwa-splash-mark span {
  animation:zuva-pwa-ring-enter 1.2s cubic-bezier(.22,1,.36,1) .18s forwards;
}
@keyframes zuva-pwa-logo-enter {
  0% { opacity:0; transform:translateY(12px) scale(.92); }
  58% { opacity:1; transform:translateY(0) scale(1.025); }
  100% { opacity:1; transform:translateY(0) scale(1); }
}
@keyframes zuva-pwa-ring-enter {
  0% { opacity:0; transform:scale(.72); }
  70% { opacity:.7; }
  100% { opacity:.26; transform:scale(1.08); }
}
@media (prefers-reduced-motion: reduce) {
  .zuva-pwa-splash,
  .zuva-pwa-splash-mark img,
  .zuva-pwa-splash-mark span {
    animation:none !important;
    transition:none !important;
    transform:none !important;
  }
  .zuva-pwa-splash.is-visible,
  .zuva-pwa-splash.is-visible .zuva-pwa-splash-mark img { opacity:1; }
}


/* 2.7: the public homepage uses the existing compact Open in App control.
   The older automatic install card stays disabled so it cannot cover content. */
.zuva-pwa-prompt { display:none !important; }

/* ZUVA PWA 3.0 — coordinated product/order-builder safe areas. */
html.zuva-pwa-standalone body.single-product.zuva-universal-theme .zuva-product-shell {
  padding-bottom: calc(122px + env(safe-area-inset-bottom, 0px)) !important;
}

html.zuva-pwa-standalone body.single-product.zuva-universal-theme .zuva-runtime-product-main {
  max-width: 720px !important;
  margin-inline: auto !important;
}

html.zuva-pwa-standalone body.single-product.zuva-universal-theme .zuva-runtime-product-summary {
  margin-bottom: 12px !important;
}

html.zuva-pwa-standalone .zuva-location-modal__panel {
  max-height: calc(100vh - 42px - env(safe-area-inset-bottom, 0px)) !important;
}

@media (max-width: 782px) {
  html.zuva-pwa-standalone body.single-product.zuva-universal-theme .zuva-runtime-product-media {
    display: block !important;
    max-height: 300px !important;
  }

  html.zuva-pwa-standalone body.single-product.zuva-universal-theme .zuva-runtime-product-image {
    height: min(300px, 70vw) !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
  }

  html.zuva-pwa-standalone body.single-product.zuva-universal-theme .zuva-runtime-product-summary {
    padding: 20px 14px 22px !important;
    border-radius: 20px !important;
  }

  html.zuva-pwa-standalone body.single-product.zuva-universal-theme .zuva-order-builder__group--addons {
    margin-inline: 0 !important;
  }
}
