/* =========================================================
   SELF-HOSTED ZERO-LATENCY FONTS (Lalezar & Cairo)
   Preloaded for Zero CLS & Instant Rendering
   ========================================================= */
@font-face {
  font-family: 'Lalezar';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('assets/fonts/lalezar-arabic.woff2') format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+FB50-FDFF, U+FE70-FEFC;
}

@font-face {
  font-family: 'Cairo';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('assets/fonts/cairo-arabic.woff2') format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+FB50-FDFF, U+FE70-FEFC;
}

@font-face {
  font-family: 'Cairo';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('assets/fonts/cairo-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122;
}

/* =========================================================
   نفذها — Landing Page Styles
   Design tokens derived from the brand logo:
   deep purple/near-black stage, hot-pink + violet bubble
   letters, thick white sticker outlines, halftone dots.
   ========================================================= */

:root{
  --bg:            #100226;
  --bg-soft:       #1d0c2e;
  --purple:        #6b2fa5;
  --purple-dark:   #451a72;
  --pink:          #ec1876;
  --pink-light:    #ff4fa3;
  --yellow:        #ffd400;
  --paper:         #fff8fb;
  --ink:           #1a0a26;
  --outline:       #ffffff;

  --font-display: 'Lalezar', system-ui, sans-serif;
  --font-body:    'Cairo', system-ui, sans-serif;

  --stroke: 3px;
  --radius-lg: 28px;
  --radius-md: 18px;
  --radius-sm: 10px;
}

*{ box-sizing:border-box; }

html {
  scroll-behavior: smooth;
  overflow-x: hidden !important;
  width: 100%;
  max-width: 100%;
}

body {
  margin: 0;
  background: var(--bg);
  color: var(--paper);
  font-family: var(--font-body);
  direction: rtl;
  overflow-x: hidden !important;
  width: 100%;
  max-width: 100%;
  position: relative;
  -webkit-font-smoothing: antialiased;
}

img{ max-width:100%; height:auto; display:block; }

/* Screen reader only utility (accessible navigation) */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

a{ color:inherit; text-decoration:none; }

.container{
  width:100%;
  max-width:1120px;
  margin-inline:auto;
  padding-inline:24px;
}

/* ---------- halftone dot stage (matches logo background) ---------- */
.dot-stage{
  position:relative;
  background-color:var(--bg);
  background-image:
    radial-gradient(circle, rgba(107,47,165,.55) 1.6px, transparent 1.7px),
    radial-gradient(circle, rgba(107,47,165,.28) 1.2px, transparent 1.3px);
  background-size: 26px 26px, 26px 26px;
  background-position: 0 0, 13px 13px;
}

/* ---------- sticker utility: thick white outline + soft shadow ---------- */
.sticker{
  border:var(--stroke) solid var(--outline);
  box-shadow: 0 10px 24px rgba(0,0,0,.35);
}

/* =========================================================
   TOP ANNOUNCEMENT BAR (TICKER / MARQUEE)
   ========================================================= */
.announcement-bar {
  background: linear-gradient(90deg, #ec1876, #6b2fa5, #ec1876);
  background-size: 200% 100%;
  color: #ffffff;
  padding: 8px 0;
  font-size: 13px;
  font-weight: 700;
  overflow: hidden;
  white-space: nowrap;
  position: relative;
  z-index: 100;
  border-bottom: 1.5px solid rgba(255, 255, 255, 0.25);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
  width: 100%;
  max-width: 100%;
  min-height: 41px;
  box-sizing: border-box;
  line-height: 24px;
}
.announcement-track {
  display: inline-flex;
  width: max-content;
  will-change: transform;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -webkit-animation: marquee-anim 34s linear infinite;
  animation: marquee-anim 34s linear infinite;
}

/* Pause on hover only on desktop with fine mouse pointer, NEVER freeze on mobile touch */
@media (hover: hover) and (pointer: fine) {
  .announcement-bar:hover .announcement-track {
    animation-play-state: paused;
  }
}

@-webkit-keyframes marquee-anim {
  0% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
  100% { -webkit-transform: translate3d(50%, 0, 0); transform: translate3d(50%, 0, 0); }
}

@keyframes marquee-anim {
  0% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
  100% { -webkit-transform: translate3d(50%, 0, 0); transform: translate3d(50%, 0, 0); }
}
.announcement-content {
  display: flex;
  align-items: center;
  gap: 24px;
  padding-left: 24px;
}
.announcement-sep {
  color: var(--yellow);
  font-size: 13px;
}
.announcement-notice {
  background: rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(255, 255, 255, 0.4);
  padding: 3px 12px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}
.announcement-notice strong {
  color: var(--yellow);
  font-weight: 800;
}
.announcement-coupon {
  cursor: pointer;
  background: var(--yellow);
  color: var(--ink);
  padding: 2px 10px;
  border-radius: 6px;
  font-family: var(--font-display);
  font-size: 14px;
  letter-spacing: 1px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border: 1px solid white;
  transition: transform 0.15s ease, background 0.15s ease;
}
.announcement-coupon:hover {
  transform: scale(1.08);
  background: #ffffff;
}

/* =========================================================
   HERO (Expansive, Creative, Centered Layout)
   ========================================================= */
.hero {
  position: relative;
  padding: 60px 0 75px;
  text-align: center;
  isolation: isolate;
  overflow: hidden;
  max-width: 100%;
  contain: layout style;
}

/* Floating Decorative Sparks (Zero Layout Impact) */
.deco {
  position: absolute;
  pointer-events: none;
  user-select: none;
  z-index: 1;
  opacity: 0.55;
  color: var(--pink-light);
  line-height: 1;
}
.deco--bolt { color: var(--yellow); }
.deco-1 { top: 16%; left: 8%; font-size: 26px; }
.deco-2 { top: 22%; right: 9%; font-size: 24px; }
.deco-3 { bottom: 22%; left: 10%; font-size: 22px; }
.deco-4 { bottom: 18%; right: 12%; font-size: 22px; }

.hero__glow {
  position: absolute;
  inset: 0;
  max-width: 100%;
  height: 520px;
  background:
    radial-gradient(60% 60% at 30% 20%, rgba(236,24,118,.35), transparent 70%),
    radial-gradient(50% 50% at 75% 10%, rgba(107,47,165,.45), transparent 70%);
  filter: blur(10px);
  z-index: -1;
  pointer-events: none;
}
.hero__inner {
  max-width: 920px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(236, 24, 118, 0.15);
  border: 1.5px solid var(--pink-light);
  color: #ffb8dc;
  font-size: 14px;
  font-weight: 700;
  padding: 8px 22px;
  border-radius: 99px;
  margin-bottom: 24px;
  box-shadow: 0 4px 15px rgba(236, 24, 118, 0.2);
}
.hero h1 {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(36px, 5.8vw, 62px);
  line-height: 1.25;
  margin: 0 auto 22px;
  max-width: 890px;
  color: var(--paper);
}
.hero h1 .accent-pink { color: var(--pink-light); }
.hero h1 .accent-purple { color: #b98cf0; }
.hero h1 .heart-inline { color: var(--pink-light); font-size: 0.9em; }

.hero p.subtitle {
  font-size: clamp(16px, 2.2vw, 20px);
  color: #dfd1ee;
  max-width: 740px;
  margin: 0 auto 36px;
  line-height: 1.85;
}

.hero__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 45px;
}
.hero-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-family: var(--font-body);
  font-weight: 800;
  font-size: 16px;
  padding: 15px 32px;
  border-radius: 99px;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  text-decoration: none;
}
.hero-btn--primary {
  background: linear-gradient(135deg, var(--yellow), #ffc107);
  color: var(--ink);
  border: 2.5px solid var(--outline);
  box-shadow: 0 8px 0 #b98600, 0 14px 28px rgba(0,0,0,0.4);
}
.hero-btn--primary:hover {
  transform: translateY(-3px);
  box-shadow: 0 11px 0 #b98600, 0 18px 32px rgba(0,0,0,0.5);
}
.hero-btn--primary:active {
  transform: translateY(3px);
  box-shadow: 0 5px 0 #b98600, 0 8px 18px rgba(0,0,0,0.4);
}
.hero-btn--outline {
  background: rgba(255, 255, 255, 0.08);
  color: var(--paper);
  border: 2px solid rgba(255, 255, 255, 0.35);
  backdrop-filter: blur(8px);
}
.hero-btn--outline:hover {
  background: rgba(255, 255, 255, 0.18);
  border-color: #ffffff;
  transform: translateY(-3px);
}

/* Capabilities Row & Compact Trust Strip */
.hero__trust-strip {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  width: 100%;
  max-width: 860px;
  margin-top: 14px;
}
.trust-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  padding: 8px 16px;
  font-size: 13px;
  color: #dfd3ef;
  backdrop-filter: blur(8px);
  transition: transform 0.2s ease, border-color 0.2s ease;
}
.trust-pill:hover {
  transform: translateY(-2px);
  border-color: var(--yellow);
  color: #fff;
}
.banner-preview-composite {
  display: flex;
  align-items: center;
  gap: 14px;
}
.banner-preview-img-front {
  border-radius: 14px;
  box-shadow: 0 12px 28px rgba(0,0,0,0.55);
  border: 2px solid rgba(255, 255, 255, 0.22);
  transform: rotate(-4deg);
  transition: transform 0.3s ease;
  object-fit: cover;
}
.stickers-lab-banner:hover .banner-preview-img-front {
  transform: rotate(0deg) scale(1.05);
}

.hero__capabilities {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  width: 100%;
  max-width: 960px;
  margin-top: 10px;
}
.capability-card {
  background: linear-gradient(145deg, rgba(43, 18, 62, 0.65), rgba(22, 7, 40, 0.75));
  border: 1.5px solid rgba(255, 255, 255, 0.12);
  border-radius: 16px;
  padding: 18px 14px;
  text-align: center;
  transition: transform 0.25s ease, border-color 0.25s ease;
}
.capability-card:hover {
  transform: translateY(-4px);
  border-color: var(--pink-light);
}
.capability-icon {
  font-size: 26px;
  margin-bottom: 8px;
  display: inline-block;
}
.capability-card h3,
.capability-card h4 {
  font-family: var(--font-display);
  font-size: 17px;
  font-weight: 400;
  color: var(--paper);
  margin: 0 0 6px;
}
.capability-card p {
  color: #cbbad9;
  font-size: 12px;
  line-height: 1.55;
  margin: 0;
}

@media (max-width: 860px) {
  .hero__capabilities {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }
}
@media (max-width: 480px) {
  .hero { padding: 45px 0 60px; }
  .hero-btn { width: 100%; }
  .hero__capabilities { grid-template-columns: 1fr; }
}

/* =========================================================
   GIFT MODAL / COUPON REVEAL
   ========================================================= */
.modal-overlay{
  position:fixed; inset:0;
  background: rgba(10,3,18,.75);
  backdrop-filter: blur(4px);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  z-index:100;
  opacity:0;
  pointer-events:none;
  transition: opacity .25s ease;
}
.modal-overlay.is-open{ opacity:1; pointer-events:auto; }

.modal-close{
  position:absolute;
  top:16px; left:16px;
  width:38px; height:38px;
  border-radius:50%;
  background:rgba(255,255,255,.1);
  border:1.5px solid rgba(255,255,255,.3);
  color:var(--paper);
  font-size:18px;
  cursor:pointer;
  display:flex; align-items:center; justify-content:center;
}

.ticket{
  position:relative;
  width:100%;
  max-width:390px;
  color: var(--paper);
  border:var(--stroke) solid var(--outline);
  border-radius:24px;
  padding: 28px 28px 30px;
  text-align:center;
  transform: scale(.85) translateY(20px);
  opacity:0;
  transition: transform .35s cubic-bezier(.2,1.4,.4,1), opacity .3s ease;

  /* Custom cosmic background */
  background-color: var(--purple-dark);
  background-image:
    /* Halftone dots layer */
    radial-gradient(circle, rgba(255,255,255,.08) .8px, transparent .9px),
    /* Pink glow layer */
    radial-gradient(ellipse at center, var(--pink) 0%, transparent 80%);
  background-size: 12px 12px, 100% 100%;
}
.modal-overlay.is-open .ticket{ transform: scale(1) translateY(0); opacity:1; }

.ticket__stub{
  position:absolute;
  top:60%;
  width:26px; height:26px;
  background:var(--bg);
  border:var(--stroke) solid var(--outline);
  border-radius:50%;
  transform: translateY(-50%);
}
.ticket__stub--right{ right:-16px; }
.ticket__stub--left{ left:-16px; }

.ticket__perf{
  border-top:3px dashed rgba(255,255,255,.5);
  margin: 22px 0 20px;
  width: calc(100% - 56px);
  margin-inline: auto;
}

.ticket h2{
  font-family:var(--font-display);
  font-weight:400;
  font-size:26px;
  margin:6px 0 4px;
  color:var(--paper);
}
.ticket .ticket__pill{
  display:inline-block;
  background:var(--yellow);
  color:var(--ink);
  font-family:var(--font-display);
  font-size:32px;
  padding:2px 18px;
  border-radius:10px;
  margin:6px 0 4px;
  border:2px solid var(--outline);
}
.ticket .ticket__note{
  font-size:14px;
  color:var(--paper);
  opacity:.8;
  margin:0 0 6px;
}

.code-row{
  display:flex;
  align-items:center;
  gap:10px;
  background:rgba(0,0,0,.25);
  border:1.5px dashed rgba(255,255,255,.5);
  border-radius:12px;
  padding:12px 14px;
  margin-top:6px;
}
.code-row code{
  flex:1;
  font-family:var(--font-display);
  letter-spacing:2px;
  font-size:20px;
  color:var(--yellow);
}
.copy-btn{
  background:var(--paper);
  color:var(--ink);
  border:none;
  font-family:var(--font-body);
  font-weight:700;
  font-size:13px;
  padding:8px 14px;
  border-radius:8px;
  cursor:pointer;
  white-space:nowrap;
  transition: background .2s;
}
.copy-btn.copied{ background:var(--yellow); }

.ticket__cta{
  display:inline-block;
  margin-top:20px;
  font-family:var(--font-body);
  font-weight:700;
  font-size:15px;
  color:var(--ink);
  background:var(--paper);
  padding:12px 26px;
  border-radius:999px;
  border:2px solid var(--outline);
}

/* confetti canvas */
#confetti-canvas{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:101;
}

/* =========================================================
   SECTIONS shared
   ========================================================= */
.section{ padding: 74px 0; position:relative; }
.section__head{ text-align:center; margin-bottom:44px; }
.section__head h2{
  font-family:var(--font-display);
  font-weight:400;
  font-size:clamp(26px, 4vw, 38px);
  color:var(--paper);
  margin:0 0 10px;
}
.section__head p{
  color:#c9b8dd;
  font-size:16px;
  margin:0;
}

/* =========================================================
   CUSTOMER REVIEWS (WHATSAPP SCREENSHOTS POLAROIDS)
   ========================================================= */
.gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px 24px;
  max-width: 1040px;
  margin: 0 auto;
}
.polaroid {
  background: #ffffff;
  padding: 12px 12px 50px;
  border-radius: 8px;
  border: 3px solid var(--outline);
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.45);
  transform: rotate(var(--tilt, -2deg));
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  position: relative;
}
.polaroid:nth-child(2n) { --tilt: 2.2deg; }
.polaroid:nth-child(3n) { --tilt: -2.8deg; }
.polaroid:nth-child(4n) { --tilt: 1.8deg; }
.polaroid:nth-child(5n) { --tilt: -1.5deg; }
.polaroid:hover {
  transform: rotate(0deg) translateY(-8px) scale(1.03);
  box-shadow: 0 22px 38px rgba(0, 0, 0, 0.55);
  z-index: 5;
}
.polaroid img {
  width: 100%;
  height: auto;
  aspect-ratio: 5 / 7;
  object-fit: cover;
  object-position: top;
  border-radius: 4px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  display: block;
  background: #f7f3fa;
}
.polaroid figcaption {
  margin: 0;
  position: absolute;
  bottom: 14px;
  left: 0;
  right: 0;
  text-align: center;
  font-family: var(--font-display);
  font-weight: 400;
  color: var(--ink);
  font-size: 16px;
  letter-spacing: 0.5px;
}
.polaroid .tape {
  position: absolute;
  top: -12px;
  right: 50%;
  transform: translateX(50%) rotate(-3deg);
  width: 64px;
  height: 24px;
  background: rgba(255, 212, 0, 0.65);
  border: 1px solid rgba(255, 255, 255, 0.7);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

@media (max-width: 950px) {
  .gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 680px;
    gap: 26px 20px;
  }
}
@media (max-width: 580px) {
  .gallery {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
    max-width: 340px;
  }
}

/* =========================================================
   SOCIAL CARDS
   ========================================================= */
.social-grid{
  display: flex;
  flex-direction: column;
  gap: 24px;
  max-width: 500px; /* constrain on large screens */
  margin: 0 auto;
}
.social-card{
  width: 100%;
  max-width: 320px;
  margin: 0 auto;
  border-radius:var(--radius-md);
  border:var(--stroke) solid var(--outline);
  padding: 18px 20px;
  text-align:center;
  overflow:hidden;
  transition: transform .3s cubic-bezier(.2,1.4,.4,1), box-shadow .3s ease;
  box-shadow: 0 14px 30px rgba(0,0,0,.4);
}
.social-card:nth-child(odd) { transform: rotate(2.5deg); }
.social-card:nth-child(even) { transform: rotate(-2.5deg); }

.social-card:hover{ transform: translateY(-4px) rotate(0) scale(1.05); box-shadow: 0 20px 36px rgba(0,0,0,.5); z-index:10; }

/* --- Staggered Layout & Unique Gradients --- */
.social-card--ig{ background: linear-gradient(160deg, var(--pink), var(--purple)); }
.social-card--tt{ background: linear-gradient(160deg, var(--purple-dark), var(--pink-light)); }
.social-card--wa{ background: linear-gradient(160deg, var(--purple), var(--bg-soft)); }

.social-card__icon{
  width:48px; height:48px;
  margin:0 auto 10px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(0,0,0,.25);
  border:2px solid var(--outline);
  border-radius:50%;
  transition: transform .3s ease;
}
.social-card:hover .social-card__icon{ transform: scale(1.1); }

.social-card h3{
  font-family:var(--font-display);
  font-weight:400;
  font-size:20px;
  margin:0 0 10px;
}
.social-card .go{
  display:inline-block;
  font-weight:700;
  font-size:13px;
  background:rgba(0,0,0,.25);
  padding:8px 18px;
  border-radius:999px;
  border:1.5px solid rgba(255,255,255,.4);
}

/* =========================================================
   SCROLL REVEAL ANIMATIONS
   ========================================================= */
.reveal-on-scroll {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.reveal-on-scroll.is-visible {
  opacity: 1;
  transform: translateY(0);
}
/* =========================================================
   FOOTER
   ========================================================= */
footer{
  text-align:center;
  padding: 34px 0 44px;
  color:#9a83b3;
  font-size:13px;
}
.footer__logo{
  width: 140px;
  margin: 0 auto 12px;
  /* opacity: 1; */
  filter: drop-shadow(0 4px 10px rgba(0,0,0,.3));
}

/* =========================================================
   ANIMATIONS
   ========================================================= */
@keyframes floaty{
  0%,100%{ transform: translateY(0); }
  50%{ transform: translateY(-10px); }
}

@keyframes pop-in {
  from { opacity: 0; transform: translateY(20px) scale(.9); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (prefers-reduced-motion: reduce){
  *{ animation:none !important; transition:none !important; }
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 860px){
  .gallery{ grid-template-columns:repeat(2, 1fr); }
}
@media (max-width: 480px){
  .deco{ display:none; }
  .hero{ padding: 40px 0 64px; }
}
/* ================= CATALOG: isolated styles ================= */
.shop-nav{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;padding-block:22px}.shop-nav a{border:1px solid #ffffff35;border-radius:99px;padding:10px 22px;font-size:14px;background:#ffffff08;transition:.2s}.shop-nav a:hover{background:var(--purple)}
.catalog-intro{padding-block:65px 28px;text-align:center}.shop-eyebrow{color:#c6a4e3;font-size:11px;letter-spacing:2px;direction:ltr;display:inline-block}.catalog-intro h2{font:400 clamp(32px,5vw,54px) var(--font-display);margin:14px 0}.catalog-intro em{font-style:normal;color:var(--pink-light)}.catalog-intro p,.shop-heading p{color:#c6b4d6;margin:0}
.shop-section{padding-block:42px 56px;scroll-margin-top:20px}.shop-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.shop-heading h2{font:400 clamp(32px,5vw,46px) var(--font-display);text-align:right;margin:8px 0 2px}.shop-spark{font-size:62px;color:var(--yellow);transform:rotate(12deg)}.shop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;max-width:880px;margin:auto}.shop-card{border:1px solid #ffffff25;border-radius:26px;overflow:hidden;background:linear-gradient(140deg,#29113d,#190b29);transition:transform .25s,border-color .25s}.shop-card:hover{transform:translateY(-5px);border-color:#ff4fa380}.shop-art{display:block;position:relative;background:#ffffff;overflow:hidden;border-bottom:2px solid rgba(255,255,255,0.1);aspect-ratio:4/5;width:100%}.shop-art img{width:100%;height:100%;object-fit:cover;object-position:center;background:#ffffff;padding:0;margin:0;display:block;box-sizing:border-box;transition:transform .35s ease}.shop-art:hover img{transform:scale(1.05)}.shop-badge{position:absolute;top:14px;right:14px;border-radius:99px;background:#fff8fb;color:#451a72;padding:6px 12px;font-size:11px;font-weight:700}.shop-card-body{padding:22px}.shop-card h3{font-size:22px;margin:0 0 6px}.shop-price{color:#ffd400;font-weight:700;margin:0 0 18px}.shop-button{display:flex;align-items:center;justify-content:space-between;gap:20px;border-radius:13px;padding:13px 20px;background:var(--pink);color:white;font-weight:800;border:1px solid #ff8fc066;transition:background .2s}.shop-button:hover{background:#bb105b}.shop-button:focus-visible,.shop-nav a:focus-visible,.product-top a:focus-visible,.shop-art:focus-visible{outline:3px solid var(--yellow);outline-offset:5px}.product-top{display:flex;justify-content:space-between;align-items:center;padding-block:28px}.product-top>a:first-child{font:36px var(--font-display)}.product-top span{color:var(--yellow)}.product-top>a:last-child{font-size:13px;color:#d9c8e8}.shop-crumb{display:flex;gap:14px;color:#c9b5dc;font-size:13px;padding-block:20px 30px}.shop-detail{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;padding-bottom:70px}.shop-detail-art{position:relative;background:#ffffff;border-radius:26px;overflow:hidden;border:3px solid var(--outline);box-shadow:0 16px 36px rgba(0,0,0,.45);padding:0;box-sizing:border-box;aspect-ratio:4/5}.shop-detail-art img{width:100%;height:100%;object-fit:cover;object-position:center;background:#ffffff;display:block;padding:0;margin:0}.shop-detail-info{padding-block:25px}.shop-detail h1{font:400 clamp(36px,5vw,55px) var(--font-display);margin:15px 0}.shop-description{color:#dfd1eb;line-height:2}.shop-specs{color:#bea8ce;line-height:2.2;padding-inline-start:20px;font-size:14px}.shop-sizes{border:0;padding:20px 0;margin:0;display:flex;gap:10px;flex-wrap:wrap}.shop-sizes legend{font-weight:700;margin-bottom:12px}.shop-sizes label{cursor:pointer}.shop-sizes input{position:absolute;opacity:0;width:1px;height:1px}.shop-sizes label span{display:block;border:1px solid #ffffff40;border-radius:12px;padding:10px 18px}.shop-sizes input:checked+span{border-color:var(--pink-light);background:#ec18762b;box-shadow:0 0 0 1px var(--pink-light)}.shop-sizes input:focus-visible+span{outline:3px solid var(--yellow);outline-offset:3px}.shop-total{display:flex;justify-content:space-between;gap:10px;align-items:center;border-top:1px solid #ffffff20;padding-block:24px;margin-top:12px}.shop-total strong{font-size:23px;color:var(--yellow)}.shop-order{justify-content:center;font-size:17px}.shop-order-note{color:#bfa8cf;font-size:12px;line-height:2;margin-top:15px}.shop-empty{padding:70px 0;text-align:center}.shop-empty .shop-button{max-width:250px;margin:auto}
@media(min-width:1000px){.shop-grid{gap:32px}}
@media(max-width:650px){.shop-detail{grid-template-columns:1fr;gap:12px}.shop-detail-art img{max-height:440px}.shop-grid{gap:14px}.shop-card-body{padding:15px}.shop-card h3{font-size:18px}.shop-button{font-size:13px;padding:12px}.shop-badge{font-size:9px;right:8px;top:8px}.shop-spark{font-size:40px}.shop-nav a{padding:9px 13px;font-size:12px}.shop-section{padding-block:28px}.shop-detail-info{padding-block:14px}.catalog-intro{padding-top:40px}}
@media(max-width:380px){.shop-grid{grid-template-columns:1fr}}
/* Category gateways and paginated collections */
.category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;padding-block:24px 70px}.category-card{position:relative;overflow:hidden;padding:28px;border:1px solid #ffffff30;background:linear-gradient(145deg,#341847,#1d0b30);border-radius:26px;transition:transform .25s,border-color .25s,box-shadow .25s}.category-card:hover{transform:translateY(-7px) rotate(-1deg);border-color:var(--pink-light);box-shadow:0 18px 50px #0004}.category-card--posters{background:linear-gradient(145deg,#30224f,#1d0b30)}.category-card--notebooks{background:linear-gradient(145deg,#471a40,#1d0b30)}.category-card--photocards{background:linear-gradient(145deg,#12384a,#0b2130)}.category-illustration{height:150px;display:grid;place-items:center;position:relative}.category-illustration>span{font:100px Georgia;color:var(--pink-light);filter:drop-shadow(4px 4px 0 white);transform:rotate(-12deg);transition:transform .35s}.category-card--posters .category-illustration>span{color:#d4b6ff}.category-card--notebooks .category-illustration>span{color:var(--yellow)}.category-illustration i{position:absolute;top:23px;left:20%;font-size:26px;color:var(--yellow);font-style:normal}.category-card:hover .category-illustration>span{transform:rotate(8deg) scale(1.12)}.category-card h2{font:32px var(--font-display);text-align:right;margin:15px 0 8px}.category-card p{color:#d0bddf;font-size:13px;margin:0 0 28px}.category-cta{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff25;padding-top:18px;font-size:14px;font-weight:800}.category-cta b{background:var(--pink);width:32px;height:32px;border-radius:50%;display:grid;place-items:center}.category-card:focus-visible,.shop-pagination a:focus-visible,.collection-switch a:focus-visible,.collection-contact:focus-visible{outline:3px solid var(--yellow);outline-offset:5px}.collection-heading{text-align:center;padding:30px 0 15px}.collection-heading h1{font:clamp(40px,7vw,64px) var(--font-display);margin:10px 0}.collection-heading p{color:#d0bddf}.collection-switch{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:28px 0}.collection-switch a{border:1px solid #ffffff30;border-radius:99px;padding:8px 18px;font-size:13px}.collection-switch a[aria-current]{background:var(--purple);border-color:#c79cec}.collection-count{font-size:13px;color:#cbb6db;margin:24px 0}.collection-products{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none}.collection-products .shop-art img{height:100%;background:#ffffff;object-fit:cover;padding:0;box-sizing:border-box}.shop-pagination{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;margin:40px 0 60px}.shop-pagination a{min-width:42px;height:42px;display:grid;place-items:center;border:1px solid #ffffff35;border-radius:12px;transition:.2s}.shop-pagination a:hover{background:var(--purple)}.shop-pagination a[aria-current]{background:var(--pink);border-color:var(--pink-light);font-weight:800}.pagination-label{font-size:13px;color:#cbb6db;margin-right:8px}.collection-contact{color:#efdaff}.shop-card{animation:catalog-enter .45s ease both}@keyframes catalog-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:850px){.category-grid{gap:14px}.category-card{padding:20px}.category-card h2{font-size:26px}.collection-products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.category-grid{grid-template-columns:1fr;padding-bottom:40px}.category-card{padding:22px;display:grid;grid-template-columns:1fr 95px;column-gap:15px}.category-card>.shop-eyebrow,.category-card>h2,.category-card>p,.category-card>.category-cta{grid-column:1;position:relative}.category-card .category-illustration{grid-column:2;grid-row:1/5;height:100%;min-height:160px}.category-illustration>span{font-size:78px}.category-illustration i{left:0;top:5px}.category-card h2{margin-top:12px}.category-card p{margin-bottom:18px}.category-cta{padding-top:12px}.collection-products .shop-art img{height:100%}}
@media(max-width:380px){.collection-products{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.category-card:hover,.category-card:hover .category-illustration>span{transform:none}}
/* Bolder, image-led category cards */
.category-grid{gap:24px}.category-card{padding:22px;background:#f5d9ed;color:#2b123e;border:3px solid white;box-shadow:6px 7px 0 #6b2fa5;overflow:hidden;max-width:100%}.category-card--posters{background:#ddcff5}.category-card--notebooks{background:#ffdf79}.category-card--photocards{background:#d1ecf9}.category-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:800}.category-top>span:last-child{font-size:26px}.category-preview{height:270px;position:relative;margin:15px 0 22px;max-width:100%}.category-preview picture{display:contents}.category-preview img{position:absolute;width:52%;height:220px;aspect-ratio:4/5;object-fit:cover;background:transparent;padding:0;box-sizing:border-box;top:18px;border:none;border-radius:12px;box-shadow:0 14px 28px rgba(16,2,38,0.42);transition:transform .35s ease}.category-preview-0{left:0;transform:rotate(-15deg)}.category-preview-1{left:26%;transform:rotate(1deg);z-index:2}.category-preview-2{right:0;transform:rotate(15deg)}.category-preview b{position:absolute;bottom:0;left:12%;background:var(--pink);color:white;padding:8px 18px;transform:rotate(-8deg);z-index:3;font-size:22px;border:3px solid white;border-radius:8px;box-shadow:3px 4px 0 #451a72}.category-card:hover{box-shadow:9px 12px 0 #ec1876;transform:translateY(-6px)}.category-card:hover .category-preview-0{transform:rotate(-22deg) translateY(-9px)}.category-card:hover .category-preview-2{transform:rotate(22deg) translateY(-9px)}.category-card h2,.category-card h3{font-size:34px;font-family:var(--font-display);margin:8px 0 4px;font-weight:400}.category-card p{color:#240c35;font-weight:600}.category-cta{border-color:#451a7230}.category-cta b{color:white}.collection-products .shop-card:nth-child(3n+2){animation-delay:.06s}.collection-products .shop-card:nth-child(3n+3){animation-delay:.12s}.shop-card:hover .shop-art img{transform:scale(1.045) rotate(-1deg)}.catalog-intro{padding-top:30px}
@media(max-width:850px) and (min-width:601px){.category-preview{height:220px}.category-preview img{height:175px}.category-preview b{font-size:15px;left:4%}.category-card h2,.category-card h3{font-size:27px}}
@media(max-width:600px){.category-card{display:block;padding:20px;overflow:hidden;max-width:100%}.category-preview{height:260px;max-width:100%;margin:10px auto 20px}.category-preview img{height:210px}.category-card h2,.category-card h3{font-size:30px}.category-grid{gap:22px}.category-top{font-size:12px}}
@media(prefers-reduced-motion:reduce){.category-card:hover .category-preview img,.shop-card:hover .shop-art img{transform:none}}

/* =========================================================
   EXACT 16.5 × 24 CM STICKER SHEET PROPORTIONS (ZERO CROPPING)
   ========================================================= */
.shop-card--stickers .shop-art,
.shop-detail--stickers .shop-detail-art {
  aspect-ratio: 16.5 / 24 !important;
}
.shop-card--stickers .shop-art img,
.shop-detail--stickers .shop-detail-art img {
  object-fit: contain !important;
  background: #ffffff !important;
}


/* =========================================================
   SITE HEADER / NAVBAR
   ========================================================= */
.site-header {
  position: sticky;
  top: 0;
  z-index: 95;
  background: rgba(16, 2, 38, 0.88);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  transition: all 0.3s ease;
  min-height: 74px;
  box-sizing: border-box;
}
.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 0;
  gap: 16px;
  min-height: 48px;
  box-sizing: border-box;
}
.site-header__brand {
  display: flex;
  align-items: center;
  text-decoration: none;
}
.site-header__brand img {
  height: 54px;
  width: auto;
  filter: drop-shadow(0 2px 10px rgba(0,0,0,0.35));
  transition: transform 0.2s ease;
}
.site-header__brand:hover img {
  transform: scale(1.04);
}
.site-nav {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: nowrap;
}
.site-nav__link {
  font-size: 13.5px;
  font-weight: 600;
  color: #cfc2df;
  padding: 7px 12px;
  border-radius: 99px;
  transition: all 0.2s ease;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  text-decoration: none;
}
.site-nav__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  white-space: nowrap;
  background: var(--pink);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 999px;
  line-height: 1.2;
  box-shadow: 0 0 10px rgba(236, 24, 118, 0.4);
}
.site-nav__link:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.09);
}
.site-nav__link--active {
  color: #ffffff;
  background: rgba(236, 24, 118, 0.22);
  border: 1px solid rgba(236, 24, 118, 0.45);
}
.site-header__actions {
  display: flex;
  align-items: center;
  gap: 12px;
}
.btn-cart-toggle {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg, var(--purple), var(--pink));
  color: #fff;
  border: 1.5px solid var(--outline);
  padding: 8px 18px;
  border-radius: 99px;
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 14px;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(236, 24, 118, 0.3);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.btn-cart-toggle:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(236, 24, 118, 0.45);
}
.cart-badge {
  background: var(--yellow);
  color: var(--ink);
  font-size: 11px;
  font-weight: 800;
  padding: 2px 7px;
  border-radius: 99px;
  min-width: 18px;
  text-align: center;
  line-height: 1.2;
}

@media (max-width: 1200px) and (min-width: 769px) {
  .site-header__inner {
    gap: 8px;
  }
  .site-nav {
    gap: 3px;
  }
  .site-nav__link {
    font-size: 12.5px;
    padding: 6px 9px;
    gap: 4px;
  }
  .site-header__brand img {
    height: 46px;
  }
  .btn-cart-toggle {
    padding: 7px 14px;
    font-size: 13px;
  }
}

@media (max-width: 992px) and (min-width: 769px) {
  .site-nav__link[href*="#features"],
  .site-nav__link[href*="#faq"] {
    display: none;
  }
}

@media (max-width: 768px) {
  .site-nav { display: none; }
  .site-header__brand img { height: 42px; }
  .btn-cart-toggle .btn-cart-text,
  .btn-cart-toggle span:first-child:not(.cart-badge):not(.btn-cart-icon) { display: none; }
  .btn-cart-toggle { padding: 8px 14px; }
}

/* =========================================================
   TRUST & FEATURES SECTION
   ========================================================= */
.features-section {
  padding: 40px 0 60px;
}
.features-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.feature-card {
  background: linear-gradient(145deg, rgba(43, 18, 62, 0.7), rgba(22, 7, 40, 0.8));
  border: 1.5px solid rgba(255, 255, 255, 0.15);
  border-radius: 20px;
  padding: 24px 20px;
  text-align: center;
  transition: transform 0.25s ease, border-color 0.25s ease;
}
.feature-card:hover {
  transform: translateY(-5px);
  border-color: var(--pink-light);
}
.feature-icon {
  font-size: 32px;
  margin-bottom: 12px;
  display: inline-block;
}
.feature-card h3 {
  font-family: var(--font-display);
  font-size: 19px;
  font-weight: 400;
  color: var(--paper);
  margin: 0 0 8px;
}
.feature-card p {
  color: #cfbee1;
  font-size: 13px;
  line-height: 1.6;
  margin: 0;
}
@media (max-width: 860px) {
  .features-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .features-grid { grid-template-columns: 1fr; gap: 14px; }
}

/* =========================================================
   FAQ SECTION
   ========================================================= */
.faq-section {
  padding: 50px 0 70px;
}
.faq-list {
  max-width: 800px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.faq-item {
  background: linear-gradient(145deg, rgba(41, 17, 61, 0.6), rgba(25, 11, 41, 0.7));
  border: 1.5px solid rgba(255, 255, 255, 0.12);
  border-radius: 16px;
  overflow: hidden;
  transition: border-color 0.2s ease;
}
.faq-item.is-open {
  border-color: var(--pink-light);
}
.faq-question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 22px;
  background: none;
  border: none;
  color: var(--paper);
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 700;
  text-align: right;
  cursor: pointer;
  gap: 12px;
}
.faq-icon {
  font-size: 20px;
  color: var(--yellow);
  transition: transform 0.25s ease;
  flex-shrink: 0;
}
.faq-item.is-open .faq-icon {
  transform: rotate(45deg);
}
.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease, padding 0.3s ease;
  color: #cfbee1;
  font-size: 14px;
  line-height: 1.8;
  padding: 0 22px;
}
.faq-item.is-open .faq-answer {
  max-height: 250px;
  padding: 0 22px 20px;
}

/* =========================================================
   CART DRAWER & FLOATING BUTTON
   ========================================================= */
.floating-cart-btn {
  position: fixed;
  bottom: 24px;
  left: 24px;
  z-index: 89;
  background: linear-gradient(135deg, var(--yellow), #ffc107);
  color: var(--ink);
  border: 3px solid var(--outline);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.45);
  border-radius: 99px;
  padding: 12px 22px;
  font-family: var(--font-body);
  font-weight: 800;
  font-size: 15px;
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.floating-cart-btn:hover {
  transform: scale(1.05) translateY(-3px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.6);
}
.floating-cart-btn .cart-badge {
  background: var(--pink);
  color: #fff;
  border: 1.5px solid white;
}

.cart-overlay {
  position: fixed;
  inset: 0;
  background: rgba(10, 3, 18, 0.7);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  z-index: 110;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}
.cart-overlay.is-open {
  opacity: 1;
  pointer-events: auto;
}

.cart-drawer {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  max-width: 440px;
  background: #19092c;
  border-right: 2px solid var(--outline);
  z-index: 115;
  display: flex;
  flex-direction: column;
  transform: translateX(-100%);
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 10px 0 40px rgba(0,0,0,0.6);
}
.cart-overlay.is-open .cart-drawer {
  transform: translateX(0);
}

.cart-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  background: #230d3d;
}
.cart-header h2 {
  font-family: var(--font-display);
  font-size: 24px;
  font-weight: 400;
  margin: 0;
  color: var(--paper);
}
.cart-close-btn {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: var(--paper);
  width: 34px;
  height: 34px;
  border-radius: 50%;
  font-size: 16px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
}
.cart-close-btn:hover {
  background: rgba(255, 255, 255, 0.25);
}

.cart-body {
  flex: 1;
  overflow-y: auto;
  padding: 20px 24px;
}
.cart-empty {
  text-align: center;
  padding: 60px 20px;
  color: #cfbee1;
}
.cart-empty-icon {
  font-size: 52px;
  margin-bottom: 16px;
}
.cart-empty h3 {
  font-family: var(--font-display);
  font-size: 24px;
  color: var(--paper);
  margin: 0 0 8px;
}

.cart-item {
  display: flex;
  gap: 14px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 14px;
  padding: 12px;
  margin-bottom: 12px;
  position: relative;
}
.cart-item-art {
  width: 65px;
  height: 80px;
  background: #ffffff;
  border-radius: 8px;
  overflow: hidden;
  flex-shrink: 0;
  padding: 4px;
  box-sizing: border-box;
}
.cart-item-art img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #ffffff;
}
.cart-item-details {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.cart-item-title {
  font-size: 15px;
  font-weight: 700;
  margin: 0 0 4px;
  color: var(--paper);
}
.cart-item-variant {
  font-size: 12px;
  color: #b7a0cf;
  margin-bottom: 6px;
}
.cart-item-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.cart-item-price {
  font-weight: 700;
  color: var(--yellow);
  font-size: 14px;
}
.cart-qty-ctrl {
  display: flex;
  align-items: center;
  gap: 6px;
  background: rgba(0, 0, 0, 0.3);
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  padding: 2px 6px;
}
.cart-qty-btn {
  background: none;
  border: none;
  color: var(--paper);
  font-size: 15px;
  font-weight: 700;
  width: 22px;
  height: 22px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cart-qty-val {
  font-size: 13px;
  font-weight: 700;
  min-width: 16px;
  text-align: center;
}
.cart-item-remove {
  background: none;
  border: none;
  color: #ff6b8b;
  cursor: pointer;
  font-size: 16px;
  padding: 4px;
  align-self: flex-start;
}

.cart-footer {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  padding: 20px 24px;
  background: #200b37;
}
.cart-coupon-box {
  display: flex;
  gap: 8px;
  margin-bottom: 16px;
}
.cart-coupon-input {
  flex: 1;
  background: rgba(0, 0, 0, 0.25);
  border: 1.5px solid rgba(255, 255, 255, 0.2);
  border-radius: 10px;
  padding: 10px 14px;
  color: var(--paper);
  font-family: var(--font-body);
  font-size: 13px;
}
.cart-coupon-input:focus {
  outline: none;
  border-color: var(--pink-light);
}
.cart-coupon-btn {
  background: var(--purple);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 10px;
  padding: 10px 16px;
  font-weight: 700;
  font-size: 13px;
  cursor: pointer;
}
.cart-totals-row {
  display: flex;
  justify-content: space-between;
  font-size: 14px;
  color: #cfbee1;
  margin-bottom: 8px;
}
.cart-totals-row.final {
  border-top: 1px dashed rgba(255, 255, 255, 0.2);
  padding-top: 12px;
  margin-top: 10px;
  font-size: 18px;
  font-weight: 800;
  color: var(--paper);
}
.cart-totals-row.final span:last-child {
  color: var(--yellow);
}
.cart-checkout-btn {
  width: 100%;
  margin-top: 16px;
  background: #25d366;
  color: #000;
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 800;
  padding: 14px;
  border-radius: 14px;
  border: 2px solid white;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  box-shadow: 0 4px 18px rgba(37, 211, 102, 0.35);
  transition: transform 0.2s, box-shadow 0.2s;
}
.cart-checkout-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 22px rgba(37, 211, 102, 0.5);
}

/* =========================================================
   ADD TO CART BUTTONS & TOAST
   ========================================================= */
.btn-add-cart {
  background: linear-gradient(135deg, var(--yellow), #ffbe00);
  color: var(--ink);
  border: 2px solid white;
  border-radius: 13px;
  padding: 13px 20px;
  font-family: var(--font-body);
  font-weight: 800;
  font-size: 15px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  transition: transform 0.2s, background 0.2s;
  flex: 1;
}
.btn-add-cart:hover {
  transform: translateY(-2px);
  background: #ffcc00;
}
.shop-detail-actions {
  display: flex;
  gap: 12px;
  margin-top: 16px;
  flex-wrap: wrap;
}
.shop-detail-actions .shop-order {
  flex: 1;
}

.cart-toast {
  position: fixed;
  bottom: 30px;
  right: 24px;
  background: #2b1042;
  color: white;
  border: 2px solid var(--pink-light);
  border-radius: 14px;
  padding: 14px 20px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.6);
  z-index: 120;
  display: flex;
  align-items: center;
  gap: 16px;
  transform: translateY(100px);
  opacity: 0;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s;
}
.cart-toast.is-active {
  transform: translateY(0);
  opacity: 1;
}
.cart-toast-btn {
  background: var(--yellow);
  color: var(--ink);
  border: none;
  font-weight: 800;
  font-size: 12px;
  padding: 6px 12px;
  border-radius: 8px;
  cursor: pointer;
}

/* Related Products */
.related-products-section {
  border-top: 1px solid rgba(255,255,255,0.12);
  padding: 40px 0 60px;
  margin-top: 20px;
}
.related-products-section h2 {
  font-family: var(--font-display);
  font-size: 28px;
  margin-bottom: 24px;
  text-align: right;
}



/* =========================================================
   SUBCATEGORIES SHOWCASE & FILTER PILLS (POSTERS & OTHERS)
   ========================================================= */
.sub-filter-bar {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding: 12px 4px 20px;
  margin: 15px 0 25px;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  justify-content: center;
  flex-wrap: wrap;
}
.sub-filter-bar::-webkit-scrollbar {
  display: none;
}
.sub-pill {
  cursor: pointer;
  background: rgba(255, 255, 255, 0.08);
  color: #eeddf8;
  border: 1.5px solid rgba(255, 255, 255, 0.22);
  padding: 8px 18px;
  border-radius: 999px;
  font-family: var(--font-body);
  font-size: 13.5px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all 0.22s ease;
  white-space: nowrap;
}
.sub-pill:hover {
  background: rgba(236, 24, 118, 0.25);
  border-color: var(--pink-light);
  color: #ffffff;
  transform: translateY(-2px);
}
.sub-pill.is-active {
  background: linear-gradient(135deg, #ec1876, #9b35b8);
  border-color: #ff8fc0;
  color: #ffffff;
  box-shadow: 0 4px 14px rgba(236, 24, 118, 0.45);
  transform: translateY(-1px);
}

/* Subcategories Visual Showcase: Horizontal Carousel by Default with Toggle to Grid */
.subcategories-section {
  margin: 10px 0 45px;
  padding: 24px 20px 30px;
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 28px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.3);
  position: relative;
}
.subcategories-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 20px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.subcategories-head__info h2 {
  font: 400 clamp(22px, 3.8vw, 30px) var(--font-display);
  margin: 4px 0;
  color: #ffffff;
}
.subcategories-head__info p {
  color: #cfbee1;
  font-size: 13.5px;
  margin: 0;
}
.subcategories-head__actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.btn-toggle-all-subs {
  background: linear-gradient(135deg, rgba(236, 24, 118, 0.25), rgba(107, 47, 165, 0.4));
  border: 1.5px solid var(--pink-light);
  color: #ffffff;
  padding: 8px 18px;
  border-radius: 999px;
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all 0.22s ease;
  white-space: nowrap;
}
.btn-toggle-all-subs:hover {
  background: var(--pink);
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(236, 24, 118, 0.45);
}
.sub-scroll-nav {
  display: flex;
  gap: 8px;
}
.sub-scroll-btn {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.25);
  color: #ffffff;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  font-size: 20px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s;
}
.sub-scroll-btn:hover {
  background: var(--yellow);
  color: #190b29;
  border-color: #ffffff;
  transform: scale(1.1);
}

/* Track: Horizontal carousel by default */
.subcategories-track {
  display: flex;
  align-items: stretch;
  gap: 18px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding: 8px 4px 18px;
  scrollbar-width: thin;
  scrollbar-color: var(--pink) rgba(255, 255, 255, 0.08);
  -webkit-overflow-scrolling: touch;
}
.subcategories-track::-webkit-scrollbar {
  height: 6px;
}
.subcategories-track::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.06);
  border-radius: 99px;
}
.subcategories-track::-webkit-scrollbar-thumb {
  background: linear-gradient(90deg, #ec1876, #ffd400);
  border-radius: 99px;
}
.subcategories-track .sub-card {
  flex: 0 0 260px;
  width: 260px;
  max-width: 260px;
  scroll-snap-align: start;
}
@media (max-width: 600px) {
  .subcategories-track .sub-card {
    flex: 0 0 220px;
    width: 220px;
    max-width: 220px;
  }
}

/* Expanded Grid Mode (when toggled via 'عرض جميع الأقسام') */
.subcategories-track.is-expanded-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  overflow-x: visible;
  padding: 10px 0;
}
.subcategories-track.is-expanded-grid .sub-card {
  flex: none;
  width: auto;
  max-width: none;
}
@media (max-width: 900px) {
  .subcategories-track.is-expanded-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }
}
@media (max-width: 580px) {
  .subcategories-track.is-expanded-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .subcategories-section {
    padding: 18px 14px 24px;
  }
}
.sub-card {
  cursor: pointer;
  background: #1e0b30;
  border-radius: 20px;
  overflow: hidden;
  border: 2px solid rgba(255, 255, 255, 0.16);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.4);
  transition: transform 0.28s ease, border-color 0.28s ease, box-shadow 0.28s ease;
  display: flex;
  flex-direction: column;
}
.sub-card:hover {
  transform: translateY(-8px) scale(1.02);
  border-color: var(--pink-light);
  box-shadow: 0 20px 40px rgba(236, 24, 118, 0.35);
}
.sub-card__art {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 5;
  background: #ffffff;
  overflow: hidden;
  flex-shrink: 0;
}
.sub-card__art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.35s ease;
}
.sub-card:hover .sub-card__art img {
  transform: scale(1.06);
}
.sub-card__footer {
  background: linear-gradient(135deg, #ec1876, #6b2fa5);
  padding: 12px 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #ffffff;
  height: 68px;
  min-height: 68px;
  max-height: 68px;
  box-sizing: border-box;
  margin-top: auto;
}
.sub-card__meta {
  flex: 1;
  min-width: 0;
  padding-left: 8px;
}
.sub-card__meta h3 {
  margin: 0 0 4px;
  font-size: 14.5px;
  font-weight: 800;
  color: #ffffff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.25;
}
.sub-card__count {
  font-size: 12px;
  color: #ffd400;
  font-weight: 700;
  display: block;
}
.sub-card__btn {
  background: rgba(255, 255, 255, 0.22);
  border: 1px solid rgba(255, 255, 255, 0.4);
  width: 32px;
  height: 32px;
  border-radius: 50%;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  font-weight: bold;
  cursor: pointer;
  flex-shrink: 0;
  transition: transform 0.2s ease, background 0.2s ease;
}
.sub-card:hover .sub-card__btn {
  background: #ffd400;
  color: #190b29;
  transform: scale(1.1) rotate(15deg);
}

.collection-products-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 14px;
  margin: 25px 0 12px;
}
.sub-products-header-info {
  flex: 1;
  min-width: 250px;
}
.sub-products-title {
  font: 400 clamp(20px, 3.5vw, 28px) var(--font-display);
  margin: 0;
  color: #ffffff;
}
.sub-products-desc {
  color: #eeddf8;
  font-size: 14px;
  margin: 8px 0 0;
  line-height: 1.6;
  max-width: 680px;
  background: rgba(236, 24, 118, 0.14);
  border-right: 3px solid var(--pink-light);
  padding: 8px 14px;
  border-radius: 0 10px 10px 0;
}
.btn-clear-sub {
  background: rgba(255, 255, 255, 0.1);
  color: #f7d5ff;
  border: 1px solid rgba(255, 255, 255, 0.25);
  padding: 6px 14px;
  border-radius: 99px;
  font-size: 13px;
  cursor: pointer;
  font-weight: 700;
  transition: all 0.2s;
  white-space: nowrap;
}
.btn-clear-sub:hover {
  background: var(--pink);
  color: #ffffff;
}


/* =========================================================
   CUSTOM PHOTO FEATURE (STAR GIRL POSTER 44)
   ========================================================= */
.shop-badge--custom-sparkle {
  background: linear-gradient(135deg, #ffd400, #ff4fa3) !important;
  color: #190b29 !important;
  font-weight: 800 !important;
  box-shadow: 0 4px 14px rgba(255, 212, 0, 0.45);
  border: 1px solid #ffffff;
  animation: pulse-glow 2s infinite ease-in-out;
}
@keyframes pulse-glow {
  0%, 100% { box-shadow: 0 0 10px rgba(255, 212, 0, 0.4); }
  50% { box-shadow: 0 0 18px rgba(236, 24, 118, 0.7); }
}
.shop-card--custom-photo {
  border-color: rgba(255, 212, 0, 0.55) !important;
  box-shadow: 0 8px 24px rgba(236, 24, 118, 0.25);
}

.custom-photo-box {
  background: linear-gradient(135deg, rgba(236, 24, 118, 0.16), rgba(107, 47, 165, 0.28));
  border: 2px solid rgba(255, 212, 0, 0.65);
  border-radius: 20px;
  padding: 20px 22px;
  margin: 22px 0 24px;
  position: relative;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
}
.custom-photo-badge {
  display: inline-block;
  background: var(--yellow);
  color: #190b29;
  font-size: 12px;
  font-weight: 800;
  padding: 3px 12px;
  border-radius: 99px;
  margin-bottom: 10px;
  border: 1px solid white;
}
.custom-photo-box h3 {
  margin: 0 0 8px;
  font-size: 19px;
  color: #ffffff;
  font-family: var(--font-display);
  letter-spacing: 0.5px;
}
.custom-photo-box p {
  color: #eeddf8;
  font-size: 13.5px;
  line-height: 1.65;
  margin: 0 0 16px;
}
.custom-photo-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
.btn-try-photo {
  background: linear-gradient(135deg, #ec1876, #9b35b8);
  color: #ffffff;
  border: 1.5px solid #ff8fc0;
  padding: 10px 18px;
  border-radius: 12px;
  font-weight: 800;
  font-size: 13.5px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: all 0.22s ease;
  box-shadow: 0 4px 14px rgba(236, 24, 118, 0.4);
}
.btn-try-photo:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(236, 24, 118, 0.6);
  background: #bb105b;
}
.btn-reset-photo {
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.3);
  padding: 10px 16px;
  border-radius: 12px;
  font-weight: 700;
  font-size: 13px;
  cursor: pointer;
  transition: all 0.2s;
}
.btn-reset-photo:hover {
  background: rgba(255, 255, 255, 0.25);
}
.custom-photo-feedback {
  background: rgba(37, 211, 102, 0.18);
  border: 1.5px solid rgba(37, 211, 102, 0.6);
  color: #a4ffc0;
  font-size: 13.5px;
  font-weight: 700;
  padding: 10px 16px;
  border-radius: 10px;
  margin-bottom: 14px;
  animation: catalog-enter 0.3s ease both;
}
.custom-photo-checkbox-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13.5px;
  font-weight: 700;
  color: #ffd400;
  cursor: pointer;
  user-select: none;
}
.custom-photo-checkbox-wrap input {
  width: 18px;
  height: 18px;
  accent-color: #ec1876;
  cursor: pointer;
}

/* =========================================================
   REFINED BREADCRUMBS & COLLECTION HERO
   ========================================================= */
.shop-crumb {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #c9b5dc;
  font-size: 13.5px;
  font-weight: 500;
  padding: 22px 0 16px;
  flex-wrap: wrap;
}
.shop-crumb a {
  color: #d8c7ea;
  text-decoration: none;
  transition: color 0.2s ease;
}
.shop-crumb a:hover {
  color: #ffd400;
  text-decoration: underline;
}
.shop-crumb .crumb-sep {
  color: rgba(255, 255, 255, 0.35);
  font-size: 11px;
  user-select: none;
}
.shop-crumb .crumb-current {
  color: #ff8fc0;
  font-weight: 700;
}

.collection-heading {
  text-align: center;
  padding: 16px 0 20px;
}
.collection-heading .collection-title {
  font: 400 clamp(32px, 5.5vw, 54px) var(--font-display);
  margin: 10px 0 6px;
  color: #ffffff;
  text-shadow: 0 4px 24px rgba(236, 24, 118, 0.25);
}
.collection-heading .collection-subtitle {
  color: #d0bddf;
  font-size: clamp(14px, 2vw, 17px);
  margin: 0;
}
.collection-switch {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  margin: 24px 0 28px;
}
.collection-switch a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255, 255, 255, 0.05);
  border: 1.5px solid rgba(255, 255, 255, 0.16);
  color: #e5d7f2;
  border-radius: 99px;
  padding: 10px 22px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.22s ease;
}
.collection-switch a:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.4);
  transform: translateY(-2px);
}
.collection-switch a[aria-current] {
  background: linear-gradient(135deg, var(--purple), var(--pink));
  border-color: var(--pink-light);
  color: #ffffff;
  font-weight: 800;
  box-shadow: 0 4px 18px rgba(236, 24, 118, 0.35);
  transform: translateY(-2px);
}

/* =========================================================
   SPECIAL PRICING & DISCOUNT BADGES ("بدلاً من")
   ========================================================= */
.shop-price-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: 6px 0 16px;
  flex-wrap: wrap;
}
.shop-price-main {
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.shop-price-current {
  font-size: 20px;
  font-weight: 800;
  color: var(--yellow);
  text-shadow: 0 2px 10px rgba(255, 212, 0, 0.25);
}
.shop-price-old {
  font-size: 13px;
  color: #ab96bd;
  text-decoration: line-through;
  text-decoration-color: #ec1876;
  text-decoration-thickness: 1.5px;
  font-weight: 600;
}
.shop-discount-pill {
  background: rgba(236, 24, 118, 0.2);
  color: #ff8fc0;
  border: 1px solid rgba(236, 24, 118, 0.55);
  font-size: 11px;
  font-weight: 800;
  padding: 3px 9px;
  border-radius: 99px;
  display: inline-flex;
  align-items: center;
  letter-spacing: 0.2px;
  box-shadow: 0 2px 8px rgba(236, 24, 118, 0.25);
}

/* Size options with original price & savings */
.shop-sizes {
  border: 0;
  padding: 16px 0 22px;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 12px;
}
.shop-sizes legend {
  font-weight: 700;
  font-size: 15px;
  color: #ffffff;
  margin-bottom: 12px;
  display: block;
  width: 100%;
}
.size-choice-label {
  cursor: pointer;
  position: relative;
  display: block;
}
.size-choice-label input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
}
.size-choice-card {
  display: flex;
  flex-direction: column;
  gap: 6px;
  background: rgba(255, 255, 255, 0.05);
  border: 1.5px solid rgba(255, 255, 255, 0.18);
  border-radius: 14px;
  padding: 12px 14px;
  transition: all 0.22s ease;
}
.size-choice-label:hover .size-choice-card {
  background: rgba(255, 255, 255, 0.09);
  border-color: rgba(255, 255, 255, 0.35);
  transform: translateY(-2px);
}
.size-choice-label input:checked + .size-choice-card {
  background: linear-gradient(145deg, rgba(236, 24, 118, 0.22), rgba(107, 47, 165, 0.28));
  border-color: var(--pink-light);
  box-shadow: 0 0 0 1px var(--pink-light), 0 6px 20px rgba(236, 24, 118, 0.3);
  transform: translateY(-2px);
}
.size-choice-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}
.size-choice-label-text {
  font-size: 14px;
  font-weight: 800;
  color: #ffffff;
}
.size-choice-save {
  background: rgba(37, 211, 102, 0.18);
  color: #8affb4;
  border: 1px solid rgba(37, 211, 102, 0.55);
  font-size: 10.5px;
  font-weight: 800;
  padding: 2px 7px;
  border-radius: 99px;
  white-space: nowrap;
}
.size-choice-pricing {
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.size-choice-price-now {
  font-size: 16px;
  font-weight: 800;
  color: var(--yellow);
}
.size-choice-price-was {
  font-size: 12px;
  color: #a48cb6;
  text-decoration: line-through;
  text-decoration-color: #ec1876;
}

/* Product detail total price & discount banner */
.shop-total-box {
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  padding-top: 18px;
  margin-top: 14px;
  margin-bottom: 22px;
}
.shop-total-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.shop-total-label {
  font-size: 16px;
  font-weight: 700;
  color: #dfd1eb;
}
.shop-total-pricing {
  display: flex;
  align-items: baseline;
  gap: 12px;
}
.shop-total-now {
  font-size: 26px;
  font-weight: 800;
  color: var(--yellow);
  text-shadow: 0 2px 12px rgba(255, 212, 0, 0.3);
}
.shop-total-was {
  font-size: 16px;
  color: #ab96bd;
  text-decoration: line-through;
  text-decoration-color: #ec1876;
  text-decoration-thickness: 2px;
  font-weight: 600;
}
.shop-discount-banner {
  display: flex;
  align-items: center;
  gap: 10px;
  background: linear-gradient(135deg, rgba(236, 24, 118, 0.16), rgba(255, 212, 0, 0.12));
  border: 1.5px solid rgba(236, 24, 118, 0.45);
  border-radius: 12px;
  padding: 10px 16px;
  margin-top: 14px;
  color: #ffe4f0;
  font-size: 13.5px;
  font-weight: 600;
  animation: catalog-enter 0.3s ease both;
}
.shop-discount-banner strong {
  color: var(--yellow);
  font-weight: 800;
}

/* Cart drawer item discount & total savings */
.cart-item-price-group {
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.cart-item-was {
  font-size: 12px;
  color: #a48cb6;
  text-decoration: line-through;
  text-decoration-color: #ec1876;
}
.cart-savings-highlight {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(37, 211, 102, 0.16);
  border: 1.5px solid rgba(37, 211, 102, 0.5);
  color: #a4ffc0;
  padding: 9px 14px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 12px;
}
.cart-savings-highlight strong {
  color: var(--yellow);
  font-size: 14px;
}

/* =========================================================
   STICKERS LAB PROMO BANNER (ON HOMEPAGE)
   ========================================================= */
.stickers-lab-banner {
  background: linear-gradient(135deg, rgba(37, 14, 61, 0.95), rgba(16, 2, 38, 0.95));
  border: 2px solid rgba(236, 24, 118, 0.4);
  border-radius: 28px;
  padding: 36px 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.15);
  position: relative;
  overflow: hidden;
  margin: 30px 0 20px;
}

.stickers-lab-banner::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -20%;
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, rgba(236, 24, 118, 0.25), transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}

.stickers-lab-banner__content {
  max-width: 580px;
  position: relative;
  z-index: 2;
}

.stickers-lab-banner__content h2 {
  font-family: var(--font-display);
  font-size: clamp(24px, 4vw, 34px);
  margin: 10px 0 12px;
  color: #fff;
}

.stickers-lab-banner__content p {
  color: #d1c1e6;
  font-size: clamp(14px, 2vw, 16px);
  line-height: 1.6;
  margin-bottom: 16px;
}

.stickers-lab-banner__preview {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 220px;
}

.stickers-mockup-badge {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 20px;
  padding: 22px 24px;
  text-align: center;
  box-shadow: 0 15px 30px rgba(0,0,0,0.4);
  transform: rotate(-3deg);
  transition: transform 0.3s ease;
}

.stickers-lab-banner:hover .stickers-mockup-badge {
  transform: rotate(0deg) scale(1.04);
}

@media (max-width: 850px) {
  .stickers-lab-banner {
    flex-direction: column;
    padding: 26px 20px;
    text-align: center;
  }
  .stickers-lab-banner__content {
    align-items: center;
    display: flex;
    flex-direction: column;
  }
}
