/* ================================================================
   PRODUCT CARD v2 — "Twin edge" (loaded only when the new cards are on)
   Everything is in container units (cqw): one card scales from a 160px
   phone tile to a 300px desktop card. The outer .pc2 is the measuring
   container (a container can't measure itself); .pc2__card is the
   visual card. Radii are concentric: card radius = inset + panel radius.
   Markup: see toman_render_product_card() (PHP) and product-card-v2.js.
   ================================================================ */

.pc2 {
  --pc-navy: var(--color-navy, #0B2540);
  --pc-blue: var(--color-blue, #2655C2);
  --pc-blue-dark: var(--color-blue-dark, #1D4092);
  --pc-muted: #5F6970;
  --pc-ease: cubic-bezier(.23, 1, .32, 1);
  --pc-spring: cubic-bezier(.34, 1.56, .64, 1);
}
/* wrapper = the measuring container (a container can't measure itself) */
.pc2{container-type:inline-size;min-width:0;display:flex}

/* ═════════════════ THE CARD ═════════════════
   Everything is in container units (cqw) so one card scales from a 160px phone tile to a 300px desktop card.
   Radii are concentric: card radius = panel radius + inset. */
.pc2__card{
  --r:9cqw;--inset:3.6cqw;--r-in:calc(var(--r) - var(--inset));
  position:relative;display:flex;flex-direction:column;flex:1;min-width:0;background:#fff;border-radius:var(--r);overflow:hidden;isolation:isolate;
  box-shadow:0 1px 2px rgba(11,37,64,.06),0 1px 3px rgba(11,37,64,.06);
  transition:box-shadow .3s var(--pc-ease),transform .16s var(--pc-ease);

}
.pc2__card :focus-visible{outline:2.5px solid var(--pc-blue);outline-offset:2px}

/* whole card is one link (stretched), buttons sit above it */
.pc2__link{position:absolute;inset:0;z-index:1;border-radius:inherit}

/* photo panel */
.pc2__media{position:relative;margin:var(--inset) var(--inset) 0;aspect-ratio:1/1;border-radius:var(--r-in);overflow:hidden;
  background:radial-gradient(75% 62% at 50% 42%,rgba(255,255,255,.95),rgba(255,255,255,0) 72%),linear-gradient(165deg,#EBF1FD,#D6E2F8)}
.pc2__media::before{content:"";position:absolute;left:50%;top:50%;width:74%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;
  box-shadow:0 0 0 1px rgba(38,85,194,.1),0 0 0 7cqw rgba(255,255,255,.18),0 0 0 7.1cqw rgba(38,85,194,.06)}
.pc2__media::after{content:"";position:absolute;left:26%;right:26%;bottom:8%;height:4.5%;border-radius:50%;background:radial-gradient(closest-side,rgba(11,37,64,.22),transparent);filter:blur(2px)}
.pc2__media img{position:absolute;inset:3%;width:94%;height:94%;object-fit:contain;display:block;z-index:1;
  filter:drop-shadow(0 1.8cqw 2cqw rgba(11,37,64,.2));transition:transform .5s var(--pc-ease)}

.pc2__tag{position:absolute;z-index:2;font-weight:700;font-size:clamp(10.5px,3.9cqw,14px);line-height:1;padding:.62em .8em;border-radius:2.2cqw;letter-spacing:.01em;color:#fff;font-variant-numeric:tabular-nums}
.pc2__off{left:3cqw;top:3cqw;background:var(--pc-blue);box-shadow:0 4px 10px -4px rgba(38,85,194,.7)}
.pc2__size{left:3cqw;bottom:3cqw;background:rgba(11,37,64,.9);font-weight:600}
.pc2__soldtag{left:3cqw;top:3cqw;background:var(--pc-navy);}

/* round actions (wishlist / compare) — 36px+ visual, 44px hit area */
.pc2__acts{position:absolute;z-index:3;right:3cqw;top:3cqw;display:flex;flex-direction:column;gap:2cqw}
.pc2__btn{position:relative;width:10cqw;min-width:34px;aspect-ratio:1;border-radius:50%;background:rgba(255,255,255,.94);color:var(--pc-navy);display:grid;place-items:center;border:0;cursor:pointer;padding:0;
  box-shadow:0 1px 2px rgba(11,37,64,.12),0 2px 8px -2px rgba(11,37,64,.18);
  transition:transform .16s var(--pc-ease),background-color .2s var(--pc-ease),color .2s var(--pc-ease)}
.pc2__btn::after{content:"";position:absolute;inset:-5px;border-radius:50%}
.pc2__btn svg{width:50%;height:50%;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;transition:fill .2s var(--pc-ease)}
@media (hover:hover) and (pointer:fine){.pc2__btn:hover{background:#fff;color:var(--pc-blue)}}
.pc2__btn:active{transform:scale(.92)}
.pc2__wish.added{color:#c0392b;background:#fff}.pc2__wish.added svg{fill:currentColor}
.pc2__wish.pop svg{animation:pc2-pop .34s var(--pc-spring)}
@keyframes pc2-pop{0%{transform:scale(.7)}60%{transform:scale(1.22)}100%{transform:scale(1)}}
.pc2__cmp.is-added{background:var(--pc-navy);color:#fff}

/* text */
.pc2__body{padding:3.4cqw 6cqw 7.4cqw;position:relative;z-index:0}
.pc2__brand{font-weight:700;font-size:clamp(10.5px,3.6cqw,12.5px);letter-spacing:.1em;text-transform:uppercase;color:var(--pc-blue);line-height:1.2}
.pc2__name{font-weight:800;font-size:clamp(14.5px,7cqw,27px);line-height:1.08;letter-spacing:-.015em;text-transform:uppercase;margin-top:.2em;color:var(--pc-navy);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.pc2__name.long{font-size:clamp(11.5px,5.7cqw,22px);letter-spacing:-.02em}


/* ============ v4 · Twin edge ============
   Geometry (all in cqw so it scales from a 160px phone tile to a 300px desktop card):
   - brand, model, price and the Save chip share ONE left edge:  inset + --px
   - the cart mirrors it on the right: --px from the panel edge
   - chip and cart are centred on the same line: the panel's top edge, same white ring */
.pc2__card{--px:4.6cqw;--ring:1.2cqw;--cs:max(13.4cqw,40px)}
.pc2__body{padding:3.4cqw calc(var(--inset) + var(--px)) calc(var(--cs) / 2 + 2.6cqw)}

.pc2__foot{position:relative;margin:auto var(--inset) var(--inset);display:flex;align-items:center;min-height:19cqw;
  padding:5.2cqw calc(var(--cs) + var(--px) + 2cqw) 3.6cqw var(--px);border-radius:var(--r-in);color:#fff;
  background:linear-gradient(115deg,#2D5FD1 0%,var(--pc-blue) 45%,var(--pc-blue-dark) 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.22)}
.pc2__foot::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(60% 170% at 100% 0,rgba(255,255,255,.14),transparent 62%);pointer-events:none}

.pc2__prices{position:relative;flex:1;min-width:0;display:flex;align-items:baseline;gap:2.6cqw;overflow:hidden}
.pc2__price{display:flex;align-items:baseline;gap:.3em;font-weight:800;font-size:clamp(20px,9.8cqw,30px);line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}
.pc2__old{font-weight:600;font-size:clamp(11px,4cqw,14px);line-height:1;text-decoration:line-through;text-decoration-thickness:1px;opacity:.78;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:0}
.pc2 .omr{flex:none;height:.7em;width:calc(.7em * 1.8123);fill:currentColor}  /* symbol height = digit height, sits on the baseline */
.pc2__sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Save chip — rides the top edge, left */
.pc2__save{position:absolute;z-index:3;left:var(--px);top:0;translate:0 -50%;display:inline-flex;align-items:baseline;gap:.32em;
  padding:.66em .95em;border-radius:99px;background:var(--pc-navy);color:#fff;font-weight:700;font-size:clamp(10.5px,3.5cqw,12px);line-height:1;letter-spacing:.01em;white-space:nowrap;font-variant-numeric:tabular-nums;
  box-shadow:0 0 0 var(--ring) #fff,0 6px 12px -6px rgba(11,37,64,.55)}

/* cart — rides the top edge, right */
.pc2__cart{position:absolute;z-index:3;right:var(--px);top:0;translate:0 -50%;width:var(--cs);aspect-ratio:1;border-radius:50%;background:var(--pc-navy);color:#fff;border:0;display:grid;place-items:center;cursor:pointer;padding:0;
  box-shadow:0 0 0 var(--ring) #fff,0 8px 16px -6px rgba(11,37,64,.5);
  transition:transform .16s var(--pc-ease),background-color .22s var(--pc-ease),color .22s var(--pc-ease)}
.pc2__cart::after{content:"";position:absolute;inset:-6px;border-radius:50%}
@media (hover:hover) and (pointer:fine){.pc2__cart:hover{background:#0f3a73}}
.pc2__cart:active{transform:scale(.92)}
.pc2__cart svg{position:absolute;width:46%;height:46%;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;
  transition:opacity .2s var(--pc-ease),transform .2s var(--pc-ease),filter .2s var(--pc-ease)}
.pc2__cart .pc2__i-check{opacity:0;transform:scale(.55);filter:blur(3px)}
.pc2__cart.is-added{background:#177A4B}
.pc2__cart.is-added .pc2__i-bag{opacity:0;transform:scale(.55);filter:blur(3px)}
.pc2__cart.is-added .pc2__i-check{opacity:1;transform:none;filter:blur(0)}

/* states */
.pc2__card.is-sold .pc2__media img{filter:grayscale(.85) drop-shadow(0 1.8cqw 2cqw rgba(11,37,64,.12));opacity:.55}
.pc2__card.is-sold .pc2__foot{background:linear-gradient(115deg,#738089,#5d6a74)}
.pc2__card.is-sold .pc2__cart{background:#8a96a2;cursor:not-allowed}
.pc2__card.is-sold .pc2__brand{color:var(--pc-muted)}

/* ── Compact (phone-size cards) ── */
@container (max-width: 215px){
  .pc2__card{--r:7.6cqw;--inset:2.6cqw;--px:3.8cqw;--ring:1cqw;--cs:clamp(34px,17cqw,40px)}
  .pc2__media{aspect-ratio:1/.9}.pc2__media::before{display:none}
  .pc2__media img{inset:2%;width:96%;height:96%}
  .pc2__tag{font-size:10.5px;padding:.5em .68em;border-radius:6px}
  .pc2__off{left:2.4cqw;top:2.4cqw}.pc2__size{left:2.4cqw;bottom:2.4cqw;font-size:10px;background:rgba(11,37,64,.82)}
  .pc2__acts{right:2.4cqw;top:2.4cqw}.pc2__cmp{display:none}.pc2__btn{width:8.8cqw;min-width:30px}
  .pc2__body{padding-top:2.6cqw;padding-bottom:calc(var(--cs) / 2 + 2.2cqw)}
  .pc2__brand{font-size:9.5px;letter-spacing:.09em}
  .pc2__name{font-size:clamp(13.5px,8.2cqw,17px)}.pc2__name.long{font-size:clamp(11.5px,6.6cqw,14px)}
  .pc2__foot{min-height:0;padding:7.6cqw calc(var(--cs) + var(--px) + 1.2cqw) 3.6cqw var(--px)}
  .pc2__price{font-size:clamp(17px,11.4cqw,22px)}
  .pc2__old{display:none}
  .pc2__save{font-size:10px}
  .pc2__cart{box-shadow:0 0 0 var(--ring) #fff,0 6px 12px -4px rgba(11,37,64,.5)}
}
@media (prefers-reduced-motion:reduce){
  .pc,  .pc2__media img,.pc2__btn,.pc2__cart,.pc2__cart svg{transition:none}.pc2__wish.pop svg{animation:none}
}

/* ===== v5: roomy panel; old price balances the right side ===== */
.pc2__card{--ndp:7.4cqw}
.pc2__foot{min-height:25cqw;padding:8.8cqw var(--px) 5cqw var(--px)}
.pc2__card.nd .pc2__foot{padding-top:var(--ndp);padding-bottom:var(--ndp)}
.pc2__prices{justify-content:space-between;align-items:baseline;gap:3cqw}
.pc2__price{font-size:clamp(22px,11cqw,33px)}
.pc2__old{font-size:clamp(12px,4.6cqw,15px);opacity:.82}
@container (max-width: 215px){
  .pc2__card{--ndp:5.6cqw}
  .pc2__foot{min-height:0;padding:12.6cqw var(--px) 4.6cqw var(--px)}
  .pc2__card.nd .pc2__foot{padding-top:var(--ndp);padding-bottom:var(--ndp)}
  .pc2__price{font-size:clamp(18px,12.4cqw,24px)}
  .pc2__old{display:block;font-size:10.5px}
}

/* ── production extras ─────────────────────────────────────────── */
.pc2__card { font-family: inherit; }
.pc2__card h3, .pc2__card p { margin: 0; }
.pc2__tag { white-space: nowrap; }
.pc2__card a { color: inherit; text-decoration: none; }

/* entrance: a short fade-up when the card first paints (also runs for cards
   appended by infinite scroll). Pure CSS, no observer. */
.pc2__card { animation: pc2-in .45s var(--pc-ease) backwards; }
@keyframes pc2-in { from { opacity: 0; transform: translateY(8px); } }

@media (hover:hover) and (pointer:fine) {
  .pc2__card:hover { box-shadow: 0 14px 34px -8px rgba(11,37,64,.2), 0 4px 10px rgba(11,37,64,.08); }
  .pc2__card:hover .pc2__media img { transform: scale(1.04); }
}
.pc2__card:active:not(:has(button:active, .pc2__wish:active)) { transform: scale(.985); transition-duration: .12s; }

/* Photos without a cut-out (a few supplier shots with a busy backdrop): let the
   white of the photo melt into the tinted panel instead of showing a white box. */
.pc2__card.is-flat .pc2__media img { mix-blend-mode: multiply; filter: none; inset: 3%; }

/* Wishlist: the wcboost-wishlist plugin ships its own CSS for
   .wcboost-wishlist-button (padding/border/background) and swaps in its own
   icon, so the button carries that class for the plugin's add/remove JS and
   we pin the look here (same defensive pattern as the old card). */
.pc2__acts .pc2__wish.wcboost-wishlist-button {
  position: relative !important; inset: auto !important; float: none !important;
  width: 10cqw !important; min-width: 34px !important; height: auto !important; aspect-ratio: 1 !important;
  padding: 0 !important; margin: 0 !important; border: 0 !important; border-radius: 50% !important;
  display: grid !important; place-items: center; background: rgba(255,255,255,.94) !important; color: var(--pc-navy) !important;
  box-shadow: 0 1px 2px rgba(11,37,64,.12), 0 2px 8px -2px rgba(11,37,64,.18) !important; text-decoration: none !important;
}
.pc2__wish .wcboost-wishlist-button__icon { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; margin: 0 !important; padding: 0 !important; display: grid !important; place-items: center; line-height: 0; }
.pc2__wish svg, .pc2__wish.loading svg { width: 50% !important; height: auto !important; aspect-ratio: 1 !important; margin: 0 !important; display: block; fill: none !important; stroke: currentColor !important; stroke-width: 1.9 !important; }
.pc2__wish.added { color: #c0392b !important; background: #fff !important; }
.pc2__wish.added svg { fill: currentColor !important; stroke: currentColor !important; }
.pc2__wish.loading { color: var(--pc-muted) !important; }
.pc2__cmp.is-shake { animation: pc2-shake .4s var(--pc-ease); }
@keyframes pc2-shake { 0%,100% { translate: 0; } 25% { translate: -3px; } 75% { translate: 3px; } }
.pc2__cmp.is-added { background: var(--pc-navy); color: #fff; }

/* cart states driven by the card script */
.pc2__cart.is-loading { pointer-events: none; opacity: .75; }
.pc2__cart.is-loading svg { animation: pc2-pulse .9s ease-in-out infinite; }
@keyframes pc2-pulse { 50% { opacity: .35; } }
.pc2__cart--link { background: var(--pc-navy); }

/* small supporting bits */
.pc2__rating { display: none; }   /* ratings moved off the card to keep it clean */

/* skeleton while the grid loads */
.pc2--skeleton .pc2__card { animation: none; pointer-events: none; }
.pc2--skeleton .pc2__media { background: linear-gradient(90deg,#e8edf6 25%,#f2f5fb 50%,#e8edf6 75%); background-size: 200% 100%; animation: pc2-shimmer 1.4s ease-in-out infinite; }
.pc2--skeleton .pc2__media::before, .pc2--skeleton .pc2__media::after { display: none; }
.pc2--skeleton .pc2__body { padding-bottom: 5cqw; }
.pc2__line { height: 12px; border-radius: 6px; background: linear-gradient(90deg,#e8edf6 25%,#f2f5fb 50%,#e8edf6 75%); background-size: 200% 100%; animation: pc2-shimmer 1.4s ease-in-out infinite; }
.pc2__line--brand { width: 40%; margin-bottom: 8px; } .pc2__line--name { width: 75%; height: 16px; }
.pc2__foot--skel { min-height: 22cqw; background: linear-gradient(90deg,#e8edf6 25%,#f2f5fb 50%,#e8edf6 75%) 0 0 / 200% 100%; animation: pc2-shimmer 1.4s ease-in-out infinite; }
@keyframes pc2-shimmer { 0% { background-position: -200% 0; } 100% { background-position: 200% 0; } }

@media (prefers-reduced-motion: reduce) {
  .pc2__card { animation: none; }
  .pc2__media img, .pc2__btn, .pc2__cart, .pc2__cart svg { transition: none; }
  .pc2__wish.pop svg, .pc2__cart.is-loading svg { animation: none; }
}

/* ── grid columns for the new card ─────────────────────────────────
   Phones: 2 across. Tablets: 3. Desktop (with the filter
   sidebar or without): 4. */
@media (max-width: 639px) {
  .products-grid:has(> .pc2) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
}
@media (min-width: 640px) {
  .products-grid:has(> .pc2) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .products-grid:has(> .pc2) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .shop-layout .products-area .products-grid:has(> .pc2) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* ── tiny cards (3 across on a phone, ~110px wide) ─────────────────── */
@container (max-width: 140px) {
  .pc2__card { --r: 7cqw; --inset: 2.6cqw; --px: 3.6cqw; --ring: .9cqw; --cs: 32px; }
  .pc2__media { aspect-ratio: 1 / .92; }
  .pc2__tag { font-size: 9px; padding: .45em .6em; border-radius: 5px; }
  .pc2__off { left: 2cqw; top: 2cqw; }
  .pc2__size { left: 2cqw; bottom: 2cqw; font-size: 8.5px; }
  .pc2__acts { right: 2cqw; top: 2cqw; }
  .pc2__btn, .pc2__acts .pc2__wish.wcboost-wishlist-button { width: 26px !important; min-width: 26px !important; }
  .pc2__body { padding: 2.2cqw 3.6cqw calc(var(--cs) / 2 + 2.4cqw); }
  .pc2__brand { font-size: 8px; letter-spacing: .08em; }
  .pc2__name, .pc2__name.long { font-size: 11px; white-space: normal; overflow-wrap: anywhere; line-height: 1.12; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
  .pc2__save { font-size: 8.5px; padding: .5em .7em; gap: .25em; }
  .pc2__save .omr { display: none; }   /* "Save 22.7" — the symbol would push the chip into the cart */
  .pc2__foot { padding: 11cqw 3.6cqw 3.4cqw; }
  .pc2__foot.nd, .pc2__card.nd .pc2__foot { padding-top: 4.4cqw; padding-bottom: 4.4cqw; }
  .pc2__prices { gap: 1.6cqw; }
  .pc2__price { font-size: clamp(15px, 14cqw, 19px); }
  .pc2__old { font-size: 9px; }
  .pc2__cart { box-shadow: 0 0 0 .9cqw #fff, 0 5px 10px -4px rgba(11,37,64,.5); }
}

/* ── price panel colour: soft blue (same tint as the photo panel) ─────── */
.pc2__card .pc2__foot { color: var(--pc-navy); background: linear-gradient(165deg, #EBF1FD, #D6E2F8); box-shadow: inset 0 0 0 1px rgba(38,85,194,.12); }
.pc2__card .pc2__foot::before { display: none; }
.pc2__card .pc2__price { color: var(--pc-blue-dark); }
.pc2__card .pc2__old { color: var(--pc-muted); opacity: 1; }
.pc2__card.is-sold .pc2__foot { color: #fff; }
.pc2__card.is-sold .pc2__price, .pc2__card.is-sold .pc2__old { color: #fff; }
.pc2--skeleton .pc2__foot--skel { box-shadow: none; }

/* ── single product page: same panel + transparent photo as the card ─────
   The ring is centred on the slide, and the watch no longer drifts on scroll
   (the old parallax moved it off-centre inside the ring). No container
   queries here — containment would collapse the gallery's width on phones. */
.product-gallery.product-gallery--v2 .product-gallery__scroller {
  background: radial-gradient(75% 62% at 50% 50%, rgba(255,255,255,.95), rgba(255,255,255,0) 72%), linear-gradient(165deg, #EBF1FD, #D6E2F8);
}
.product-gallery--v2 .product-gallery__slide { position: relative; }
.product-gallery--v2 .product-gallery__slide::before {
  content: ""; position: absolute; left: 50%; top: 50%; width: 78%; aspect-ratio: 1; transform: translate(-50%, -50%); border-radius: 50%;
  box-shadow: 0 0 0 1px rgba(38,85,194,.1), 0 0 0 38px rgba(255,255,255,.18), 0 0 0 39px rgba(38,85,194,.06);
}
.product-gallery--v2 .product-gallery__slide::after {
  content: ""; position: absolute; left: 26%; right: 26%; bottom: 9%; height: 3%; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(11,37,64,.22), transparent); filter: blur(2px);
}
.product-gallery--v2 .product-gallery__slide img {
  position: relative; z-index: 1; transform: none; filter: drop-shadow(0 10px 12px rgba(11,37,64,.2));
}
.product-gallery--v2 .product-gallery__slide.is-flat img { mix-blend-mode: multiply; filter: none; }
.product-gallery--v2 .product-gallery__thumb { background: linear-gradient(165deg, #EBF1FD, #D6E2F8); }
.product-gallery--v2 .product-gallery__thumb img { object-fit: contain; }
/* phones: the slide is capped at 320px tall, so the ring is sized from that height */
@media (max-width: 899px) {
  .product-gallery--v2 .product-gallery__slide::before { width: 236px; box-shadow: 0 0 0 1px rgba(38,85,194,.1), 0 0 0 24px rgba(255,255,255,.18), 0 0 0 25px rgba(38,85,194,.06); }
  .product-gallery--v2 .product-gallery__slide img { filter: drop-shadow(0 6px 8px rgba(11,37,64,.2)); }
}

/* ── single product page: the card's look, carried over (kept light) ──────
   Price panel (same soft blue as the card) with the Save chip on its top edge,
   rial symbol instead of "OMR", case/collection chips under the title, a
   softer spec card. */
.pp__sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pp .omr, .pp__now .omr { flex: none; height: .7em; width: calc(.7em * 1.8123); fill: currentColor; }

.product-page--v2 .product-info__price.pp {
  position: relative; display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 14px;
  margin: 28px 0 var(--sp-4); padding: 26px 20px 18px;
  border-radius: 20px; background: linear-gradient(165deg, #EBF1FD, #D6E2F8);
  box-shadow: inset 0 0 0 1px rgba(38,85,194,.12);
}
.pp__now { display: inline-flex; align-items: baseline; gap: .3em; font-size: clamp(2rem, 4.4vw, 2.7rem); font-weight: 900; line-height: 1; letter-spacing: -.02em; color: #1D4092; font-variant-numeric: tabular-nums; }
.pp__now--sm { font-size: var(--text-md, 1rem); font-weight: 900; color: var(--color-text, #0B2540); letter-spacing: 0; }
.pp__old { display: inline-flex; align-items: baseline; font-size: 1.05rem; font-weight: 600; color: #5F6970; text-decoration: line-through; font-variant-numeric: tabular-nums; }
.pp__off { margin-left: auto; align-self: center; background: #2655C2; color: #fff; font-size: .8rem; font-weight: 700; padding: .45em .75em; border-radius: 9px; font-variant-numeric: tabular-nums; }
.pp__save {
  position: absolute; left: 20px; top: 0; translate: 0 -50%; display: inline-flex; align-items: baseline; gap: .32em;
  padding: .62em .95em; border-radius: 99px; background: #0B2540; color: #fff; font-size: .8rem; font-weight: 700; line-height: 1; white-space: nowrap;
  box-shadow: 0 0 0 4px var(--color-bg, #F5F6F7), 0 6px 12px -6px rgba(11,37,64,.55);
}
.pp__save .omr { height: .72em; width: calc(.72em * 1.8123); }

.pp-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 var(--sp-3); }
.pp-chip { display: inline-flex; align-items: baseline; gap: .4em; padding: .5em .95em; border-radius: 99px; font-size: .8rem; font-weight: 700; line-height: 1.1; white-space: nowrap; font-variant-numeric: tabular-nums; }
.pp-chip--line { background: #EBF1FD; color: #1D4092; box-shadow: inset 0 0 0 1px rgba(38,85,194,.16); }
.pp-chip--size { background: #0B2540; color: #fff; }
.pp-chip__k { opacity: .65; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; font-size: .68rem; }

.product-page--v2 .product-specs { border: 0; border-radius: 20px; background: #fff; box-shadow: inset 0 0 0 1px #E3E8F2; }
.product-page--v2 .product-specs__row:nth-child(even) { background: #F4F7FD; }

/* gallery parallax: the photo drifts a little, the ring behind it a little the other way. */
.product-gallery--v2 .product-gallery__slide img { transform: translate3d(0, var(--pgy, 0px), 0); will-change: transform; }
.product-gallery--v2 .product-gallery__slide::before { transform: translate(-50%, calc(-50% + var(--pgy, 0px) * -.5)); }
@media (prefers-reduced-motion: reduce) {
  .product-gallery--v2 .product-gallery__slide img, .product-gallery--v2 .product-gallery__slide::before { transform: none; will-change: auto; }
  .product-gallery--v2 .product-gallery__slide::before { transform: translate(-50%, -50%); }
}

/* desktop: the gallery sticks while the right column scrolls, so it must fit on a short screen
   (a laptop is ~700px tall) — otherwise its bottom and thumbnails stay cut off until the end. */
@media (min-width: 900px) {
  .product-gallery--v2 .product-gallery__slide { max-height: max(360px, calc(100vh - 210px)); }
  .product-gallery--v2 .product-gallery__slide::before { width: min(78%, calc(max(360px, 100vh - 210px) * .78)); }
}

/* ── whole card clickable ────────────────────────────────────────────────
   The stretched link sits under the photo, tags and text. Those are only
   decoration, so let clicks fall straight through to the link. The round
   buttons and the cart button stay clickable. */
.pc2__media img, .pc2__tag, .pc2__body, .pc2__prices, .pc2__foot, .pc2__save { pointer-events: none; }
.pc2__acts, .pc2__cart { pointer-events: auto; }

/* ── wishlist heart after the plugin swaps its own button in ─────────────
   wcboost-wishlist refreshes every button over ajax a moment after load and
   replaces ours with its stock markup (text label + "button" styling). Pin the
   same round-heart look to that markup too, and never show its text label. */
.pc2__acts .wcboost-wishlist-button {
  position: relative !important; inset: auto !important; float: none !important;
  width: 10cqw !important; min-width: 34px !important; height: auto !important; aspect-ratio: 1 !important;
  padding: 0 !important; margin: 0 !important; border: 0 !important; border-radius: 50% !important;
  display: grid !important; place-items: center; background: rgba(255,255,255,.94) !important; color: var(--pc-navy) !important;
  box-shadow: 0 1px 2px rgba(11,37,64,.12), 0 2px 8px -2px rgba(11,37,64,.18) !important; text-decoration: none !important;
  font-size: 0 !important; line-height: 0 !important; min-height: 0 !important;
}
.pc2__acts .wcboost-wishlist-button .wcboost-wishlist-button__text { display: none !important; }
.pc2__acts .wcboost-wishlist-button .wcboost-wishlist-button__icon { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; margin: 0 !important; padding: 0 !important; display: grid !important; place-items: center; line-height: 0; }
.pc2__acts .wcboost-wishlist-button.added { color: #c0392b !important; background: #fff !important; }
@media (max-width: 639px) { .pc2__acts .wcboost-wishlist-button { width: 26px !important; min-width: 26px !important; } }
