/*
Theme Name: KOD|ERMA
Theme URI: https://koderma.ru
Author: KOD|ERMA Team
Author URI: https://koderma.ru
Description: Минималистичная тема для интернет-магазина косметологического оборудования. Простой, информативный дизайн со вкусом.
Version: 1.0.0
Requires at least: 5.0
Tested up to: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: koderma
Tags: e-commerce, woocommerce, minimal, modern, responsive, custom-menu, featured-images, translation-ready
*/
/* Reset & Base Styles */
* { margin: 0; padding: 0; box-sizing: border-box; }
:root { --color-primary: #65bebf; /* Основной цвет логотипа */ --color-primary-dark: #3f9697; --color-primary-light: #a5ddde; --color-black: #0f172a; --color-white: #FFFFFF; --color-gray-light: #F2F6FA; --color-gray: #E2E8F0; --color-gray-dark: #222222; --color-text: #111111; --color-bg: #F6F8FB; --color-surface: #FFFFFF; --color-surface-alt: #EEF3F7; --color-border: #E3EAF2; --color-text-muted: #1a1a1a; --font-primary: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif; --font-heading: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif; --radius-sm: 12px; --radius-md: 18px; --radius-lg: 28px; --shadow-soft: 0 8px 24px rgba(15, 23, 42, 0.08); --shadow-card: 0 18px 45px rgba(15, 23, 42, 0.12); --transition: all 0.3s ease; }
body { font-family: var(--font-primary); font-size: 16px; line-height: 1.6; color: var(--color-text); background-color: var(--color-bg); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
/* Typography */
h1, h2, h3, h4, h5, h6 { font-family: var(--font-heading); font-weight: 700; line-height: 1.2; margin-bottom: 1rem; color: var(--color-black); }
h1 { font-size: 2.5rem; }
h2 { font-size: 2rem; }
h3 { font-size: 1.75rem; }
h4 { font-size: 1.5rem; }
h5 { font-size: 1.25rem; }
h6 { font-size: 1rem; }
p { margin-bottom: 1rem; }
a { color: var(--color-primary); text-decoration: none; transition: var(--transition); }
a:hover { color: var(--color-primary-dark); }
img { max-width: 100%; height: auto; display: block; }
/* Container */
.container { max-width: 1240px; margin: 0 auto; padding: 0 20px; }
.container-wide { max-width: 1320px; margin: 0 auto; padding: 0 20px; }
/* Header */
.site-header { background-color: rgba(255, 255, 255, 0.92); border-bottom: 1px solid var(--color-border); position: sticky; top: 0; z-index: 1000; backdrop-filter: blur(10px); box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06); }
.header-wrapper { display: flex; justify-content: space-between; align-items: center; padding: 1rem 0; gap: 1.5rem; }
.site-logo { display: flex; align-items: center; gap: 1rem; }
.site-logo img,
.site-logo-img { max-height: 60px; width: auto; height: auto; display: block; }
.logo-link { display: inline-block; text-decoration: none; transition: var(--transition); }
.logo-link:hover { opacity: 0.8; }
.site-title { font-family: var(--font-heading); font-size: 1.6rem; font-weight: 700; color: var(--color-black); letter-spacing: 0.5px; }
.site-title .divider { color: var(--color-black); margin: 0 0.5rem; }
/* Navigation */
.main-navigation { display: flex; align-items: center; gap: 2rem; }
.menu-toggle { display: none; cursor: pointer; }
.menu-toggle:hover { background: var(--color-surface-alt, #eef3f8); }
.main-menu { display: flex; list-style: none; gap: 2rem; margin: 0; padding: 0; }
.main-menu li { position: relative; }
.main-menu li.menu-item-has-children > a { padding-right: 1.2rem; }
.main-menu li.menu-item-has-children > a::before { content: ''; position: absolute; right: 0; top: 50%; width: 6px; height: 6px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-20%) rotate(45deg); opacity: 0.6; }
.main-menu .sub-menu { position: absolute; top: calc(100% + 16px); left: 0; min-width: 240px; max-width: min(720px, 90vw); background-color: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-md); box-shadow: var(--shadow-soft); padding: 1rem; display: none; list-style: none; z-index: 100; column-count: 3; column-gap: 2rem; }
.main-menu li:hover > .sub-menu,
.main-menu li:focus-within > .sub-menu { display: block; }
.main-menu > li:last-child .sub-menu,
.main-menu > li:nth-last-child(2) .sub-menu { right: 0; left: auto; }
.main-menu .sub-menu li { break-inside: avoid; margin-bottom: 0.5rem; }
.main-menu .sub-menu a { font-size: 0.9rem; padding: 0.25rem 0; }
.main-menu a { color: var(--color-black); font-weight: 500; font-size: 0.95rem; text-transform: none; letter-spacing: 0; padding: 0.5rem 0; position: relative; }
.main-menu a::after { content: ''; position: absolute; bottom: -6px; left: 0; width: 0; height: 2px; background-color: var(--color-primary); transition: var(--transition); }
.main-menu a:hover::after,
.main-menu a.current-menu-item::after { width: 100%; }
.header-actions { display: flex; align-items: center; gap: 1.5rem; }
.header-contact { display: flex; flex-direction: column; align-items: flex-end; gap: 0.25rem; }
.header-contact a { color: var(--color-text-muted); font-size: 0.9rem; font-weight: 500; }
.header-contact .phone { font-size: 1.05rem; font-weight: 600; color: var(--color-black); }
.cart-icon { position: relative; color: var(--color-black); cursor: pointer; background-color: var(--color-surface-alt); border-radius: 50%; width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; transition: var(--transition); }
.cart-icon:hover { color: var(--color-primary-dark); background-color: rgba(101, 190, 191, 0.14); }
.cart-icon-svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; display: block; }
.cart-count { position: absolute; top: -8px; right: -8px; background-color: var(--color-primary); color: var(--color-white); border-radius: 50%; width: 20px; height: 20px; display: flex; align-items: center; justify-content: center; font-size: 0.75rem; font-weight: 600; }
/* Hero Section */
.hero-section { background: linear-gradient(135deg, #ffffff 0%, var(--color-gray-light) 100%); padding: 4.5rem 0 3.5rem; border-bottom: 1px solid var(--color-border); }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: 3rem; align-items: center; }
.hero-content { text-align: left; max-width: 560px; margin: 0; }
.hero-title { font-size: clamp(2.3rem, 3.2vw, 3.6rem); margin-bottom: 1.2rem; color: var(--color-black); }
.hero-subtitle { font-size: 1.15rem; color: var(--color-text-muted); margin-bottom: 2rem; font-weight: 400; }
.hero-buttons { display: flex; gap: 1rem; justify-content: flex-start; flex-wrap: wrap; }
.hero-note { margin-top: 1.5rem; color: var(--color-text-muted); max-width: 520px; }
.hero-media { display: flex; justify-content: center; }
.hero-card { width: 100%; max-width: 420px; background: linear-gradient(160deg, #ffffff 0%, #e8f1f3 100%); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: 2rem; box-shadow: var(--shadow-card); position: relative; overflow: hidden; }
.hero-card::after { content: ''; position: absolute; width: 220px; height: 220px; border-radius: 50%; background: rgba(74, 155, 159, 0.12); top: -80px; right: -80px; }
.hero-card-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 2rem; position: relative; z-index: 1; }
.hero-card-brand { font-weight: 700; letter-spacing: 0.5px; color: var(--color-black); }
.hero-card-dot { width: 12px; height: 12px; border-radius: 50%; background-color: var(--color-primary); box-shadow: 0 0 0 6px rgba(74, 155, 159, 0.15); }
.hero-card-body { display: flex; flex-direction: column; gap: 0.75rem; position: relative; z-index: 1; }
.hero-card-title { font-size: 1.2rem; font-weight: 600; color: var(--color-black); }
.hero-card-subtitle { font-size: 0.95rem; color: var(--color-text-muted); }
/* Benefits Section */
.benefits-section { margin-top: -2rem; padding-bottom: 2.5rem; }
.benefits-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; }
.benefit-card { background-color: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: 1.25rem; display: flex; align-items: center; gap: 1rem; box-shadow: var(--shadow-soft); }
.benefit-icon { width: 44px; height: 44px; min-width: 44px; flex-shrink: 0; border-radius: 12px; background-color: var(--color-surface-alt); color: var(--color-primary); display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.1rem; }
.benefit-icon svg,
.feature-icon svg { width: 22px; height: 22px; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.benefit-title { font-weight: 600; color: var(--color-black); }
/* Buttons */
.btn { display: inline-block; padding: 0.9rem 2rem; font-weight: 600; text-transform: none; letter-spacing: 0; border: 1px solid; transition: var(--transition); cursor: pointer; font-size: 0.95rem; text-align: center; border-radius: 999px; font-family: var(--font-primary); text-decoration: none; }
button.btn { border: 1px solid; background: inherit; }
.btn-primary { background-color: var(--color-primary); color: var(--color-white); border-color: var(--color-primary); box-shadow: 0 10px 20px rgba(74, 155, 159, 0.25); }
.btn-primary:hover,
button.btn-primary:hover { background-color: var(--color-primary-dark); border-color: var(--color-primary-dark); color: var(--color-white); }
button.btn-primary { background-color: var(--color-primary); color: var(--color-white); border-color: var(--color-primary); }
.btn-outline { background-color: transparent; color: var(--color-black); border-color: var(--color-border); }
.btn-outline:hover,
button.btn-outline:hover { background-color: var(--color-black); color: var(--color-white); border-color: var(--color-black); }
button.btn-outline { background-color: transparent; color: var(--color-black); border-color: var(--color-border); }
.btn-white { background-color: var(--color-white); color: var(--color-black); border-color: var(--color-white); }
.btn-white:hover { background-color: var(--color-gray-light); border-color: var(--color-gray-light); }
.btn-compact { padding: 0.75rem 1.5rem; font-size: 0.9rem; }
/* Content Area */
.site-content { padding: 3.5rem 0; min-height: 60vh; }
/* Магазин и категории — меньше отступа от шапки до заголовка */
.woocommerce-shop main#main.site-content,
.tax-product_cat main#main.site-content,
.woocommerce-page main#main.site-content { padding-top: 1.5rem !important; }
.content-area { width: 100%; }
/* Sections */
.section { padding: 3.5rem 0; }
.section-title { text-align: left; margin-bottom: 1.5rem; font-size: 2.25rem; }
.section-title::after { content: ''; display: block; width: 56px; height: 4px; background-color: var(--color-primary); margin: 1rem 0 0; }
.section-lead { color: var(--color-text-muted); margin-bottom: 2rem; max-width: 560px; }
/* Product Grid */
.products-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 2rem; margin-top: 2rem; }
.product-card { background-color: var(--color-surface); border: 1px solid var(--color-border); transition: var(--transition); overflow: visible; display: flex; flex-direction: column; border-radius: var(--radius-lg); box-shadow: var(--shadow-soft); height: 100%; min-height: 100%; }
.product-card:hover { border-color: rgba(74, 155, 159, 0.4); box-shadow: var(--shadow-card); transform: translateY(-6px); }
.product-image { width: 100%; height: 250px; object-fit: cover; background-color: var(--color-gray-light); border-radius: var(--radius-lg) var(--radius-lg) 0 0; }
.product-info { padding: 1.5rem; flex-grow: 1; display: flex; flex-direction: column; }
.product-title { font-size: 1.25rem; margin-bottom: 0.5rem; color: var(--color-black); }
.product-title a { color: var(--color-black); }
.product-title a:hover { color: var(--color-primary); }
.product-price { font-size: 1.5rem; font-weight: 700; color: var(--color-primary); margin-top: auto; padding-top: 1rem; }
.product-excerpt { color: var(--color-gray-dark); font-size: 0.9rem; margin-bottom: 1rem; }
/* Categories */
.categories-section { background-color: var(--color-bg); padding: 3.5rem 0; }
.categories-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1.5rem; }
.category-card { background-color: var(--color-surface); border: 1px solid var(--color-border); padding: 1.5rem; text-align: left; transition: var(--transition); cursor: pointer; border-radius: var(--radius-lg); box-shadow: var(--shadow-soft); display: flex; flex-direction: column; gap: 1rem; }
.category-card:hover { border-color: rgba(74, 155, 159, 0.4); transform: translateY(-6px); box-shadow: var(--shadow-card); }
.category-card:hover .category-title { color: var(--color-black); }
.category-title { font-size: 1.1rem; font-weight: 600; text-transform: none; letter-spacing: 0; color: var(--color-black); transition: var(--transition); }
.category-card a { color: inherit; display: flex; flex-direction: column; gap: 1rem; height: 100%; }
.category-card img { border-radius: var(--radius-md); width: 100%; height: 160px; object-fit: cover; }
/* Features Section */
.features-section { padding: 3.5rem 0; background-color: var(--color-white); }
.mission-section { background-color: var(--color-bg); }
.mission-grid { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: 2rem; align-items: stretch; }
.mission-card { background-color: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: 2rem; box-shadow: var(--shadow-soft); }
.mission-label { font-size: 0.85rem; text-transform: uppercase; letter-spacing: 1px; color: var(--color-primary); font-weight: 600; display: inline-block; margin-bottom: 1rem; }
.mission-content { background-color: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: 2rem; box-shadow: var(--shadow-soft); }
.mission-brand { font-weight: 700; letter-spacing: 0.5px; color: var(--color-primary); display: block; margin-bottom: 0.75rem; }
.mission-title { font-size: 1.5rem; margin-bottom: 1rem; }
.mission-list { list-style: none; padding: 0; margin-top: 1.5rem; display: grid; gap: 0.75rem; }
.mission-list li { padding-left: 1.5rem; position: relative; color: var(--color-text-muted); }
.mission-list li::before { content: ''; position: absolute; left: 0; top: 0.5rem; width: 8px; height: 8px; border-radius: 50%; background-color: var(--color-primary); }
.features-layout { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 2.5rem; align-items: stretch; }
.features-copy { background-color: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: 2.5rem; box-shadow: var(--shadow-soft); display: flex; flex-direction: column; justify-content: space-between; background-image: linear-gradient(180deg, rgba(74,155,159,.05) 0%, transparent 65%); }
.features-copy .section-title { margin-bottom: 1.25rem; }
.features-copy .section-lead { font-size: 1.05rem; line-height: 1.7; margin-bottom: 2rem; flex: 1; }
.features-copy .btn { align-self: flex-start; }
.features-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
@media (max-width: 600px) { .features-grid { grid-template-columns: 1fr; } }
.feature-item { text-align: left; padding: 1.5rem; background-color: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); box-shadow: var(--shadow-soft); }
.feature-icon { width: 48px; height: 48px; border-radius: 50%; background-color: var(--color-surface-alt); color: var(--color-primary); display: inline-flex; align-items: center; justify-content: center; font-size: 1.4rem; margin-bottom: 1rem; }
.feature-title { font-size: 1.25rem; margin-bottom: 0.5rem; }
.feature-text { color: var(--color-gray-dark); }
/* Section Head */
.section-head { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin-bottom: 2rem; }
.section-head .section-title { margin-bottom: 0; }
/* Categories List Section */
.categories-list-section { background-color: var(--color-white); }
.categories-list-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.5rem; }
.categories-list-card { background-color: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: 1.5rem; box-shadow: var(--shadow-soft); }
.categories-list-card h3 { margin-bottom: 1rem; font-size: 1.2rem; }
.categories-list-card ul { list-style: none; padding: 0; margin: 0 0 1.25rem; display: grid; gap: 0.5rem; color: var(--color-text-muted); }
.categories-list-card ul li { padding-left: 1.1rem; position: relative; }
.categories-list-card ul li::before { content: ''; position: absolute; left: 0; top: 0.55rem; width: 6px; height: 6px; border-radius: 50%; background-color: var(--color-primary); }
.categories-list-link { display: inline-flex; align-items: center; gap: 0.4rem; color: var(--color-primary); font-weight: 600; }
.categories-list-link::after { content: '›'; font-size: 1.1rem; }
/* Reviews Section */
.reviews-section { background-color: var(--color-bg); }
.reviews-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.5rem; }
.review-card { background-color: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: 1.5rem; box-shadow: var(--shadow-soft); }
.review-product { font-weight: 700; margin-bottom: 0.5rem; }
.review-meta { font-size: 0.85rem; color: var(--color-text-muted); margin-bottom: 1rem; }
.review-text { color: var(--color-text); margin-bottom: 1.25rem; }
.review-author { font-weight: 600; color: var(--color-primary-dark); }
/* Blog Preview */
.blog-preview-section { background-color: var(--color-white); }
.blog-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.5rem; }
.blog-card { background-color: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-soft); transition: var(--transition); }
.blog-card a { color: inherit; display: block; height: 100%; }
.blog-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-card); }
.blog-card img { width: 100%; height: 180px; object-fit: cover; }
.blog-card-content { padding: 1.25rem; }
.blog-date { font-size: 0.85rem; color: var(--color-text-muted); margin-bottom: 0.75rem; }
/* Footer */
.site-footer { background-color: var(--color-primary, #65bebf); color: rgba(255,255,255,.9); padding: 3rem 0 1.5rem; border-top: none; }
.footer-content { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 2rem; margin-bottom: 2rem; }
.footer-widget h3 { color: var(--color-white); margin-bottom: 1rem; font-size: 1.25rem; }
.footer-widget ul { list-style: none; }
.footer-widget ul li { margin-bottom: 0.5rem; }
.footer-widget a { color: rgba(214, 221, 230, 0.75); transition: var(--transition); }
.footer-widget a:hover { color: var(--color-white); }
.footer-bottom { text-align: left; padding-top: 1.25rem; margin-top: 1rem; border-top: 1px solid rgba(255, 255, 255, 0.2); color: rgba(255, 255, 255, 0.75); font-size: 0.9rem; }
/* Forms */
.form-group { margin-bottom: 1.5rem; }
.form-group label { display: block; margin-bottom: 0.5rem; font-weight: 500; color: var(--color-black); }
.form-control { width: 100%; padding: 0.75rem 1rem; border: 1px solid var(--color-border); font-family: var(--font-primary); font-size: 1rem; transition: var(--transition); background-color: var(--color-white); border-radius: var(--radius-sm); }
.form-control::placeholder { color: var(--color-text-muted); opacity: 0.6; }
.form-control:focus { outline: none; border-color: var(--color-primary); box-shadow: 0 0 0 3px rgba(74, 155, 159, 0.2); }
textarea.form-control { min-height: 80px; resize: vertical; }
/* Contact Section */
.contact-section { background-color: var(--color-gray-light); }
.contact-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2rem; align-items: stretch; }
.contact-card { background-color: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: 2rem; box-shadow: var(--shadow-soft); }
.contact-form { display: grid; gap: 1rem; }
.contact-actions { margin-top: 0.5rem; }
.contact-card .wpcf7 form { display: grid; gap: 1rem; }
.contact-card input[type="text"],
.contact-card input[type="email"],
.contact-card input[type="tel"],
.contact-card textarea,
.contact-card select { width: 100%; padding: 0.75rem 1rem; border: 1px solid var(--color-border); border-radius: var(--radius-sm); font-family: var(--font-primary); font-size: 1rem; background-color: var(--color-white); transition: var(--transition); }
.contact-card input[type="text"]:focus,
.contact-card input[type="email"]:focus,
.contact-card input[type="tel"]:focus,
.contact-card textarea:focus,
.contact-card select:focus { outline: none; border-color: var(--color-primary); box-shadow: 0 0 0 3px rgba(74, 155, 159, 0.2); }
.contact-card .wpcf7-submit { border-radius: 999px; padding: 0.85rem 2rem; background-color: var(--color-primary); color: var(--color-white); border: 1px solid var(--color-primary); font-weight: 600; cursor: pointer; transition: var(--transition); }
.contact-card .wpcf7-submit:hover { background-color: var(--color-primary-dark); border-color: var(--color-primary-dark); }
.contact-visual { border-radius: var(--radius-lg); background: linear-gradient(135deg, #e7f1f4 0%, #cfe7ea 100%); border: 1px solid var(--color-border); position: relative; overflow: hidden; padding: 2.5rem; display: flex; align-items: flex-end; box-shadow: var(--shadow-soft); }
.contact-visual::before { content: ''; position: absolute; width: 260px; height: 260px; border-radius: 50%; background: rgba(74, 155, 159, 0.15); top: -100px; right: -100px; }
.contact-visual-inner { position: relative; z-index: 1; max-width: 320px; }
.contact-visual-title { font-weight: 700; font-size: 1.3rem; color: var(--color-black); display: block; margin-bottom: 0.75rem; }
/* Contact Page */
.contacts-page { display: grid; gap: 3rem; }
.contacts-info-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.5rem; }
.contact-info-card { background-color: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: 2rem; box-shadow: var(--shadow-soft); }
.contact-info-card h3 { font-size: 1rem; color: var(--color-text-muted); margin-bottom: 0.75rem; text-transform: uppercase; letter-spacing: 0.5px; font-weight: 600; }
.contact-link { font-size: 1.25rem; font-weight: 700; color: var(--color-primary); display: block; }
.contact-form-section { background-color: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: 2.5rem; box-shadow: var(--shadow-soft); }
.checkbox-label { display: flex; align-items: flex-start; gap: 0.75rem; cursor: pointer; font-size: 0.9rem; color: var(--color-text-muted); line-height: 1.5; }
.checkbox-label input[type="checkbox"] { margin-top: 0.2rem; width: 18px; height: 18px; cursor: pointer; flex-shrink: 0; }
.checkbox-label span { flex: 1; }
/* About Page */
.about-page { background-color: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: 2.5rem; box-shadow: var(--shadow-soft); }
.about-intro { margin-bottom: 3rem; }
.about-intro h2 { color: var(--color-primary); margin-bottom: 1.5rem; }
.about-intro p { font-size: 1.1rem; line-height: 1.8; color: var(--color-text); }
.about-mission { margin-bottom: 3rem; padding: 2rem; background-color: var(--color-gray-light); border-radius: var(--radius-md); }
.about-mission h2 { margin-bottom: 1rem; }
.about-features-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.5rem; margin-bottom: 3rem; }
.about-feature { padding: 1.5rem; background-color: var(--color-surface-alt); border-radius: var(--radius-md); }
.about-feature h3 { font-size: 1.2rem; margin-bottom: 0.75rem; color: var(--color-primary); }
.about-content { margin-top: 3rem; padding-top: 3rem; border-top: 1px solid var(--color-border); }
.about-content p { margin-bottom: 1.5rem; line-height: 1.8; }
/* FAQ Section */
.faq-section { background-color: var(--color-white); }
.faq-list { max-width: 100%; margin: 0 auto; }
.faq-item { background-color: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); margin-bottom: 1rem; overflow: hidden; box-shadow: var(--shadow-soft); }
.faq-question { width: 100%; padding: 1.5rem; background: none; border: none; text-align: left; font-size: 1.1rem; font-weight: 600; color: var(--color-black); cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 1rem; transition: var(--transition); }
.faq-question:hover { background-color: var(--color-gray-light); }
.faq-icon { font-size: 1.5rem; font-weight: 300; color: var(--color-primary); flex-shrink: 0; width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background-color: var(--color-surface-alt); transition: var(--transition); }
.faq-question[aria-expanded="true"] .faq-icon { background-color: var(--color-primary); color: var(--color-white); }
.faq-answer { display: none; padding: 0 1.5rem 1.5rem; color: var(--color-text-muted); line-height: 1.8; }
.faq-answer p { margin: 0; }
/* Gallery Section */
.gallery-section { background-color: var(--color-bg); }
.gallery-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.5rem; }
.gallery-item { position: relative; border-radius: var(--radius-lg); overflow: hidden; aspect-ratio: 4 / 3; background-color: var(--color-gray-light); box-shadow: var(--shadow-soft); transition: var(--transition); cursor: pointer; }
.gallery-item:hover { transform: translateY(-6px); box-shadow: var(--shadow-card); }
.gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: var(--transition); }
.gallery-item:hover img { transform: scale(1.1); }
.gallery-overlay { position: absolute; bottom: 0; left: 0; right: 0; background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent); padding: 2rem 1.5rem 1.5rem; color: var(--color-white); transform: translateY(100%); transition: var(--transition); }
.gallery-item:hover .gallery-overlay { transform: translateY(0); }
.gallery-overlay h3 { color: var(--color-white); margin: 0; font-size: 1.1rem; }
/* Features Gallery Section */
.features-gallery-section { background-color: var(--color-white); }
.features-gallery-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2rem; }
.feature-gallery-card { background-color: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-soft); transition: var(--transition); }
.feature-gallery-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-card); }
.feature-gallery-image { width: 100%; height: 285px; overflow: hidden; background-color: var(--color-gray-light); }
.feature-gallery-image img { width: 100%; height: 100%; object-fit: cover; transition: var(--transition); }
.feature-gallery-card:hover .feature-gallery-image img { transform: scale(1.1); }
.feature-gallery-content { padding: 1.5rem; }
.feature-gallery-content h3 { font-size: 1.2rem; margin-bottom: 0.75rem; color: var(--color-primary); }
.feature-gallery-content p { color: var(--color-text-muted); margin: 0; line-height: 1.6; }
/* Consultation Modal */
.consultation-modal { position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 10000; display: flex; align-items: center; justify-content: center; opacity: 0; visibility: hidden; transition: opacity 0.3s ease, visibility 0.3s ease; }
.consultation-modal.active { opacity: 1; visibility: visible; }
.modal-overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0, 0, 0, 0.6); backdrop-filter: blur(4px); }
.modal-content { position: relative; background-color: var(--color-white); border-radius: var(--radius-lg); padding: 2.5rem; max-width: 600px; width: 90%; max-height: 90vh; overflow-y: auto; box-shadow: var(--shadow-card); transform: scale(0.9); transition: transform 0.3s ease; }
.consultation-modal.active .modal-content { transform: scale(1); }
.modal-close { position: absolute; top: 1rem; right: 1rem; background: none; border: none; font-size: 2rem; line-height: 1; color: var(--color-text-muted); cursor: pointer; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; border-radius: 50%; transition: var(--transition); }
.modal-close:hover { background-color: var(--color-gray-light); color: var(--color-black); }
.modal-title { font-size: 2rem; margin-bottom: 0.75rem; color: var(--color-black); }
.modal-subtitle { color: var(--color-text-muted); margin-bottom: 2rem; font-size: 1rem; }
.modal-form { margin-top: 1.5rem; }
.modal-actions { margin-top: 1.5rem; }
body.modal-open { overflow: hidden; }
@media (max-width: 768px) { .modal-content { padding: 2rem 1.5rem; width: 95%; } .modal-title { font-size: 1.5rem; padding-right: 2rem; } .modal-close { top: 0.75rem; right: 0.75rem; } }
/* WooCommerce Styles */
.woocommerce .products { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 2rem; }
.woocommerce ul.products li.product { border: none; padding: 0; margin: 0; background-color: transparent; transition: var(--transition); display: flex; flex-direction: column; height: 100%; /* override default WooCommerce float/width that breaks grid layout */ width: auto !important; max-width: 100%; float: none !important; clear: none !important; min-width: 0; }
.woocommerce ul.products li.product:hover { box-shadow: none; }
.woocommerce ul.products li.product .product-card { display: flex; flex-direction: column; height: 100%; min-height: 100%; overflow: visible; }
.woocommerce ul.products li.product .product-card > * { flex-shrink: 0; }
.woocommerce ul.products li.product .product-card .product-link { flex-shrink: 0; }
.woocommerce ul.products li.product .product-card .product-image-wrapper { flex-shrink: 0; overflow: hidden; border-radius: var(--radius-lg) var(--radius-lg) 0 0; }
.woocommerce ul.products li.product .product-card .product-link { display: block; text-decoration: none; color: inherit; }
.woocommerce ul.products li.product .product-card .product-link img { transition: transform 0.3s ease; }
.woocommerce ul.products li.product .product-card:hover .product-link img { transform: scale(1.05); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 1.25rem; color: var(--color-black); padding: 1.25rem 1.5rem 0; margin: 0; word-wrap: break-word; overflow-wrap: break-word; line-height: 1.3; }
.woocommerce ul.products li.product .woocommerce-loop-product__title a { display: block; word-wrap: break-word; overflow-wrap: break-word; }
.woocommerce ul.products li.product .price { color: var(--color-primary); font-size: 1.5rem; font-weight: 700; padding: 0.75rem 1.5rem 0; margin: 0; word-wrap: break-word; overflow-wrap: break-word; white-space: normal; line-height: 1.3; }
.woocommerce ul.products li.product .star-rating { margin: 0.75rem 1.5rem 0; }
.woocommerce ul.products li.product .button { margin: 1rem 1.5rem 1.5rem; align-self: stretch; white-space: normal; min-width: auto; width: calc(100% - 3rem); max-width: calc(100% - 3rem); overflow: visible; word-wrap: break-word; text-align: center; display: block; }
.woocommerce ul.products li.product img { width: 100%; height: auto; border-radius: var(--radius-lg) var(--radius-lg) 0 0; }
.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button { background-color: var(--color-primary); color: var(--color-white); border: 1px solid var(--color-primary); padding: 0.75rem 1.5rem; font-weight: 600; text-transform: none; letter-spacing: 0; transition: var(--transition); border-radius: 999px; }
.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover { background-color: var(--color-primary-dark); border-color: var(--color-primary-dark); }
/* Responsive Design */
@media (max-width: 768px) { /* menu-toggle shown via the newer 991px block */ .header-contact { display: none; } .header-wrapper { flex-wrap: nowrap; } .hero-title { font-size: 2rem; } .hero-subtitle { font-size: 1rem; } .hero-grid { grid-template-columns: 1fr; } .hero-content { max-width: 100%; } .hero-buttons { justify-content: flex-start; } .benefits-section { margin-top: 0; } .section-title { font-size: 2rem; } .section-head { flex-direction: column; align-items: flex-start; } .mission-grid { grid-template-columns: 1fr; } .features-layout { grid-template-columns: 1fr; } .products-grid { grid-template-columns: repeat(auto-fill, minmax(100%, 1fr)); } .categories-grid { grid-template-columns: 1fr; } .features-grid { grid-template-columns: 1fr; } .contact-layout { grid-template-columns: 1fr; } .contact-visual { min-height: 220px; } .contacts-info-grid { grid-template-columns: 1fr; } .about-features-grid { grid-template-columns: 1fr; } .contact-form-section { padding: 1.5rem; } .gallery-grid { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; } .faq-question { padding: 1.25rem; font-size: 1rem; } .features-gallery-grid { grid-template-columns: 1fr; gap: 1.5rem; } .feature-gallery-image { height: 260px; } .footer-content { grid-template-columns: 1fr; } h1 { font-size: 2rem; } h2 { font-size: 1.75rem; } h3 { font-size: 1.5rem; } }
@media (max-width: 480px) { .container { padding: 0 15px; } .hero-section { padding: 3rem 0 2rem; } .section { padding: 2.5rem 0; } .btn { padding: 0.75rem 1.5rem; font-size: 0.85rem; } .hero-card { padding: 1.5rem; } .benefit-card { padding: 1rem; } }
/* Additional WooCommerce Styles */
.woocommerce .woocommerce-breadcrumb { margin-bottom: 2rem; font-size: 0.9rem; color: var(--color-gray-dark); }
.woocommerce .woocommerce-breadcrumb a { color: var(--color-primary); }
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering { margin-bottom: 2rem; }
.woocommerce .woocommerce-ordering select { padding: 0.5rem 1rem; border: 2px solid var(--color-gray); font-family: var(--font-primary); }
.woocommerce .woocommerce-pagination { margin-top: 3rem; text-align: center; }
.woocommerce .woocommerce-pagination .page-numbers { display: inline-flex; gap: 0.5rem; list-style: none; padding: 0; }
.woocommerce .woocommerce-pagination .page-numbers li { margin: 0; }
.woocommerce .woocommerce-pagination .page-numbers a,
.woocommerce .woocommerce-pagination .page-numbers span { display: inline-block; padding: 0.5rem 1rem; border: 2px solid var(--color-gray); color: var(--color-black); transition: var(--transition); }
.woocommerce .woocommerce-pagination .page-numbers a:hover,
.woocommerce .woocommerce-pagination .page-numbers .current { background-color: var(--color-primary); color: var(--color-white); border-color: var(--color-primary); }
/* Single Product Page */
.woocommerce div.product { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; margin-bottom: 3rem; }
.woocommerce div.product .woocommerce-product-gallery { margin-bottom: 2rem; }
.woocommerce div.product .summary { padding-left: 2rem; }
.woocommerce div.product .summary .product_title { font-size: 2rem; margin-bottom: 1rem; color: var(--color-black); }
.woocommerce div.product .summary .price { font-size: 2rem; color: var(--color-primary); font-weight: 700; margin-bottom: 1.5rem; }
.woocommerce div.product .summary .woocommerce-product-details__short-description { margin-bottom: 2rem; color: var(--color-gray-dark); line-height: 1.8; }
.woocommerce div.product form.cart { margin-bottom: 2rem; }
.woocommerce div.product form.cart .quantity { margin-right: 1rem; }
.woocommerce div.product form.cart .quantity input { width: 80px; padding: 0.75rem; border: 2px solid var(--color-gray); text-align: center; }
.woocommerce div.product .product_meta { margin-top: 2rem; padding-top: 2rem; border-top: 1px solid var(--color-gray); font-size: 0.9rem; }
.woocommerce div.product .product_meta span { display: block; margin-bottom: 0.5rem; }
.woocommerce div.product .product_meta a { color: var(--color-primary); }
/* Cart Page */
.woocommerce-cart table.cart { width: 100%; border-collapse: collapse; margin-bottom: 2rem; }
.woocommerce-cart table.cart th,
.woocommerce-cart table.cart td { padding: 1rem; border-bottom: 1px solid var(--color-gray); text-align: left; }
.woocommerce-cart table.cart th { font-weight: 600; text-transform: uppercase; letter-spacing: 1px; font-size: 0.9rem; color: var(--color-black); }
.woocommerce-cart table.cart .product-remove a { font-size: 1.5rem; color: var(--color-black); width: 30px; height: 30px; display: inline-flex; align-items: center; justify-content: center; transition: var(--transition); }
.woocommerce-cart table.cart .product-remove a:hover { color: var(--color-primary); background-color: var(--color-gray-light); border-radius: 50%; }
.woocommerce-cart table.cart .product-thumbnail img { width: 80px; height: auto; }
.woocommerce-cart .cart-collaterals { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin-top: 3rem; }
.woocommerce-cart .cart_totals { background-color: var(--color-gray-light); padding: 2rem; border: 2px solid var(--color-black); }
.woocommerce-cart .cart_totals h2 { font-size: 1.5rem; margin-bottom: 1.5rem; }
.woocommerce-cart .cart_totals table { width: 100%; margin-bottom: 1.5rem; }
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td { padding: 0.75rem 0; border-bottom: 1px solid var(--color-gray); }
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td { font-size: 1.25rem; font-weight: 700; border-bottom: 2px solid var(--color-black); }
.woocommerce-cart .wc-proceed-to-checkout { margin-top: 1.5rem; }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button { width: 100%; padding: 1rem 2rem; background-color: var(--color-primary); color: var(--color-white); border: 2px solid var(--color-primary); font-weight: 600; text-transform: uppercase; letter-spacing: 1px; transition: var(--transition); }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover { background-color: var(--color-primary-dark); border-color: var(--color-primary-dark); }
/* Checkout Page */
.woocommerce-checkout .col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; margin-bottom: 3rem; }
.woocommerce-checkout #order_review { background-color: var(--color-gray-light); padding: 2rem; border: 2px solid var(--color-black); }
.woocommerce-checkout #order_review h3 { margin-bottom: 1.5rem; }
.woocommerce-checkout .form-row { margin-bottom: 1.5rem; }
.woocommerce-checkout .form-row label { display: block; margin-bottom: 0.5rem; font-weight: 500; }
.woocommerce-checkout .form-row input,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea { width: 100%; padding: 0.75rem; border: 2px solid var(--color-gray); font-family: var(--font-primary); }
.woocommerce-checkout .form-row input:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus { outline: none; border-color: var(--color-primary); }
/* Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error { padding: 1rem 1.5rem; margin-bottom: 2rem; border-left: 4px solid; }
.woocommerce-message { background-color: #d4edda; border-color: #28a745; color: #155724; }
.woocommerce-info { background-color: #d1ecf1; border-color: #17a2b8; color: #0c5460; }
.woocommerce-error { background-color: #f8d7da; border-color: #dc3545; color: #721c24; }
/* Responsive WooCommerce */
@media (max-width: 768px) { .woocommerce div.product { grid-template-columns: 1fr; } .woocommerce div.product .summary { padding-left: 0; } .woocommerce-cart .cart-collaterals { grid-template-columns: 1fr; } .woocommerce-checkout .col2-set { grid-template-columns: 1fr; } .woocommerce-cart table.cart { font-size: 0.9rem; } .woocommerce-cart table.cart th, .woocommerce-cart table.cart td { padding: 0.5rem; } .woocommerce-cart table.cart .product-thumbnail { display: none; } }
/* Utilities */
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }
.mt-1 { margin-top: 1rem; }
.mt-2 { margin-top: 2rem; }
.mt-3 { margin-top: 3rem; }
.mb-1 { margin-bottom: 1rem; }
.mb-2 { margin-bottom: 2rem; }
.mb-3 { margin-bottom: 3rem; }
/* Additional Styles */
.page-hero { background-color: var(--color-gray-light); padding: 1.25rem 0 1.5rem; border-radius: var(--radius-lg); margin-bottom: 1.5rem; }
.page-hero .breadcrumbs { font-size: 0.9rem; color: var(--color-text-muted); margin-bottom: 1rem; }
.page-hero .breadcrumbs a { color: var(--color-text-muted); }
.page-hero .breadcrumbs a:hover { color: var(--color-primary); }
.page-hero h1 { margin-bottom: 0; }
.content-area article { background-color: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: 2rem; box-shadow: var(--shadow-soft); margin-bottom: 2rem; }
.entry-title a { color: var(--color-black); }
.entry-content img { margin: 2rem 0; border: 1px solid var(--color-border); border-radius: var(--radius-md); }
.post-thumbnail { margin-bottom: 2rem; }
.post-thumbnail img { width: 100%; height: auto; }
.entry-meta { color: var(--color-gray-dark); font-size: 0.9rem; margin-bottom: 1rem; }
/* Search Form */
.search-form { display: flex; gap: 0.5rem; margin-bottom: 2rem; }
.search-form input[type="search"] { flex: 1; padding: 0.75rem 1rem; border: 1px solid var(--color-border); font-family: var(--font-primary); border-radius: var(--radius-sm); }
.search-form button { padding: 0.75rem 1.5rem; background-color: var(--color-primary); color: var(--color-white); border: 1px solid var(--color-primary); cursor: pointer; transition: var(--transition); border-radius: 999px; }
.search-form button:hover { background-color: var(--color-primary-dark); border-color: var(--color-primary-dark); }
/* Product Card Enhancements */
.product-image-wrapper { position: relative; overflow: hidden; background-color: var(--color-gray-light); }
.product-link { display: block; text-decoration: none; color: inherit; }
.product-card-content { padding: 1.5rem; display: flex; flex-direction: column; flex-grow: 1; min-height: 0; }
.product-card-content .product-title,
.product-card-content .product-price,
.product-card-content .product-excerpt { word-wrap: break-word; overflow-wrap: break-word; }
.woocommerce ul.products li.product .product-link { display: block; }
.woocommerce ul.products li.product .product-link img { transition: transform 0.3s ease; }
.woocommerce ul.products li.product:hover .product-link img { transform: scale(1.05); }
/* Quantity Input */
.woocommerce .quantity input[type="number"] { -moz-appearance: textfield; }
.woocommerce .quantity input[type="number"]::-webkit-outer-spin-button,
.woocommerce .quantity input[type="number"]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.woocommerce .quantity .qty { width: 80px; padding: 0.75rem; text-align: center; border: 2px solid var(--color-gray); font-size: 1rem; }
.woocommerce .quantity .qty:focus { outline: none; border-color: var(--color-primary); }
/* Product Tabs */
.woocommerce div.product .woocommerce-tabs { margin-top: 3rem; border-top: 2px solid var(--color-black); padding-top: 2rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs { list-style: none; padding: 0; margin: 0 0 2rem; display: flex; gap: 2rem; border-bottom: 2px solid var(--color-gray); }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0; padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { display: block; padding: 1rem 0; color: var(--color-gray-dark); font-weight: 600; text-transform: uppercase; letter-spacing: 1px; border-bottom: 3px solid transparent; transition: var(--transition); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover { color: var(--color-black); border-bottom-color: var(--color-primary); }
.woocommerce div.product .woocommerce-tabs .panel { padding: 2rem 0; }
/* Related Products */
.woocommerce .related.products,
.woocommerce .upsells.products { margin-top: 4rem; padding-top: 3rem; border-top: 2px solid var(--color-gray); }
.woocommerce .related.products h2,
.woocommerce .upsells.products h2 { text-align: center; margin-bottom: 2rem; font-size: 2rem; }
/* Star Rating */
.woocommerce .star-rating { color: var(--color-primary); font-size: 1rem; margin-bottom: 0.5rem; }
.woocommerce .star-rating span { color: var(--color-primary); }
/* Sale Badge */
.woocommerce span.onsale { background-color: var(--color-primary); color: var(--color-white); padding: 0.5rem 1rem; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; font-size: 0.85rem; position: absolute; top: 1rem; right: 1rem; z-index: 10; }
/* Stock Status */
.woocommerce .stock { color: var(--color-primary); font-weight: 600; margin-top: 0.5rem; }
.woocommerce .stock.out-of-stock { color: #dc3545; }
/* Breadcrumbs */
.woocommerce .woocommerce-breadcrumb { padding: 1rem 0; margin-bottom: 2rem; font-size: 0.9rem; }
.woocommerce .woocommerce-breadcrumb a { color: var(--color-primary); text-decoration: none; }
.woocommerce .woocommerce-breadcrumb a:hover { text-decoration: underline; }
/* Loading States */
.woocommerce .blockUI.blockOverlay { background-color: rgba(255, 255, 255, 0.8) !important; }
/* Additional Mobile Styles */
@media (max-width: 768px) { .woocommerce div.product .woocommerce-tabs ul.tabs { flex-direction: column; gap: 0; } .woocommerce div.product .woocommerce-tabs ul.tabs li { border-bottom: 1px solid var(--color-gray); } .woocommerce div.product .woocommerce-tabs ul.tabs li:last-child { border-bottom: none; } .woocommerce .related.products ul.products, .woocommerce .upsells.products ul.products { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 1rem; } }
/* ==================================================================
* KOD|ERMA — кастомные блоки 2026-05-04
*  - Hero slider (Swiper)
*  - Табы карточки товара
*  - «С этим покупают» (Swiper-карусель)
*  - Доводки каталога/карточки/контактов
* ================================================================== */
/* --- Hero slider --------------------------------------------------- */
.hero-slider { background: var(--color-gray-light); }
.hero-slider .koderma-hero-swiper { width: 100%; height: clamp(360px, 60vh, 640px); }
.hero-slider .hero-slide { position: relative; display: flex; align-items: center; min-height: 100%; background-size: cover; background-position: center; color: var(--color-white); }
.hero-slider .hero-slide::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(15,23,42,.15) 0%, rgba(15,23,42,.55) 100%); pointer-events: none; }
.hero-slider .hero-slide .container { position: relative; z-index: 1; width: 100%; }
.hero-slider .hero-slide-inner { max-width: 620px; padding: 2rem 0; }
.hero-slider .hero-slide--center .hero-slide-inner { margin: 0 auto; text-align: center; }
.hero-slider .hero-slide--right .hero-slide-inner { margin-left: auto; text-align: right; }
.hero-slider .hero-slide-pretitle { display: inline-block; font-size: .85rem; letter-spacing: .15em; text-transform: uppercase; margin-bottom: 1rem; opacity: .9; }
.hero-slider .hero-slide-title { font-family: 'Playfair Display', serif; font-size: clamp(2rem, 4.5vw, 3.5rem); line-height: 1.1; margin-bottom: 1rem; }
.hero-slider .hero-slide-subtitle { font-size: 1.1rem; line-height: 1.55; margin-bottom: 1.75rem; max-width: 520px; }
.hero-slider .hero-slide--center .hero-slide-subtitle { margin-left: auto; margin-right: auto; }
.hero-slider .hero-slide--right .hero-slide-subtitle { margin-left: auto; margin-right: 0; }
.hero-slider .swiper-button-prev,
.hero-slider .swiper-button-next { color: var(--color-white); }
.hero-slider .swiper-pagination-bullet { background: rgba(255,255,255,.6); opacity: 1; }
.hero-slider .swiper-pagination-bullet-active { background: var(--color-white); }
@media (max-width: 600px) { .hero-slider .koderma-hero-swiper { height: 480px; } .hero-slider .hero-slide-inner { padding: 1rem 0; } .hero-slider .swiper-button-prev, .hero-slider .swiper-button-next { display: none; } }
/* --- Табы карточки товара ----------------------------------------- */
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: .25rem; padding: 0; margin: 2rem 0 0; border-bottom: 1px solid var(--color-gray); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: transparent; border: 0; border-bottom: 2px solid transparent; border-radius: 0; padding: 0; margin: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: .85rem 1.25rem; font-weight: 500; color: var(--color-black); display: block; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom-color: var(--color-primary); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--color-primary); }
.woocommerce div.product .woocommerce-tabs .panel { padding: 1.5rem 0; line-height: 1.65; }
.koderma-tab-content { font-size: 1rem; line-height: 1.7; }
.koderma-composition .koderma-comp-title { margin: 1.25rem 0 .5rem; font-size: 1rem; font-weight: 600; }
.koderma-composition .koderma-comp-text { font-size: .92rem; color: var(--color-black); white-space: pre-wrap; }
/* --- «С этим покупают» -------------------------------------------- */
.koderma-frequently-bought { padding: 3.5rem 0; margin-top: 3rem; }
.koderma-frequently-bought .section-title { margin-bottom: 1.75rem; font-family: 'Playfair Display', serif; }
.koderma-frequently-bought .koderma-fb-swiper { padding-bottom: 2rem; position: relative; }
.koderma-fb-card { background: #fff; border-radius: 12px; padding: 1.25rem; height: auto; display: flex; flex-direction: column; box-shadow: 0 1px 3px rgba(15,23,42,.05); transition: transform .25s ease, box-shadow .25s ease; }
.koderma-fb-card:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(15,23,42,.08); }
.koderma-fb-link { display: block; color: inherit; text-decoration: none; }
.koderma-fb-img img { width: 100%; height: auto; aspect-ratio: 1/1; object-fit: contain; background: #fff; }
.koderma-fb-name { font-size: 1rem; line-height: 1.35; margin: .75rem 0 .35rem; min-height: 2.7em; }
.koderma-fb-price { font-size: 1.1rem; font-weight: 600; color: var(--color-primary); margin-bottom: .85rem; }
.koderma-fb-card .button { width: 100%; text-align: center; }
.koderma-frequently-bought .swiper-button-prev,
.koderma-frequently-bought .swiper-button-next { color: var(--color-primary); width: 36px; height: 36px; background: #fff; border-radius: 50%; box-shadow: 0 2px 6px rgba(15,23,42,.12); }
.koderma-frequently-bought .swiper-button-prev::after,
.koderma-frequently-bought .swiper-button-next::after { font-size: 16px; font-weight: 700; }
/* --- Доводки каталога/карточки ------------------------------------ */
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; padding: 0; margin: 0 0 2rem; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product { float: none; width: auto !important; margin: 0 !important; padding: 0; list-style: none; }
.woocommerce ul.products li.product .product-card { background: #fff; border: 1px solid var(--color-gray); border-radius: 12px; padding: 0; display: flex; flex-direction: column; height: 100%; overflow: hidden; transition: box-shadow .25s ease, transform .25s ease; }
.woocommerce ul.products li.product .product-card:hover { box-shadow: 0 12px 28px rgba(15,23,42,.08); transform: translateY(-2px); }
.woocommerce ul.products li.product .product-link { display: block; color: inherit; text-decoration: none; }
.woocommerce ul.products li.product .product-image-wrapper { aspect-ratio: 1/1; overflow: hidden; border-radius: 0; background: transparent; }
.woocommerce ul.products li.product .product-image-wrapper img { width: 100%; height: 100%; object-fit: cover; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 1rem; line-height: 1.3; margin: .85rem 0 .5rem; min-height: 2.6em; color: var(--color-black); }
.woocommerce ul.products li.product .price { color: var(--color-primary); font-weight: 600; font-size: 1.1rem; margin-bottom: .85rem; }
.woocommerce ul.products li.product .button { margin-top: auto; width: 100%; text-align: center; background: var(--color-primary); color: #fff; border: 0; padding: .65rem 1rem; border-radius: 8px; transition: background .2s ease; }
.woocommerce ul.products li.product .button:hover { background: var(--color-primary-dark); }
@media (max-width: 900px) { .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); gap: 1rem; } }
@media (max-width: 480px) { .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); gap: .75rem; } .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: .9rem; min-height: 2.4em; } }
/* Карточка товара — приведём в чувство сетку галерея/инфо */
.woocommerce div.product { display: block; }
.woocommerce div.product .woocommerce-product-gallery,
.woocommerce div.product .summary { float: none; width: 100% !important; }
@media (min-width: 768px) { .woocommerce div.product { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 2.5rem; align-items: start; } .woocommerce div.product .woocommerce-product-gallery { grid-column: 1; } .woocommerce div.product .summary { grid-column: 2; margin: 0 !important; } .woocommerce div.product .woocommerce-tabs, .woocommerce div.product .related, .woocommerce div.product .upsells, .koderma-frequently-bought { grid-column: 1 / -1; } }
.woocommerce div.product .product_title { font-family: 'Playfair Display', serif; font-size: clamp(1.5rem, 3vw, 2.25rem); line-height: 1.2; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--color-primary); font-size: 1.6rem; font-weight: 600; }
/* --- Контакты ----------------------------------------------------- */
.contacts-info-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1rem; margin-bottom: 2.5rem; }
.contact-info-card { background: #fff; border: 1px solid var(--color-gray); border-radius: 12px; padding: 1.5rem 1.25rem; transition: box-shadow .2s ease, transform .2s ease; }
.contact-info-card:hover { box-shadow: 0 8px 24px rgba(15,23,42,.06); transform: translateY(-2px); }
.contact-info-card h3 { font-size: .95rem; text-transform: uppercase; letter-spacing: .08em; color: var(--color-primary); margin-bottom: .75rem; font-weight: 600; }
.contact-info-card .contact-link { display: block; color: var(--color-black); text-decoration: none; line-height: 1.55; font-size: .95rem; word-wrap: break-word; }
.contact-info-card a.contact-link:hover { color: var(--color-primary); }
.contacts-page .contact-form-section { margin-top: 2rem; background: var(--color-gray-light); padding: 2rem; border-radius: 12px; }
/* === Product tabs (single product page) === */
.woocommerce div.product .woocommerce-tabs { margin-top: 3rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs.wc-tabs { display: flex; flex-wrap: wrap; gap: 0; padding: 0; margin: 0 0 0 0; border: 0; border-bottom: 1px solid var(--color-border); background: transparent; }
.woocommerce div.product .woocommerce-tabs ul.tabs.wc-tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs.wc-tabs::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: transparent; border: 0; border-radius: 0; margin: 0; padding: 0; box-shadow: none; position: relative; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { display: block; padding: 1rem 1.5rem; color: var(--color-gray-dark); font-weight: 600; font-size: 1rem; text-decoration: none; border-bottom: 2px solid transparent; transition: var(--transition); }
.woocommerce div.product .woocommerce-tabs ul.tabs li:hover a { color: var(--color-primary); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--color-primary); border-bottom-color: var(--color-primary); }
.woocommerce div.product .woocommerce-tabs .panel { padding: 2rem 0; line-height: 1.75; color: var(--color-text, #2c3e50); background: transparent; border: 0; box-shadow: none; margin: 0; }
.woocommerce div.product .woocommerce-tabs .panel h2 { display: none; }
.koderma-tab-content { font-size: 1rem; line-height: 1.75; }
.koderma-tab-content p { margin-bottom: 1rem; }
/* "С этим покупают" / upsells block */
.woocommerce .upsells.products,
.woocommerce .related.products { margin-top: 4rem; padding-top: 2.5rem; border-top: 1px solid var(--color-border); }
.woocommerce .upsells.products > h2,
.woocommerce .related.products > h2 { font-size: 1.75rem; margin-bottom: 1.5rem; color: var(--color-black); font-weight: 700; }
@media (max-width: 768px) { .woocommerce div.product .woocommerce-tabs ul.tabs.wc-tabs { gap: 0; overflow-x: auto; flex-wrap: nowrap; } .woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: .85rem 1rem; font-size: .95rem; white-space: nowrap; } .woocommerce div.product .summary { padding-left: 0; } }
/* === Custom footer columns === */
.footer-col { color: rgba(255,255,255,.85); }
.footer-col--brand .footer-logo { display: inline-block; margin-bottom: 1rem; }
.footer-col--brand .footer-logo img { height: 48px; width: auto; filter: brightness(0) invert(1); }
.footer-col--brand .footer-tagline { font-size: .95rem; line-height: 1.6; color: rgba(255,255,255,.75); margin: 0; max-width: 320px; }
.footer-heading { color: #fff; font-size: 1rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 1rem; }
.footer-list { list-style: none; padding: 0; margin: 0; }
.footer-list li { margin-bottom: .55rem; line-height: 1.45; }
.footer-list a { color: rgba(255,255,255,.8); text-decoration: none; transition: color .2s; font-size: .95rem; }
.footer-list a:hover { color: #fff; }
.footer-contacts li { color: rgba(255,255,255,.85); }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem; text-align: left; border-top: 1px solid rgba(255,255,255,.2); padding-top: 1.25rem; margin-top: 1rem; }
.footer-bottom p { margin: 0; color: rgba(255,255,255,.75); font-size: .9rem; }
.footer-legal a { color: rgba(255,255,255,.65); text-decoration: none; font-size: .85rem; }
.footer-legal a:hover { color: #fff; }
@media (max-width: 768px) { .footer-content { grid-template-columns: 1fr 1fr; gap: 1.5rem; } .footer-bottom { flex-direction: column; text-align: center; } }
@media (max-width: 480px) { .footer-content { grid-template-columns: 1fr; } }
/* === Reviews page (page-otzyvy) === */
.otzyvy-page-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin: 2rem 0 3rem; }
/* === Hero photo (replaces decorative hero-card) === */
.hero-section { padding: 4rem 0 5rem; background: linear-gradient(135deg, #f5f9fa 0%, #fff 60%); }
.hero-media { display: flex; align-items: center; justify-content: center; }
.hero-photo { width: 100%; max-width: 520px; aspect-ratio: 4/5; border-radius: 20px; overflow: hidden; box-shadow: 0 20px 60px rgba(15,23,42,.12); background: var(--color-gray-light); }
.hero-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 768px) { .hero-photo { max-width: 100%; aspect-ratio: 16/10; } }
/* feature-gallery-image: ensure fits */
.feature-gallery-image { aspect-ratio: 4/3; overflow: hidden; border-radius: 16px 16px 0 0; }
.feature-gallery-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* === Spacing pass: more breathing room between sections === */
.section { padding: 5rem 0; }
.hero-section { padding: 5rem 0 6rem; }
.hero-slider + .benefits-section,
.hero-section + .benefits-section { padding-top: 4rem; }
.section-title { margin-bottom: 2rem; font-size: 2.5rem; line-height: 1.15; }
.section-head { margin-bottom: 2rem; }
.benefits-section { padding: 3rem 0; }
/* tighter header */
.site-header { padding: .5rem 0; }
.header-wrapper { padding: .75rem 0; }
/* footer breathing room */
.site-footer { padding: 4rem 0 1.5rem; }
.footer-content { gap: 3rem; margin-bottom: 3rem; }
/* product page spacing */
.woocommerce div.product { padding: 2rem 0; }
.woocommerce div.product .summary { padding-left: 3rem; }
@media (max-width: 900px) { .woocommerce div.product .summary { padding-left: 0; padding-top: 1rem; } }
/* hero slide content vertical alignment */
.hero-slider .swiper-slide { display: flex; align-items: center; }
@media (max-width: 768px) { .section { padding: 3rem 0; } .hero-section { padding: 2.5rem 0 3rem; } .section-title { font-size: 1.75rem; margin-bottom: 1.25rem; } .footer-content { gap: 2rem; margin-bottom: 2rem; } }
/* === Hide WP Armour admin debug box on frontend === */
.wpa-honeypot,
.wpa-honeypot-wrap,
.wpa-honeypot-debug,
[class*="wpa-honeypot"],
.wpa-debug,
form .wpa-debug,
.woocommerce form.cart .wpa-debug,
.single-product .wpa-debug { display: none !important; visibility: hidden !important; }
/* === Catalog: prettier product cards (like volux.ru / sinapple.ru) === */
.woocommerce ul.products,
.woocommerce-page ul.products { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1.5rem; list-style: none; margin: 0 0 2rem; padding: 0; }
.woocommerce ul.products li.product .product-card { background: #fff; border: 1px solid rgba(15,23,42,.06); border-radius: 18px; overflow: hidden; box-shadow: 0 2px 12px rgba(15,23,42,.04); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; height: 100%; display: flex; flex-direction: column; }
.woocommerce ul.products li.product .product-card:hover { transform: translateY(-4px); box-shadow: 0 12px 28px rgba(15,23,42,.08); border-color: rgba(74,155,159,.3); }
.woocommerce ul.products li.product .product-image-wrapper { aspect-ratio: 1 / 1; background: #f4f4f4; padding: 0; overflow: hidden; display: block; }
.woocommerce ul.products li.product .product-image-wrapper img,
.woocommerce ul.products li.product img.attachment-woocommerce_thumbnail,
.woocommerce ul.products li.product .product-link img { width: 100% !important; height: 100% !important; object-fit: cover !important; border-radius: 0 !important; transition: transform .35s ease; }
.woocommerce ul.products li.product .product-card:hover img { transform: scale(1.04); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 1rem; font-weight: 600; line-height: 1.35; color: var(--color-black); padding: 1rem 1.25rem .25rem; margin: 0; min-height: 2.7em; }
.woocommerce ul.products li.product .price { font-size: 1.25rem; font-weight: 700; color: var(--color-primary); padding: 0 1.25rem .5rem; margin: 0; margin-top: auto; }
.woocommerce ul.products li.product .price del { color: rgba(15,23,42,.4); font-weight: 400; font-size: .9rem; margin-right: .5rem; }
.woocommerce ul.products li.product .price ins { background: transparent; text-decoration: none; }
.woocommerce ul.products li.product .button { margin: .5rem 1rem 1rem; padding: .65rem 1rem; border-radius: 999px; font-size: .95rem; font-weight: 600; background: var(--color-primary); color: #fff; border: 0; width: calc(100% - 2rem); text-align: center; text-decoration: none; display: block; transition: background .2s; }
.woocommerce ul.products li.product .button:hover { background: var(--color-primary-dark, #3d8489); color: #fff; }
/* Sale badge */
.woocommerce span.onsale { background: var(--color-primary); color: #fff; border-radius: 999px; padding: .35rem .75rem; font-size: .75rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; top: 1rem; left: 1rem; right: auto; margin: 0; line-height: 1; min-height: 0; min-width: 0; }
/* Result count + ordering on shop top */
.woocommerce .woocommerce-result-count { color: rgba(15,23,42,.6); font-size: .9rem; margin-bottom: 1.5rem; }
.woocommerce .woocommerce-ordering { margin: 0 0 1.5rem auto; }
.woocommerce .woocommerce-ordering select { border: 1px solid rgba(15,23,42,.1); border-radius: 12px; padding: .65rem 2.5rem .65rem 1rem; background: #fff; font-size: .95rem; cursor: pointer; -webkit-appearance: none; appearance: none; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%2374878d' d='M6 8L0 0h12z'/></svg>"); background-repeat: no-repeat; background-position: right 1rem center; }
/* Shop title/header tighter */
.woocommerce-products-header { margin-bottom: 1.5rem; padding-bottom: 1.5rem; border-bottom: 1px solid rgba(15,23,42,.06); }
.woocommerce-products-header__title { margin-bottom: .5rem; }
/* Single product page improvements */
.woocommerce div.product .product_title { font-size: 2rem; line-height: 1.2; margin-bottom: 1rem; }
.woocommerce div.product .summary .price { font-size: 2rem; }
.woocommerce div.product div.images { border-radius: 18px; overflow: hidden; }
/* Pagination */
.woocommerce nav.woocommerce-pagination { margin-top: 2rem; }
.woocommerce nav.woocommerce-pagination ul { border: 0; gap: .5rem; display: flex; justify-content: center; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span { border-radius: 8px; padding: .5rem .85rem !important; background: #fff; border: 1px solid rgba(15,23,42,.1) !important; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--color-primary) !important; color: #fff !important; border-color: var(--color-primary) !important; }
/* === Catalog card: no padding on image wrapper — photo fills card edge to edge === */
.woocommerce ul.products li.product .product-image-wrapper { padding: 0 !important; background: none !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: .85rem 1rem .25rem !important; min-height: 2.5em !important; font-size: .95rem !important; }
.woocommerce ul.products li.product .price { padding: 0 1rem .25rem !important; font-size: 1.15rem !important; }
.woocommerce ul.products li.product .button { margin: .35rem .75rem .75rem !important; width: calc(100% - 1.5rem) !important; padding: .55rem .85rem !important; font-size: .9rem !important; display: block !important; }
.woocommerce ul.products li.product .star-rating { margin: .25rem 1rem !important; font-size: .8rem; }
/* === Single product page: kill huge gap between breadcrumbs/title and image === */
.woocommerce-breadcrumb,
.woocommerce .woocommerce-breadcrumb { margin-bottom: 1rem; padding: 1rem 0 0; font-size: .9rem; color: rgba(15,23,42,.6); }
.woocommerce-breadcrumb a { color: var(--color-primary); }
.woocommerce div.product { margin-top: 0 !important; padding-top: 1rem !important; }
.single-product main#main { padding-top: 0 !important; }
.single-product .page-hero { padding: 1rem 0 .5rem; margin-bottom: 0; }
.woocommerce div.product .woocommerce-product-gallery { margin-top: 0 !important; margin-bottom: 1.5rem !important; }
.woocommerce div.product div.images { margin-top: 0; }
/* Если в теме есть .summary с лишним сверху */
.woocommerce div.product .summary { margin-top: 0; padding-top: 0; }
/* ==================================================================
* KOD|ERMA — обновления 2026-05-11 (v2: восстановлено после редизайна)
*  - Видео в hero-слайдере
*  - Блок «Подбор по проблеме» (квадраты-плитки)
*  - Полный адаптив (mobile/tablet/desktop)
*  - Фикс мобильного меню (на всю ширину)
*  - Карточка товара: одна рамка (без двойной)
* ================================================================== */
/* --- Hero slider: видео ------------------------------------------- */
.hero-slider .hero-slide--video { background: #0f172a; overflow: hidden; }
.hero-slider .hero-slide-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; z-index: 0; }
.hero-slider .hero-slide--video::before { background: linear-gradient(90deg, rgba(15,23,42,.75) 0%, rgba(15,23,42,.45) 45%, rgba(15,23,42,.15) 100%); z-index: 1; }
.hero-slider .hero-slide--video.hero-slide--right::before { background: linear-gradient(270deg, rgba(15,23,42,.75) 0%, rgba(15,23,42,.45) 45%, rgba(15,23,42,.15) 100%); }
.hero-slider .hero-slide--video .container { z-index: 2; position: relative; }
/* Десктоп — видео-карточка справа на светлом фоне */
@media (min-width: 992px) { .hero-slider .hero-slide--video { background: linear-gradient(135deg, #f5f9fa 0%, #eaf1f3 100%); } .hero-slider .hero-slide--video::before { display: none; } .hero-slider .hero-slide-video-bg { display: none; } .hero-slider .hero-slide--video .container { position: relative; z-index: 2; height: 100%; display: flex; align-items: center; } .hero-slider .hero-slide--video .hero-slide-inner { max-width: 55%; padding: 2rem 0; margin: 0; } .hero-slider .hero-slide--video .hero-slide-video { position: absolute; left: auto; right: 5%; top: 50%; bottom: auto; transform: translateY(-50%); width: 28%; max-width: 420px; min-width: 300px; height: 80%; max-height: 540px; object-fit: cover; object-position: center; border-radius: 24px; box-shadow: 0 30px 80px rgba(15,23,42,.25), 0 8px 24px rgba(15,23,42,.12); z-index: 1; } .hero-slider .hero-slide--video.hero-slide--right .hero-slide-video { right: auto; left: 5%; } .hero-slider .hero-slide--video.hero-slide--right .hero-slide-inner { margin-left: auto; } /* Текст на светлом — тёмный */ .hero-slider .hero-slide--video .hero-slide-title, .hero-slider .hero-slide--video .hero-slide-subtitle, .hero-slider .hero-slide--video .hero-slide-pretitle { color: var(--color-black) !important; text-shadow: none; } .hero-slider .hero-slide--video .hero-slide-pretitle { color: var(--color-primary) !important; } .hero-slider .hero-slide--video .hero-slide-subtitle { color: var(--color-gray-dark) !important; } }
@media (min-width: 1400px) { .hero-slider .hero-slide--video .hero-slide-video { width: 420px; max-height: 580px; } }
/* Hero текст в обычных слайдах (с фото-фоном) — белый */
.hero-slider .hero-slide,
.hero-slider .hero-slide-title,
.hero-slider .hero-slide-subtitle,
.hero-slider .hero-slide-pretitle { color: #ffffff !important; }
.hero-slider .hero-slide-title { text-shadow: 0 2px 14px rgba(0,0,0,.35); }
.hero-slider .hero-slide-subtitle { text-shadow: 0 1px 8px rgba(0,0,0,.4); }
/* Мобилка: видео без оверлея и без текста — чистое видео */
@media (max-width: 991px) { .hero-slider .hero-slide--video::before { display: none !important; } .hero-slider .hero-slide--video .container { display: none !important; } .hero-slider .hero-slide--video .hero-slide-video-bg { display: none !important; } .hero-slider .hero-slide--video .hero-slide-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; } }
/* === Checkout order review cleanup === */
.woocommerce-checkout #order_review .woocommerce-shipping-destination,
.woocommerce-checkout #order_review .woocommerce-shipping-calculator,
.woocommerce-checkout #order_review .shipping-calculator-form,
.woocommerce-checkout #order_review .shipping-calculator-button,
.woocommerce-checkout #order_review form.woocommerce-shipping-calculator,
.woocommerce-checkout #order_review .woocommerce-shipping-totals .woocommerce-shipping-destination,
.woocommerce-checkout #order_review .woocommerce-shipping-totals .woocommerce-shipping-calculator,
.woocommerce-checkout #order_review .shipping .woocommerce-shipping-destination,
.woocommerce-checkout #order_review .shipping .woocommerce-shipping-calculator { display: none !important; }
.woocommerce-checkout #order_review,
.woocommerce-checkout #order_review table,
.woocommerce-checkout #order_review tr,
.woocommerce-checkout #order_review th,
.woocommerce-checkout #order_review td,
.woocommerce-checkout .woocommerce-checkout-review-order-table { border-left-width: 0 !important; border-right-width: 0 !important; }
.woocommerce-checkout #order_review { overflow: visible !important; }
.woocommerce-checkout .woocommerce-checkout-review-order-table { width: 100% !important; border: 0 !important; border-collapse: separate !important; border-spacing: 0 !important; }
.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table td { border-color: rgba(15, 23, 42, .08) !important; }
.woocommerce-checkout .woocommerce-checkout-review-order-table .shipping td { width: auto !important; max-width: 100% !important; overflow: visible !important; }
.woocommerce-checkout .woocommerce-checkout-review-order-table .shipping ul#shipping_method,
.woocommerce-checkout .woocommerce-checkout-review-order-table .shipping .woocommerce-shipping-methods { width: 100% !important; }
.woocommerce-checkout .woocommerce-checkout-review-order-table .shipping ul#shipping_method li,
.woocommerce-checkout .woocommerce-checkout-review-order-table .shipping .woocommerce-shipping-methods li { width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; }
.woocommerce-checkout form.checkout,
.woocommerce-checkout #customer_details,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .form-row.koderma-cdek-city-field { overflow: visible !important; }
.woocommerce-checkout .koderma-cdek-city-field { z-index: 120 !important; }
.woocommerce-checkout .koderma-cdek-city-field:focus-within { z-index: 999 !important; }
.woocommerce-checkout .koderma-cdek-city-suggest { z-index: 1000 !important; border-color: rgba(101, 190, 191, .32) !important; box-shadow: 0 22px 46px rgba(15, 23, 42, .16) !important; }
/* === Cart totals: match the clean checkout summary === */
.woocommerce-cart .cart-collaterals { display: flex !important; justify-content: flex-end !important; width: 100% !important; margin-top: 2.5rem !important; }
.woocommerce-cart .cart_totals { width: min(100%, 560px) !important; padding: 2rem !important; border: 1px solid rgba(15, 23, 42, .08) !important; border-radius: 22px !important; background: #fff !important; box-shadow: 0 18px 46px rgba(15, 23, 42, .07) !important; }
.woocommerce-cart .cart_totals h2 { margin: 0 0 1.35rem !important; color: var(--color-dark, #101828) !important; font-family: var(--font-heading, inherit) !important; font-size: clamp(1.55rem, 2vw, 2rem) !important; font-weight: 850 !important; line-height: 1.12 !important; letter-spacing: 0 !important; }
.woocommerce-cart .cart_totals table.shop_table { width: 100% !important; margin: 0 !important; border: 0 !important; border-collapse: separate !important; border-spacing: 0 !important; background: transparent !important; }
.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td { padding: 1rem 0 !important; border: 0 !important; border-top: 1px solid rgba(15, 23, 42, .08) !important; background: transparent !important; color: var(--color-dark, #101828) !important; font-size: 1rem !important; line-height: 1.35 !important; vertical-align: top !important; }
.woocommerce-cart .cart_totals table.shop_table th { width: 34% !important; padding-right: 1rem !important; font-weight: 850 !important; text-align: left !important; }
.woocommerce-cart .cart_totals table.shop_table td { text-align: right !important; }
.woocommerce-cart .cart_totals .cart-subtotal td,
.woocommerce-cart .cart_totals .order-total td { font-weight: 850 !important; }
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td { padding-top: 1.25rem !important; border-bottom: 0 !important; font-size: 1.25rem !important; font-weight: 900 !important; }
.woocommerce-cart .cart_totals .order-total .amount { color: var(--color-dark, #101828) !important; font-size: 1.4rem !important; }
.woocommerce-cart .cart_totals .woocommerce-shipping-totals,
.woocommerce-cart .cart_totals .shipping,
.woocommerce-cart .cart_totals ul#shipping_method,
.woocommerce-cart .cart_totals .woocommerce-shipping-methods { display: none !important; }
.woocommerce-cart .cart_totals .woocommerce-shipping-destination,
.woocommerce-cart .cart_totals .woocommerce-shipping-calculator,
.woocommerce-cart .cart_totals .shipping-calculator-form,
.woocommerce-cart .cart_totals .shipping-calculator-button { display: none !important; }
.woocommerce-cart .cart_totals ul#shipping_method,
.woocommerce-cart .cart_totals .woocommerce-shipping-methods { display: grid !important; gap: .75rem !important; margin: 0 !important; padding: 0 !important; list-style: none !important; text-align: left !important; }
.woocommerce-cart .cart_totals ul#shipping_method li,
.woocommerce-cart .cart_totals .woocommerce-shipping-methods li { display: grid !important; grid-template-columns: 18px minmax(0, 1fr) !important; align-items: start !important; gap: .65rem !important; width: 100% !important; margin: 0 !important; padding: .9rem 1rem !important; border: 1px solid rgba(15, 23, 42, .1) !important; border-radius: 14px !important; background: #f8fcfc !important; list-style: none !important; text-align: left !important; }
.woocommerce-cart .cart_totals ul#shipping_method li::before,
.woocommerce-cart .cart_totals .woocommerce-shipping-methods li::before { content: none !important; display: none !important; }
.woocommerce-cart .cart_totals input.shipping_method { width: 16px !important; height: 16px !important; margin: .18rem 0 0 !important; accent-color: var(--color-primary, #65bebf) !important; }
.woocommerce-cart .cart_totals ul#shipping_method label,
.woocommerce-cart .cart_totals .woocommerce-shipping-methods label { display: block !important; margin: 0 !important; color: var(--color-dark, #101828) !important; font-size: 1rem !important; font-weight: 850 !important; line-height: 1.25 !important; }
.woocommerce-cart .cart_totals ul#shipping_method label .amount,
.woocommerce-cart .cart_totals .woocommerce-shipping-methods label .amount { display: block !important; margin-top: .18rem !important; color: var(--color-primary, #65bebf) !important; font-size: 1.05rem !important; font-weight: 900 !important; }
.woocommerce-cart .cart_totals .woocommerce-shipping-totals,
.woocommerce-cart .cart_totals .shipping,
.woocommerce-cart .cart_totals ul#shipping_method,
.woocommerce-cart .cart_totals .woocommerce-shipping-methods { display: none !important; }
.woocommerce-cart .wc-proceed-to-checkout { margin-top: 1.5rem !important; padding: 0 !important; }
.woocommerce-cart .koderma-cart-delivery-note { margin: 0 0 1.15rem !important; padding: .9rem 1rem !important; border: 1px solid rgba(101, 190, 191, .3) !important; border-radius: 14px !important; background: rgba(101, 190, 191, .1) !important; color: var(--color-dark, #101828) !important; font-size: .95rem !important; font-weight: 750 !important; line-height: 1.35 !important; text-align: left !important; }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 100% !important; min-height: 54px !important; margin: 0 !important; padding: .95rem 1.25rem !important; border: 0 !important; border-radius: 12px !important; background: var(--color-primary, #65bebf) !important; color: #fff !important; font-size: 1rem !important; font-weight: 850 !important; line-height: 1.15 !important; text-transform: none !important; letter-spacing: 0 !important; box-shadow: none !important; }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover { background: var(--color-primary-dark, #3f9697) !important; color: #fff !important; }
@media (max-width: 700px) { .woocommerce-cart .cart-collaterals { justify-content: stretch !important; } .woocommerce-cart .cart_totals { width: 100% !important; padding: 1.25rem !important; border-radius: 18px !important; } .woocommerce-cart .cart_totals table.shop_table th, .woocommerce-cart .cart_totals table.shop_table td { display: block !important; width: 100% !important; padding: .85rem 0 .2rem !important; text-align: left !important; } .woocommerce-cart .cart_totals table.shop_table td { padding-top: .35rem !important; } }
/* --- Блок «Подбор по проблеме» ------------------------------------ */
.problems-section { padding: 4rem 0; background: linear-gradient(180deg, #fff 0%, var(--color-gray-light) 100%); }
.problems-section .section-title { text-align: center; margin-bottom: .75rem; }
.problems-lead { text-align: center; color: var(--color-text-muted); margin-bottom: 2.5rem; font-size: 1.05rem; }
.problems-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; }
@media (min-width: 381px) { .problems-grid > .problem-card:last-child:nth-child(4n+3) { grid-column: span 2; } }
.problem-card { position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: 200px; padding: 1.5rem 1.5rem 1.25rem; background: #fff; border: 1px solid var(--color-border); border-radius: 18px; color: var(--color-black); text-decoration: none; overflow: hidden; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; isolation: isolate; }
.problem-card::before { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(74,155,159,0) 0%, rgba(74,155,159,.08) 100%); z-index: -1; transition: opacity .25s ease; }
.problem-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(15,23,42,.10); border-color: var(--color-primary-light); color: var(--color-black); }
.problem-card__icon { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 14px; background: rgba(74,155,159,.10); color: var(--color-primary); margin-bottom: auto; }
.problem-card__icon svg { width: 30px; height: 30px; }
.problem-card__title { display: block; font-family: 'Playfair Display', var(--font-heading), serif; font-size: 1.35rem; font-weight: 700; line-height: 1.2; margin-top: 1.5rem; color: var(--color-black); }
.problem-card__desc { display: block; margin-top: .35rem; font-size: .92rem; line-height: 1.45; color: var(--color-text-muted); }
.problem-card__arrow { position: absolute; top: 1.25rem; right: 1.25rem; width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--color-primary); color: #fff; font-size: 1.1rem; transition: transform .25s ease, background .25s ease; }
.problem-card:hover .problem-card__arrow { transform: translateX(4px); background: var(--color-primary-dark); }
.problem-card--bg { background-size: cover; background-position: center; color: #fff; min-height: 240px; }
.problem-card--bg::before { background: linear-gradient(180deg, rgba(15,23,42,.15) 0%, rgba(15,23,42,.75) 100%); }
.problem-card--bg .problem-card__title,
.problem-card--bg .problem-card__desc { color: #fff; }
.problem-card--bg .problem-card__icon { background: rgba(255,255,255,.18); color: #fff; }
/* --- АДАПТИВ ------------------------------------------------------ */
@media (max-width: 1199px) { .container { max-width: 100%; padding: 0 24px; } .section-title { font-size: 2.25rem; } }
@media (max-width: 991px) { .problems-grid { grid-template-columns: repeat(2, 1fr); gap: 1rem; } .problem-card { min-height: 180px; padding: 1.25rem; } .problem-card__title { font-size: 1.2rem; margin-top: 1.25rem; } .problem-card__icon { width: 48px; height: 48px; } .problem-card__icon svg { width: 26px; height: 26px; } .benefits-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 1rem; } .hero-grid { grid-template-columns: 1fr !important; gap: 2rem; } .hero-slider .koderma-hero-swiper { height: clamp(420px, 55vh, 520px) !important; } .section-title { font-size: 2rem; } .mission-grid, .features-layout, .contact-layout { grid-template-columns: 1fr !important; gap: 2rem; } .categories-grid { grid-template-columns: repeat(3, 1fr); gap: 1rem; } .categories-list-grid { grid-template-columns: 1fr; gap: 1.25rem; } .reviews-grid, .blog-grid, .features-grid, .features-gallery-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 1.25rem; } .header-wrapper { gap: 1rem; } .site-logo-img, .site-logo img { max-height: 44px; } }
@media (max-width: 767px) { html { font-size: 15px; } .container { padding: 0 16px; } .section { padding: 2.5rem 0 !important; } .section-title { font-size: 1.6rem !important; margin-bottom: 1rem; line-height: 1.2; } .problems-section { padding: 2.5rem 0; } .problems-grid { grid-template-columns: repeat(2, 1fr); gap: .75rem; } .problem-card { min-height: 160px; padding: 1rem; border-radius: 14px; } .problem-card__icon { width: 40px; height: 40px; margin-bottom: 0; } .problem-card__icon svg { width: 22px; height: 22px; } .problem-card__title { font-size: 1rem; margin-top: .75rem; } .problem-card__desc { font-size: .82rem; } .problem-card__arrow { width: 28px; height: 28px; top: .85rem; right: .85rem; font-size: .9rem; } .problems-lead { font-size: .95rem; margin-bottom: 1.5rem; } .hero-slider .koderma-hero-swiper { height: clamp(360px, 70vh, 460px) !important; } .hero-slider .hero-slide-inner { max-width: 100%; padding: 1rem 0 !important; } .hero-slider .hero-slide--right .hero-slide-inner, .hero-slider .hero-slide--center .hero-slide-inner { text-align: center; } .hero-slider .hero-slide-title { font-size: clamp(1.5rem, 5vw, 2rem) !important; margin-bottom: .75rem; } .hero-slider .hero-slide-subtitle { font-size: .95rem; margin-bottom: 1.25rem; } .hero-slider .hero-slide-pretitle { font-size: .75rem; margin-bottom: .5rem; } .hero-slider .swiper-pagination { bottom: 12px !important; } .benefits-grid { grid-template-columns: repeat(2, 1fr) !important; gap: .75rem; } .benefit-card { padding: 1rem !important; } .categories-grid { grid-template-columns: repeat(2, 1fr) !important; gap: .75rem; } .features-grid, .features-gallery-grid, .reviews-grid, .blog-grid { grid-template-columns: 1fr !important; gap: 1rem; } .mission-card, .mission-content { padding: 1.25rem !important; } .faq-question { padding: 1rem !important; font-size: .95rem; } .contact-card { padding: 1.25rem !important; } .form-control { font-size: 16px !important; padding: .75rem !important; } .contact-visual { display: none; } .woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; gap: .75rem !important; } .woocommerce ul.products li.product .product-card { padding: 0 !important; border-radius: 12px; } .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: .85rem !important; } .woocommerce ul.products li.product .price { font-size: .95rem !important; } .woocommerce ul.products li.product .button { font-size: .85rem !important; padding: .5rem .75rem !important; } .woocommerce-tabs ul.tabs { overflow-x: auto !important; flex-wrap: nowrap !important; } .koderma-frequently-bought { padding: 2rem 0 !important; } .header-wrapper { padding: .5rem 0 !important; gap: .5rem; } .site-logo-img, .site-logo img { max-height: 38px; } .footer-content { grid-template-columns: 1fr !important; gap: 1.5rem !important; text-align: left; } .footer-bottom { flex-direction: column; gap: .75rem; text-align: center; } }
@media (max-width: 380px) { .problems-grid { grid-template-columns: 1fr; } .problem-card { min-height: 130px; } .benefits-grid { grid-template-columns: 1fr !important; } .categories-grid { grid-template-columns: 1fr !important; } .woocommerce ul.products { grid-template-columns: 1fr !important; } }
@media (max-width: 991px) { a, button, .btn { min-height: 40px; } a.remove{ min-height: 10px; } img, video { max-width: 100%; height: auto; } body, html { overflow-x: hidden; } }
/* --- МОБИЛЬНОЕ МЕНЮ --- */
/* Burger button (hidden on desktop, shown on mobile) */
.menu-toggle { display: none; flex-direction: column; justify-content: center; align-items: center; gap: 5px; width: 42px; height: 42px; min-height: 42px !important; padding: 0; background: var(--color-surface-alt, #eef3f8); border: none; border-radius: 10px; cursor: pointer; transition: background .2s; flex-shrink: 0; }
.menu-toggle-bar { display: block; width: 20px; height: 2px; background: var(--color-black, #0f172a); border-radius: 2px; transition: transform .25s, opacity .2s; }
.menu-toggle.active { background: #65bebf; }
.menu-toggle.active .menu-toggle-bar { background: #fff; }
.menu-toggle.active .menu-toggle-bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.menu-toggle.active .menu-toggle-bar:nth-child(2) { opacity: 0; transform: scaleX(0); }
.menu-toggle.active .menu-toggle-bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
/* Fullscreen overlay — вне header, position:fixed корректно работает */
.mobile-nav-overlay { display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; z-index: 99999; background: linear-gradient(160deg, #4fb3b4 0%, #65bebf 50%, #5aafb0 100%); flex-direction: column; align-items: center; justify-content: flex-start; overflow-y: auto; padding: 4.5rem 1.5rem 2.5rem; box-sizing: border-box; opacity: 0; transition: opacity .25s ease; }
.mobile-nav-overlay.active { display: flex; opacity: 1; }
/* Close X inside overlay */
.mobile-menu-close { display: none; position: absolute; top: 1rem; right: 1rem; width: 44px; height: 44px; align-items: center; justify-content: center; background: rgba(255,255,255,.2); border: none; border-radius: 10px; color: #fff; cursor: pointer; transition: background .2s; }
.mobile-nav-overlay .mobile-menu-close { display: flex; }
.mobile-menu-close:hover { background: rgba(255,255,255,.35); }
/* Menu list inside overlay */
.mobile-main-menu { display: flex; flex-direction: column; align-items: center; gap: 0; list-style: none; margin: 0; padding: 0; width: 100%; max-width: 380px; }
.mobile-main-menu li { width: 100%; border-bottom: 1px solid rgba(255,255,255,.2); }
.mobile-main-menu li:first-child { border-top: 1px solid rgba(255,255,255,.2); }
.mobile-main-menu a { display: block; padding: 1.1rem 1rem; text-align: center; font-size: 1.2rem; font-weight: 600; color: #fff; text-decoration: none; }
.mobile-main-menu a:hover { color: rgba(255,255,255,.8); }
.mobile-main-menu .sub-menu { display: none; list-style: none; background: rgba(0,0,0,.08); padding: 0; margin: 0; }
.mobile-main-menu li.active > .sub-menu { display: block; }
.mobile-main-menu .sub-menu a { padding: .75rem 1.5rem; font-size: 1rem; color: rgba(255,255,255,.9); }
@media (max-width: 991px) { .site-header { position: sticky; top: 0; z-index: 1000; background: #fff; box-shadow: 0 2px 12px rgba(15,23,42,.07); } #site-navigation { display: none; } /* desktop nav скрыт на мобилке, используем overlay */ .menu-toggle { display: inline-flex !important; } }
/* --- Карточка товара: одна рамка ---------------------------------- */
.woocommerce ul.products li.product .product-card { padding: 0 !important; overflow: hidden; border: 1px solid var(--color-gray) !important; border-radius: 14px !important; background: #fff !important; }
.woocommerce ul.products li.product .product-image-wrapper { padding: 0 !important; border-radius: 0 !important; background: transparent !important; aspect-ratio: 1/1 !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 1rem 1rem .25rem !important; }
.woocommerce ul.products li.product .price { padding: 0 1rem .5rem !important; }
.woocommerce ul.products li.product .button { margin: .5rem 1rem 1rem !important; width: calc(100% - 2rem) !important; }
/* Защита от слишком длинных слов */
.problem-card__title,
.benefit-title,
.feature-title,
.koderma-fb-name,
.woocommerce-loop-product__title { word-wrap: break-word; overflow-wrap: anywhere; hyphens: auto; }
/* === Desktop hero slider: taller, less cropped === */
@media (min-width: 1024px) { .hero-slider .koderma-hero-swiper { height: 720px !important; } .hero-slider .hero-slide { background-position: center center !important; } .hero-slider .hero-slide-inner { padding: 4rem 0; } }
@media (min-width: 1440px) { .hero-slider .koderma-hero-swiper { height: 760px !important; } }
/* === Features section: keep WYSIWYG content in tidy tiles === */
@media (min-width: 901px) { .features-layout { display: grid !important; grid-template-columns: minmax(300px, .68fr) minmax(0, 1.32fr) !important; gap: 1.5rem !important; align-items: stretch !important; } .features-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 1.35rem !important; align-items: stretch !important; } }
.features-copy,
.feature-item { min-width: 0; }
.features-copy { display: flex; flex-direction: column; justify-content: center; }
.feature-item { display: flex; flex-direction: column; gap: .75rem; padding: 1.5rem !important; overflow: hidden; }
.feature-item .feature-icon { flex: 0 0 auto; margin-bottom: .25rem; }
.feature-item .feature-title { margin: 0; line-height: 1.2; }
.feature-item .feature-text,
.feature-item .feature-text p,
.feature-item .feature-text li { font-size: .98rem; line-height: 1.55; color: var(--color-gray-dark); }
.feature-item .feature-text p { margin: 0 0 .55rem; }
.feature-item .feature-text p:last-child { margin-bottom: 0; }
.feature-item .feature-text ul,
.feature-item .feature-text ol { margin: .35rem 0 0; padding-left: 1.15rem; }
.feature-item .feature-text li { margin: 0 0 .25rem; }
.features-copy .section-lead p { margin: 0 0 1rem; }
.features-copy .section-lead ul,
.features-copy .section-lead ol { margin: .75rem 0 1rem; padding-left: 1.25rem; }
@media (max-width: 900px) { .features-layout { grid-template-columns: 1fr !important; } .features-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 600px) { .features-grid { grid-template-columns: 1fr !important; } .feature-item { padding: 1.25rem !important; } }
/* === Home hero final sizing: no top gap, desktop not too tall === */
body.home main.site-content,
body.front-page main.site-content,
.home .site-content { padding-top: 0 !important; }
body.home .hero-slider,
body.front-page .hero-slider { margin-top: 0 !important; }
@media (min-width: 1024px) { .hero-slider .koderma-hero-swiper { height: clamp(520px, 58vh, 640px) !important; } .hero-slider .hero-slide-inner { padding: 2.5rem 0 !important; } }
@media (min-width: 1440px) { .hero-slider .koderma-hero-swiper { height: clamp(560px, 60vh, 680px) !important; } }
/* === Home hero micro-adjust: slightly taller on desktop === */
@media (min-width: 1024px) { .hero-slider .koderma-hero-swiper { height: clamp(560px, 62vh, 690px) !important; } }
@media (min-width: 1440px) { .hero-slider .koderma-hero-swiper { height: clamp(600px, 64vh, 720px) !important; } }
/* === Home slider image focus: keep products visible === */
.hero-slider .hero-slide { background-position: center 58% !important; }
@media (min-width: 1024px) { .hero-slider .hero-slide { background-position: center 62% !important; } }
@media (max-width: 768px) { .hero-slider .hero-slide { background-position: center center !important; } }
/* === Product gallery carousel polish === */
.single-product .woocommerce-product-gallery { background: transparent; border: none; border-radius: 18px; padding: 0; box-shadow: none; overflow: hidden; }
.single-product .woocommerce-product-gallery__wrapper { margin: 0 !important; }
.single-product .woocommerce-product-gallery__image { background: #f6f6f6; border-radius: 18px; overflow: hidden; }
.single-product .woocommerce-product-gallery__image a,
.single-product .woocommerce-product-gallery__image img { display: block; width: 100%; }
.single-product .woocommerce-product-gallery__image img { aspect-ratio: 1 / 1; object-fit: cover; background: #f6f6f6; border: none !important; }
.single-product .woocommerce-product-gallery .flex-control-thumbs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .65rem; margin: .85rem 0 0 !important; padding: 0 !important; }
.single-product .woocommerce-product-gallery .flex-control-thumbs li { width: auto !important; float: none !important; margin: 0 !important; list-style: none; }
.single-product .woocommerce-product-gallery .flex-control-thumbs img { width: 100% !important; aspect-ratio: 1 / 1; object-fit: cover; padding: 0; border: 2px solid transparent !important; border-radius: 10px; background: #f6f6f6; opacity: .72; transition: opacity .2s ease, border-color .2s ease, transform .2s ease; }
.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active,
.single-product .woocommerce-product-gallery .flex-control-thumbs img:hover { opacity: 1; border-color: var(--color-primary) !important; transform: translateY(-1px); }
.single-product .woocommerce-product-gallery .flex-direction-nav a { width: 42px; height: 42px; border-radius: 50%; background: rgba(255,255,255,.92); box-shadow: 0 8px 24px rgba(15,23,42,.12); color: var(--color-black); text-indent: -9999px; }
.single-product .woocommerce-product-gallery .flex-direction-nav a::before { font-size: 18px; line-height: 42px; text-indent: 0; color: var(--color-black); }
@media (max-width: 600px) { .single-product .woocommerce-product-gallery { padding: .65rem; border-radius: 14px; } .single-product .woocommerce-product-gallery .flex-control-thumbs { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .5rem; } }
/* === Series note + recommendations === */
.koderma-series-note-section { padding: 0 0 1.75rem; }
.koderma-series-note { margin: 1.25rem 0; padding: 1rem 1.1rem; border: 1px solid rgba(101,190,191,.35); border-left: 4px solid var(--color-primary); border-radius: 12px; background: linear-gradient(135deg, rgba(101,190,191,.10), rgba(255,255,255,.92)); color: var(--color-black); line-height: 1.6; }
.koderma-series-note p { margin: 0 0 .65rem; }
.koderma-series-note p:last-child { margin-bottom: 0; }
.koderma-series-note ul,
.koderma-series-note ol { margin: .5rem 0 0; padding-left: 1.25rem; }
.koderma-frequently-bought { /* background/border removed */ }
.koderma-fb-card { border: 1px solid rgba(15,23,42,.07); border-radius: 16px !important; padding: 1rem !important; }
.koderma-fb-img { aspect-ratio: 1 / 1; background: #fff; border-radius: 12px; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.koderma-fb-img img { object-fit: contain; }
.koderma-fb-card .button { margin-top: auto; border-radius: 12px !important; }
/* === Gift certificates on homepage === */
.certificates-section { background: linear-gradient(180deg, #ffffff 0%, #f5fbfb 100%); border-top: 1px solid rgba(101,190,191,.14); border-bottom: 1px solid rgba(101,190,191,.12); }
.certificates-head { align-items: end; gap: 2rem; }
.certificates-kicker { display: inline-flex; margin-bottom: .7rem; font-size: .78rem; letter-spacing: .16em; text-transform: uppercase; color: var(--color-primary-dark); font-weight: 700; }
.certificates-lead { max-width: 520px; color: var(--color-gray-dark); font-size: 1rem; line-height: 1.65; }
.certificates-lead p { margin: 0; }
.certificates-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; align-items: stretch; }
.certificate-card { position: relative; display: flex; flex-direction: column; min-width: 0; background: #fff; border: 1px solid rgba(15,23,42,.07); border-radius: 18px; overflow: hidden; text-decoration: none; color: var(--color-black); box-shadow: 0 10px 28px rgba(15,23,42,.055); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.certificate-card:hover { transform: translateY(-5px); box-shadow: 0 18px 42px rgba(15,23,42,.10); border-color: rgba(101,190,191,.45); }
.certificate-card__image { display: block; aspect-ratio: 1 / 1; background: #eef8f7; background-position: center; background-size: cover; background-repeat: no-repeat; overflow: hidden; }
.certificate-card__image noscript { display: none; }
.certificate-card__image img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }
.certificate-card:hover .certificate-card__image img { transform: scale(1.035); }
.certificate-card__body { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: 1rem; }
.certificate-card__title { font-weight: 650; font-size: .95rem; line-height: 1.2; }
.certificate-card__amount { white-space: nowrap; color: var(--color-primary-dark); font-weight: 800; font-size: 1.05rem; }
@media (max-width: 1180px) { .certificates-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) { .certificates-head { align-items: start; } .certificates-grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: .5rem; margin-right: calc(var(--container-padding, 1rem) * -1); } .certificate-card { flex: 0 0 78%; scroll-snap-align: start; } }
/* === Product series note: integrated callout inside description tab === */
.single-product .woocommerce div.product .woocommerce-tabs { margin-bottom: 1rem !important; }
.single-product .woocommerce div.product .woocommerce-tabs .panel { padding-bottom: .75rem !important; }
.single-product .koderma-series-note { display: block; width: 100%; max-width: 980px; margin: 1.5rem 0 0 !important; padding: 1rem 1.1rem !important; border: 1px solid rgba(101,190,191,.35) !important; border-left: 4px solid var(--color-primary, #65bebf) !important; border-radius: 12px !important; background: linear-gradient(135deg, rgba(101,190,191,.10), rgba(255,255,255,.92)) !important; box-shadow: none !important; font-size: .95rem; line-height: 1.7; color: var(--color-black); }
.single-product .koderma-series-note::before { display: none; /* убрали слово «Подходит», рамку оставили */ }
.single-product .koderma-series-note p,
.single-product .koderma-series-note ul,
.single-product .koderma-series-note ol { margin-top: 0 !important; }
@media (max-width: 640px) { .single-product .koderma-series-note { grid-template-columns: 1fr; gap: .75rem; } .single-product .koderma-series-note::before { justify-self: start; } }
.single-product .koderma-frequently-bought { margin-top: 1.5rem !important; padding: 2.5rem 0 2rem !important; }
.single-product .koderma-frequently-bought .koderma-fb-swiper { padding-bottom: .75rem !important; }
/* === WooCommerce blocks checkout + notices polish === */
.woocommerce-checkout .entry-content,
.woocommerce-cart .entry-content { max-width: 100%; }
.woocommerce-checkout .wc-block-components-notice-banner,
.woocommerce-cart .wc-block-components-notice-banner,
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error { display: flex !important; align-items: center; gap: .85rem; width: 100%; margin: 0 0 1.5rem !important; padding: 1rem 1.15rem !important; border-radius: 10px !important; border-width: 1px !important; box-shadow: none !important; line-height: 1.45; }
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-error::before { position: static !important; display: inline-flex !important; align-items: center; justify-content: center; flex: 0 0 28px; width: 28px; height: 28px; margin: 0 !important; border-radius: 999px; font-size: 15px; line-height: 1; }
.woocommerce .woocommerce-message .button,
.woocommerce .woocommerce-info .button,
.woocommerce .woocommerce-error .button,
.wc-block-components-notice-banner .wc-forward { order: 2; margin-left: auto !important; flex: 0 0 auto; border-radius: 12px !important; padding: .55rem 1rem !important; background: var(--color-primary) !important; color: #fff !important; text-decoration: none !important; font-weight: 700 !important; }
.woocommerce .woocommerce-message { background: rgba(101,190,191,.12) !important; border-color: rgba(101,190,191,.45) !important; color: var(--color-black) !important; }
.woocommerce .woocommerce-info { background: #eef8f8 !important; border-color: rgba(101,190,191,.36) !important; color: var(--color-black) !important; }
.woocommerce .woocommerce-error { background: #fff1f1 !important; border-color: #ef4444 !important; color: #7f1d1d !important; }
.woocommerce-checkout .wc-block-components-main,
.woocommerce-checkout .wc-block-checkout__main { min-width: 0; }
.woocommerce-checkout .wc-block-components-sidebar,
.woocommerce-checkout .wc-block-checkout__sidebar { border-radius: 14px; }
.woocommerce-checkout .wc-block-components-text-input input,
.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input,
.woocommerce-checkout .wc-block-components-address-form input,
.woocommerce-checkout .wc-block-components-address-form select { min-height: 54px; border-radius: 7px !important; border-color: rgba(15,23,42,.34) !important; box-shadow: none !important; }
.woocommerce-checkout .wc-block-components-text-input input:focus,
.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input:focus,
.woocommerce-checkout .wc-block-components-address-form input:focus,
.woocommerce-checkout .wc-block-components-address-form select:focus { border-color: var(--color-primary) !important; box-shadow: 0 0 0 3px rgba(101,190,191,.16) !important; outline: none !important; }
.woocommerce-checkout .wc-block-components-checkbox,
.woocommerce-checkout .wc-block-components-checkbox label,
.woocommerce-checkout label.wc-block-components-checkbox { display: flex !important; align-items: center !important; gap: .75rem !important; margin: .9rem 0 0 !important; padding: 0 !important; line-height: 1.45 !important; }
.woocommerce-checkout .wc-block-components-checkbox__input,
.woocommerce-checkout input[type="checkbox"].wc-block-components-checkbox__input { position: static !important; flex: 0 0 22px !important; width: 22px !important; height: 22px !important; margin: 0 !important; border: 1.5px solid rgba(15,23,42,.42) !important; border-radius: 5px !important; }
.woocommerce-checkout .wc-block-components-checkbox__mark { left: 4px !important; top: 4px !important; width: 14px !important; height: 14px !important; }
.woocommerce-checkout .wc-block-components-checkbox__label { display: inline-block !important; margin: 0 !important; padding: 0 !important; color: var(--color-black); font-size: .98rem; }
.woocommerce-checkout .wc-block-components-order-summary,
.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-main { min-width: 0; }
.woocommerce-checkout .wc-block-components-order-summary-item { gap: .85rem; }
.woocommerce-checkout .wc-block-checkout__payment-method,
.woocommerce-checkout .wc-block-components-radio-control { margin-top: .5rem; }
.woocommerce-checkout .wc-block-components-radio-control__option { display: grid !important; grid-template-columns: 28px minmax(0, 1fr) auto !important; grid-template-areas: "radio label logo" ". description description" !important; align-items: center !important; column-gap: .9rem !important; row-gap: .8rem !important; min-height: 0 !important; padding: 1.25rem 1.4rem !important; border-radius: 10px !important; }
.woocommerce-checkout .wc-block-components-radio-control__input { grid-area: radio !important; position: static !important; width: 22px !important; height: 22px !important; margin: 0 !important; }
.woocommerce-checkout .wc-block-components-radio-control__label,
.woocommerce-checkout .wc-block-components-radio-control__option-layout { grid-area: label !important; min-width: 0 !important; display: flex !important; align-items: center !important; gap: .75rem !important; padding: 0 !important; margin: 0 !important; font-size: 1rem !important; line-height: 1.35 !important; }
.woocommerce-checkout .wc-block-components-radio-control__option-layout::after { content: none !important; }
.woocommerce-checkout .wc-block-components-radio-control__description,
.woocommerce-checkout .wc-block-components-radio-control-accordion-content { grid-area: description !important; margin: 0 !important; padding: 0 !important; color: var(--color-gray-dark); line-height: 1.55; }
.woocommerce-checkout .wc-block-components-payment-method-icons,
.woocommerce-checkout .wc-block-components-payment-method-label__icon,
.woocommerce-checkout .wc-block-components-radio-control__label img,
.woocommerce-checkout .wc-block-components-radio-control__option img { grid-area: logo !important; justify-self: end !important; align-self: center !important; max-width: 72px !important; max-height: 34px !important; object-fit: contain !important; margin: 0 !important; }
.woocommerce-checkout .wc-block-components-checkout-place-order-button { border-radius: 0 !important; background: var(--color-black) !important; color: #fff !important; font-weight: 600 !important; }
@media (max-width: 782px) { .woocommerce-checkout .wc-block-components-sidebar-layout { display: block !important; } .woocommerce-checkout .wc-block-components-notice-banner, .woocommerce-cart .wc-block-components-notice-banner, .woocommerce .woocommerce-message, .woocommerce .woocommerce-info, .woocommerce .woocommerce-error { align-items: flex-start; flex-wrap: wrap; } .woocommerce .woocommerce-message .button, .woocommerce .woocommerce-info .button, .woocommerce .woocommerce-error .button, .wc-block-components-notice-banner .wc-forward { width: 100%; margin-left: 0 !important; text-align: center; } .woocommerce-checkout .wc-block-components-radio-control__option { grid-template-columns: 26px minmax(0, 1fr) !important; grid-template-areas: "radio label" ". logo" ". description" !important; padding: 1rem !important; } .woocommerce-checkout .wc-block-components-payment-method-icons, .woocommerce-checkout .wc-block-components-payment-method-label__icon, .woocommerce-checkout .wc-block-components-radio-control__label img, .woocommerce-checkout .wc-block-components-radio-control__option img { justify-self: start !important; } }
/* === Product cards final alignment: catalog, recommendations, related === */
.woocommerce ul.products,
.woocommerce-page ul.products { gap: 1rem !important; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product { min-width: 0; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce .related.products ul.products li.product { background: #fff !important; border: 1px solid rgba(15,23,42,.07) !important; border-radius: 16px !important; overflow: hidden !important; box-shadow: 0 8px 24px rgba(15,23,42,.045) !important; display: flex !important; flex-direction: column !important; padding: 0 !important; }
.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link,
.woocommerce-page ul.products li.product > a.woocommerce-LoopProduct-link,
.woocommerce .related.products ul.products li.product > a.woocommerce-LoopProduct-link { display: flex !important; flex-direction: column !important; flex: 1 1 auto !important; text-decoration: none !important; color: inherit !important; }
.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link img,
.woocommerce-page ul.products li.product > a.woocommerce-LoopProduct-link img,
.woocommerce .related.products ul.products li.product > a.woocommerce-LoopProduct-link img { width: 100% !important; aspect-ratio: 1 / 1 !important; height: 100% !important; object-fit: cover !important; background: none !important; padding: 0 !important; margin: 0 !important; border-radius: 0 !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
.woocommerce .related.products ul.products li.product .woocommerce-loop-product__title { min-height: 0 !important; padding: .85rem 1rem .25rem !important; margin: 0 !important; font-size: .98rem !important; line-height: 1.3 !important; }
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price,
.woocommerce .related.products ul.products li.product .price { padding: 0 1rem .45rem !important; margin: 0 !important; color: var(--color-primary) !important; font-size: 1.12rem !important; font-weight: 800 !important; }
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button,
.woocommerce .related.products ul.products li.product .button,
.koderma-fb-card .button { margin: auto 1rem 1rem !important; width: calc(100% - 2rem) !important; padding: .62rem .9rem !important; border-radius: 12px !important; background: var(--color-primary) !important; color: #fff !important; text-align: center !important; text-decoration: none !important; font-weight: 700 !important; }
.woocommerce .related.products { margin-top: 2rem !important; padding-top: 2rem !important; }
.woocommerce .related.products > h2 { margin-bottom: 1.25rem !important; font-size: clamp(1.55rem, 3vw, 2.1rem) !important; }
.woocommerce .related.products ul.products { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important; gap: 1rem !important; justify-items: stretch !important; }
.single-product form.cart .single_add_to_cart_button { background: var(--color-primary) !important; border-color: var(--color-primary) !important; color: #fff !important; border-radius: 12px !important; padding: .85rem 1.5rem !important; font-weight: 800 !important; }
.single-product form.cart .single_add_to_cart_button:hover { background: var(--color-primary-dark) !important; border-color: var(--color-primary-dark) !important; }
/* === Product cards compact density override === */
.woocommerce ul.products,
.woocommerce-page ul.products { gap: .85rem !important; }
.woocommerce ul.products li.product .product-card,
.woocommerce-page ul.products li.product .product-card,
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product { border-radius: 14px !important; }
.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link img,
.woocommerce-page ul.products li.product > a.woocommerce-LoopProduct-link img,
.woocommerce ul.products li.product .product-link img,
.woocommerce-page ul.products li.product .product-link img { aspect-ratio: unset !important; min-height: 0 !important; padding: 0 !important; }
.woocommerce ul.products li.product .product-card-content,
.woocommerce-page ul.products li.product .product-card-content { display: flex !important; flex-direction: column !important; flex: 1 1 auto !important; padding: .85rem .9rem .9rem !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title { padding: 0 !important; margin: 0 0 .35rem !important; min-height: 0 !important; font-size: .95rem !important; line-height: 1.28 !important; }
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price { padding: 0 !important; margin: 0 0 .65rem !important; font-size: 1.08rem !important; line-height: 1.2 !important; }
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button,
.woocommerce .related.products ul.products li.product .button,
.koderma-fb-card .button { margin: .1rem .9rem .9rem !important; width: calc(100% - 1.8rem) !important; padding: .55rem .85rem !important; min-height: 0 !important; line-height: 1.2 !important; font-size: .9rem !important; }
.woocommerce ul.products li.product .product-card-content + .button,
.woocommerce-page ul.products li.product .product-card-content + .button,
.woocommerce ul.products li.product .product-link + .button,
.woocommerce-page ul.products li.product .product-link + .button { margin-top: 0 !important; }
/* === Checkout payment block final override for YooKassa/Woo Blocks === */
.woocommerce-checkout .wc-block-components-radio-control__option { position: relative !important; display: block !important; min-height: 0 !important; padding: 1.25rem 1.35rem 1.15rem 3.75rem !important; border-radius: 10px !important; }
.woocommerce-checkout .wc-block-components-radio-control__input { position: absolute !important; left: 1.25rem !important; top: 1.35rem !important; width: 22px !important; height: 22px !important; margin: 0 !important; }
.woocommerce-checkout .wc-block-components-radio-control__option-layout,
.woocommerce-checkout .wc-block-components-radio-control__label { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 1rem !important; width: 100% !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important; font-size: 1.05rem !important; line-height: 1.35 !important; }
.woocommerce-checkout .wc-block-components-radio-control__option-layout img,
.woocommerce-checkout .wc-block-components-radio-control__label img,
.woocommerce-checkout .wc-block-components-radio-control__option img,
.woocommerce-checkout .wc-block-components-payment-method-icons,
.woocommerce-checkout .wc-block-components-payment-method-label__icon { flex: 0 0 auto !important; max-width: 68px !important; max-height: 32px !important; margin: 0 0 0 auto !important; object-fit: contain !important; }
.woocommerce-checkout .wc-block-components-radio-control__description,
.woocommerce-checkout .wc-block-components-radio-control-accordion-content { display: block !important; margin: .75rem 0 0 !important; padding: 0 !important; color: var(--color-gray-dark) !important; font-size: .95rem !important; line-height: 1.5 !important; }
.woocommerce-checkout .wc-block-components-radio-control__description p,
.woocommerce-checkout .wc-block-components-radio-control-accordion-content p { margin: 0 !important; }
/* Checkout checkboxes: no drifting/double layout */
.woocommerce-checkout .wc-block-components-checkbox,
.woocommerce-checkout .wc-block-components-checkbox label,
.woocommerce-checkout label.wc-block-components-checkbox { position: relative !important; display: block !important; min-height: 28px !important; margin: 1rem 0 0 !important; padding: 0 0 0 2.6rem !important; line-height: 1.45 !important; }
.woocommerce-checkout .wc-block-components-checkbox__input,
.woocommerce-checkout input[type="checkbox"].wc-block-components-checkbox__input { position: absolute !important; left: 0 !important; top: 0 !important; width: 26px !important; height: 26px !important; margin: 0 !important; border: 1.5px solid rgba(15,23,42,.42) !important; border-radius: 6px !important; }
.woocommerce-checkout .wc-block-components-checkbox__mark { position: absolute !important; left: 5px !important; top: 5px !important; width: 16px !important; height: 16px !important; pointer-events: none !important; }
.woocommerce-checkout .wc-block-components-checkbox__label { display: block !important; margin: 0 !important; padding: 0 !important; font-size: 1rem !important; line-height: 1.45 !important; }
/* === Shop cards final stabilizer for custom snippets === */
.woocommerce ul.products,
.woocommerce-page ul.products,
.woocommerce .related.products ul.products { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(255px, 1fr)) !important; gap: 1.15rem !important; align-items: start !important; }
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after { display: none !important; content: none !important; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce .related.products ul.products li.product { width: auto !important; float: none !important; clear: none !important; margin: 0 !important; padding: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; overflow: visible !important; }
.woocommerce ul.products li.product .product-card,
.woocommerce-page ul.products li.product .product-card,
.woocommerce .related.products ul.products li.product .product-card { display: flex !important; flex-direction: column !important; height: auto !important; min-height: 0 !important; background: #fff !important; border: 1px solid rgba(15, 23, 42, .08) !important; border-radius: 14px !important; overflow: hidden !important; box-shadow: 0 10px 26px rgba(15, 23, 42, .045) !important; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease !important; }
.woocommerce ul.products li.product .product-card:hover,
.woocommerce-page ul.products li.product .product-card:hover,
.woocommerce .related.products ul.products li.product .product-card:hover { transform: translateY(-2px) !important; border-color: rgba(101, 190, 191, .32) !important; box-shadow: 0 14px 32px rgba(15, 23, 42, .075) !important; }
.woocommerce ul.products li.product .product-link,
.woocommerce-page ul.products li.product .product-link,
.woocommerce .related.products ul.products li.product .product-link,
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce .related.products ul.products li.product a.woocommerce-LoopProduct-link { display: block !important; color: inherit !important; text-decoration: none !important; }
.woocommerce ul.products li.product .product-image-wrapper,
.woocommerce-page ul.products li.product .product-image-wrapper,
.woocommerce .related.products ul.products li.product .product-image-wrapper { display: block !important; width: 100% !important; aspect-ratio: 1 / 1 !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; background: transparent !important; border: none !important; overflow: hidden !important; }
.woocommerce ul.products li.product .product-image-wrapper img,
.woocommerce-page ul.products li.product .product-image-wrapper img,
.woocommerce .related.products ul.products li.product .product-image-wrapper img,
.woocommerce ul.products li.product .product-link img,
.woocommerce-page ul.products li.product .product-link img,
.woocommerce .related.products ul.products li.product .product-link img,
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link img,
.woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link img,
.woocommerce .related.products ul.products li.product a.woocommerce-LoopProduct-link img { display: block !important; width: 100% !important; height: 100% !important; max-width: none !important; max-height: none !important; margin: 0 !important; padding: 0 !important; border-radius: 0 !important; object-fit: cover !important; object-position: center !important; background: transparent !important; }
.woocommerce ul.products li.product .product-card-content,
.woocommerce-page ul.products li.product .product-card-content,
.woocommerce .related.products ul.products li.product .product-card-content { display: block !important; padding: .9rem 1rem .35rem !important; margin: 0 !important; min-height: 0 !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
.woocommerce .related.products ul.products li.product .woocommerce-loop-product__title { display: block !important; min-height: 0 !important; margin: 0 0 .35rem !important; padding: 0 !important; font-size: .98rem !important; line-height: 1.28 !important; font-weight: 800 !important; letter-spacing: 0 !important; color: var(--color-dark) !important; }
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price,
.woocommerce .related.products ul.products li.product .price { display: block !important; margin: 0 !important; padding: 0 !important; color: var(--color-primary) !important; font-size: 1.12rem !important; line-height: 1.15 !important; font-weight: 800 !important; letter-spacing: .01em !important; }
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button,
.woocommerce .related.products ul.products li.product .button,
.woocommerce ul.products li.product .koderma-details-button,
.woocommerce-page ul.products li.product .koderma-details-button,
.woocommerce .related.products ul.products li.product .koderma-details-button { display: block !important; width: calc(100% - 2rem) !important; margin: .75rem 1rem 1rem !important; padding: .58rem .9rem !important; min-height: 0 !important; border: 0 !important; border-radius: 12px !important; background: var(--color-primary) !important; color: #fff !important; font-size: .92rem !important; line-height: 1.25 !important; font-weight: 800 !important; text-align: center !important; text-decoration: none !important; box-shadow: none !important; }
.woocommerce ul.products li.product .button:hover,
.woocommerce-page ul.products li.product .button:hover,
.woocommerce .related.products ul.products li.product .button:hover,
.woocommerce ul.products li.product .koderma-details-button:hover,
.woocommerce-page ul.products li.product .koderma-details-button:hover,
.woocommerce .related.products ul.products li.product .koderma-details-button:hover { background: var(--color-primary-dark) !important; color: #fff !important; }
.woocommerce ul.products li.product span[id^="woocommerce_loop_add_to_cart_link_describedby"],
.woocommerce-page ul.products li.product span[id^="woocommerce_loop_add_to_cart_link_describedby"],
.woocommerce .related.products ul.products li.product span[id^="woocommerce_loop_add_to_cart_link_describedby"] { display: none !important; }
.woocommerce ul.products li.product .koderma-cart-button.added::after { content: none !important; }
.woocommerce ul.products li.product .koderma-cart-button.loading { opacity: .6 !important; pointer-events: none !important; }
.woocommerce .related.products { margin-top: 1.5rem !important; padding: 1.75rem 0 0 !important; }
.woocommerce .related.products > h2 { margin: 0 0 1.1rem !important; font-size: clamp(1.55rem, 2.6vw, 2rem) !important; line-height: 1.15 !important; }
@media (max-width: 767px) { .woocommerce ul.products, .woocommerce-page ul.products, .woocommerce .related.products ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: .8rem !important; } .woocommerce ul.products li.product .product-card-content, .woocommerce-page ul.products li.product .product-card-content, .woocommerce .related.products ul.products li.product .product-card-content { padding: .75rem .75rem .25rem !important; } .woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce-page ul.products li.product .woocommerce-loop-product__title, .woocommerce .related.products ul.products li.product .woocommerce-loop-product__title { font-size: .86rem !important; line-height: 1.24 !important; } .woocommerce ul.products li.product .price, .woocommerce-page ul.products li.product .price, .woocommerce .related.products ul.products li.product .price { font-size: .98rem !important; } .woocommerce ul.products li.product .button, .woocommerce-page ul.products li.product .button, .woocommerce .related.products ul.products li.product .button, .woocommerce ul.products li.product .koderma-details-button, .woocommerce-page ul.products li.product .koderma-details-button, .woocommerce .related.products ul.products li.product .koderma-details-button { width: calc(100% - 1.5rem) !important; margin: .6rem .75rem .8rem !important; padding: .52rem .65rem !important; font-size: .84rem !important; } }
/* === Classic cart table inside checkout === */
.woocommerce-checkout .woocommerce-cart-form,
.woocommerce-cart .woocommerce-cart-form { width: 100% !important; margin: 0 !important; }
.woocommerce-checkout table.shop_table.cart,
.woocommerce-cart table.shop_table.cart { width: 100% !important; border: 0 !important; border-collapse: collapse !important; margin: 0 !important; background: transparent !important; }
.woocommerce-checkout table.shop_table.cart th,
.woocommerce-cart table.shop_table.cart th { padding: 0 1rem 1.1rem !important; border: 0 !important; border-bottom: 1px solid rgba(15, 23, 42, .1) !important; color: var(--color-dark) !important; font-size: .78rem !important; line-height: 1.2 !important; font-weight: 800 !important; letter-spacing: .08em !important; text-transform: uppercase !important; text-align: left !important; }
.woocommerce-checkout table.shop_table.cart td,
.woocommerce-cart table.shop_table.cart td { padding: 1.25rem 1rem !important; border: 0 !important; border-bottom: 1px solid rgba(15, 23, 42, .08) !important; vertical-align: middle !important; background: transparent !important; }
.woocommerce-checkout table.shop_table.cart .product-remove,
.woocommerce-cart table.shop_table.cart .product-remove { width: 38px !important; padding-left: 0 !important; text-align: center !important; }
.woocommerce-checkout table.shop_table.cart .product-remove a,
.woocommerce-cart table.shop_table.cart .product-remove a { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 30px !important; height: 30px !important; border-radius: 12px !important; color: var(--color-dark) !important; font-size: 1.35rem !important; line-height: 1 !important; text-decoration: none !important; }
.woocommerce-checkout table.shop_table.cart .product-remove a:hover,
.woocommerce-cart table.shop_table.cart .product-remove a:hover { background: rgba(101, 190, 191, .14) !important; color: var(--color-primary-dark) !important; }
.woocommerce-checkout table.shop_table.cart .product-thumbnail,
.woocommerce-cart table.shop_table.cart .product-thumbnail { width: 92px !important; }
.woocommerce-checkout table.shop_table.cart .product-thumbnail img,
.woocommerce-cart table.shop_table.cart .product-thumbnail img { display: block !important; width: 64px !important; height: 64px !important; object-fit: contain !important; margin: 0 auto !important; padding: .35rem !important; border: 1px solid rgba(15, 23, 42, .08) !important; border-radius: 12px !important; background: #f7fafa !important; }
.woocommerce-checkout table.shop_table.cart .product-name,
.woocommerce-cart table.shop_table.cart .product-name { min-width: 190px !important; }
.woocommerce-checkout table.shop_table.cart .product-name a,
.woocommerce-cart table.shop_table.cart .product-name a { color: var(--color-primary) !important; font-weight: 700 !important; text-decoration: none !important; }
.woocommerce-checkout table.shop_table.cart .product-price,
.woocommerce-checkout table.shop_table.cart .product-subtotal,
.woocommerce-cart table.shop_table.cart .product-price,
.woocommerce-cart table.shop_table.cart .product-subtotal { white-space: nowrap !important; color: var(--color-dark) !important; font-weight: 700 !important; }
.woocommerce-checkout table.shop_table.cart .product-price .amount,
.woocommerce-cart table.shop_table.cart .product-price .amount { color: var(--color-primary) !important; font-size: 1.15rem !important; font-weight: 800 !important; }
.woocommerce-checkout table.shop_table.cart .quantity,
.woocommerce-cart table.shop_table.cart .quantity { display: flex !important; justify-content: center !important; }
.woocommerce-checkout table.shop_table.cart .quantity input.qty,
.woocommerce-cart table.shop_table.cart .quantity input.qty { width: 68px !important; height: 23px !important; min-height: 23px !important; padding: 0 .35rem !important; border: 1px solid rgba(15, 23, 42, .14) !important; border-radius: 0 !important; background: #fff !important; color: var(--color-dark) !important; font-size: 1rem !important; font-weight: 700 !important; text-align: center !important; box-shadow: none !important; }
.woocommerce-checkout table.shop_table.cart td.actions,
.woocommerce-cart table.shop_table.cart td.actions { padding: 1.1rem 0 0 !important; border: 0 !important; }
.woocommerce-checkout table.shop_table.cart td.actions .coupon,
.woocommerce-cart table.shop_table.cart td.actions .coupon { display: grid !important; grid-template-columns: minmax(220px, 1fr) auto !important; gap: .75rem !important; align-items: center !important; width: 100% !important; max-width: 620px !important; float: none !important; margin: 0 !important; }
.woocommerce-checkout table.shop_table.cart td.actions .coupon label,
.woocommerce-cart table.shop_table.cart td.actions .coupon label { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(1px, 1px, 1px, 1px) !important; }
.woocommerce-checkout table.shop_table.cart td.actions .coupon .input-text,
.woocommerce-cart table.shop_table.cart td.actions .coupon .input-text { width: 100% !important; min-height: 48px !important; margin: 0 !important; padding: .65rem 1rem !important; border: 1px solid rgba(15, 23, 42, .12) !important; border-radius: 12px !important; background: #fff !important; box-shadow: none !important; }
.woocommerce-checkout table.shop_table.cart td.actions .button,
.woocommerce-cart table.shop_table.cart td.actions .button { width: auto !important; min-width: 0 !important; min-height: 48px !important; margin: 0 !important; padding: .68rem 1.35rem !important; border: 0 !important; border-radius: 12px !important; background: var(--color-primary) !important; color: #fff !important; font-size: .92rem !important; font-weight: 800 !important; line-height: 1.2 !important; text-align: center !important; white-space: nowrap !important; }
.woocommerce-checkout table.shop_table.cart td.actions > .button[name="update_cart"],
.woocommerce-cart table.shop_table.cart td.actions > .button[name="update_cart"] { float: right !important; margin-top: -48px !important; background: var(--color-dark) !important; }
.woocommerce-checkout table.shop_table.cart td.actions .button:disabled,
.woocommerce-cart table.shop_table.cart td.actions .button:disabled { opacity: .45 !important; cursor: not-allowed !important; }
.woocommerce-checkout .cart-collaterals,
.woocommerce-cart .cart-collaterals { margin-top: 1.5rem !important; }
@media (max-width: 900px) { .woocommerce-checkout table.shop_table.cart, .woocommerce-cart table.shop_table.cart { display: block !important; overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; } .woocommerce-checkout table.shop_table.cart td.actions .coupon, .woocommerce-cart table.shop_table.cart td.actions .coupon { max-width: none !important; } .woocommerce-checkout table.shop_table.cart td.actions > .button[name="update_cart"], .woocommerce-cart table.shop_table.cart td.actions > .button[name="update_cart"] { float: none !important; display: block !important; width: 100% !important; margin: .75rem 0 0 !important; } }
@media (max-width: 600px) { .woocommerce-checkout table.shop_table.cart td.actions .coupon, .woocommerce-cart table.shop_table.cart td.actions .coupon { grid-template-columns: 1fr !important; } .woocommerce-checkout table.shop_table.cart td.actions .coupon .button, .woocommerce-cart table.shop_table.cart td.actions .coupon .button { width: 100% !important; } }
/* === Classic checkout final polish === */
.woocommerce-checkout .checkout_coupon,
.woocommerce-checkout .woocommerce-form-coupon-toggle { display: none !important; }
.woocommerce-checkout .woocommerce { max-width: 100% !important; }
.woocommerce-checkout form.checkout { display: grid !important; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .72fr) !important; gap: 2rem !important; align-items: start !important; }
.woocommerce-checkout form.checkout::before,
.woocommerce-checkout form.checkout::after { display: none !important; content: none !important; }
.woocommerce-checkout #customer_details { display: block !important; grid-column: 1 !important; }
.woocommerce-checkout #customer_details::before,
.woocommerce-checkout #customer_details::after { display: none !important; content: none !important; }
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 { float: none !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
.woocommerce-checkout #customer_details .col-2,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout #order_comments_field,
.woocommerce-checkout #billing_state_field,
.woocommerce-checkout #shipping_state_field { display: none !important; }
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review { grid-column: 2 !important; }
.woocommerce-checkout #order_review_heading { margin: 0 0 .85rem !important; font-size: clamp(1.45rem, 2.6vw, 2rem) !important; line-height: 1.15 !important; }
.woocommerce-checkout #order_review { margin: 0 !important; padding: 1.35rem !important; border: 1px solid rgba(15, 23, 42, .1) !important; border-radius: 18px !important; background: #fff !important; box-shadow: 0 14px 36px rgba(15, 23, 42, .055) !important; }
.woocommerce-checkout h3 { color: var(--color-dark) !important; font-size: clamp(1.25rem, 2vw, 1.65rem) !important; line-height: 1.2 !important; }
.woocommerce-checkout .form-row { margin: 0 0 1rem !important; padding: 0 !important; }
.woocommerce-checkout .form-row label { margin: 0 0 .45rem !important; color: var(--color-dark) !important; font-size: .94rem !important; line-height: 1.25 !important; font-weight: 800 !important; }
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .select2-container .select2-selection--single { width: 100% !important; min-height: 48px !important; padding: .65rem .8rem !important; border: 1px solid rgba(15, 23, 42, .14) !important; border-radius: 10px !important; background: #fff !important; box-shadow: none !important; color: var(--color-dark) !important; font-size: .98rem !important; line-height: 1.35 !important; }
.woocommerce-checkout .form-row textarea { min-height: 86px !important; resize: vertical !important; }
.woocommerce-checkout .form-row select.select2-hidden-accessible { position: absolute !important; width: 1px !important; height: 1px !important; min-height: 0 !important; padding: 0 !important; border: 0 !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; }
.woocommerce-checkout .select2-container .select2-selection--single { display: flex !important; align-items: center !important; }
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered { padding: 0 !important; color: var(--color-dark) !important; line-height: 1.35 !important; }
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow { top: 50% !important; right: .65rem !important; transform: translateY(-50%) !important; }
.woocommerce-checkout .form-row input:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .select2-container--open .select2-selection--single { border-color: var(--color-primary) !important; box-shadow: 0 0 0 3px rgba(101, 190, 191, .14) !important; outline: none !important; }
.woocommerce-checkout .koderma-cdek-city-field { position: relative !important; z-index: 20 !important; }
.woocommerce-checkout .koderma-cdek-city-suggest { position: absolute !important; top: calc(100% + 7px) !important; left: 0 !important; right: 0 !important; z-index: 80 !important; display: none !important; max-height: 280px !important; overflow: auto !important; padding: .45rem !important; border: 1px solid rgba(15, 23, 42, .12) !important; border-radius: 14px !important; background: #fff !important; box-shadow: 0 18px 42px rgba(15, 23, 42, .13) !important; }
.woocommerce-checkout .koderma-cdek-city-suggest.is-open { display: grid !important; gap: .25rem !important; }
.woocommerce-checkout .koderma-cdek-city-trigger { display: inline-flex !important; align-items: center !important; gap: .35rem !important; margin: .45rem 0 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; color: var(--color-primary-dark, #3f9fa0) !important; font-size: .88rem !important; font-weight: 800 !important; line-height: 1.2 !important; cursor: pointer !important; }
.woocommerce-checkout .koderma-cdek-city-trigger::after { content: "↓" !important; font-size: .78rem !important; line-height: 1 !important; }
.woocommerce-checkout .koderma-cdek-city-trigger:hover,
.woocommerce-checkout .koderma-cdek-city-trigger:focus { color: var(--color-primary, #65bebf) !important; outline: none !important; }
.woocommerce-checkout .koderma-cdek-city-option { display: grid !important; width: 100% !important; min-height: 46px !important; padding: .55rem .7rem !important; border: 0 !important; border-radius: 10px !important; background: transparent !important; color: var(--color-dark) !important; text-align: left !important; cursor: pointer !important; }
.woocommerce-checkout .koderma-cdek-city-option:hover,
.woocommerce-checkout .koderma-cdek-city-option:focus { background: rgba(101, 190, 191, .12) !important; outline: none !important; }
.woocommerce-checkout .koderma-cdek-city-loading { padding: .45rem .7rem .3rem !important; color: var(--color-gray-dark) !important; font-size: .82rem !important; line-height: 1.25 !important; }
.woocommerce-checkout .koderma-cdek-city-title { font-size: .97rem !important; font-weight: 850 !important; line-height: 1.25 !important; }
.woocommerce-checkout .koderma-cdek-city-region { color: var(--color-gray-dark) !important; font-size: .82rem !important; line-height: 1.25 !important; }
.woocommerce-checkout .woocommerce-checkout-review-order-table { width: 100% !important; margin: 0 0 1rem !important; border: 0 !important; border-collapse: collapse !important; background: transparent !important; }
.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table td { padding: .85rem 0 !important; border: 0 !important; border-bottom: 1px solid rgba(15, 23, 42, .08) !important; background: transparent !important; color: var(--color-dark) !important; font-size: .96rem !important; line-height: 1.35 !important; vertical-align: top !important; }
.woocommerce-checkout .woocommerce-checkout-review-order-table th:last-child,
.woocommerce-checkout .woocommerce-checkout-review-order-table td:last-child { text-align: right !important; }
.woocommerce-checkout .woocommerce-checkout-review-order-table thead th { padding-top: 0 !important; font-size: .78rem !important; font-weight: 800 !important; letter-spacing: .08em !important; text-transform: uppercase !important; }
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td { border-bottom: 0 !important; font-size: 1.18rem !important; font-weight: 900 !important; }
.woocommerce-checkout #payment { margin: 1rem 0 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; }
.woocommerce-checkout #payment ul.payment_methods { margin: 0 0 1rem !important; padding: 0 !important; border: 0 !important; list-style: none !important; }
.woocommerce-checkout #payment ul.payment_methods li { position: relative !important; display: grid !important; grid-template-columns: 22px minmax(0, 1fr) !important; gap: .75rem !important; align-items: center !important; margin: 0 !important; padding: 1rem !important; border: 1px solid rgba(15, 23, 42, .12) !important; border-radius: 14px !important; background: #fff !important; box-shadow: 0 8px 22px rgba(15, 23, 42, .045) !important; list-style: none !important; opacity: 1 !important; }
.woocommerce-checkout #payment ul.payment_methods li::before { content: none !important; }
.woocommerce-checkout #payment ul.payment_methods input.input-radio { position: static !important; width: 18px !important; height: 18px !important; margin: 0 !important; }
.woocommerce-checkout #payment ul.payment_methods label { display: grid !important; grid-template-columns: minmax(0, 1fr) auto !important; align-items: center !important; gap: .55rem !important; width: 100% !important; margin: 0 !important; color: var(--color-dark) !important; font-weight: 800 !important; line-height: 1.3 !important; }
.woocommerce-checkout #payment ul.payment_methods label img { max-width: 54px !important; max-height: 28px !important; margin: 0 !important; object-fit: contain !important; justify-self: end !important; }
.woocommerce-checkout #payment div.payment_box { grid-column: 1 / -1 !important; margin: .1rem 0 0 !important; padding: 0 !important; background: transparent !important; color: var(--color-gray-dark) !important; font-size: .92rem !important; line-height: 1.45 !important; opacity: 1 !important; }
.woocommerce-checkout #payment div.payment_box p { margin: 0 !important; }
.woocommerce-checkout #payment div.payment_box::before { content: none !important; }
.woocommerce-checkout #payment .place-order { margin: 0 !important; padding: 0 !important; }
.woocommerce-checkout #payment .woocommerce-privacy-policy-text { margin: 0 0 1rem !important; color: var(--color-gray-dark) !important; font-size: .9rem !important; line-height: 1.5 !important; }
.woocommerce-checkout #payment #place_order,
.woocommerce-checkout button#place_order { float: none !important; width: 100% !important; min-height: 52px !important; margin: 0 !important; padding: .85rem 1.2rem !important; border: 0 !important; border-radius: 12px !important; background: var(--color-primary) !important; color: #fff !important; font-size: 1rem !important; font-weight: 900 !important; line-height: 1.2 !important; text-align: center !important; opacity: 1 !important; }
.woocommerce-checkout #payment #place_order:hover,
.woocommerce-checkout button#place_order:hover { background: var(--color-primary-dark) !important; }
.woocommerce-checkout #ship-to-different-address { margin: 0 0 1rem !important; font-size: clamp(1.2rem, 2vw, 1.55rem) !important; line-height: 1.2 !important; }
.woocommerce-checkout #ship-to-different-address label { display: inline-flex !important; align-items: center !important; gap: .65rem !important; margin: 0 !important; }
.woocommerce-checkout #ship-to-different-address input { width: 18px !important; height: 18px !important; margin: 0 !important; }
@media (max-width: 1100px) { .woocommerce-checkout form.checkout { grid-template-columns: 1fr !important; } .woocommerce-checkout #customer_details, .woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { grid-column: 1 !important; } }
@media (max-width: 780px) { .woocommerce-checkout #customer_details { grid-template-columns: 1fr !important; } .woocommerce-checkout #order_review { padding: 1rem !important; } }
/* === Classic checkout layout correction: keep order summary at the top === */
.woocommerce-checkout form.checkout { grid-template-columns: minmax(0, 1fr) minmax(360px, 520px) !important; grid-template-rows: auto auto !important; grid-template-areas: "details order-title" "details order-box" !important; column-gap: 2rem !important; row-gap: .85rem !important; }
.woocommerce-checkout #customer_details { grid-area: details !important; align-self: start !important; }
.woocommerce-checkout #order_review_heading { grid-area: order-title !important; align-self: end !important; margin: 0 !important; }
.woocommerce-checkout #order_review { grid-area: order-box !important; align-self: start !important; position: sticky !important; top: 1rem !important; }
.woocommerce-checkout .woocommerce-checkout-review-order-table .shipping td { text-align: left !important; }
.woocommerce-checkout .woocommerce-checkout-review-order-table .shipping td,
.woocommerce-checkout .woocommerce-checkout-review-order-table .shipping td * { font-size: .92rem !important; line-height: 1.35 !important; }
.woocommerce-checkout .woocommerce-checkout-review-order-table .shipping ul#shipping_method,
.woocommerce-checkout .woocommerce-checkout-review-order-table .shipping .woocommerce-shipping-methods { display: grid !important; gap: .55rem !important; margin: .15rem 0 0 !important; padding: 0 !important; list-style: none !important; }
.woocommerce-checkout .woocommerce-checkout-review-order-table .shipping ul#shipping_method li,
.woocommerce-checkout .woocommerce-checkout-review-order-table .shipping .woocommerce-shipping-methods li { position: relative !important; display: grid !important; grid-template-columns: 18px minmax(0, 1fr) !important; align-items: start !important; gap: .55rem !important; margin: 0 !important; padding: .7rem .75rem !important; border: 1px solid rgba(15, 23, 42, .1) !important; border-radius: 12px !important; background: #f8fcfc !important; color: var(--color-dark) !important; list-style: none !important; opacity: 1 !important; }
.woocommerce-checkout .woocommerce-checkout-review-order-table .shipping ul#shipping_method li::before,
.woocommerce-checkout .woocommerce-checkout-review-order-table .shipping .woocommerce-shipping-methods li::before { content: none !important; }
.woocommerce-checkout .woocommerce-checkout-review-order-table .shipping input.shipping_method { width: 16px !important; height: 16px !important; margin: .12rem 0 0 !important; accent-color: var(--color-primary) !important; }
.woocommerce-checkout .woocommerce-checkout-review-order-table .shipping label { display: block !important; margin: 0 !important; color: var(--color-dark) !important; font-weight: 700 !important; opacity: 1 !important; }
.woocommerce-checkout .koderma-shipping-label-main,
.woocommerce-checkout .koderma-shipping-label-cost { display: block !important; }
.woocommerce-checkout .koderma-shipping-label-main { font-size: .92rem !important; font-weight: 850 !important; }
.woocommerce-checkout .koderma-shipping-label-cost { margin-top: .15rem !important; color: var(--color-primary) !important; font-size: .95rem !important; font-weight: 900 !important; }
.woocommerce-checkout .woocommerce-checkout-review-order-table .shipping label .amount { display: inline-block !important; margin-left: .2rem !important; color: var(--color-primary) !important; font-weight: 900 !important; }
.woocommerce-checkout .open-pvz-btn { display: inline-flex !important; align-items: center !important; justify-content: center !important; grid-column: 1 / -1 !important; width: 100% !important; min-height: 40px !important; margin: .6rem 0 0 !important; padding: .65rem .9rem !important; border: 0 !important; border-radius: 12px !important; background: var(--color-primary) !important; box-shadow: none !important; color: #fff !important; font-size: .9rem !important; font-weight: 900 !important; line-height: 1.15 !important; text-decoration: none !important; }
.woocommerce-checkout .open-pvz-btn:hover { background: var(--color-primary-dark) !important; }
.woocommerce-checkout .open-pvz-btn a { color: inherit !important; text-decoration: none !important; }
.woocommerce-checkout .cdek-office-info { grid-column: 1 / -1 !important; margin: .5rem 0 0 !important; padding: .65rem .75rem !important; border: 1px solid rgba(101, 190, 191, .25) !important; border-radius: 12px !important; background: rgba(101, 190, 191, .1) !important; color: var(--color-dark) !important; font-size: .88rem !important; line-height: 1.35 !important; }
.woocommerce-checkout .woocommerce-checkout-review-order-table .shipping li:has(.open-pvz-btn) { border-color: rgba(101, 190, 191, .32) !important; background: rgba(101, 190, 191, .08) !important; }
.woocommerce-checkout .koderma-checkout-line-controls { display: inline-flex !important; align-items: center !important; gap: .5rem !important; margin-top: .45rem !important; }
.woocommerce-checkout .koderma-checkout-qty { display: inline-grid !important; grid-template-columns: 28px 34px 28px !important; align-items: center !important; min-height: 30px !important; border: 1px solid rgba(15, 23, 42, .12) !important; border-radius: 12px !important; background: #fff !important; overflow: hidden !important; }
.woocommerce-checkout .koderma-checkout-qty-btn { width: 28px !important; height: 30px !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; color: var(--color-dark) !important; font-size: 1rem !important; font-weight: 900 !important; line-height: 1 !important; cursor: pointer !important; }
.woocommerce-checkout .koderma-checkout-qty-btn:hover { background: rgba(101, 190, 191, .14) !important; }
.woocommerce-checkout .koderma-checkout-qty-btn:disabled { opacity: .38 !important; cursor: not-allowed !important; }
.woocommerce-checkout .koderma-checkout-qty-value { text-align: center !important; font-size: .92rem !important; font-weight: 900 !important; color: var(--color-dark) !important; }
.woocommerce-checkout .koderma-checkout-remove { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 30px !important; height: 30px !important; border-radius: 12px !important; background: #fff1f1 !important; color: #b42318 !important; font-size: 1.1rem !important; font-weight: 900 !important; text-decoration: none !important; }
.woocommerce-checkout .koderma-checkout-remove:hover { background: #ffe2e2 !important; color: #8f1d14 !important; }
.woocommerce-checkout .koderma-checkout-line-controls.is-updating { opacity: .55 !important; pointer-events: none !important; }
.woocommerce-checkout .woocommerce-checkout-review-order-table .shipping .woocommerce-shipping-destination,
.woocommerce-checkout .woocommerce-checkout-review-order-table .shipping .woocommerce-shipping-calculator { display: none !important; }
.woocommerce-checkout .woocommerce-info:has(.debug-info) { display: none !important; }
.woocommerce-checkout [name*="passport"],
.woocommerce-checkout [id*="passport"],
.woocommerce-checkout [name*="tin"],
.woocommerce-checkout [id*="tin"],
.woocommerce-checkout .form-row:has([name*="passport"]),
.woocommerce-checkout .form-row:has([id*="passport"]),
.woocommerce-checkout .form-row:has([name*="tin"]),
.woocommerce-checkout .form-row:has([id*="tin"]) { display: none !important; }
.woocommerce-checkout .cdek-widget__popup,
.woocommerce-checkout [id*="cdek"][id*="map"] { min-height: 520px !important; }
.cdek-map { min-height: 0 !important; height: 0 !important; overflow: visible !important; }
@media (max-width: 1100px) { .woocommerce-checkout form.checkout { grid-template-columns: 1fr !important; grid-template-areas: "details" "order-title" "order-box" !important; } .woocommerce-checkout #order_review { position: static !important; } }
/* === KOD|ERMA final polish: catalog cards, category text, checkout dropdown === */
@media (min-width: 992px) { .hero-slider .hero-slide-title { font-size: clamp(2.15rem, 3.65vw, 4.25rem) !important; line-height: .98 !important; } }
.koderma-category-intro { max-width: 980px !important; margin: 0 0 2rem !important; padding: 1.15rem 1.25rem !important; border: 1px solid rgba(101, 190, 191, .22) !important; border-left: 5px solid var(--color-primary) !important; border-radius: 14px !important; background: linear-gradient(135deg, rgba(101, 190, 191, .11), rgba(255,255,255,.86)) !important; color: var(--color-dark) !important; box-shadow: 0 14px 32px rgba(15, 23, 42, .045) !important; }
.koderma-category-intro p,
.koderma-category-intro ul,
.koderma-category-intro ol { margin: 0 0 .7rem !important; color: inherit !important; font-size: 1rem !important; line-height: 1.65 !important; }
.koderma-category-intro > :last-child { margin-bottom: 0 !important; }
.woocommerce ul.products,
.woocommerce-page ul.products,
.products-section .woocommerce ul.products { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important; gap: 1.35rem !important; align-items: stretch !important; }
.products-section .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.woocommerce ul.products li.product .product-card,
.woocommerce-page ul.products li.product .product-card { display: flex !important; flex-direction: column !important; height: 100% !important; min-height: 0 !important; padding: 0 !important; border-radius: 16px !important; overflow: hidden !important; }
.woocommerce ul.products li.product .product-link,
.woocommerce-page ul.products li.product .product-link,
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link { display: flex !important; flex-direction: column !important; flex: 1 1 auto !important; min-height: 0 !important; }
.woocommerce ul.products li.product .product-image-wrapper,
.woocommerce-page ul.products li.product .product-image-wrapper { aspect-ratio: 1 / 1 !important; min-height: 0 !important; max-height: none !important; padding: 0 !important; background: transparent !important; }
.woocommerce ul.products li.product .product-image-wrapper img,
.woocommerce-page ul.products li.product .product-image-wrapper img,
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link img,
.woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link img { object-fit: cover !important; object-position: center !important; }
.woocommerce ul.products li.product .product-card-content,
.woocommerce-page ul.products li.product .product-card-content { display: flex !important; flex-direction: column !important; flex: 1 1 auto !important; padding: 1rem 1.1rem .25rem !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title { min-height: 2.55em !important; margin: 0 0 .42rem !important; font-size: 1rem !important; line-height: 1.28 !important; overflow-wrap: anywhere !important; }
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price { margin-top: auto !important; font-size: 1.12rem !important; line-height: 1.15 !important; }
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button,
.woocommerce ul.products li.product .koderma-details-button,
.woocommerce-page ul.products li.product .koderma-details-button { flex: 0 0 auto !important; margin: .75rem 1.1rem 1.05rem !important; width: calc(100% - 2.2rem) !important; transform: none !important; }
.products-section .woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 2.55em !important; }
.products-section .woocommerce ul.products li.product .product-image-wrapper { aspect-ratio: 1 / .9 !important; }
.woocommerce-checkout .koderma-cdek-city-suggest { top: calc(100% + 6px) !important; max-height: 310px !important; padding: .5rem !important; }
.woocommerce-checkout .koderma-cdek-city-option { grid-template-columns: 1fr auto !important; align-items: center !important; gap: .75rem !important; min-height: 52px !important; padding: .7rem .85rem !important; }
.woocommerce-checkout .koderma-cdek-city-title::before { content: "Выбрать"; display: inline-flex; align-items: center; justify-content: center; margin-right: .55rem; padding: .18rem .45rem; border-radius: 999px; background: rgba(101, 190, 191, .14); color: var(--color-primary-dark); font-size: .72rem; font-weight: 850; vertical-align: middle; }
.woocommerce-checkout #payment ul.payment_methods li,
.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods li { position: relative !important; display: block !important; padding: 1rem !important; }
.woocommerce-checkout #payment ul.payment_methods li label,
.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods li label { display: flex !important; align-items: center !important; flex-wrap: wrap !important; gap: .75rem !important; width: 100% !important; min-height: 42px !important; margin: 0 !important; padding: 0 !important; line-height: 1.25 !important; }
.woocommerce-checkout #payment ul.payment_methods li label::after,
.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods li label::after { content: "" !important; display: block !important; flex-basis: 100% !important; height: 0 !important; }
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"],
.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods li input[type="radio"] { flex: 0 0 auto !important; margin: 0 !important; }
.woocommerce-checkout #payment ul.payment_methods li label img,
.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods li label img { margin-left: auto !important; transform: none !important; max-width: 46px !important; max-height: 26px !important; object-fit: contain !important; }
.woocommerce-checkout #payment div.payment_box,
.woocommerce-checkout .woocommerce-checkout-payment div.payment_box { display: block !important; width: 100% !important; margin: .65rem 0 0 !important; padding: 0 !important; background: transparent !important; color: var(--color-gray-dark) !important; clear: both !important; grid-column: 1 / -1 !important; font-weight: 500 !important; opacity: 1 !important; }
.woocommerce-checkout #payment div.payment_box p,
.woocommerce-checkout .woocommerce-checkout-payment div.payment_box p { margin: 0 !important; }
.woocommerce-checkout #payment div.payment_box::before,
.woocommerce-checkout .woocommerce-checkout-payment div.payment_box::before { display: none !important; content: none !important; }
@media (max-width: 991px) { .products-section .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 520px) { .woocommerce ul.products, .woocommerce-page ul.products, .products-section .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: .75rem !important; } .woocommerce ul.products li.product .product-card-content, .woocommerce-page ul.products li.product .product-card-content { padding: .75rem .75rem .2rem !important; } .woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce-page ul.products li.product .woocommerce-loop-product__title { font-size: .84rem !important; min-height: 3.1em !important; } .woocommerce ul.products li.product .price, .woocommerce-page ul.products li.product .price { font-size: .95rem !important; } .woocommerce ul.products li.product .button, .woocommerce-page ul.products li.product .button, .woocommerce ul.products li.product .koderma-details-button, .woocommerce-page ul.products li.product .koderma-details-button { width: calc(100% - 1.5rem) !important; margin: .6rem .75rem .8rem !important; font-size: .82rem !important; } }
/* === Unified product cards: shop, homepage, recommendations, related === */
.woocommerce ul.products,
.woocommerce-page ul.products,
.products-section .woocommerce ul.products,
.woocommerce .related.products ul.products,
.woocommerce .upsells.products ul.products { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 1.5rem !important; align-items: stretch !important; margin: 0 0 2rem !important; padding: 0 !important; }
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after { display: none !important; content: none !important; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce .related.products ul.products li.product,
.woocommerce .upsells.products ul.products li.product { float: none !important; width: auto !important; min-width: 0 !important; height: 100% !important; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.woocommerce ul.products li.product .product-card,
.woocommerce-page ul.products li.product .product-card,
.woocommerce .related.products ul.products li.product .product-card,
.woocommerce .upsells.products ul.products li.product .product-card,
.woocommerce ul.products li.product:not(:has(.product-card)),
.woocommerce-page ul.products li.product:not(:has(.product-card)),
.woocommerce .related.products ul.products li.product:not(:has(.product-card)),
.woocommerce .upsells.products ul.products li.product:not(:has(.product-card)),
.koderma-fb-card { display: flex !important; flex-direction: column !important; height: 100% !important; min-height: 0 !important; padding: 0 !important; border: 1px solid rgba(15, 23, 42, .08) !important; border-radius: 18px !important; background: #fff !important; box-shadow: 0 12px 34px rgba(15, 23, 42, .055) !important; overflow: hidden !important; transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important; }
.woocommerce ul.products li.product .product-card:hover,
.woocommerce-page ul.products li.product .product-card:hover,
.woocommerce ul.products li.product:not(:has(.product-card)):hover,
.woocommerce-page ul.products li.product:not(:has(.product-card)):hover,
.koderma-fb-card:hover { border-color: rgba(101, 190, 191, .38) !important; box-shadow: 0 18px 42px rgba(15, 23, 42, .08) !important; transform: translateY(-3px) !important; }
.woocommerce ul.products li.product .product-link,
.woocommerce-page ul.products li.product .product-link,
.woocommerce .related.products ul.products li.product .product-link,
.woocommerce .upsells.products ul.products li.product .product-link,
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce .related.products ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce .upsells.products ul.products li.product a.woocommerce-LoopProduct-link,
.koderma-fb-link { display: flex !important; flex-direction: column !important; flex: 1 1 auto !important; min-height: 0 !important; color: inherit !important; text-decoration: none !important; }
.woocommerce ul.products li.product .product-image-wrapper,
.woocommerce-page ul.products li.product .product-image-wrapper,
.woocommerce .related.products ul.products li.product .product-image-wrapper,
.woocommerce .upsells.products ul.products li.product .product-image-wrapper { display: block !important; width: 100% !important; aspect-ratio: 1 / 1 !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border-radius: 0 !important; background: transparent !important; border: none !important; overflow: hidden !important; }
.koderma-fb-img { display: flex !important; align-items: center !important; justify-content: center !important; overflow: hidden !important; }
.woocommerce ul.products li.product .product-image-wrapper img,
.woocommerce-page ul.products li.product .product-image-wrapper img,
.woocommerce .related.products ul.products li.product .product-image-wrapper img,
.woocommerce .upsells.products ul.products li.product .product-image-wrapper img,
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link > img,
.woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link > img { width: 100% !important; height: 100% !important; max-height: 100% !important; margin: 0 !important; object-fit: cover !important; object-position: center !important; border-radius: 0 !important; background: transparent !important; transform: none !important; }
.koderma-fb-img img { width: 100% !important; height: 100% !important; object-fit: contain !important; border-radius: 12px !important; }
.woocommerce ul.products li.product .product-card-content,
.woocommerce-page ul.products li.product .product-card-content { display: flex !important; flex-direction: column !important; flex: 1 1 auto !important; min-height: 0 !important; padding: 0 !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
.woocommerce .related.products ul.products li.product .woocommerce-loop-product__title,
.woocommerce .upsells.products ul.products li.product .woocommerce-loop-product__title,
.koderma-fb-name { display: block !important; min-height: 2.65em !important; margin: 0 0 .75rem !important; padding: 0 !important; color: var(--color-black, #0f172a) !important; font-family: var(--font-primary, inherit) !important; font-size: 1.05rem !important; font-weight: 850 !important; line-height: 1.28 !important; letter-spacing: 0 !important; overflow-wrap: anywhere !important; hyphens: auto !important; }
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price,
.woocommerce .related.products ul.products li.product .price,
.woocommerce .upsells.products ul.products li.product .price,
.koderma-fb-price { display: block !important; margin: auto 0 1rem !important; padding: 0 !important; color: var(--color-primary, #65bebf) !important; font-size: 1.18rem !important; font-weight: 850 !important; line-height: 1.15 !important; letter-spacing: 0 !important; }
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button,
.woocommerce .related.products ul.products li.product .button,
.woocommerce .upsells.products ul.products li.product .button,
.woocommerce ul.products li.product .koderma-details-button,
.woocommerce-page ul.products li.product .koderma-details-button,
.koderma-fb-card .button { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 100% !important; min-height: 44px !important; margin: 0 !important; padding: .72rem 1rem !important; border: 0 !important; border-radius: 12px !important; background: var(--color-primary, #65bebf) !important; color: #fff !important; font-size: .98rem !important; font-weight: 850 !important; line-height: 1.15 !important; text-align: center !important; box-shadow: none !important; transform: none !important; }
.woocommerce ul.products li.product .button:hover,
.woocommerce-page ul.products li.product .button:hover,
.woocommerce .related.products ul.products li.product .button:hover,
.woocommerce .upsells.products ul.products li.product .button:hover,
.koderma-fb-card .button:hover { background: var(--color-primary-dark, #3f9697) !important; color: #fff !important; transform: none !important; }
.woocommerce .related.products,
.woocommerce .upsells.products,
.koderma-frequently-bought { overflow: hidden !important; }
.koderma-frequently-bought .swiper-slide { height: auto !important; }
.koderma-frequently-bought .swiper-button-prev,
.koderma-frequently-bought .swiper-button-next { width: 42px !important; height: 42px !important; border-radius: 50% !important; background: #fff !important; color: var(--color-primary, #65bebf) !important; box-shadow: 0 10px 24px rgba(15, 23, 42, .12) !important; }
@media (max-width: 1180px) { .woocommerce ul.products, .woocommerce-page ul.products, .products-section .woocommerce ul.products, .woocommerce .related.products ul.products, .woocommerce .upsells.products ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 840px) { .woocommerce ul.products, .woocommerce-page ul.products, .products-section .woocommerce ul.products, .woocommerce .related.products ul.products, .woocommerce .upsells.products ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 1rem !important; } }
@media (max-width: 520px) { .woocommerce ul.products, .woocommerce-page ul.products, .products-section .woocommerce ul.products, .woocommerce .related.products ul.products, .woocommerce .upsells.products ul.products { gap: .75rem !important; } .woocommerce ul.products li.product .product-card, .woocommerce-page ul.products li.product .product-card, .woocommerce ul.products li.product:not(:has(.product-card)), .woocommerce-page ul.products li.product:not(:has(.product-card)), .koderma-fb-card { padding: 0 !important; border-radius: 14px !important; } .woocommerce ul.products li.product .product-image-wrapper, .woocommerce-page ul.products li.product .product-image-wrapper { margin-bottom: 0 !important; padding: 0 !important; border-radius: 0 !important; background: transparent !important; } .woocommerce ul.products li.product a.woocommerce-LoopProduct-link > img, .woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link > img { padding: 0 !important; border-radius: 0 !important; } .koderma-fb-img { border-radius: 12px !important; } .woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce-page ul.products li.product .woocommerce-loop-product__title, .koderma-fb-name { min-height: 3.15em !important; margin-bottom: .55rem !important; font-size: .86rem !important; } .woocommerce ul.products li.product .price, .woocommerce-page ul.products li.product .price, .koderma-fb-price { margin-bottom: .75rem !important; font-size: .98rem !important; } .woocommerce ul.products li.product .button, .woocommerce-page ul.products li.product .button, .koderma-fb-card .button { min-height: 38px !important; padding: .55rem .65rem !important; font-size: .82rem !important; } }
/* ======================================================
CF7 acceptance checkbox — gap + size
====================================================== */
.wpcf7-acceptance .wpcf7-list-item { display: flex; align-items: flex-start; gap: 0.75rem; margin: 0; }
.wpcf7-acceptance input[type="checkbox"] { margin-top: 0.2rem; width: 18px; height: 18px; flex-shrink: 0; cursor: pointer; }
.wpcf7-acceptance .wpcf7-list-item-label { font-size: 0.85rem; color: var(--color-text-muted); line-height: 1.5; }
/* CF7 textarea в формах на сайте — меньше по высоте */
.contact-card .wpcf7-textarea,
.modal-content .wpcf7-textarea { min-height: unset !important; height: 80px !important; resize: vertical; }
/* CF7 форма внутри модалки — стиль полей */
.modal-form-wrap .wpcf7 form { display: grid; gap: 1rem; }
.modal-form-wrap .cf7-row { display: flex; flex-direction: column; gap: 0.35rem; }
.modal-form-wrap label { font-size: 0.9rem; font-weight: 600; color: var(--color-dark, #1a1a2e); }
.modal-form-wrap input[type="text"],
.modal-form-wrap input[type="tel"],
.modal-form-wrap input[type="email"],
.modal-form-wrap textarea { width: 100%; padding: 0.75rem 1rem; border: 1px solid var(--color-border); border-radius: var(--radius-sm, 8px); font-size: 1rem; font-family: var(--font-primary); background: var(--color-white, #fff); transition: border-color .2s; }
.modal-form-wrap input[type="text"]:focus,
.modal-form-wrap input[type="tel"]:focus,
.modal-form-wrap input[type="email"]:focus,
.modal-form-wrap textarea:focus { outline: none; border-color: var(--color-primary); box-shadow: 0 0 0 3px rgba(74,155,159,.2); }
.modal-form-wrap .wpcf7-submit { display: block; width: 100%; border-radius: 999px; padding: 0.85rem 2rem; background-color: var(--color-primary); color: #fff; border: none; font-weight: 600; font-size: 1rem; cursor: pointer; transition: background-color .2s; margin-top: 0.5rem; }
.modal-form-wrap .wpcf7-submit:hover { background-color: var(--color-primary-dark, #3a8d90); }
/* Страница контактов — двухколоночный лейаут */
.contacts-two-col { display: grid; grid-template-columns: 1fr 340px; gap: 3rem; align-items: start; }
.contacts-sidebar { display: flex; flex-direction: column; gap: 1.25rem; position: sticky; top: 2rem; }
.contacts-sidebar .contact-info-card { background: var(--color-surface-alt, #f5f7fa); border-radius: var(--radius-lg, 16px); padding: 1.25rem 1.5rem; display: flex; flex-direction: column; gap: 0.4rem; }
.contacts-sidebar .contact-info-card h3 { font-size: 0.85rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--color-primary, #4a9b9f); margin: 0 0 0.5rem; }
.contacts-sidebar .contact-link { font-size: 0.95rem; color: var(--color-text, #333); text-decoration: none; line-height: 1.5; }
.contacts-sidebar a.contact-link:hover { color: var(--color-primary); }
@media (max-width: 768px) { .contacts-two-col { grid-template-columns: 1fr; gap: 2rem; } .contacts-sidebar { position: static; order: -1; } }
/* CF7 на странице контактов — те же стили что и в модалке */
.contact-form-section .wpcf7 form { display: grid; gap: 1rem; max-width: 560px; }
.contact-form-section .cf7-row { display: flex; flex-direction: column; gap: 0.35rem; }
.contact-form-section label { font-size: 0.9rem; font-weight: 600; color: var(--color-dark, #1a1a2e); }
.contact-form-section input[type="text"],
.contact-form-section input[type="tel"],
.contact-form-section input[type="email"],
.contact-form-section textarea { width: 100%; padding: 0.75rem 1rem; border: 1px solid var(--color-border); border-radius: var(--radius-sm, 8px); font-size: 1rem; font-family: var(--font-primary); background: var(--color-white, #fff); transition: border-color .2s; box-sizing: border-box; }
.contact-form-section input[type="text"]:focus,
.contact-form-section input[type="tel"]:focus,
.contact-form-section input[type="email"]:focus,
.contact-form-section textarea:focus { outline: none; border-color: var(--color-primary); box-shadow: 0 0 0 3px rgba(74,155,159,.2); }
.contact-form-section .wpcf7-submit { display: inline-block; border-radius: 999px; padding: 0.85rem 2.5rem; background-color: var(--color-primary); color: #fff; border: none; font-weight: 600; font-size: 1rem; cursor: pointer; transition: background-color .2s; margin-top: 0.5rem; }
.contact-form-section .wpcf7-submit:hover { background-color: var(--color-primary-dark, #3a8d90); }
/* Contact visual — список с контактами */
.contact-visual-list { list-style: none; margin: 1.25rem 0 0; padding: 0; display: flex; flex-direction: column; gap: 0.75rem; }
.contact-visual-list li { display: flex; align-items: center; gap: 0.6rem; font-size: 0.95rem; font-weight: 600; color: var(--color-dark, #1a1a2e); }
.contact-visual-list li svg { width: 18px; height: 18px; stroke: var(--color-primary); flex-shrink: 0; }
.contact-visual-text { font-size: 0.95rem; color: var(--color-text-muted); line-height: 1.6; margin-top: 0.5rem; }
/* ======================================================
Мобильный шрифт hero-слайдера (iPhone 390px)
====================================================== */
@media (max-width: 480px) { .hero-slider .hero-slide-title { font-size: 1.45rem; line-height: 1.15; } .hero-slider .hero-slide-subtitle { font-size: 0.9rem; } }
/* hover second image — removed per user request */
/* ======================================================
ФИНАЛЬНЫЙ OVERRIDE: карточки товаров — фото без рамок
====================================================== */
.woocommerce ul.products li.product .product-image-wrapper,
.woocommerce-page ul.products li.product .product-image-wrapper,
.woocommerce .related.products ul.products li.product .product-image-wrapper,
.woocommerce .upsells.products ul.products li.product .product-image-wrapper { display: block !important; position: relative !important; padding: 0 !important; background: transparent !important; border: none !important; border-radius: 0 !important; aspect-ratio: 1 / 1 !important; overflow: hidden !important; margin: 0 !important; }
/* Фото заполняет всю обёртку через absolute — надёжнее чем height:100% */
.woocommerce ul.products li.product .product-image-wrapper img,
.woocommerce-page ul.products li.product .product-image-wrapper img,
.woocommerce .related.products ul.products li.product .product-image-wrapper img,
.woocommerce .upsells.products ul.products li.product .product-image-wrapper img { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: center top !important; display: block !important; padding: 0 !important; margin: 0 !important; border: none !important; border-radius: 0 !important; background: transparent !important; transform: none !important; }
/* =====================================================
Фото к краям карточки — отступы только у текста
===================================================== */
/* Отступы только у текстового контента (padding перенесён с карточки на контент) */
.woocommerce ul.products li.product .product-card .product-card-content,
.woocommerce-page ul.products li.product .product-card .product-card-content,
.woocommerce .related.products ul.products li.product .product-card .product-card-content,
.woocommerce .upsells.products ul.products li.product .product-card .product-card-content { padding: .9rem 1.1rem 0 !important; }
/* Кнопка — отступы по бокам и снизу */
.woocommerce ul.products li.product .product-card .button,
.woocommerce-page ul.products li.product .product-card .button,
.woocommerce .related.products ul.products li.product .product-card .button,
.woocommerce .upsells.products ul.products li.product .product-card .button { margin: 0 1.1rem 1.1rem !important; width: calc(100% - 2.2rem) !important; box-sizing: border-box !important; }
/* =====================================================
Описание категории товаров — чистый вид
===================================================== */
.woocommerce-products-header .term-description,
.term-description { background: transparent !important; border: none !important; box-shadow: none !important; border-radius: 0 !important; padding: 0 0 0 1.2rem !important; margin: 2.5rem 0 2.5rem !important; border-left: 3px solid var(--color-primary, #65bebf) !important; color: #4b5563 !important; font-size: 0.95rem !important; line-height: 1.75 !important; max-width: 760px !important; }
.term-description p { margin-bottom: 0.6rem !important; }
.term-description p:last-child { margin-bottom: 0 !important; }
/* =====================================================
Shop filter bar — стили блока поиска/категорий
===================================================== */
.koderma-shop-tools { background: var(--color-gray-light, #f4f7fa); border: 1px solid rgba(15,23,42,.07); border-radius: 16px; padding: 1.5rem 1.75rem 1.25rem; margin-bottom: 1.75rem; }
.koderma-shop-tools__top { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem; margin-bottom: 1.1rem; }
.koderma-shop-tools__title { font-size: 1.3rem !important; font-weight: 700; color: var(--color-black, #0f172a); margin: 0 !important; line-height: 1.2; }
.koderma-shop-search { position: relative; display: flex; align-items: center; min-width: 220px; max-width: 340px; flex: 1 1 220px; }
.koderma-shop-search__icon { position: absolute; left: .85rem; width: 17px; height: 17px; pointer-events: none; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2365bebf' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='M21 21l-4.35-4.35'/%3E%3C/svg%3E") center/contain no-repeat; }
.koderma-shop-search input[type="search"] { width: 100%; padding: .55rem 1rem .55rem 2.4rem; border: 1px solid rgba(15,23,42,.15); border-radius: 50px; font-size: .92rem; background: #fff; outline: none; transition: border-color .2s; -webkit-appearance: none; box-shadow: none; }
.koderma-shop-search input[type="search"]:focus { border-color: var(--color-primary, #65bebf); }
.koderma-shop-categories { display: flex; flex-wrap: wrap; gap: .45rem; }
.koderma-shop-category { display: inline-block; padding: .38rem .95rem; font-size: .88rem; font-weight: 500; color: var(--color-black, #0f172a); background: #fff; border: 1px solid rgba(15,23,42,.12); border-radius: 50px; cursor: pointer; text-decoration: none; transition: background .18s, color .18s, border-color .18s; white-space: nowrap; }
.koderma-shop-category:hover { background: rgba(101,190,191,.1); border-color: var(--color-primary, #65bebf); color: var(--color-primary, #65bebf); text-decoration: none; }
.koderma-shop-category.is-active { background: var(--color-primary, #65bebf); color: #fff !important; border-color: var(--color-primary, #65bebf); }
/* Лоадер при AJAX фильтрации */
body.koderma-shop-loading .woocommerce ul.products,
body.koderma-shop-loading .koderma-shop-empty { opacity: .3; pointer-events: none; }
.koderma-shop-tools__title .koderma-loader { display: none; width: 16px; height: 16px; border: 2.5px solid rgba(101,190,191,.3); border-top-color: var(--color-primary, #65bebf); border-radius: 50%; animation: kd-spin .65s linear infinite; vertical-align: middle; margin-left: .5rem; }
body.koderma-shop-loading .koderma-shop-tools__title .koderma-loader { display: inline-block; }
@keyframes kd-spin { to { transform: rotate(360deg); } }
@media (max-width: 640px) { .koderma-shop-tools { padding: 1.1rem 1rem 1rem; } .koderma-shop-tools__top { flex-direction: column; align-items: flex-start; } .koderma-shop-search { min-width: 100%; max-width: 100%; } .koderma-shop-tools__title { font-size: 1.1rem !important; } }
fieldset.hidden-fields-container { border: none; }
.wpcf7-acceptance input[type="checkbox"] { margin-top: 0.2rem; width: 13px; height: 12px; flex-shrink: 0; cursor: pointer; margin-right: 5px; }
/* reduce gap between categories section and nearby sections */
.categories-list-section { padding-top: 1.5rem; padding-bottom: 2rem; }
.features-gallery-section { padding-bottom: 1.5rem; }
/* fix fb-card inner padding (unified block resets to 0) */
.koderma-fb-name { padding: 0.8rem 1rem 0 !important; }
.koderma-fb-price { padding: 0 1rem !important; }
.koderma-fb-card .button,
.koderma-fb-card .koderma-details-button { margin: 0 1rem 1rem !important; width: calc(100% - 2rem) !important; }
/* certificates desktop — less gap below */
.certificates-section.section { padding-bottom: 2rem; }
/* header-actions on mobile: logo left, cart+burger right */
@media (max-width: 991px) { .header-wrapper { padding: .7rem 0; gap: .75rem; flex-wrap: nowrap; } .site-logo { flex-shrink: 0; } .main-navigation { flex: 0 0 auto; } .header-actions { display: flex; align-items: center; gap: .6rem; margin-left: auto; } .header-contact { display: none !important; } .cart-icon { display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; min-height: 42px !important; background: var(--color-surface-alt, #eef3f8); border-radius: 10px; position: relative; } .cart-icon-svg { width: 20px; height: 20px; } }
/* benefits block on mobile — icon above, text below, compact */
@media (max-width: 640px) { .benefit-card { flex-direction: column; align-items: flex-start; gap: .6rem; padding: 1rem; } .benefits-section { padding-top: 1.5rem; padding-bottom: 1.5rem; } .benefits-grid { grid-template-columns: 1fr 1fr; gap: .75rem; } }
/* "Подробнее" button — десктоп: с отступами по бокам */
.woocommerce ul.products li.product .product-card .koderma-details-button,
.woocommerce-page ul.products li.product .product-card .koderma-details-button { display: block !important; align-self: center !important; width: calc(100% - 1.7rem) !important; min-width: 100% !important; margin: 0 0.85rem 0.85rem 0.85rem !important; text-align: center !important; white-space: nowrap !important; overflow: visible !important; font-size: 0.88rem !important; box-sizing: border-box !important; letter-spacing: 0 !important; }
/* Мобилка — кнопка строго на всю ширину карточки.
align-self:stretch растягивает кнопку по ширине родителя (.product-card-content),
негативные margins выводят её за padding родителя к краям самой карточки.
product-card overflow:hidden + border-radius обрезает углы автоматически. */
@media (max-width: 991px) { .woocommerce ul.products li.product .product-card .product-card-content, .woocommerce-page ul.products li.product .product-card .product-card-content { padding-bottom: 0 !important; } .woocommerce ul.products li.product .product-card .koderma-details-button, .woocommerce-page ul.products li.product .product-card .koderma-details-button { display: block !important; flex: none !important; width: calc(100% + 1.8rem) !important; min-width: 100% !important; padding: 0.75rem 0.5rem !important; font-size: 0.85rem !important; box-sizing: border-box !important; letter-spacing: 0 !important; } }
/* Поиск в фильтре — не вырастать в высоту при flex-direction:column */
@media (max-width: 991px) { .koderma-shop-search { flex: 0 0 auto !important; height: auto !important; min-height: 0 !important; } /* Категории — текст по центру кнопки по высоте */ .koderma-shop-category { display: inline-flex !important; align-items: center !important; justify-content: center !important; } /* Убираем лишний отступ над контентом магазина на мобилке */ .woocommerce-shop main#main.site-content, .tax-product_cat main#main.site-content { padding-top: 0.5rem !important; } .woocommerce .woocommerce-breadcrumb { padding-top: 0.25rem !important; margin-bottom: 0.5rem !important; } }
/* Footer — жирнее текст */
.footer-list a { font-weight: 500; }
.footer-col { font-weight: 400; }
.footer-tagline, .footer-contacts li { font-weight: 450; }
/* Корзина — таблица не ломается на мобилке */
.woocommerce-cart .cart_totals table.shop_table tr { display: table-row !important; }
.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td { display: table-cell !important; }
.woocommerce-cart .cart_totals table.shop_table td::before { display: none !important; }
.woocommerce-cart .cart_totals table.shop_table { table-layout: fixed !important; }
/* Фильтр магазина на мобилке — убираем лишние пустые отступы */
@media (max-width: 991px) { .koderma-shop-tools { padding: 1rem 1rem 0.75rem !important; } .koderma-shop-tools__top { flex-direction: column !important; align-items: flex-start !important; justify-content: flex-start !important; gap: 0.6rem !important; margin-bottom: 0.75rem !important; } .koderma-shop-search { min-width: 100% !important; max-width: 100% !important; } .koderma-shop-categories { gap: 0.4rem !important; } .koderma-shop-tools__title { font-size: 1rem !important; } }
/* Товарная сетка после AJAX — не ломать колонки */
@media (max-width: 991px) { .woocommerce ul.products { grid-template-columns: 1fr 1fr !important; } }
/* Хедер: корзина и бургер рядом на мобилке */
@media (max-width: 991px) { .header-wrapper { padding: 0.65rem 0; gap: 0.5rem; flex-wrap: nowrap; } .header-actions { display: flex; align-items: center; gap: 0.5rem; margin-left: auto; flex-shrink: 0; } .header-contact { display: none !important; } .cart-icon { display: flex !important; align-items: center; justify-content: center; width: 42px; height: 42px; min-height: 42px !important; background: var(--color-surface-alt, #eef3f8); border-radius: 10px; position: relative; } .cart-icon-svg { width: 20px; height: 20px; } .cart-count { position: absolute; top: -4px; right: -4px; min-width: 18px; height: 18px; background: #65bebf; color: #fff; font-size: 0.7rem; font-weight: 700; border-radius: 50%; display: flex; align-items: center; justify-content: center; } }
/* === Контакты в мобильном меню === */
.mobile-menu-contacts { display: flex; flex-direction: column; align-items: center; gap: 0.65rem; margin-top: 2rem; padding: 1.5rem 1.5rem 0; border-top: 1px solid rgba(255,255,255,.25); width: 100%; max-width: 380px; box-sizing: border-box; }
.mobile-menu-contacts a { display: flex; align-items: center; gap: 0.5rem; color: #fff; text-decoration: none; font-size: 1.05rem; font-weight: 600; letter-spacing: .01em; transition: opacity .2s; }
.mobile-menu-contacts a:hover { opacity: .75; }
.mobile-menu-contacts__hours { display: flex; align-items: center; gap: 0.4rem; color: rgba(255,255,255,.7); font-size: 0.88rem; margin-top: 0.2rem; }
.mobile-menu-contacts svg { flex-shrink: 0; opacity: .85; }
/* Логотип в мобильном меню */
.mobile-menu-logo { display: block; margin-bottom: 2rem; opacity: .9; transition: opacity .2s; }
.mobile-menu-logo:hover { opacity: 1; }
.mobile-menu-logo img { height: 40px; width: auto; filter: brightness(0) invert(1); }
/* === Мобильное меню: список вертикальный независимо от класса (main-menu или mobile-main-menu) === */
#mobile-nav-overlay ul { display: flex !important; flex-direction: column !important; align-items: center !important; gap: 0 !important; list-style: none !important; margin: 0 !important; padding: 0 !important; width: 100% !important; max-width: 380px !important; position: static !important; background: none !important; border: none !important; box-shadow: none !important; }
#mobile-nav-overlay ul li { width: 100% !important; float: none !important; border-bottom: 1px solid rgba(255,255,255,.2) !important; padding: 0 !important; margin: 0 !important; position: static !important; }
#mobile-nav-overlay ul li:first-child { border-top: 1px solid rgba(255,255,255,.2) !important; }
#mobile-nav-overlay ul a { display: block !important; padding: 1rem !important; text-align: center !important; font-size: 1.15rem !important; font-weight: 600 !important; color: #fff !important; text-decoration: none !important; white-space: normal !important; min-height: 0 !important; }
/* === Корзина на мобилке === */
@media (max-width: 991px) { /* Убираем gap между блоками */ .woocommerce-cart .cart-collaterals { gap: 0 !important; } /* Уменьшаем padding карточки */ .content-area article { padding: 1rem !important; } /* Кнопка "Обновить корзину" на мобилке не нужна (автообновление по уходу с поля количества), но td.actions скрывать целиком нельзя — там же живёт поле промокода */ .woocommerce-cart table.shop_table.cart td.actions > .button[name="update_cart"] { display: none !important; } .woocommerce-cart table.shop_table.cart td.actions { display: block !important; width: 100% !important; padding: 1rem 0 !important; border: none !important; } .woocommerce-cart table.shop_table.cart td.actions::before { content: none !important; } .woocommerce-cart table.shop_table.cart td.actions .coupon { display: grid !important; grid-template-columns: 1fr !important; gap: .6rem !important; max-width: none !important; width: 100% !important; } .woocommerce-cart table.shop_table.cart td.actions .coupon .input-text { width: 100% !important; box-sizing: border-box !important; } .woocommerce-cart table.shop_table.cart td.actions .coupon .button { width: 100% !important; } /* Адаптивная таблица корзины — красивый стек */ .woocommerce-cart table.shop_table.cart, .woocommerce-cart table.shop_table.cart tbody, .woocommerce-cart table.shop_table.cart tr { display: block !important; width: 100% !important; } .woocommerce-cart table.shop_table.cart thead { display: none !important; } .woocommerce-cart table.shop_table.cart tr { border-bottom: 1px solid var(--color-border, #e5e7eb) !important; padding: 0.75rem 2rem 0.75rem 0 !important; position: relative !important; } .woocommerce-cart table.shop_table.cart tr:last-child { border-bottom: none !important; } .woocommerce-cart table.shop_table.cart td { display: flex !important; justify-content: space-between !important; padding: 0.3rem 10px 0.3rem 0 !important; border: none !important; font-size: 0.95rem !important; border-right: 1px solid !important; } .woocommerce-cart table.shop_table.cart td::before { content: attr(data-title) !important; font-weight: 600 !important; color: var(--color-text, #1a1a2e) !important; font-size: 0.9rem !important; flex-shrink: 0 !important; margin-right: 1rem !important; } /* Кнопка удалить — абсолютно в правый верхний угол строки товара */ .woocommerce-cart table.shop_table.cart td.product-remove { position: absolute !important; border-right: none !important; top: 40% !important; right: 0 !important; display: flex !important; width: auto !important; padding: 0 !important; } .woocommerce-cart table.shop_table.cart td.product-remove::before { display: none !important; } .woocommerce-cart table.shop_table.cart td.product-remove a { background: none !important; border: none !important; border-radius: 0 !important; color: #ff0505 !important; font-size: 2rem !important; text-decoration: none !important; padding: 0 !important; width: 20px !important; height: 20px !important; } /* Картинку товара скрываем — есть название */ .woocommerce-cart table.shop_table.cart td.product-thumbnail { display: none !important; } /* Количество — инпут компактный */ .woocommerce-cart table.shop_table.cart .qty { width: 60px !important; text-align: center !important; } }
#mobile-nav-overlay ul .sub-menu { display: none !important; background: rgba(0,0,0,.1) !important; position: static !important; box-shadow: none !important; }
#mobile-nav-overlay ul li.active > .sub-menu { display: block !important; }
/* === Уменьшить отступы на странице магазина на мобилке === */
@media (max-width: 991px) { .woocommerce-shop main#main.site-content, .tax-product_cat main#main.site-content, .woocommerce-page main#main.site-content { padding-top: 0.25rem !important; } .woocommerce .woocommerce-breadcrumb { padding-top: 0 !important; margin-bottom: 0.3rem !important; } .woocommerce-products-header { margin-bottom: 0.75rem !important; padding-bottom: 0.75rem !important; } }
/* ===== Страница Документы ===== */
.docs-subtitle { font-size: 1.1rem; color: var(--color-text-muted); margin-bottom: 2.5rem; max-width: 640px; }
.docs-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 1.5rem; margin-bottom: 3rem; }
.doc-card { background: var(--color-surface); border-radius: var(--radius-md, 18px); box-shadow: var(--shadow-soft); overflow: hidden; display: flex; flex-direction: column; transition: box-shadow .2s; }
.doc-card:hover { box-shadow: var(--shadow-card); }
.doc-preview-wrap { display: block; aspect-ratio: 4/3; overflow: hidden; }
.doc-preview-wrap img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s; }
.doc-preview-wrap:hover img { transform: scale(1.04); }
.doc-icon-wrap { display: flex; align-items: center; justify-content: center; aspect-ratio: 4/3; background: var(--color-surface-alt); }
.doc-icon { width: 64px; height: 64px; }
.doc-info { padding: 1rem 1.25rem; display: flex; flex-direction: column; gap: 0.75rem; flex: 1; }
.doc-name { font-size: 0.95rem; font-weight: 600; color: var(--color-text); line-height: 1.4; }
.doc-download-btn { display: inline-flex; align-items: center; gap: 0.4rem; font-size: 0.875rem; font-weight: 600; color: var(--color-primary); text-decoration: none; transition: color .2s; align-self: flex-start; }
.doc-download-btn:hover { color: var(--color-primary-dark); }
.docs-empty { color: var(--color-text-muted); font-size: 1rem; }
@media (max-width: 600px) { .docs-grid { grid-template-columns: repeat(2, 1fr); gap: 1rem; } }
/* ===== Страница О компании (ACF) ===== */
.about-intro { margin-bottom: 2.5rem; }
.about-intro h2 { font-size: 1.6rem; margin-bottom: 1rem; color: #65bebf; }
.about-intro-text p { margin-bottom: 0.75rem; color: var(--color-text); }
.about-mission { background: var(--color-surface-alt); border-radius: var(--radius-md); padding: 2rem 2.5rem; margin-bottom: 2.5rem; }
.about-mission h2 { font-size: 1.25rem; color: var(--color-text); margin-bottom: 0.75rem; }
.about-mission p { color: var(--color-text); }
.about-features-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 1.25rem; }
.about-feature { background: var(--color-surface); border-radius: var(--radius-md); padding: 1.5rem; box-shadow: var(--shadow-soft); }
.about-feature h3 { font-size: 1rem; color: var(--color-primary); margin-bottom: 0.5rem; font-weight: 700; }
.about-feature p { font-size: 0.95rem; color: var(--color-text); }
/* ===== Превью документов + галерея ===== */
.doc-preview-wrap { position: relative; display: block; aspect-ratio: 4/3; overflow: hidden; }
.doc-preview-wrap img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s; }
.doc-preview-wrap:hover img { transform: scale(1.04); }
.doc-preview-zoom { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,0); transition: background .2s; color: #fff; opacity: 0; pointer-events: none; }
.doc-preview-wrap:hover .doc-preview-zoom,
.docs-photo-item:hover .doc-preview-zoom { background: rgba(0,0,0,.35); opacity: 1; }
.docs-photo-section { margin-top: 3rem; }
.docs-photo-title { font-size: 1.4rem; margin-bottom: 1.5rem; color: var(--color-text); }
.docs-photo-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 1rem; }
.docs-photo-item { display: block; position: relative; aspect-ratio: 3/4; overflow: hidden; border-radius: var(--radius-sm); box-shadow: var(--shadow-soft); }
.docs-photo-item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s; }
.docs-photo-item:hover img { transform: scale(1.04); }
.docs-photo-item .doc-preview-zoom { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
@media (max-width: 600px) { .docs-photo-grid { grid-template-columns: repeat(2, 1fr); } }
/* Галерея: кнопка-тайл */
.docs-photo-item { cursor: pointer; border: none; padding: 0; background: none; text-align: left; }
/* ===== Лайтбокс документов ===== */
.docs-lb { position: fixed; inset: 0; z-index: 99999; background: rgba(0,0,0,.92); display: flex; align-items: center; justify-content: center; }
.docs-lb[hidden] { display: none !important; }
.docs-lb__img-wrap { max-width: calc(100vw - 120px); max-height: calc(100vh - 80px); display: flex; align-items: center; justify-content: center; }
.docs-lb__img { max-width: 100%; max-height: calc(100vh - 80px); object-fit: contain; border-radius: 6px; box-shadow: 0 8px 40px rgba(0,0,0,.6); display: block; }
.docs-lb__close { position: fixed; top: 16px; right: 20px; background: rgba(255,255,255,.15); border: none; border-radius: 50%; width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; color: #fff; cursor: pointer; z-index: 2; transition: background .2s; }
.docs-lb__close:hover { background: rgba(255,255,255,.3); }
.docs-lb__nav { position: fixed; top: 50%; transform: translateY(-50%); background: rgba(255,255,255,.12); border: none; border-radius: 50%; width: 52px; height: 52px; display: flex; align-items: center; justify-content: center; color: #fff; cursor: pointer; z-index: 2; transition: background .2s; }
.docs-lb__nav:hover { background: rgba(255,255,255,.28); }
.docs-lb__prev { left: 12px; }
.docs-lb__next { right: 12px; }
.docs-lb__counter { position: fixed; bottom: 18px; left: 50%; transform: translateX(-50%); color: rgba(255,255,255,.7); font-size: 0.9rem; letter-spacing: .05em; }
@media (max-width: 600px) { .docs-lb__img-wrap { max-width: 100vw; max-height: calc(100vh - 120px); } .docs-lb__nav { width: 40px; height: 40px; } .docs-lb__prev { left: 4px; } .docs-lb__next { right: 4px; } }
/* Скрыть количество в наличии на странице товара */
.woocommerce div.product p.stock { display: none !important; }
/* Плашка об оплате доставки СДЭК */
.koderma-delivery-notice { display: flex; align-items: flex-start; gap: .75rem; background: #f0fafa; border: 1px solid #b2e0e1; border-radius: 10px; padding: 1rem 1.25rem; margin-bottom: 1.5rem; color: #1a1a1a; font-size: .95rem; line-height: 1.5; }
.koderma-delivery-notice svg { color: #65bebf; margin-top: 2px; }
/* Плашка согласия с политиками */
.koderma-privacy-notice { display: flex; align-items: flex-start; gap: .75rem; background: #f8f8f8; border: 1px solid #e0e0e0; border-radius: 10px; padding: 1rem 1.25rem; margin-bottom: 1.5rem; color: #444; font-size: .88rem; line-height: 1.5; }
.koderma-privacy-notice svg { color: #65bebf; margin-top: 2px; }
.koderma-privacy-notice a { color: #65bebf; text-decoration: underline; }
.koderma-privacy-notice a:hover { color: #3f9697; }