/* Страница товара — варианты 1–6, 8–10 (02.10.2026). Цвета: тёмно-синий #0a1628, золото #c5a55a */
.single-product .product-info__title { text-transform: none; letter-spacing: 0; line-height: 1.2; }
.pp-meta { display: block; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #94a3b8; margin-bottom: 6px; }

.pp-badges { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 4px; }
.pp-badge { font-size: 12px; font-weight: 700; padding: 6px 10px; border-radius: 8px; background: #f1f5f9; color: #0a1628; }
.pp-badge--gold { background: #f6efdc; color: #7a5d1c; }

.pp-intro { margin: 14px 0 6px; }
.pp-pitch { font-size: 15px; line-height: 1.6; color: #334155; margin: 0 0 8px; }
.pp-feats { list-style: none; margin: 0; padding: 0; font-size: 14px; color: #0a1628; }
.pp-feats li { position: relative; padding: 4px 0 4px 22px; }
.pp-feats li::before { content: ''; position: absolute; left: 4px; top: 11px; width: 8px; height: 8px; border-radius: 50%; background: #c5a55a; }

/* Подбор размера */
.pp-fit { margin: 14px 0 4px; }
.pp-fit-toggle { background: none; border: 0; padding: 0; color: #0a1628; font-weight: 700; font-size: 14px; text-decoration: underline; cursor: pointer; }
.pp-fit-body { margin-top: 10px; padding: 14px 16px; border: 1px solid #e8ecf2; border-radius: 12px; background: #fafbfc; }
.pp-fit-tabs { display: flex; gap: 14px; margin-bottom: 10px; font-size: 14px; }
.pp-fit-field { display: flex; align-items: center; gap: 12px; font-size: 14px; }
.pp-fit-field span { flex: 1; color: #475569; }
.pp-fit-input { width: 110px; padding: 9px 10px; border: 1.5px solid #cbd5e1; border-radius: 8px; font: inherit; }
.pp-fit-out { margin-top: 10px; font-size: 15px; color: #15803d; min-height: 1.2em; }
.pp-fit-out b { font-size: 18px; }
.pp-fit-bad { color: #b45309; }
.pp-fit-note { margin: 8px 0 0; font-size: 12px; color: #64748b; }
form.cart.pp-attn { animation: ppAttn 1.2s ease; border-radius: 12px; }
@keyframes ppAttn { 0%,100% { box-shadow: none; } 30% { box-shadow: 0 0 0 4px rgba(197,165,90,.6); } }

/* Доставка у кнопки */
.pp-delivery { margin: 16px 0 6px; border: 1px solid #e8ecf2; border-radius: 12px; padding: 14px 16px; font-size: 14px; }
.pp-dl-row { display: grid; grid-template-columns: 32px 1fr auto; gap: 10px; align-items: center; padding: 6px 0; }
.pp-dl-row + .pp-dl-row { border-top: 1px dashed #e8ecf2; }
.pp-dl-ic { width: 32px; height: 32px; border-radius: 8px; background: #f5f7fa; display: flex; align-items: center; justify-content: center; }
.pp-dl-row b { display: block; color: #0a1628; }
.pp-dl-row span { display: block; font-size: 12px; color: #64748b; line-height: 1.4; }
.pp-dl-row em { font-style: normal; font-weight: 700; white-space: nowrap; }
.pp-dl-free { margin-top: 10px; font-size: 13px; }
.pp-ok { color: #15803d; font-weight: 700; }
.pp-mut { color: #64748b; font-weight: 500 !important; font-size: 12px; }
.pp-bar { height: 8px; border-radius: 6px; background: #e8ecf2; position: relative; overflow: hidden; margin-top: 6px; }
.pp-bar i { position: absolute; top: 0; bottom: 0; left: 0; background: #c5a55a; border-radius: 6px; }
.pp-under-btn { margin: 8px 0 0; font-size: 12px; color: #64748b; }

/* Когда надевать */
.pp-wear { margin: 14px 0 6px; border: 1px solid #e8ecf2; border-radius: 12px; padding: 14px 16px; }
.pp-lbl { font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 8px; color: #0a1628; }
.pp-temp b { font-size: 18px; color: #0a1628; }
.pp-temp-scale { display: flex; justify-content: space-between; font-size: 11px; color: #94a3b8; margin-top: 6px; }
.pp-bar--t { background: linear-gradient(90deg, #dbeafe, #e8ecf2 40%, #fde68a); }
.pp-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.pp-tags span { font-size: 12px; font-weight: 600; padding: 5px 9px; border-radius: 6px; background: #f5f7fa; color: #0a1628; }
.pp-perf { display: grid; grid-template-columns: 130px 1fr 34px; gap: 8px 12px; align-items: center; font-size: 13px; margin-top: 12px; }
.pp-perf .pp-bar { margin: 0; }

/* Вкладки */
.pp-tabs { margin: 40px 0 10px; }
.pp-tabbar { display: flex; gap: 26px; border-bottom: 1px solid #e8ecf2; overflow-x: auto; scrollbar-width: none; }
.pp-tabbar::-webkit-scrollbar { display: none; }
.pp-tabbtn { background: none; border: 0; padding: 14px 0; font: inherit; font-weight: 700; font-size: 15px; color: #64748b; cursor: pointer; border-bottom: 2.5px solid transparent; white-space: nowrap; }
.pp-tabbtn.is-active { color: #0a1628; border-bottom-color: #c5a55a; }
.pp-tab { display: none; }
.pp-tab.is-active { display: block; }
.pp-acc { display: none; }
.pp-tabc { padding: 22px 0 8px; font-size: 15px; line-height: 1.65; color: #334155; max-width: 900px; }
.pp-spec { width: 100%; max-width: 640px; border-collapse: collapse; font-size: 14px; }
.pp-spec td { padding: 10px 0; border-bottom: 1px dashed #e8ecf2; vertical-align: top; }
.pp-spec td:first-child { color: #64748b; width: 45%; padding-right: 16px; }
.pp-faq details { border-bottom: 1px solid #e8ecf2; padding: 12px 0; }
.pp-faq summary { font-weight: 700; color: #0a1628; cursor: pointer; list-style: none; }
.pp-faq summary::after { content: '+'; float: right; color: #94a3b8; }
.pp-faq details[open] summary::after { content: '−'; }
.pp-faq p { margin: 8px 0 0; }
.pp-ask { margin-top: 16px; }
.pp-link { color: #0a1628; font-weight: 700; text-decoration: underline; }

/* Отзывы */
.pp-rev-head { display: flex; flex-wrap: wrap; gap: 24px; align-items: flex-start; margin-bottom: 18px; }
.pp-rev-sum b { display: block; font-size: 42px; line-height: 1; color: #0a1628; }
.pp-rev-sum span { font-size: 13px; color: #64748b; }
.pp-rev-dist { display: grid; grid-template-columns: 26px 160px 24px; gap: 6px 10px; align-items: center; font-size: 13px; }
.pp-rev-dist .pp-bar { margin: 0; }
.pp-rev-empty { margin: 0; font-weight: 600; color: #0a1628; }
.pp-rev-bonus { flex-basis: 100%; margin: 0; font-size: 13px; color: #7a5d1c; background: #f6efdc; border-radius: 8px; padding: 8px 12px; }

/* Собери комплект */
.pp-bundle { padding: 30px 0 10px; }
.pp-h3 { font-size: 22px; font-weight: 800; color: #0a1628; margin: 0 0 16px; }
.pp-b-grid { display: grid; grid-template-columns: 1fr 34px 1fr 34px 1fr; gap: 14px; align-items: center; }
.pp-b-op { font-size: 28px; font-weight: 800; text-align: center; color: #0a1628; }
.pp-b-item { border: 1px solid #e8ecf2; border-radius: 12px; padding: 12px; background: #fff; display: flex; flex-direction: column; gap: 6px; font-size: 14px; }
.pp-b-img img { width: 100%; aspect-ratio: 1/1; object-fit: contain; background: #f5f7fa; border-radius: 8px; }
.pp-b-name { font-weight: 700; color: #0a1628; text-decoration: none; line-height: 1.3; }
.pp-b-price { font-weight: 800; }
.pp-b-size { padding: 9px 10px; border: 1.5px solid #cbd5e1; border-radius: 8px; font: inherit; }
.pp-b-size.is-err { border-color: #dc2626; }
.pp-b-total { background: #0a1628; color: #fff; border-radius: 12px; padding: 18px; display: flex; flex-direction: column; gap: 8px; }
.pp-b-total span { font-size: 13px; color: #9fb0c8; }
.pp-b-total b { font-size: 26px; }
.pp-b-total .pp-ok { color: #86efac; font-style: normal; font-size: 13px; }
.pp-b-add { margin-top: 6px; padding: 13px; border: 0; border-radius: 10px; background: #c5a55a; color: #0a1628; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; cursor: pointer; }
.pp-b-add:disabled { opacity: .6; }
.pp-b-msg { font-size: 13px; min-height: 1.2em; }
.pp-b-msg a { color: #c5a55a; }
.pp-b-msg.is-err { color: #fca5a5; }

/* ===== Телефон (вариант 10) ===== */
@media (max-width: 768px) {
    .pp-tabbar { display: none; }
    .pp-tab { display: block; border-top: 1px solid #e8ecf2; }
    .pp-tab:last-child { border-bottom: 1px solid #e8ecf2; }
    .pp-acc { display: flex; justify-content: space-between; align-items: center; width: 100%; background: none; border: 0; padding: 15px 0; font: inherit; font-weight: 700; font-size: 15px; color: #0a1628; text-align: left; cursor: pointer; }
    .pp-acc span { font-size: 20px; color: #94a3b8; transition: transform .2s; }
    .pp-tab.is-open .pp-acc span { transform: rotate(45deg); }
    .pp-tabc { display: none; padding: 0 0 16px; font-size: 14px; }
    .pp-tab.is-open .pp-tabc { display: block; }
    .pp-tabs { margin-top: 24px; }
    .pp-b-grid { grid-template-columns: 1fr 1fr; }
    .pp-b-op { display: none; }
    .pp-b-total { grid-column: 1 / -1; }
    .pp-perf { grid-template-columns: 110px 1fr 30px; }
    .pp-rev-dist { grid-template-columns: 26px 1fr 24px; width: 100%; }
    /* Галерея — во всю ширину, миниатюры лентой */
    .single-product .product-gallery__thumbs { display: flex; overflow-x: auto; gap: 8px; scrollbar-width: none; }
    .single-product .product-gallery__thumbs::-webkit-scrollbar { display: none; }
    .single-product .product-gallery__thumb { flex: 0 0 56px; }
    /* Нижняя панель: цена + «В корзину», над нижним меню */
    .ccn-sticky-cart { top: auto !important; bottom: 62px; transform: none !important; opacity: 1 !important; visibility: visible !important; background: #fff; border-top: 1px solid #e8ecf2; box-shadow: 0 -6px 20px rgba(10,22,40,.08); z-index: 990; }
    .ccn-sticky-cart__inner { padding: 8px 0; gap: 10px; }
    .ccn-sticky-cart__thumb { display: none; }
    .ccn-sticky-cart__name { font-size: 12px; color: #64748b; flex: 0 0 auto; max-width: 30%; }
    .ccn-sticky-cart__price { font-weight: 800; font-size: 16px; color: #0a1628; }
    .ccn-sticky-cart__btn { flex: 1; text-align: center; padding: 12px; border-radius: 10px; background: #0a1628; color: #fff !important; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
    body.single-product { padding-bottom: 140px; }
}

/* ===== Отзывы: оформление шаблона WooCommerce в стиле сайта ===== */
#pp-tab-reviews .woocommerce-Reviews-title, #pp-tab-reviews .woocommerce-noreviews { display: none; }
#pp-tab-reviews .commentlist { list-style: none; margin: 0 0 24px; padding: 0; display: grid; gap: 12px; }
#pp-tab-reviews .commentlist li { margin: 0; }
#pp-tab-reviews .comment_container { display: flex; gap: 12px; border: 1px solid #e8ecf2; border-radius: 12px; padding: 14px 16px; background: #fff; }
#pp-tab-reviews .comment_container img.avatar { width: 40px; height: 40px; border-radius: 50%; flex: none; }
#pp-tab-reviews .comment-text { flex: 1; }
#pp-tab-reviews .comment-text .meta { font-size: 13px; color: #64748b; margin: 2px 0 6px; }
#pp-tab-reviews .comment-text .meta strong { color: #0a1628; }
#pp-tab-reviews .comment-text .description p { margin: 0; }
/* Звёзды (вместо иконочного шрифта WooCommerce) */
.pp-tabs .star-rating, .pp-rev-sum .star-rating { position: relative; display: inline-block; width: 5.6em; height: 1.1em; line-height: 1.1; font-size: 15px; overflow: hidden; color: transparent; float: none; }
.pp-tabs .star-rating::before, .pp-rev-sum .star-rating::before { content: '★★★★★'; position: absolute; left: 0; top: 0; color: #e2e8f0; letter-spacing: .12em; }
.pp-tabs .star-rating span, .pp-rev-sum .star-rating span { position: absolute; left: 0; top: 0; height: 100%; overflow: hidden; padding-top: 1.5em; }
.pp-tabs .star-rating span::before, .pp-rev-sum .star-rating span::before { content: '★★★★★'; position: absolute; left: 0; top: 0; color: #c5a55a; letter-spacing: .12em; }
#pp-tab-reviews .comment-text .star-rating { float: right; }
/* Форма */
#pp-tab-reviews #review_form_wrapper { border: 1px solid #e8ecf2; border-radius: 12px; padding: 18px 20px; background: #fafbfc; max-width: 720px; }
#pp-tab-reviews .comment-reply-title { display: block; font-size: 18px; font-weight: 800; color: #0a1628; margin-bottom: 6px; }
#pp-tab-reviews .comment-notes { font-size: 12px; color: #64748b; margin: 0 0 12px; }
#pp-tab-reviews .comment-form label { display: block; font-size: 13px; font-weight: 700; color: #0a1628; margin-bottom: 6px; }
#pp-tab-reviews .comment-form textarea, #pp-tab-reviews .comment-form input[type=text], #pp-tab-reviews .comment-form input[type=email] { width: 100%; padding: 11px 12px; border: 1.5px solid #cbd5e1; border-radius: 10px; font: inherit; background: #fff; box-sizing: border-box; }
#pp-tab-reviews .comment-form textarea { min-height: 120px; resize: vertical; }
#pp-tab-reviews .comment-form textarea:focus, #pp-tab-reviews .comment-form input:focus { outline: none; border-color: #0a1628; }
#pp-tab-reviews .comment-form p { margin: 0 0 12px; }
#pp-tab-reviews .comment-form-cookies-consent { display: flex; gap: 8px; align-items: flex-start; font-size: 12px; }
#pp-tab-reviews .comment-form-cookies-consent label { font-weight: 500; }
#pp-tab-reviews .comment-form .form-submit input[type=submit], #pp-tab-reviews #submit { padding: 13px 26px; border: 0; border-radius: 10px; background: #0a1628; color: #fff; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; cursor: pointer; }
#pp-tab-reviews #submit:hover { background: #c5a55a; color: #0a1628; }
/* Выбор оценки — звёзды-кнопки */
#pp-tab-reviews p.stars { margin: 0 0 14px; }
#pp-tab-reviews p.stars span { display: inline-flex; gap: 4px; }
#pp-tab-reviews p.stars a { position: relative; display: inline-block; width: 30px; height: 30px; font-size: 0; text-decoration: none; }
#pp-tab-reviews p.stars a::before { content: '★'; position: absolute; inset: 0; font-size: 28px; line-height: 30px; color: #cbd5e1; transition: color .1s; }
#pp-tab-reviews p.stars:hover a::before, #pp-tab-reviews p.stars.selected a::before { color: #c5a55a; }
#pp-tab-reviews p.stars a:hover ~ a::before, #pp-tab-reviews p.stars.selected a.active ~ a::before { color: #cbd5e1; }
#pp-tab-reviews p.stars.selected a.active::before { color: #c5a55a; }
#pp-tab-reviews select#rating { display: none; }

/* Посадка */
.pp-fitscale { margin: 14px 0 4px; }
.pp-fitscale .pp-lbl b { text-transform: none; letter-spacing: 0; color: #0a1628; }
.pp-fs-track { position: relative; height: 6px; border-radius: 6px; background: linear-gradient(90deg, #0a1628, #c5a55a 50%, #e8ecf2); margin: 10px 10px 0; }
.pp-fs-dot { position: absolute; top: 50%; width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 4px solid #0a1628; transform: translate(-50%, -50%); box-shadow: 0 1px 4px rgba(10,22,40,.25); }
.pp-fs-legend { display: flex; justify-content: space-between; font-size: 11px; color: #94a3b8; margin-top: 8px; }
.pp-fs-hint { margin: 4px 0 0; font-size: 12px; color: #64748b; }
/* «Выберите размер» — прямо над размерами */
.single-product .product-info__stock { margin: 16px 0 4px; }

/* Не выбран размер — красная подсветка строки */
form.variations_form .pp-need td, form.variations_form .pp-need th { position: relative; }
form.variations_form tr.pp-need, form.variations_form .pp-need { outline: 2px solid #dc2626; outline-offset: 6px; border-radius: 8px; }
.pp-need-msg { color: #dc2626; font-size: 13px; font-weight: 700; margin-top: 8px; }
.pp-need--shake { animation: ppShake .45s ease; }
@keyframes ppShake { 0%,100% { transform: translateX(0); } 20% { transform: translateX(-6px); } 40% { transform: translateX(6px); } 60% { transform: translateX(-4px); } 80% { transform: translateX(4px); } }

/* Телефон, страница товара: кнопки «наверх» и «связаться» — над панелью «цена + в корзину» (она стоит над нижним меню) */
@media (max-width: 768px) {
    body.single-product .ccn-scroll-top { bottom: 220px !important; right: 20px; }
    body.single-product .ccn-float-contacts { bottom: 152px !important; }
    body.single-product #tidio-chat iframe, body.single-product .tawk-min-container { bottom: 152px !important; }
}

/* «Для бассейна» (06.10.2026) */
.pp-swim{border-color:#bae6fd;background:linear-gradient(180deg,#f0f9ff 0,#fff 60%)}
.pp-swim .pp-bar i{background:#0284c7}
.pp-swim-fabric{margin:6px 0 0;font-size:13px;line-height:1.45;color:#334155}.pp-swim-fabric b{color:#0a1628}
.pp-swim-note{margin:8px 0 0;font-size:11px;color:#94a3b8}
