/* shop v4 (DETOX 2026-10-06): studio icons on a glowing stage, day badges, best-value cards */
.it .pic { aspect-ratio: 1.15; background: radial-gradient(closest-side at 50% 56%, var(--g, rgba(200, 215, 240, .35)), transparent 78%) !important; overflow: visible; }
.it .pic::before { opacity: .35; }
.it .pic::after { content: ""; position: absolute; left: 22%; right: 22%; bottom: 9%; height: 12%; border-radius: 50%; pointer-events: none;
  background: radial-gradient(closest-side, rgba(0, 0, 0, .55), transparent); filter: blur(2px); }
.it .pic img { width: 74%; max-width: 210px; z-index: 1; filter: drop-shadow(0 14px 22px rgba(0, 0, 0, .55)) drop-shadow(0 0 22px var(--g, rgba(200, 215, 240, .3))); }
.it .svcpic img { animation: gemFloat 4.2s ease-in-out infinite; }
.it .pic .dtag { position: absolute; left: 8px; top: 8px; z-index: 2; font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  padding: 4px 8px; border-radius: 99px; color: #e9eef6; background: rgba(12, 14, 20, .72); border: 1px solid rgba(255, 255, 255, .14); backdrop-filter: blur(6px); }
.it .pic .x { z-index: 2; }
.it { transition: transform .35s var(--ease), border-color .35s, box-shadow .35s; }
.it:hover { transform: translateY(-4px); border-color: color-mix(in srgb, var(--g) 70%, transparent); box-shadow: 0 18px 40px -18px var(--g), inset 0 0 0 1px color-mix(in srgb, var(--g) 30%, transparent); }
.it .pic .bestv { position: absolute; left: 50%; bottom: 2px; transform: translateX(-50%); white-space: nowrap; z-index: 2; font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  padding: 4px 9px; border-radius: 99px; color: #0b0c10; background: linear-gradient(135deg, #f4f6fa, #aab4c3); }
.it .pic .spk { display: none; }
.tabs .tab .ti { width: 20px; height: 20px; object-fit: contain; margin-right: 7px; vertical-align: -5px; filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .5)); }
.card.zen { display: flex; align-items: center; gap: 18px; }
.card.zen[hidden] { display: none; }
.card.zen .zenimg { width: 92px; height: 92px; object-fit: contain; flex: none; filter: drop-shadow(0 10px 18px rgba(0, 0, 0, .5)) drop-shadow(0 0 18px rgba(255, 200, 90, .35)); }
.card.zen > div:not(.ctl) { flex: 1; }
@media (max-width: 560px) { .tabs .tab .ti { display: none; } .card.zen { flex-wrap: wrap; } }
/* phones: the tab row used to force the left column wider than the screen, cutting the right card column */
.sh-top > * { min-width: 0; }
.sh-top .tabs { overflow-x: auto; scrollbar-width: none; flex-wrap: nowrap; }
.sh-top .tabs::-webkit-scrollbar { display: none; }
@media (max-width: 980px) { .sh-top { grid-template-columns: minmax(0, 1fr) !important; } }
