html.spm-lock,body.spm-lock { overflow:hidden; overscroll-behavior:none; }

.catalog-card-actions button.buy {
  width:auto;
  min-height:35px;
  padding:0 13px;
  border:1px solid rgba(240,56,75,.3);
  border-radius:9px;
  color:#ff7181;
  background:rgba(240,56,75,.08);
  font:750 11px/1 Inter,sans-serif;
  cursor:pointer;
  transition:border-color .2s ease,background .2s ease,color .2s ease,transform .2s ease;
}
.catalog-card-actions button.buy:hover { border-color:rgba(240,56,75,.48); background:rgba(240,56,75,.14); color:#fff; transform:translateY(-1px); }

.spm[hidden] { display:none!important; }
.spm { --spm-red:#f0384b; --spm-pink:#ff7181; --spm-line:rgba(255,255,255,.09); position:fixed; inset:0; z-index:5000; display:grid; place-items:center; padding:18px; opacity:0; visibility:hidden; transition:opacity .18s ease,visibility .18s ease; }
.spm.open { opacity:1; visibility:visible; }
.spm-backdrop { position:absolute; inset:0; background:rgba(2,2,4,.84); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); }
.spm-dialog { position:relative; width:min(1480px,100%); height:min(920px,calc(100dvh - 36px)); overflow:hidden; border:1px solid rgba(255,255,255,.1); border-radius:24px; background:#090a0c; box-shadow:0 35px 120px rgba(0,0,0,.7); transform:translateY(18px) scale(.988); transition:transform .22s ease; }
.spm.open .spm-dialog { transform:none; }
.spm-content { height:100%; overflow-y:auto; overscroll-behavior:contain; touch-action:pan-y; -webkit-overflow-scrolling:touch; scrollbar-width:thin; scrollbar-color:rgba(255,255,255,.18) transparent; }
.spm-content::-webkit-scrollbar { width:7px; }
.spm-content::-webkit-scrollbar-thumb { border-radius:10px; background:rgba(255,255,255,.16); }
.spm-close { position:absolute; z-index:10; top:17px; right:17px; display:grid; place-items:center; width:42px; height:42px; border:1px solid rgba(255,255,255,.11); border-radius:13px; color:#fff; background:rgba(15,15,18,.78); backdrop-filter:blur(10px); cursor:pointer; transition:.2s ease; }
.spm-close:hover { border-color:rgba(240,56,75,.4); color:var(--spm-pink); transform:rotate(4deg); }

.spm-head { position:relative; overflow:hidden; display:flex; justify-content:space-between; align-items:end; gap:30px; padding:38px 68px 27px 38px; border-bottom:1px solid var(--spm-line); background:linear-gradient(115deg,rgba(240,56,75,.09),transparent 42%); }
.spm-head::after { content:""; position:absolute; right:7%; top:-170px; width:330px; height:330px; border-radius:50%; background:rgba(240,56,75,.12); filter:blur(65px); pointer-events:none; }
.spm-head>div { position:relative; z-index:1; max-width:850px; }
.spm-kicker { display:block; color:var(--spm-pink); font-size:12px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.spm-head h2 { margin:7px 0 9px; color:#fff; font-size:clamp(32px,4vw,54px); line-height:1; letter-spacing:-.045em; }
.spm-head p { max-width:820px; margin:12px 0 0; color:#9a9da7; font-size:14px; line-height:1.65; }
.spm-tags { display:flex; flex-wrap:wrap; gap:7px; }
.spm-tags span { display:inline-flex; align-items:center; gap:7px; min-height:27px; padding:0 10px; border:1px solid rgba(255,255,255,.075); border-radius:999px; color:#c6c8ce; background:rgba(255,255,255,.03); font-size:11px; font-weight:700; }
.spm-tags i { color:#55d98e; }
.spm-full-page { position:relative; z-index:1; flex:0 0 auto; display:inline-flex; align-items:center; gap:8px; min-height:40px; padding:0 14px; border:1px solid var(--spm-line); border-radius:11px; color:#b7b9c0; background:rgba(255,255,255,.025); font-size:12px; font-weight:700; }
.spm-full-page:hover { border-color:rgba(240,56,75,.3); color:#fff; }

.spm-main-grid { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(330px,.72fr); gap:18px; padding:24px 28px; }
.spm-gallery,.spm-buy-card { min-width:0; border:1px solid var(--spm-line); border-radius:18px; background:#0d0e11; }
.spm-gallery { overflow:hidden; }
.spm-media-stage { display:grid; place-items:center; width:100%; aspect-ratio:16/8.6; overflow:hidden; background:radial-gradient(circle at 50% 40%,rgba(240,56,75,.1),transparent 55%),#07080a; }
.spm-media-stage img,.spm-media-stage iframe { width:100%; height:100%; border:0; display:block; }
.spm-media-stage img { object-fit:cover; }
.spm-media-fallback { display:grid; place-items:center; gap:13px; color:#747780; text-align:center; }
.spm-media-fallback i { color:rgba(240,56,75,.7); font-size:42px; }
.spm-media-fallback span { font-size:13px; }
.spm-media-rail { display:flex; gap:9px; overflow-x:auto; padding:11px; border-top:1px solid var(--spm-line); scrollbar-width:none; }
.spm-media-rail::-webkit-scrollbar { display:none; }
.spm-thumb { position:relative; width:104px; height:62px; flex:0 0 104px; overflow:hidden; padding:0; border:1px solid var(--spm-line); border-radius:10px; background:#08090b; cursor:pointer; opacity:.58; transition:.2s ease; }
.spm-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.spm-thumb-play { position:absolute; inset:0; display:grid; place-items:center; color:#fff; background:rgba(0,0,0,.24); text-shadow:0 2px 10px #000; font-size:14px; }
.spm-thumb:hover,.spm-thumb.active { opacity:1; border-color:rgba(240,56,75,.62); box-shadow:0 0 0 2px rgba(240,56,75,.12); }

.spm-buy-card { align-self:start; padding:19px; }
.spm-price-row { display:flex; justify-content:space-between; align-items:start; gap:16px; padding:2px 1px 17px; border-bottom:1px solid var(--spm-line); }
.spm-price-row>div { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px; }
.spm-price-row strong { color:#fff; font-size:31px; letter-spacing:-.04em; }
.spm-price-row span { color:#8e919a; font-size:12px; }
.spm-stock { display:inline-flex!important; align-items:center!important; gap:7px!important; padding:6px 8px; border-radius:8px; color:#56dc91!important; background:rgba(86,220,145,.07); font-size:10px!important; font-weight:800; text-transform:uppercase; }
.spm-stock i { width:6px; height:6px; border-radius:50%; background:currentColor; box-shadow:0 0 0 4px rgba(86,220,145,.08); }
.spm-plan-list { display:grid; gap:9px; margin:16px 0; }
.spm-plan { display:grid; grid-template-columns:19px minmax(0,1fr) auto; align-items:center; gap:10px; width:100%; min-height:61px; padding:10px 12px; border:1px solid var(--spm-line); border-radius:12px; color:#fff; background:rgba(255,255,255,.018); text-align:left; cursor:pointer; transition:.18s ease; }
.spm-plan:hover { border-color:rgba(255,255,255,.17); background:rgba(255,255,255,.03); }
.spm-plan.active { border-color:rgba(255,113,129,.72); background:rgba(240,56,75,.065); box-shadow:inset 0 0 0 1px rgba(240,56,75,.1); }
.spm-radio { display:grid; place-items:center; width:16px; height:16px; border:1px solid rgba(255,255,255,.22); border-radius:50%; }
.spm-plan.active .spm-radio { border-color:var(--spm-pink); }
.spm-radio i { width:8px; height:8px; border-radius:50%; background:transparent; }
.spm-plan.active .spm-radio i { background:var(--spm-pink); }
.spm-plan-copy { min-width:0; }
.spm-plan-copy strong,.spm-plan-copy small { display:block; }
.spm-plan-copy strong { font-size:14px; }
.spm-plan-copy small { margin-top:3px; color:#858892; font-size:10px; }
.spm-plan>b { font-size:14px; white-space:nowrap; }
.spm-no-plans { padding:20px; border:1px dashed var(--spm-line); border-radius:12px; color:#8f929b; font-size:12px; text-align:center; }
.spm-purchase { display:flex; justify-content:center; align-items:center; gap:9px; min-height:47px; border-radius:12px; color:#fff; background:linear-gradient(135deg,#f0384b,#d92743); box-shadow:0 13px 27px rgba(240,56,75,.17); font-size:13px; font-weight:800; transition:.2s ease; }
.spm-purchase:hover { color:#fff; transform:translateY(-1px); box-shadow:0 17px 32px rgba(240,56,75,.24); }
.spm-purchase.disabled { opacity:.4; pointer-events:none; }
.spm-trust-row { display:flex; flex-wrap:wrap; justify-content:center; gap:15px; margin-top:15px; color:#80838c; font-size:10px; }
.spm-trust-row span { display:inline-flex; align-items:center; gap:6px; }
.spm-trust-row i { color:#a5a7ae; }

.spm-section { padding:31px 28px; border-top:1px solid var(--spm-line); }
.spm-section-heading>span { color:#8e919a; font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.spm-section-heading h3 { margin:7px 0 0; color:#fff; font-size:clamp(25px,3vw,36px); line-height:1.12; letter-spacing:-.035em; }
.spm-section-heading p { max-width:670px; margin:8px auto 0; color:#8f929b; font-size:13px; line-height:1.6; }
.spm-section-heading.centered { text-align:center; }
.spm-info-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:11px; margin-top:20px; }
.spm-info-grid article { display:flex; align-items:center; gap:12px; min-height:77px; padding:14px; border:1px solid var(--spm-line); border-radius:13px; background:rgba(255,255,255,.018); }
.spm-info-grid article>i { display:grid; place-items:center; width:38px; height:38px; flex:0 0 38px; border-radius:10px; color:var(--spm-pink); background:rgba(240,56,75,.08); }
.spm-info-grid span,.spm-info-grid strong { display:block; }
.spm-info-grid span { color:#81848d; font-size:10px; font-weight:700; text-transform:uppercase; }
.spm-info-grid strong { margin-top:4px; color:#e7e8eb; font-size:12px; line-height:1.35; }
.spm-features-section { padding-bottom:40px; }
.spm-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; margin-top:25px; align-items:start; }
.spm-feature-group { overflow:hidden; border:1px solid var(--spm-line); border-radius:14px; background:rgba(255,255,255,.017); }
.spm-feature-group[open] { border-color:rgba(255,113,129,.18); background:rgba(255,255,255,.024); }
.spm-feature-group summary { display:grid; grid-template-columns:minmax(0,1fr) auto 14px; align-items:center; gap:10px; min-height:67px; padding:12px 14px; cursor:pointer; list-style:none; }
.spm-feature-group summary::-webkit-details-marker { display:none; }
.spm-feature-group summary>span { min-width:0; display:flex; align-items:center; gap:10px; }
.spm-feature-group summary>span>i { display:grid; place-items:center; width:35px; height:35px; flex:0 0 35px; border-radius:10px; color:var(--spm-pink); background:rgba(240,56,75,.08); }
.spm-feature-group summary strong { overflow:hidden; color:#e9eaed; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.spm-feature-group summary>b { color:#858892; font-size:10px; }
.spm-feature-group summary>.fa-chevron-down { color:#777a83; font-size:10px; transition:transform .2s ease; }
.spm-feature-group[open] summary>.fa-chevron-down { transform:rotate(180deg); }
.spm-feature-group ul { display:grid; gap:10px; margin:0 13px 14px; padding:14px 15px; border-top:1px solid rgba(255,255,255,.06); list-style:none; }
.spm-feature-group li { position:relative; padding-left:13px; color:#9699a2; font-size:12px; line-height:1.5; }
.spm-feature-group li::before { content:""; position:absolute; left:0; top:.62em; width:4px; height:4px; border-radius:50%; background:var(--spm-pink); }
.spm-feature-empty { grid-column:1/-1; padding:34px; border:1px dashed var(--spm-line); border-radius:14px; color:#858892; font-size:13px; text-align:center; }

.spm-loading { min-height:520px; display:grid; place-content:center; justify-items:center; gap:10px; padding:40px; color:#8f929b; text-align:center; }
.spm-loading>i { margin-bottom:5px; color:var(--spm-pink); font-size:29px; }
.spm-loading strong { color:#fff; font-size:19px; }
.spm-loading span { font-size:12px; }
.spm-loading a { margin-top:12px; padding:10px 14px; border:1px solid var(--spm-line); border-radius:10px; color:#fff; font-size:12px; }

@media (max-width:1050px) {
  .spm-main-grid { grid-template-columns:1fr; }
  .spm-buy-card { width:100%; }
  .spm-info-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .spm-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:720px) {
  .spm { padding:0; }
  .spm-dialog { height:100dvh; border:0; border-radius:0; }
  .spm-close { top:12px; right:12px; }
  .spm-head { display:block; padding:60px 18px 20px; }
  .spm-head h2 { font-size:34px; }
  .spm-head p { font-size:13px; }
  .spm-full-page { margin-top:17px; }
  .spm-main-grid,.spm-section { padding:16px; }
  .spm-media-stage { aspect-ratio:16/10.5; }
  .spm-info-grid,.spm-feature-grid { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion:reduce) {
  .spm,.spm-dialog,.spm-close,.spm-thumb,.spm-purchase { transition:none!important; }
}
