/* ─── 0. ANIMATIONS ─────────────────────────────────────────── */
@keyframes pdp-fadeUp {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes pdp-fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes pdp-pulse-ring {
  0%   { box-shadow: 0 0 0 0 rgba(245,114,36,.45); }
  70%  { box-shadow: 0 0 0 10px rgba(245,114,36,0); }
  100% { box-shadow: 0 0 0 0 rgba(245,114,36,0); }
}
@keyframes pdp-shimmer {
  0%   { background-position: -400px 0; }
  100% { background-position: 400px 0; }
}
@keyframes pdp-stockPulse {
  0%,100% { opacity: 1; }
  50%      { opacity: .6; }
}
@keyframes pdp-barGrow {
  from { width: 0; }
  to   { width: var(--pdp-stock-width, 72%); }
}
@keyframes pdp-slideUp {
  from { transform: translateY(100%); opacity: 0; }
  to   { transform: translateY(0);    opacity: 1; }
}
@keyframes pdp-ripple {
  to { transform: scale(4); opacity: 0; }
}

/* ─── 1. PAGE BACKGROUND & DEPTH ────────────────────────────── */
@media (min-width: 1024px) {
  .product-details-page {
    background-color: #f9f7f5;
    position: relative;
  }
  body.dark-mode.product-details-page {
    background-color: #0b0b10;
  }

  /* warm ambient orb — light mode */
  .product-details-page .account-gradient {
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background:
      radial-gradient(ellipse 60% 50% at 80% -10%, rgba(245,114,36,.09) 0%, transparent 70%),
      radial-gradient(ellipse 40% 30% at 10%  90%, rgba(255,180,80,.06) 0%, transparent 60%);
  }
  body.dark-mode.product-details-page .account-gradient {
    background:
      radial-gradient(ellipse 60% 50% at 80% -10%, rgba(245,114,36,.13) 0%, transparent 60%),
      radial-gradient(ellipse 40% 35% at 5%   85%, rgba(120,60,255,.08) 0%, transparent 55%);
  }

  .product-details-container {
    position: relative;
    z-index: 1;
  }
}

/* ─── 2. LAYOUT — STICKY RIGHT PANEL ────────────────────────── */
@media (min-width: 1024px) {
  .details-grid {
    display: grid;
    grid-template-columns: 55% 1fr;
    gap: 48px;
    align-items: start;
  }

  .product-info {
    position: sticky;
    top: 88px;          /* clears the fixed header */
    max-height: calc(100vh - 100px);
    overflow-y: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding-right: 4px;
  }
  .product-info::-webkit-scrollbar { display: none; }

  /* The warmed transition shell already occupies the final geometry. */
  .product-gallery,
  .product-info { animation: none; }
}

/* ─── 3. GALLERY — ELEVATED IMAGE EXPERIENCE ─────────────────── */
@media (min-width: 1024px) {
  .product-gallery {
    display: flex;
    flex-direction: column;
    gap: 16px;
    position: relative;
    top: auto;
  }

  .main-image-wrapper {
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    background: linear-gradient(145deg, #fff 0%, #fef8f3 100%);
    border: 1px solid rgba(245,114,36,.12);
    box-shadow:
      0 0 0 1px rgba(245,114,36,.06),
      0 20px 60px rgba(0,0,0,.08),
      0 4px 16px rgba(245,114,36,.08);
    aspect-ratio: 4/3;
    cursor: zoom-in;
  }
  body.dark-mode .main-image-wrapper {
    background: linear-gradient(145deg, #161620 0%, #0f0f18 100%);
    border-color: rgba(245,114,36,.18);
    box-shadow:
      0 0 0 1px rgba(245,114,36,.1),
      0 24px 64px rgba(0,0,0,.5),
      0 4px 20px rgba(245,114,36,.1);
  }

  /* ambient glow layer behind image */
  .main-image-wrapper::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 70% 60% at 50% 50%, rgba(245,114,36,.07) 0%, transparent 70%);
    pointer-events: none;
    z-index: 0;
  }

  .main-image-wrapper #product-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 24px;
    transition: transform .45s cubic-bezier(.22,.68,0,1.1);
    position: relative;
    z-index: 1;
  }
  .main-image-wrapper:hover #product-image {
    transform: scale(1.05);
  }

  /* badge repositioned — glassmorphism pill */
  .main-image-wrapper .card-badge {
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 10;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-radius: 999px;
    padding: 6px 14px;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
  }

  /* thumbnail strip — horizontal below main, larger thumbs */
  .thumbnail-strip {
    display: flex;
    flex-direction: row;
    gap: 12px;
    padding: 4px 2px;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .thumbnail-strip::-webkit-scrollbar { display: none; }

  .thumbnail-strip img {
    width: 72px;
    height: 72px;
    border-radius: 12px;
    object-fit: cover;
    border: 2px solid transparent;
    background: rgba(245,114,36,.05);
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
    flex-shrink: 0;
    cursor: pointer;
  }
  .thumbnail-strip img:hover {
    transform: translateY(-3px) scale(1.06);
    box-shadow: 0 8px 20px rgba(245,114,36,.2);
  }
  .thumbnail-strip img.active {
    border-color: var(--primary-color, #f57224);
    box-shadow: 0 0 0 3px rgba(245,114,36,.3);
    animation: pdp-pulse-ring 1.8s ease-out;
  }
}

/* ─── 4. PRODUCT TITLE & RATING ROW ─────────────────────────── */
.pdp-rating-jump {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 5px 7px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: inherit;
  cursor: pointer;
}

.pdp-rating-jump:hover {
  background: rgba(245, 114, 36, .08);
}

.pdp-rating-jump:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(245, 114, 36, .22);
}

#reviews { scroll-margin-top: 112px; }

@media (min-width: 1024px) {
  .product-info .product-title {
    font-size: 2rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -.025em;
    margin-bottom: 10px;
  }

  /* Inline rating row injected by JS */
  .pdp-rating-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    font-size: .9rem;
    color: var(--ink-weak, #888);
    animation: pdp-fadeIn .4s .3s both;
  }
  .pdp-rating-stars {
    color: #f59e0b;
    letter-spacing: 2px;
    font-size: 1rem;
  }
  .pdp-rating-score {
    font-weight: 700;
    color: var(--ink, #111);
    font-size: .95rem;
  }
  .pdp-rating-count {
    color: var(--ink-weak, #888);
    font-size: .85rem;
  }
  .pdp-sold-count {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding-left: 10px;
    border-left: 1px solid rgba(245,114,36,.2);
    color: #15803d;
    font-size: .82rem;
    font-weight: 700;
  }
  body.dark-mode .pdp-sold-count { color: #4ade80; }
  body.dark-mode .pdp-rating-score { color: #f1f1f1; }
}

/* ─── 5. FEATURE CHIPS (In Stock / Instant Delivery) ─────────── */
@media (min-width: 1024px) {
  .info-tags {
    margin-bottom: 18px;
    gap: 8px;
  }
  .tag {
    font-size: .78rem;
    padding: 6px 14px;
    position: relative;
    overflow: hidden;
  }
  /* shimmer sweep */
  .tag::after {
    content: '';
    position: absolute;
    top: 0; left: -100%; width: 60%; height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.35), transparent);
    animation: pdp-shimmer 3.5s 1s infinite;
  }
}

/* ─── 6. PRICE BLOCK ─────────────────────────────────────────── */
@media (min-width: 1024px) {
  .pdp-price-quantity-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 22px;
    margin-bottom: 16px;
  }
  .product-price {
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
    flex-wrap: wrap;
  }
  .pdp-price-quantity-row .product-price {
    flex: 1 1 auto;
    min-width: 0;
    margin-bottom: 0;
  }
  .product-price .current-price {
    font-size: 2.8rem;
    font-weight: 800;
  }
  .product-price .original-price {
    font-size: 1.1rem;
  }

  /* "Save X%" pill — injected by JS next to original price */
  .pdp-save-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: linear-gradient(135deg, #fef2f2, #fee2e2);
    color: #b91c1c;
    border: 1px solid rgba(185,28,28,.2);
    border-radius: 999px;
    font-size: .75rem;
    font-weight: 700;
    padding: 4px 10px;
    letter-spacing: .03em;
    text-transform: uppercase;
  }
  body.dark-mode .pdp-save-badge {
    background: rgba(185,28,28,.18);
    color: #fca5a5;
    border-color: rgba(185,28,28,.3);
  }
}

/* ─── 7. STOCK URGENCY BAR ───────────────────────────────────── */
@media (min-width: 1024px) {
  .pdp-stock-bar {
    margin: 0 0 20px;
    animation: pdp-fadeUp .4s .2s both;
  }
  .pdp-stock-label {
    font-size: .82rem;
    font-weight: 600;
    color: #c2410c;
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 6px;
    animation: pdp-stockPulse 2.5s ease-in-out infinite;
  }
  body.dark-mode .pdp-stock-label { color: #fb923c; }
  .pdp-stock-track {
    height: 5px;
    border-radius: 999px;
    background: rgba(245,114,36,.15);
    overflow: hidden;
  }
  .pdp-stock-fill {
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, #ff6b00, #ff9a3c);
    animation: pdp-barGrow .9s .5s cubic-bezier(.22,.68,0,1.2) both;
  }
}

/* ─── 8. CTA BUTTONS ─────────────────────────────────────────── */
@media (min-width: 1024px) {
  .product-actions {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
    grid-auto-rows: 58px;
    align-items: stretch;
    gap: 10px;
    margin-bottom: 14px;
  }

  /* Buy Now — full width, premium gradient pill */
  .action-btn.buy-now {
    width: 100%;
    min-height: 58px;
    height: 58px;
    max-height: 58px;
    padding: 14px 18px;
    border-radius: 16px;
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: .02em;
    background: linear-gradient(135deg, #ff8c00, #f57224 50%, #e64a00);
    color: #fff;
    border: none;
    box-shadow:
      0 8px 24px rgba(245,114,36,.35),
      inset 0 1px 0 rgba(255,255,255,.2);
    position: relative;
    overflow: hidden;
    transition: transform .25s ease, box-shadow .25s ease;
  }
  .action-btn.buy-now:hover {
    transform: translateY(-3px);
    box-shadow:
      0 16px 36px rgba(245,114,36,.45),
      inset 0 1px 0 rgba(255,255,255,.25);
  }
  .action-btn.buy-now:active { transform: translateY(0); }

  /* ripple effect */
  .action-btn.buy-now .pdp-ripple {
    position: absolute;
    border-radius: 50%;
    background: rgba(255,255,255,.35);
    transform: scale(0);
    animation: pdp-ripple .6s linear;
    pointer-events: none;
  }

  /* Add to Cart + Wishlist row */
  .pdp-secondary-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 52px;
    gap: 8px;
    height: 58px;
    min-height: 58px;
    max-height: 58px;
  }
  .action-btn.add-to-cart {
    min-width: 0;
    min-height: 58px;
    height: 58px;
    max-height: 58px;
    padding: 14px 12px;
    border-radius: 14px;
    font-size: 1rem;
    font-weight: 600;
    background: transparent;
    color: var(--primary-color, #f57224);
    border: 2px solid var(--primary-color, #f57224);
    overflow: hidden;
    white-space: nowrap;
    transition: all .25s ease;
  }
  .action-btn.add-to-cart .pdp-added-label {
    display: inline-flex;
    max-width: 100%;
    align-items: center;
    justify-content: center;
    gap: 7px;
    line-height: 1;
    white-space: nowrap;
  }
  .action-btn.add-to-cart:hover {
    background: var(--primary-color, #f57224);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(245,114,36,.25);
  }
  body.dark-mode .action-btn.add-to-cart {
    background: rgba(245,114,36,.12);
    border-color: rgba(245,114,36,.4);
    color: #ffb37f;
  }
  body.dark-mode .action-btn.add-to-cart:hover {
    background: rgba(245,114,36,.28);
    color: #fff;
  }

  /* Wishlist icon button */
  .pdp-wishlist-btn {
    width: 52px;
    height: 58px;
    border-radius: 14px;
    border: 2px solid rgba(245,114,36,.25);
    background: rgba(245,114,36,.05);
    color: var(--primary-color, #f57224);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex-shrink: 0;
    font-size: 1.1rem;
    transition: all .25s ease;
  }
  .pdp-wishlist-btn:hover {
    background: rgba(245,114,36,.15);
    border-color: rgba(245,114,36,.5);
    transform: translateY(-2px) scale(1.05);
  }
  .pdp-wishlist-btn.wishlisted {
    background: rgba(245,114,36,.2);
    color: #e64a00;
    border-color: rgba(245,114,36,.6);
  }
  body.dark-mode .pdp-wishlist-btn {
    border-color: rgba(245,114,36,.3);
    background: rgba(245,114,36,.08);
    color: #ffa872;
  }
}

/* ─── 9. TRUST BADGE GRID ────────────────────────────────────── */
@media (min-width: 1024px) {
  .pdp-trust-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 20px;
    animation: pdp-fadeUp .5s .35s both;
  }
  .pdp-trust-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border-radius: 14px;
    background: rgba(255,255,255,.7);
    border: 1px solid rgba(245,114,36,.1);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    transition: transform .2s ease, box-shadow .2s ease;
  }
  .pdp-trust-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(0,0,0,.07);
  }
  body.dark-mode .pdp-trust-item {
    background: rgba(255,255,255,.04);
    border-color: rgba(255,255,255,.08);
  }
  body.dark-mode .pdp-trust-item:hover {
    box-shadow: 0 6px 18px rgba(0,0,0,.3);
  }
  .pdp-trust-icon {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: linear-gradient(135deg, rgba(245,114,36,.15), rgba(245,114,36,.05));
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary-color, #f57224);
    font-size: .9rem;
    flex-shrink: 0;
  }
  .pdp-trust-text { line-height: 1.3; }
  .pdp-trust-text strong {
    display: block;
    font-size: .78rem;
    font-weight: 700;
    color: var(--ink, #111);
  }
  body.dark-mode .pdp-trust-text strong { color: #f1f1f1; }
  .pdp-trust-text span {
    font-size: .7rem;
    color: var(--ink-weak, #888);
  }

  /* hide the old single-line trust seal on desktop */
  .trust-seals { display: none; }
}

/* ─── 10. TABS — PILL NAV STYLE ──────────────────────────────── */
@media (min-width: 1024px) {
  .product-tabs {
    margin-top: 48px;
    background: rgba(255,255,255,.85);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-radius: 24px;
    padding: 32px;
    border: 1px solid rgba(245,114,36,.1);
    box-shadow: 0 8px 40px rgba(0,0,0,.05);
    animation: pdp-fadeUp .5s .4s both;
  }
  body.dark-mode .product-tabs {
    background: rgba(14,14,22,.85);
    border-color: rgba(245,114,36,.12);
    box-shadow: 0 8px 48px rgba(0,0,0,.4);
  }

  .tab-headers {
    display: flex;
    gap: 8px;
    border-bottom: none;
    background: rgba(245,114,36,.06);
    border-radius: 14px;
    padding: 5px;
    margin-bottom: 32px;
  }
  body.dark-mode .tab-headers {
    background: rgba(245,114,36,.08);
  }

  .tab-link {
    flex: 1;
    text-align: center;
    padding: 10px 20px;
    border-radius: 10px;
    font-size: .92rem;
    font-weight: 600;
    color: var(--ink-weak, #888);
    transition: all .25s ease;
    position: relative;
  }
  .tab-link::after { display: none; } /* remove old underline */

  .tab-link.active {
    background: #fff;
    color: var(--primary-color, #f57224);
    box-shadow: 0 2px 12px rgba(0,0,0,.1);
  }
  body.dark-mode .tab-link.active {
    background: rgba(245,114,36,.18);
    color: #ffb37f;
    box-shadow: 0 2px 12px rgba(0,0,0,.4);
  }
  .tab-link:hover:not(.active) {
    color: var(--ink, #333);
    background: rgba(255,255,255,.5);
  }
  body.dark-mode .tab-link:hover:not(.active) {
    color: #ddd;
    background: rgba(255,255,255,.05);
  }

  /* tab content fade-slide transition */
  .tab-content {
    animation: pdp-fadeUp .3s ease both;
  }
}

/* ─── 11. STICKY BOTTOM CTA BAR ──────────────────────────────── */
@media (min-width: 1024px) {
  .pdp-sticky-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 999;
    background: rgba(255,255,255,.92);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border-top: 1px solid rgba(245,114,36,.15);
    box-shadow: 0 -8px 40px rgba(0,0,0,.1);
    padding: 14px 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    transform: translateY(100%);
    opacity: 0;
    transition: transform .35s cubic-bezier(.22,.68,0,1.2), opacity .35s ease;
  }
  body.dark-mode .pdp-sticky-bar {
    background: rgba(10,10,18,.92);
    border-top-color: rgba(245,114,36,.2);
    box-shadow: 0 -8px 40px rgba(0,0,0,.5);
  }
  .pdp-sticky-bar.visible {
    transform: translateY(0);
    opacity: 1;
  }
  .pdp-sticky-bar-info {
    display: flex;
    align-items: center;
    gap: 16px;
    min-width: 0;
  }
  .pdp-sticky-bar-img {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    object-fit: cover;
    border: 1px solid rgba(245,114,36,.2);
    flex-shrink: 0;
  }
  .pdp-sticky-bar-name {
    font-weight: 700;
    font-size: .95rem;
    color: var(--ink, #111);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 320px;
  }
  body.dark-mode .pdp-sticky-bar-name { color: #f1f1f1; }
  .pdp-sticky-bar-price {
    font-weight: 800;
    font-size: 1.1rem;
    background: linear-gradient(135deg, #f57224, #e64a00);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    flex-shrink: 0;
  }
  .pdp-sticky-bar-actions {
    display: flex;
    gap: 10px;
    flex-shrink: 0;
  }
  .pdp-sticky-bar .pdp-sticky-buy {
    padding: 12px 32px;
    border-radius: 12px;
    background: linear-gradient(135deg, #ff8c00, #f57224);
    color: #fff;
    font-weight: 700;
    font-size: .95rem;
    border: none;
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease;
    box-shadow: 0 4px 16px rgba(245,114,36,.35);
  }
  .pdp-sticky-bar .pdp-sticky-buy:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(245,114,36,.45);
  }
  .pdp-sticky-bar .pdp-sticky-cart {
    padding: 12px 20px;
    border-radius: 12px;
    background: transparent;
    color: var(--primary-color, #f57224);
    border: 2px solid var(--primary-color, #f57224);
    font-weight: 700;
    font-size: .95rem;
    cursor: pointer;
    transition: all .2s ease;
  }
  .pdp-sticky-bar .pdp-sticky-cart:hover {
    background: var(--primary-color, #f57224);
    color: #fff;
  }
  body.dark-mode .pdp-sticky-bar .pdp-sticky-cart {
    color: #ffa872;
    border-color: rgba(245,114,36,.45);
  }
}

/* ─── 12. SCROLL-REVEAL UTILITY ──────────────────────────────── */
@media (min-width: 1024px) {
  .pdp-reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .5s ease, transform .5s cubic-bezier(.22,.68,0,1.2);
  }
  .pdp-reveal.pdp-visible {
    opacity: 1;
    transform: none;
  }
}

/* ─── 13. SHORT DESCRIPTION — BORDERLESS PREMIUM PANEL ───────── */
@media (min-width: 1024px) {
  .short-description {
    border: 0;
    padding-left: 18px;
    background: rgba(245,114,36,.04);
    border-radius: 12px;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    box-shadow: none;
  }
  body.dark-mode .short-description {
    background: rgba(245,114,36,.06);
  }
}

/* ─── PHASE 2 ADDITIONS ──────────────────────────────────────── */

/* ─── P2-1. QUANTITY STEPPER ─────────────────────────────────── */
@media (min-width: 1024px) {
  .pdp-qty-wrap {
    margin-bottom: 16px;
  }
  .pdp-price-quantity-row .pdp-qty-wrap {
    flex: 0 0 auto;
    position: relative;
    margin: 0 0 0 auto;
  }
  .pdp-qty-label {
    display: block;
    font-size: .8rem;
    font-weight: 700;
    color: var(--ink-weak, #888);
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: 8px;
  }
  .pdp-qty-row {
    display: flex;
    align-items: center;
    gap: 16px;
  }
  .pdp-qty-stepper {
    display: inline-flex;
    align-items: center;
    border: 2px solid rgba(245,114,36,.3);
    border-radius: 14px;
    overflow: hidden;
    background: rgba(245,114,36,.04);
  }
  body.dark-mode .pdp-qty-stepper {
    border-color: rgba(245,114,36,.35);
    background: rgba(245,114,36,.07);
  }
  .pdp-qty-btn {
    width: 44px;
    height: 44px;
    background: none;
    border: none;
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--primary-color, #f57224);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .2s ease;
    line-height: 1;
  }
  .pdp-qty-btn:hover {
    background: rgba(245,114,36,.12);
  }
  .pdp-qty-btn:disabled {
    opacity: .35;
    cursor: not-allowed;
  }
  .pdp-qty-val {
    width: 48px;
    min-width: 40px;
    height: 44px;
    border: 0;
    outline: 0;
    background: transparent;
    text-align: center;
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--ink, #111);
    padding: 0 4px;
    appearance: textfield;
    -moz-appearance: textfield;
  }
  .pdp-qty-val::-webkit-inner-spin-button,
  .pdp-qty-val::-webkit-outer-spin-button {
    margin: 0;
    appearance: none;
  }
  .pdp-qty-val:focus,
  .pdp-qty-val:focus-visible {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
  }
  body.dark-mode .pdp-qty-val { color: #f1f1f1; }
  .pdp-qty-total {
    position: absolute;
    top: 0;
    right: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: .78rem;
    font-weight: 700;
    color: var(--ink-weak, #777);
  }
  .pdp-qty-wrap.pdp-qty-has-total .pdp-qty-label {
    visibility: hidden;
  }
  body.dark-mode .pdp-qty-total { color: #aaa; }
}

@media (max-width: 1023px) {
  .pdp-price-quantity-row { display: block; }
  .pdp-price-quantity-row .pdp-qty-wrap { display: none; }
}

/* ─── P2-2. SECTION HEADING ──────────────────────────────────── */
@media (min-width: 1024px) {
  .pdp-section-heading {
    font-family: 'Poppins', sans-serif;
    font-size: 1.6rem;
    font-weight: 800;
    letter-spacing: -.02em;
    margin: 0 0 28px;
    color: var(--ink, #111);
    position: relative;
    display: inline-block;
  }
  .pdp-section-heading::after {
    content: '';
    display: block;
    width: 40px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, #f57224, #ff9a3c);
    margin-top: 6px;
  }
  body.dark-mode .pdp-section-heading { color: #f1f1f1; }
}

/* ─── P2-3. SOCIAL PROOF BANNER ──────────────────────────────── */
@media (min-width: 1024px) {
  .pdp-social-proof {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 64px;
    padding: 16px 28px;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(245,114,36,.07), rgba(255,154,60,.04));
    border: 1px solid rgba(245,114,36,.18);
    margin-bottom: 36px;
    font-size: .9rem;
    color: var(--ink-light, #555);
    animation: pdp-fadeUp .5s .1s both;
  }
  body.dark-mode .pdp-social-proof {
    background: rgba(245,114,36,.1);
    border-color: rgba(245,114,36,.25);
    color: #ccc;
  }
  .pdp-sp-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #22c55e;
    flex-shrink: 0;
    box-shadow: 0 0 0 3px rgba(34,197,94,.25);
    animation: pdp-stockPulse 1.8s ease-in-out infinite;
  }
  .pdp-sp-text strong { color: var(--primary-color, #f57224); }
  .pdp-sp-text {
    text-align: center;
    line-height: 1.5;
  }
  body.dark-mode .pdp-sp-text strong { color: #ffb37f; }
}

/* ─── P2-4. HOW IT WORKS ─────────────────────────────────────── */
@media (min-width: 1024px) {
  .pdp-hiw-section {
    margin-bottom: 48px;
  }
  .pdp-hiw-steps {
    display: flex;
    align-items: center;
    gap: 0;
  }
  .pdp-hiw-step {
    flex: 1;
    padding: 32px 28px;
    border-radius: 20px;
    background: rgba(255,255,255,.85);
    border: 1px solid rgba(245,114,36,.1);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    text-align: center;
    position: relative;
    transition: transform .3s ease, box-shadow .3s ease;
  }
  body.dark-mode .pdp-hiw-step {
    background: rgba(20,20,30,.8);
    border-color: rgba(245,114,36,.14);
  }
  .pdp-hiw-step:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 48px rgba(245,114,36,.12);
  }
  .pdp-hiw-icon {
    width: 60px;
    height: 60px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(245,114,36,.15), rgba(245,114,36,.05));
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 12px;
    font-size: 1.4rem;
    color: var(--primary-color, #f57224);
    border: 1px solid rgba(245,114,36,.2);
  }
  .pdp-hiw-num {
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .1em;
    color: rgba(245,114,36,.5);
    text-transform: uppercase;
    margin-bottom: 6px;
  }
  .pdp-hiw-title {
    font-family: 'Poppins', sans-serif;
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--ink, #111);
    margin: 0 0 8px;
  }
  body.dark-mode .pdp-hiw-title { color: #f1f1f1; }
  .pdp-hiw-desc {
    font-size: .85rem;
    line-height: 1.5;
    color: var(--ink-weak, #888);
    margin: 0;
  }
  .pdp-hiw-arrow {
    font-size: 1.1rem;
    color: rgba(245,114,36,.4);
    padding: 0 10px;
    flex-shrink: 0;
  }

  /* stagger reveal for steps */
  .pdp-hiw-step:nth-child(1) { animation-delay: .05s; }
  .pdp-hiw-step:nth-child(3) { animation-delay: .1s; }
  .pdp-hiw-step:nth-child(5) { animation-delay: .15s; }
}


/* Keep product purchase controls clear of the floating support launcher. */
@media (min-width: 1024px) {
  body.product-details-page #digix-chat-open-button.digix-whatsapp-fallback {
    width: 64px;
    min-width: 64px;
    height: 64px;
    padding: 0;
    justify-content: center;
    right: 28px;
    bottom: 28px;
  }
  body.product-details-page #digix-chat-open-button.digix-whatsapp-fallback > i {
    width: auto;
  }
  body.product-details-page #digix-chat-open-button.digix-whatsapp-fallback .digix-whatsapp-fallback-copy {
    display: none;
  }
  body.product-details-page.pdp-sticky-visible #digix-chat-open-button {
    bottom: 104px;
  }

  body.product-details-page.pdp-sticky-visible #digix-chat-welcome-popup {
    bottom: 104px;
  }
}


/* ─── P3. PRODUCT BENEFIT ROTATOR ──────────────────────────────
   A compact, data-driven promise card shared by desktop and mobile. */
@media (min-width: 769px) {
  body.product-details-page > header.site-header#header-placeholder:empty {
    min-height: 126px;
    background: linear-gradient(140deg, var(--dw-shell-header-start, #ff8c00), var(--dw-shell-header-end, #ff5722));
  }
}

@keyframes pdp-benefit-enter {
  from { opacity: 0; transform: translateY(72%); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes pdp-benefit-sheen {
  from { transform: translateX(-140%) skewX(-18deg); }
  to { transform: translateX(420%) skewX(-18deg); }
}

.short-description.pdp-benefit-panel {
  position: relative;
  display: block;
  min-height: 116px;
  margin-bottom: 24px;
  padding: 14px 18px 13px;
  overflow: hidden;
  border: 0;
  border-radius: 15px;
  background:
    radial-gradient(circle at 92% 15%, rgba(255, 164, 82, .11), transparent 34%),
    linear-gradient(135deg, rgba(255, 248, 242, .96), rgba(255, 255, 255, .88));
  box-shadow: 0 12px 32px rgba(101, 54, 24, .055);
  color: var(--ink, #171717);
  isolation: isolate;
}

.short-description.pdp-benefit-panel::after {
  content: '';
  position: absolute;
  z-index: -1;
  inset: -30% auto -30% -20%;
  width: 12%;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .82), transparent);
  animation: pdp-benefit-sheen .95s .45s cubic-bezier(.22, .68, 0, 1) both;
}

body.dark-mode .short-description.pdp-benefit-panel {
  border-color: rgba(251, 146, 60, .18);
  border-left-color: #fb923c;
  background:
    radial-gradient(circle at 92% 15%, rgba(251, 146, 60, .12), transparent 34%),
    linear-gradient(135deg, rgba(34, 26, 24, .92), rgba(20, 20, 26, .94));
  box-shadow: 0 16px 38px rgba(0, 0, 0, .22);
}

.pdp-benefit-rotator,
.pdp-benefit-header,
.pdp-benefit-label,
.pdp-benefit-line,
.pdp-benefit-progress {
  display: flex;
}

.pdp-benefit-rotator {
  flex-direction: column;
  width: 100%;
}

.pdp-benefit-header {
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 17px;
  margin-bottom: 8px;
}

.pdp-benefit-label {
  align-items: center;
  gap: 7px;
  color: #a44a13;
  font-size: .67rem;
  font-weight: 800;
  letter-spacing: .095em;
  line-height: 1;
  text-transform: uppercase;
}

body.dark-mode .pdp-benefit-label { color: #fdba74; }

.pdp-benefit-label-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 0 3px rgba(34, 197, 94, .13);
}

.pdp-benefit-counter {
  color: var(--ink-weak, #8b8b8b);
  font-size: .66rem;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  letter-spacing: .06em;
}

.pdp-benefit-viewport {
  position: relative;
  display: block;
  min-height: 3.35em;
  overflow: hidden;
}

.pdp-benefit-line {
  position: absolute;
  inset: 0;
  align-items: center;
  gap: 10px;
  opacity: 0;
  transform: translateY(72%);
  transition:
    opacity .48s cubic-bezier(.22, .68, 0, 1),
    transform .48s cubic-bezier(.22, .68, 0, 1);
  will-change: opacity, transform;
}

.pdp-benefit-line.is-active {
  z-index: 2;
  opacity: 1;
  transform: translateY(0);
}

.pdp-benefit-line.is-leaving {
  z-index: 1;
  opacity: 0;
  transform: translateY(-72%);
}

.pdp-benefit-mark {
  display: inline-flex;
  flex: 0 0 27px;
  width: 27px;
  height: 27px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(245, 114, 36, .18);
  border-radius: 9px;
  background: linear-gradient(135deg, rgba(245, 114, 36, .14), rgba(255, 180, 95, .05));
  color: var(--primary-color, #f57224);
  font-size: .78rem;
  font-weight: 900;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .65);
}

body.dark-mode .pdp-benefit-mark {
  border-color: rgba(251, 146, 60, .22);
  background: rgba(251, 146, 60, .11);
  color: #fb923c;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
}

.pdp-benefit-copy {
  max-width: 100%;
  color: var(--ink, #252525);
  font-size: clamp(.93rem, 1.02vw, 1.04rem);
  font-weight: 650;
  letter-spacing: -.012em;
  line-height: 1.48;
}

.pdp-benefit-line:not(:first-child) .pdp-benefit-copy {
  color: #c65311;
  font-weight: 750;
}

body.dark-mode .pdp-benefit-copy { color: #f4f4f5; }
body.dark-mode .pdp-benefit-line:not(:first-child) .pdp-benefit-copy { color: #fdba74; }

.pdp-benefit-progress {
  align-items: center;
  gap: 5px;
  height: 5px;
  margin: 5px 0 0 37px;
}

.pdp-benefit-progress-dot {
  width: 5px;
  height: 3px;
  border-radius: 999px;
  background: rgba(245, 114, 36, .22);
  transition: width .42s ease, background-color .42s ease;
}

.pdp-benefit-progress-dot.is-active {
  width: 22px;
  background: linear-gradient(90deg, #f57224, #ff9a3c);
}

.pdp-benefit-sr {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media (max-width: 767px) {
  .short-description.pdp-benefit-panel {
    min-height: 142px;
    margin-bottom: 22px;
    padding: 14px 15px 12px;
    border-radius: 0 14px 14px 0;
  }
  .pdp-benefit-viewport { min-height: 5em; }
  .pdp-benefit-copy {
    font-size: .93rem;
    line-height: 1.45;
  }
  .pdp-benefit-mark {
    flex-basis: 25px;
    width: 25px;
    height: 25px;
  }
  .pdp-benefit-progress { margin-left: 35px; }
}

.pdp-benefit-static .pdp-benefit-rotator,
html[data-dw-performance-tier='lite'] .pdp-benefit-rotator {
  display: none;
}

.pdp-benefit-static .pdp-benefit-sr,
html[data-dw-performance-tier='lite'] .pdp-benefit-sr {
  position: static !important;
  display: block;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  white-space: normal !important;
}

@media (prefers-reduced-motion: reduce) {
  .short-description.pdp-benefit-panel::after { animation: none; }
  .pdp-benefit-rotator { display: none; }
  .pdp-benefit-sr {
    position: static !important;
    display: block;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    clip: auto !important;
    white-space: normal !important;
  }
}

.pdp-mobile-topbar,
.pdp-mobile-purchase-dock { display: none; }

@media (max-width: 767px) {
  html:has(body.product-details-page) {
    background: #f5f7fb;
    background-image: none;
  }

  body.product-details-page {
    background:
      radial-gradient(circle at 8% 8%, rgba(37, 99, 235, .055), transparent 25rem),
      radial-gradient(circle at 96% 32%, rgba(245, 114, 36, .05), transparent 23rem),
      #f5f7fb;
  }

  body.product-details-page > header.site-header,
  body.product-details-page > .dw-header.site-header,
  body.product-details-page .dw-header.site-header,
  body.product-details-page .dw-bottom-nav,
  body.product-details-page #bottomNav { display: none !important; }

  body.product-details-page.has-bottom-nav { padding-bottom: 0; }

  body.product-details-page .pdp-mobile-topbar {
    position: fixed;
    top: calc(env(safe-area-inset-top, 0px) + 10px);
    right: 12px;
    left: 12px;
    z-index: 10030;
    display: flex;
    align-items: center;
    justify-content: space-between;
    pointer-events: none;
  }
  body.product-details-page .pdp-mobile-topbar-actions {
    display: flex;
    width: 94px;
    min-width: 0;
    margin-left: 10px;
    gap: 2px;
    padding: 3px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .82);
    border-radius: 999px;
    background: rgba(255, 255, 255, .82);
    box-shadow: 0 10px 28px rgba(15, 23, 42, .14);
    pointer-events: auto;
    backdrop-filter: blur(16px) saturate(1.18);
    -webkit-backdrop-filter: blur(16px) saturate(1.18);
    transform: translateZ(0);
    transition: width .38s cubic-bezier(.16, 1, .3, 1), background-color .2s ease, box-shadow .2s ease;
  }
  body.product-details-page .pdp-mobile-topbar.is-search-open .pdp-mobile-topbar-actions {
    width: calc(100% - 58px);
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 14px 34px rgba(15, 23, 42, .18);
  }
  body.product-details-page .pdp-mobile-search-form {
    display: flex;
    min-width: 42px;
    height: 42px;
    flex: 1 1 auto;
    align-items: center;
    overflow: hidden;
    border-radius: 999px;
  }
  body.product-details-page .pdp-mobile-search-form #pdp-mobile-search {
    flex: 0 0 42px;
  }
  body.product-details-page .pdp-mobile-search-input {
    width: 0;
    min-width: 0;
    height: 38px;
    flex: 0 1 auto;
    padding: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: #17243a;
    font: 600 .9rem/1.2 Inter, Poppins, sans-serif;
    opacity: 0;
    caret-color: #f57224;
    transform: translateX(8px);
    transition: width .34s cubic-bezier(.16, 1, .3, 1), opacity .2s ease .06s, transform .34s cubic-bezier(.16, 1, .3, 1), padding .34s ease;
  }
  body.product-details-page .pdp-mobile-search-input:focus,
  body.product-details-page .pdp-mobile-search-input:focus-visible,
  body.product-details-page .pdp-mobile-search-input:active {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }
  body.product-details-page .pdp-mobile-search-input::placeholder {
    color: #768399;
    opacity: 1;
  }
  body.product-details-page .pdp-mobile-topbar.is-search-open .pdp-mobile-search-input {
    width: 100%;
    flex-grow: 1;
    padding: 0 8px 0 2px;
    opacity: 1;
    transform: translateX(0);
  }
  body.product-details-page .pdp-mobile-circle-btn {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .78);
    border-radius: 50%;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 8px 24px rgba(15, 23, 42, .13);
    color: #17243a;
    text-decoration: none;
    pointer-events: auto;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    backdrop-filter: blur(14px) saturate(1.12);
    -webkit-backdrop-filter: blur(14px) saturate(1.12);
    transition: transform .18s ease, background-color .18s ease, color .18s ease, box-shadow .18s ease;
  }
  body.product-details-page .pdp-mobile-back-btn { width: 46px; height: 46px; }
  body.product-details-page .pdp-mobile-topbar-actions .pdp-mobile-circle-btn {
    border-color: transparent;
    background: transparent;
    box-shadow: none;
  }
  body.product-details-page .pdp-mobile-action-icon {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  body.product-details-page .pdp-mobile-circle-btn:focus-visible {
    outline: 3px solid rgba(245, 114, 36, .34);
    outline-offset: 2px;
  }
  body.product-details-page .pdp-mobile-circle-btn:active { transform: scale(.93); }
  body.product-details-page #pdp-mobile-share.is-shared { background: #eaf8ee; color: #16813c; }
  body.product-details-page #pdp-mobile-share.is-shared .pdp-mobile-action-icon { display: none; }
  body.product-details-page #pdp-mobile-share.is-shared::after { content: '✓'; font-size: 1.08rem; font-weight: 900; }

  body.product-details-page .pdp-mobile-purchase-dock {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 10040;
    display: grid;
    grid-template-columns: 46px 46px 46px minmax(100px, 1fr) minmax(108px, 1fr);
    align-items: center;
    gap: 5px;
    min-height: 78px;
    box-sizing: border-box;
    padding: 9px 9px calc(9px + env(safe-area-inset-bottom, 0px));
    border-top: 1px solid rgba(22, 47, 82, .09);
    border-radius: 22px 22px 0 0;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 -12px 40px rgba(15, 23, 42, .12);
    backdrop-filter: blur(20px) saturate(1.12);
    -webkit-backdrop-filter: blur(20px) saturate(1.12);
  }
  body.product-details-page .pdp-mobile-dock-link {
    position: relative;
    display: flex;
    min-width: 0;
    height: 48px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #17243a;
    text-decoration: none;
    transition: color .18s ease, transform .18s ease;
  }
  body.product-details-page .pdp-mobile-dock-link > span:last-child {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }
  body.product-details-page .pdp-mobile-dock-svg {
    display: block;
    width: 27px;
    height: 27px;
    overflow: visible;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.35;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  body.product-details-page .pdp-mobile-dock-svg circle { fill: currentColor; stroke: none; }
  body.product-details-page .pdp-mobile-dock-link:active { transform: translateY(1px) scale(.92); }
  body.product-details-page .pdp-mobile-cart-icon { position: relative; display: inline-grid; place-items: center; }
  body.product-details-page #pdp-mobile-cart-count {
    position: absolute;
    top: -9px;
    right: -11px;
    display: grid;
    place-items: center;
    min-width: 17px;
    height: 17px;
    padding: 0 4px;
    border: 2px solid #fff;
    border-radius: 999px;
    background: #ef4444;
    color: #fff;
    font-size: .5rem;
    line-height: 1;
  }
  body.product-details-page #pdp-mobile-cart-count[hidden] { display: none; }
  body.product-details-page .pdp-mobile-dock-add,
  body.product-details-page .pdp-mobile-dock-buy {
    display: inline-flex;
    min-width: 0;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0 9px;
    border-radius: 15px;
    font-family: 'Poppins', sans-serif;
    font-size: .76rem;
    font-weight: 780;
    white-space: nowrap;
  }
  body.product-details-page .pdp-mobile-dock-add {
    border: 2px solid #f57224;
    background: #fff;
    box-shadow: none;
    color: #df6015;
  }
  body.product-details-page .pdp-mobile-dock-buy {
    border: 0;
    background: linear-gradient(135deg, #ff8a00, #f57224 62%, #e75608);
    box-shadow: 0 9px 20px rgba(245, 114, 36, .26), inset 0 1px 0 rgba(255, 255, 255, .2);
    color: #fff;
    font-size: .8rem;
  }
  body.product-details-page .pdp-mobile-dock-add:active,
  body.product-details-page .pdp-mobile-dock-buy:active { transform: scale(.97); }

  body.product-details-page .product-actions { display: none !important; }

  body.product-details-page .account-gradient {
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(255, 255, 255, .25), transparent 34rem);
  }

  body.product-details-page .product-details-container {
    width: 100%;
    max-width: 560px;
    box-sizing: border-box;
    margin: 0 auto;
    padding: 0 13px calc(126px + env(safe-area-inset-bottom, 0px));
    animation: none;
  }

  body.product-details-page .breadcrumb { display: none; }

  body.product-details-page .details-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
    align-items: start;
  }

  body.product-details-page .product-gallery { position: static; }

  body.product-details-page .product-info {
    min-width: 0;
    padding: 16px;
    border: 1px solid rgba(22, 47, 82, .085);
    border-radius: 22px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 14px 38px rgba(30, 53, 82, .075), inset 0 1px 0 #fff;
  }

  body.product-details-page .product-info .product-title {
    margin: 0 0 9px;
    color: #17243a;
    font-size: clamp(1.25rem, 5.6vw, 1.48rem);
    font-weight: 780;
    letter-spacing: -.032em;
    line-height: 1.18;
  }

  body.product-details-page .pdp-rating-row {
    display: flex;
    min-height: 25px;
    margin: 0 0 10px;
    gap: 7px;
    align-items: center;
    flex-wrap: wrap;
    color: #7c899a;
    font-size: .72rem;
  }
  body.product-details-page .pdp-rating-stars { color: #f5aa00; font-size: .78rem; letter-spacing: 1px; }
  body.product-details-page .pdp-rating-score { color: #263650; font-weight: 800; }
  body.product-details-page .pdp-rating-count { color: #7a8798; }
  body.product-details-page .pdp-sold-count {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 23px;
    padding: 0 7px;
    border: 1px solid rgba(34, 197, 94, .12);
    border-radius: 8px;
    background: rgba(34, 197, 94, .07);
    color: #16813c;
    font-size: .66rem;
    font-weight: 750;
    white-space: nowrap;
  }

  body.product-details-page .info-tags {
    display: flex;
    gap: 7px;
    margin: 0 0 11px;
    flex-wrap: wrap;
  }
  body.product-details-page .tag {
    min-height: 27px;
    box-sizing: border-box;
    padding: 0 9px;
    gap: 5px;
    border-radius: 8px;
    box-shadow: none;
    font-size: .62rem;
    font-weight: 760;
    letter-spacing: .015em;
  }

  body.product-details-page .pdp-price-quantity-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 10px;
  }
  body.product-details-page .pdp-price-quantity-row .product-price {
    display: flex;
    min-width: 0;
    margin: 0;
    gap: 7px;
    align-items: baseline;
    flex-wrap: wrap;
  }
  body.product-details-page .product-price .current-price {
    color: #f36a18;
    background: none;
    font-size: clamp(1.72rem, 8vw, 2rem);
    font-weight: 840;
    letter-spacing: -.05em;
    -webkit-text-fill-color: currentColor;
    text-shadow: none;
  }
  body.product-details-page .product-price .original-price { margin: 0; color: #9099a7; font-size: .78rem; }
  body.product-details-page .pdp-save-badge { padding: 3px 7px; border-radius: 7px; font-size: .58rem; }

  body.product-details-page .pdp-price-quantity-row .pdp-qty-wrap {
    display: block;
    flex: 0 0 auto;
    margin: 0;
  }
  body.product-details-page .pdp-qty-label { display: none; }
  body.product-details-page .pdp-qty-row { display: flex; align-items: center; }
  body.product-details-page .pdp-qty-stepper {
    display: inline-flex;
    align-items: center;
    overflow: hidden;
    border: 1px solid rgba(30, 79, 145, .13);
    border-radius: 11px;
    background: #f5f8fc;
  }
  body.product-details-page .pdp-qty-btn {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #1e5ca8;
    font-size: 1.1rem;
    font-weight: 800;
  }
  body.product-details-page .pdp-qty-btn:disabled { opacity: .32; }
  body.product-details-page .pdp-qty-val {
    width: 34px;
    min-width: 34px;
    height: 36px;
    padding: 0 2px;
    border: 0;
    outline: 0;
    background: transparent;
    color: #17243a;
    font-size: .86rem;
    font-weight: 800;
    text-align: center;
    appearance: textfield;
    -moz-appearance: textfield;
  }
  body.product-details-page .pdp-qty-val::-webkit-inner-spin-button,
  body.product-details-page .pdp-qty-val::-webkit-outer-spin-button { margin: 0; appearance: none; }
  body.product-details-page .pdp-qty-val:focus,
  body.product-details-page .pdp-qty-val:focus-visible { border: 0 !important; outline: 0 !important; box-shadow: none !important; }
  body.product-details-page .pdp-qty-total { display: none; }

  body.product-details-page .short-description.pdp-benefit-panel {
    width: 100%;
    min-height: 44px;
    margin: 0 0 12px;
  }
  body.product-details-page .pdp-benefit-viewport { min-height: 3.2em; }
  body.product-details-page .pdp-benefit-line { gap: 8px; }
  body.product-details-page .pdp-benefit-icon {
    flex-basis: 27px;
    width: 27px;
    height: 27px;
    padding: 5px;
    border-radius: 8px;
  }
  body.product-details-page .pdp-benefit-copy,
  body.product-details-page .pdp-benefit-line:not(:first-child) .pdp-benefit-copy {
    font-size: .79rem;
    font-weight: 520;
    line-height: 1.3;
  }

  body.product-details-page .product-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    margin: 0;
  }
  body.product-details-page .action-btn.buy-now {
    width: 100%;
    min-height: 52px;
    padding: 0 16px;
    border-radius: 14px;
    background: linear-gradient(135deg, #ff8a00, #f57224 56%, #e75608);
    box-shadow: 0 10px 24px rgba(245, 114, 36, .28), inset 0 1px 0 rgba(255, 255, 255, .22);
    color: #fff;
    font-size: .94rem;
    font-weight: 760;
  }
  body.product-details-page .pdp-secondary-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 48px;
    gap: 8px;
  }
  body.product-details-page .action-btn.add-to-cart {
    width: 100%;
    min-height: 48px;
    padding: 0 12px;
    border-width: 1.5px !important;
    border-radius: 13px;
    font-size: .82rem;
    font-weight: 720;
  }
  body.product-details-page .pdp-wishlist-btn {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    padding: 0;
    border: 1.5px solid rgba(245, 114, 36, .22);
    border-radius: 13px;
    background: #fff7f2;
    color: #e56317;
    font-size: 1rem;
  }
  body.product-details-page .pdp-wishlist-btn.wishlisted { border-color: rgba(225, 29, 72, .22); background: #fff1f2; color: #e11d48; }

  body.product-details-page .pdp-stock-bar { display: none !important; }
  body.product-details-page .trust-seals { display: none; }
  body.product-details-page .pdp-trust-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    margin-top: 13px;
  }
  body.product-details-page .pdp-trust-item {
    display: flex;
    min-width: 0;
    min-height: 49px;
    box-sizing: border-box;
    padding: 7px 8px;
    gap: 7px;
    align-items: center;
    border: 1px solid rgba(30, 79, 145, .075);
    border-radius: 12px;
    background: #f8fafd;
  }
  body.product-details-page .pdp-trust-icon {
    display: grid;
    place-items: center;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    border-radius: 9px;
    background: rgba(37, 99, 235, .075);
    color: #2563a8;
    font-size: .68rem;
  }
  body.product-details-page .pdp-trust-text { min-width: 0; line-height: 1.2; }
  body.product-details-page .pdp-trust-text strong {
    display: block;
    overflow: hidden;
    color: #263650;
    font-size: .64rem;
    font-weight: 750;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  body.product-details-page .pdp-trust-text span {
    display: block;
    margin-top: 2px;
    overflow: hidden;
    color: #8390a1;
    font-size: .56rem;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body.product-details-page .pdp-social-proof.pdp-assurance-rail {
    min-height: 62px;
    margin: 14px 0 24px;
    padding: 8px 11px;
    border: 1px solid rgba(30, 79, 145, .09);
    border-radius: 17px;
    background: rgba(255, 255, 255, .9);
    box-shadow: 0 10px 28px rgba(30, 53, 82, .055);
  }
  body.product-details-page .pdp-sp-message-mark { flex-basis: 32px; width: 32px; height: 32px; border-radius: 10px; }
  body.product-details-page .pdp-sp-copy strong { color: #263650; font-size: .78rem; }
  body.product-details-page .pdp-sp-detail { color: #7b889a; font-size: .66rem; }

  body.product-details-page .pdp-hiw-section { margin: 0 0 26px; }
  body.product-details-page .pdp-section-heading {
    margin: 0 0 13px;
    color: #17243a;
    font-family: 'Poppins', sans-serif;
    font-size: 1.08rem;
    font-weight: 780;
    letter-spacing: -.025em;
  }
  body.product-details-page .pdp-section-heading::after {
    content: '';
    display: block;
    width: 28px;
    height: 2px;
    margin-top: 5px;
    border-radius: 999px;
    background: #f57224;
  }
  body.product-details-page .pdp-hiw-steps { display: grid; gap: 8px; }
  body.product-details-page .pdp-hiw-step {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    grid-template-areas:
      'icon number'
      'icon title'
      'icon description';
    column-gap: 11px;
    min-height: 72px;
    box-sizing: border-box;
    padding: 11px 12px;
    border: 1px solid rgba(22, 47, 82, .075);
    border-radius: 15px;
    background: rgba(255, 255, 255, .9);
    box-shadow: 0 8px 22px rgba(30, 53, 82, .04);
  }
  body.product-details-page .pdp-hiw-icon {
    grid-area: icon;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    margin: 2px 0 0;
    border-radius: 11px;
    background: #fff3eb;
    color: #e56317;
    font-size: .86rem;
  }
  body.product-details-page .pdp-hiw-num { grid-area: number; color: #e97734; font-size: .55rem; font-weight: 850; letter-spacing: .08em; }
  body.product-details-page .pdp-hiw-title { grid-area: title; margin: 0; color: #263650; font-size: .78rem; font-weight: 780; }
  body.product-details-page .pdp-hiw-desc { grid-area: description; margin: 2px 0 0; color: #7b889a; font-size: .66rem; line-height: 1.35; }
  body.product-details-page .pdp-hiw-arrow { display: none; }

  body.product-details-page .pdp-features-section,
  body.product-details-page .pdp-faq-section,
  body.product-details-page .pdp-sticky-bar { display: none !important; }

  body.product-details-page .product-tabs.pdp-tabs-premium {
    margin-top: 0;
    margin-bottom: 28px;
    border: 1px solid rgba(22, 47, 82, .08);
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 12px 32px rgba(30, 53, 82, .055);
  }

  body.product-details-page .related-products-section {
    margin: 0 -13px;
    padding: 26px 13px 30px;
    border: 0 !important;
    background:
      radial-gradient(circle at 88% 4%, rgba(245, 114, 36, .1), transparent 34%),
      linear-gradient(180deg, rgba(250, 251, 254, .95), rgba(244, 247, 252, .9));
  }
  body.product-details-page .related-products-section .section-title {
    margin: 0 0 18px;
    color: #17243a;
    font-size: 1.16rem;
    font-weight: 820;
    letter-spacing: -.025em;
  }

  body.product-details-page #digix-chat-open-button { display: none !important; }
  body.product-details-page #digix-chat-welcome-popup { display: none !important; }

  body.dark-mode.product-details-page { background: #080d16; }
  body.dark-mode.product-details-page .pdp-mobile-circle-btn,
  body.dark-mode.product-details-page .pdp-mobile-purchase-dock {
    border-color: rgba(148, 163, 184, .14);
    background: rgba(10, 17, 28, .94);
    color: #edf4ff;
  }
  body.dark-mode.product-details-page .pdp-mobile-topbar-actions {
    border-color: rgba(148, 163, 184, .16);
    background: rgba(10, 17, 28, .88);
    box-shadow: 0 12px 30px rgba(0, 0, 0, .34);
  }
  body.dark-mode.product-details-page .pdp-mobile-topbar-actions .pdp-mobile-circle-btn {
    background: transparent;
    box-shadow: none;
  }
  body.dark-mode.product-details-page .pdp-mobile-topbar.is-search-open .pdp-mobile-topbar-actions {
    background: rgba(10, 17, 28, .96);
  }
  body.dark-mode.product-details-page .pdp-mobile-search-input {
    color: #edf4ff;
  }
  body.dark-mode.product-details-page .pdp-mobile-search-input::placeholder {
    color: #91a1b7;
  }
  body.dark-mode.product-details-page .pdp-mobile-dock-add {
    border-color: transparent;
    background: linear-gradient(135deg, #ff922b, #f57224 62%, #e75608);
    color: #fff;
  }
  body.dark-mode.product-details-page .pdp-mobile-dock-link { color: #eef3fa; }
  body.dark-mode.product-details-page .pdp-mobile-dock-add {
    border-color: #f58a4d;
    background: transparent;
    color: #ffad7d;
  }
  body.dark-mode.product-details-page .pdp-mobile-dock-buy {
    border-color: transparent;
    background: linear-gradient(135deg, #ff922b, #f57224 62%, #e75608);
    color: #fff;
  }
  body.dark-mode.product-details-page .product-info,
  body.dark-mode.product-details-page .pdp-social-proof.pdp-assurance-rail,
  body.dark-mode.product-details-page .pdp-hiw-step,
  body.dark-mode.product-details-page .product-tabs.pdp-tabs-premium {
    border-color: rgba(148, 163, 184, .11);
    background: rgba(13, 22, 36, .92);
    box-shadow: 0 16px 38px rgba(0, 0, 0, .24);
  }
  body.dark-mode.product-details-page .product-info .product-title,
  body.dark-mode.product-details-page .pdp-section-heading,
  body.dark-mode.product-details-page .pdp-hiw-title,
  body.dark-mode.product-details-page .pdp-trust-text strong,
  body.dark-mode.product-details-page .pdp-sp-copy strong { color: #edf4ff; }
  body.dark-mode.product-details-page .pdp-qty-stepper,
  body.dark-mode.product-details-page .pdp-trust-item { border-color: rgba(148, 163, 184, .11); background: rgba(255, 255, 255, .045); }
  body.dark-mode.product-details-page .pdp-qty-val { color: #edf4ff; }
}

@media (max-width: 359px) {
  body.product-details-page .pdp-mobile-purchase-dock {
    grid-template-columns: 34px 34px 34px minmax(83px, 1fr) minmax(91px, 1fr);
    gap: 4px;
    padding-inline: 6px;
  }
  body.product-details-page .pdp-mobile-dock-link { height: 46px; font-size: 1.12rem; }
  body.product-details-page .pdp-mobile-dock-add,
  body.product-details-page .pdp-mobile-dock-buy { min-height: 50px; gap: 4px; padding-inline: 6px; font-size: .68rem; }
  body.product-details-page .product-details-container { padding-inline: 9px; }
  body.product-details-page .product-info { padding: 13px; }
  body.product-details-page .pdp-trust-text span { display: none; }
  body.product-details-page .related-products-section { margin-inline: -9px; padding-inline: 9px; }
}

/* ─── P4. PREMIUM ASSURANCE RAIL + PRODUCT INFORMATION STUDIO ── */
@keyframes pdp-assurance-sheen {
  0% { transform: translateX(-125%) skewX(-18deg); opacity: 0; }
  18% { opacity: .75; }
  55%, 100% { transform: translateX(520%) skewX(-18deg); opacity: 0; }
}

@keyframes pdp-assurance-icon-pulse {
  0%, 100% { transform: scale(1); box-shadow: 0 10px 24px rgba(30, 79, 145, .13); }
  50% { transform: scale(1.045); box-shadow: 0 14px 30px rgba(30, 79, 145, .22); }
}

@keyframes pdp-assurance-enter {
  from { opacity: 0; transform: translateY(72%); filter: blur(3px); }
  to { opacity: 1; transform: translateY(0); filter: blur(0); }
}

@keyframes pdp-assurance-exit {
  from { opacity: 1; transform: translateY(0); }
  to { opacity: 0; transform: translateY(-72%); }
}

@keyframes pdp-tab-panel-enter {
  from { opacity: 0; transform: translateY(12px); filter: blur(2px); }
  to { opacity: 1; transform: translateY(0); filter: blur(0); }
}

body.product-details-page .pdp-social-proof.pdp-assurance-rail {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  min-height: 90px;
  margin: 28px 0 44px;
  padding: 15px 18px;
  overflow: hidden;
  border: 1px solid rgba(30, 79, 145, .095);
  border-radius: 25px;
  background:
    radial-gradient(circle at 12% 0%, rgba(59, 130, 246, .11), transparent 31%),
    radial-gradient(circle at 92% 100%, rgba(245, 114, 36, .085), transparent 34%),
    linear-gradient(135deg, rgba(255, 255, 255, .97), rgba(248, 251, 255, .94));
  box-shadow:
    0 20px 48px rgba(29, 54, 88, .065),
    inset 0 1px 0 rgba(255, 255, 255, .96);
  color: #243247;
  font-size: .9rem;
}

body.product-details-page .pdp-social-proof.pdp-assurance-rail::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: -45% auto -45% -12%;
  width: 9%;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .92), transparent);
  animation: pdp-assurance-sheen 7s ease-in-out infinite;
}

body.product-details-page .pdp-social-proof.pdp-assurance-rail::after {
  content: '';
  position: absolute;
  top: 0;
  right: 28px;
  left: 28px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(37, 99, 235, .4), rgba(245, 114, 36, .42), transparent);
}

.pdp-sp-brand,
.pdp-sp-meta {
  display: flex;
  align-items: center;
  min-height: 58px;
  border: 1px solid rgba(30, 79, 145, .075);
  background: rgba(255, 255, 255, .72);
}

.pdp-sp-brand {
  gap: 10px;
  padding: 7px 16px 7px 8px;
  border-radius: 16px;
}

.pdp-sp-emblem {
  display: grid;
  place-items: center;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: linear-gradient(145deg, #245da8, #173d7a);
  color: #fff;
  box-shadow: 0 10px 24px rgba(30, 79, 145, .2), inset 0 1px 0 rgba(255, 255, 255, .26);
  animation: pdp-assurance-icon-pulse 3.2s ease-in-out infinite;
}

.pdp-sp-brand-copy {
  display: grid;
  gap: 1px;
  white-space: nowrap;
}

.pdp-sp-brand-copy small {
  color: #718096;
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.pdp-sp-brand-copy strong {
  color: #15233a;
  font-size: .82rem;
  font-weight: 800;
}

.pdp-sp-viewport {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 52px;
  overflow: hidden;
}

body.product-details-page .pdp-sp-text {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  min-width: 0;
  color: #34445d;
  line-height: 1.35;
  text-align: left;
  will-change: transform, opacity;
}

body.product-details-page .pdp-sp-text.is-leaving {
  animation: pdp-assurance-exit .21s ease both;
}

body.product-details-page .pdp-sp-text.is-entering {
  animation: pdp-assurance-enter .5s cubic-bezier(.16, 1, .3, 1) both;
}

.pdp-sp-message-mark {
  display: grid;
  place-items: center;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(37, 99, 235, .12);
  border-radius: 13px;
  background: linear-gradient(145deg, rgba(37, 99, 235, .1), rgba(255, 255, 255, .78));
  color: #2563eb;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8);
}

.pdp-sp-copy {
  display: flex;
  align-items: baseline;
  justify-content: center;
  min-width: 0;
  gap: 7px;
}

body.product-details-page .pdp-sp-copy strong {
  color: #1e4f91;
  font-size: .96rem;
  font-weight: 800;
  letter-spacing: -.012em;
}

.pdp-sp-detail {
  color: #5f6f85;
  font-size: .88rem;
  font-weight: 600;
}

.pdp-sp-meta {
  gap: 9px;
  padding: 8px 14px;
  border-radius: 16px;
  color: #3d4b61;
  font-size: .75rem;
  font-weight: 750;
  white-space: nowrap;
}

.pdp-sp-meta i {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 10px;
  background: rgba(245, 114, 36, .1);
  color: var(--primary-color, #f57224);
}

body.product-details-page .product-tabs.pdp-tabs-premium {
  position: relative;
  isolation: isolate;
  margin-top: 58px;
  padding: 18px 18px 30px;
  overflow: hidden;
  border: 1px solid rgba(30, 79, 145, .11);
  border-radius: 28px;
  background:
    radial-gradient(circle at 4% 0%, rgba(59, 130, 246, .07), transparent 28%),
    radial-gradient(circle at 98% 100%, rgba(245, 114, 36, .065), transparent 32%),
    rgba(255, 255, 255, .91);
  box-shadow: 0 24px 62px rgba(32, 49, 74, .075), inset 0 1px 0 rgba(255, 255, 255, .96);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

body.product-details-page .product-tabs.pdp-tabs-premium::before {
  content: '';
  position: absolute;
  top: 0;
  left: 8%;
  right: 8%;
  height: 2px;
  background: linear-gradient(90deg, transparent, #2563eb, #f57224, transparent);
  opacity: .55;
}

body.product-details-page .pdp-tablist {
  --pdp-tab-index: 0;
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 0 0 28px;
  padding: 6px;
  overflow: hidden;
  border: 1px solid rgba(30, 79, 145, .08);
  border-radius: 19px;
  background: linear-gradient(180deg, rgba(241, 246, 253, .94), rgba(250, 252, 255, .9));
  box-shadow: inset 0 2px 8px rgba(32, 61, 101, .045);
}

body.product-details-page .pdp-tablist::before {
  content: '';
  position: absolute;
  z-index: -1;
  top: 6px;
  bottom: 6px;
  left: 6px;
  width: calc((100% - 12px) / 3);
  border: 1px solid rgba(37, 99, 235, .11);
  border-radius: 14px;
  background:
    radial-gradient(circle at 18% 0%, rgba(59, 130, 246, .08), transparent 42%),
    #fff;
  box-shadow: 0 9px 24px rgba(30, 79, 145, .105), inset 0 1px 0 #fff;
  transform: translateX(calc(var(--pdp-tab-index) * 100%));
  transition: transform .42s cubic-bezier(.16, 1, .3, 1);
}

body.product-details-page .pdp-tablist .tab-link {
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 50px;
  padding: 10px 18px;
  border: 0;
  border-radius: 14px;
  background: transparent !important;
  box-shadow: none !important;
  color: #68778d;
  font-size: .91rem;
  font-weight: 750;
  letter-spacing: -.005em;
  transition: color .25s ease, transform .25s ease;
}

body.product-details-page .pdp-tablist .tab-link i {
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  border-radius: 9px;
  background: rgba(102, 119, 141, .08);
  color: #7a8799;
  font-size: .8rem;
  transition: color .3s ease, background .3s ease, transform .42s cubic-bezier(.16, 1, .3, 1);
}

body.product-details-page .pdp-tablist .tab-link:hover:not(.active) {
  color: #29466d;
  background: transparent !important;
  transform: translateY(-1px);
}

body.product-details-page .pdp-tablist .tab-link.active {
  color: #1e4f91;
}

body.product-details-page .pdp-tablist .tab-link.active i {
  color: #fff;
  background: linear-gradient(145deg, #2f6dbb, #1e4f91);
  box-shadow: 0 7px 16px rgba(30, 79, 145, .2);
  transform: rotate(-4deg) scale(1.04);
}

body.product-details-page .pdp-tabs-premium .tab-content {
  padding: 2px 24px 4px;
  color: #526177;
  font-size: .97rem;
  line-height: 1.82;
}

body.product-details-page .pdp-tabs-premium .tab-content.active {
  display: block;
  animation: pdp-tab-panel-enter .48s cubic-bezier(.16, 1, .3, 1) both;
}

body.product-details-page .pdp-tabs-premium .tab-content:focus {
  outline: none;
}

body.product-details-page #product-description > p:first-child {
  margin: 0 0 27px;
  padding: 20px 22px;
  border: 1px solid rgba(37, 99, 235, .09);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(239, 246, 255, .82), rgba(255, 250, 246, .72));
  color: #34445b;
  font-size: 1rem;
  font-weight: 580;
  line-height: 1.75;
}

body.product-details-page #product-description h3,
body.product-details-page .pdp-tabs-premium .tab-content > h3 {
  display: flex;
  align-items: center;
  gap: 11px;
  margin: 27px 0 10px;
  color: #17233a;
  font-size: 1.04rem;
  font-weight: 800;
  letter-spacing: -.012em;
}

body.product-details-page #product-description h3::before,
body.product-details-page .pdp-tabs-premium .tab-content > h3::before {
  content: '';
  flex: 0 0 9px;
  width: 9px;
  height: 9px;
  border: 3px solid rgba(37, 99, 235, .18);
  border-radius: 50%;
  background: #2563eb;
  box-shadow: 0 0 0 4px rgba(37, 99, 235, .07);
}

body.product-details-page #product-description p:not(:first-child) {
  margin: 0 0 21px;
}

body.product-details-page #product-requirements {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0 2px;
  padding: 0;
}

body.product-details-page #product-requirements li {
  display: flex;
  align-items: flex-start;
  min-height: 72px;
  margin: 0;
  padding: 17px 18px 17px 52px;
  border: 1px solid rgba(30, 79, 145, .09);
  border-radius: 15px;
  background: linear-gradient(145deg, rgba(248, 251, 255, .96), rgba(255, 255, 255, .86));
  color: #43536a;
  font-size: .9rem;
  font-weight: 590;
  line-height: 1.55;
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

body.product-details-page #product-requirements li::before {
  content: '\2713';
  top: 16px;
  left: 15px;
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  border-radius: 9px;
  background: rgba(37, 99, 235, .1);
  color: #2563eb;
  font-size: .75rem;
  box-shadow: inset 0 0 0 1px rgba(37, 99, 235, .08);
}

body.product-details-page #product-requirements li:hover {
  transform: translateY(-2px);
  border-color: rgba(37, 99, 235, .2);
  box-shadow: 0 12px 28px rgba(30, 79, 145, .075);
}

body.dark-mode.product-details-page .pdp-social-proof.pdp-assurance-rail,
body.dark-mode.product-details-page .product-tabs.pdp-tabs-premium {
  border-color: rgba(96, 165, 250, .13);
  background:
    radial-gradient(circle at 8% 0%, rgba(59, 130, 246, .13), transparent 30%),
    radial-gradient(circle at 96% 100%, rgba(245, 114, 36, .1), transparent 33%),
    rgba(12, 18, 30, .93);
  box-shadow: 0 24px 66px rgba(0, 0, 0, .34), inset 0 1px 0 rgba(255, 255, 255, .035);
  color: #dce6f5;
}

body.dark-mode .pdp-sp-brand,
body.dark-mode .pdp-sp-meta {
  border-color: rgba(96, 165, 250, .1);
  background: rgba(20, 29, 45, .8);
}

body.dark-mode .pdp-sp-brand-copy strong,
body.dark-mode.product-details-page .pdp-sp-copy strong,
body.dark-mode.product-details-page #product-description h3,
body.dark-mode.product-details-page .pdp-tabs-premium .tab-content > h3 {
  color: #bfdbfe;
}

body.dark-mode .pdp-sp-brand-copy small,
body.dark-mode .pdp-sp-detail,
body.dark-mode .pdp-sp-meta,
body.dark-mode.product-details-page .pdp-tabs-premium .tab-content {
  color: #9eabc0;
}

body.dark-mode.product-details-page .pdp-tablist {
  border-color: rgba(96, 165, 250, .09);
  background: linear-gradient(180deg, rgba(17, 27, 43, .92), rgba(13, 20, 33, .94));
}

body.dark-mode.product-details-page .pdp-tablist::before {
  border-color: rgba(96, 165, 250, .17);
  background: linear-gradient(145deg, rgba(37, 99, 235, .18), rgba(23, 33, 51, .96));
  box-shadow: 0 10px 26px rgba(0, 0, 0, .3), inset 0 1px 0 rgba(255, 255, 255, .045);
}

body.dark-mode.product-details-page .pdp-tablist .tab-link.active {
  color: #bfdbfe;
}

body.dark-mode.product-details-page #product-description > p:first-child,
body.dark-mode.product-details-page #product-requirements li {
  border-color: rgba(96, 165, 250, .11);
  background: linear-gradient(145deg, rgba(22, 32, 50, .92), rgba(14, 22, 36, .88));
  color: #b9c5d8;
}

@media (max-width: 1199px) {
  .pdp-sp-meta { display: none; }
}

@media (max-width: 767px) {
  body.product-details-page .pdp-social-proof.pdp-assurance-rail {
    grid-template-columns: 1fr;
    min-height: 70px;
    margin-bottom: 30px;
    padding: 10px 14px;
    border-radius: 18px;
  }

  .pdp-sp-brand,
  .pdp-sp-meta { display: none; }

  body.product-details-page .pdp-sp-text { gap: 9px; }
  .pdp-sp-message-mark { flex-basis: 34px; width: 34px; height: 34px; }
  .pdp-sp-copy { display: grid; gap: 0; }
  body.product-details-page .pdp-sp-copy strong { font-size: .86rem; }
  .pdp-sp-detail { font-size: .75rem; }

  body.product-details-page .product-tabs.pdp-tabs-premium {
    margin-top: 36px;
    padding: 10px 10px 22px;
    border-radius: 21px;
  }

  body.product-details-page .pdp-tablist {
    margin-bottom: 20px;
    padding: 4px;
    border-radius: 15px;
  }

  body.product-details-page .pdp-tablist::before {
    top: 4px;
    bottom: 4px;
    left: 4px;
    width: calc((100% - 8px) / 3);
    border-radius: 11px;
  }

  body.product-details-page .pdp-tablist .tab-link {
    min-height: 45px;
    gap: 5px;
    padding: 7px 5px;
    font-size: .73rem;
  }

  body.product-details-page .pdp-tablist .tab-link i {
    width: 23px;
    height: 23px;
    font-size: .68rem;
  }

  body.product-details-page .pdp-tabs-premium .tab-content {
    padding: 0 7px 2px;
    font-size: .9rem;
  }

  body.product-details-page #product-description > p:first-child {
    padding: 16px;
    font-size: .91rem;
  }

  body.product-details-page #product-requirements {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.product-details-page .pdp-mobile-topbar-actions,
  body.product-details-page .pdp-mobile-search-input {
    transition-duration: .01ms !important;
  }

  body.product-details-page .pdp-social-proof.pdp-assurance-rail::before,
  .pdp-sp-emblem,
  body.product-details-page .pdp-sp-text.is-leaving,
  body.product-details-page .pdp-sp-text.is-entering,
  body.product-details-page .pdp-tabs-premium .tab-content.active {
    animation: none !important;
  }

  body.product-details-page .pdp-tablist::before {
    transition: none;
  }
}

.short-description.pdp-benefit-panel {
  display: inline-flex;
  width: min(100%, 480px);
  min-height: 46px;
  align-items: center;
  margin: 0 0 14px;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none;
}

.short-description.pdp-benefit-panel::after {
  display: none;
  animation: none;
}

body.dark-mode .short-description.pdp-benefit-panel {
  border: 0;
  background: transparent !important;
  box-shadow: none;
}

.pdp-benefit-rotator {
  display: block;
  width: 100%;
}

.pdp-benefit-viewport {
  position: relative;
  display: grid;
  width: 100%;
  min-height: 2.8em;
  align-items: center;
  overflow: hidden;
}

.pdp-benefit-line {
  position: relative;
  inset: auto;
  grid-area: 1 / 1;
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 10px;
  opacity: 0;
  transform: translateY(110%);
  transition:
    opacity .5s cubic-bezier(.22, .68, 0, 1),
    transform .5s cubic-bezier(.22, .68, 0, 1);
}

.pdp-benefit-line.is-active {
  opacity: 1;
  transform: translateY(0);
}

.pdp-benefit-line.is-leaving {
  opacity: 0;
  transform: translateY(-110%);
}

.pdp-benefit-icon {
  display: block;
  flex: 0 0 29px;
  width: 29px;
  height: 29px;
  padding: 5px;
  border-radius: 9px;
  background: rgba(37, 99, 235, .09);
  color: #2563eb;
}

body.dark-mode .pdp-benefit-icon {
  background: rgba(96, 165, 250, .12);
  color: #60a5fa;
}

.pdp-benefit-copy,
.pdp-benefit-line:not(:first-child) .pdp-benefit-copy,
body.dark-mode .pdp-benefit-copy,
body.dark-mode .pdp-benefit-line:not(:first-child) .pdp-benefit-copy {
  width: 100%;
  color: #2563eb;
  font-size: clamp(.87rem, .93vw, .96rem);
  font-weight: 500;
  letter-spacing: -.008em;
  line-height: 1.38;
}

body.dark-mode .pdp-benefit-copy,
body.dark-mode .pdp-benefit-line:not(:first-child) .pdp-benefit-copy {
  color: #60a5fa;
}

.pdp-benefit-static.short-description.pdp-benefit-panel {
  padding: 0;
}

.pdp-benefit-static .pdp-benefit-sr {
  color: #2563eb;
  font-size: .92rem;
  font-weight: 500;
  line-height: 1.4;
}

body.dark-mode .pdp-benefit-static .pdp-benefit-sr {
  color: #60a5fa;
}

@media (max-width: 767px) {
  html[data-theme='dark']:has(body.product-details-page) {
    background: #070c14;
    color-scheme: dark;
  }

  body.dark-mode.product-details-page,
  body.dark-mode.product-details-page .product-details-container,
  body.dark-mode.product-details-page .details-grid {
    background-color: #080d16;
  }

  body.dark-mode.product-details-page .account-gradient {
    background:
      radial-gradient(circle at 8% 7%, rgba(37, 99, 235, .12), transparent 24rem),
      radial-gradient(circle at 96% 32%, rgba(245, 114, 36, .08), transparent 22rem),
      #080d16;
  }

  body.dark-mode.product-details-page .product-gallery.pdp-gallery-modern .main-image-wrapper {
    border-color: rgba(148, 163, 184, .11);
    background:
      radial-gradient(circle at 18% 16%, rgba(245, 114, 36, .14), transparent 36%),
      radial-gradient(circle at 86% 88%, rgba(59, 130, 246, .1), transparent 40%),
      #0d1624;
  }

  body.dark-mode.product-details-page .product-gallery.pdp-gallery-modern .thumbnail-strip,
  body.dark-mode.product-details-page .related-products-section {
    background: #080d16;
  }

  body.dark-mode.product-details-page .product-gallery.pdp-gallery-modern .thumbnail-strip img {
    border-color: rgba(148, 163, 184, .12);
    background: #111d2d;
  }

  body.dark-mode.product-details-page .product-info,
  body.dark-mode.product-details-page .pdp-social-proof.pdp-assurance-rail,
  body.dark-mode.product-details-page .pdp-hiw-step,
  body.dark-mode.product-details-page .product-tabs.pdp-tabs-premium,
  body.dark-mode.product-details-page #product-description > p:first-child,
  body.dark-mode.product-details-page #product-requirements li {
    border-color: rgba(148, 163, 184, .11);
    background: #0d1624;
    color: #b7c4d6;
    box-shadow: 0 16px 38px rgba(0, 0, 0, .24);
  }

  body.dark-mode.product-details-page .pdp-tablist,
  body.dark-mode.product-details-page .pdp-qty-stepper,
  body.dark-mode.product-details-page .pdp-trust-item,
  body.dark-mode.product-details-page .pdp-sp-brand,
  body.dark-mode.product-details-page .pdp-sp-meta {
    border-color: rgba(148, 163, 184, .11);
    background: #111d2d;
  }

  body.dark-mode.product-details-page .product-info .product-title,
  body.dark-mode.product-details-page .pdp-section-heading,
  body.dark-mode.product-details-page .pdp-hiw-title,
  body.dark-mode.product-details-page .pdp-trust-text strong,
  body.dark-mode.product-details-page .pdp-sp-copy strong,
  body.dark-mode.product-details-page .pdp-tabs-premium h3,
  body.dark-mode.product-details-page .pdp-qty-val {
    color: #edf4ff;
  }

  body.dark-mode.product-details-page .pdp-hiw-desc,
  body.dark-mode.product-details-page .pdp-trust-text span,
  body.dark-mode.product-details-page .pdp-sp-detail,
  body.dark-mode.product-details-page .pdp-tabs-premium .tab-content {
    color: #9dadc3;
  }

  body.dark-mode.product-details-page .pdp-mobile-circle-btn,
  body.dark-mode.product-details-page .pdp-mobile-purchase-dock {
    border-color: rgba(148, 163, 184, .14);
    background: #0a111c;
    color: #edf4ff;
    box-shadow: 0 -12px 40px rgba(0, 0, 0, .42);
  }

  body.dark-mode.product-details-page .pdp-mobile-dock-link {
    border-color: transparent;
    background: transparent;
  }

  body.dark-mode.product-details-page #pdp-mobile-cart-count {
    border-color: #0a111c;
  }
}

@media (max-width: 767px) {
  .short-description.pdp-benefit-panel {
    width: min(100%, 360px);
    min-height: 48px;
    margin-bottom: 21px;
    padding: 0;
    border-radius: 0;
  }

  .pdp-benefit-viewport { min-height: 3.9em; }
  .pdp-benefit-copy,
  .pdp-benefit-line:not(:first-child) .pdp-benefit-copy {
    font-size: .87rem;
    line-height: 1.35;
  }
}


/* The shared desktop cart drawer is mounted inside the PDP after this bundle
 * loads. Global link/visited colors must never reduce its CTA contrast. */
body.product-details-page #cart-drawer .drawer-checkout-btn,
body.product-details-page #cart-drawer .drawer-checkout-btn:link,
body.product-details-page #cart-drawer .drawer-checkout-btn:visited,
body.product-details-page #cart-drawer .drawer-checkout-btn:hover,
body.product-details-page #cart-drawer .drawer-checkout-btn:focus-visible,
body.product-details-page #cart-drawer .drawer-checkout-btn:active {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  text-shadow: 0 1px 1px rgba(124, 45, 18, .22);
}

@media (max-width: 767px) {
  body.product-details-page .details-grid {
    display: flex;
    flex-direction: column;
    gap: 0;
    overflow: visible;
  }

  body.product-details-page .product-gallery {
    position: sticky !important;
    top: 0;
    z-index: 1;
    align-self: stretch;
    padding-bottom: 30px;
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
  }

  body.product-details-page .product-info {
    position: relative;
    z-index: 2;
    isolation: isolate;
    margin-top: -30px;
    padding-top: 38px;
    border-radius: 30px 30px 22px 22px;
    box-shadow: 0 -18px 42px rgba(15, 23, 42, .14), 0 18px 42px rgba(15, 23, 42, .08);
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
  }

  body.product-details-page .product-info::before {
    position: absolute;
    top: 13px;
    left: 50%;
    width: 42px;
    height: 5px;
    border-radius: 999px;
    background: rgba(23, 36, 58, .18);
    content: "";
    transform: translateX(-50%);
  }

  body.dark-mode.product-details-page .product-info::before {
    background: rgba(238, 243, 250, .24);
  }
}

@media (max-width: 359px) {
  body.product-details-page .product-info {
    padding-top: 35px;
  }
}

@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
  body.product-details-page .product-gallery {
    position: static !important;
    padding-bottom: 0;
    transform: none;
  }

  body.product-details-page .product-info {
    margin-top: 0;
    padding-top: 16px;
    border-radius: 22px;
    transform: none;
  }

  body.product-details-page .product-info::before {
    display: none;
  }
}
