/* =========================================================================
   SolPower — Product detail page (NEW design). Prefix: spp-
   Scoped under .productdetails-view so it never collides with the catalog
   card system (.sp-card / sp-card.css). Font: Nunito (whole site).
   ========================================================================= */

/* ----- GLOBAL FONT: the entire site uses Nunito (to match the mockup 1:1).
   Applied with !important to beat the legacy template fonts (Oswald, …) and the
   earlier sp- fonts (Nunito/Golos). Icon glyphs render from a :before with
   their own icon font, so they are NOT affected by setting the element's font. */
html, body, button, input, select, textarea, optgroup, option,
h1, h2, h3, h4, h5, h6, p, a, span, div, ul, ol, li, dl, dt, dd,
table, thead, tbody, tr, td, th, label, blockquote, q, cite, time, small, big,
strong, b, em, figure, figcaption, legend, fieldset, caption, address,
article, section, header, footer, nav, main, aside, details, summary {
  font-family: 'Nunito', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
}

/* Hide the Google Translate hover bubble / tooltip (browser-injected when it
   auto-translates the UA pages) — it floats over the content (e.g. the category
   cards). Hiding the overlay does not affect actual page translation. */
#gtx-trans,
#goog-gt-tt,
.goog-te-balloon-frame,
.goog-tooltip,
.goog-tooltip * { display: none !important; }

.productdetails-view{
  --spp-orange:#F57C20; --spp-orange-dark:#E06A12; --spp-orange-soft:#FDEEE1;
  --spp-purple:#6C40E0; --spp-purple-soft:#EEF1FB;
  --spp-ink:#2A2F3A; --spp-slate:#5A6270; --spp-muted:#98A0AD; --spp-line:#ECEEF1;
  --spp-bg:#F4F5F7; --spp-green:#1E8E3E; --spp-amber:#F5A623; --spp-red:#E8412B;
  --spp-ui:'Nunito',-apple-system,'Segoe UI',Roboto,sans-serif;
  --spp-text:'Nunito',-apple-system,'Segoe UI',Roboto,sans-serif;
  font-family:var(--spp-ui); color:var(--spp-ink);
}
.productdetails-view *{box-sizing:border-box;}
.productdetails-view img{max-width:100%;}

/* ---- Hide catalog sidebar ("Каталог товаров" + "Лидер продаж") only on the
   product page, and let the component column fill the row.
   NB: .oPosBlock.sidebar is the WHOLE main row (sidebar cols + component);
   only the .oPos.sidebar-N columns are the actual sidebar — hide those. ---- */
body.spp-page .oPos.sidebar-1,
body.spp-page .oPos.sidebar-2,
body.spp-page .oPos.sidebar-3{ display:none !important; }
body.spp-page .oContentBlock.span9{ width:100% !important; margin-left:0 !important; }
/* Align the product content container 1:1 with the header (.sp-inner): same
   max-width / centering / side padding at every viewport, so the card is
   centered and flush with the header instead of using bootstrap's jumpy
   fixed-width .container. */
body.spp-page .oMainBlock > .container{ max-width:1234px !important; width:auto !important;
  margin-left:auto !important; margin-right:auto !important;
  padding-left:32px !important; padding-right:32px !important; box-sizing:border-box; }

/* ---- Breadcrumbs (pill). Self-contained colors so it also looks right on any
   other page where the breadcrumb module is shown (tokens live only under
   .productdetails-view). ---- */
.spp-bc{ margin:0; font-family:'Nunito',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif; }
/* Breadcrumb spacing on the product page — equal ~20px above & below, matching
   the gaps between the cards (the breadcrumb sits in the middle2 module region,
   which adds its own quirky margins; normalise them here). */
/* The header category-cards block (.sp-cats) adds 24px below the cards; on the
   product page that made the gap ABOVE the breadcrumb (cards → breadcrumb) larger
   than the 20px gap below it. Drop that padding here so both gaps are equal 20px. */
body.spp-page .sp-cats .sp-inner{ padding-bottom:0 !important; }
body.spp-page .oPosBlock.middle2{ margin:20px 0 0 !important; }
body.spp-page .oPos.middle2-1{ margin:0 !important; }
body.spp-page .ot-mod-outer:has(.spp-bc){ margin:0 !important; }
body.spp-page .oMainBlock{ margin-top:0 !important; padding-top:0 !important; }
/* maintop2 is an empty module region (6 blank position cells) that adds ~11px
   between the breadcrumb and the product card on the product page — collapse it
   so the gap below the breadcrumb equals the 20px gap above it. */
body.spp-page .oPosBlock.maintop2{ display:none !important; }
body.spp-page .spp-prod{ margin-top:20px !important; }

/* Mobile: the product container used 32px side padding while the breadcrumb sits
   at a 20px gutter — making every block after the breadcrumb narrower than it.
   Match the 20px gutter on phones/tablets so the cards fill the same width. */
@media (max-width:760px){
  body.spp-page .oMainBlock > .container{ padding-left:20px !important; padding-right:20px !important; }
}

/* "Похожие товары" card buttons → mockup: wide "Подробнее" + small square "Купить"
   (icon only). Scoped to the related block so the catalog listing is untouched. */
body.spp-page .spp-related .sp-card .sp-actions{ gap:8px; }
body.spp-page .spp-related .sp-card .sp-actions > .sp-btn--details{ flex:1 1 auto; }
body.spp-page .spp-related .sp-card .sp-actions > .sp-buy-form{ flex:0 0 48px; width:48px; }
body.spp-page .spp-related .sp-card .sp-actions > .sp-buy-form > .sp-btn--buy{ width:48px; min-width:48px; padding:0; gap:0; font-size:0; }
body.spp-page .spp-related .sp-card .sp-actions > .sp-buy-form > .sp-btn--buy svg{ font-size:initial; }
.spp-bc__in{ background:#fff; border:1px solid #ECEEF1; border-radius:16px; padding:15px 22px;
  display:flex; align-items:center; gap:11px; flex-wrap:wrap; font-weight:700; font-size:15px; color:#2A2F3A; }
.spp-bc__in a, .spp-bc__in a.pathway{ color:#F57C20; text-decoration:none; }
.spp-bc__in a:hover{ text-decoration:underline; }
.spp-bc__sep{ color:#CBD0D8; display:inline-flex; align-items:center; }
.spp-bc__cur{ color:#98A0AD; }

/* ---- Gallery ---- */
.productdetails-view .spp-gallery{ display:flex; flex-direction:column; gap:14px; }
.productdetails-view .spp-gallery__main{ position:relative; aspect-ratio:1/1; border-radius:20px;
  overflow:hidden; background:var(--spp-bg); }
.productdetails-view .spp-gallery__main img{ width:100%; height:100%; object-fit:contain; display:block; }
.productdetails-view .spp-flags{ position:absolute; top:18px; left:18px; display:flex; flex-direction:column; gap:8px; z-index:2; }
.productdetails-view .spp-flag-sale{ background:var(--spp-red); color:#fff; font-weight:800; font-size:14px;
  padding:7px 14px; border-radius:10px; box-shadow:0 6px 14px rgba(232,65,43,.3); }
.productdetails-view .spp-flag-promo{ background:#fff; color:var(--spp-orange-dark); font-weight:800; font-size:12px;
  padding:6px 12px; border-radius:10px; box-shadow:0 4px 12px rgba(0,0,0,.08); }
.productdetails-view .spp-share{ position:absolute; top:18px; right:18px; width:44px; height:44px; border-radius:12px;
  border:none; background:#fff; color:var(--spp-muted); cursor:pointer; display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 12px rgba(0,0,0,.08); z-index:2; }
.productdetails-view .spp-share:hover{ color:var(--spp-orange); }
.productdetails-view .spp-thumbs{ display:grid; grid-template-columns:repeat(5,1fr); gap:10px; }
.productdetails-view .spp-thumb{ position:relative; aspect-ratio:1/1; border-radius:13px; cursor:pointer;
  overflow:hidden; background:var(--spp-bg); border:2.5px solid transparent;
  box-shadow:0 2px 6px rgba(0,0,0,.04); padding:0; transition:all .15s; }
.productdetails-view .spp-thumb img{ width:100%; height:100%; object-fit:contain; }
.productdetails-view .spp-thumb.is-active{ border-color:var(--spp-orange); box-shadow:0 6px 14px rgba(245,124,32,.22); }

/* ---- Product card shell (gallery | buybox) ---- */
.productdetails-view .spp-prod{ margin:20px 0 0; }
.productdetails-view .spp-prod__card{ background:#fff; border:1px solid var(--spp-line); border-radius:24px;
  padding:clamp(16px,3vw,34px); display:grid;
  grid-template-columns:minmax(0,440px) minmax(0,1fr);
  gap:clamp(22px,3vw,44px); box-shadow:0 16px 40px rgba(31,41,55,.05); align-items:start; }
.productdetails-view .spp-gallery-col{ min-width:0; }
.productdetails-view .spp-buybox{ min-width:0; }

/* ---- Buy box ---- */
.productdetails-view .spp-title{ margin:0; font-family:var(--spp-ui); font-size:clamp(21px,4.5vw,30px);
  line-height:1.2; font-weight:800; letter-spacing:-.3px; color:var(--spp-ink); }
.productdetails-view .spp-meta{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-top:16px;
  font-family:var(--spp-ui); }
.productdetails-view .spp-meta a{ color:var(--spp-slate); font-weight:700; font-size:14px; border-bottom:1.5px dashed #C9CED6; text-decoration:none; }
.productdetails-view .spp-meta a:hover{ color:var(--spp-orange); }
.productdetails-view .spp-meta__div{ color:#E4E7EC; }
.productdetails-view .spp-rate{ display:inline-flex; align-items:center; gap:6px; }
.productdetails-view .spp-stockline{ display:inline-flex; align-items:center; gap:7px; font-weight:800; font-size:14px; color:#2DA94F; }
.productdetails-view .spp-stockline i{ width:9px; height:9px; border-radius:50%; background:#2DA94F; box-shadow:0 0 0 3px rgba(45,169,79,.18); }
.productdetails-view .spp-stockline--out{ color:var(--spp-muted); }
.productdetails-view .spp-stockline--out i{ background:var(--spp-muted); box-shadow:0 0 0 3px rgba(152,160,173,.18); }
.productdetails-view .spp-sku{ color:var(--spp-muted); font-weight:600; font-size:14px; }

.productdetails-view .spp-price{ margin-top:24px; display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.productdetails-view .spp-price__group{ display:flex; align-items:baseline; gap:16px; }
.productdetails-view .spp-price__new{ font-family:var(--spp-ui); font-size:clamp(32px,8vw,44px); font-weight:800;
  color:var(--spp-orange); letter-spacing:-1px; line-height:1; white-space:nowrap; }
.productdetails-view .spp-price__new small{ font-size:.6em; font-weight:800; }
.productdetails-view .spp-price__old{ font-size:24px; font-weight:700; color:#B6BCC6; text-decoration:line-through; white-space:nowrap; }
.productdetails-view .spp-save{ background:#EAF7EE; color:var(--spp-green); font-weight:800; font-size:14px; padding:8px 14px; border-radius:9px; }

.productdetails-view .spp-badges{ margin-top:22px; display:flex; gap:12px; flex-wrap:wrap; }
.productdetails-view .spp-badge{ display:flex; align-items:center; gap:10px; border-radius:14px; padding:12px 16px; }
.productdetails-view .spp-badge b{ display:block; font-weight:800; font-size:14px; color:var(--spp-ink); }
.productdetails-view .spp-badge small{ display:block; font-size:12.5px; font-weight:600; color:#8A8F99; }
.productdetails-view .spp-badge--deliv{ background:var(--spp-orange-soft); } .productdetails-view .spp-badge--deliv .spp-badge__ic{ color:var(--spp-orange-dark); }
.productdetails-view .spp-badge--warr{ background:var(--spp-purple-soft); } .productdetails-view .spp-badge--warr .spp-badge__ic{ color:var(--spp-purple); }
.productdetails-view .spp-badge--stock{ background:#EAF7EE; } .productdetails-view .spp-badge--stock .spp-badge__ic{ color:var(--spp-green); }
/* mobile: the "В наличии · отправка сегодня" badge doesn't fit one row with
   «Бесплатная» + «Гарантия» — hide it on phones (keep the other two). */
@media (max-width: 640px){ .productdetails-view .spp-badge--stock{ display:none; } }

.productdetails-view .spp-trust{ margin-top:22px; display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.productdetails-view .spp-trust__i{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:9px; padding:4px; }
.productdetails-view .spp-trust__i > span{ display:flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:14px; background:var(--spp-bg); color:var(--spp-slate); }
.productdetails-view .spp-trust__i small{ font-weight:700; font-size:12.5px; color:var(--spp-slate); line-height:1.25; }

/* ---- Buy form (quantity + CTA) ---- */
.productdetails-view .spp-buy{ margin-top:24px; background:#F8F9FB; border:1px solid #EEF0F3; border-radius:18px; padding:20px; }
.productdetails-view .spp-buy form{ margin:0; }
.productdetails-view .spp-qty-row{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.productdetails-view .spp-qty-label{ font-family:var(--spp-ui); font-weight:800; font-size:15px; color:var(--spp-slate); }
.productdetails-view .spp-qty{ display:inline-flex; align-items:stretch; height:50px; background:#fff; border:1.5px solid #E4E7EC; border-radius:13px; overflow:hidden; }
.productdetails-view .spp-qty input.quantity-controls{ width:44px; height:100%; border:none; background:#fff; cursor:pointer;
  -webkit-appearance:none; appearance:none; margin:0; padding:0; color:var(--spp-slate);
  font-family:var(--spp-ui); font-size:20px; font-weight:600; line-height:1; text-align:center; box-sizing:border-box; }
.productdetails-view .spp-qty input.quantity-controls:hover{ background:var(--spp-bg); }
.productdetails-view .spp-qty input.quantity-input{ width:48px; height:100%; border:none; border-left:1.5px solid #E4E7EC; border-right:1.5px solid #E4E7EC;
  text-align:center; font-family:var(--spp-ui); font-weight:800; font-size:18px; color:var(--spp-ink); background:#fff;
  padding:0; margin:0; line-height:normal; -moz-appearance:textfield; box-sizing:border-box; }
.productdetails-view .spp-qty input.quantity-input::-webkit-outer-spin-button,
.productdetails-view .spp-qty input.quantity-input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }

.productdetails-view .spp-cta-row{ display:grid; grid-template-columns:1.4fr 1fr; gap:12px; margin-top:16px; align-items:stretch; }
.productdetails-view .spp-cta-row .addtocart-button-block{ display:flex; margin:0; padding:0; }
.productdetails-view .spp-cta-row .addtocart-button-block input.addtocart-button{
  flex:1 1 auto; width:100% !important; height:54px !important; min-height:0 !important; padding:0 16px !important;
  line-height:normal !important; border:none !important; border-radius:14px !important;
  background:var(--spp-orange) !important; color:#fff !important; font-family:var(--spp-ui); font-size:16px; font-weight:800; cursor:pointer;
  box-shadow:0 10px 22px rgba(245,124,32,.32); -webkit-appearance:none; appearance:none; box-sizing:border-box !important; }
.productdetails-view .spp-cta-row .addtocart-button-block input.addtocart-button:hover{ filter:brightness(.94); }
/* NB: the one-click link keeps the .ask-a-question class (opens the quick-order
   modal), which drags in legacy vmsite-ltr.css chrome (grey/yellow border +
   margin:10px 0 0). Override all of it so the button matches the mockup and
   sits flush with "Купить". */
.productdetails-view .spp-cta-row .spp-btn--oneclick{ display:flex; align-items:center; justify-content:center; gap:9px;
  height:54px !important; padding:0 16px !important; margin:0 !important;
  border:none !important; outline:none !important; box-shadow:none !important;
  border-radius:14px !important; background:var(--spp-purple-soft) !important; color:var(--spp-purple) !important;
  font-family:var(--spp-ui); font-size:16px !important; font-weight:800; text-decoration:none; box-sizing:border-box; align-self:stretch; }
.productdetails-view .spp-cta-row .spp-btn--oneclick:hover{ filter:brightness(.97); background:var(--spp-purple-soft) !important; color:var(--spp-purple) !important; }
.productdetails-view .spp-cta-row .spp-btn--oneclick:focus{ outline:none !important; }
.productdetails-view .spp-buy .addtocart-bar .notify{ display:inline-flex; align-items:center; justify-content:center; padding:14px 22px;
  border-radius:14px; background:var(--spp-purple-soft); color:var(--spp-purple); font-weight:800; text-decoration:none; }
@media (max-width:520px){
  .productdetails-view .spp-cta-row{ grid-template-columns:1fr; }
  .productdetails-view .spp-btn--oneclick{ display:none; } /* hide one-click on mobile — compact block */
}

/* ---- Rating stars (vrvote) recolored amber to match the mockup. Keeps the
   vote count + aggregateRating microdata; only the star sprite is replaced. ---- */
.productdetails-view .spp-meta .spp-rate{ display:inline-flex; align-items:center; gap:7px; }
.productdetails-view .spp-meta .vrvote-body{ margin-left:0; }
.productdetails-view .spp-meta ul.vrvote-ul,
.productdetails-view .spp-meta ul.vrvote-ul li a:hover,
.productdetails-view .spp-meta ul.vrvote-ul li.current-rating{
  background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 22 22'><path d='M11 2.5l2.6 5.3 5.9.9-4.3 4.1 1 5.8L11 16l-5.2 2.7 1-5.8L2.5 8.7l5.9-.9z' fill='%23DCE0E6'/></svg>")!important;
  background-position:left center!important; background-repeat:repeat-x!important; }
.productdetails-view .spp-meta ul.vrvote-ul li.current-rating{
  background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 22 22'><path d='M11 2.5l2.6 5.3 5.9.9-4.3 4.1 1 5.8L11 16l-5.2 2.7 1-5.8L2.5 8.7l5.9-.9z' fill='%23F5A623'/></svg>")!important;
  background-position:left center!important; background-repeat:repeat-x!important; }
.productdetails-view .spp-meta .vrvote-count,
.productdetails-view .spp-meta .vrvote-count small,
.productdetails-view .spp-meta .vrvote-count span{ color:var(--spp-muted)!important; font-weight:700; font-size:13.5px; }

/* ---- Outer wrapper: drop the legacy .ot-content frame (1px border + radius +
   padding) so the inner blocks span the full container width (no double frame). */
.productdetails-view .ot-content{ border:0 !important; border-radius:0 !important; background:transparent !important; padding:0 !important; }

/* ---- Reviews (.sp-rv / JComments): rendered INSIDE the .spp-info card as
   another section (mockup = one card: Описание + Характеристики + Отзывы).
   So strip its own card chrome, align content full-width left, and add a top
   divider like .spp-section. Review items keep a border (как в макете). */
.productdetails-view .spp-info .sp-rv{ background:transparent !important; border:0 !important; border-radius:0 !important;
  box-shadow:none !important; margin:36px 0 0 !important; padding:36px 0 0 !important; border-top:1px solid var(--spp-line) !important; }
.productdetails-view .sp-rv__inner{ max-width:none !important; margin:0 !important; padding:0 !important; }
.productdetails-view .sp-rv__item{ border:1px solid #EEF0F3; }

/* ---- Review form → match the mockup: grey inset panel, 2-col name/email row,
   amber star picker, orange submit. Overrides reviews.css on the product page. ---- */
.productdetails-view .sp-rv__panel{ background:#F8F9FB; border:1px solid #EEF0F3; border-radius:20px;
  padding:clamp(18px,4vw,28px); margin-top:28px; }
.productdetails-view .sp-rv__form{ background:transparent; border:0; box-shadow:none; padding:0; margin:0; }
.productdetails-view .sp-rv__form-title{ font-family:var(--spp-ui); font-size:22px; font-weight:800; color:var(--spp-ink); margin:0 0 6px; }
.productdetails-view .sp-rv__form-sub{ font-family:var(--spp-ui); font-size:14.5px; font-weight:500; color:var(--spp-muted); margin:0 0 20px; }
.productdetails-view .sp-rv__row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.productdetails-view .sp-rv__label{ font-family:var(--spp-ui); font-size:14px; font-weight:800; color:var(--spp-ink); margin-bottom:8px; }
.productdetails-view .sp-rv__input,
.productdetails-view .sp-rv__textarea{ border:1.5px solid #E4E7EC; border-radius:13px; padding:14px 16px; background:#fff;
  font-family:var(--spp-text); font-size:15px; font-weight:500; color:var(--spp-ink); }
.productdetails-view .sp-rv__input:focus,
.productdetails-view .sp-rv__textarea:focus{ border-color:var(--spp-orange); background:#fff; }
.productdetails-view .sp-rv__submit{ background:var(--spp-orange); background-image:none; border-radius:14px;
  box-shadow:0 8px 20px rgba(245,124,32,.3); padding:15px 30px; font-family:var(--spp-ui); font-size:16px; font-weight:800; margin-top:18px; }
.productdetails-view .sp-rv__submit:hover{ filter:brightness(.94); transform:none; box-shadow:0 8px 20px rgba(245,124,32,.3); }

/* Star picker "Ваша оценка" — amber, exact mockup colors */
.productdetails-view .sp-rv__rate{ display:flex; align-items:center; gap:12px; margin-bottom:20px; }
.productdetails-view .sp-rv__rate-label{ font-family:var(--spp-ui); font-weight:800; font-size:15px; color:var(--spp-slate); }
.productdetails-view .sp-rv__rate-stars{ display:flex; gap:4px; font-size:26px; line-height:1; cursor:pointer; color:#DCE0E6; }
.productdetails-view .sp-rv__rate-stars span{ color:#DCE0E6; transition:color .12s ease, transform .12s ease; }
.productdetails-view .sp-rv__rate-stars span.is-on{ color:#F5A623; }
.productdetails-view .sp-rv__rate-stars span:hover{ transform:scale(1.12); }

/* Per-review stars: amber filled (.is-on) + grey empty */
.productdetails-view .sp-rv__stars i{ color:#DCE0E6; }
.productdetails-view .sp-rv__stars i.is-on{ color:#F5A623; }

@media (max-width:560px){ .productdetails-view .sp-rv__row{ grid-template-columns:1fr; } }

/* ---- Info (stacked: Описание + Характеристики) ---- */
.productdetails-view .spp-info{ background:#fff; border:1px solid var(--spp-line); border-radius:24px; margin:20px 0 0;
  padding:clamp(18px,3vw,32px) clamp(16px,3vw,34px); box-shadow:0 16px 40px rgba(31,41,55,.05); }
.productdetails-view .spp-h2{ margin:0 0 18px; font-family:var(--spp-ui); font-size:24px; font-weight:800; color:var(--spp-ink); }
.productdetails-view .spp-section + .spp-section{ margin-top:36px; padding-top:36px; border-top:1px solid var(--spp-line); }
.productdetails-view .spp-features{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,148px),1fr)); gap:14px; margin-bottom:26px; }
.productdetails-view .spp-feat{ background:#F8F9FB; border-radius:16px; padding:18px; }
.productdetails-view .spp-feat__v{ font-family:var(--spp-ui); font-size:22px; font-weight:800; color:var(--spp-ink); line-height:1.15; }
.productdetails-view .spp-feat__l{ font-size:13px; font-weight:700; color:var(--spp-muted); margin-top:4px; }
.productdetails-view .spp-desc{ max-width:760px; font-family:var(--spp-text); font-size:16px; line-height:1.75; color:var(--spp-slate); font-weight:500; }
.productdetails-view .spp-desc p{ margin:0 0 14px; } .productdetails-view .spp-desc p:last-child{ margin:0; }
.productdetails-view .spp-desc strong{ color:var(--spp-ink); }

/* ---- Specs table ---- */
.productdetails-view .spp-specs{ max-width:680px; border:1px solid #EEF0F3; border-radius:16px; overflow:hidden; margin:0; }
.productdetails-view .spp-specs__row{ display:flex; justify-content:space-between; align-items:center; gap:20px; padding:14px 20px; }
.productdetails-view .spp-specs__row:nth-child(odd){ background:#F8F9FB; }
.productdetails-view .spp-specs__row dt{ font-family:var(--spp-ui); font-weight:700; font-size:15px; color:#8A8F99; margin:0; }
.productdetails-view .spp-specs__row dd{ font-family:var(--spp-ui); font-weight:800; font-size:15px; color:var(--spp-ink); text-align:right; margin:0; }

/* ---- Похожие товары (mod_virtuemart_randcatproduct, #mod_rand cards) ---- */
body.spp-page .spp-related{ margin:34px 0 0; }
body.spp-page .spp-related__head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; padding:0 4px; }
body.spp-page .spp-related__head h2{ margin:0; font-family:'Nunito',system-ui,sans-serif; font-size:26px; font-weight:800; color:#2A2F3A; }
body.spp-page .spp-related__all{ font-family:'Nunito',system-ui,sans-serif; font-weight:800; font-size:15px; color:#F57C20; display:inline-flex; align-items:center; gap:6px; text-decoration:none; white-space:nowrap; }
body.spp-page .spp-related__all:hover{ text-decoration:underline; }
/* Force the shared float-grid (#mod_rand.mod_rand--cards) into a 4-up grid to
   match the mockup, without editing sp-card.css. */
body.spp-page .spp-related #mod_rand.mod_rand--cards{ display:grid !important; grid-template-columns:repeat(4,1fr); gap:18px; margin:0; overflow:visible; }
body.spp-page .spp-related #mod_rand.mod_rand--cards .mod_rand_product{ float:none !important; width:auto !important; padding:0 !important; margin:0 !important; }
body.spp-page .spp-related #mod_rand.mod_rand--cards .mod_rand_clear{ display:none !important; }
@media (max-width:900px){ body.spp-page .spp-related #mod_rand.mod_rand--cards{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ body.spp-page .spp-related #mod_rand.mod_rand--cards{ grid-template-columns:1fr; } }

/* ===================== Mobile refinements (match mockup breakpoints) ===================== */
@media (max-width:760px){
  .productdetails-view .spp-prod__card{ grid-template-columns:1fr; }
}
@media (max-width:520px){
  .productdetails-view .spp-trust{ grid-template-columns:1fr; gap:6px; }
  .productdetails-view .spp-trust__i{ flex-direction:row; justify-content:flex-start; text-align:left; gap:12px; }
  .productdetails-view .spp-price__new{ font-size:34px; }
  .productdetails-view .spp-info{ border-radius:18px; }
}
