/* =====================================================================
   Imaginoz app-style UI layer (works on top of Bootstrap 5 + style.css)
   Same brand: Inter, light #f6f7fb, blue→violet gradient (--accent-grad)
   All new components are prefixed .imz-*
   ===================================================================== */
:root{
  --imz-radius: 16px;
  --imz-radius-sm: 10px;
  --imz-shadow: 0 6px 24px rgba(17, 24, 39, .08);
  --imz-shadow-lg: 0 18px 50px rgba(17, 24, 39, .14);
  --imz-ink: #0c1021;
  --imz-muted: #596074;
  --imz-line: rgba(12,16,33,.08);
  --imz-success: #0f9d58;
  --imz-danger: #e11d48;
  --imz-warn: #f59e0b;
  --imz-bottom-nav-h: 64px;
  --imz-safe-b: env(safe-area-inset-bottom, 0px);
}

/* ---------- base polish ---------- */
html{ -webkit-tap-highlight-color: transparent; scroll-behavior: smooth; }
img{ max-width:100%; }
.imz-container{ max-width:1280px; margin:0 auto; padding:0 16px; }
.imz-muted{ color:var(--imz-muted); }
.imz-strike{ text-decoration:line-through; color:#9aa1b2; }
.imz-off{ color:var(--imz-success); font-weight:600; }
.imz-gradient-text{ background:var(--accent-grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.imz-section{ padding:28px 0; }
.imz-section-head{ display:flex; align-items:end; justify-content:space-between; gap:12px; margin-bottom:14px; }
.imz-section-head h2{ font-size:clamp(1.15rem, 2.4vw, 1.6rem); font-weight:700; margin:0; letter-spacing:-.01em; }
.imz-section-head a{ font-weight:600; font-size:.9rem; text-decoration:none; color:var(--brand-700); white-space:nowrap; }

/* ---------- buttons ---------- */
.imz-btn{ display:inline-flex; align-items:center; justify-content:center; gap:.45rem; border:0; border-radius:12px;
  font-weight:600; padding:.72rem 1.1rem; line-height:1.1; cursor:pointer; text-decoration:none; transition:transform .12s ease, box-shadow .2s ease, opacity .2s; user-select:none; }
.imz-btn:active{ transform:scale(.97); }
.imz-btn[disabled], .imz-btn.is-loading{ opacity:.6; pointer-events:none; }
.imz-btn-primary{ background:var(--accent-grad); color:#fff; box-shadow:0 8px 20px rgba(122,73,240,.28); }
.imz-btn-primary:hover{ color:#fff; box-shadow:0 10px 26px rgba(122,73,240,.38); }
.imz-btn-dark{ background:var(--imz-ink); color:#fff; }
.imz-btn-dark:hover{ color:#fff; opacity:.92; }
.imz-btn-light{ background:#fff; color:var(--imz-ink); border:1px solid var(--imz-line); }
.imz-btn-ghost{ background:transparent; color:var(--imz-ink); border:1px solid var(--imz-line); }
.imz-btn-block{ width:100%; }
.imz-btn-sm{ padding:.5rem .8rem; font-size:.85rem; border-radius:10px; }
.imz-btn-lg{ padding:.95rem 1.3rem; font-size:1.05rem; border-radius:14px; }
.imz-btn .spinner-border{ width:1rem; height:1rem; border-width:.15em; }

/* ---------- chips / pills / badges ---------- */
.imz-chips{ display:flex; gap:8px; overflow-x:auto; scrollbar-width:none; padding-bottom:2px; }
.imz-chips::-webkit-scrollbar{ display:none; }
.imz-chip{ flex:0 0 auto; border:1px solid var(--imz-line); background:#fff; border-radius:999px; padding:.42rem .85rem; font-size:.86rem; font-weight:600; color:var(--imz-ink); text-decoration:none; white-space:nowrap; cursor:pointer; }
.imz-chip.active, .imz-chip:hover{ border-color:transparent; background:var(--accent-grad); color:#fff; }
.imz-badge{ display:inline-flex; align-items:center; gap:4px; font-size:.7rem; font-weight:700; letter-spacing:.02em; padding:.25rem .5rem; border-radius:8px; background:#111827; color:#fff; text-transform:uppercase; }
.imz-badge-offer{ background:linear-gradient(90deg,#10b981,#059669); }
.imz-badge-hot{ background:linear-gradient(90deg,#f43f5e,#e11d48); }
.imz-badge-soft{ background:var(--brand-50); color:var(--brand-800); }

/* ---------- product card ---------- */
.imz-grid{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px; }
@media (min-width:576px){ .imz-grid{ grid-template-columns:repeat(3, minmax(0,1fr)); gap:14px; } }
@media (min-width:992px){ .imz-grid{ grid-template-columns:repeat(4, minmax(0,1fr)); gap:18px; } }
@media (min-width:1280px){ .imz-grid.imz-grid-5{ grid-template-columns:repeat(5, minmax(0,1fr)); } }
.imz-card{ position:relative; display:flex; flex-direction:column; background:#fff; border-radius:var(--imz-radius); overflow:hidden; box-shadow:0 1px 2px rgba(0,0,0,.04); border:1px solid var(--imz-line); transition:box-shadow .2s ease, transform .2s ease; height:100%; }
@media (hover:hover){ .imz-card:hover{ box-shadow:var(--imz-shadow); transform:translateY(-2px); } .imz-card:hover .imz-card-img img.alt{ opacity:1; } }
.imz-card-img{ position:relative; display:block; aspect-ratio:3/4; background:linear-gradient(135deg,#f3f4f8,#eceef5); overflow:hidden; }
.imz-card-img img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:opacity .3s ease, transform .4s ease; }
.imz-card-img img.alt{ opacity:0; }
.imz-card-badges{ position:absolute; top:8px; left:8px; display:flex; flex-direction:column; gap:4px; z-index:2; align-items:flex-start; }
.imz-card-wish{ position:absolute; top:8px; right:8px; z-index:2; width:34px; height:34px; border-radius:50%; border:0; background:rgba(255,255,255,.92); display:flex; align-items:center; justify-content:center; box-shadow:0 4px 12px rgba(0,0,0,.1); }
.imz-card-wish .bi{ font-size:1rem; color:#111827; }
.imz-card-wish.active .bi::before{ content:"\f415"; color:var(--imz-danger); } /* bi-heart-fill */
.imz-card-body{ padding:10px 10px 12px; display:flex; flex-direction:column; gap:6px; flex:1; }
.imz-card-title{ font-size:.88rem; font-weight:600; line-height:1.3; color:var(--imz-ink); text-decoration:none; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.6em; }
.imz-card-meta{ font-size:.74rem; color:var(--imz-muted); display:flex; gap:6px; align-items:center; flex-wrap:wrap; }
.imz-price{ display:flex; align-items:baseline; gap:6px; flex-wrap:wrap; }
.imz-price b{ font-size:1.02rem; font-weight:700; }
.imz-price .imz-strike{ font-size:.8rem; }
.imz-price .imz-off{ font-size:.78rem; }
.imz-card-foot{ margin-top:auto; }
.imz-card-oos{ position:absolute; inset:auto 0 0 0; background:rgba(17,24,39,.78); color:#fff; text-align:center; font-size:.75rem; font-weight:600; padding:6px; z-index:2; }
.imz-rating{ display:inline-flex; align-items:center; gap:3px; font-size:.74rem; font-weight:600; background:#eafaf1; color:#0f7a43; padding:.12rem .4rem; border-radius:6px; }

/* stepper */
.imz-stepper{ display:flex; align-items:center; justify-content:space-between; background:var(--imz-ink); color:#fff; border-radius:12px; height:40px; overflow:hidden; }
.imz-stepper button{ width:40px; height:40px; border:0; background:transparent; color:#fff; font-size:1.15rem; font-weight:600; }
.imz-stepper span{ font-weight:700; font-size:.95rem; min-width:24px; text-align:center; }
.imz-stepper.light{ background:#fff; color:var(--imz-ink); border:1px solid var(--imz-line); }
.imz-stepper.light button{ color:var(--imz-ink); }
.imz-add{ width:100%; height:40px; border-radius:12px; border:0; background:var(--imz-ink); color:#fff; font-weight:600; font-size:.88rem; display:flex; align-items:center; justify-content:center; gap:6px; }
.imz-add:hover{ background:#1f2440; }
.imz-add.outline{ background:#fff; color:var(--imz-ink); border:1.5px solid var(--imz-ink); }

/* ---------- horizontal scroller ---------- */
.imz-scroller{ display:grid; grid-auto-flow:column; grid-auto-columns:46%; gap:10px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding:2px 2px 6px; }
.imz-scroller::-webkit-scrollbar{ display:none; }
.imz-scroller > *{ scroll-snap-align:start; }
@media (min-width:576px){ .imz-scroller{ grid-auto-columns:31%; } }
@media (min-width:992px){ .imz-scroller{ grid-auto-columns:23%; gap:16px; } }

/* ---------- skeleton ---------- */
.imz-skel{ background:linear-gradient(90deg,#eef0f5 25%,#f7f8fb 37%,#eef0f5 63%); background-size:400% 100%; animation:imzShimmer 1.3s ease infinite; border-radius:12px; }
@keyframes imzShimmer{ 0%{background-position:100% 50%} 100%{background-position:0 50%} }

/* ---------- toast ---------- */
.imz-toasts{ position:fixed; left:50%; transform:translateX(-50%); bottom:calc(var(--imz-bottom-nav-h) + 14px + var(--imz-safe-b)); z-index:2000; display:flex; flex-direction:column; gap:8px; width:min(92vw, 420px); pointer-events:none; }
@media (min-width:992px){ .imz-toasts{ bottom:24px; } }
.imz-toast{ pointer-events:auto; background:#111827; color:#fff; border-radius:14px; padding:12px 14px; display:flex; gap:10px; align-items:center; box-shadow:var(--imz-shadow-lg); font-size:.92rem; font-weight:600; animation:imzToastIn .25s ease; }
.imz-toast.success .bi{ color:#34d399; } .imz-toast.error .bi{ color:#fb7185; }
.imz-toast a{ color:#c4b5fd; margin-left:auto; font-weight:700; text-decoration:none; white-space:nowrap; }
@keyframes imzToastIn{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:none; } }

/* ---------- bottom nav (mobile app style) ---------- */
.imz-bottom-nav{ position:fixed; left:0; right:0; bottom:0; z-index:1035; height:calc(var(--imz-bottom-nav-h) + var(--imz-safe-b)); padding-bottom:var(--imz-safe-b); background:rgba(255,255,255,.96); backdrop-filter:saturate(180%) blur(16px); -webkit-backdrop-filter:saturate(180%) blur(16px); border-top:1px solid var(--imz-line); display:flex; }
.imz-bottom-nav a, .imz-bottom-nav button{ flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; font-size:.68rem; font-weight:600; color:#6b7280; text-decoration:none; border:0; background:none; position:relative; }
.imz-bottom-nav .bi{ font-size:1.25rem; line-height:1; }
.imz-bottom-nav .active{ color:var(--brand-700); }
.imz-bottom-nav .active .bi{ background:var(--accent-grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.imz-bottom-nav .imz-dot{ position:absolute; top:8px; left:calc(50% + 6px); min-width:17px; height:17px; padding:0 4px; border-radius:9px; background:var(--imz-danger); color:#fff; font-size:.62rem; display:flex; align-items:center; justify-content:center; }
@media (max-width:991.98px){ body.imz-has-bottom-nav{ padding-bottom:calc(var(--imz-bottom-nav-h) + var(--imz-safe-b)); } }
@media (min-width:992px){ .imz-bottom-nav{ display:none; } }

/* ---------- sticky action bar (PDP / cart / checkout on mobile) ---------- */
.imz-sticky-bar{ position:fixed; left:0; right:0; bottom:0; z-index:1036; background:#fff; border-top:1px solid var(--imz-line); padding:10px 14px calc(10px + var(--imz-safe-b)); display:flex; gap:10px; align-items:center; box-shadow:0 -8px 24px rgba(0,0,0,.06); }
body.imz-has-sticky .imz-bottom-nav{ display:none; }
@media (max-width:991.98px){ body.imz-has-sticky{ padding-bottom:84px; } }
@media (min-width:992px){ .imz-sticky-bar.mobile-only{ display:none; } }

/* ---------- panels / cards ---------- */
.imz-panel{ background:#fff; border-radius:var(--imz-radius); border:1px solid var(--imz-line); padding:16px; }
.imz-panel + .imz-panel{ margin-top:12px; }
.imz-panel h3{ font-size:1rem; font-weight:700; margin:0 0 12px; display:flex; align-items:center; gap:8px; }
.imz-row{ display:flex; justify-content:space-between; gap:10px; padding:5px 0; font-size:.93rem; }
.imz-row.total{ border-top:1px dashed var(--imz-line); margin-top:6px; padding-top:10px; font-weight:700; font-size:1.06rem; }
.imz-row .green{ color:var(--imz-success); font-weight:600; }
.imz-save-banner{ background:linear-gradient(90deg,#ecfdf5,#f0fdf4); color:#065f46; border:1px solid #bbf7d0; border-radius:12px; padding:10px 12px; font-weight:600; font-size:.9rem; display:flex; gap:8px; align-items:center; }
.imz-hint{ background:var(--brand-50); border:1px solid var(--brand-200); color:#3b2d8f; border-radius:12px; padding:10px 12px; font-size:.88rem; font-weight:600; display:flex; gap:8px; align-items:center; }

/* progress milestones */
.imz-progress{ height:8px; border-radius:99px; background:#eceef5; overflow:hidden; }
.imz-progress > div{ height:100%; background:var(--accent-grad); border-radius:99px; transition:width .5s ease; }
.imz-milestones{ display:flex; justify-content:space-between; font-size:.7rem; color:var(--imz-muted); margin-top:6px; font-weight:600; }
.imz-milestones .done{ color:var(--imz-success); }

/* ---------- cart lines ---------- */
.imz-line{ display:flex; gap:12px; padding:12px 0; border-bottom:1px solid var(--imz-line); }
.imz-line:last-child{ border-bottom:0; }
.imz-line-img{ width:76px; height:96px; border-radius:12px; object-fit:cover; background:#f3f4f8; flex:0 0 auto; }
.imz-line-body{ flex:1; min-width:0; display:flex; flex-direction:column; gap:4px; }
.imz-line-title{ font-weight:600; font-size:.9rem; line-height:1.3; color:var(--imz-ink); text-decoration:none; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.imz-line-sub{ font-size:.76rem; color:var(--imz-muted); }
.imz-line-actions{ display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:auto; }
.imz-line .imz-stepper{ height:34px; width:108px; border-radius:10px; }
.imz-line .imz-stepper button{ width:34px; height:34px; }
.imz-line-remove{ border:0; background:none; color:#9aa1b2; font-size:1.05rem; padding:4px; }
.imz-line-remove:hover{ color:var(--imz-danger); }
.imz-pack-kids{ display:flex; gap:4px; flex-wrap:wrap; margin-top:4px; }
.imz-pack-kids img{ width:32px; height:40px; object-fit:cover; border-radius:6px; border:1px solid var(--imz-line); }
.imz-notice{ font-size:.76rem; font-weight:600; color:#b45309; }
.imz-free-tag{ font-size:.7rem; font-weight:700; color:#fff; background:var(--imz-success); border-radius:6px; padding:.1rem .4rem; }

/* ---------- offcanvas drawer tune ---------- */
.imz-drawer.offcanvas{ width:min(420px, 100vw); border-left:0; }
.imz-drawer .offcanvas-header{ border-bottom:1px solid var(--imz-line); }
.imz-drawer-foot{ border-top:1px solid var(--imz-line); padding:14px 16px calc(14px + var(--imz-safe-b)); background:#fff; }

/* ---------- forms ---------- */
.imz-field{ position:relative; margin-bottom:12px; }
.imz-field label{ font-size:.78rem; font-weight:600; color:var(--imz-muted); margin-bottom:4px; display:block; }
.imz-input, .imz-field .form-control, .imz-field .form-select{ border-radius:12px; border:1.5px solid #e3e5ee; padding:.72rem .9rem; font-size:.95rem; width:100%; background:#fff; }
.imz-input:focus, .imz-field .form-control:focus, .imz-field .form-select:focus{ border-color:var(--brand-600); box-shadow:0 0 0 4px rgba(107,104,247,.12); outline:0; }
.imz-otp{ letter-spacing:.6em; text-align:center; font-weight:700; font-size:1.3rem; }
.imz-radio-card{ display:flex; gap:12px; align-items:flex-start; border:1.5px solid #e3e5ee; border-radius:14px; padding:12px 14px; cursor:pointer; background:#fff; transition:border-color .15s, box-shadow .15s; }
.imz-radio-card:has(input:checked){ border-color:var(--brand-600); box-shadow:0 0 0 4px rgba(107,104,247,.10); }
.imz-radio-card input{ margin-top:4px; accent-color:var(--brand-700); }
.imz-radio-card.disabled{ opacity:.55; cursor:not-allowed; }

/* ---------- checkout steps ---------- */
.imz-step{ background:#fff; border-radius:var(--imz-radius); border:1px solid var(--imz-line); margin-bottom:12px; overflow:hidden; }
.imz-step-head{ display:flex; align-items:center; gap:10px; padding:14px 16px; font-weight:700; }
.imz-step-num{ width:28px; height:28px; border-radius:50%; background:#eceef5; color:var(--imz-ink); display:flex; align-items:center; justify-content:center; font-size:.85rem; flex:0 0 auto; }
.imz-step.done .imz-step-num{ background:var(--imz-success); color:#fff; }
.imz-step.active .imz-step-num{ background:var(--accent-grad); color:#fff; }
.imz-step-body{ padding:0 16px 16px; }
.imz-step:not(.active) .imz-step-body{ display:none; }
.imz-step-summary{ font-size:.86rem; color:var(--imz-muted); font-weight:500; margin-left:auto; text-align:right; }
.imz-step-edit{ font-size:.8rem; font-weight:600; color:var(--brand-700); border:0; background:none; }

/* ---------- gallery ---------- */
.imz-gallery{ position:relative; }
.imz-gallery-main{ display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; border-radius:var(--imz-radius); background:#f3f4f8; }
.imz-gallery-main::-webkit-scrollbar{ display:none; }
.imz-gallery-main > *{ flex:0 0 100%; scroll-snap-align:center; aspect-ratio:3/4; position:relative; }
.imz-gallery-main img, .imz-gallery-main video, .imz-gallery-main iframe{ width:100%; height:100%; object-fit:contain; background:#f3f4f8; border:0; }
.imz-gallery-dots{ position:absolute; bottom:10px; left:0; right:0; display:flex; justify-content:center; gap:5px; }
.imz-gallery-dots span{ width:6px; height:6px; border-radius:4px; background:rgba(17,24,39,.25); transition:width .2s; }
.imz-gallery-dots span.on{ width:18px; background:#111827; }
.imz-thumbs{ display:flex; gap:8px; overflow-x:auto; margin-top:10px; scrollbar-width:none; }
.imz-thumbs button{ flex:0 0 64px; height:80px; border-radius:10px; overflow:hidden; border:2px solid transparent; padding:0; background:#f3f4f8; position:relative; }
.imz-thumbs button.on{ border-color:var(--brand-700); }
.imz-thumbs img{ width:100%; height:100%; object-fit:cover; }
.imz-thumbs .play{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#fff; background:rgba(0,0,0,.25); font-size:1.4rem; }

/* variant tiles */
.imz-variants{ display:grid; grid-template-columns:repeat(auto-fill, minmax(70px,1fr)); gap:8px; }
.imz-variant{ border:2px solid transparent; border-radius:12px; padding:0; background:#f3f4f8; overflow:hidden; aspect-ratio:3/4; position:relative; cursor:pointer; }
.imz-variant img{ width:100%; height:100%; object-fit:cover; }
.imz-variant.on{ border-color:var(--brand-700); box-shadow:0 0 0 3px rgba(122,73,240,.15); }
.imz-variant.oos{ opacity:.45; }
.imz-variant small{ position:absolute; bottom:0; left:0; right:0; background:rgba(255,255,255,.92); font-size:.62rem; font-weight:600; padding:2px; text-align:center; }

/* trust row */
.imz-trust{ display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }
@media (min-width:768px){ .imz-trust{ grid-template-columns:repeat(4,1fr); } }
.imz-trust div{ background:#fff; border:1px solid var(--imz-line); border-radius:12px; padding:10px; display:flex; gap:8px; align-items:center; font-size:.8rem; font-weight:600; }
.imz-trust .bi{ font-size:1.2rem; color:var(--brand-700); }

/* bottom sheet (mobile filters etc.) */
.imz-sheet.offcanvas-bottom{ height:auto; max-height:88vh; border-radius:20px 20px 0 0; }
.imz-sheet .offcanvas-body{ padding-bottom:calc(16px + var(--imz-safe-b)); }

/* empty states */
.imz-empty{ text-align:center; padding:48px 16px; }
.imz-empty .bi{ font-size:3rem; background:var(--accent-grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.imz-empty h3{ font-weight:700; margin:12px 0 6px; }

/* order timeline */
.imz-timeline{ list-style:none; padding:0; margin:0; }
.imz-timeline li{ position:relative; padding:0 0 16px 28px; font-size:.9rem; }
.imz-timeline li::before{ content:""; position:absolute; left:7px; top:4px; bottom:-4px; width:2px; background:#e5e7eb; }
.imz-timeline li:last-child::before{ display:none; }
.imz-timeline li::after{ content:""; position:absolute; left:0; top:2px; width:16px; height:16px; border-radius:50%; background:#e5e7eb; border:3px solid #fff; box-shadow:0 0 0 1px #e5e7eb; }
.imz-timeline li.done::after{ background:var(--imz-success); box-shadow:0 0 0 1px var(--imz-success); }
.imz-timeline li.done::before{ background:var(--imz-success); }
.imz-timeline li.current::after{ background:var(--brand-700); box-shadow:0 0 0 4px rgba(122,73,240,.2); }

/* pack builder */
.imz-pack-tray{ position:sticky; bottom:0; z-index:1036; background:#fff; border-top:1px solid var(--imz-line); box-shadow:0 -10px 30px rgba(0,0,0,.08); padding:10px 14px calc(10px + var(--imz-safe-b)); }
.imz-slots{ display:flex; gap:6px; overflow-x:auto; scrollbar-width:none; }
.imz-slot{ flex:0 0 48px; height:60px; border-radius:10px; border:2px dashed #d5d8e4; background:#fafbfe; position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; color:#b7bccb; font-weight:700; font-size:.75rem; }
.imz-slot.filled{ border-style:solid; border-color:var(--brand-600); }
.imz-slot img{ width:100%; height:100%; object-fit:cover; }
.imz-slot button{ position:absolute; top:2px; right:2px; width:18px; height:18px; border-radius:50%; border:0; background:rgba(17,24,39,.75); color:#fff; font-size:.65rem; line-height:1; display:flex; align-items:center; justify-content:center; padding:0; }
.imz-pick{ position:relative; }
.imz-pick .imz-pick-count{ position:absolute; top:8px; left:8px; z-index:3; background:var(--accent-grad); color:#fff; font-weight:700; font-size:.8rem; min-width:26px; height:26px; border-radius:13px; display:flex; align-items:center; justify-content:center; padding:0 6px; box-shadow:0 4px 12px rgba(122,73,240,.4); }
.imz-pick.picked .imz-card{ border-color:var(--brand-600); box-shadow:0 0 0 3px rgba(122,73,240,.15); }

/* utilities */
.imz-hide-scroll{ scrollbar-width:none; } .imz-hide-scroll::-webkit-scrollbar{ display:none; }
.imz-line-clamp-2{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.imz-sr{ position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
@media (prefers-reduced-motion: reduce){ *{ animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

/* catalog */
/* ---------- catalog / search pages (shop.catalog.*, shop.search) ---------- */
.imz-cat{ padding-top:6px; padding-bottom:28px; }
.imz-crumbs ol{ list-style:none; display:flex; flex-wrap:wrap; gap:4px; padding:0; margin:0 0 10px; font-size:.8rem; color:var(--imz-muted); }
.imz-crumbs li + li::before{ content:"\203A"; margin-right:4px; color:#b3b8c6; }
.imz-crumbs a{ color:var(--imz-muted); text-decoration:none; }
.imz-crumbs a:hover{ color:var(--brand-700); }
.imz-crumbs [aria-current]{ color:var(--imz-ink); font-weight:600; }

.imz-cat-banners{ border-radius:var(--imz-radius); overflow:hidden; margin-bottom:14px; background:#eceef5; }
.imz-cat-banners .carousel-item img{ display:block; width:100%; height:auto; aspect-ratio:16/7; object-fit:cover; }
@media (min-width:768px){ .imz-cat-banners .carousel-item img{ aspect-ratio:16/5; } }
.imz-cat-banner-cap{ position:absolute; left:16px; bottom:16px; background:rgba(12,16,33,.7); color:#fff; font-weight:700; padding:8px 12px; border-radius:12px; font-size:clamp(.95rem,2.4vw,1.4rem); max-width:80%; }

.imz-cat-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin:4px 0 12px; }
.imz-cat-head h1{ font-size:clamp(1.3rem, 3.2vw, 2rem); font-weight:700; letter-spacing:-.015em; margin:0 0 4px; line-height:1.2; }
.imz-cat-kicker{ display:inline-block; font-size:.74rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--brand-700); text-decoration:none; margin-bottom:2px; }
.imz-cat-head-img{ width:96px; height:96px; border-radius:20px; object-fit:cover; box-shadow:var(--imz-shadow); flex:0 0 auto; }

/* chip scroller + mobile toolbar (sticky together on mobile) */
.imz-cat-sticky{ margin-bottom:12px; }
@media (max-width:991.98px){
  .imz-cat-sticky{ position:sticky; top:var(--header-h, 64px); z-index:1020; background:rgba(246,247,251,.96); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); margin:0 -16px 12px; padding:8px 16px; border-bottom:1px solid var(--imz-line); }
}
.imz-subchips{ padding:2px 0 4px; }
.imz-subchips .imz-chip{ display:inline-flex; align-items:center; gap:6px; }
.imz-subchips .imz-chip img{ width:24px; height:24px; border-radius:50%; object-fit:cover; margin-left:-6px; background:#eceef5; }
.imz-chip-label{ flex:0 0 auto; align-self:center; font-size:.8rem; font-weight:600; color:var(--imz-muted); }
.imz-cat-bar{ display:flex; gap:8px; margin-top:8px; }
.imz-cat-bar-btn{ flex:1 1 0; min-width:0; display:inline-flex; align-items:center; justify-content:center; gap:6px; height:40px; border-radius:12px; border:1px solid var(--imz-line); background:#fff; color:var(--imz-ink); font-weight:600; font-size:.88rem; text-decoration:none; padding:0 10px; }
.imz-cat-bar-btn.on{ background:var(--imz-ink); color:#fff; border-color:var(--imz-ink); }
.imz-cat-dot{ min-width:20px; height:20px; border-radius:10px; background:var(--accent-grad); color:#fff; font-size:.7rem; display:inline-flex; align-items:center; justify-content:center; padding:0 5px; }

/* layout */
.imz-cat-layout{ display:block; }
@media (min-width:992px){ .imz-cat-layout{ display:grid; grid-template-columns:250px minmax(0,1fr); gap:24px; align-items:start; } }
.imz-cat-side-in{ position:sticky; top:calc(var(--header-h, 72px) + 12px); max-height:calc(100vh - var(--header-h, 72px) - 24px); overflow:auto; background:#fff; border:1px solid var(--imz-line); border-radius:var(--imz-radius); padding:14px; scrollbar-width:thin; }
.imz-cat-side-head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:6px; }
.imz-cat-side-head a{ font-size:.82rem; font-weight:600; color:var(--brand-700); text-decoration:none; }

/* filters */
.imz-filter-group{ border:0; padding:12px 0; margin:0; border-bottom:1px solid var(--imz-line); }
.imz-filter-group:last-of-type{ border-bottom:0; }
.imz-filter-group legend{ font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--imz-muted); margin-bottom:8px; float:none; width:auto; padding:0; }
.imz-filter-pills{ display:flex; flex-wrap:wrap; gap:6px; }
.imz-fpill{ position:relative; cursor:pointer; margin:0; }
.imz-fpill input{ position:absolute; opacity:0; pointer-events:none; }
.imz-fpill span{ display:inline-flex; align-items:center; gap:5px; border:1.5px solid #e3e5ee; border-radius:10px; padding:.38rem .7rem; font-weight:600; font-size:.85rem; background:#fff; }
.imz-fpill small{ font-weight:600; color:#9aa1b2; font-size:.72rem; }
.imz-fpill input:checked + span{ border-color:var(--brand-700); background:var(--brand-50); color:var(--brand-800); }
.imz-fpill input:focus-visible + span{ box-shadow:0 0 0 3px rgba(122,73,240,.25); }
.imz-filter-list{ display:flex; flex-direction:column; gap:2px; }
.imz-fcheck{ display:flex; align-items:center; gap:9px; padding:6px 2px; font-size:.9rem; font-weight:500; cursor:pointer; margin:0; }
.imz-fcheck input{ width:17px; height:17px; accent-color:var(--brand-700); flex:0 0 auto; }
.imz-fcheck small{ margin-left:auto; color:#9aa1b2; font-size:.75rem; }
.imz-filter-range{ display:flex; align-items:center; gap:6px; margin-top:8px; }
.imz-filter-range .imz-input{ padding:.45rem .6rem; font-size:.85rem; min-width:0; border-radius:10px; }
.imz-filter-actions{ display:flex; gap:10px; padding-top:12px; position:sticky; bottom:0; background:#fff; }
.imz-filter-actions .imz-btn{ flex:1; }
.imz-filter-actions.is-auto{ display:none; }

/* toolbar + chips */
.imz-cat-toolbar{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; min-height:36px; }
.imz-cat-total{ font-size:.9rem; color:var(--imz-muted); }
.imz-cat-total b{ color:var(--imz-ink); }
.imz-cat-tools{ display:flex; align-items:center; gap:8px; }
.imz-cat-tools .dropdown-item.active, .imz-cat-tools .dropdown-item:active{ background:var(--brand-50); color:var(--brand-800); font-weight:600; }
.imz-seg{ background:#eceef5; border-radius:11px; padding:3px; gap:2px; }
.imz-seg a{ padding:.36rem .75rem; border-radius:9px; font-size:.82rem; font-weight:600; color:var(--imz-muted); text-decoration:none; }
.imz-seg a.on{ background:#fff; color:var(--imz-ink); box-shadow:0 1px 3px rgba(0,0,0,.08); }
.imz-active-chips{ margin-bottom:12px; align-items:center; }
.imz-chip-x{ display:inline-flex; align-items:center; gap:6px; background:var(--brand-50); border-color:var(--brand-200); color:var(--brand-800); }
.imz-chip-x .bi{ font-size:.7rem; }
.imz-chip-clear{ flex:0 0 auto; font-size:.84rem; font-weight:600; color:var(--imz-danger); text-decoration:none; padding:0 6px; white-space:nowrap; }
.imz-cat-more{ text-align:center; padding:18px 0 4px; }
.imz-cat-skel{ margin-top:10px; }
@media (min-width:576px){ .imz-cat-skel{ margin-top:14px; } }
.imz-sort-list{ display:flex; flex-direction:column; }
.imz-sort-list a{ display:flex; justify-content:space-between; align-items:center; padding:14px 4px; border-bottom:1px solid var(--imz-line); color:var(--imz-ink); text-decoration:none; font-weight:600; }
.imz-sort-list a.on{ color:var(--brand-700); font-weight:700; }
.imz-sort-list a:last-child{ border-bottom:0; }

/* below the grid */
.imz-cat-packs-cta{ display:flex; align-items:center; gap:12px; margin:22px 0 0; padding:14px 16px; border-radius:var(--imz-radius); background:linear-gradient(90deg, var(--brand-50), #f5f0ff); border:1px solid var(--brand-200); color:var(--imz-ink); text-decoration:none; }
.imz-cat-packs-ic{ width:42px; height:42px; border-radius:12px; background:var(--accent-grad); color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.2rem; flex:0 0 auto; }
.imz-cat-about{ margin-top:24px; background:#fff; border:1px solid var(--imz-line); border-radius:var(--imz-radius); padding:18px; }
.imz-rich{ color:#3a4053; font-size:.93rem; line-height:1.65; position:relative; }
.imz-rich h1, .imz-rich h2, .imz-rich h3{ font-size:1.08rem; font-weight:700; color:var(--imz-ink); margin:1rem 0 .4rem; }
.imz-rich > :first-child{ margin-top:0; }
.imz-rich.is-collapsed{ max-height:9.5em; overflow:hidden; }
.imz-rich.is-collapsed::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:3.5em; background:linear-gradient(rgba(255,255,255,0), #fff); }
.imz-rich-toggle{ border:0; background:none; color:var(--brand-700); font-weight:700; font-size:.88rem; padding:8px 0 0; }
.imz-cat-faq{ margin-top:18px; }
.imz-cat-faq h2{ font-size:1.15rem; font-weight:700; margin-bottom:10px; }
.imz-cat-faq details{ background:#fff; border:1px solid var(--imz-line); border-radius:12px; padding:12px 14px; margin-bottom:8px; }
.imz-cat-faq summary{ font-weight:600; cursor:pointer; }
.imz-cat-faq details > div{ margin-top:8px; color:#3a4053; font-size:.92rem; }

/* /catalog */
.imz-catx{ background:#fff; border:1px solid var(--imz-line); border-radius:var(--imz-radius); padding:14px; margin-bottom:14px; scroll-margin-top:calc(var(--header-h, 72px) + 12px); }
.imz-catx-head{ display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--imz-ink); margin-bottom:12px; }
.imz-catx-head img{ width:56px; height:56px; border-radius:14px; object-fit:cover; background:#eceef5; flex:0 0 auto; }
.imz-catx-title{ min-width:0; }
.imz-catx-title h2{ font-size:1.15rem; font-weight:700; margin:0; }
.imz-catx-all{ margin-left:auto; font-weight:600; font-size:.86rem; color:var(--brand-700); white-space:nowrap; }
.imz-tiles{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:10px; }
@media (min-width:576px){ .imz-tiles{ grid-template-columns:repeat(4, minmax(0,1fr)); } }
@media (min-width:768px){ .imz-tiles{ grid-template-columns:repeat(6, minmax(0,1fr)); } }
@media (min-width:1200px){ .imz-tiles{ grid-template-columns:repeat(8, minmax(0,1fr)); } }
.imz-tile{ display:flex; flex-direction:column; align-items:center; gap:6px; text-decoration:none; color:var(--imz-ink); text-align:center; }
.imz-tile img, .imz-tile-ph{ width:100%; aspect-ratio:1/1; border-radius:16px; object-fit:cover; background:linear-gradient(135deg,#eef1ff,#f4ecff); transition:transform .2s ease, box-shadow .2s ease; }
.imz-tile-ph{ display:flex; align-items:center; justify-content:center; font-size:1.6rem; font-weight:700; color:var(--brand-700); }
.imz-tile:hover img, .imz-tile:hover .imz-tile-ph{ transform:translateY(-2px); box-shadow:var(--imz-shadow); }
.imz-tile-name{ font-size:.78rem; font-weight:600; line-height:1.25; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.imz-tiles-sm{ grid-template-columns:repeat(4, minmax(0,1fr)); }
.imz-packs-band{ display:grid; gap:14px; align-items:center; background:var(--imz-ink); color:#fff; border-radius:var(--imz-radius); padding:16px; margin-bottom:14px; overflow:hidden; }
@media (min-width:992px){ .imz-packs-band{ grid-template-columns:260px minmax(0,1fr); padding:20px; } }
.imz-packs-band h2{ font-weight:700; font-size:1.35rem; margin:8px 0 4px; }
.imz-packs-band p{ color:#c3c7d6; font-size:.9rem; margin-bottom:10px; }
.imz-pack-mini{ display:flex; flex-direction:column; gap:6px; background:#fff; color:var(--imz-ink); border-radius:14px; padding:8px; text-decoration:none; border:1px solid var(--imz-line); font-size:.82rem; font-weight:600; }
.imz-pack-mini img{ width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:10px; background:#eceef5; }
.imz-cat-cards{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px; }
@media (min-width:768px){ .imz-cat-cards{ grid-template-columns:repeat(5, minmax(0,1fr)); } }
.imz-cat-card{ position:relative; display:flex; flex-direction:column; gap:8px; background:#fff; border:1px solid var(--imz-line); border-radius:var(--imz-radius); padding:10px; text-decoration:none; color:var(--imz-ink); font-weight:600; text-align:center; }
.imz-cat-card img{ width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:12px; background:#eceef5; }
.imz-cat-card.is-soon{ cursor:default; }
.imz-cat-card.is-soon img{ filter:grayscale(.7); opacity:.65; }
.imz-cat-card.is-soon em{ position:absolute; top:16px; left:50%; transform:translateX(-50%); font-style:normal; white-space:nowrap; }
.imz-soon{ text-align:center; background:#fff; border:1px solid var(--imz-line); border-radius:var(--imz-radius); padding:32px 16px; margin-bottom:8px; }
.imz-soon img{ width:120px; height:120px; border-radius:24px; object-fit:cover; display:block; margin:0 auto 14px; }
.imz-soon h1{ font-weight:700; font-size:clamp(1.4rem,3.6vw,2rem); margin:10px 0 6px; }
.imz-soon p{ max-width:520px; margin:0 auto 16px; }

/* search */
.imz-search-box{ display:flex; align-items:center; gap:8px; background:#fff; border:1.5px solid #e3e5ee; border-radius:14px; padding:6px 6px 6px 14px; margin:4px 0 12px; }
.imz-search-box:focus-within{ border-color:var(--brand-600); box-shadow:0 0 0 4px rgba(107,104,247,.12); }
.imz-search-box .bi-search{ color:var(--imz-muted); }
.imz-search-box input{ flex:1; min-width:0; border:0; outline:0; font-size:1rem; background:transparent; padding:6px 0; }
.imz-search-box input::-webkit-search-cancel-button{ display:none; }
.imz-search-clear{ color:#b3b8c6; text-decoration:none; }
.imz-search-packs{ margin-bottom:16px; }
.imz-search-packs h2{ font-size:1.05rem !important; }

/* packs */
.imz-pk-crumbs{ font-size:.8rem; color:var(--imz-muted); margin-bottom:12px; display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.imz-pk-crumbs a{ color:var(--imz-muted); text-decoration:none; } .imz-pk-crumbs a:hover{ color:var(--brand-700); }
.imz-pk-crumbs .bi{ font-size:.65rem; }
/* index hero */
.imz-pk-hero{ position:relative; display:grid; gap:18px; align-items:center; background:#fff; border:1px solid var(--imz-line); border-radius:22px; padding:22px 18px; overflow:hidden; }
.imz-pk-hero::before{ content:""; position:absolute; inset:-40% -20% auto auto; width:360px; height:360px; background:var(--accent-grad); opacity:.10; border-radius:50%; filter:blur(10px); pointer-events:none; }
@media (min-width:992px){ .imz-pk-hero{ grid-template-columns:1.25fr 1fr; padding:40px 44px; } }
.imz-pk-eyebrow{ display:inline-flex; gap:6px; align-items:center; font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--brand-700); background:var(--brand-50); padding:.3rem .65rem; border-radius:999px; }
.imz-pk-hero h1{ font-size:clamp(1.5rem, 4.2vw, 2.6rem); font-weight:700; letter-spacing:-.02em; line-height:1.12; margin:12px 0 10px; }
.imz-pk-hero-grad{ background:var(--accent-grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.imz-pk-hero p{ color:var(--imz-muted); font-size:1rem; max-width:560px; margin-bottom:16px; }
.imz-pk-hero-art{ display:none; position:relative; height:260px; }
@media (min-width:768px){ .imz-pk-hero-art{ display:block; } }
.imz-pk-hero-art img{ position:absolute; width:200px; height:200px; object-fit:cover; border-radius:18px; box-shadow:var(--imz-shadow-lg); border:4px solid #fff; background:#f3f4f8; }
.imz-pk-hero-art img:nth-child(1){ left:4%; top:30px; transform:rotate(-8deg); }
.imz-pk-hero-art img:nth-child(2){ left:32%; top:0; z-index:2; transform:rotate(3deg); }
.imz-pk-hero-art img:nth-child(3){ left:58%; top:44px; transform:rotate(10deg); }
.imz-pk-steps{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:8px; }
.imz-pk-steps li{ background:#fff; border:1px solid var(--imz-line); border-radius:14px; padding:12px; display:flex; flex-direction:column; gap:8px; }
@media (min-width:768px){ .imz-pk-steps{ gap:14px; } .imz-pk-steps li{ flex-direction:row; align-items:center; padding:16px; } }
.imz-pk-steps b{ display:block; font-size:.88rem; } .imz-pk-steps small{ display:block; color:var(--imz-muted); font-size:.74rem; line-height:1.3; }
.imz-pk-step-n{ flex:0 0 auto; width:32px; height:32px; border-radius:50%; background:var(--accent-grad); color:#fff; font-weight:700; display:flex; align-items:center; justify-content:center; }
/* pack card */
.imz-pk-card-img{ aspect-ratio:1/1; }
.imz-pk-count-tag{ position:absolute; right:8px; bottom:8px; z-index:2; background:rgba(255,255,255,.94); color:var(--imz-ink); border-radius:999px; font-size:.72rem; font-weight:600; padding:.2rem .55rem; box-shadow:0 2px 8px rgba(0,0,0,.08); }
.imz-pk-per{ font-size:.78rem; font-weight:600; color:var(--imz-success); }
.imz-pk-card .imz-add{ text-decoration:none; }
.imz-pk-card .imz-add:hover{ color:#fff; }
/* FAQ */
.imz-pk-faq details{ background:#fff; border:1px solid var(--imz-line); border-radius:12px; margin-bottom:8px; }
.imz-pk-faq summary{ list-style:none; cursor:pointer; padding:13px 14px; font-weight:600; font-size:.93rem; display:flex; justify-content:space-between; gap:10px; align-items:center; }
.imz-pk-faq summary::-webkit-details-marker{ display:none; }
.imz-pk-faq summary .bi{ transition:transform .2s; color:var(--imz-muted); }
.imz-pk-faq details[open] summary .bi{ transform:rotate(180deg); }
.imz-pk-faq p{ padding:0 14px 14px; margin:0; color:var(--imz-muted); font-size:.9rem; }
.imz-panel .imz-pk-faq details{ border-left:0; border-right:0; border-top:0; border-radius:0; margin:0; }
.imz-panel .imz-pk-faq details:last-child{ border-bottom:0; }
.imz-panel .imz-pk-faq summary, .imz-panel .imz-pk-faq p{ padding-left:0; padding-right:0; }
/* detail page */
.imz-pk-gallery .imz-gallery-main > *{ aspect-ratio:1/1; }
.imz-pk-collage{ position:absolute; inset:0; display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; gap:6px; padding:6px; background:var(--accent-grad); }
.imz-pk-collage img{ width:100%; height:100%; object-fit:cover !important; border-radius:10px; background:#f3f4f8; min-height:0; }
.imz-pk-collage.n3 img:first-child{ grid-row:span 2; }
.imz-pk-collage.n2{ grid-template-rows:1fr; }
.imz-card-img .imz-pk-collage{ gap:4px; padding:4px; }
.imz-card-img .imz-pk-collage img{ position:static; border-radius:8px; }
@media (max-width:991.98px){ .imz-pk-gallery{ max-width:520px; margin:0 auto; } }
.imz-pk-title{ font-size:clamp(1.25rem, 3vw, 1.9rem); font-weight:700; letter-spacing:-.01em; line-height:1.2; margin:0 0 10px; }
.imz-pk-rule{ display:inline-flex; gap:6px; align-items:center; background:var(--brand-50); color:var(--brand-800); border-radius:999px; font-size:.8rem; font-weight:600; padding:.3rem .7rem; }
.imz-pk-rule.soft{ background:#fff4e5; color:#9a4d00; }
.imz-pk-price{ display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; }
.imz-pk-price b{ font-size:1.8rem; font-weight:700; letter-spacing:-.01em; }
.imz-pk-price .imz-strike{ font-size:1rem; }
.imz-pk-summary .imz-pk-per{ font-size:.88rem; margin-top:2px; }
.imz-pk-summary .imz-pk-per .imz-muted{ font-weight:500; }
.imz-pk-highlights{ list-style:none; padding:0; margin:14px 0 0; display:grid; gap:6px; }
.imz-pk-highlights li{ display:flex; gap:8px; align-items:flex-start; font-size:.9rem; font-weight:600; }
.imz-pk-highlights .bi{ color:var(--imz-success); margin-top:2px; }
.imz-pk-short{ color:var(--imz-muted); margin:12px 0 0; font-size:.92rem; }
.imz-pk-soldout{ margin-top:12px; background:#fff1f2; border:1px solid #fecdd3; color:#9f1239; border-radius:12px; padding:10px 12px; font-weight:600; font-size:.9rem; display:flex; gap:8px; align-items:center; }
.imz-pk-h{ font-size:1rem; font-weight:700; margin:0 0 12px; display:flex; gap:8px; align-items:center; }
.imz-pk-desc{ font-size:.93rem; color:#2b3044; overflow-wrap:anywhere; }
.imz-pk-desc ul{ padding-left:1.1rem; } .imz-pk-desc p:last-child{ margin-bottom:0; }
.imz-pk-dl{ display:grid; grid-template-columns:auto 1fr; gap:8px 14px; margin:0; font-size:.9rem; }
.imz-pk-dl dt{ color:var(--imz-muted); font-weight:600; } .imz-pk-dl dd{ margin:0; font-weight:600; }
/* builder */
.imz-pk-builder{ scroll-margin-top:12px; }
.imz-pk-builder-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:10px; margin-bottom:12px; }
.imz-pk-builder-head h2{ font-size:clamp(1.15rem, 2.4vw, 1.5rem); font-weight:700; margin:0 0 2px; }
.imz-pk-builder-head .imz-btn{ white-space:nowrap; }
.imz-pk-filters{ position:sticky; top:0; z-index:20; background:#f6f7fb; padding:8px 0 10px; display:grid; gap:8px; margin-bottom:6px; }
.imz-pk-search{ position:relative; display:block; margin:0; }
.imz-pk-search .bi{ position:absolute; left:14px; top:50%; transform:translateY(-50%); color:var(--imz-muted); pointer-events:none; }
.imz-pk-search .imz-input{ padding-left:40px; height:44px; }
.imz-pk-chip-count{ font-size:.72rem; opacity:.85; margin-left:2px; }
.imz-pk-lock{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-size:.86rem; font-weight:600; background:#fff; border:1px solid var(--imz-line); border-radius:12px; padding:8px 12px; }
.imz-pk-lock[hidden]{ display:none; }
.imz-pk-lock .bi{ color:var(--brand-700); }
.imz-pk-link{ border:0; background:none; padding:0; color:var(--brand-700); font-weight:600; text-decoration:underline; text-underline-offset:2px; cursor:pointer; font-size:.86rem; }
.imz-pk-link[hidden]{ display:none; }
.imz-pk-grid .imz-card-img{ border:0; padding:0; width:100%; cursor:pointer; }
.imz-pk-tap:focus-visible, .imz-pick .imz-add:focus-visible, .imz-pick .imz-stepper button:focus-visible, .imz-slot button:focus-visible, .imz-pk-cta:focus-visible, .imz-pk-link:focus-visible{ outline:3px solid var(--brand-600); outline-offset:2px; }
.imz-pk-size{ position:absolute; left:8px; bottom:8px; z-index:2; background:rgba(17,24,39,.78); color:#fff; font-size:.68rem; font-weight:700; border-radius:6px; padding:.12rem .4rem; letter-spacing:.02em; }
.imz-pk-name{ min-height:2.6em; }
.imz-pick .imz-pick-count{ animation:imzPkPop .25s ease; }
.imz-pick .imz-pick-count[hidden]{ display:none; }
.imz-pick .imz-stepper{ height:40px; }
.imz-pick.blocked .imz-card-img img{ opacity:.55; filter:grayscale(.4); }
.imz-pick .imz-add.is-blocked, .imz-pick .imz-stepper .is-blocked{ opacity:.45; }
.imz-pick.picked .imz-card-img::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(122,73,240,.16), transparent 45%); pointer-events:none; }
@keyframes imzPkPop{ 0%{ transform:scale(.4); } 70%{ transform:scale(1.15); } 100%{ transform:scale(1); } }
.imz-pk-skel{ display:flex; flex-direction:column; gap:8px; background:#fff; border:1px solid var(--imz-line); border-radius:var(--imz-radius); padding:0 0 12px; overflow:hidden; }
.imz-pk-skel .imz-skel:nth-child(1){ aspect-ratio:3/4; border-radius:0; }
.imz-pk-skel .imz-skel:nth-child(2){ height:12px; margin:4px 10px 0; }
.imz-pk-skel .imz-skel:nth-child(3){ height:40px; margin:6px 10px 0; }
.imz-pk-sentinel{ height:1px; }
/* fixed set */
.imz-pk-inside-item{ margin:0; background:#fff; border:1px solid var(--imz-line); border-radius:14px; overflow:hidden; }
.imz-pk-inside-item img{ width:100%; aspect-ratio:3/4; object-fit:cover; display:block; background:#f3f4f8; height:auto; }
.imz-pk-inside-item figcaption{ padding:8px 10px; display:flex; gap:6px; align-items:flex-start; justify-content:space-between; font-size:.8rem; font-weight:600; }
.imz-pk-inside-item .imz-pk-name{ min-height:0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.imz-pk-inside-item .imz-pk-size{ position:static; flex:0 0 auto; }
/* sticky tray: fixed to the viewport on the pack page; body.imz-has-sticky hides the bottom nav */
.imz-pk-tray{ position:fixed; left:0; right:0; bottom:0; padding:8px 0 calc(8px + var(--imz-safe-b)); }
.imz-pk-tray-in{ max-width:1280px; margin:0 auto; padding:0 14px; display:grid; gap:8px; }
@media (min-width:992px){ .imz-pk-tray-in{ grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:18px; } }
.imz-pk-tray .imz-slots{ padding:2px 0; }
.imz-pk-tray .imz-slot{ flex-basis:44px; height:56px; transition:border-color .2s; }
.imz-pk-tray .imz-slot.filled{ animation:imzPkPop .25s ease; }
.imz-pk-tray .imz-slot em{ position:absolute; left:0; right:0; bottom:0; background:rgba(17,24,39,.7); color:#fff; font-style:normal; font-size:.55rem; font-weight:700; text-align:center; line-height:1.4; }
.imz-pk-tray .imz-slot button{ width:20px; height:20px; font-size:.8rem; }
.imz-pk-tray-row{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.imz-pk-tray-info{ min-width:0; display:flex; flex-direction:column; gap:2px; }
.imz-pk-tray-count{ font-weight:700; font-size:.86rem; white-space:nowrap; }
.imz-pk-tray-bar{ height:5px; width:120px; }
.imz-pk-tray-sizes{ font-size:.72rem; font-weight:600; color:var(--imz-muted); white-space:nowrap; }
.imz-pk-tray-sizes .done{ color:var(--imz-success); }
.imz-pk-tray-price b{ font-size:1.02rem; font-weight:700; } .imz-pk-tray-price .imz-strike{ font-size:.78rem; margin-left:4px; }
.imz-pk-tray-actions{ display:flex; flex-direction:column; align-items:flex-end; gap:4px; flex:0 0 auto; }
.imz-pk-tray-actions .imz-pk-link{ font-size:.78rem; }
.imz-pk-cta{ min-width:156px; padding:.8rem 1.1rem; }
.imz-pk-cta.is-incomplete{ background:#e8e9f1; color:#4b5168; box-shadow:none; }
.imz-pk-cta.is-incomplete:hover{ color:#4b5168; }
@media (min-width:992px){ .imz-pk-tray-row{ gap:22px; } .imz-pk-tray-actions{ flex-direction:row-reverse; align-items:center; gap:16px; } .imz-pk-cta{ min-width:200px; } }
body.imz-pk-page{ padding-bottom:150px; }
body.imz-pk-page .imz-toasts{ bottom:calc(150px + var(--imz-safe-b)); }
@media (min-width:992px){ body.imz-pk-page{ padding-bottom:110px; } body.imz-pk-page .imz-toasts{ bottom:110px; } }
body.imz-pk-page.imz-has-sticky .wa-fab{ bottom:calc(160px + var(--imz-safe-b)); }
@media (min-width:992px){ body.imz-pk-page.imz-has-sticky .wa-fab{ bottom:112px; } }
.imz-tile img, .imz-cat-card img, .imz-pack-mini img, .imz-soon img{ height:auto; }
.imz-cat, .imz-cat-main, .imz-cat-sticky{ min-width:0; }

/* layout & home */
/* ---------- skip link / announcement ---------- */
.imz-skip{ position:absolute; left:-999px; top:8px; z-index:3000; background:#111827; color:#fff; padding:8px 14px; border-radius:10px; font-weight:600; }
.imz-skip:focus{ left:8px; color:#fff; }
.imz-announce{ background:#0c1021; color:#fff; overflow:hidden; font-size:.78rem; font-weight:600; letter-spacing:.02em; }
.imz-announce-track{ display:flex; width:max-content; animation:imzMarquee 38s linear infinite; }
.imz-announce:hover .imz-announce-track{ animation-play-state:paused; }
.imz-announce-list{ display:flex; gap:42px; list-style:none; margin:0; padding:8px 21px; white-space:nowrap; }
.imz-announce-list .bi{ color:#c4b5fd; }
@keyframes imzMarquee{ to{ transform:translateX(-50%); } }

/* ---------- header ---------- */
.imz-header{ position:sticky; top:0; z-index:1030; background:rgba(255,255,255,.86); backdrop-filter:saturate(170%) blur(14px); -webkit-backdrop-filter:saturate(170%) blur(14px); border-bottom:1px solid var(--imz-line); transition:box-shadow .2s ease; }
.imz-header.scrolled{ box-shadow:0 8px 24px rgba(17,24,39,.08); }
.imz-header::after{ content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:var(--accent-grad); opacity:0; transition:opacity .2s; }
.imz-header.scrolled::after{ opacity:.9; }
.imz-header-inner{ display:flex; align-items:center; gap:10px; height:60px; }
@media (min-width:992px){ .imz-header-inner{ height:70px; gap:20px; } }
.imz-logo{ display:inline-flex; align-items:center; flex:0 0 auto; }
.imz-logo img{ height:34px; width:auto; }
@media (min-width:992px){ .imz-logo img{ height:40px; } }
.imz-icon-btn{ position:relative; display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:12px; border:0; background:transparent; color:var(--imz-ink); font-size:1.3rem; text-decoration:none; transition:background .15s; }
.imz-icon-btn:hover{ background:rgba(122,73,240,.08); color:var(--imz-ink); }
.imz-count{ position:absolute; top:3px; right:2px; min-width:18px; height:18px; padding:0 5px; border-radius:9px; background:var(--accent-grad); color:#fff; font-size:.66rem; font-weight:700; display:flex; align-items:center; justify-content:center; box-shadow:0 2px 6px rgba(122,73,240,.35); }
.imz-count.d-none{ display:none!important; }
.imz-header-actions{ display:flex; align-items:center; gap:2px; margin-left:auto; }
@media (min-width:992px){ .imz-header-actions{ margin-left:0; } }

.imz-nav{ align-items:center; gap:2px; }
.imz-nav-link{ position:relative; display:inline-flex; align-items:center; gap:4px; padding:8px 12px; border:0; background:none; border-radius:10px; font-weight:600; font-size:.93rem; color:var(--imz-ink); text-decoration:none; white-space:nowrap; }
.imz-nav-link .bi{ font-size:.7rem; transition:transform .2s; }
.imz-nav-link:hover{ color:var(--brand-700); background:rgba(122,73,240,.06); }
.imz-nav-link.active::after{ content:""; position:absolute; left:12px; right:12px; bottom:2px; height:2px; border-radius:2px; background:var(--accent-grad); }

/* mega menu */
.imz-mega-wrap{ position:relative; }
.imz-mega{ position:absolute; top:calc(100% + 10px); left:-12px; width:min(860px, 92vw); background:#fff; border:1px solid var(--imz-line); border-radius:20px; box-shadow:var(--imz-shadow-lg); padding:20px; opacity:0; visibility:hidden; transform:translateY(6px); transition:opacity .18s ease, transform .18s ease, visibility .18s; z-index:1040; }
.imz-mega::before{ content:""; position:absolute; left:0; right:0; top:-14px; height:14px; }
.imz-mega-wrap:hover .imz-mega, .imz-mega-wrap.open .imz-mega{ opacity:1; visibility:visible; transform:none; }
.imz-mega-wrap:hover .imz-nav-link .bi, .imz-mega-wrap.open .imz-nav-link .bi{ transform:rotate(180deg); }
.imz-mega-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); gap:18px; }
.imz-mega-title{ display:block; font-weight:700; font-size:.95rem; color:var(--imz-ink); text-decoration:none; margin-bottom:8px; }
.imz-mega-title:hover{ color:var(--brand-700); }
.imz-mega-col ul{ list-style:none; padding:0; margin:0; }
.imz-mega-col li a{ display:block; padding:4px 0; font-size:.88rem; color:var(--imz-muted); text-decoration:none; transition:transform .15s, color .15s; }
.imz-mega-col li a:hover{ color:var(--brand-700); transform:translateX(2px); }
.imz-mega-more{ font-weight:600; color:var(--brand-700)!important; }
.imz-mega-promo{ display:flex; flex-direction:column; justify-content:flex-end; gap:4px; min-height:190px; padding:18px; border-radius:16px; color:#fff; text-decoration:none; background:radial-gradient(120% 90% at 100% 0%, rgba(255,255,255,.25), transparent 55%), var(--accent-grad); box-shadow:0 14px 34px rgba(122,73,240,.3); }
.imz-mega-promo:hover{ color:#fff; filter:brightness(1.05); }
.imz-mega-promo strong{ font-size:1.15rem; line-height:1.2; }
.imz-mega-promo span{ font-size:.85rem; opacity:.92; }
.imz-mega-promo .imz-btn{ align-self:flex-start; opacity:1; }
.imz-mega-promo-kicker{ text-transform:uppercase; letter-spacing:.08em; font-size:.7rem!important; font-weight:700; }
.imz-mega-foot{ display:flex; gap:18px; flex-wrap:wrap; border-top:1px solid var(--imz-line); margin-top:16px; padding-top:12px; }
.imz-mega-foot a{ font-size:.86rem; font-weight:600; color:var(--imz-ink); text-decoration:none; }
.imz-mega-foot a:hover{ color:var(--brand-700); }

/* search */
.imz-search{ position:relative; flex:1 1 auto; max-width:440px; margin-left:auto; }
.imz-search > .bi-search{ position:absolute; left:14px; top:50%; transform:translateY(-50%); color:var(--imz-muted); pointer-events:none; }
.imz-search input{ width:100%; height:44px; border-radius:999px; border:1.5px solid transparent; background:rgba(12,16,33,.05); padding:0 16px 0 40px; font-size:.92rem; color:var(--imz-ink); transition:border-color .15s, background .15s, box-shadow .15s; }
.imz-search input:focus{ outline:0; background:#fff; border-color:var(--brand-600); box-shadow:0 0 0 4px rgba(107,104,247,.12); }
.imz-search-results{ position:absolute; top:calc(100% + 8px); left:0; right:0; background:#fff; border:1px solid var(--imz-line); border-radius:18px; box-shadow:var(--imz-shadow-lg); padding:8px; max-height:min(70vh, 520px); overflow:auto; z-index:1050; }
.imz-search-results[hidden]{ display:none; }
.imz-sr-head{ font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--imz-muted); padding:8px 8px 4px; }
.imz-sr-item{ display:flex; align-items:center; gap:10px; padding:7px 8px; border-radius:12px; color:var(--imz-ink); text-decoration:none; }
.imz-sr-item:hover, .imz-sr-item.active{ background:var(--brand-50); color:var(--imz-ink); }
.imz-sr-item img{ width:44px; height:58px; object-fit:cover; border-radius:8px; background:#f3f4f8; flex:0 0 auto; }
.imz-sr-text{ flex:1; min-width:0; display:flex; flex-direction:column; }
.imz-sr-name{ font-weight:600; font-size:.88rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.imz-sr-text small{ color:var(--imz-muted); font-size:.74rem; }
.imz-sr-price{ text-align:right; font-size:.85rem; white-space:nowrap; display:flex; flex-direction:column; }
.imz-sr-price s{ color:#9aa1b2; font-size:.74rem; }
.imz-sr-cats{ display:flex; flex-wrap:wrap; gap:6px; padding:4px 8px 6px; }
.imz-sr-cats .imz-sr-item{ padding:.38rem .8rem; border-radius:999px; }
.imz-sr-cats .imz-sr-item.active{ background:var(--accent-grad); color:#fff; }
.imz-sr-empty{ padding:14px 10px; color:var(--imz-muted); font-size:.9rem; }
.imz-sr-all{ justify-content:center; font-weight:600; color:var(--brand-700); border-top:1px solid var(--imz-line); border-radius:0 0 12px 12px; margin-top:6px; padding:10px; }

/* mobile search sheet */
.imz-search-sheet.offcanvas-top{ height:100%; height:100dvh; border:0; overflow-y:auto; }
.imz-search-mobile{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; max-width:none; margin:0; padding:10px 12px; border-bottom:1px solid var(--imz-line); }
.imz-search-mobile input{ flex:1; width:auto; padding-left:16px; }
.imz-search-mobile .imz-search-results{ position:static; flex-basis:100%; border:0; box-shadow:none; max-height:none; padding:4px 0 24px; border-radius:0; }
.imz-search-popular{ padding:14px 16px; }
.imz-search-popular[hidden]{ display:none; }

/* mobile menu */
.imz-menu.offcanvas{ width:min(340px, 88vw); border-radius:0 22px 22px 0; }
.imz-menu .offcanvas-body{ padding-top:0; }
.imz-menu-quick{ display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-bottom:8px; }
.imz-menu-quick a{ display:flex; flex-direction:column; align-items:center; gap:4px; padding:12px 4px; border-radius:14px; background:var(--brand-50); color:var(--imz-ink); font-size:.74rem; font-weight:600; text-decoration:none; }
.imz-menu-quick .bi{ font-size:1.3rem; color:var(--brand-700); }
.imz-menu-label{ font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--imz-muted); margin:16px 0 6px; }
.imz-menu-group{ border-bottom:1px solid var(--imz-line); }
.imz-menu-group summary{ list-style:none; display:flex; justify-content:space-between; align-items:center; padding:12px 2px; font-weight:600; cursor:pointer; }
.imz-menu-group summary::-webkit-details-marker{ display:none; }
.imz-menu-group summary .bi{ transition:transform .2s; font-size:.8rem; }
.imz-menu-group[open] summary .bi{ transform:rotate(180deg); }
.imz-menu-group ul{ list-style:none; padding:0 0 10px 6px; margin:0; display:grid; grid-template-columns:1fr 1fr; gap:2px 10px; }
.imz-menu-group li a{ display:block; padding:6px 0; color:var(--imz-muted); font-size:.88rem; text-decoration:none; }
.imz-menu-link{ display:flex; align-items:center; gap:10px; padding:11px 2px; color:var(--imz-ink); font-weight:600; text-decoration:none; border-bottom:1px solid var(--imz-line); }
.imz-menu-link .bi{ color:var(--brand-700); font-size:1.1rem; }
.imz-menu-note{ font-size:.8rem; color:var(--imz-muted); margin-top:12px; }

/* bottom nav (extends base rules above) */
.imz-bottom-nav a span:not(.imz-dot){ line-height:1; }
.imz-bottom-nav a.active::before{ content:""; position:absolute; top:0; left:30%; right:30%; height:3px; border-radius:0 0 3px 3px; background:var(--accent-grad); }

/* WhatsApp FAB — sits above the bottom nav / sticky bars on mobile */
.wa-fab{ position:fixed; right:14px; bottom:calc(var(--imz-bottom-nav-h) + 14px + var(--imz-safe-b)); width:52px; height:52px; display:grid; place-items:center; border-radius:50%; background:#25D366; color:#fff; box-shadow:0 12px 24px rgba(0,0,0,.18); z-index:1034; text-decoration:none; transition:transform .15s ease; }
.wa-fab:hover{ color:#fff; transform:translateY(-2px); }
.wa-fab i{ font-size:25px; line-height:1; }
body.imz-has-sticky .wa-fab, body.imz-pk-page .wa-fab{ bottom:calc(96px + var(--imz-safe-b)); }
@media (min-width:992px){ .wa-fab, body.imz-has-sticky .wa-fab{ right:24px; bottom:24px; width:56px; height:56px; } }

/* cookie notice (non-blocking) */
.imz-cookie{ position:fixed; left:12px; right:12px; bottom:calc(var(--imz-bottom-nav-h) + 12px + var(--imz-safe-b)); z-index:1033; max-width:560px; margin:0 auto; background:#fff; border:1px solid var(--imz-line); border-radius:16px; box-shadow:var(--imz-shadow-lg); padding:12px 14px; display:flex; flex-wrap:wrap; gap:10px; align-items:center; font-size:.84rem; color:var(--imz-muted); }
.imz-cookie p{ flex:1 1 240px; }
.imz-cookie-actions{ display:flex; gap:8px; }
body.imz-has-sticky .imz-cookie{ display:none; }
@media (min-width:992px){ .imz-cookie{ bottom:20px; left:20px; right:auto; } }

/* footer */
.imz-footer{ margin-top:40px; }
.imz-footer-news{ display:flex; flex-wrap:wrap; gap:16px; align-items:center; justify-content:space-between; margin:28px 0 8px; padding:20px; border-radius:20px; background:radial-gradient(600px 200px at 0% 0%, rgba(122,168,255,.18), transparent), radial-gradient(600px 200px at 100% 100%, rgba(122,73,240,.14), transparent), #fff; border:1px solid var(--imz-line); }
.imz-footer-news .neo-newsletter{ flex:1 1 320px; max-width:460px; margin:0; }
.imz-footer-grid{ padding:24px 0 8px; }
.imz-footer-logo{ height:40px; width:auto; }
.imz-socials{ display:flex; gap:8px; }
.imz-socials a{ width:40px; height:40px; border-radius:12px; display:grid; place-items:center; background:var(--brand-50); color:var(--brand-800); font-size:1.1rem; text-decoration:none; transition:transform .15s, background .15s, color .15s; }
.imz-socials a:hover{ background:var(--accent-grad); color:#fff; transform:translateY(-2px); }
.imz-contact-list{ display:flex; flex-direction:column; gap:8px; font-style:normal; font-size:.9rem; }
.imz-contact-list a, .imz-contact-list span{ color:var(--imz-ink); text-decoration:none; display:flex; gap:8px; align-items:flex-start; }
.imz-contact-list a:hover{ color:var(--brand-700); }
.imz-contact-list .bi{ color:var(--brand-700); margin-top:2px; }
.imz-pay{ display:flex; flex-wrap:wrap; gap:6px; margin-top:14px; }
.imz-pay span{ font-size:.7rem; font-weight:700; letter-spacing:.02em; padding:5px 9px; border-radius:8px; border:1px solid var(--imz-line); background:#fff; color:#374151; }

/* ================= home ================= */
.imz-h-section{ padding:22px 0; }
@media (min-width:992px){ .imz-h-section{ padding:34px 0; } }
.imz-h-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-bottom:14px; }
.imz-h-head h2{ font-size:clamp(1.2rem, 2.6vw, 1.75rem); font-weight:700; letter-spacing:-.02em; margin:0; }
.imz-h-head p{ margin:4px 0 0; color:var(--imz-muted); font-size:.9rem; }
.imz-h-head > a{ font-weight:600; font-size:.88rem; color:var(--brand-700); text-decoration:none; white-space:nowrap; }
.imz-h-kicker{ display:inline-flex; align-items:center; gap:6px; font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--brand-700); }

/* hero */
.imz-hero{ display:grid; gap:14px; padding-top:12px; }
@media (min-width:992px){ .imz-hero{ grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:22px; align-items:stretch; padding-top:22px; } }
.imz-hero-intro{ order:2; position:relative; overflow:hidden; border-radius:24px; padding:20px; background:radial-gradient(500px 260px at 0% 0%, rgba(122,73,240,.16), transparent 60%), radial-gradient(500px 260px at 100% 100%, rgba(122,168,255,.2), transparent 60%), #fff; border:1px solid var(--imz-line); display:flex; flex-direction:column; justify-content:center; }
@media (min-width:992px){ .imz-hero-intro{ order:1; padding:36px; } }
.imz-hero-intro h1{ font-size:clamp(1.6rem, 3.2vw + .6rem, 3.1rem); font-weight:700; line-height:1.06; letter-spacing:-.03em; margin:8px 0 10px; }
.imz-hero-intro h1 span{ background:linear-gradient(90deg, var(--brand-400), var(--brand-700), var(--brand-400)); background-size:200% 100%; -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; animation:imzShine 6s linear infinite; }
@keyframes imzShine{ to{ background-position:200% 0; } }
.imz-hero-intro p{ color:var(--imz-muted); margin-bottom:16px; }
.imz-hero-cta{ display:flex; flex-wrap:wrap; gap:8px; }
.imz-hero-proof{ display:flex; flex-wrap:wrap; gap:8px 16px; margin-top:16px; font-size:.82rem; color:var(--imz-muted); font-weight:600; }
.imz-hero-proof .bi-star-fill{ color:#f59e0b; }
.imz-hero-proof b{ color:var(--imz-ink); }

.imz-slider{ order:1; position:relative; border-radius:24px; overflow:hidden; background:#eceef5; box-shadow:var(--imz-shadow); }
@media (min-width:992px){ .imz-slider{ order:2; } }
.imz-slides{ display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-x:contain; }
.imz-slides::-webkit-scrollbar{ display:none; }
.imz-slide{ flex:0 0 100%; scroll-snap-align:center; position:relative; aspect-ratio:1600/878; display:block; }
.imz-slide img{ width:100%; height:100%; object-fit:cover; display:block; }
.imz-slide-cap{ position:absolute; left:14px; bottom:30px; background:rgba(12,16,33,.55); color:#fff; padding:8px 12px; border-radius:12px; -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); font-weight:600; font-size:.95rem; }
.imz-slider-dots{ position:absolute; left:0; right:0; bottom:10px; display:flex; justify-content:center; gap:6px; }
.imz-slider-dots button{ width:7px; height:7px; padding:0; border:0; border-radius:4px; background:rgba(255,255,255,.6); box-shadow:0 1px 3px rgba(0,0,0,.25); transition:width .25s, background .25s; }
.imz-slider-dots button.on{ width:22px; background:#fff; }
.imz-slider-nav{ position:absolute; top:50%; transform:translateY(-50%); width:40px; height:40px; border-radius:50%; border:0; background:rgba(255,255,255,.88); color:var(--imz-ink); display:none; align-items:center; justify-content:center; box-shadow:0 6px 16px rgba(0,0,0,.15); }
.imz-slider-nav.prev{ left:12px; } .imz-slider-nav.next{ right:12px; }
@media (hover:hover) and (min-width:768px){ .imz-slider:hover .imz-slider-nav{ display:flex; } }

/* quick links (app-style tiles, mobile) */
.imz-quick{ display:grid; grid-auto-flow:column; grid-auto-columns:minmax(72px, 1fr); gap:10px; overflow-x:auto; scrollbar-width:none; padding:14px 2px 4px; }
.imz-quick::-webkit-scrollbar{ display:none; }
.imz-quick a{ display:flex; flex-direction:column; align-items:center; gap:6px; text-decoration:none; color:var(--imz-ink); font-size:.74rem; font-weight:600; text-align:center; }
.imz-quick .ico{ width:58px; height:58px; border-radius:18px; display:grid; place-items:center; font-size:1.45rem; color:#fff; background:var(--accent-grad); box-shadow:0 8px 20px rgba(122,73,240,.25); transition:transform .15s; }
.imz-quick a:nth-child(2) .ico{ background:linear-gradient(135deg,#f472b6,#a855f7); }
.imz-quick a:nth-child(3) .ico{ background:linear-gradient(135deg,#34d399,#0ea5e9); }
.imz-quick a:nth-child(4) .ico{ background:linear-gradient(135deg,#fbbf24,#f97316); }
.imz-quick a:nth-child(5) .ico{ background:linear-gradient(135deg,#60a5fa,#6366f1); }
.imz-quick a:active .ico{ transform:scale(.94); }
@media (min-width:992px){ .imz-quick{ display:none; } }

/* offer strip */
.imz-offer-strip{ display:flex; align-items:center; gap:10px; margin-top:14px; padding:10px; border-radius:18px; background:#0c1021; color:#fff; overflow:hidden; }
.imz-offer-strip .imz-chips{ flex:1; min-width:0; }
.imz-offer-chip{ flex:0 0 auto; display:inline-flex; align-items:center; gap:6px; padding:.45rem .8rem; border-radius:999px; background:rgba(255,255,255,.1); font-size:.8rem; font-weight:600; white-space:nowrap; }
.imz-offer-chip .bi{ color:#c4b5fd; }
.imz-offer-strip .imz-btn{ flex:0 0 auto; }

/* collections */
.imz-collections{ display:grid; grid-auto-flow:column; grid-auto-columns:92px; gap:12px; overflow-x:auto; scrollbar-width:none; padding:4px 2px 8px; scroll-snap-type:x proximity; }
.imz-collections::-webkit-scrollbar{ display:none; }
@media (min-width:992px){ .imz-collections{ grid-auto-flow:row; grid-template-columns:repeat(8, 1fr); grid-auto-columns:auto; gap:18px; } }
.imz-collection{ display:flex; flex-direction:column; align-items:center; gap:8px; text-decoration:none; color:var(--imz-ink); scroll-snap-align:start; text-align:center; }
.imz-collection-img{ width:84px; height:84px; border-radius:50%; padding:3px; background:var(--accent-grad); transition:transform .2s; }
.imz-collection-img img{ width:100%; height:100%; border-radius:50%; object-fit:cover; border:3px solid #fff; background:#f3f4f8; }
.imz-collection:hover .imz-collection-img{ transform:translateY(-3px) rotate(-2deg); }
.imz-collection span{ font-size:.76rem; font-weight:600; line-height:1.2; }
@media (min-width:992px){ .imz-collection-img{ width:110px; height:110px; } .imz-collection span{ font-size:.85rem; } }

/* packs */
.imz-pack-card{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--imz-line); border-radius:var(--imz-radius); overflow:hidden; text-decoration:none; color:var(--imz-ink); height:100%; transition:transform .2s, box-shadow .2s; }
.imz-pack-card:hover{ transform:translateY(-3px); box-shadow:var(--imz-shadow); color:var(--imz-ink); }
.imz-pack-img{ position:relative; aspect-ratio:1/1; background:#f3f4f8; }
.imz-pack-img img{ width:100%; height:100%; object-fit:cover; }
.imz-pack-img .imz-badge{ position:absolute; top:8px; left:8px; }
.imz-pack-body{ padding:10px 12px 12px; display:flex; flex-direction:column; gap:6px; flex:1; }
.imz-pack-title{ font-weight:600; font-size:.9rem; line-height:1.3; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.6em; }
.imz-pack-rule{ font-size:.74rem; font-weight:600; color:var(--brand-800); background:var(--brand-50); border-radius:8px; padding:.2rem .5rem; align-self:flex-start; }
.imz-pack-body .imz-add{ margin-top:auto; }

/* promo duo (custom + 3D) */
.imz-promo-grid{ display:grid; gap:14px; }
@media (min-width:768px){ .imz-promo-grid{ grid-template-columns:1fr 1fr; } }
.imz-promo{ position:relative; overflow:hidden; border-radius:24px; padding:24px; color:#fff; min-height:210px; display:flex; flex-direction:column; justify-content:flex-end; text-decoration:none; }
.imz-promo:hover{ color:#fff; }
.imz-promo.custom{ background:radial-gradient(140% 120% at 100% 0%, rgba(255,255,255,.22), transparent 50%), var(--accent-grad); }
.imz-promo.print3d{ background:radial-gradient(140% 120% at 100% 0%, rgba(255,255,255,.18), transparent 50%), linear-gradient(135deg,#0c1021,#312e81); }
.imz-promo .imz-promo-ico{ position:absolute; right:18px; top:10px; font-size:5.5rem; opacity:.18; line-height:1; }
.imz-promo h3{ font-weight:700; font-size:1.4rem; margin:0 0 6px; }
.imz-promo p{ opacity:.9; margin-bottom:14px; max-width:420px; font-size:.92rem; }
.imz-promo .imz-btn{ align-self:flex-start; }

/* reels */
.imz-reels{ display:grid; grid-auto-flow:column; grid-auto-columns:150px; gap:12px; overflow-x:auto; scrollbar-width:none; scroll-snap-type:x mandatory; padding:2px 2px 8px; }
.imz-reels::-webkit-scrollbar{ display:none; }
@media (min-width:768px){ .imz-reels{ grid-auto-columns:200px; gap:16px; } }
.imz-reel{ position:relative; aspect-ratio:9/16; border-radius:18px; overflow:hidden; background:#111827; scroll-snap-align:start; box-shadow:0 10px 24px rgba(0,0,0,.12); }
.imz-reel video{ width:100%; height:100%; object-fit:cover; display:block; }

/* wall gallery */
.imz-wall{ display:grid; grid-template-columns:repeat(2, 1fr); gap:8px; }
@media (min-width:768px){ .imz-wall{ grid-template-columns:repeat(5, 1fr); gap:12px; } }
.imz-wall button{ position:relative; display:block; padding:0; border:0; border-radius:16px; overflow:hidden; aspect-ratio:1/1; background:#eceef5; width:100%; }
.imz-wall img{ width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.imz-wall button:hover img{ transform:scale(1.06); }

/* reviews */
.imz-rating-card{ display:flex; flex-direction:column; justify-content:center; gap:4px; padding:18px; border-radius:var(--imz-radius); color:#fff; background:var(--accent-grad); box-shadow:0 12px 28px rgba(122,73,240,.28); height:100%; }
.imz-rating-card .big{ font-size:2.6rem; font-weight:700; line-height:1; }
.imz-stars{ color:#f59e0b; letter-spacing:1px; font-size:.85rem; }
.imz-rating-card .imz-stars{ color:#fde68a; }
.imz-review{ display:flex; flex-direction:column; gap:8px; height:100%; padding:16px; background:#fff; border:1px solid var(--imz-line); border-radius:var(--imz-radius); margin:0; }
.imz-review blockquote{ margin:0; font-size:.9rem; line-height:1.5; color:#30364a; display:-webkit-box; -webkit-line-clamp:5; -webkit-box-orient:vertical; overflow:hidden; }
.imz-review figcaption{ margin-top:auto; display:flex; align-items:center; gap:10px; font-size:.82rem; min-width:0; }
.imz-review-ava{ width:36px; height:36px; border-radius:50%; background:var(--accent-grad); color:#fff; display:grid; place-items:center; font-weight:700; flex:0 0 auto; }
.imz-review figcaption > div{ min-width:0; }
.imz-review a{ color:var(--brand-700); text-decoration:none; font-weight:600; display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.imz-verified{ color:var(--imz-success); font-size:.72rem; font-weight:600; }
.imz-scroller.imz-scroller-wide{ grid-auto-columns:82%; }
@media (min-width:576px){ .imz-scroller.imz-scroller-wide{ grid-auto-columns:46%; } }
@media (min-width:992px){ .imz-scroller.imz-scroller-wide{ grid-auto-columns:31%; } }

/* faq + seo text */
.imz-faq .accordion-item{ border:1px solid var(--imz-line); border-radius:14px!important; overflow:hidden; margin-bottom:8px; background:#fff; }
.imz-faq .accordion-button{ font-weight:600; font-size:.95rem; box-shadow:none; }
.imz-faq .accordion-button:not(.collapsed){ background:var(--brand-50); color:var(--imz-ink); }
.imz-faq .accordion-body{ color:var(--imz-muted); font-size:.92rem; }
.imz-seo{ background:#fff; border:1px solid var(--imz-line); border-radius:20px; padding:20px; }
.imz-seo h2{ font-size:1.1rem; font-weight:700; }
.imz-seo-body{ color:var(--imz-muted); font-size:.92rem; position:relative; }
.imz-seo-body.clamped{ max-height:5.2em; overflow:hidden; -webkit-mask-image:linear-gradient(#000 45%, transparent); mask-image:linear-gradient(#000 45%, transparent); }
.imz-seo-toggle{ border:0; background:none; padding:0; font-weight:600; color:var(--brand-700); display:inline-flex; align-items:center; gap:6px; margin-top:8px; }

/* scroller arrows (desktop) */
.imz-rail{ position:relative; }
.imz-rail-btn{ position:absolute; top:38%; z-index:3; width:42px; height:42px; border-radius:50%; border:1px solid var(--imz-line); background:rgba(255,255,255,.95); box-shadow:var(--imz-shadow); display:none; align-items:center; justify-content:center; color:var(--imz-ink); }
.imz-rail-btn.prev{ left:-14px; } .imz-rail-btn.next{ right:-14px; }
@media (hover:hover) and (min-width:992px){ .imz-rail:hover .imz-rail-btn{ display:flex; } }

/* reveal-on-scroll (only when JS marked the page ready) */
.imz-js .imz-reveal{ opacity:0; transform:translateY(14px); transition:opacity .5s ease, transform .5s ease; }
.imz-js .imz-reveal.in{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){ .imz-js .imz-reveal{ opacity:1; transform:none; } .imz-announce-track{ animation:none; } }

/* account */
.min-w-0{ min-width:0; }
.imz-pill{ display:inline-flex; align-items:center; gap:4px; white-space:nowrap; font-size:.74rem; font-weight:700; padding:.3rem .62rem; border-radius:999px; background:#eef0f5; color:#374151; }
.imz-pill.info{ background:#eef4ff; color:#3346c4; }
.imz-pill.brand{ background:#f1ebff; color:#6a3ae0; }
.imz-pill.success{ background:#e8f8ef; color:#0f7a43; }
.imz-pill.warn{ background:#fff4e0; color:#a15c00; }
.imz-pill.danger{ background:#fde8ec; color:#be123c; }
.imz-pill.muted{ background:#eef0f5; color:#596074; }
/* auth */
.imz-auth{ max-width:440px; margin:0 auto; }
.imz-auth-card{ background:#fff; border:1px solid var(--imz-line); border-radius:22px; padding:24px 20px; box-shadow:var(--imz-shadow); }
@media (min-width:576px){ .imz-auth-card{ padding:32px 30px; } }
.imz-auth-head{ text-align:center; margin-bottom:18px; }
.imz-auth-icon{ width:58px; height:58px; border-radius:18px; background:var(--accent-grad); color:#fff; display:inline-flex; align-items:center; justify-content:center; font-size:1.8rem; margin-bottom:10px; box-shadow:0 10px 24px rgba(122,73,240,.3); }
.imz-auth-phone{ display:flex; align-items:stretch; border:1.5px solid #e3e5ee; border-radius:12px; overflow:hidden; background:#fff; }
.imz-auth-phone:focus-within{ border-color:var(--brand-600); box-shadow:0 0 0 4px rgba(107,104,247,.12); }
.imz-auth-phone span{ display:flex; align-items:center; padding:0 12px; font-weight:600; background:#f6f7fb; border-right:1px solid #e3e5ee; }
.imz-field .imz-auth-phone .form-control{ border:0; box-shadow:none; border-radius:0; font-size:1.05rem; letter-spacing:.04em; }
.imz-auth-num{ display:flex; align-items:center; gap:6px; background:#f6f7fb; border-radius:12px; padding:9px 12px; margin-bottom:14px; font-weight:600; font-size:.92rem; }
.imz-auth-num button, .imz-auth-link{ border:0; background:none; color:var(--brand-700); font-weight:600; font-size:.86rem; padding:0; }
.imz-auth-num button{ margin-left:auto; }
.imz-auth-link[disabled]{ color:#9aa1b2; }
.imz-auth-eye{ position:absolute; right:6px; top:50%; transform:translateY(-50%); border:0; background:none; color:var(--imz-muted); padding:6px 8px; }
.imz-auth-alert{ border-radius:12px; padding:10px 12px; font-size:.88rem; font-weight:600; margin-bottom:12px; }
.imz-auth-alert.error{ background:#fde8ec; color:#9f1239; }
.imz-auth-alert.info{ background:var(--brand-50); color:#3b2d8f; }
.imz-auth-alert.success{ background:#e8f8ef; color:#0f7a43; }
.imz-auth-or{ display:flex; align-items:center; gap:10px; color:#9aa1b2; font-size:.78rem; margin:12px 0; }
.imz-auth-or::before, .imz-auth-or::after{ content:""; flex:1; height:1px; background:var(--imz-line); }
.imz-auth-fine{ font-size:.76rem; color:var(--imz-muted); text-align:center; margin:12px 0 0; }
.imz-auth-perks{ display:flex; justify-content:space-between; gap:6px; margin-top:20px; padding-top:16px; border-top:1px dashed var(--imz-line); }
.imz-auth-perks div{ flex:1; text-align:center; font-size:.72rem; font-weight:600; color:var(--imz-muted); display:flex; flex-direction:column; gap:3px; align-items:center; }
.imz-auth-perks .bi{ font-size:1.15rem; color:var(--brand-700); }
/* account shell */
.imz-acc-back{ display:inline-flex; align-items:center; gap:4px; font-weight:600; font-size:.88rem; color:var(--imz-ink); text-decoration:none; margin-bottom:10px; }
.imz-acc-narrow{ max-width:640px; margin:0 auto; }
.imz-acc-side{ background:#fff; border:1px solid var(--imz-line); border-radius:var(--imz-radius); padding:14px; position:sticky; top:90px; }
.imz-acc-me{ display:flex; align-items:center; gap:10px; padding:4px 4px 14px; border-bottom:1px solid var(--imz-line); margin-bottom:8px; }
.imz-acc-avatar{ width:44px; height:44px; border-radius:50%; background:var(--accent-grad); color:#fff; font-weight:700; font-size:1.1rem; display:flex; align-items:center; justify-content:center; flex:0 0 auto; }
.imz-acc-menu{ list-style:none; margin:0; padding:0; }
.imz-acc-menu a, .imz-acc-menu button{ display:flex; align-items:center; gap:10px; width:100%; padding:10px 12px; border-radius:10px; color:var(--imz-ink); text-decoration:none; font-weight:600; font-size:.92rem; border:0; background:none; text-align:left; }
.imz-acc-menu a:hover, .imz-acc-menu button:hover{ background:#f6f7fb; }
.imz-acc-menu a.active{ background:var(--brand-50); color:var(--brand-700); }
.imz-acc-menu .bi{ font-size:1.05rem; width:20px; text-align:center; }
.imz-acc-menu form{ margin:0; }
.imz-acc-menu button{ color:var(--imz-danger); }
/* dashboard */
.imz-acc-hero{ background:var(--accent-grad); color:#fff; border-radius:20px; padding:18px; display:flex; justify-content:space-between; align-items:center; gap:12px; box-shadow:0 12px 30px rgba(122,73,240,.25); }
.imz-acc-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:12px 0; }
.imz-acc-stats a{ background:#fff; border:1px solid var(--imz-line); border-radius:14px; padding:12px 6px; text-align:center; text-decoration:none; color:var(--imz-ink); display:flex; flex-direction:column; gap:2px; }
.imz-acc-stats b{ font-size:1.25rem; font-weight:700; line-height:1.1; }
.imz-acc-stats span{ font-size:.72rem; font-weight:600; color:var(--imz-muted); }
.imz-acc-list{ list-style:none; margin:0; padding:0; }
.imz-acc-list li + li{ border-top:1px solid var(--imz-line); }
.imz-acc-list a, .imz-acc-list button{ display:flex; align-items:center; gap:12px; width:100%; padding:14px 16px; color:var(--imz-ink); text-decoration:none; border:0; background:none; text-align:left; font-weight:600; font-size:.94rem; }
.imz-acc-list a:hover, .imz-acc-list button:hover{ background:#fafbfe; }
.imz-acc-list .bi:first-child{ width:36px; height:36px; border-radius:11px; background:var(--brand-50); color:var(--brand-700); display:flex; align-items:center; justify-content:center; font-size:1.05rem; flex:0 0 auto; }
.imz-acc-list .bi-chevron-right{ margin-left:auto; color:#b7bccb; }
.imz-acc-list span{ display:flex; flex-direction:column; min-width:0; }
.imz-acc-list small{ font-weight:500; color:var(--imz-muted); font-size:.76rem; }
.imz-acc-list form{ margin:0; }
.imz-acc-list .text-danger .bi:first-child{ background:#fde8ec; color:var(--imz-danger); }
@media (min-width:992px){ .imz-acc-list{ display:grid; grid-template-columns:1fr 1fr; } .imz-acc-list li + li{ border-top:0; } .imz-acc-list li{ border-bottom:1px solid var(--imz-line); } }
.imz-acc-thumbs{ display:flex; gap:6px; align-items:center; flex-wrap:wrap; }
.imz-acc-thumbs img{ width:48px; height:60px; object-fit:cover; border-radius:8px; background:#f3f4f8; border:1px solid var(--imz-line); }
.imz-acc-more{ width:48px; height:60px; border-radius:8px; background:#f3f4f8; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:.8rem; color:var(--imz-muted); }
/* horizontal mini tracker */
.imz-acc-track{ display:flex; justify-content:space-between; position:relative; gap:2px; }
.imz-acc-track-step{ flex:1; display:flex; flex-direction:column; align-items:center; text-align:center; position:relative; z-index:1; }
.imz-acc-track-step::before{ content:""; position:absolute; top:15px; right:50%; width:100%; height:3px; background:#e5e7eb; z-index:-1; }
.imz-acc-track-step:first-child::before{ display:none; }
.imz-acc-track-step.done::before{ background:var(--imz-success); }
.imz-acc-track-step span{ width:32px; height:32px; border-radius:50%; background:#eef0f5; color:#9aa1b2; display:flex; align-items:center; justify-content:center; font-size:.9rem; border:3px solid #fff; }
.imz-acc-track-step.done span{ background:var(--imz-success); color:#fff; }
.imz-acc-track-step.current span{ background:var(--accent-grad); box-shadow:0 0 0 4px rgba(122,73,240,.18); }
.imz-acc-track-step.danger span{ background:var(--imz-danger); color:#fff; box-shadow:none; }
.imz-acc-track-step small{ font-size:.64rem; font-weight:600; color:var(--imz-muted); margin-top:4px; line-height:1.15; }
.imz-acc-track-step.done small{ color:var(--imz-ink); }
.imz-acc-timeline li.danger::after{ background:var(--imz-danger); box-shadow:0 0 0 1px var(--imz-danger); }
/* orders */
.imz-acc-orders{ display:grid; gap:10px; }
@media (min-width:768px){ .imz-acc-orders{ grid-template-columns:1fr 1fr; } }
.imz-acc-order{ position:relative; background:#fff; border:1px solid var(--imz-line); border-radius:var(--imz-radius); padding:14px; display:flex; flex-direction:column; gap:10px; transition:box-shadow .2s; }
@media (hover:hover){ .imz-acc-order:hover{ box-shadow:var(--imz-shadow); } }
.imz-acc-order-link{ position:absolute; inset:0; z-index:0; border-radius:inherit; }
.imz-acc-order-head, .imz-acc-order-body{ display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
.imz-acc-order-body{ align-items:center; }
.imz-acc-order-foot{ display:flex; gap:8px; align-items:center; border-top:1px dashed var(--imz-line); padding-top:10px; position:relative; z-index:1; }
.imz-acc-banner{ display:flex; align-items:center; gap:10px; border-radius:14px; padding:12px 14px; font-size:.9rem; flex-wrap:wrap; }
.imz-acc-banner > .bi{ font-size:1.2rem; }
.imz-acc-banner.warn{ background:#fff7e6; border:1px solid #fde3a7; color:#7a4a00; }
.imz-acc-banner.info{ background:var(--brand-50); border:1px solid #dbe4ff; color:#3b2d8f; }
.imz-acc-banner.danger{ background:#fde8ec; border:1px solid #fbc8d2; color:#9f1239; }
.imz-acc-ship{ display:flex; justify-content:space-between; align-items:center; gap:10px; background:#f6f7fb; border-radius:12px; padding:12px; margin-top:12px; }
.imz-acc-kids{ display:flex; flex-wrap:wrap; gap:6px; margin-top:4px; }
.imz-acc-kids figure{ margin:0; text-align:center; }
.imz-acc-kids img{ width:40px; height:50px; object-fit:cover; border-radius:6px; border:1px solid var(--imz-line); background:#f3f4f8; }
.imz-acc-kids figcaption{ font-size:.6rem; font-weight:600; color:var(--imz-muted); }
.imz-acc-fields{ margin:4px 0 0; background:#fafbfe; border:1px solid var(--imz-line); border-radius:10px; padding:6px 10px; font-size:.78rem; }
.imz-acc-fields > div{ display:flex; gap:8px; padding:3px 0; }
.imz-acc-fields dt{ font-weight:600; color:var(--imz-muted); min-width:90px; max-width:45%; }
.imz-acc-fields dd{ margin:0; word-break:break-word; display:flex; flex-wrap:wrap; gap:4px; }
.imz-acc-fields img{ width:44px; height:44px; object-fit:cover; border-radius:6px; border:1px solid var(--imz-line); }
.imz-acc-actions{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.imz-acc-actions > form, .imz-acc-actions > :first-child{ grid-column:1 / -1; }
.imz-acc-actions form{ margin:0; }
.imz-acc-sheet .offcanvas-body{ max-width:640px; width:100%; margin:0 auto; }
.imz-acc-photo-prev{ display:flex; gap:6px; flex-wrap:wrap; margin-top:6px; }
.imz-acc-photo-prev img{ width:56px; height:56px; object-fit:cover; border-radius:8px; border:1px solid var(--imz-line); }
.imz-panel h3 .imz-step-num{ width:24px; height:24px; font-size:.78rem; }
/* addresses */
.imz-acc-addrs{ display:grid; gap:10px; }
@media (min-width:768px){ .imz-acc-addrs{ grid-template-columns:1fr 1fr; } }
.imz-acc-addr{ background:#fff; border:1.5px solid var(--imz-line); border-radius:var(--imz-radius); padding:14px; display:flex; flex-direction:column; }
.imz-acc-addr.is-default{ border-color:var(--brand-600); box-shadow:0 0 0 3px rgba(107,104,247,.08); }
.imz-acc-addr-actions{ display:flex; gap:6px; align-items:center; margin-top:auto; padding-top:12px; }
.imz-acc-addr-actions form{ margin:0; }

/* product */
.imz-pdp-crumbs ol{ list-style:none; display:flex; flex-wrap:wrap; gap:4px; padding:0; margin:0 0 10px; font-size:.8rem; color:var(--imz-muted); }
.imz-pdp-crumbs li + li::before{ content:"\203A"; margin-right:4px; color:#b5bac8; }
.imz-pdp-crumbs a{ color:var(--imz-muted); text-decoration:none; }
.imz-pdp-crumbs a:hover{ color:var(--brand-700); }
@media (min-width:992px){ .imz-pdp-media{ position:sticky; top:84px; } }
.imz-pdp-gallery{ border-radius:var(--imz-radius); }
.imz-pdp-slide{ margin:0; }
.imz-pdp-slide img[data-zoom]{ cursor:zoom-in; }
.imz-pdp-video{ display:flex; align-items:center; justify-content:center; background:#0c1021!important; }
.imz-pdp-yt{ position:relative; border:0; padding:0; width:100%; height:100%; background:#0c1021; }
.imz-pdp-yt img{ object-fit:cover!important; opacity:.85; }
.imz-pdp-play{ position:absolute; inset:0; margin:auto; width:68px; height:68px; border-radius:50%; background:rgba(255,255,255,.95); display:flex; align-items:center; justify-content:center; font-size:2.2rem; color:#e11d48; box-shadow:0 10px 30px rgba(0,0,0,.35); }
.imz-pdp-gallery-tools{ position:absolute; top:10px; right:10px; display:flex; flex-direction:column; gap:8px; z-index:3; }
.imz-pdp-round{ width:40px; height:40px; border-radius:50%; border:0; background:rgba(255,255,255,.94); box-shadow:0 4px 14px rgba(0,0,0,.12); display:flex; align-items:center; justify-content:center; font-size:1.05rem; color:var(--imz-ink); }
.imz-pdp-round.active .bi{ color:var(--imz-danger); }
.imz-pdp-offbadge{ position:absolute; top:12px; left:12px; z-index:3; }
.imz-pdp-thumbs button{ flex:0 0 60px; height:76px; }
@media (min-width:992px){ .imz-pdp-thumbs button{ flex-basis:72px; height:90px; } }
.imz-pdp-title{ font-size:clamp(1.2rem, 2.6vw, 1.75rem); font-weight:700; letter-spacing:-.01em; line-height:1.25; margin:2px 0 6px; color:var(--imz-ink); }
.imz-pdp-rating{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:8px; font-size:.85rem; }
.imz-pdp-stars-link{ display:inline-flex; gap:6px; align-items:center; text-decoration:none; }
.imz-pdp-price{ display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; }
.imz-pdp-price b{ font-size:clamp(1.5rem, 3vw, 2rem); font-weight:700; letter-spacing:-.02em; }
.imz-pdp-price .imz-strike{ font-size:1rem; }
.imz-pdp-off{ color:var(--imz-success); font-weight:700; font-size:1rem; }
.imz-pdp-offers{ display:flex; flex-direction:column; gap:8px; margin:10px 0; }
.imz-pdp-offer{ display:flex; align-items:center; gap:10px; width:100%; text-align:left; border:1px dashed #86efac; background:linear-gradient(90deg,#f0fdf4,#fff); border-radius:12px; padding:9px 12px; color:#065f46; }
.imz-pdp-offer > .bi:first-child{ font-size:1.1rem; }
.imz-pdp-offer span{ display:flex; flex-direction:column; line-height:1.25; }
.imz-pdp-offer small{ color:#3f6b5a; font-size:.76rem; }
.imz-pdp-tiers{ display:grid; gap:6px; }
.imz-pdp-tiers > div{ display:flex; justify-content:space-between; gap:10px; background:#fff; border:1px solid var(--imz-line); border-radius:10px; padding:8px 12px; font-size:.88rem; }
.imz-pdp-tiers span{ color:var(--imz-muted); text-align:right; }
.imz-pdp-specs{ display:flex; flex-wrap:wrap; gap:6px; margin:10px 0; }
.imz-pdp-specs span{ display:inline-flex; align-items:center; gap:5px; border:1px solid var(--imz-line); background:#fff; border-radius:999px; padding:.3rem .7rem; font-size:.8rem; font-weight:600; }
.imz-pdp-specs .bi{ color:var(--brand-700); }
.imz-pdp-short{ font-size:.92rem; color:#3a4154; margin:8px 0 4px; }
.imz-pdp-block{ margin:14px 0 4px; }
.imz-pdp-block-head{ display:flex; justify-content:space-between; align-items:baseline; gap:10px; font-size:.9rem; margin-bottom:8px; }
.imz-pdp-block-head b{ font-weight:600; }
.imz-pdp-variants{ grid-template-columns:repeat(auto-fill, minmax(64px,1fr)); max-height:340px; overflow-y:auto; padding:3px; scrollbar-width:thin; }
@media (min-width:992px){ .imz-pdp-variants{ grid-template-columns:repeat(auto-fill, minmax(76px,1fr)); } }
.imz-pdp-variants .imz-variant{ display:block; }
.imz-pdp-optgroup{ margin-bottom:10px; }
.imz-pdp-buy{ margin:14px 0 10px; }
.imz-pdp-stock{ font-size:.86rem; font-weight:600; margin-bottom:10px; }
.imz-pdp-in{ color:var(--imz-success); }
.imz-pdp-low{ color:#c2410c; background:#fff7ed; border:1px solid #fed7aa; border-radius:8px; padding:.2rem .55rem; }
.imz-pdp-buy-row{ display:flex; gap:10px; align-items:stretch; }
.imz-pdp-qty{ display:flex; align-items:center; border:1.5px solid #e3e5ee; border-radius:14px; background:#fff; overflow:hidden; flex:0 0 auto; }
.imz-pdp-qty button{ width:40px; height:100%; min-height:48px; border:0; background:transparent; font-size:1.2rem; font-weight:600; color:var(--imz-ink); }
.imz-pdp-qty input{ width:40px; border:0; text-align:center; font-weight:700; font-size:1rem; -moz-appearance:textfield; appearance:textfield; background:transparent; }
.imz-pdp-qty input::-webkit-outer-spin-button, .imz-pdp-qty input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.imz-pdp-actions{ display:flex; flex-wrap:wrap; gap:4px 14px; margin-top:12px; }
.imz-pdp-link{ border:0; background:none; padding:4px 0; font-size:.84rem; font-weight:600; color:var(--imz-ink); text-decoration:none; display:inline-flex; align-items:center; gap:5px; }
.imz-pdp-link:hover{ color:var(--brand-700); }
.imz-pdp-link.active .bi{ color:var(--imz-danger); }
.imz-pdp-link .bi-whatsapp{ color:#16a34a; }
.imz-pdp-highlights{ list-style:none; padding:0; margin:14px 0; display:grid; gap:6px; }
.imz-pdp-highlights li{ display:flex; gap:8px; font-size:.9rem; line-height:1.4; }
.imz-pdp-highlights .bi{ color:var(--imz-success); font-size:1rem; margin-top:1px; }
.imz-pdp-delivery{ margin-top:12px; }
.imz-pdp-pin{ display:flex; gap:8px; }
.imz-pdp-pin .imz-input{ padding:.55rem .8rem; max-width:220px; letter-spacing:.08em; font-weight:600; }
.imz-pdp-pin-ok{ display:flex; gap:8px; align-items:flex-start; }
.imz-pdp-pin-ok .bi{ color:var(--imz-success); font-size:1.1rem; }
.imz-pdp-pin-ok div{ display:flex; flex-direction:column; }
.imz-pdp-pin-ok span{ color:var(--imz-muted); }
.imz-pdp-packs{ margin-top:12px; }
.imz-pdp-pack{ display:flex; gap:10px; align-items:center; padding:8px; margin:0 -8px; border-radius:12px; text-decoration:none; color:var(--imz-ink); }
.imz-pdp-pack:hover{ background:var(--brand-50); }
.imz-pdp-pack img, .imz-pdp-pack-ico{ width:48px; height:60px; border-radius:8px; object-fit:cover; flex:0 0 auto; background:var(--brand-50); display:flex; align-items:center; justify-content:center; color:var(--brand-700); font-size:1.3rem; }
.imz-pdp-pack b{ font-size:.88rem; }
.imz-pdp-pack small{ display:block; font-size:.76rem; color:var(--imz-muted); }
.imz-pdp-pack .min-w-0{ min-width:0; }
.imz-pdp-inside{ display:grid; grid-template-columns:repeat(auto-fill, minmax(110px,1fr)); gap:10px; }
.imz-pdp-inside-item{ position:relative; background:#fff; border:1px solid var(--imz-line); border-radius:12px; overflow:hidden; text-decoration:none; color:var(--imz-ink); display:flex; flex-direction:column; }
.imz-pdp-inside-item img{ width:100%; aspect-ratio:3/4; object-fit:cover; background:#f3f4f8; height:auto; }
.imz-pdp-inside-item span{ font-size:.74rem; font-weight:600; padding:6px 8px; line-height:1.3; }
.imz-pdp-inside-item em{ position:absolute; top:6px; right:6px; background:#111827; color:#fff; font-style:normal; font-size:.7rem; font-weight:700; border-radius:6px; padding:1px 6px; }
/* product: personalisation */
.imz-pdp-custom{ margin:14px 0 6px; border-color:var(--brand-200); background:linear-gradient(180deg,#fbfaff,#fff); }
.imz-pdp-cf-heading{ font-size:.92rem; font-weight:700; margin:6px 0 8px; }
.imz-pdp-cf label{ color:var(--imz-ink); }
.imz-pdp-cf.is-invalid .imz-input, .imz-pdp-cf.is-invalid .imz-pdp-drop{ border-color:var(--imz-danger); }
.imz-pdp-cf-foot{ display:flex; gap:8px; margin-top:3px; font-size:.76rem; }
.imz-pdp-cf-error{ color:var(--imz-danger); font-size:.78rem; font-weight:600; margin-top:3px; }
.imz-pdp-cf-error:empty{ display:none; }
.imz-pdp-cf-options{ display:flex; flex-wrap:wrap; gap:8px; }
.imz-pdp-cf-opt{ display:inline-flex!important; align-items:center; gap:6px; border:1.5px solid #e3e5ee; border-radius:12px; padding:.45rem .75rem; cursor:pointer; background:#fff; margin:0!important; font-size:.88rem!important; color:var(--imz-ink)!important; }
.imz-pdp-cf-opt:has(input:checked){ border-color:var(--brand-600); box-shadow:0 0 0 3px rgba(107,104,247,.12); }
.imz-pdp-cf-opt input{ accent-color:var(--brand-700); }
.imz-pdp-cf-opt small{ color:var(--imz-success); font-weight:600; }
.imz-pdp-cf-total{ margin-top:10px; font-size:.86rem; background:var(--brand-50); border-radius:10px; padding:8px 10px; }
.imz-pdp-drop{ border:1.5px dashed #c9cde0; border-radius:14px; padding:10px; background:#fff; transition:border-color .15s, background .15s; }
.imz-pdp-drop.drag{ border-color:var(--brand-600); background:var(--brand-50); }
.imz-pdp-drop-btn{ display:flex!important; align-items:center; gap:10px; cursor:pointer; margin:0!important; color:var(--imz-ink)!important; font-size:.9rem!important; }
.imz-pdp-drop-btn > .bi{ font-size:1.6rem; color:var(--brand-700); }
.imz-pdp-drop-btn span{ display:flex; flex-direction:column; font-weight:500; }
.imz-pdp-drop-btn small{ color:var(--imz-muted); font-size:.74rem; }
.imz-pdp-previews{ display:flex; flex-wrap:wrap; gap:8px; }
.imz-pdp-previews:not(:empty){ margin-top:10px; }
.imz-pdp-preview{ position:relative; width:72px; height:72px; border-radius:10px; overflow:hidden; background:#f3f4f8; border:1px solid var(--imz-line); }
.imz-pdp-preview img{ width:100%; height:100%; object-fit:cover; }
.imz-pdp-preview button{ position:absolute; top:3px; right:3px; width:22px; height:22px; border-radius:50%; border:0; background:rgba(17,24,39,.8); color:#fff; display:flex; align-items:center; justify-content:center; padding:0; font-size:.9rem; }
/* product: accordions */
.imz-pdp-acc{ background:#fff; border:1px solid var(--imz-line); border-radius:var(--imz-radius); padding:4px 16px; }
.imz-pdp-acc-title h2{ font-size:1.05rem; font-weight:700; margin:12px 0 4px; }
.imz-pdp-acc-item{ border-bottom:1px solid var(--imz-line); }
.imz-pdp-acc-item:last-of-type{ border-bottom:0; }
.imz-pdp-acc-item > summary{ list-style:none; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:14px 0; cursor:pointer; }
.imz-pdp-acc-item > summary::-webkit-details-marker{ display:none; }
.imz-pdp-acc-item > summary h2{ font-size:1.02rem; font-weight:700; margin:0; }
.imz-pdp-acc-item > summary h3{ font-size:.92rem; font-weight:600; margin:0; }
.imz-pdp-acc-item > summary .bi{ transition:transform .2s; color:var(--imz-muted); }
.imz-pdp-acc-item[open] > summary .bi{ transform:rotate(180deg); }
.imz-pdp-acc-item > :not(summary){ padding-bottom:14px; }
.imz-pdp-faq p{ font-size:.9rem; color:#3a4154; margin:0; }
.imz-pdp-desc{ font-size:.93rem; line-height:1.65; color:#2b3142; overflow-wrap:anywhere; }
.imz-pdp-desc h2, .imz-pdp-desc h3, .imz-pdp-desc h4{ font-size:1rem; font-weight:700; margin:14px 0 6px; }
.imz-pdp-desc img{ max-width:100%; height:auto; border-radius:12px; }
.imz-pdp-desc table{ width:100%; font-size:.86rem; }
.imz-pdp-desc ul, .imz-pdp-desc ol{ padding-left:1.2rem; }
.imz-pdp-dl{ margin:0; display:grid; }
.imz-pdp-dl > div{ display:grid; grid-template-columns:140px 1fr; gap:10px; padding:7px 0; border-bottom:1px dashed var(--imz-line); font-size:.88rem; }
.imz-pdp-dl > div:last-child{ border-bottom:0; }
.imz-pdp-dl dt{ font-weight:600; color:var(--imz-muted); }
.imz-pdp-dl dd{ margin:0; font-weight:600; }
.imz-pdp-ship{ list-style:none; padding:0; margin:0 0 10px; display:grid; gap:8px; font-size:.9rem; }
.imz-pdp-ship li{ display:flex; gap:10px; }
.imz-pdp-ship .bi{ color:var(--brand-700); font-size:1.05rem; }
/* product: reviews */
.imz-pdp-rsum-top{ display:flex; gap:14px; align-items:center; }
.imz-pdp-rsum-top > b{ font-size:2.8rem; font-weight:700; line-height:1; letter-spacing:-.03em; }
.imz-pdp-stars{ color:#f59e0b; display:flex; gap:2px; }
.imz-pdp-bars{ margin-top:14px; display:grid; gap:6px; }
.imz-pdp-bars > div{ display:grid; grid-template-columns:34px 1fr 28px; gap:8px; align-items:center; font-size:.8rem; font-weight:600; }
.imz-pdp-bars .bi{ color:#f59e0b; font-size:.7rem; }
.imz-pdp-bars small{ color:var(--imz-muted); text-align:right; }
.imz-pdp-bars .imz-progress > div{ background:linear-gradient(90deg,#fbbf24,#f59e0b); }
.imz-pdp-rlist{ display:grid; gap:10px; }
.imz-pdp-review{ background:#fff; border:1px solid var(--imz-line); border-radius:14px; padding:12px 14px; }
.imz-pdp-review header{ display:flex; gap:8px; align-items:center; margin-bottom:4px; }
.imz-pdp-review header b{ font-size:.92rem; }
.imz-pdp-review p{ font-size:.9rem; color:#2b3142; margin:4px 0 6px; white-space:pre-line; }
.imz-pdp-review footer{ display:flex; flex-wrap:wrap; gap:6px; font-size:.76rem; color:var(--imz-muted); font-weight:600; }
.imz-pdp-verified{ color:var(--imz-success); }
.imz-pdp-review-imgs{ display:flex; gap:6px; margin:6px 0; flex-wrap:wrap; }
.imz-pdp-review-imgs img{ width:72px; height:72px; object-fit:cover; border-radius:10px; }
.imz-pdp-rate{ display:inline-flex; flex-direction:row-reverse; gap:4px; }
.imz-pdp-rate input{ position:absolute; opacity:0; pointer-events:none; }
.imz-pdp-rate label{ font-size:1.9rem!important; color:#d6d9e3!important; cursor:pointer; margin:0!important; line-height:1; transition:transform .1s; }
.imz-pdp-rate label:hover, .imz-pdp-rate label:hover ~ label, .imz-pdp-rate input:checked ~ label{ color:#f59e0b!important; }
.imz-pdp-rate input:focus-visible + label{ outline:2px solid var(--brand-600); border-radius:4px; }
/* product: sticky bar + lightbox */
.imz-pdp-sticky-price{ display:flex; flex-direction:column; line-height:1.15; min-width:78px; }
.imz-pdp-sticky-price b{ font-size:1.1rem; font-weight:700; }
.imz-pdp-sticky .imz-btn{ padding:.8rem 1rem; }
.imz-pdp-lightbox .modal-content{ background:rgba(12,16,33,.97); border:0; border-radius:0; }
.imz-pdp-lb-stage{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; overflow:hidden; cursor:zoom-in; }
.imz-pdp-lb-stage img{ max-width:100%; max-height:100%; object-fit:contain; transition:transform .25s ease; user-select:none; }
.imz-pdp-lb-stage.zoomed{ cursor:zoom-out; }
.imz-pdp-lb-stage.zoomed img{ transform:scale(2.4); }
.imz-pdp-lb-close, .imz-pdp-lb-nav{ position:absolute; z-index:2; width:46px; height:46px; border-radius:50%; border:0; background:rgba(255,255,255,.14); color:#fff; font-size:1.2rem; display:flex; align-items:center; justify-content:center; }
.imz-pdp-lb-close{ top:14px; right:14px; }
.imz-pdp-lb-nav{ top:50%; transform:translateY(-50%); }
.imz-pdp-lb-nav.prev{ left:14px; } .imz-pdp-lb-nav.next{ right:14px; }
.imz-pdp-lb-hint{ position:absolute; bottom:14px; left:0; right:0; text-align:center; color:rgba(255,255,255,.6); font-size:.78rem; pointer-events:none; }
.imz-pdp-rail[hidden]{ display:none!important; }
/* product: custom design enquiry (/custom/create) */
.imz-cd-hero{ background:var(--accent-grad); color:#fff; border-radius:var(--imz-radius); padding:22px 18px; position:relative; overflow:hidden; }
.imz-cd-hero h1{ font-size:clamp(1.35rem, 3.4vw, 2rem); font-weight:700; margin:0 0 6px; letter-spacing:-.01em; }
.imz-cd-hero p{ margin:0; opacity:.92; max-width:560px; }
.imz-cd-perks{ display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.imz-cd-perks span{ background:rgba(255,255,255,.18); border-radius:999px; padding:.3rem .7rem; font-size:.8rem; font-weight:600; }
.imz-cd-steps{ counter-reset:cd; }
.imz-cd-step{ background:#fff; border:1px solid var(--imz-line); border-radius:var(--imz-radius); padding:16px; margin-bottom:12px; }
.imz-cd-step > h2{ font-size:1rem; font-weight:700; margin:0 0 12px; display:flex; align-items:center; gap:10px; }
.imz-cd-step > h2::before{ counter-increment:cd; content:counter(cd); width:28px; height:28px; border-radius:50%; background:var(--accent-grad); color:#fff; display:inline-flex; align-items:center; justify-content:center; font-size:.85rem; flex:0 0 auto; }
.imz-cd-choices{ display:flex; flex-wrap:wrap; gap:8px; }
.imz-cd-choice{ position:relative; margin:0!important; }
.imz-cd-choice input{ position:absolute; opacity:0; }
.imz-cd-choice span{ display:inline-flex; align-items:center; gap:6px; border:1.5px solid #e3e5ee; border-radius:12px; padding:.5rem .85rem; font-size:.88rem; font-weight:600; cursor:pointer; background:#fff; color:var(--imz-ink); }
.imz-cd-choice input:checked + span{ border-color:var(--brand-600); background:var(--brand-50); box-shadow:0 0 0 3px rgba(107,104,247,.12); }
.imz-cd-choice input:focus-visible + span{ outline:2px solid var(--brand-600); }
.imz-cd-field-error{ color:var(--imz-danger); font-size:.78rem; font-weight:600; margin-top:4px; }
.imz-cd-success{ text-align:center; padding:36px 18px; }
.imz-cd-success .bi-check-circle-fill{ font-size:3.4rem; color:var(--imz-success); }

/* typography */
body, button, input, select, textarea { font-family: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; }
body { font-weight: 400; letter-spacing: -0.003em; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
h1, h2, h3, .h1, .h2, .h3 { font-weight: 700; letter-spacing: -0.02em; }
h4, h5, h6, .h4, .h5, .h6 { font-weight: 600; letter-spacing: -0.01em; }
.fw-bold, b, strong { font-weight: 600 !important; }
.fw-bolder { font-weight: 700 !important; }
.fw-semibold { font-weight: 500 !important; }

/* track + packs v2 */
/* ---- /track-order + account.orders.track ---- */
.imz-trk-wrap{ max-width:1040px; margin:0 auto; }
.imz-trk-hero{ position:relative; overflow:hidden; display:flex; align-items:center; justify-content:space-between; gap:16px; border-radius:22px; padding:22px 18px; background:linear-gradient(135deg,#eef2ff 0%,#f4efff 55%,#fff 100%); border:1px solid var(--imz-line); }
.imz-trk-hero::after{ content:""; position:absolute; right:-80px; top:-90px; width:260px; height:260px; border-radius:50%; background:var(--accent-grad); opacity:.08; pointer-events:none; }
.imz-trk-hero-copy{ position:relative; z-index:1; max-width:520px; }
.imz-trk-eyebrow{ display:inline-flex; gap:6px; align-items:center; font-size:.72rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--brand-700); background:#fff; border:1px solid var(--brand-200); border-radius:999px; padding:.28rem .7rem; }
.imz-trk-hero h1{ font-size:clamp(1.5rem, 4.6vw, 2.3rem); font-weight:700; letter-spacing:-.025em; line-height:1.12; margin:12px 0 8px; }
.imz-trk-hero p{ color:var(--imz-muted); margin:0; font-size:.95rem; line-height:1.55; }
.imz-trk-art{ flex:0 0 auto; width:120px; height:auto; position:relative; z-index:1; }
@media (min-width:768px){ .imz-trk-hero{ padding:34px 40px; } .imz-trk-art{ width:220px; } }
@media (max-width:420px){ .imz-trk-art{ width:96px; margin-right:-6px; } }
.imz-trk-grid{ display:grid; gap:14px; margin-top:14px; }
@media (min-width:992px){ .imz-trk-grid{ grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:20px; margin-top:20px; align-items:start; } }
.imz-trk-card{ background:#fff; border:1px solid var(--imz-line); border-radius:18px; padding:18px; margin-top:14px; }
.imz-trk-grid .imz-trk-card{ margin-top:0; }
@media (min-width:768px){ .imz-trk-card{ padding:22px; } }
.imz-trk-form{ display:grid; gap:16px; }
.imz-trk-field label{ display:block; font-size:.82rem; font-weight:600; color:var(--imz-ink); margin-bottom:6px; }
.imz-trk-field small{ display:block; color:var(--imz-muted); font-size:.76rem; margin-top:6px; }
.imz-trk-input{ display:flex; align-items:center; gap:10px; height:52px; padding:0 14px; border:1.5px solid #e1e4ee; border-radius:14px; background:#fbfbfe; transition:border-color .15s, box-shadow .15s, background .15s; }
.imz-trk-input:focus-within{ border-color:var(--brand-600); background:#fff; box-shadow:0 0 0 4px rgba(107,104,247,.12); }
.imz-trk-input.is-invalid{ border-color:var(--imz-danger); }
.imz-trk-input > .bi{ color:var(--imz-muted); font-size:1.05rem; }
.imz-trk-input input{ flex:1; min-width:0; border:0; outline:0; background:transparent; font-size:1rem; font-weight:500; color:var(--imz-ink); height:100%; letter-spacing:.02em; }
.imz-trk-input input::placeholder{ color:#a3a9ba; font-weight:400; text-transform:none; letter-spacing:0; }
.imz-trk-cc{ font-weight:600; color:var(--imz-ink); font-size:.95rem; padding-right:10px; border-right:1px solid #e1e4ee; }
.imz-trk-err{ color:var(--imz-danger); font-size:.78rem; font-weight:500; margin-top:6px; }
.imz-trk-login{ display:flex; align-items:center; gap:12px; margin-top:16px; padding:12px 14px; border-radius:14px; background:#f6f7fb; color:var(--imz-ink); text-decoration:none; font-size:.84rem; line-height:1.35; }
.imz-trk-login:hover{ background:var(--brand-50); color:var(--imz-ink); }
.imz-trk-login > .bi:first-child{ font-size:1.5rem; color:var(--brand-700); }
.imz-trk-login span{ flex:1; color:var(--imz-muted); } .imz-trk-login span b{ display:block; color:var(--imz-ink); font-weight:600 !important; }
.imz-trk-tips{ display:grid; gap:10px; }
.imz-trk-tip{ display:flex; gap:12px; align-items:flex-start; background:#fff; border:1px solid var(--imz-line); border-radius:16px; padding:14px; color:var(--imz-ink); text-decoration:none; }
.imz-trk-tip.link{ align-items:center; } .imz-trk-tip.link:hover{ border-color:#25d366; color:var(--imz-ink); }
.imz-trk-tip > div{ flex:1; min-width:0; }
.imz-trk-tip b{ display:block; font-size:.9rem; } .imz-trk-tip small{ display:block; color:var(--imz-muted); font-size:.78rem; line-height:1.45; margin-top:2px; }
.imz-trk-tip .ic{ flex:0 0 auto; width:38px; height:38px; border-radius:12px; background:var(--brand-50); color:var(--brand-700); display:flex; align-items:center; justify-content:center; font-size:1.05rem; }
.imz-trk-tip .ic.wa{ background:#e8f9ef; color:#128c4b; }
.imz-trk-alert{ display:flex; gap:12px; align-items:flex-start; border-radius:14px; padding:12px 14px; margin-bottom:16px; font-size:.86rem; line-height:1.45; flex-wrap:wrap; }
.imz-trk-alert > .bi{ font-size:1.25rem; margin-top:1px; }
.imz-trk-alert > div{ flex:1; min-width:180px; }
.imz-trk-alert b{ display:block; } .imz-trk-alert span{ display:block; opacity:.9; }
.imz-trk-alert a:not(.imz-btn){ display:inline-flex; gap:6px; align-items:center; margin-top:6px; font-weight:600; color:inherit; }
.imz-trk-alert.danger{ background:#fff1f2; border:1px solid #fecdd3; color:#9f1239; }
.imz-trk-alert.warn{ background:#fff8e6; border:1px solid #fde4a3; color:#8a5300; align-items:center; }
.imz-trk-alert.warn.mt-3{ margin-bottom:0; }
/* result */
.imz-trk-top{ margin-bottom:10px; } .imz-trk-top a{ font-size:.86rem; font-weight:600; color:var(--imz-muted); text-decoration:none; display:inline-flex; gap:4px; align-items:center; }
.imz-trk-top a:hover{ color:var(--brand-700); }
.imz-trk-status{ --c1:#4f7cff; --c2:#8b5cf6; position:relative; overflow:hidden; display:grid; grid-template-columns:auto 1fr; gap:14px; align-items:center; padding:20px 18px; border-radius:22px; color:#fff; background:linear-gradient(135deg, var(--c1), var(--c2)); box-shadow:0 14px 34px -14px var(--c2); }
.imz-trk-status::after{ content:""; position:absolute; right:-60px; top:-60px; width:200px; height:200px; border-radius:50%; background:rgba(255,255,255,.12); pointer-events:none; }
.imz-trk-status.tone-success{ --c1:#0f9d58; --c2:#16b981; }
.imz-trk-status.tone-danger{ --c1:#e11d48; --c2:#f43f5e; }
.imz-trk-status.tone-warn{ --c1:#f59e0b; --c2:#f97316; }
.imz-trk-status.tone-muted{ --c1:#475569; --c2:#64748b; }
.imz-trk-status-ic{ width:56px; height:56px; border-radius:18px; background:rgba(255,255,255,.2); display:flex; align-items:center; justify-content:center; font-size:1.7rem; position:relative; z-index:1; }
.imz-trk-status-copy{ min-width:0; position:relative; z-index:1; }
.imz-trk-status-no{ font-size:.76rem; font-weight:500; opacity:.88; }
.imz-trk-status h1{ font-size:clamp(1.3rem, 4vw, 1.9rem); font-weight:700; letter-spacing:-.02em; margin:2px 0 4px; line-height:1.15; }
.imz-trk-status p{ margin:0; font-size:.9rem; opacity:.94; }
.imz-trk-eta{ grid-column:1 / -1; position:relative; z-index:1; background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.28); border-radius:14px; padding:10px 14px; display:flex; justify-content:space-between; align-items:center; gap:10px; }
.imz-trk-eta small{ font-size:.76rem; opacity:.9; font-weight:500; } .imz-trk-eta b{ font-size:1rem; }
@media (min-width:768px){
  .imz-trk-status{ grid-template-columns:auto 1fr auto; padding:26px 28px; gap:20px; }
  .imz-trk-status-ic{ width:68px; height:68px; font-size:2rem; border-radius:20px; }
  .imz-trk-eta{ grid-column:auto; flex-direction:column; align-items:flex-end; text-align:right; gap:2px; padding:12px 18px; }
  .imz-trk-eta b{ font-size:1.15rem; }
}
.imz-trk-h{ font-size:1rem; font-weight:700; margin:0 0 14px; display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.imz-trk-h .bi{ color:var(--brand-700); }
.imz-trk-count{ margin-left:auto; font-size:.78rem; font-weight:500; color:var(--imz-muted); }
.imz-trk-sub{ font-size:.86rem; font-weight:600; margin:18px 0 10px; color:var(--imz-ink); }
/* stepper: vertical (mobile) → horizontal (md+) */
.imz-trk-steps{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.imz-trk-steps li{ position:relative; display:flex; gap:12px; padding-bottom:18px; }
.imz-trk-steps li:last-child{ padding-bottom:0; }
.imz-trk-steps li::before{ content:""; position:absolute; left:17px; top:36px; bottom:0; width:2px; background:#e6e8f0; }
.imz-trk-steps li:last-child::before{ display:none; }
.imz-trk-steps li.done::before{ background:var(--imz-success); }
.imz-trk-steps li.current::before{ background:linear-gradient(#0f9d58, #e6e8f0); }
.imz-trk-steps .dot{ flex:0 0 auto; width:36px; height:36px; border-radius:50%; background:#f1f2f7; color:#a3a9ba; display:flex; align-items:center; justify-content:center; font-size:.95rem; position:relative; z-index:1; border:3px solid #fff; box-shadow:0 0 0 1px #e6e8f0; }
.imz-trk-steps li.done .dot{ background:var(--imz-success); color:#fff; box-shadow:0 0 0 1px var(--imz-success); }
.imz-trk-steps li.current .dot{ background:var(--accent-grad); color:#fff; box-shadow:0 0 0 5px rgba(122,73,240,.18); animation:imzTrkPulse 2s ease-in-out infinite; }
.imz-trk-steps li.danger .dot{ background:var(--imz-danger); color:#fff; box-shadow:0 0 0 5px rgba(225,29,72,.15); animation:none; }
.imz-trk-steps li.muted .dot{ background:#64748b; color:#fff; box-shadow:0 0 0 4px rgba(100,116,139,.15); animation:none; }
.imz-trk-steps .txt{ min-width:0; padding-top:6px; }
.imz-trk-steps b{ display:block; font-size:.92rem; font-weight:600; color:#9aa0b1; }
.imz-trk-steps li.done b{ color:var(--imz-ink); }
.imz-trk-steps li.danger b{ color:var(--imz-danger); }
.imz-trk-steps time{ display:block; font-size:.76rem; color:var(--imz-muted); margin-top:1px; }
.imz-trk-steps time.pending{ color:#b5bac8; }
.imz-trk-steps em{ display:block; font-style:normal; font-size:.76rem; color:var(--imz-muted); margin-top:2px; }
@keyframes imzTrkPulse{ 0%,100%{ box-shadow:0 0 0 4px rgba(122,73,240,.18); } 50%{ box-shadow:0 0 0 9px rgba(122,73,240,.06); } }
@media (min-width:768px){
  .imz-trk-steps{ flex-direction:row; }
  .imz-trk-steps li{ flex:1 1 0; flex-direction:column; align-items:center; text-align:center; gap:8px; padding:0 4px; }
  .imz-trk-steps li::before{ left:calc(50% + 22px); right:calc(-50% + 22px); width:auto; top:17px; bottom:auto; height:3px; border-radius:3px; }
  .imz-trk-steps li.current::before{ background:linear-gradient(90deg, #0f9d58, #e6e8f0); }
  .imz-trk-steps .txt{ padding-top:0; }
  .imz-trk-steps b{ font-size:.84rem; }
}
@media (prefers-reduced-motion:reduce){ .imz-trk-steps li.current .dot{ animation:none; } }
.imz-trk-cols{ display:grid; gap:0 18px; }
@media (min-width:992px){ .imz-trk-cols{ grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); align-items:start; } }
.imz-trk-courier{ display:flex; gap:12px; align-items:center; background:#f6f7fb; border-radius:14px; padding:12px; }
.imz-trk-courier-logo{ flex:0 0 auto; width:44px; height:44px; border-radius:12px; background:var(--accent-grad); color:#fff; font-weight:700; display:flex; align-items:center; justify-content:center; font-size:1.1rem; }
.imz-trk-courier small{ font-size:.72rem; color:var(--imz-muted); }
.imz-trk-awb{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; margin-top:4px; font-size:.8rem; color:var(--imz-muted); }
.imz-trk-awb code{ color:var(--imz-ink); background:#fff; border:1px solid var(--imz-line); border-radius:8px; padding:.15rem .45rem; font-size:.82rem; letter-spacing:.03em; }
.imz-trk-copy{ border:0; background:none; padding:.15rem .3rem; color:var(--brand-700); font-weight:600; font-size:.78rem; display:inline-flex; gap:4px; align-items:center; border-radius:6px; cursor:pointer; }
.imz-trk-copy:hover{ background:var(--brand-50); } .imz-trk-copy.ok{ color:var(--imz-success); }
.imz-trk-scans{ list-style:none; margin:0; padding:0 0 0 4px; }
.imz-trk-scans li{ position:relative; padding:0 0 12px 20px; border-left:2px solid #e6e8f0; margin-left:4px; }
.imz-trk-scans li:last-child{ border-left-color:transparent; padding-bottom:0; }
.imz-trk-scans li::before{ content:""; position:absolute; left:-6px; top:4px; width:10px; height:10px; border-radius:50%; background:#cfd3df; border:2px solid #fff; }
.imz-trk-scans li.now::before{ background:var(--brand-700); box-shadow:0 0 0 3px rgba(122,73,240,.18); }
.imz-trk-scans b{ display:block; font-size:.86rem; font-weight:600; } .imz-trk-scans small{ color:var(--imz-muted); font-size:.74rem; }
.imz-trk-more{ margin-top:10px; } .imz-trk-more summary{ cursor:pointer; font-size:.82rem; font-weight:600; color:var(--brand-700); margin-bottom:10px; }
.imz-trk-wait{ display:flex; gap:12px; align-items:flex-start; background:linear-gradient(135deg,#f7f8ff,#fff); }
.imz-trk-wait > .bi{ font-size:1.3rem; color:var(--brand-700); }
.imz-trk-wait b{ display:block; font-size:.92rem; } .imz-trk-wait small{ color:var(--imz-muted); font-size:.8rem; line-height:1.45; }
.imz-trk-items{ list-style:none; margin:0; padding:0; }
.imz-trk-items > li{ padding:12px 0; border-top:1px solid var(--imz-line); }
.imz-trk-items > li:first-child{ border-top:0; padding-top:0; }
.imz-trk-item{ display:flex; gap:12px; align-items:center; }
.imz-trk-item > img{ width:56px; height:74px; object-fit:cover; border-radius:10px; background:#f3f4f8; flex:0 0 auto; border:1px solid var(--imz-line); }
.imz-trk-item-name{ font-size:.88rem; font-weight:500; line-height:1.35; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.imz-trk-item small{ color:var(--imz-muted); font-size:.76rem; }
.imz-trk-item-price{ font-size:.9rem; white-space:nowrap; }
.imz-trk-kids{ display:flex; gap:6px; overflow-x:auto; scrollbar-width:none; margin-top:10px; padding-left:68px; }
.imz-trk-kids::-webkit-scrollbar{ display:none; }
.imz-trk-kids figure{ position:relative; margin:0; flex:0 0 auto; }
.imz-trk-kids img{ width:44px; height:58px; object-fit:cover; border-radius:8px; background:#f3f4f8; border:1px solid var(--imz-line); display:block; }
.imz-trk-kids figcaption{ position:absolute; left:2px; bottom:2px; background:rgba(17,24,39,.72); color:#fff; font-size:.55rem; font-weight:600; border-radius:4px; padding:0 3px; }
@media (max-width:420px){ .imz-trk-kids{ padding-left:0; } }
.imz-trk-amount{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.imz-trk-amount small{ display:block; font-size:.74rem; color:var(--imz-muted); } .imz-trk-amount b{ font-size:1.4rem; font-weight:700; letter-spacing:-.01em; }
.imz-trk-pill{ font-size:.76rem; font-weight:600; border-radius:999px; padding:.3rem .7rem; white-space:nowrap; }
.imz-trk-pill.tone-success{ background:#e7f7ee; color:#0b7a43; } .imz-trk-pill.tone-warn{ background:#fff4dc; color:#8a5300; }
.imz-trk-pill.tone-danger{ background:#ffe4e8; color:#b3123b; } .imz-trk-pill.tone-muted{ background:#eef0f4; color:#475569; }
.imz-trk-meta{ margin-top:10px; font-size:.8rem; color:var(--imz-muted); display:flex; gap:6px; align-items:center; flex-wrap:wrap; }
.imz-trk-addr{ margin:0; font-size:.88rem; line-height:1.55; color:#2b3044; }
.imz-trk-lock{ display:block; margin-top:8px; font-size:.76rem; color:var(--imz-muted); } .imz-trk-lock a{ font-weight:600; }
.imz-trk-help{ display:grid; grid-template-columns:auto 1fr; gap:12px; align-items:start; background:linear-gradient(135deg,#effcf4,#fff); border-color:#cdeedb; }
.imz-trk-help .ic{ width:42px; height:42px; border-radius:14px; background:#25d366; color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.25rem; }
.imz-trk-help h2{ font-size:.95rem; font-weight:700; margin:0 0 2px; } .imz-trk-help p{ margin:0; font-size:.8rem; color:var(--imz-muted); }
.imz-trk-help .imz-btn{ grid-column:1 / -1; }
.imz-trk-wa{ background:#25d366; color:#fff; } .imz-trk-wa:hover{ background:#1ebe5b; color:#fff; }
.imz-trk-actions{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:14px; }
.imz-trk-actions .imz-btn{ font-size:.86rem; padding:.75rem .6rem; }

/* pdp+home sections v2 */
/* ---- shared ---- */
.imz-v2-sec{ padding:22px 0 0; }
@media (min-width:992px){ .imz-v2-sec{ padding-top:36px; } }
.imz-v2-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-bottom:12px; }
.imz-v2-h{ font-size:clamp(1.12rem, 2.2vw, 1.5rem); font-weight:700; letter-spacing:-.02em; margin:2px 0 0; line-height:1.2; }
.imz-v2-ico{ flex:0 0 auto; width:42px; height:42px; border-radius:12px; display:inline-flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#eef4ff,#f3edff); color:var(--brand-700); font-size:1.2rem; }

/* ---- why you'll love it ---- */
.imz-v2-why .imz-v2-h{ margin-bottom:12px; }
.imz-v2-why-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
@media (min-width:992px){ .imz-v2-why-grid{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; } }
.imz-v2-why-item{ display:flex; flex-direction:column; gap:10px; background:#fff; border:1px solid var(--imz-line); border-radius:var(--imz-radius); padding:14px; }
@media (min-width:768px){ .imz-v2-why-item{ flex-direction:row; align-items:flex-start; padding:16px; } }
.imz-v2-why-item b{ display:block; font-size:.9rem; font-weight:600; line-height:1.3; color:var(--imz-ink); }
.imz-v2-why-item small{ display:block; font-size:.78rem; color:var(--imz-muted); line-height:1.45; margin-top:3px; }
@media (max-width:767.98px){
  .imz-v2-why-item{ padding:12px; gap:8px; }
  .imz-v2-why-item .imz-v2-ico{ width:34px; height:34px; font-size:1rem; border-radius:10px; }
  .imz-v2-why-item b{ font-size:.84rem; }
  .imz-v2-why-item small{ font-size:.74rem; line-height:1.4; }
}

/* ---- jump nav (desktop) ---- */
.imz-v2-jump{ display:none; }
@media (min-width:992px){
  .imz-v2-jump{ display:block; position:fixed; left:0; right:0; top:70px; z-index:1020; background:rgba(255,255,255,.94); backdrop-filter:saturate(170%) blur(12px); -webkit-backdrop-filter:saturate(170%) blur(12px);
    border-bottom:1px solid var(--imz-line); box-shadow:0 8px 20px rgba(17,24,39,.06); transform:translateY(-110%); opacity:0; pointer-events:none; transition:transform .25s ease, opacity .2s ease; }
  .imz-v2-jump.on{ transform:none; opacity:1; pointer-events:auto; }
}
.imz-v2-jump-in{ max-width:1280px; margin:0 auto; padding:8px 16px; display:flex; align-items:center; gap:4px; }
.imz-v2-jump-name{ font-weight:600; font-size:.9rem; margin-right:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:320px; }
.imz-v2-jump a{ font-size:.86rem; font-weight:500; color:var(--imz-muted); text-decoration:none; padding:.45rem .75rem; border-radius:999px; white-space:nowrap; }
.imz-v2-jump a:hover{ color:var(--imz-ink); background:#f3f4f8; }
.imz-v2-jump a.on{ color:var(--brand-700); background:var(--brand-50); }
.imz-v2-jump a em{ font-style:normal; font-size:.72rem; background:#eef0f5; border-radius:999px; padding:.05rem .4rem; margin-left:2px; }
.imz-v2-jump-price{ margin-left:auto; font-weight:700; font-size:1.05rem; margin-right:8px; }

/* ---- frequently bought together ---- */
.imz-v2-fbt-box{ background:#fff; border:1px solid var(--imz-line); border-radius:var(--imz-radius); padding:14px; display:grid; gap:14px; }
@media (min-width:992px){ .imz-v2-fbt-box{ grid-template-columns:1fr 300px; padding:20px; gap:28px; align-items:center; } }
.imz-v2-fbt-pics{ display:flex; align-items:center; gap:6px; margin-bottom:12px; }
.imz-v2-fbt-pic{ flex:1 1 0; min-width:0; max-width:150px; aspect-ratio:4/5; border-radius:12px; overflow:hidden; background:#f3f4f8; border:1px solid var(--imz-line); transition:opacity .2s, filter .2s; }
.imz-v2-fbt-pic img{ width:100%; height:100%; object-fit:cover; display:block; }
.imz-v2-fbt-pic.off{ opacity:.35; filter:grayscale(1); }
.imz-v2-fbt-plus{ flex:0 0 auto; width:24px; height:24px; border-radius:50%; background:#f3f4f8; color:var(--imz-muted); display:inline-flex; align-items:center; justify-content:center; font-size:.8rem; }
.imz-v2-fbt-list{ list-style:none; margin:0; padding:0; display:grid; gap:2px; }
.imz-v2-fbt-row{ position:relative; display:flex; align-items:center; gap:10px; padding:8px 4px; cursor:pointer; margin:0; border-radius:10px; }
.imz-v2-fbt-row:hover{ background:#fafbfd; }
.imz-v2-fbt-row input{ position:absolute; opacity:0; pointer-events:none; }
.imz-v2-fbt-check{ flex:0 0 auto; width:20px; height:20px; border-radius:6px; border:1.5px solid #c9cdd8; display:inline-flex; align-items:center; justify-content:center; color:#fff; font-size:.8rem; transition:all .15s; }
.imz-v2-fbt-row input:checked + .imz-v2-fbt-check{ background:var(--accent-grad); border-color:transparent; }
.imz-v2-fbt-row input:not(:checked) + .imz-v2-fbt-check .bi{ opacity:0; }
.imz-v2-fbt-row input:focus-visible + .imz-v2-fbt-check{ outline:2px solid var(--brand-600); outline-offset:2px; }
.imz-v2-fbt-name{ flex:1; min-width:0; font-size:.86rem; line-height:1.35; color:var(--imz-ink); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.imz-v2-fbt-name em{ font-style:normal; font-weight:600; font-size:.7rem; color:var(--brand-700); background:var(--brand-50); border-radius:6px; padding:.08rem .35rem; margin-right:4px; }
.imz-v2-fbt-price{ flex:0 0 auto; text-align:right; line-height:1.2; font-size:.88rem; }
.imz-v2-fbt-price b{ display:block; font-weight:600; }
.imz-v2-fbt-price s{ font-size:.74rem; color:#9aa1b2; }
.imz-v2-fbt-sum{ background:linear-gradient(160deg,#f7f8fc,#f3efff); border-radius:14px; padding:14px; }
.imz-v2-fbt-total{ display:flex; align-items:baseline; justify-content:space-between; gap:8px; margin-bottom:10px; }
.imz-v2-fbt-total > span{ font-size:.84rem; color:var(--imz-muted); }
.imz-v2-fbt-total b{ font-size:1.35rem; font-weight:700; }
.imz-v2-fbt-total s{ font-size:.85rem; color:#9aa1b2; }
.imz-v2-fbt-offer{ display:flex; gap:8px; align-items:flex-start; font-size:.8rem; font-weight:500; color:#8a5a00; background:#fff7e6; border:1px dashed #f5c26b; border-radius:10px; padding:8px 10px; margin-bottom:10px; line-height:1.4; }
.imz-v2-fbt-offer.ok{ color:#08703f; background:#ecfdf3; border-color:#86d9ab; }
.imz-v2-fbt-offer .bi{ margin-top:1px; }

/* ---- room preview ---- */
.imz-v2-room-box{ background:#fff; border:1px solid var(--imz-line); border-radius:var(--imz-radius); padding:12px; }
@media (min-width:992px){
  .imz-v2-room-box{ padding:18px; display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); grid-template-areas:"stage tabs" "stage foot"; grid-template-rows:auto 1fr; gap:0 26px; }
  .imz-v2-room-stage{ grid-area:stage; }
  .imz-v2-room-box .imz-v2-room-tabs{ grid-area:tabs; flex-direction:column; background:transparent; padding:0; gap:8px; margin:4px 0 16px; }
  .imz-v2-room-box .imz-v2-room-tabs button{ justify-content:flex-start; padding:.75rem .9rem; border:1px solid var(--imz-line); border-radius:12px; font-size:.9rem; }
  .imz-v2-room-box .imz-v2-room-tabs button.on{ border-color:var(--brand-600); background:var(--brand-50); color:var(--brand-700); box-shadow:none; }
  .imz-v2-room-box .imz-v2-room-foot{ grid-area:foot; flex-direction:column; align-items:flex-start; justify-content:flex-start; margin-top:0; gap:12px; }
  .imz-v2-room-box .imz-v2-room-cap{ font-size:.84rem; line-height:1.5; }
}
.imz-v2-room-tabs{ display:flex; gap:6px; background:#f3f4f8; border-radius:12px; padding:4px; margin-bottom:12px; }
.imz-v2-room-tabs button{ flex:1; border:0; background:transparent; border-radius:9px; padding:.5rem .4rem; font-size:.84rem; font-weight:500; color:var(--imz-muted); display:inline-flex; align-items:center; justify-content:center; gap:6px; white-space:nowrap; }
.imz-v2-room-tabs button.on{ background:#fff; color:var(--imz-ink); box-shadow:0 2px 8px rgba(17,24,39,.08); }
.imz-v2-room-stage{ position:relative; }
.imz-v2-scene{ position:relative; border-radius:12px; overflow:hidden; aspect-ratio:1/1; background:#eee; }
@media (min-width:576px){ .imz-v2-scene{ aspect-ratio:4/3; } }
.imz-v2-scene svg{ display:block; width:100%; height:100%; }
.imz-v2-scene[hidden]{ display:none; }
.imz-v2-room-note{ position:absolute; left:10px; bottom:10px; font-size:.72rem; font-weight:500; background:rgba(255,255,255,.88); color:var(--imz-ink); border-radius:999px; padding:.25rem .6rem; }
.imz-v2-frame .sh{ fill:rgba(20,16,10,.22); filter:blur(.8px); }
.imz-v2-frame .fr{ fill:#22252e; }
.imz-v2-frame .mat{ fill:#fff; }
.imz-v2-frame rect, .imz-v2-frame image{ transition:all .35s ease; }
/* scene palettes */
.imz-v2-scene-living .w1{ stop-color:#efe5d6; } .imz-v2-scene-living .w2{ stop-color:#e2d3bf; }
.imz-v2-scene-living .s1{ fill:#7b8a9e; } .imz-v2-scene-living .s2{ fill:#6c7a8d; } .imz-v2-scene-living .s3{ fill:#8a99ad; }
.imz-v2-scene-living .p1{ fill:#e8b77d; } .imz-v2-scene-living .p2{ fill:#f1ede6; }
.imz-v2-scene-living .plant ellipse{ fill:#5f8a5a; } .imz-v2-scene-living .pot{ fill:#c98a5e; }
.imz-v2-scene-bedroom .w1{ stop-color:#e1e9e4; } .imz-v2-scene-bedroom .w2{ stop-color:#cfdcd4; }
.imz-v2-scene-bedroom .head{ fill:#c7b39b; } .imz-v2-scene-bedroom .pil{ fill:#f6f3ee; } .imz-v2-scene-bedroom .duvet{ fill:#fbfaf7; } .imz-v2-scene-bedroom .fold{ fill:#d9c4a8; }
.imz-v2-scene-bedroom .stand rect{ fill:#a88664; } .imz-v2-scene-bedroom .lamp path{ fill:#f3e6cf; } .imz-v2-scene-bedroom .lamp rect{ fill:#8c7254; }
.imz-v2-scene-study .w1{ stop-color:#eceaf4; } .imz-v2-scene-study .w2{ stop-color:#dcd9ea; }
.imz-v2-scene-study .desk rect{ fill:#9b7653; } .imz-v2-scene-study .desk .drawer{ fill:#8a6847; }
.imz-v2-scene-study .mon rect{ fill:#262a35; } .imz-v2-scene-study .screen{ fill:#5b6fa8; opacity:.85; }
.imz-v2-scene-study .lamp rect, .imz-v2-scene-study .lamp path{ fill:#2f3442; } .imz-v2-scene-study .lamp .arm{ fill:none; stroke:#2f3442; }
.imz-v2-scene-study .mug{ fill:#e7795b; } .imz-v2-scene-study .chair{ fill:#3b4152; }
.imz-v2-room-foot{ display:flex; flex-direction:column; gap:8px; margin-top:12px; }
@media (min-width:768px){ .imz-v2-room-foot{ flex-direction:row; align-items:center; justify-content:space-between; } }
.imz-v2-room-sizes{ display:flex; gap:6px; flex-wrap:wrap; }
.imz-v2-room-sizes button{ display:inline-flex; align-items:center; gap:7px; border:1px solid var(--imz-line); background:#fff; border-radius:10px; padding:.42rem .7rem; font-size:.84rem; font-weight:500; color:var(--imz-ink); }
.imz-v2-room-sizes button.on{ border-color:var(--brand-600); background:var(--brand-50); color:var(--brand-700); }
.imz-v2-room-sizes em{ font-style:normal; font-size:.66rem; font-weight:600; text-transform:uppercase; letter-spacing:.04em; color:var(--brand-700); }
.imz-v2-room-ico{ display:inline-block; width:calc(var(--rw) * .45px); height:calc(var(--rh) * .45px); max-height:20px; max-width:14px; border:1.5px solid currentColor; border-radius:2px; opacity:.7; }
.imz-v2-room-cap{ font-size:.8rem; color:var(--imz-muted); margin:0; }
.imz-v2-room-lbl{ font-size:.72rem; font-weight:600; text-transform:uppercase; letter-spacing:.06em; color:var(--imz-muted); margin-bottom:-4px; }
.imz-v2-room-cap b{ color:var(--imz-ink); font-weight:600; }

/* ---- pack banner ---- */
.imz-v2-pack{ position:relative; display:grid; grid-template-columns:auto 1fr; gap:14px; align-items:center; text-decoration:none; color:#fff; border-radius:20px; padding:16px; overflow:hidden;
  background:radial-gradient(120% 140% at 100% 0%, rgba(255,255,255,.2), transparent 55%), var(--accent-grad); box-shadow:0 14px 34px rgba(122,73,240,.22); }
.imz-v2-pack:hover{ color:#fff; }
@media (min-width:768px){ .imz-v2-pack{ grid-template-columns:auto 1fr auto; padding:20px 26px; gap:24px; } }
.imz-v2-pack-pics{ position:relative; width:96px; height:104px; }
@media (min-width:768px){ .imz-v2-pack-pics{ width:150px; height:120px; } }
.imz-v2-pack-pics img{ position:absolute; top:6px; width:58px; height:78px; object-fit:cover; border-radius:8px; border:2px solid #fff; box-shadow:0 6px 16px rgba(0,0,0,.2); background:#fff;
  left:calc(var(--i) * 13px); transform:rotate(calc((var(--i) - 1.5) * 6deg)); }
@media (min-width:768px){ .imz-v2-pack-pics img{ width:72px; height:96px; left:calc(var(--i) * 24px); } }
.imz-v2-pack-body{ display:flex; flex-direction:column; gap:4px; min-width:0; }
.imz-v2-pack-body .imz-h-kicker{ color:rgba(255,255,255,.85); }
.imz-v2-pack-body h2{ font-size:clamp(1rem, 2.2vw, 1.35rem); font-weight:700; margin:0; line-height:1.25; letter-spacing:-.01em; }
.imz-v2-pack-meta{ font-size:.82rem; opacity:.92; }
.imz-v2-pack-meta s{ opacity:.7; }
.imz-v2-pack-save{ align-self:flex-start; font-size:.76rem; font-weight:600; background:rgba(255,255,255,.18); border-radius:999px; padding:.22rem .6rem; margin-top:2px; }
.imz-v2-pack-cta{ grid-column:1 / -1; color:var(--brand-700)!important; }
@media (min-width:768px){ .imz-v2-pack-cta{ grid-column:auto; } }

/* ---- delivery timeline ---- */
.imz-v2-tl-box{ background:#fff; border:1px solid var(--imz-line); border-radius:var(--imz-radius); padding:16px; }
@media (min-width:992px){ .imz-v2-tl-box{ padding:22px 24px; display:grid; grid-template-columns:1fr 1.2fr; gap:10px 32px; align-items:center; } }
.imz-v2-tl-head p{ font-size:.82rem; margin-top:4px; }
.imz-v2-steps{ list-style:none; margin:16px 0 4px; padding:0; display:grid; grid-template-columns:repeat(3,1fr); position:relative; }
@media (min-width:992px){ .imz-v2-steps{ margin:0; grid-column:2; grid-row:1 / span 3; } }
.imz-v2-steps::before{ content:""; position:absolute; top:19px; left:16.6%; right:16.6%; height:2px; background:repeating-linear-gradient(90deg,#d6d9e3 0 6px,transparent 6px 11px); }
.imz-v2-steps li{ position:relative; text-align:center; display:flex; flex-direction:column; align-items:center; gap:2px; padding:0 4px; }
.imz-v2-step-dot{ width:40px; height:40px; border-radius:50%; background:#fff; border:1.5px solid #d6d9e3; color:var(--imz-muted); display:inline-flex; align-items:center; justify-content:center; font-size:1.05rem; margin-bottom:6px; position:relative; z-index:1; }
.imz-v2-steps li.done .imz-v2-step-dot{ background:var(--accent-grad); border-color:transparent; color:#fff; box-shadow:0 6px 14px rgba(122,73,240,.3); }
.imz-v2-steps b{ font-size:.84rem; font-weight:600; }
.imz-v2-steps small{ font-size:.74rem; color:var(--imz-muted); line-height:1.35; }
.imz-v2-badges{ display:flex; flex-wrap:wrap; gap:6px; margin-top:14px; }
@media (min-width:992px){ .imz-v2-badges{ margin-top:6px; } }
.imz-v2-badges span{ display:inline-flex; align-items:center; gap:6px; font-size:.76rem; font-weight:500; background:#f5f6fa; border-radius:999px; padding:.32rem .65rem; color:#2b3142; }
.imz-v2-badges .bi{ color:var(--brand-700); }
.imz-v2-wa{ display:flex; align-items:center; gap:12px; margin-top:12px; padding:10px 12px; border-radius:12px; background:#effaf3; border:1px solid #c6ecd4; text-decoration:none; color:#0b5b33; }
@media (min-width:992px){ .imz-v2-wa{ grid-column:1; margin-top:4px; } }
.imz-v2-wa:hover{ color:#0b5b33; background:#e5f7ec; }
.imz-v2-wa > .bi-whatsapp{ font-size:1.5rem; color:#25d366; }
.imz-v2-wa b{ display:block; font-size:.86rem; font-weight:600; }
.imz-v2-wa small{ display:block; font-size:.74rem; opacity:.8; }

/* ---- review highlights + customer photos ---- */
.imz-v2-hl{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-bottom:12px; }
@media (min-width:992px){ .imz-v2-hl{ grid-template-columns:auto auto auto 1fr; gap:12px; } }
.imz-v2-hl > div{ background:#fff; border:1px solid var(--imz-line); border-radius:14px; padding:12px 14px; display:flex; flex-direction:column; justify-content:center; gap:2px; }
.imz-v2-hl b{ font-size:1.3rem; font-weight:700; line-height:1.1; }
.imz-v2-hl small{ font-size:.74rem; color:var(--imz-muted); }
.imz-v2-hl-stars{ color:#f59e0b; font-size:.72rem; letter-spacing:1px; }
.imz-v2-hl-big{ background:linear-gradient(150deg,#fff8eb,#fff)!important; }
@media (min-width:992px){ .imz-v2-hl-big, .imz-v2-hl-stat{ min-width:150px; } }
.imz-v2-hl > .imz-v2-hl-col{ grid-column:1 / -1; flex-direction:row; align-items:center; justify-content:flex-start; gap:10px; font-size:.84rem; color:#2b3142; }
@media (min-width:992px){ .imz-v2-hl > .imz-v2-hl-col{ grid-column:auto; } }
.imz-v2-hl-col .bi{ color:var(--brand-700); font-size:1.1rem; }
.imz-v2-hl-col b{ font-size:inherit; font-weight:600; }
.imz-v2-photos{ display:grid; grid-auto-flow:column; grid-auto-columns:30%; gap:8px; overflow-x:auto; scrollbar-width:none; scroll-snap-type:x mandatory; }
.imz-v2-photos::-webkit-scrollbar{ display:none; }
@media (min-width:768px){ .imz-v2-photos{ grid-auto-columns:15%; } }
.imz-v2-photo{ position:relative; border:0; padding:0; aspect-ratio:1; border-radius:12px; overflow:hidden; background:#eef0f5; scroll-snap-align:start; }
.imz-v2-photo img{ width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.imz-v2-photo:hover img{ transform:scale(1.05); }
.imz-v2-photo span{ position:absolute; left:6px; bottom:6px; font-size:.7rem; font-weight:600; background:rgba(0,0,0,.6); color:#fff; border-radius:999px; padding:.1rem .45rem; }
.imz-v2-photo span .bi{ color:#fbbf24; }
.imz-v2-plb .modal-content{ border:0; border-radius:18px; overflow:hidden; }
.imz-v2-plb .btn-close{ position:absolute; top:10px; right:10px; z-index:2; background-color:#fff; border-radius:50%; padding:.6rem; opacity:1; }
.imz-v2-plb img{ width:100%; max-height:70vh; object-fit:contain; background:#111; }
.imz-v2-plb-cap{ padding:12px 16px; font-size:.88rem; }
.imz-v2-plb-nav{ position:absolute; top:35%; width:40px; height:40px; border-radius:50%; border:0; background:rgba(255,255,255,.9); }
.imz-v2-plb-nav.prev{ left:10px; } .imz-v2-plb-nav.next{ right:10px; }
/* ---- home: shop by price ---- */
.imz-v2-prices{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
@media (min-width:992px){ .imz-v2-prices{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; } }
.imz-v2-pricecard{ position:relative; display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:104px; padding:14px; border-radius:18px; text-decoration:none; color:var(--imz-ink); overflow:hidden; border:1px solid var(--imz-line); transition:transform .2s ease, box-shadow .2s ease; }
.imz-v2-pricecard:hover{ color:var(--imz-ink); transform:translateY(-2px); box-shadow:var(--imz-shadow); }
.imz-v2-pricecard.pc0{ background:linear-gradient(140deg,#ecfdf3,#ffffff); }
.imz-v2-pricecard.pc1{ background:linear-gradient(140deg,#eef4ff,#ffffff); }
.imz-v2-pricecard.pc2{ background:linear-gradient(140deg,#f3edff,#ffffff); }
.imz-v2-pricecard.pc3{ background:linear-gradient(140deg,#1b1f33,#3b2c79); color:#fff; border-color:transparent; }
.imz-v2-pricecard.pc3:hover{ color:#fff; }
.imz-v2-pc-text{ display:flex; flex-direction:column; gap:2px; min-width:0; position:relative; z-index:1; }
.imz-v2-pc-text small{ font-size:.7rem; font-weight:600; text-transform:uppercase; letter-spacing:.06em; opacity:.6; }
.imz-v2-pc-text b{ font-size:clamp(1rem, 2vw, 1.3rem); font-weight:700; letter-spacing:-.02em; line-height:1.15; }
.imz-v2-pc-text em{ font-style:normal; font-size:.78rem; font-weight:500; opacity:.75; margin-top:4px; }
.imz-v2-pc-img{ flex:0 0 auto; width:56px; height:72px; border-radius:8px; overflow:hidden; background:#fff; box-shadow:0 8px 18px rgba(17,24,39,.14); transform:rotate(6deg); margin-right:-2px; }
@media (min-width:992px){ .imz-v2-pc-img{ width:68px; height:88px; } }
.imz-v2-pc-img img{ width:100%; height:100%; object-fit:cover; }
@media (max-width:575.98px){
  .imz-v2-pricecard{ min-height:96px; padding:12px 12px 12px 14px; align-items:flex-start; }
  .imz-v2-pc-text small{ display:none; }
  .imz-v2-pc-text b{ font-size:1.02rem; white-space:nowrap; }
  .imz-v2-pc-text em{ font-size:.74rem; }
  .imz-v2-pc-img{ position:absolute; right:-8px; bottom:-14px; width:50px; height:66px; opacity:.95; }
}

/* ---- home: deal of the day ---- */
.imz-v2-deal{ border-radius:24px; padding:16px; background:radial-gradient(120% 100% at 0% 0%, #fff4e5 0%, transparent 55%), linear-gradient(135deg,#fff7ed,#fdf2f8 60%,#f5f3ff); border:1px solid rgba(245,158,11,.18); }
@media (min-width:992px){ .imz-v2-deal{ padding:26px; } }
.imz-v2-deal-head{ display:flex; flex-direction:column; gap:12px; margin-bottom:14px; }
@media (min-width:768px){ .imz-v2-deal-head{ flex-direction:row; align-items:center; justify-content:space-between; } }
.imz-v2-deal-kicker{ display:inline-flex; align-items:center; gap:6px; font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:#c2410c; }
.imz-v2-deal h2{ font-size:clamp(1.2rem, 2.6vw, 1.75rem); font-weight:700; letter-spacing:-.02em; margin:4px 0 2px; }
.imz-v2-deal h2 span{ background:linear-gradient(90deg,#ea580c,#db2777); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.imz-v2-deal-head p{ margin:0; font-size:.88rem; color:var(--imz-muted); }
.imz-v2-count{ display:flex; align-items:center; gap:6px; flex:0 0 auto; }
.imz-v2-count small{ font-size:.75rem; font-weight:600; color:var(--imz-muted); margin-right:4px; }
.imz-v2-count span{ display:flex; flex-direction:column; align-items:center; min-width:50px; padding:6px 4px; border-radius:12px; background:#1b1f33; color:#fff; line-height:1; }
.imz-v2-count b{ font-size:1.25rem; font-weight:700; font-variant-numeric:tabular-nums; }
.imz-v2-count i{ font-style:normal; font-size:.6rem; opacity:.65; margin-top:3px; text-transform:uppercase; letter-spacing:.06em; }
.imz-v2-count em{ font-style:normal; font-weight:700; color:#1b1f33; }
.imz-v2-deal-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
@media (min-width:992px){ .imz-v2-deal-grid{ grid-template-columns:repeat(4,minmax(0,1fr)); } }

/* ---- home: shop by room ---- */
.imz-v2-rooms{ display:grid; grid-auto-flow:column; grid-auto-columns:42%; gap:10px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding-bottom:4px; }
.imz-v2-rooms::-webkit-scrollbar{ display:none; }
@media (min-width:576px){ .imz-v2-rooms{ grid-auto-columns:28%; } }
@media (min-width:992px){ .imz-v2-rooms{ grid-auto-flow:row; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; overflow:visible; } }
.imz-v2-roomtile{ scroll-snap-align:start; display:flex; flex-direction:column; border-radius:18px; overflow:hidden; text-decoration:none; color:var(--imz-ink); background:#fff; border:1px solid var(--imz-line); transition:transform .2s ease, box-shadow .2s ease; }
.imz-v2-roomtile:hover{ color:var(--imz-ink); transform:translateY(-3px); box-shadow:var(--imz-shadow); }
.imz-v2-rt-wall{ position:relative; display:block; aspect-ratio:5/4; background:var(--wall,#efe5d6); overflow:hidden; }
.imz-v2-rt-poster{ position:absolute; top:16%; width:27%; aspect-ratio:3/4; background:#fff; border:3px solid #23262f; box-shadow:2px 4px 10px rgba(0,0,0,.18); overflow:hidden; transition:transform .3s ease; }
.imz-v2-rt-poster img{ width:100%; height:100%; object-fit:cover; object-position:50% 62%; transform:scale(1.5); transform-origin:50% 62%; }
.imz-v2-rt-poster.p0{ left:calc(50% - 30%); }
.imz-v2-rt-poster.p1{ left:calc(50% + 3%); top:22%; width:24%; }
.imz-v2-rt-poster:only-of-type{ left:36.5%; }
.imz-v2-roomtile:hover .imz-v2-rt-poster.p0{ transform:rotate(-2deg); }
.imz-v2-roomtile:hover .imz-v2-rt-poster.p1{ transform:rotate(2deg); }
.imz-v2-rt-furn{ position:absolute; left:8%; right:8%; bottom:0; height:24%; background:var(--furn,#7b8a9e); border-radius:12px 12px 0 0; }
.imz-v2-rt-furn::before, .imz-v2-rt-furn::after{ content:""; position:absolute; bottom:0; width:12%; height:70%; background:inherit; filter:brightness(.9); border-radius:8px 8px 0 0; }
.imz-v2-rt-furn::before{ left:-6%; } .imz-v2-rt-furn::after{ right:-6%; }
.imz-v2-rt-text{ display:flex; flex-direction:column; gap:1px; padding:10px 12px 12px; }
.imz-v2-rt-text b{ font-size:.92rem; font-weight:600; display:flex; align-items:center; gap:6px; }
.imz-v2-rt-text b .bi{ color:var(--brand-700); }
.imz-v2-rt-text small{ font-size:.76rem; color:var(--imz-muted); }
.rt-living{ --wall:#efe5d6; --furn:#7b8a9e; }
.rt-bedroom{ --wall:#e1e9e4; --furn:#c7b39b; }
.rt-study{ --wall:#eceaf4; --furn:#9b7653; }
.rt-gym{ --wall:#2b2f3a; --furn:#4a505e; }
.rt-kids{ --wall:#fdeedd; --furn:#f2a7a0; }
.rt-office{ --wall:#e7ecf2; --furn:#56607a; }
.rt-cafe{ --wall:#efe1d1; --furn:#8a5a3c; }
.rt-garage{ --wall:#d9dce2; --furn:#30343f; }
.rt-gym .imz-v2-rt-poster, .rt-garage .imz-v2-rt-poster{ border-color:#0d0f14; }
.rt-study .imz-v2-rt-furn, .rt-office .imz-v2-rt-furn{ height:7%; left:12%; right:12%; bottom:18%; border-radius:3px; }
.rt-study .imz-v2-rt-furn::before, .rt-study .imz-v2-rt-furn::after, .rt-office .imz-v2-rt-furn::before, .rt-office .imz-v2-rt-furn::after{ width:4%; height:260%; top:100%; bottom:auto; border-radius:0; filter:brightness(.85); }
.rt-study .imz-v2-rt-furn::before, .rt-office .imz-v2-rt-furn::before{ left:4%; }
.rt-study .imz-v2-rt-furn::after, .rt-office .imz-v2-rt-furn::after{ right:4%; }

/* ---- home: custom in 3 steps ---- */
.imz-v2-steps3{ display:grid; gap:16px; background:#fff; border:1px solid var(--imz-line); border-radius:24px; padding:18px; }
@media (min-width:992px){ .imz-v2-steps3{ grid-template-columns:minmax(0,.9fr) minmax(0,1.5fr); gap:36px; padding:30px; align-items:center; } }
.imz-v2-steps3-intro h2{ font-size:clamp(1.2rem, 2.6vw, 1.75rem); font-weight:700; letter-spacing:-.02em; margin:4px 0 6px; }
.imz-v2-steps3-intro p{ color:var(--imz-muted); font-size:.92rem; margin:0 0 14px; }
.imz-v2-steps3-list{ list-style:none; margin:0; padding:0; display:grid; gap:10px; counter-reset:st; }
@media (min-width:768px){ .imz-v2-steps3-list{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; } }
.imz-v2-steps3-list li{ position:relative; display:flex; gap:12px; align-items:flex-start; background:#f8f9fc; border-radius:16px; padding:14px; counter-increment:st; }
@media (min-width:768px){ .imz-v2-steps3-list li{ flex-direction:column; padding:18px; } }
.imz-v2-steps3-list li::after{ content:counter(st); position:absolute; top:10px; right:14px; font-size:1.6rem; font-weight:700; color:rgba(122,73,240,.14); line-height:1; }
.imz-v2-steps3-list b{ display:block; font-size:.92rem; font-weight:600; }
.imz-v2-steps3-list small{ display:block; font-size:.8rem; color:var(--imz-muted); line-height:1.45; margin-top:2px; }

/* ---- home: instagram band ---- */
.imz-v2-insta{ display:flex; align-items:center; gap:14px; padding:14px 16px; border-radius:18px; text-decoration:none; color:#fff; flex-wrap:wrap;
  background:linear-gradient(110deg,#833ab4 0%,#c13584 45%,#e1306c 70%,#f77737 100%); box-shadow:0 12px 28px rgba(193,53,132,.22); }
.imz-v2-insta:hover{ color:#fff; }
.imz-v2-insta-ico{ width:44px; height:44px; border-radius:14px; background:rgba(255,255,255,.18); display:inline-flex; align-items:center; justify-content:center; font-size:1.35rem; flex:0 0 auto; }
.imz-v2-insta-text{ flex:1 1 220px; min-width:0; }
.imz-v2-insta-text b{ display:block; font-size:.98rem; font-weight:600; }
.imz-v2-insta-text small{ display:block; font-size:.8rem; opacity:.9; }
.imz-v2-insta-text strong{ font-weight:600!important; }
.imz-v2-insta .imz-btn{ color:#c13584; }
@media (max-width:575.98px){ .imz-v2-insta .imz-btn{ width:100%; } }

/* ---- home: trust numbers ---- */
.imz-v2-stats{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
@media (min-width:992px){ .imz-v2-stats{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; } }
.imz-v2-stat{ background:#fff; border:1px solid var(--imz-line); border-radius:18px; padding:16px; display:flex; flex-direction:column; gap:2px; }
.imz-v2-stat .bi{ font-size:1.15rem; color:var(--brand-700); margin-bottom:6px; }
.imz-v2-stat .bi-star-fill{ color:#f59e0b; }
.imz-v2-stat b{ font-size:clamp(1.3rem, 2.8vw, 1.85rem); font-weight:700; letter-spacing:-.02em; line-height:1.1; }
.imz-v2-stat small{ font-size:.8rem; color:var(--imz-muted); }

/* ---- home: updates band ---- */
.imz-v2-updates{ display:grid; gap:16px; border-radius:24px; padding:22px 18px; color:#fff; background:radial-gradient(120% 140% at 100% 0%, rgba(255,255,255,.16), transparent 50%), linear-gradient(135deg,#0c1021,#2e2a6b); }
@media (min-width:992px){ .imz-v2-updates{ grid-template-columns:1.2fr 1fr; align-items:center; padding:32px 36px; gap:36px; } }
.imz-v2-updates h2{ font-size:clamp(1.15rem, 2.4vw, 1.6rem); font-weight:700; letter-spacing:-.02em; margin:4px 0 6px; }
.imz-v2-updates p{ margin:0; opacity:.75; font-size:.9rem; }
.imz-v2-updates-cta{ display:flex; flex-direction:column; gap:10px; }
.imz-v2-wa-btn{ background:#25d366; color:#06331a; font-weight:600; }
.imz-v2-wa-btn:hover{ color:#06331a; background:#2ee173; }
.imz-v2-updates-form{ display:flex; gap:8px; }
.imz-v2-updates-form .imz-input{ flex:1; min-width:0; background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.18); color:#fff; }
.imz-v2-updates-form .imz-input::placeholder{ color:rgba(255,255,255,.55); }

/* ---- home: spacing / type refinement for the lighter font ---- */
.imz-h-head h2{ font-weight:700; }
.imz-h-head p{ font-weight:400; }
.imz-h-kicker{ font-weight:600; }
/* end pdp+home v2 */

/* track + packs v2 — packs (builder page + index) */
:root{ --imz-hdr:60px; }
@media (min-width:992px){ :root{ --imz-hdr:70px; } }
.imz-pk-eyebrow{ display:inline-flex; gap:6px; align-items:center; font-size:.7rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--brand-700); background:var(--brand-50); border-radius:999px; padding:.26rem .65rem; }
/* mini header */
.imz-pk-mh{ position:fixed; left:0; right:0; top:var(--imz-hdr); z-index:1025; background:rgba(255,255,255,.96); backdrop-filter:saturate(170%) blur(14px); -webkit-backdrop-filter:saturate(170%) blur(14px); border-bottom:1px solid var(--imz-line); box-shadow:0 8px 20px rgba(17,24,39,.06); transform:translateY(-110%); opacity:0; pointer-events:none; transition:transform .25s ease, opacity .2s ease; }
.imz-pk-mh.on{ transform:none; opacity:1; pointer-events:auto; }
.imz-pk-mh-in{ display:flex; align-items:center; gap:10px; height:56px; }
.imz-pk-mh img{ width:40px; height:40px; border-radius:10px; object-fit:cover; background:#f3f4f8; flex:0 0 auto; }
.imz-pk-mh-copy{ min-width:0; flex:1; line-height:1.25; }
.imz-pk-mh-copy b{ display:block; font-size:.84rem; font-weight:600 !important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.imz-pk-mh-copy span{ display:block; font-size:.74rem; color:var(--imz-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.imz-pk-mh-copy em{ font-style:normal; color:var(--imz-ink); font-weight:600; } .imz-pk-mh-copy s{ margin-left:2px; }
.imz-pk-mh-prog{ position:relative; width:36px; height:36px; flex:0 0 auto; }
.imz-pk-mh-prog svg{ transform:rotate(-90deg); }
.imz-pk-mh-prog circle{ fill:none; stroke-width:3.5; } .imz-pk-mh-prog .bg{ stroke:#eceef5; } .imz-pk-mh-prog .fg{ stroke:var(--brand-700); stroke-linecap:round; transition:stroke-dashoffset .4s ease; }
.imz-pk-mh-prog span{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:.6rem; font-weight:600; }
.imz-pk-mh .imz-btn{ flex:0 0 auto; white-space:nowrap; }
@media (max-width:575.98px){ .imz-pk-mh .imz-btn{ display:none; } }
/* summary + rule card */
.imz-pk-rule.star{ background:#fff7e0; color:#8a5a00; text-decoration:none; } .imz-pk-rule.star .bi{ color:#f5a524; }
.imz-pk-title{ font-weight:700; }
.imz-pk-per-line{ font-size:.82rem; margin-top:2px; }
.imz-pk-rulecard{ margin-top:14px; border-radius:18px; border:1px solid var(--brand-200); background:linear-gradient(135deg,#f3f6ff 0%,#f6f1ff 100%); padding:14px; }
.imz-pk-rulecard-main{ display:flex; gap:12px; align-items:center; }
.imz-pk-rulecard-ic{ width:42px; height:42px; border-radius:12px; background:var(--accent-grad); color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.15rem; flex:0 0 auto; }
.imz-pk-rulecard-main small{ display:block; font-size:.72rem; color:var(--imz-muted); font-weight:500; }
.imz-pk-rulecard-main b{ display:block; font-size:1.12rem; font-weight:700 !important; letter-spacing:-.01em; }
.imz-pk-rulecard-facts{ list-style:none; margin:12px 0 0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }
.imz-pk-rulecard-facts li{ background:#fff; border-radius:12px; padding:8px 6px; text-align:center; border:1px solid rgba(107,104,247,.12); }
.imz-pk-rulecard-facts b{ display:block; font-size:.95rem; } .imz-pk-rulecard-facts span{ display:block; font-size:.7rem; color:var(--imz-muted); }
.imz-pk-rulecard-slots{ display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.imz-pk-rulecard-slots span{ font-size:.76rem; font-weight:500; background:#fff; border-radius:999px; padding:.25rem .65rem; color:#3b2d8f; border:1px dashed var(--brand-200); }
.imz-pk-rulecard-note{ font-size:.7rem; color:var(--imz-muted); margin-top:8px; }
.imz-pk-highlights li{ font-weight:500; }
/* how it works */
.imz-pk-how{ margin-top:22px; }
.imz-pk-how-title{ font-size:1.05rem; font-weight:700; margin:0 0 10px; }
.imz-pk-how ol{ list-style:none; margin:0; padding:0; display:grid; gap:8px; counter-reset:none; }
.imz-pk-how li{ display:flex; gap:12px; align-items:center; background:#fff; border:1px solid var(--imz-line); border-radius:16px; padding:12px 14px; position:relative; }
.imz-pk-how .n{ flex:0 0 auto; width:34px; height:34px; border-radius:50%; background:var(--brand-50); color:var(--brand-700); font-weight:700; display:flex; align-items:center; justify-content:center; border:1.5px solid var(--brand-200); }
.imz-pk-how b{ display:block; font-size:.9rem; } .imz-pk-how small{ display:block; font-size:.78rem; color:var(--imz-muted); line-height:1.35; }
@media (min-width:768px){ .imz-pk-how ol{ grid-template-columns:repeat(3,1fr); gap:12px; } .imz-pk-how li{ padding:16px; } }
/* builder */
.imz-pk-builder{ scroll-margin-top:calc(var(--imz-hdr) + 8px); padding-top:22px; }
.imz-pk-builder-head{ align-items:flex-end; }
.imz-pk-builder-head h2{ margin:8px 0 2px; }
.imz-pk-builder-head p b{ color:var(--imz-ink); }
@media (max-width:575.98px){ .imz-pk-builder-head [data-pk-surprise]{ padding:.5rem .65rem; } .imz-pk-builder-head [data-pk-surprise] span{ display:none; } }
.imz-pk-filters{ top:var(--imz-hdr); z-index:1020; margin:0 -16px 8px; padding:8px 16px 10px; background:rgba(246,247,251,.96); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); gap:8px; transition:top .25s ease; }
@media (min-width:992px){ body.pk-mh-on .imz-pk-filters{ top:calc(var(--imz-hdr) + 56px); } .imz-pk-filters{ margin:0 0 8px; padding:10px 0 12px; } }
.imz-pk-filter-row{ display:grid; gap:8px; }
@media (min-width:992px){ .imz-pk-filter-row{ grid-template-columns:300px minmax(0,1fr); align-items:center; gap:14px; } }
.imz-pk-search .imz-input{ height:42px; border-radius:12px; background:#fff; }
.imz-pk-themes{ flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; margin:0 -16px; padding:0 16px; }
.imz-pk-themes::-webkit-scrollbar{ display:none; }
@media (min-width:992px){ .imz-pk-themes{ margin:0; padding:0; } }
.imz-pk-themes .imz-chip{ padding:.36rem .8rem; font-size:.8rem; font-weight:500; }
.imz-pk-tabs{ display:flex; gap:4px; background:#e9ebf3; border-radius:14px; padding:4px; width:100%; }
@media (min-width:768px){ .imz-pk-tabs{ width:auto; align-self:flex-start; justify-self:start; min-width:320px; } }
.imz-pk-tabs[hidden]{ display:none; }
.imz-pk-tab{ flex:1; border:0; background:transparent; border-radius:10px; height:40px; padding:0 14px; font-weight:600; font-size:.9rem; color:#4b5168; display:flex; align-items:center; justify-content:center; gap:8px; cursor:pointer; transition:background .15s, color .15s; white-space:nowrap; }
.imz-pk-tab.active{ background:#fff; color:var(--imz-ink); box-shadow:0 2px 8px rgba(17,24,39,.08); }
.imz-pk-tab .cnt{ font-size:.74rem; font-weight:600; background:rgba(122,73,240,.1); color:var(--brand-700); border-radius:999px; padding:.08rem .45rem; }
.imz-pk-tab.full .cnt{ background:#e7f7ee; color:var(--imz-success); }
.imz-pk-tab:focus-visible{ outline:3px solid var(--brand-600); outline-offset:1px; }
.imz-pk-mixhint{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; background:#ecfdf3; border:1px solid #bfead2; color:#0b6b3a; border-radius:14px; padding:10px 12px; font-size:.86rem; margin:0 0 12px; }
.imz-pk-mixhint[hidden]{ display:none; }
.imz-pk-mixhint > span{ flex:1; min-width:160px; } .imz-pk-mixhint b{ color:#0b6b3a; }
.imz-pk-lock{ background:#fff; }
/* item cards */
.imz-pk-grid{ gap:10px; }
@media (min-width:576px){ .imz-pk-grid{ grid-template-columns:repeat(3, minmax(0,1fr)); } }
@media (min-width:992px){ .imz-pk-grid{ grid-template-columns:repeat(5, minmax(0,1fr)); gap:16px; } }
.imz-pk-item .imz-card-img{ aspect-ratio:3/4; background:#f3f4f8; display:block; position:relative; overflow:hidden; }
.imz-pk-item .imz-card-img img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s ease, opacity .2s, filter .2s; }
@media (hover:hover){ .imz-pk-item:hover .imz-card-img img{ transform:scale(1.03); } }
.imz-pk-item .imz-card-body{ padding:8px 10px 10px; gap:8px; display:flex; flex-direction:column; flex:1; }
.imz-pk-item .imz-pk-name{ font-size:.82rem; font-weight:500; min-height:2.6em; }
.imz-pk-item .imz-pk-act{ margin-top:auto; }
.imz-pk-item .imz-add{ height:38px; border-radius:11px; font-size:.84rem; font-weight:600; }
.imz-pk-item .imz-add.added{ background:#ecfdf3; color:#0b6b3a; border:1.5px solid #9edbb8; }
.imz-pk-step{ height:38px !important; border-radius:11px; background:var(--accent-grad); }
.imz-pk-step span{ font-size:.8rem; font-weight:600; display:flex; gap:4px; align-items:center; }
.imz-pk-size{ left:8px; top:8px; bottom:auto; background:rgba(255,255,255,.94); color:var(--imz-ink); border-radius:999px; padding:.14rem .5rem; font-size:.66rem; box-shadow:0 1px 4px rgba(0,0,0,.12); }
.imz-pick .imz-pick-count{ left:auto; right:8px; top:8px; }
.imz-pk-full{ position:absolute; inset:auto 0 0 0; z-index:2; background:rgba(17,24,39,.72); color:#fff; font-size:.72rem; font-weight:600; text-align:center; padding:6px 4px; }
.imz-pk-full:empty{ display:none; }
.imz-pick.size-full .imz-card-img img{ opacity:.45; filter:grayscale(.8); }
.imz-pick.size-full .imz-add{ background:#eef0f5; color:#8a90a2; }
.imz-pick.picked .imz-card{ border-color:var(--brand-600); box-shadow:0 0 0 3px rgba(122,73,240,.14); }
.imz-pk-skel{ border-radius:var(--imz-radius); }
.imz-pk-empty{ text-align:center; padding:36px 16px; background:#fff; border:1px dashed #d8dbe6; border-radius:18px; }
.imz-pk-empty[hidden]{ display:none; }
.imz-pk-empty .ic{ width:56px; height:56px; border-radius:50%; background:var(--brand-50); color:var(--brand-700); display:inline-flex; align-items:center; justify-content:center; font-size:1.5rem; margin-bottom:8px; }
.imz-pk-empty h3{ font-size:1.05rem; font-weight:600; margin:0 0 4px; }
/* tray v2 */
.imz-pk-tray .imz-slot{ border-radius:9px; font-size:.7rem; font-weight:600; }
.imz-pk-groups{ display:flex; gap:12px; overflow-x:auto; scrollbar-width:none; }
.imz-pk-groups::-webkit-scrollbar{ display:none; }
.imz-pk-group{ flex:0 0 auto; border-radius:12px; padding:4px 6px 6px; background:#f6f7fb; border:1.5px solid transparent; transition:border-color .2s, background .2s; }
.imz-pk-group.active{ border-color:var(--brand-200); background:#f4f2ff; }
.imz-pk-group.full{ background:#effaf3; border-color:#cdeedb; }
.imz-pk-group-h{ font-size:.7rem; color:var(--imz-muted); font-weight:500; margin:0 0 4px 2px; white-space:nowrap; display:flex; gap:4px; align-items:center; }
.imz-pk-group-h b{ color:var(--imz-ink); }
.imz-pk-group-h [data-group-count]{ margin-left:auto; padding-left:8px; font-weight:600; color:var(--brand-700); }
.imz-pk-group.full [data-group-count]{ color:var(--imz-success); }
.imz-pk-group .imz-slots{ gap:4px; }
.imz-pk-tray.is-mix .imz-slot{ flex-basis:36px; height:46px; }
@media (min-width:992px){ .imz-pk-tray.is-mix .imz-slot{ flex-basis:42px; height:54px; } }
body.imz-pk-page:has(.imz-pk-tray.is-mix){ padding-bottom:180px; }
body.imz-pk-page:has(.imz-pk-tray.is-mix) .imz-toasts{ bottom:calc(180px + var(--imz-safe-b)); }
@media (min-width:992px){ body.imz-pk-page:has(.imz-pk-tray.is-mix){ padding-bottom:120px; } body.imz-pk-page:has(.imz-pk-tray.is-mix) .imz-toasts{ bottom:120px; } }
.imz-pk-cta{ font-weight:600; }
/* quality + trust */
.imz-pk-quality{ background:#fff; border:1px solid var(--imz-line); border-radius:20px; padding:18px; display:grid; gap:14px; }
.imz-pk-quality-head h2{ font-size:clamp(1.1rem, 2.6vw, 1.45rem); font-weight:700; margin:8px 0 0; }
.imz-pk-quality-list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.imz-pk-quality-list li{ display:flex; flex-direction:column; gap:8px; padding:12px; border-radius:14px; background:#f8f9fc; }
.imz-pk-quality-list .ic{ width:36px; height:36px; border-radius:11px; background:var(--accent-grad); color:#fff; display:flex; align-items:center; justify-content:center; }
.imz-pk-quality-list b{ display:block; font-size:.86rem; } .imz-pk-quality-list small{ display:block; font-size:.74rem; color:var(--imz-muted); line-height:1.35; }
@media (min-width:992px){ .imz-pk-quality{ grid-template-columns:280px 1fr; align-items:center; padding:24px 26px; } .imz-pk-quality-list{ grid-template-columns:repeat(4,1fr); } }
.imz-pk-trust{ list-style:none; margin:12px 0 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.imz-pk-trust li{ display:flex; gap:10px; align-items:center; background:#fff; border:1px solid var(--imz-line); border-radius:14px; padding:10px 12px; }
.imz-pk-trust .bi{ font-size:1.2rem; color:var(--brand-700); flex:0 0 auto; }
.imz-pk-trust b{ display:block; font-size:.8rem; line-height:1.25; } .imz-pk-trust small{ display:block; font-size:.7rem; color:var(--imz-muted); line-height:1.3; }
@media (min-width:768px){ .imz-pk-trust{ grid-template-columns:repeat(4,1fr); gap:12px; } }
/* reviews */
.imz-pk-rev-score{ display:flex; flex-direction:column; align-items:flex-end; line-height:1.1; }
.imz-pk-rev-score b{ font-size:1.5rem; font-weight:700 !important; } .imz-pk-rev-score small{ font-size:.72rem; color:var(--imz-muted); }
.imz-pk-stars{ --r:5; display:inline-block; width:5.5em; height:1.1em; font-size:.9rem; vertical-align:-.2em; background:linear-gradient(90deg,#f5a524 calc(var(--r) / 5 * 100%), #d9dce5 0); -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.5l2.94 5.96 6.56.95-4.75 4.63 1.12 6.54L12 17.5l-5.87 3.08 1.12-6.54L2.5 9.41l6.56-.95z'/%3E%3C/svg%3E") left center / 20% 100% repeat-x; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.5l2.94 5.96 6.56.95-4.75 4.63 1.12 6.54L12 17.5l-5.87 3.08 1.12-6.54L2.5 9.41l6.56-.95z'/%3E%3C/svg%3E") left center / 20% 100% repeat-x; }
.imz-pk-rev{ margin:0; background:#fff; border:1px solid var(--imz-line); border-radius:16px; padding:14px; display:flex; flex-direction:column; gap:6px; }
.imz-pk-rev > b{ font-size:.9rem; }
.imz-pk-rev blockquote{ margin:0; font-size:.86rem; color:#2b3044; line-height:1.5; flex:1; }
.imz-pk-rev figcaption{ display:flex; gap:8px; align-items:center; margin-top:4px; }
.imz-pk-rev .av{ width:32px; height:32px; border-radius:50%; background:var(--brand-50); color:var(--brand-700); font-weight:600; display:flex; align-items:center; justify-content:center; flex:0 0 auto; }
.imz-pk-rev figcaption b{ display:block; font-size:.8rem; } .imz-pk-rev figcaption small{ display:block; font-size:.7rem; color:var(--imz-muted); }
/* pack cards (index + related) */
.imz-pk-card .imz-card-title{ font-weight:600; }
.imz-pk-card-rule{ display:inline-flex; gap:5px; align-items:center; font-size:.74rem; font-weight:600; color:#3b2d8f; background:var(--brand-50); border-radius:8px; padding:.2rem .5rem; align-self:flex-start; }
.imz-pk-card-per{ font-size:.76rem; color:var(--imz-success); font-weight:600; }
.imz-pk-card .imz-price b{ font-weight:700; }
.imz-pk-card .imz-card-body{ gap:6px; }
/* index hero v2 */
.imz-pk-hero{ background:linear-gradient(135deg,#eef2ff 0%,#f5efff 60%,#fff 100%); }
.imz-pk-hero h1{ font-weight:700; }
.imz-pk-hero-stats{ display:flex; gap:18px; flex-wrap:wrap; margin-top:16px; }
.imz-pk-hero-stats div{ line-height:1.15; } .imz-pk-hero-stats b{ display:block; font-size:1.15rem; } .imz-pk-hero-stats small{ font-size:.74rem; color:var(--imz-muted); }
.imz-pk-filterbar{ display:flex; gap:6px; overflow-x:auto; scrollbar-width:none; margin:0 0 14px; }
.imz-pk-filterbar::-webkit-scrollbar{ display:none; }
.imz-pk-filterbar .imz-chip{ font-weight:500; }
.imz-pk-feature{ display:grid; gap:14px; align-items:center; background:var(--imz-ink); color:#fff; border-radius:22px; padding:20px; overflow:hidden; position:relative; }
.imz-pk-feature::after{ content:""; position:absolute; right:-80px; bottom:-120px; width:300px; height:300px; border-radius:50%; background:var(--accent-grad); opacity:.35; filter:blur(20px); }
.imz-pk-feature > *{ position:relative; z-index:1; }
.imz-pk-feature h2{ font-size:clamp(1.15rem, 3vw, 1.6rem); font-weight:700; margin:6px 0; }
.imz-pk-feature p{ color:rgba(255,255,255,.75); margin:0 0 12px; font-size:.9rem; }
.imz-pk-feature .imz-pk-eyebrow{ background:rgba(255,255,255,.12); color:#fff; }
.imz-pk-feature-art{ display:flex; gap:8px; justify-content:center; }
.imz-pk-feature-art img{ width:30%; max-width:120px; aspect-ratio:3/4; object-fit:cover; border-radius:12px; border:3px solid rgba(255,255,255,.9); background:#222; }
.imz-pk-feature-art img:nth-child(2){ transform:translateY(-10px); }
@media (min-width:768px){ .imz-pk-feature{ grid-template-columns:1.2fr 1fr; padding:30px 36px; } }
/* track + packs v2 — style.css sets html,body{height:100%}, which stops the sticky header after one screen; undo it on these pages */
body.imz-pk-page, body.imz-pk-index, body.imz-trk-page{ height:auto; min-height:100%; }
.imz-pk-filters .imz-pk-mixhint{ margin:0; padding:8px 10px; font-size:.82rem; }
.imz-pk-filters .imz-pk-mixhint .imz-btn{ padding:.4rem .7rem; font-size:.8rem; }
.imz-pk-feature{ margin:8px 0 6px; }

/* sticky header fix: style.css sets html,body{height:100%} which breaks position:sticky after one screen */
html, body { height: auto; }
body { min-height: 100%; }

/* pdp cta v3 — Add to cart + Buy now */
.imz-pdp-qtyline{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin:14px 0 12px; }
.imz-pdp-qtylabel{ font-size:.85rem; font-weight:600; color:var(--imz-muted); }
.imz-pdp-qtyline .imz-pdp-qty{ height:44px; border-radius:12px; }
.imz-pdp-qtyline .imz-pdp-qty button{ min-height:44px; width:42px; font-size:1rem; color:var(--imz-ink); transition:background .15s; }
.imz-pdp-qtyline .imz-pdp-qty button:hover{ background:#f3f4f8; }
.imz-pdp-qtyline .imz-pdp-qty input{ width:44px; font-weight:600; }

.imz-pdp-cta{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.imz-cta{ position:relative; display:inline-flex; align-items:center; justify-content:center; gap:8px; height:54px; padding:0 16px;
  border-radius:14px; font-size:1rem; font-weight:600; letter-spacing:.005em; line-height:1; cursor:pointer; user-select:none;
  transition:transform .12s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease, border-color .2s ease; white-space:nowrap; }
.imz-cta .bi{ font-size:1.15rem; line-height:1; }
.imz-cta:active{ transform:scale(.98); }
.imz-cta:focus-visible{ outline:3px solid rgba(122,73,240,.35); outline-offset:2px; }
.imz-cta-cart{ background:#fff; color:var(--brand-800, #6a3dd7); border:1.5px solid var(--brand-600, #6b68f7); }
.imz-cta-cart:hover{ background:var(--brand-50, #eef4ff); box-shadow:0 6px 18px rgba(107,104,247,.18); }
.imz-cta-buy{ border:0; color:#fff; background:linear-gradient(100deg, #6b8dff 0%, #7a49f0 55%, #6a3dd7 100%); background-size:160% 100%;
  box-shadow:0 10px 24px rgba(122,73,240,.32); }
.imz-cta-buy:hover{ background-position:100% 0; box-shadow:0 12px 28px rgba(122,73,240,.42); }
.imz-cta-buy::after{ content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  background:linear-gradient(120deg, transparent 30%, rgba(255,255,255,.28) 50%, transparent 70%); background-size:250% 100%; background-position:120% 0; }
@media (hover:hover){ .imz-cta-buy:hover::after{ animation:imzShine 1.1s ease; } }
@keyframes imzShine{ from{ background-position:120% 0; } to{ background-position:-120% 0; } }
.imz-cta[disabled]{ opacity:.55; pointer-events:none; box-shadow:none; }
.imz-cta.is-loading{ pointer-events:none; color:transparent !important; }
.imz-cta.is-loading .bi, .imz-cta.is-loading small{ visibility:hidden; }
.imz-cta.is-loading::before{ content:""; position:absolute; width:20px; height:20px; border-radius:50%;
  border:2.5px solid currentColor; border-color:rgba(255,255,255,.9) rgba(255,255,255,.9) rgba(255,255,255,.9) transparent; animation:imzSpin .7s linear infinite; }
.imz-cta-cart.is-loading::before{ border-color:var(--brand-600) var(--brand-600) var(--brand-600) transparent; }
@keyframes imzSpin{ to{ transform:rotate(360deg); } }
.imz-cta-stack{ display:flex; flex-direction:column; align-items:center; gap:3px; line-height:1.05; }
.imz-cta-stack small{ font-size:.74rem; font-weight:500; opacity:.92; }

.imz-pdp-assure{ display:flex; flex-wrap:wrap; justify-content:center; gap:6px 14px; margin-top:12px; font-size:.78rem; color:var(--imz-muted); }
.imz-pdp-assure .bi{ color:var(--brand-700, #7a49f0); margin-right:3px; }

/* mobile sticky bar: two equal buttons, appears only when the main buttons are off-screen */
.imz-pdp-sticky{ gap:10px; padding-top:10px; transition:transform .25s ease, opacity .25s ease; }
.imz-pdp-sticky .imz-cta{ flex:1 1 0; height:50px; font-size:.95rem; }
.imz-pdp-sticky.is-hidden{ transform:translateY(110%); opacity:0; pointer-events:none; }
@media (max-width:380px){ .imz-cta{ font-size:.92rem; gap:6px; padding:0 10px; } .imz-cta .bi{ font-size:1.05rem; } }

/* PDP "View in 3D" (viewer: assets/js/imz-viewer3d.js) */
.imz-pdp-3d{ position:absolute; left:12px; bottom:14px; z-index:3; display:inline-flex; align-items:center; gap:7px; height:40px; padding:0 15px 0 12px; border:0; border-radius:999px;
  background:rgba(255,255,255,.95); color:var(--imz-ink); font-weight:600; font-size:.88rem; box-shadow:0 6px 18px rgba(20,22,31,.16); transition:transform .15s ease, box-shadow .15s ease; }
.imz-pdp-3d .bi{ font-size:1.15rem; background:var(--accent-grad, linear-gradient(135deg,#3b6cff,#7a49f0)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.imz-pdp-3d:hover{ transform:translateY(-1px); box-shadow:0 10px 24px rgba(20,22,31,.2); }
.imz-pdp-3d:focus-visible{ outline:3px solid var(--brand-500, #7a49f0); outline-offset:2px; }
.imz-pdp-3d.is-loading{ opacity:.7; pointer-events:none; }
@media (max-width:991.98px){ .imz-pdp-3d{ bottom:28px; height:36px; font-size:.82rem; } }
