/* Zeel Luxury UI 3.0 — app-first mobile/tablet shell; desktop editorial UI preserved. */
:root{--z3-wine:#6f183f;--z3-ink:#21151c;--z3-muted:#75646e;--z3-soft:#f8f3f5;--z3-line:rgba(45,22,35,.10);--z3-dock:72px;--z3-radius:22px}
.z3-only{display:none!important}
@media(max-width:991.98px){
  html{scroll-behavior:smooth;scroll-padding-top:72px}
  body.zeel-body{background:#fff;padding-bottom:calc(var(--z3-dock) + env(safe-area-inset-bottom))!important}
  body.z3-lock{overflow:hidden;touch-action:none}
  .zeel-header{z-index:1035!important}
  .zeel-navbar{background:rgba(255,255,255,.94)!important;backdrop-filter:blur(18px) saturate(1.2)}
  .z3-only{display:block!important}

  /* Bottom app dock */
  .z2-mobile-dock{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed!important;left:0;right:0;bottom:0px;z-index:1080;height:calc(var(--z3-dock) + env(safe-area-inset-bottom));padding:7px 7px env(safe-area-inset-bottom);background:rgba(255,255,255,.97)!important;border-top:1px solid var(--z3-line);box-shadow:0 -12px 35px rgba(36,18,29,.10);backdrop-filter:blur(20px)}
  .z2-mobile-dock a,.z2-mobile-dock button{position:relative;display:flex!important;flex-direction:column;align-items:center;justify-content:center;width:100%!important;height:56px!important;border:0!important;border-radius:16px!important;padding:0!important;background:transparent!important;color:#705f69!important;text-decoration:none!important;font:700 .62rem/1.1 Manrope,sans-serif!important;gap:4px!important;-webkit-tap-highlight-color:transparent;transition:transform .16s ease,background .16s ease,color .16s ease}
  .z2-mobile-dock svg{width:22px!important;height:22px!important;stroke-width:1.7!important}
  .z2-mobile-dock :is(a,button):active{transform:none!important}
  .z2-mobile-dock :is(a,button).is-active,.z2-mobile-dock a[aria-current=page]{color:var(--z3-wine)!important;background:#f8eaf1!important}
  .z2-mobile-dock :is(a,button).is-active:after,.z2-mobile-dock a[aria-current=page]:after{content:"";position:absolute;top:3px;width:20px;height:3px;border-radius:99px;background:var(--z3-wine)}


  /* UI 3.0.1 interaction stability and native form-control sizing. */
  input[type="checkbox"],input[type="radio"],.form-check-input{
    width:1.125rem!important;height:1.125rem!important;min-width:1.125rem!important;min-height:1.125rem!important;
    max-width:1.125rem!important;max-height:1.125rem!important;flex:0 0 1.125rem!important;
    padding:0!important;border-radius:.25rem!important;appearance:auto!important;-webkit-appearance:auto!important;
  }
  input[type="radio"]{border-radius:50%!important}
  .form-check{display:flex!important;align-items:flex-start!important;gap:.55rem!important}
  .form-check-input{margin:.12rem 0 0!important}
  .btn:active,.btn.active,button:active,.zeel-icon-btn:active,.qty-btn:active,
  .z2-mobile-dock :is(a,button):active,[data-zeel-open-shop]:active,[data-zeel-open-search]:active{
    transform:none!important;scale:1!important;zoom:1!important;
  }
  .btn,.qty-btn,.zeel-icon-btn,.z2-mobile-dock :is(a,button){transform-origin:center!important}
  .z3-dock-bag{overflow:visible!important}
  .z3-dock-cart-badge{position:absolute!important;top:5px!important;left:calc(50% + 5px)!important;display:grid!important;place-items:center!important;
    min-width:17px!important;height:17px!important;padding:0 4px!important;border-radius:999px!important;background:var(--z3-wine)!important;
    color:#fff!important;font:800 .58rem/1 Manrope,sans-serif!important;border:2px solid #fff!important}
  .z3-dock-cart-badge.d-none{display:none!important}

    /* Dedicated app drawer (does not depend on Bootstrap). */
  .z3-shop-shell{position:fixed;inset:0;z-index:1100;visibility:hidden;pointer-events:none}
  .z3-shop-shell.is-open{visibility:visible;pointer-events:auto}
  .z3-shop-backdrop{position:absolute;inset:0;border:0;background:rgba(25,10,18,.48);opacity:0;transition:opacity .25s ease}
  .z3-shop-shell.is-open .z3-shop-backdrop{opacity:1}
  .z3-shop-panel{position:absolute;inset:0 auto 0 0;width:min(92vw,460px);display:flex;flex-direction:column;background:#fff;transform:translateX(-102%);transition:transform .32s cubic-bezier(.2,.8,.2,1);box-shadow:20px 0 70px rgba(25,10,18,.24)}
  .z3-shop-shell.is-open .z3-shop-panel{transform:translateX(0)}
  .z3-shop-head{display:flex;align-items:center;justify-content:space-between;min-height:76px;padding:calc(10px + env(safe-area-inset-top)) 20px 10px;border-bottom:1px solid var(--z3-line);background:#fff}
  .z3-shop-head small{display:block;color:var(--z3-wine);font:800 .61rem/1 Manrope,sans-serif;letter-spacing:.14em;text-transform:uppercase}
  .z3-shop-head h2{margin:.25rem 0 0;font:600 2rem/.9 "Cormorant Garamond",serif}
  .z3-icon-close{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:var(--z3-soft);font-size:1.75rem}
  .z3-shop-scroll{overflow:auto;overscroll-behavior:contain;padding:16px 18px calc(28px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}
  .z3-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px}
  .z3-feature-grid a{display:flex;min-height:104px;flex-direction:column;justify-content:flex-end;padding:15px;border-radius:19px;color:var(--z3-ink);text-decoration:none;background:linear-gradient(145deg,#fbf2f6,#f3e2ea);border:1px solid rgba(111,24,63,.07)}
  .z3-feature-grid strong{font:600 1.28rem/1 "Cormorant Garamond",serif}.z3-feature-grid span{margin-top:5px;color:var(--z3-muted);font-size:.67rem}
  .z3-section-label{margin:22px 2px 8px;color:var(--z3-muted);font:800 .62rem/1 Manrope,sans-serif;letter-spacing:.15em;text-transform:uppercase}
  .z3-shop-links{display:grid}.z3-shop-links>a,.z3-shop-links summary{display:flex;align-items:center;justify-content:space-between;min-height:54px;padding:0 4px;border-bottom:1px solid var(--z3-line);color:var(--z3-ink);text-decoration:none;font-size:.86rem;font-weight:650;list-style:none}.z3-shop-links summary::-webkit-details-marker{display:none}.z3-shop-links summary:after{content:"+";font-size:1.2rem;font-weight:400}.z3-shop-links details[open] summary:after{content:"−"}.z3-shop-sub{display:grid;padding:5px 0 10px 14px;border-bottom:1px solid var(--z3-line)}.z3-shop-sub a{padding:10px 0;color:var(--z3-muted);text-decoration:none;font-size:.78rem}
  .z3-account-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:22px}.z3-account-strip a{display:flex;min-height:68px;align-items:center;justify-content:center;text-align:center;border-radius:15px;background:var(--z3-soft);color:var(--z3-ink);text-decoration:none;font-size:.67rem;font-weight:700}

  /* Full screen app search. */
  .zeel-mobile-search-sheet{position:fixed!important;inset:0!important;z-index:1110!important;background:#fff!important}
  .zeel-mobile-search-backdrop{display:none!important}
  .zeel-mobile-search-panel{position:absolute!important;inset:0!important;max-height:none!important;border-radius:0!important;padding:calc(14px + env(safe-area-inset-top)) 18px calc(26px + env(safe-area-inset-bottom))!important;transform:translateY(100%)!important;box-shadow:none!important;transition:transform .3s cubic-bezier(.2,.8,.2,1)!important}
  .zeel-mobile-search-sheet.is-open .zeel-mobile-search-panel{transform:translateY(0)!important}
  .zeel-mobile-search-handle{display:none!important}
  .zeel-mobile-search-heading{align-items:center!important}.zeel-mobile-search-heading h2{font-size:2.35rem!important;margin:.25rem 0 1rem!important}
  .zeel-mobile-search-close{width:44px!important;height:44px!important}
  .zeel-mobile-search-form{position:sticky;top:0;grid-template-columns:auto 1fr auto!important;border-radius:18px!important;padding:.45rem .45rem .45rem .9rem!important;background:#f8f5f6!important}
  .zeel-mobile-search-suggestions{margin-top:24px!important}.zeel-mobile-search-suggestions a{min-height:43px;display:inline-flex;align-items:center}

  /* Mobile product cards: app-like, without sacrificing equal actions. */
  .zeel-product-card{min-height:380px; padding:.42rem!important;border-radius:18px!important;box-shadow:0 8px 26px rgba(38,18,30,.07)!important;content-visibility:auto;contain-intrinsic-size:370px}
  .zeel-product-card .media{aspect-ratio:6/5;border-radius:14px!important;background:#f3eef0;overflow:hidden}.zeel-product-card .media img{transition:opacity .3s ease,transform .55s ease}.zeel-product-card .title{font-size:1.58rem!important}.zeel-product-card-actions{display:grid!important;grid-template-columns:1fr!important;gap:7px!important}.zeel-product-card-actions .btn{width:100%!important;height:42px!important;min-height:42px!important;border-radius:13px!important;font-size:.95rem!important;line-height:1!important;padding:0 5px!important}.zeel-product-card-actions .btn.is-busy{color:transparent!important;position:relative}.zeel-product-card-actions .btn.is-busy:after{content:"";position:absolute;width:15px;height:15px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:z3spin .65s linear infinite;color:#fff}
  @keyframes z3spin{to{transform:rotate(1turn)}}

  /* Editorial swipe rails + hero progress feel. */
  .zeel-product-rail,.zeel-brand-rail,.zeel-horizontal-rail{display:flex!important;overflow-x:auto!important;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}.zeel-product-rail::-webkit-scrollbar,.zeel-brand-rail::-webkit-scrollbar,.zeel-horizontal-rail::-webkit-scrollbar{display:none}.zeel-product-rail>*{scroll-snap-align:start}.zeel-hero-carousel{border-radius:0 0 26px 26px!important;overflow:hidden}

  /* PDP as native-commerce screen. */
  .zeel-pdp{padding-inline:0!important}.zeel-pdp>.row{--bs-gutter-x:0!important}.zeel-pdp-gallery-col{padding:0!important}.zeel-pdp-gallery{background:#f6f1f3}.zeel-pdp-thumbs{display:none!important}.zeel-pdp-main,.zeel-pdp-viewport{border-radius:0!important}.zeel-pdp-viewport{display:flex!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important}.zeel-pdp-slide{position:relative!important;display:block!important;flex:0 0 100%!important;opacity:1!important;scroll-snap-align:start!important}.zeel-pdp-nav{display:none!important}.zeel-pdp-info{padding:22px 18px 96px!important}.zeel-pdp-title{font-size:2.05rem!important}.zeel-pdp-section,.zeel-pdp-delivery,.zeel-pdp-trust{border-radius:18px!important}.zeel-pdp-actions{position:fixed!important;left:0;right:0;bottom:calc(var(--z3-dock) + env(safe-area-inset-bottom));z-index:1065;display:grid!important;grid-template-columns:56px 1fr!important;gap:9px!important;margin:0!important;padding:10px 14px!important;background:rgba(255,255,255,.96);border-top:1px solid var(--z3-line);backdrop-filter:blur(16px)}.zeel-pdp-actions .btn{min-height:50px!important;border-radius:15px!important}.zeel-pdp-actions [data-zeel-wishlist-toggle]{width:56px!important;padding:0!important}

  /* Cart / checkout native sticky action. */
  .zeel-cart{padding-inline:14px!important}.zeel-cart-line{grid-template-columns:92px 1fr!important;gap:12px!important;padding:12px!important;border-radius:18px!important;background:#fff;box-shadow:0 7px 23px rgba(38,18,30,.07)}.zeel-cart-line .line-total{grid-column:2!important;text-align:left!important}.zeel-cart-mobile-bar{display:none;position:fixed!important;left:0;right:0;bottom:calc(var(--z3-dock) + env(safe-area-inset-bottom));z-index:1060;/*display:flex!important;*/align-items:center;justify-content:space-between;padding:10px 14px;background:rgba(255,255,255,.97);border-top:1px solid var(--z3-line);backdrop-filter:blur(16px)}.zeel-cart-mobile-bar .btn{min-width:52%;min-height:50px;border-radius:15px}.zeel-checkout-steps{overflow-x:auto;white-space:nowrap;scrollbar-width:none}.zeel-checkout-summary,.zeel-cart-summary{border-radius:20px!important}

  /* Forms, sheets and states. */
  .form-control,.form-select,input,select,textarea{font-size:16px!important;border-radius:14px!important}.btn{min-height:44px}.modal-content{border-radius:24px 24px 0 0!important}.zeel-quickview-modal .modal-dialog{align-items:flex-end!important;margin:0!important;min-height:100dvh}.zeel-quickview-modal .modal-content{max-height:90dvh!important}
  [data-z3-ripple]{overflow:hidden;position:relative}.z3-ripple{position:absolute;border-radius:50%;background:currentColor;opacity:.12;transform:scale(0);animation:z3ripple .5s ease-out;pointer-events:none}@keyframes z3ripple{to{transform:scale(4);opacity:0}}
  .z3-image-loaded{animation:z3fade .35s ease both}@keyframes z3fade{from{opacity:.35}to{opacity:1}}
}
@media(min-width:768px) and (max-width:991.98px){.z3-shop-panel{width:min(68vw,520px)}.zeel-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.zeel-pdp-info{padding-inline:30px!important}.zeel-hero-title{font-size:5rem!important}}
@media(min-width:992px){.z3-shop-shell{display:none!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Luxury UI 3.0.2 — authoritative wishlist state and final interaction polish */
[data-zeel-wishlist-toggle] {
  -webkit-tap-highlight-color: transparent;
  isolation: isolate;
}
[data-zeel-wishlist-toggle] svg {
  overflow: visible;
}
[data-zeel-wishlist-toggle] svg path {
  fill: transparent;
  stroke: currentColor;
  transition: fill .18s ease, stroke .18s ease;
}
[data-zeel-wishlist-toggle].is-active {
  color: #c52f63 !important;
  background-color: #fff4f7 !important;
  border-color: rgba(197,47,99,.32) !important;
}
[data-zeel-wishlist-toggle].is-active svg path {
  fill: currentColor;
  stroke: currentColor;
}
[data-zeel-wishlist-toggle].is-active::after {
  content: "";
  position: absolute;
  inset: -3px;
  border: 1px solid rgba(197,47,99,.22);
  border-radius: inherit;
  pointer-events: none;
}
[data-zeel-wishlist-toggle].is-busy {
  cursor: wait;
  opacity: .68;
}
[data-zeel-wishlist-toggle]:focus-visible,
.zeel-wishlist-remove:focus-visible {
  outline: 3px solid rgba(197,47,99,.28) !important;
  outline-offset: 3px;
}

.zeel-wishlist-remove,
.zeel-wishlist-remove:visited {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  color: #9f234d !important;
  background: #fff !important;
  border: 1px solid rgba(159,35,77,.38) !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-decoration: none !important;
  font-weight: 650;
}
.zeel-wishlist-remove:hover {
  color: #fff !important;
  background: #9f234d !important;
  border-color: #9f234d !important;
}
.zeel-wishlist-remove:disabled,
.zeel-wishlist-remove.is-busy {
  color: #9f234d !important;
  background: #fff7f9 !important;
  opacity: .65 !important;
}

/* Keep all card hearts visibly above product imagery and action overlays. */
.zeel-product-card-wish {
  color: #5c3444;
  box-shadow: 0 8px 24px rgba(45,24,34,.13) !important;
}
.zeel-product-card-wish.is-active {
  box-shadow: 0 8px 24px rgba(197,47,99,.18) !important;
}

@media (max-width: 767.98px) {
  .zeel-wishlist .zeel-product-card-body .d-flex {
    gap: .55rem !important;
    position:fixed;
    bottom:7px;
    padding-right:7px;
  }
    .zeel-wishlist .zeel-product-card-name {
        min-height: 100px !important;
        font-size:14px !important;
    }
    .zeel-wishlist .zeel-product-card-price {
        min-height: 55px !important;
        font-size: 14px !important;
    }
    .zeel-wishlist .was {
        color: var(--z-ink-soft);
        text-decoration: line-through;
        font-size: 14px !important;
    }
  .zeel-wishlist-remove {
    min-height: 42px;
    font-size: .78rem !important;
  }
  [data-zeel-wishlist-toggle].is-active::after {
    inset: -2px;
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-zeel-wishlist-toggle] svg path {
    transition: none;
  }
}


/* Luxury UI 3.0.3 — desktop interaction stability and final component polish. */
:where(.btn,.zbtn,button,[role="button"],input[type="button"],input[type="submit"],input[type="reset"]) {
  box-sizing: border-box;
  transform: none;
  scale: 1;
  zoom: 1;
  transform-origin: center;
  -webkit-tap-highlight-color: transparent;
  transition-property: background-color,color,border-color,box-shadow,opacity !important;
  transition-duration: 140ms !important;
  transition-timing-function: ease !important;
}
:where(.btn,.zbtn,button,[role="button"],input[type="button"],input[type="submit"],input[type="reset"]):is(:active,:focus,:focus-visible,.active) {
  transform: none !important;
  scale: 1 !important;
  zoom: 1 !important;
  padding-block-start: revert-layer;
  padding-block-end: revert-layer;
  border-width: 1px;
}
.btn:active,.zbtn:active { transform:none !important; }

/* Prevent temporary layout growth caused by generated press effects. */
@media (min-width: 992px) {
  [data-z3-ripple] { overflow: visible; }
  [data-z3-ripple] > .z3-ripple { display:none !important; }
}

/* Normalize storefront CTA geometry without flattening legitimate compact/icon variants. */
.zeel-empty-state .btn,
.zeel-empty-actions .btn,
.zeel-product-card-actions .btn,
.zeel-filter-actions .btn,
.zeel-cart .btn,
.zeel-checkout .btn,
.zeel-wishlist .btn {
    min-height: 42px;
    line-height: 1.15;
    white-space: nowrap;
    border-radius: 100px !important;
    padding: 0px 30px 0px 30px !important;
}

/* Stable focus treatment: visible but never changes element dimensions. */
:where(.btn,.zbtn,button,[role="button"]):focus-visible {
  outline: 3px solid rgba(197,47,99,.24) !important;
  outline-offset: 3px;
  box-shadow: 0 0 0 1px rgba(255,255,255,.9),0 0 0 5px rgba(197,47,99,.12) !important;
}

/* Final desktop refinement for the catalogue/filter surface. */
@media (min-width: 992px) {
  .zeel-filter-panel,.zeel-catalog-filter,.catalog-filter-panel {
    border-color: rgba(111,24,63,.16) !important;
    box-shadow: 0 12px 34px rgba(54,25,40,.035);
  }
  .zeel-filter-panel hr,.zeel-catalog-filter hr,.catalog-filter-panel hr {
    border-color: rgba(111,24,63,.12) !important;
  }
  input[type="checkbox"],input[type="radio"],.form-check-input {
    flex:0 0 auto;
  }
}


/* Luxury UI 3.0.4 — useful feedback, restrained micro-motion and branded states. */
[data-zeel-cart-count].is-count-updated {
  animation: z34BadgeConfirm 380ms cubic-bezier(.2,.75,.25,1);
}
@keyframes z34BadgeConfirm {
  0%   { box-shadow: 0 0 0 0 rgba(197,47,99,.34); }
  45%  { box-shadow: 0 0 0 7px rgba(197,47,99,.10); }
  100% { box-shadow: 0 0 0 0 rgba(197,47,99,0); }
}

/* Animate only the heart glyph; the button box never changes dimensions. */
[data-zeel-wishlist-toggle].is-active svg {
  animation: z34HeartConfirm 180ms cubic-bezier(.2,.78,.3,1);
}
@keyframes z34HeartConfirm {
  0%   { transform: scale(.88); }
  65%  { transform: scale(1.08); }
  100% { transform: scale(1); }
}

/* Toast hierarchy: title confirms the action, body carries useful cart context. */
.zeel-toast-item .title { letter-spacing: -.01em; }
.zeel-toast-item .body { font-variant-numeric: tabular-nums; }

/* Branded empty states remain light and editorial rather than error-like. */
.zeel-listing-empty,
.zeel-cart-empty {
  background-image: radial-gradient(circle at 50% 0%, rgba(197,47,99,.045), transparent 48%);
}

@media (prefers-reduced-motion: reduce) {
  [data-zeel-cart-count].is-count-updated,
  [data-zeel-wishlist-toggle].is-active svg { animation: none !important; }
}

/* Luxury UI 3.0.5 — unified feedback, loading states and motion discipline. */
:root {
  --zeel-motion-fast: 120ms;
  --zeel-motion-normal: 170ms;
  --zeel-motion-slow: 240ms;
  --zeel-motion-ease: cubic-bezier(.2,.72,.25,1);
  --zeel-focus-ring: 0 0 0 3px rgba(197,47,99,.22);
}

/* Only animate paint-level properties. Never animate geometry. */
:where(a,button,.btn,.zbtn,input,select,textarea,[role="button"]) {
  transition-property: color,background-color,border-color,box-shadow,opacity,fill,stroke !important;
  transition-duration: var(--zeel-motion-normal) !important;
  transition-timing-function: var(--zeel-motion-ease) !important;
}

/* Stable premium image loading surface that prevents layout shift. */
.zeel-image-frame,
.zeel-product-card .media,
.zeel-pdp-viewport,
.zeel-lookbook-media {
  position: relative;
  overflow: hidden;
  background: linear-gradient(110deg,#f7f2f4 8%,#fff 18%,#f7f2f4 33%);
  background-size: 220% 100%;
}
.zeel-image-frame:not(.is-image-ready),
.zeel-product-card .media:not(.is-image-ready),
.zeel-pdp-viewport:not(.is-image-ready),
.zeel-lookbook-media:not(.is-image-ready) {
  animation: zeelSkeletonSweep 1.45s linear infinite;
}
.zeel-image-frame img,
.zeel-product-card .media img,
.zeel-pdp-viewport img,
.zeel-lookbook-media img {
  opacity: 0;
}
.zeel-image-frame.is-image-ready img,
.zeel-product-card .media.is-image-ready img,
.zeel-pdp-viewport.is-image-ready img,
.zeel-lookbook-media.is-image-ready img,
img.z3-image-loaded {
  opacity: 1;
}
@keyframes zeelSkeletonSweep { to { background-position-x: -220%; } }

/* Standardized semantic states across cart, wishlist, account and checkout. */
.zeel-state-card {
  border: 1px solid rgba(111,24,63,.12);
  border-radius: 22px;
  background: radial-gradient(circle at 50% 0%,rgba(197,47,99,.055),transparent 52%),#fff;
  padding: clamp(28px,5vw,58px);
  text-align: center;
  box-shadow: 0 16px 44px rgba(54,25,40,.045);
}
.zeel-state-card h2,.zeel-state-card h3 { color:#73163f; letter-spacing:-.015em; }
.zeel-state-card p { max-width:620px; margin-inline:auto; color:#735668; }
.zeel-state-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:22px; }

/* One visual language for success/error/warning feedback. */
.zeel-toast-item {
  border:1px solid rgba(111,24,63,.12);
  box-shadow:0 20px 52px rgba(46,18,32,.16);
}
.zeel-toast-item .title { font-weight:750; }
.zeel-toast-item .body { color:#725768; }
.zeel-toast-item.is-success { border-color:rgba(36,129,83,.20); }
.zeel-toast-item.is-danger { border-color:rgba(174,41,54,.22); }
.zeel-toast-item.is-warning { border-color:rgba(172,112,27,.22); }

/* Accessible loading treatment without resizing controls. */
[aria-busy="true"],.is-busy {
  cursor: progress !important;
}
.btn[aria-busy="true"],button[aria-busy="true"] {
  opacity:.76;
  pointer-events:none;
}
.btn[aria-busy="true"]::after,button[aria-busy="true"]::after {
  content:"";
  display:inline-block;
  width:13px;height:13px;
  margin-left:8px;
  border:2px solid currentColor;
  border-right-color:transparent;
  border-radius:50%;
  vertical-align:-2px;
  animation:zeelBusySpin .7s linear infinite;
}
@keyframes zeelBusySpin { to { transform:rotate(360deg); } }

/* Consistent focus and disabled semantics. */
:where(a,button,.btn,.zbtn,input,select,textarea,[role="button"]):focus-visible {
  outline:3px solid rgba(197,47,99,.28) !important;
  outline-offset:3px;
  box-shadow:var(--zeel-focus-ring) !important;
}
:where(button,.btn,.zbtn,input,select,textarea):disabled,
:where(button,.btn,.zbtn)[aria-disabled="true"] {
  opacity:.52 !important;
  cursor:not-allowed !important;
  box-shadow:none !important;
}

/* Refined mobile toast and app-shell clearance. */
@media (max-width:767.98px) {
  .zeel-toast-host { left:12px!important; right:12px!important; top:calc(var(--z3-dock,68px) + env(safe-area-inset-bottom) + 12px)!important; }
  .zeel-toast-item { width:100%!important; max-width:none!important; border-radius:18px!important; }
  .zeel-state-card { border-radius:20px; padding:30px 18px; }
  .zeel-state-actions { display:grid; grid-template-columns:1fr; }
  .zeel-state-actions .btn { width:100%; }
}

@media (prefers-reduced-motion: reduce) {
  .zeel-image-frame:not(.is-image-ready),
  .zeel-product-card .media:not(.is-image-ready),
  .zeel-pdp-viewport:not(.is-image-ready),
  .zeel-lookbook-media:not(.is-image-ready) { animation:none!important; }
}
