/* ==========================================================================
   БутикFISH — v5.10  Graphite inner pages (catalog / product archives)
   The product cards are already graphite (#222a2c); this layer unifies the
   page they sit on — background, sidebar filters, breadcrumb, toolbar,
   pagination — so the catalog reads as one cohesive "store" surface
   instead of dark cards floating on white.
   Scope: shop, product category, product tag, product brand archives.
   ========================================================================== */

/* ---- Graphite canvas (catalog / archive pages only) ---------------------- */
body.post-type-archive-product,
body.tax-product_cat,
body.tax-product_tag,
body.tax-product_brand{
  background:
    radial-gradient(1100px 540px at 82% -8%, rgba(22,143,209,.12), transparent 60%),
    linear-gradient(180deg, #1b2426 0%, #151d1f 55%, #11181a 100%) !important;
  background-color:#11181a !important;
  color:#cdd6d8;
}

/* ---- Breadcrumb bar ------------------------------------------------------ */
body.post-type-archive-product .breadcrumbs,
body.tax-product_cat .breadcrumbs,
body.tax-product_tag .breadcrumbs,
body.tax-product_brand .breadcrumbs{
  background:transparent;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.post-type-archive-product .breadcrumbs,
.tax-product_cat .breadcrumbs,
.tax-product_tag .breadcrumbs,
.tax-product_brand .breadcrumbs{ color:#8fa0a4; }
.post-type-archive-product .breadcrumbs a,
.tax-product_cat .breadcrumbs a,
.tax-product_tag .breadcrumbs a,
.tax-product_brand .breadcrumbs a{ color:#aebabd; }
.post-type-archive-product .breadcrumbs a:hover,
.tax-product_cat .breadcrumbs a:hover,
.tax-product_tag .breadcrumbs a:hover,
.tax-product_brand .breadcrumbs a:hover{ color:var(--color-accent-light); }
.post-type-archive-product .breadcrumbs .current,
.tax-product_cat .breadcrumbs .current,
.tax-product_tag .breadcrumbs .current,
.tax-product_brand .breadcrumbs .current{ color:#e8edee; }

/* ---- Subcategory chip strip --------------------------------------------- */
.tax-product_cat .subcat-nav-section,
.post-type-archive-product .subcat-nav-section,
.tax-product_tag .subcat-nav-section,
.tax-product_brand .subcat-nav-section{
  background:transparent;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.tax-product_cat .subcat-nav-title,
.post-type-archive-product .subcat-nav-title{ color:#e8edee; }
.tax-product_cat .subcat-nav-item,
.post-type-archive-product .subcat-nav-item{
  background:#1f292b; border:1px solid rgba(255,255,255,.09);
}
.tax-product_cat .subcat-nav-item:hover,
.post-type-archive-product .subcat-nav-item:hover{
  border-color:var(--color-accent); background:#243133;
}
.tax-product_cat .subcat-nav-name,
.post-type-archive-product .subcat-nav-name{ color:#d4dcde; }
.tax-product_cat .subcat-nav-icon,
.post-type-archive-product .subcat-nav-icon{ color:var(--color-accent-light); }
.tax-product_cat .subcat-nav-count,
.post-type-archive-product .subcat-nav-count{
  background:rgba(255,255,255,.10); color:#9fb0b5;
}
.tax-product_cat .subcat-nav-item.active,
.post-type-archive-product .subcat-nav-item.active{
  background:var(--color-accent); border-color:var(--color-accent);
}

/* ---- Catalog header (title / count / sort) ------------------------------ */
.post-type-archive-product .catalog-header h1,
.tax-product_cat .catalog-header h1,
.tax-product_tag .catalog-header h1,
.tax-product_brand .catalog-header h1{ color:#ffffff; }
.post-type-archive-product .catalog-count,
.tax-product_cat .catalog-count,
.tax-product_tag .catalog-count,
.tax-product_brand .catalog-count{ color:#9fb0b5; }
.post-type-archive-product .catalog-sort,
.tax-product_cat .catalog-sort,
.tax-product_tag .catalog-sort,
.tax-product_brand .catalog-sort{ color:#c3ced0; }
.post-type-archive-product .catalog-sort select,
.tax-product_cat .catalog-sort select,
.tax-product_tag .catalog-sort select,
.tax-product_brand .catalog-sort select{
  background-color:#1f292b;
  color:#d4dcde;
  border:1px solid rgba(255,255,255,.14);
  /* light dropdown caret for dark bg */
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5z' fill='%23aebabd'/%3E%3C/svg%3E");
}

/* Optional catalog intro / description text on the bare canvas */
.post-type-archive-product .catalog-page > .container > .term-description,
.tax-product_cat .term-description,
.tax-product_brand .term-description{ color:#aebabd; }

/* ---- Sidebar filter widgets → graphite panels --------------------------- */
.tax-product_cat .filter-widget,
.post-type-archive-product .filter-widget,
.tax-product_tag .filter-widget,
.tax-product_brand .filter-widget{
  background:#1e2729;
  border:1px solid rgba(255,255,255,.07);
  box-shadow:0 6px 22px rgba(0,0,0,.35);
}
.tax-product_cat .filter-widget-title,
.post-type-archive-product .filter-widget-title{
  color:#ffffff;
  border-bottom-color:var(--color-accent);
}
.tax-product_cat .filter-widget-title button,
.post-type-archive-product .filter-widget-title button{ color:#8b989c; }
.tax-product_cat .filter-widget-title button:hover,
.post-type-archive-product .filter-widget-title button:hover{ color:var(--color-accent-light); }

/* Category tree */
.tax-product_cat .filter-cat-parent,
.post-type-archive-product .filter-cat-parent,
.tax-product_cat .filter-cat-back,
.post-type-archive-product .filter-cat-back{ border-bottom-color:rgba(255,255,255,.07); }
.tax-product_cat .filter-cat-link,
.post-type-archive-product .filter-cat-link{ color:#cdd6d8; }
.tax-product_cat .filter-cat-link:hover,
.post-type-archive-product .filter-cat-link:hover,
.tax-product_cat .filter-cat-link.current,
.post-type-archive-product .filter-cat-link.current{ color:var(--color-accent-light); }
.tax-product_cat .filter-cat-child,
.post-type-archive-product .filter-cat-child{ color:#aab6b9; }
.tax-product_cat .filter-cat-child:hover,
.post-type-archive-product .filter-cat-child:hover,
.tax-product_cat .filter-cat-child.current,
.post-type-archive-product .filter-cat-child.current{ color:var(--color-accent-light); }
.tax-product_cat .filter-cat-count,
.post-type-archive-product .filter-cat-count{ color:#8b989c; }
.tax-product_cat .filter-cat-back,
.post-type-archive-product .filter-cat-back{ color:var(--color-accent-light); }
.tax-product_cat .filter-cat-dot,
.post-type-archive-product .filter-cat-dot{ background:rgba(255,255,255,.22); }
.tax-product_cat .filter-cat-child.current .filter-cat-dot,
.post-type-archive-product .filter-cat-child.current .filter-cat-dot{ background:var(--color-accent-light); }
.tax-product_cat .filter-cat-toggle,
.post-type-archive-product .filter-cat-toggle{ color:#9fb0b5; }
.tax-product_cat .filter-cat-toggle:hover,
.post-type-archive-product .filter-cat-toggle:hover{ background:rgba(255,255,255,.09); color:var(--color-accent-light); }

/* Checkbox filters (brand, stock) */
.tax-product_cat .filter-checkbox,
.post-type-archive-product .filter-checkbox{ color:#cdd6d8; }
.tax-product_cat .filter-checkbox input[type="checkbox"],
.post-type-archive-product .filter-checkbox input[type="checkbox"]{ accent-color:var(--color-accent); }

/* Price filter inputs + slider */
.tax-product_cat .price-inputs input,
.post-type-archive-product .price-inputs input{
  background:#141c1e; color:#e8edee; border:1px solid rgba(255,255,255,.16);
}
.tax-product_cat .price-inputs span,
.post-type-archive-product .price-inputs span{ color:#8b989c; }
.tax-product_cat .price-filter .noUi-target,
.post-type-archive-product .price-filter .noUi-target{ background:rgba(255,255,255,.12); border:none; box-shadow:none; }
.tax-product_cat .price-filter .noUi-connect,
.post-type-archive-product .price-filter .noUi-connect{ background:var(--color-accent); }
.tax-product_cat .price-filter .noUi-handle,
.post-type-archive-product .price-filter .noUi-handle{ background:#fff; border-color:var(--color-accent); }

/* Reset filters widget — make it a subtle ghost on graphite */
.tax-product_cat .filter-reset-widget,
.post-type-archive-product .filter-reset-widget{ background:transparent; border:1px solid rgba(255,255,255,.10); box-shadow:none; }

/* ---- Pagination ---------------------------------------------------------- */
.post-type-archive-product .pagination a,
.post-type-archive-product .pagination span,
.tax-product_cat .pagination a,
.tax-product_cat .pagination span,
.tax-product_tag .pagination a,
.tax-product_tag .pagination span,
.tax-product_brand .pagination a,
.tax-product_brand .pagination span{
  color:#cdd6d8; border:1px solid rgba(255,255,255,.16);
}
.post-type-archive-product .pagination a:hover,
.tax-product_cat .pagination a:hover,
.tax-product_tag .pagination a:hover,
.tax-product_brand .pagination a:hover{
  border-color:var(--color-accent); color:#fff;
}
.post-type-archive-product .pagination .current,
.tax-product_cat .pagination .current,
.tax-product_tag .pagination .current,
.tax-product_brand .pagination .current{
  background:var(--color-accent); border-color:var(--color-accent); color:#fff;
}

/* ---- Mobile filter drawer toggle (light button → graphite) -------------- */
@media(max-width:1024px){
  .tax-product_cat .mobile-filter-close,
  .post-type-archive-product .mobile-filter-close{
    background:#1e2729; border:1px solid rgba(255,255,255,.14); color:#d4dcde;
  }
  /* sidebar becomes a dark drawer on mobile */
  .tax-product_cat .catalog-sidebar.active,
  .post-type-archive-product .catalog-sidebar.active{
    background:#11181a;
  }
}

/* ---- Empty / no-results state ------------------------------------------- */
.post-type-archive-product .no-products,
.tax-product_cat .no-products,
.tax-product_tag .no-products,
.tax-product_brand .no-products{ color:#aebabd; }

/* ==========================================================================
   v5.11 — Graphite CMS pages (О нас / Контакты / Оплата / Доставка …)
   + single product page. Same store-graphite canvas, content panels go dark
   with light text. Cart / checkout / account stay light (commerce safety).
   ========================================================================== */

/* ---- Graphite canvas for info pages + product page ---------------------- */
body.page:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account),
body.single-product{
  background:
    radial-gradient(1100px 540px at 82% -8%, rgba(22,143,209,.12), transparent 60%),
    linear-gradient(180deg, #1b2426 0%, #151d1f 55%, #11181a 100%) !important;
  background-color:#11181a !important;
  color:#cdd6d8;
}

/* The white content wrapper → let the graphite show through */
.page:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .page-content-section,
.single-product .single-product-section,
.single-product .product-tabs,
.single-product .related-products{ background:transparent !important; }

/* ====================== CMS INFO PAGES ==================================== */
/* Section headings + prose */
.page .info-section-block h2,
.page .page-prose h2,
.page .page-prose h3,
.page .info-rika-card h3,
.page .info-card h3,
.page .bf-about-store h2{ color:#ffffff !important; }
.page .info-section-block h2,
.page .page-prose h2,
.page .page-prose h3{ border-bottom-color:rgba(255,255,255,.14) !important; }
.page .page-prose,
.page .page-prose p,
.page .page-prose li,
.page .info-rika-card p,
.page .info-rika-card li,
.page .info-card p,
.page .bf-about-store p,
.page .bf-about-store li{ color:#c3ced0 !important; }
.page .info-muted{ color:#8b989c !important; }
.page .info-link{ color:var(--color-accent-light) !important; }

/* Plain white cards → graphite panels (keep the accent gradient cards as-is) */
.page .info-rika-card:not(.info-rika-card--accent):not(.info-rika-card--accent-full),
.page .info-card,
.page .info-form-column,
.page .info-highlight-block{
  background:#1e2729 !important;
  border-color:rgba(255,255,255,.07) !important;
}
.page .info-rika-card:not(.info-rika-card--accent):not(.info-rika-card--accent-full):hover,
.page .info-card:hover{ border-color:var(--color-accent) !important; box-shadow:0 12px 30px rgba(0,0,0,.4) !important; }

/* Requisites table */
.page .requisites-table td{ color:#cdd6d8 !important; border-bottom-color:rgba(255,255,255,.09) !important; }
.page .requisites-table td:first-child{ color:#9fb0b5 !important; }
.page .requisites-table tr:nth-child(even) td{ background:rgba(255,255,255,.04) !important; }
.page .info-form-column h3,
.page .info-cta-text h3{ color:#ffffff !important; }
.page .info-cta-text p{ color:rgba(255,255,255,.7) !important; }

/* Badges / chips / small surfaces inside cards */
.page .info-address-badge{ background:rgba(255,255,255,.05) !important; color:#d4dcde !important; }
.page .info-warranty-service{ background:rgba(255,255,255,.05) !important; border-color:rgba(255,255,255,.10) !important; color:#cdd6d8 !important; }
.page .info-stat-num{ color:#fff !important; }

/* Contact form fields */
.page .info-form-column input,
.page .info-form-column textarea,
.page .info-form-column select,
.page .info-form-column .form-control{
  background:#141c1e !important; color:#e8edee !important;
  border:1px solid rgba(255,255,255,.16) !important;
}
.page .info-form-column input::placeholder,
.page .info-form-column textarea::placeholder{ color:#7e8c90 !important; }

/* Map keeps its own frame; just soften the border on dark */
.page .info-map-wrap{ border-color:rgba(255,255,255,.10) !important; box-shadow:0 14px 34px rgba(0,0,0,.4) !important; }

/* ====================== SINGLE PRODUCT PAGE ============================== */
/* Breadcrumb bar (header.css gives it a light bg) → graphite */
.single-product .breadcrumbs{ background:transparent !important; border-bottom:1px solid rgba(255,255,255,.08) !important; color:#8fa0a4 !important; }
.single-product .breadcrumbs a{ color:#aebabd !important; }
.single-product .breadcrumbs a:hover{ color:var(--color-accent-light) !important; }
.single-product .breadcrumbs .current{ color:#e8edee !important; }

/* Title / sku / short desc */
.single-product .buy-box-title{ color:#ffffff !important; }
.single-product .buy-box-sku{ color:#9fb0b5 !important; }
.single-product .product-short-desc{ color:#c3ced0 !important; }

/* Price panel */
.single-product .buy-box-price{ background:#1e2729 !important; border:1px solid rgba(255,255,255,.06) !important; }
.single-product .buy-box-price .current{ color:#ffffff !important; }
.single-product .buy-box-price .old{ color:#8b989c !important; }

/* Quantity control */
.single-product .qty-control{ border-color:rgba(255,255,255,.18) !important; }
.single-product .qty-control .qty-minus,
.single-product .qty-control .qty-plus{ background:#1b2325 !important; color:#d4dcde !important; }
.single-product .qty-control .qty-minus:hover,
.single-product .qty-control .qty-plus:hover{ background:var(--color-accent) !important; color:#fff !important; }
.single-product .qty-control .qty-input{ background:#141c1e !important; color:#fff !important; border-color:rgba(255,255,255,.18) !important; }

/* Feature icons row */
.single-product .product-features-icons{ border-bottom-color:rgba(255,255,255,.12) !important; }
.single-product .feature-svg{ color:var(--color-accent-light) !important; }
.single-product .feature-title{ color:#d4dcde !important; }
.single-product .feature-value{ color:#9fb0b5 !important; }

/* Gallery — keep a light photo stage (matches the card photo frames) */
.single-product .gallery-main,
.single-product .gallery-thumb{ background:#eef1f2 !important; }
.single-product .gallery-thumbs-nav{ background:#1b2325 !important; border-color:rgba(255,255,255,.16) !important; color:#d4dcde !important; }

/* Tabs */
.single-product .product-tabs-nav{ border-bottom-color:rgba(255,255,255,.16) !important; }
.single-product .product-tabs-nav button{ color:#9fb0b5 !important; }
.single-product .product-tabs-nav button:hover,
.single-product .product-tabs-nav button.active{ color:var(--color-accent-light) !important; }
.single-product .product-tabs-nav button.active::after{ background:var(--color-accent) !important; }

/* Description + specs */
.single-product .product-description,
.single-product .product-description p,
.single-product .product-description li,
.single-product .product-description span,
.single-product .product-description h3,
.single-product .desc-specs-left,
.single-product .desc-specs-left h3{ color:#c8d2d4 !important; }
.single-product .product-description h3{ color:#ffffff !important; }
.single-product .desc-specs-left{ background:#1b2325 !important; border-color:rgba(255,255,255,.10) !important; }
.single-product .product-description ul li::before{ background:var(--color-accent) !important; }
.single-product .product-description table td,
.single-product .product-description table th{ border-color:rgba(255,255,255,.12) !important; }
.single-product .product-description table tr:nth-child(even){ background:rgba(255,255,255,.03) !important; }

/* Reviews */
.single-product .reviews-summary{ background:#1e2729 !important; border:1px solid rgba(255,255,255,.06) !important; }
.single-product .review-item{ border-bottom-color:rgba(255,255,255,.09) !important; }
.single-product .review-text{ color:#c3ced0 !important; }
.single-product .review-date{ color:#8b989c !important; }

/* Shipping / documents cards */
.single-product .shipping-card{ background:#1e2729 !important; border:1px solid rgba(255,255,255,.06) !important; }
.single-product .shipping-card-icon{ color:var(--color-accent-light) !important; }
.single-product .shipping-card h4,
.single-product .shipping-card p,
.single-product .product-documents-content,
.single-product .product-documents-content *{ color:#cdd6d8 !important; }

/* Related products header */
.single-product .related-products .section-title,
.single-product .related-products h2{ color:#ffffff !important; }

/* ==========================================================================
   v5.12 — Colour harmonisation. Removes every stray light surface so the
   whole inner experience lives in one graphite scale:
     canvas  #141b1d   ·  panel  #1e2729   ·  photo-stage #1a2224
     field   #161e1f   ·  border rgba(255,255,255,.08)
   Photos are framed (dark stage + soft ring + radius) instead of sitting on
   white, so a light product shot no longer cuts a hard white rectangle.
   ========================================================================== */

/* ---- Photo stages → dark framed (catalog cards + product gallery) ------- */
.tax-product_cat .product-card-image,
.post-type-archive-product .product-card-image,
.tax-product_tag .product-card-image,
.tax-product_brand .product-card-image,
.single-product .product-card-image{
  background:#1a2224 !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05) !important;
}
.tax-product_cat .product-card-image img.gallery-img.active-hover,
.post-type-archive-product .product-card-image img.gallery-img.active-hover,
.single-product .product-card-image img.gallery-img.active-hover{ background:#1a2224 !important; }

.single-product .gallery-main{
  background:#1a2224 !important;
  border:1px solid rgba(255,255,255,.08) !important;
  box-shadow:0 16px 38px rgba(0,0,0,.42) !important;
}
.single-product .gallery-thumb{
  background:#1a2224 !important;
  border:2px solid rgba(255,255,255,.10) !important;
}
.single-product .gallery-thumb.active,
.single-product .gallery-thumb:hover{ border-color:var(--color-accent) !important; }
.single-product .gallery-thumbs-nav{
  background:#1b2325 !important; border:1px solid rgba(255,255,255,.14) !important; color:#cdd6d8 !important;
}

/* ---- Form & numeric fields → one dark family, soft border, accent focus - */
.page .info-form-column input,
.page .info-form-column textarea,
.page .info-form-column select,
.page .info-form-column .form-control,
.tax-product_cat .price-inputs input,
.post-type-archive-product .price-inputs input,
.tax-product_tag .price-inputs input,
.tax-product_brand .price-inputs input,
.single-product .qty-control .qty-input{
  background:#161e1f !important;
  border:1px solid rgba(255,255,255,.10) !important;
  color:#e8edee !important;
}
.page .info-form-column input::placeholder,
.page .info-form-column textarea::placeholder{ color:#7e8c90 !important; }
.page .info-form-column input:focus,
.page .info-form-column textarea:focus,
.page .info-form-column select:focus,
.tax-product_cat .price-inputs input:focus,
.post-type-archive-product .price-inputs input:focus{
  border-color:var(--color-accent) !important;
  box-shadow:0 0 0 3px rgba(22,143,209,.18) !important;
  outline:none !important;
}

/* ---- Requisites zebra → subtle DARK stripe (no light band) -------------- */
.page .requisites-table tr:nth-child(even) td{ background:rgba(0,0,0,.16) !important; }

/* ---- Belt-and-braces: kill any leftover bg-alt / white inset on product - */
.single-product .buy-box-price,
.single-product .reviews-summary,
.single-product .shipping-card,
.single-product .desc-specs-left{ background:#1e2729 !important; }

/* ==========================================================================
   v5.13 — CMS page fixes from live review:
     (1) white wave strip under the hero  (2) dark-on-dark body text
     (3) white breadcrumb bar  (4) icons inheriting dark text colour
   ========================================================================== */

/* (1) Recolour the hero wave to the graphite canvas so it blends into the
       dark content instead of leaving a white strip. */
.page .page-hero::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cpath fill='%231a2224' d='M0,40 C240,75 480,5 720,28 C960,52 1200,8 1440,34 L1440,60 L0,60 Z'/%3E%3C/svg%3E") !important;
}

/* (3) Breadcrumb bar on CMS pages → graphite (was light #fafafa) */
.page:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .breadcrumbs{
  background:transparent !important; border-bottom:1px solid rgba(255,255,255,.08) !important; color:#8fa0a4 !important;
}
.page:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .breadcrumbs a{ color:#aebabd !important; }
.page:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .breadcrumbs a:hover{ color:var(--color-accent-light) !important; }
.page:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .breadcrumbs .current{ color:#e8edee !important; }

/* (2) Make ALL body copy readable on the graphite canvas. Generic (no
       !important) so accent-gradient cards keep their own white text. */
.page .page-content-section{ color:#c8d2d4; }
.page .page-content-section p,
.page .page-content-section li,
.page .page-content-section td,
.page .page-content-section dd,
.page .page-content-section dt,
.page .page-content-section blockquote{ color:#c8d2d4; }
.page .page-content-section h1,
.page .page-content-section h2,
.page .page-content-section h3,
.page .page-content-section h4,
.page .page-content-section h5{ color:#ffffff; }
.page .page-content-section strong,
.page .page-content-section b{ color:#e8edee; }
.page .page-content-section a:not(.btn){ color:var(--color-accent-light); }
/* Known dark-text containers that need an explicit lift */
.page .info-text-side,
.page .info-text-side p,
.page .info-text-block p,
.page .info-section-block p,
.page .info-highlight-block p,
.page .info-highlight-block li{ color:#c8d2d4 !important; }
.page .info-muted{ color:#9fb0b5 !important; }

/* (4) Icons that inherit the text colour (stroke="currentColor") must not go
       dark; keep card icons crisp. */
.page .page-content-section svg{ color:#c8d2d4; }
.page .info-card-icon svg{ color:#ffffff !important; stroke:#ffffff !important; }
.page .info-address-badge svg,
.page .info-rika-list li::before,
.page .info-rika-list--check li::before{ color:var(--color-accent-light) !important; }

/* CTA buttons sitting on dark cards → use the accent so they read as actions */
.page .info-card .btn-primary,
.page .info-rika-card .btn-primary{ background:var(--color-accent) !important; color:#fff !important; }
.page .info-card .btn-primary:hover,
.page .info-rika-card .btn-primary:hover{ background:var(--color-accent-hover) !important; }

/* ==========================================================================
   v5.14 — Live-review fixes + product-photo display option
   ========================================================================== */

/* (A) Product gallery fit — driven by admin option (body.bf-gallery-*).
       Both modes keep ONE fixed height across all products, and apply to
       every slide in a multi-image Swiper gallery. */
.bf-gallery-cover .gallery-main-slider{ aspect-ratio:4 / 3 !important; }
.bf-gallery-cover .gallery-main-slider .swiper-slide,
.bf-gallery-cover .gallery-main-slider .swiper-wrapper{ height:100% !important; }
.bf-gallery-cover .gallery-main-slider .swiper-slide img{ object-fit:cover !important; height:100% !important; }

.bf-gallery-contain .gallery-main-slider{ aspect-ratio:1 / 1 !important; }
.bf-gallery-contain .gallery-main-slider .swiper-slide img{ object-fit:contain !important; height:100% !important; }

/* (B) Самовывоз — address text lived in a <span> (stayed dark). */
.page .info-address-badge span{ color:#d4dcde !important; }
.page .info-address-badge{ background:rgba(22,143,209,.10) !important; border:1px solid rgba(22,143,209,.22) !important; }
.page .info-address-badge svg{ color:var(--color-accent-light) !important; }

/* (C) «Консультация» button on the product page used dark .btn-outline. */
.single-product .buy-box-secondary .btn-outline{
  background:transparent !important;
  color:#d4dcde !important;
  border:2px solid rgba(255,255,255,.28) !important;
}
.single-product .buy-box-secondary .btn-outline:hover{
  border-color:var(--color-accent) !important; color:#ffffff !important; background:rgba(22,143,209,.14) !important;
}
.single-product .buy-box-secondary .btn-outline svg{ color:currentColor !important; }

/* (D) «Избранное» (wishlist) — title + breathing room so cards don't hug top */
.page .bf-wc-page{ padding-top:48px !important; }
.bf-wc-title{ color:#ffffff !important; font-size:30px; font-weight:800; letter-spacing:.5px; margin:0 0 26px; }
.bf-wc-title::after{ content:''; display:block; width:54px; height:4px; border-radius:2px; background:var(--color-accent); margin-top:14px; }

/* (E) Реквизиты — solid, opaque, unbeatable specificity (was light-on-light
       on the live site; the previous semi-transparent rule lost to caching). */
body.page table.requisites-table td{
  background:#1a2224 !important;
  color:#cdd6d8 !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}
body.page table.requisites-table td:first-child{ color:#9fb0b5 !important; }
body.page table.requisites-table tr:nth-child(even) td{ background:#222c2e !important; }

/* ==========================================================================
   v5.15 — Contacts brand icons + bold accent «В корзину» on product page
   ========================================================================== */

/* (A) Real brand logos on the contacts page (were OS emoji). */
.page .bf-soc{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; transition:background .2s, transform .2s, border-color .2s; }
.page .bf-soc:hover{ transform:translateY(-3px); }
.page .bf-soc__ic{ display:flex; align-items:center; justify-content:center; }
.page .bf-soc__ic svg{ width:30px; height:30px; display:block; }
.page .bf-soc .info-stat-label{ color:#dfe7e9 !important; font-weight:600; }
/* brand tints */
.page .bf-soc--tg    .bf-soc__ic{ color:#2ca5e0; }
.page .bf-soc--vk    .bf-soc__ic{ color:#6aa0d8; }
.page .bf-soc--wa    .bf-soc__ic{ color:#3ad07a; }
.page .bf-soc--phone .bf-soc__ic{ color:var(--color-accent-light); }
.page .bf-soc--tg:hover{ border-color:rgba(44,165,224,.6) !important; background:rgba(44,165,224,.12) !important; }
.page .bf-soc--vk:hover{ border-color:rgba(106,160,216,.6) !important; background:rgba(106,160,216,.12) !important; }
.page .bf-soc--wa:hover{ border-color:rgba(58,208,122,.6) !important; background:rgba(58,208,122,.12) !important; }
.page .bf-soc--phone:hover{ border-color:rgba(22,143,209,.6) !important; background:rgba(22,143,209,.12) !important; }

/* (B) «В корзину» on the product page → bright accent, like the cards. */
.single-product .buy-box-actions .btn-primary,
.single-product .buy-box-cart-row .btn-primary,
.single-product .buy-box-actions .cart .btn-primary,
.single-product .single_add_to_cart_button{
  background:var(--color-accent) !important;
  color:#ffffff !important;
  font-weight:700 !important;
  box-shadow:0 8px 20px rgba(22,143,209,.40) !important;
  border:none !important;
}
.single-product .buy-box-actions .btn-primary:hover,
.single-product .buy-box-cart-row .btn-primary:hover,
.single-product .single_add_to_cart_button:hover{
  background:var(--color-accent-hover) !important;
  box-shadow:0 10px 26px rgba(22,143,209,.5) !important;
  transform:translateY(-1px);
}

/* ==========================================================================
   v5.16 — Product page: hide empty specs panel (full-width description)
   ========================================================================== */
.single-product .desc-specs-layout--full{ grid-template-columns:1fr !important; }
.single-product .desc-specs-layout--full .desc-specs-right{ max-width:860px; }

/* ==========================================================================
   v5.16.2 — Product title pinned to the TOP, level with the photo.
   Root cause (found via live DOM inspection): the buy-box was
   position:sticky; top:90px, which offset the whole right column ~88px down,
   so the title floated to the middle of a tall photo. Making it static pins
   it to the top. Verified live: title now flush with the gallery top.
   ========================================================================== */
.single-product .product-top{ align-items:start !important; }
.single-product .product-top > .buy-box{ align-self:start !important; position:static !important; top:auto !important; }
.single-product .product-top > .product-gallery{ align-self:start !important; }

/* ==========================================================================
   v5.17.1 — Product page: benefits block under the buy buttons (compact 2-col
   grid) + title at top. The gallery stays a FIXED 4:3 landscape (cover) so a
   wide fish photo is never cropped into a tall vertical strip — only the
   long edges trim slightly, and it never goes portrait.
   ========================================================================== */
.single-product .buy-box-benefits{
  list-style:none; margin:18px 0 0; padding:16px;
  display:grid; grid-template-columns:1fr 1fr; gap:14px 18px;
  background:#1b2325; border:1px solid rgba(255,255,255,.07); border-radius:14px;
}
.single-product .buy-box-benefits li{ display:flex; gap:10px; align-items:flex-start; }
.single-product .buy-box-benefits .bb-ic{
  flex:0 0 34px; width:34px; height:34px; border-radius:9px;
  background:rgba(22,143,209,.14); display:flex; align-items:center; justify-content:center;
  color:var(--color-accent-light);
}
.single-product .buy-box-benefits .bb-ic svg{ width:18px; height:18px; }
.single-product .buy-box-benefits b{ display:block; color:#e8edee; font-size:13px; font-weight:700; line-height:1.25; }
.single-product .buy-box-benefits i{ display:block; color:#9fb0b5; font-size:11.5px; font-style:normal; margin-top:2px; line-height:1.3; }
@media(max-width:560px){ .single-product .buy-box-benefits{ grid-template-columns:1fr; } }

/* Title/photo to the top; gallery keeps its fixed 4:3 landscape (no stretch). */
.single-product .product-top{ align-items:start !important; }
.single-product .product-top > .buy-box{ align-self:start !important; position:static !important; top:auto !important; }
.single-product .product-top > .product-gallery{ align-self:start !important; }
