/* ==========================================================================
   splitu-pages.css — страницы: карточка товара, корзина, оформление, заказ,
   подбор, сравнение, бренды, текстовые страницы, блог, контакты, портфолио, 404.
   ========================================================================== */

/* ============================ КАРТОЧКА ТОВАРА ============================ */
.sp-product__top{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; align-items:start; }
@media (max-width:1023px){ .sp-product__top{ grid-template-columns:minmax(0,1fr); gap:24px; } }

/* галерея */
.sp-gallery{ position:sticky; top:150px; display:flex; flex-direction:column; gap:12px; min-width:0; }
@media (max-width:1023px){ .sp-gallery{ position:static; } }
.sp-gallery__main{ position:relative; aspect-ratio:1/1; border:1px solid var(--sp-line); border-radius:var(--sp-r20); background:#fff; overflow:hidden; }
.sp-gallery__slide{ position:absolute; inset:0; display:none; align-items:center; justify-content:center; padding:24px; cursor:zoom-in; }
.sp-gallery__slide.is-active{ display:flex; }
body.sp .sp-gallery__slide img{ width:100%; height:100%; object-fit:contain; }
.sp-gallery__badge{ position:absolute; top:16px; left:16px; }
.sp-gallery__badge2{ position:absolute; top:16px; right:16px; }
.sp-gallery__thumbs{ display:flex; gap:8px; flex-wrap:wrap; }
.sp-gallery__thumb{ width:76px; height:76px; padding:6px; box-sizing:border-box; border:1.5px solid var(--sp-line); border-radius:var(--sp-r12); background:#fff; cursor:pointer; }
.sp-gallery__thumb.is-active{ border-color:var(--sp-blue); }
body.sp .sp-gallery__thumb img{ width:100%; height:100%; object-fit:contain; }
.sp-gallery__dots{ display:none; justify-content:center; gap:6px; }
.sp-gallery__dots span{ width:8px; height:8px; border-radius:50%; background:var(--sp-line-field); }
.sp-gallery__dots span.is-active{ background:var(--sp-blue); width:20px; border-radius:4px; }
@media (max-width:767px){ .sp-gallery__thumbs{ display:none; } .sp-gallery__dots{ display:flex; } .sp-gallery__main{ border-radius:var(--sp-r16); } }

/* лайтбокс */
.sp-lightbox{ position:fixed; inset:0; z-index:2300; background:rgba(20,24,28,.92); display:none; align-items:center; justify-content:center; }
.sp-lightbox.is-open{ display:flex; }
.sp-lightbox__img{ max-width:90vw; max-height:86vh; background:#fff; border-radius:var(--sp-r12); }
.sp-lightbox__btn{ position:absolute; width:52px; height:52px; border:0; border-radius:50%; background:rgba(255,255,255,.14); color:#fff; font-size:26px; cursor:pointer; }
.sp-lightbox__btn:hover{ background:rgba(255,255,255,.3); }
.sp-lightbox__close{ top:20px; right:20px; font-size:20px; }
.sp-lightbox__prev{ left:20px; top:50%; margin-top:-26px; }
.sp-lightbox__next{ right:20px; top:50%; margin-top:-26px; }
.sp-lightbox.is-single .sp-lightbox__prev, .sp-lightbox.is-single .sp-lightbox__next, .sp-lightbox.is-single .sp-lightbox__count{ display:none; }
.sp-lightbox__count{ position:absolute; bottom:20px; left:50%; transform:translateX(-50%); color:#fff; font-size:14px; background:rgba(0,0,0,.4); padding:4px 12px; border-radius:12px; }

/* покупка */
.sp-buybox{ display:flex; flex-direction:column; gap:18px; min-width:0; }
body.sp .sp-buybox__brand{ display:inline-flex; align-items:center; gap:12px; font-size:14px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--sp-text-3); }
body.sp .sp-buybox__brand img{ height:32px; width:auto; max-width:120px; object-fit:contain; }
body.sp .sp-buybox__title{ margin:0; font-size:32px; line-height:1.2; }
@media (max-width:767px){ body.sp .sp-buybox__title{ font-size:24px; } }
.sp-buybox__meta{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 20px; font-size:14px; color:var(--sp-text-3); }
.sp-buybox__meta b{ color:var(--sp-text); }
body.sp .sp-buybox__rating{ display:inline-flex; align-items:center; gap:8px; color:var(--sp-blue-d); }
.sp-buybox__panel{ padding:24px; border:1px solid var(--sp-line); border-radius:var(--sp-r20); display:flex; flex-direction:column; gap:14px; background:#fff; }
.sp-price{ display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; }
.sp-price__now{ font-size:44px; font-weight:800; line-height:1; }
.sp-price__now--out{ color:var(--sp-text-3); font-size:32px; }
.sp-price__old{ font-size:20px; color:var(--sp-gray); }
@media (max-width:767px){ .sp-price__now{ font-size:32px; } .sp-price__old{ font-size:16px; } }
.sp-timer{ display:inline-flex; align-self:flex-start; gap:6px; padding:6px 12px; border-radius:var(--sp-r8); background:var(--sp-warn-bg); border:1px solid var(--sp-warn-line); color:var(--sp-orange-t); font-size:14px; }
.sp-timer[hidden]{ display:none; }
.sp-buybox__form{ display:flex; gap:10px; align-items:stretch; margin:0; flex-wrap:wrap; }
.sp-buybox__cta.sp-btn{ flex-grow:1; height:56px; font-size:19px; }
.sp-buybox__cmp.sp-iconbtn{ width:56px; height:56px; }
.sp-buybox__cmp[aria-pressed="true"], .sp-buybox__cmp.active{ background:var(--sp-blue-d); color:#fff; }
.sp-buybox__quick.sp-btn{ align-self:flex-start; font-size:15px; height:36px; }
.sp-qty{ display:flex; align-items:center; height:56px; border:1.5px solid var(--sp-line-field); border-radius:var(--sp-r12); overflow:hidden; }
.sp-qty button{ width:44px; height:100%; border:0; background:#fff; font-size:22px; color:var(--sp-text); cursor:pointer; }
.sp-qty button:hover{ background:var(--sp-blue-bg); color:var(--sp-blue-d); }
.sp-qty input{ width:44px; height:100%; border:0; text-align:center; font:inherit; font-size:17px; font-weight:700; -moz-appearance:textfield; }
.sp-qty input::-webkit-outer-spin-button, .sp-qty input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.sp-qty--sm{ height:44px; }
.sp-qty--sm button{ width:36px; }
.sp-qty--sm input{ width:36px; font-size:15px; }
.sp-markdown{ padding:14px 16px; border-radius:var(--sp-r12); background:var(--sp-warn-bg); border:1px solid var(--sp-warn-line); display:flex; flex-direction:column; gap:6px; }
.sp-markdown p{ margin:0; font-size:15px; }
.sp-shortchars{ margin:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 24px; }
.sp-shortchars div{ display:flex; flex-direction:column; border-bottom:1px dashed var(--sp-line); padding-bottom:8px; }
.sp-shortchars dt{ font-size:13px; font-weight:400; color:var(--sp-text-3); }
.sp-shortchars dd{ margin:0; font-size:16px; font-weight:600; }
.sp-guarantees{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.sp-guarantees li{ display:flex; align-items:center; gap:10px; font-size:14px; font-weight:600; padding:10px 12px; border-radius:var(--sp-r12); background:var(--sp-blue-bg3); }
.sp-guarantees .sp-ico{ color:var(--sp-blue); }
.sp-services{ display:flex; flex-direction:column; gap:10px; padding:16px; border-radius:var(--sp-r16); background:var(--sp-bg-sec); font-size:15px; }
.sp-services > div{ display:flex; gap:12px; align-items:flex-start; }
.sp-services .sp-ico{ color:var(--sp-blue); margin-top:2px; }
@media (max-width:767px){ .sp-shortchars, .sp-guarantees{ grid-template-columns:minmax(0,1fr); } .sp-buybox__panel{ padding:16px; } }

/* вкладки / аккордеон */
.sp-tabs{ margin-top:var(--sp-sec); }
.sp-tabs__list{ display:flex; gap:4px; border-bottom:2px solid var(--sp-line); margin-bottom:28px; overflow-x:auto; scrollbar-width:none; }
.sp-tabs__tab{ height:56px; padding:0 20px; border:0; border-bottom:3px solid transparent; margin-bottom:-2px; background:transparent; font:inherit; font-size:17px; font-weight:600; color:var(--sp-text-3); cursor:pointer; white-space:nowrap; }
.sp-tabs__tab:hover{ color:var(--sp-blue-d); }
.sp-tabs__tab.is-active{ color:var(--sp-text); border-bottom-color:var(--sp-orange); font-weight:800; }
.sp-tabs__panel{ display:none; }
.sp-tabs__panel.is-active{ display:block; }
.sp-tabs__acc{ display:none; }
body.sp .sp-tabs__h{ font-size:22px; margin:0 0 18px; }
@media (max-width:767px){
    .sp-tabs__list{ display:none; }
    .sp-tabs__panel{ display:block; border-bottom:1px solid var(--sp-line); }
    .sp-tabs__acc{ display:flex; width:100%; height:56px; align-items:center; justify-content:space-between; padding:0; border:0; background:transparent; font:inherit; font-size:18px; font-weight:700; color:var(--sp-text); cursor:pointer; }
    .sp-tabs__acc::after{ content:'+'; font-weight:400; font-size:24px; color:var(--sp-blue-d); }
    .sp-tabs__panel.is-active .sp-tabs__acc::after{ content:'−'; }
    .sp-tabs__body{ display:none; padding-bottom:20px; }
    .sp-tabs__panel.is-active .sp-tabs__body{ display:block; }
    body.sp .sp-tabs__h{ display:none; }
}
.sp-chars{ width:100%; max-width:900px; border-collapse:collapse; font-size:15px; }
.sp-chars th, .sp-chars td{ text-align:left; padding:11px 12px; border-bottom:1px solid var(--sp-line-2); vertical-align:top; }
.sp-chars th{ font-weight:400; color:var(--sp-text-3); width:55%; }
.sp-chars td{ font-weight:600; }
.sp-chars tr:nth-child(even) th, .sp-chars tr:nth-child(even) td{ background:var(--sp-bg-sec); }
.sp-chars__group th{ background:#fff!important; font-weight:800!important; color:var(--sp-text)!important; padding-top:22px!important; font-size:16px; }
.sp-mounttable{ overflow-x:auto; }
.sp-mounttable table{ width:100%; min-width:560px; border-collapse:collapse; font-size:15px; }
.sp-mounttable th{ text-align:left; padding:12px; border-bottom:2px solid var(--sp-line); color:var(--sp-text-3); font-weight:600; }
.sp-mounttable td{ padding:12px; border-bottom:1px solid var(--sp-line-2); }
.sp-mounttable td:nth-child(n+4){ font-weight:700; white-space:nowrap; }

/* описание (типографика контента) */
.sp-prose{ font-size:17px; line-height:1.65; color:var(--sp-text-2); max-width:900px; }
.sp-prose h2{ font-size:26px!important; margin:28px 0 12px!important; }
.sp-prose h3{ font-size:20px!important; margin:22px 0 10px!important; }
.sp-prose p{ margin:0 0 14px; }
.sp-prose ul, .sp-prose ol{ margin:0 0 16px; padding-left:22px; }
.sp-prose li{ margin-bottom:6px; }
.sp-prose img{ border-radius:var(--sp-r16); height:auto; }
.sp-prose table{ width:100%; border-collapse:collapse; margin:0 0 18px; font-size:15px; }
.sp-prose table td, .sp-prose table th{ border-bottom:1px solid var(--sp-line-2); padding:10px 12px; text-align:left; }
.sp-prose blockquote{ margin:18px 0; padding:22px 26px; border-radius:var(--sp-r16); background:var(--sp-blue-bg); border:0; font-size:18px; color:var(--sp-text); }
@media (max-width:767px){ .sp-prose{ font-size:16px; } .sp-prose h2{ font-size:22px!important; } }

/* видео */
.sp-video{ margin-top:24px; max-width:900px; }
.sp-video__facade{ position:relative; display:block; width:100%; aspect-ratio:16/9; border:0; border-radius:var(--sp-r16); background:#1E2226 center/cover no-repeat; cursor:pointer; }
.sp-video__play{ position:absolute; top:50%; left:50%; width:72px; height:72px; margin:-36px 0 0 -36px; border-radius:50%; background:var(--sp-orange); }
.sp-video__play::after{ content:''; position:absolute; top:50%; left:50%; transform:translate(-35%,-50%); border-style:solid; border-width:12px 0 12px 20px; border-color:transparent transparent transparent #fff; }
.sp-video__frame{ position:relative; aspect-ratio:16/9; }
.sp-video__frame iframe, .sp-video__frame .video_frame{ position:absolute; inset:0; width:100%; height:100%; border:0; border-radius:var(--sp-r16); }

/* отзывы */
.sp-revsum{ display:grid; grid-template-columns:auto minmax(0,360px) auto; gap:32px; align-items:center; padding:24px; border-radius:var(--sp-r20); background:var(--sp-bg-sec); margin-bottom:24px; }
.sp-revsum__avg{ display:flex; flex-direction:column; gap:6px; }
.sp-revsum__avg b{ font-size:48px; font-weight:800; line-height:1; }
.sp-revsum__avg span{ font-size:14px; color:var(--sp-text-3); }
.sp-stars--lg{ font-size:22px; }
.sp-revsum__dist div{ display:grid; grid-template-columns:36px 1fr 28px; align-items:center; gap:10px; font-size:13px; color:var(--sp-text-3); }
.sp-revsum__dist i{ height:8px; border-radius:4px; background:var(--sp-line); overflow:hidden; }
.sp-revsum__dist em{ display:block; height:100%; background:var(--sp-star); }
@media (max-width:767px){ .sp-revsum{ grid-template-columns:minmax(0,1fr); gap:16px; } }
.sp-empty--sm{ padding:32px 24px; margin-bottom:24px; }
body.sp .sp-empty--sm h3{ margin:0; font-size:21px; }
/* виджет комментариев ICMS внутри вкладки */
.sp-reviews-slot #comments_widget > .nav-tabs, .sp-reviews-slot .icms-widget__title{ display:none; }
.sp-reviews-slot .comment{ padding:20px 0; border-bottom:1px solid var(--sp-line-2); }
.sp-reviews-slot .comment .media-body, .sp-reviews-slot .comment .content{ font-size:16px; line-height:1.6; }
.sp-reviews-slot .comment .user a, .sp-reviews-slot .comment .comment_author{ font-weight:700; color:var(--sp-text); }
.sp-reviews-slot textarea, .sp-reviews-slot input[type=text]{ width:100%; box-sizing:border-box; border:1.5px solid var(--sp-line-field); border-radius:var(--sp-r12); padding:12px 16px; font:inherit; font-size:16px; }
.sp-reviews-slot input[type=submit], .sp-reviews-slot .button-submit, .sp-reviews-slot button.btn-primary{ height:52px; padding:0 28px; border:0; border-radius:var(--sp-r12); background:var(--sp-orange); color:#fff; font:inherit; font-size:17px; font-weight:800; cursor:pointer; }
#comments_add_form{ display:none; }
#comments_add_form.is-open{ display:block; }

/* липкая панель покупки (мобильный) */
.sp-stickybuy{ display:none; }
@media (max-width:767px){
    .sp-stickybuy{ position:fixed; left:0; right:0; bottom:0; z-index:850; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 16px calc(10px + env(safe-area-inset-bottom)); background:#fff; box-shadow:0 -6px 20px rgba(0,0,0,.1); transform:translateY(110%); transition:transform .2s; }
    .sp-stickybuy.is-visible{ transform:none; }
    .sp-stickybuy b{ display:block; font-size:22px; font-weight:800; line-height:1.1; }
    .sp-stickybuy s{ font-size:13px; color:var(--sp-gray); }
    .sp-stickybuy .sp-btn{ height:48px; flex-shrink:0; }
}
.sp-buybox__all.sp-btn{ align-self:flex-start; margin-top:-8px; }

/* иконки движка (icms-svg-icon) — без темы modern у них нет размеров */
.icms-svg-icon{ width:1em; height:1em; fill:currentColor; vertical-align:-.125em; }
.icms-svg-icon.w-16{ width:16px; height:16px; }
/* комментарии/отзывы ICMS в карточке */
.sp-reviews-slot #comments_add_link, .sp-reviews-slot .inline_rss_icon{ display:none!important; }
.sp-reviews-slot #comments_list .comment.media{ border:1px solid var(--sp-line)!important; border-radius:var(--sp-r16)!important; box-shadow:none!important; padding:18px 20px!important; display:flex; gap:14px; }
.sp-reviews-slot .icms-user-avatar, .sp-reviews-slot .icms-user-avatar svg, .sp-reviews-slot .icms-user-avatar img{ width:40px!important; height:40px!important; flex-shrink:0; }
.sp-reviews-slot .icms-user-avatar svg{ color:var(--sp-line-field); }
.sp-reviews-slot #comments_list .comment .user, .sp-reviews-slot #comments_list .comment .guest_name{ color:var(--sp-text)!important; }
.sp-reviews-slot #comments_list .comment a.user:hover, .sp-reviews-slot #comments_list .comment .icms-comment-controls .btn:hover{ color:var(--sp-blue-d)!important; }
.sp-reviews-slot .review-mark .pstars, .sp-reviews-slot .pstars{ color:var(--sp-star); }
.sp-reviews-slot #comments_add_form{ margin-top:20px; padding:24px; border-radius:var(--sp-r20); background:var(--sp-bg-sec); }
.sp-reviews-slot .btn{ font-family:inherit; }
@media (max-width:767px){ .sp-prose table{ display:block; overflow-x:auto; -webkit-overflow-scrolling:touch; } .sp-prose table td, .sp-prose table th{ white-space:nowrap; } .sp-prose img, .sp-prose iframe{ max-width:100%; } }
