:root {
    --bg: #f4f1ea;
    --card: #ffffff;
    --text: #2c2c2c;
    --accent: #bfa15f;
    --dark: #1a2e22;
    --radius: 20px;
    --radius-sm: 12px;
    --shadow: 0 10px 40px rgba(26, 46, 34, 0.08);
    --shadow-lg: 0 25px 60px rgba(26, 46, 34, 0.15);
    --font-head: 'Playfair Display', Georgia, 'Times New Roman', serif;
    --font-body: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
    --transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    background: var(--bg); color: var(--text); font-family: var(--font-body);
    line-height: 1.6; overflow-x: hidden; -webkit-font-smoothing: antialiased;
}
body.modal-open { overflow: hidden; padding-right: 17px; }
@media (max-width: 768px) { body.modal-open { padding-right: 0; } }
.container { max-width: 1320px; margin: 0 auto; padding: 0 24px; }
.hidden { display: none !important; }
.w-100 { width: 100%; }

/* Typography */
h1, h2, h3, h4 { font-family: var(--font-head); font-weight: 600; line-height: 1.2; }
.section-header { text-align: center; margin-bottom: 50px; }
.section-title { font-size: clamp(28px, 4vw, 42px); color: var(--dark); margin-bottom: 12px; }
.section-subtitle { color: #666; font-size: 16px; }

/* Buttons */
.btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    padding: 16px 36px; border-radius: 50px; text-decoration: none; font-weight: 600;
    font-size: 15px; transition: var(--transition); cursor: pointer; border: none;
    font-family: var(--font-body); letter-spacing: 0.3px;
}
.btn--primary { background: var(--dark); color: #fff; box-shadow: 0 4px 20px rgba(26, 46, 34, 0.2); }
.btn--primary:hover { background: var(--accent); transform: translateY(-2px); box-shadow: 0 8px 30px rgba(191, 161, 95, 0.3); }
.btn--outline { background: transparent; border: 2px solid var(--dark); color: var(--dark); }
.btn--outline:hover { background: var(--dark); color: #fff; }
.btn-lg { padding: 20px 40px; font-size: 16px; }

/* Header */
.header {
    position: sticky; top: 0; z-index: 100; background: rgba(244, 241, 234, 0.92);
    backdrop-filter: blur(20px); padding: 18px 0; border-bottom: 1px solid rgba(26, 46, 34, 0.06);
}
.header__inner { display: flex; align-items: center; justify-content: space-between; }
.logo { display: flex; align-items: center; text-decoration: none; }
.logo-svg { height: 42px; width: auto; }
.nav { display: flex; gap: 36px; }
.nav__link {
    text-decoration: none; color: var(--text); font-size: 14px; text-transform: uppercase;
    letter-spacing: 1.5px; font-weight: 500; position: relative; transition: color 0.3s;
}
.nav__link::after { content: ''; position: absolute; bottom: -6px; left: 0; width: 0; height: 2px; background: var(--accent); transition: width 0.3s; }
.nav__link:hover { color: var(--accent); }
.nav__link:hover::after { width: 100%; }
.header__actions { display: flex; align-items: center; gap: 20px; }
.search-wrap { position: relative; }
.search-input {
    border: none; background: rgba(255,255,255,0.6); border-radius: 50px; padding: 10px 16px 10px 42px;
    width: 200px; outline: none; font-family: var(--font-body); font-size: 14px; transition: var(--transition); border: 1px solid transparent;
}
.search-input:focus { width: 260px; background: #fff; border-color: var(--accent); box-shadow: 0 4px 20px rgba(191, 161, 95, 0.15); }
.search-icon { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: #888; pointer-events: none; }
.cart-btn { position: relative; background: none; border: none; cursor: pointer; color: var(--dark); padding: 8px; border-radius: 50%; transition: var(--transition); }
.cart-btn:hover { background: rgba(26, 46, 34, 0.06); }
.cart-count {
    position: absolute; top: 0; right: 0; background: var(--accent); color: #fff; font-size: 11px;
    font-weight: 700; width: 20px; height: 20px; border-radius: 50%; display: flex; align-items: center;
    justify-content: center; transform: scale(0); transition: transform 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.cart-count.show { transform: scale(1); }
.burger { display: flex; flex-direction: column; gap: 5px; background: none; border: none; cursor: pointer; padding: 8px; }
.burger span { width: 24px; height: 2px; background: var(--dark); transition: var(--transition); border-radius: 2px; }

/* Hero */
.hero { position: relative; height: 85vh; min-height: 600px; display: flex; align-items: center; overflow: hidden; }
.hero__bg { position: absolute; inset: 0; background-size: cover; background-position: center; animation: kenBurns 25s infinite alternate ease-in-out; }
.hero__overlay { position: absolute; inset: 0; background: linear-gradient(135deg, rgba(244, 241, 234, 0.95) 0%, rgba(244, 241, 234, 0.7) 50%, rgba(244, 241, 234, 0.3) 100%); }
@keyframes kenBurns { from { transform: scale(1); } to { transform: scale(1.12); } }
.hero__content { position: relative; z-index: 2; max-width: 650px; }
.hero__subtitle { display: inline-block; font-size: 13px; text-transform: uppercase; letter-spacing: 3px; color: var(--accent); font-weight: 600; margin-bottom: 20px; }
.hero__title { font-size: clamp(36px, 5.5vw, 68px); margin-bottom: 24px; color: var(--dark); }
.hero__desc { font-size: 18px; color: #555; margin-bottom: 40px; max-width: 500px; }

/* Catalog */
.catalog { padding: 100px 0; }
.filters { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 50px; justify-content: center; padding: 0 20px; }
.filter-btn { padding: 12px 24px; border-radius: 50px; border: 1.5px solid #e0ddd5; background: #fff; cursor: pointer; font-family: var(--font-body); font-size: 14px; font-weight: 500; transition: var(--transition); color: var(--text); }
.filter-btn:hover { border-color: var(--accent); color: var(--accent); }
.filter-btn.active { background: var(--dark); color: #fff; border-color: var(--dark); }

/* Dynamic Filters */
.dynamic-filters {
    display: flex; flex-wrap: wrap; gap: 30px; margin-bottom: 40px; padding: 24px;
    background: #fff; border-radius: var(--radius); box-shadow: var(--shadow); animation: fadeIn 0.5s ease;
}
.filter-group { min-width: 200px; }
.filter-group-title { font-family: var(--font-head); font-size: 16px; font-weight: 600; color: var(--dark); margin-bottom: 12px; border-bottom: 1px solid #eee; padding-bottom: 8px; }
.filter-options { display: flex; flex-direction: column; gap: 8px; max-height: 200px; overflow-y: auto; padding-right: 10px; }
.filter-options::-webkit-scrollbar { width: 4px; }
.filter-options::-webkit-scrollbar-thumb { background: #ddd; border-radius: 4px; }
.filter-checkbox-label { display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--text); cursor: pointer; transition: color 0.2s; }
.filter-checkbox-label:hover { color: var(--accent); }
.filter-checkbox { width: 18px; height: 18px; accent-color: var(--accent); cursor: pointer; }
.products-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 32px; }
.load-more-wrap { text-align: center; margin-top: 60px; }
.error-msg { text-align: center; padding: 60px 20px; color: #888; display: flex; flex-direction: column; align-items: center; gap: 16px; }
.error-msg svg { color: var(--accent); }

/* Card with Hover Gallery */
.card { background: var(--card); border-radius: var(--radius); overflow: hidden; transition: var(--transition); cursor: pointer; position: relative; box-shadow: var(--shadow); }
.card:hover { transform: translateY(-8px); box-shadow: var(--shadow-lg); }
.card__img-wrap { aspect-ratio: 1/1; overflow: hidden; background: #faf9f6; position: relative; }
.card__img-slider { display: flex; width: 100%; height: 100%; transition: transform 0.3s ease; }
.card__img-slider img { min-width: 100%; height: 100%; object-fit: contain; padding: 20px; }
.card__img-dots { position: absolute; bottom: 12px; left: 50%; transform: translateX(-50%); display: flex; gap: 6px; opacity: 0; transition: opacity 0.3s; }
.card:hover .card__img-dots { opacity: 1; }
.card__img-dot { width: 8px; height: 8px; border-radius: 50%; background: rgba(0,0,0,0.2); transition: var(--transition); }
.card__img-dot.active { background: var(--accent); transform: scale(1.2); }
.card__badge { position: absolute; top: 16px; left: 16px; background: #c44536; color: #fff; padding: 6px 14px; border-radius: 50px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; z-index: 2; }
.card__body { padding: 24px; }
.card__name { font-size: 17px; font-weight: 600; margin-bottom: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--dark); }
.card__price-row { display: flex; align-items: baseline; gap: 10px; margin-bottom: 12px; }
.card__price { font-family: var(--font-head); font-size: 22px; color: var(--dark); font-weight: 600; }
.card__old-price { font-size: 15px; text-decoration: line-through; color: #aaa; }
.card__stock { font-size: 13px; font-weight: 500; display: flex; align-items: center; gap: 6px; }
.card__stock::before { content: ''; width: 8px; height: 8px; border-radius: 50%; }
.card__stock.in-stock { color: #2d6a4f; }
.card__stock.in-stock::before { background: #2d6a4f; }
.card__stock.pre-order { color: #bfa15f; }
.card__stock.pre-order::before { background: #bfa15f; }
.card__add-btn { width: 100%; margin-top: 16px; padding: 12px; border-radius: 50px; background: transparent; border: 1.5px solid var(--dark); color: var(--dark); font-weight: 600; font-size: 14px; cursor: pointer; transition: var(--transition); font-family: var(--font-body); }
.card__add-btn:hover { background: var(--dark); color: #fff; }

/* === PRODUCT PAGE (SPA) === */
.product-page { 
    padding: 120px 0 100px; 
    animation: fadeIn 0.5s ease; 
}
@keyframes fadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
.back-btn { display: inline-flex; align-items: center; gap: 8px; background: none; border: none; color: var(--dark); font-weight: 600; font-size: 15px; cursor: pointer; margin-bottom: 30px; padding: 10px 0; transition: var(--transition); font-family: var(--font-body); }
.back-btn:hover { color: var(--accent); transform: translateX(-5px); }
.product-main-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; margin-bottom: 80px; }

/* Gallery */
.product-gallery { position: sticky; top: 120px; height: fit-content; }
.gallery-main-wrap { background: #fff; border-radius: var(--radius); padding: 40px; box-shadow: var(--shadow); margin-bottom: 20px; aspect-ratio: 1/1; display: flex; align-items: center; justify-content: center; cursor: zoom-in; }
.gallery-main-img { max-width: 100%; max-height: 100%; object-fit: contain; }
.gallery-thumbs { display: flex; gap: 12px; overflow-x: auto; padding-bottom: 10px; }
.gallery-thumbs img { width: 80px; height: 80px; object-fit: contain; background: #fff; border-radius: var(--radius-sm); padding: 8px; cursor: pointer; border: 2px solid transparent; transition: var(--transition); opacity: 0.6; }
.gallery-thumbs img:hover { opacity: 1; border-color: #eee; }
.gallery-thumbs img.active { border-color: var(--accent); opacity: 1; }

/* Product Info */
.product-info { padding-top: 20px; }
.product-title { font-size: 36px; margin-bottom: 12px; color: var(--dark); }
.product-sku { color: #999; font-size: 14px; margin-bottom: 30px; text-transform: uppercase; letter-spacing: 1px; }
.product-price-block { margin-bottom: 30px; display: flex; align-items: baseline; gap: 15px; }
.product-price { font-family: var(--font-head); font-size: 42px; color: var(--dark); font-weight: 600; }
.product-old-price { font-size: 24px; text-decoration: line-through; color: #bbb; }
.product-stock { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 40px; font-size: 15px; font-weight: 600; padding: 8px 16px; border-radius: 50px; }
.product-stock.in-stock { background: rgba(45, 106, 79, 0.1); color: #2d6a4f; }
.product-stock.pre-order { background: rgba(191, 161, 95, 0.1); color: #bfa15f; }
.product-short-params { margin-bottom: 40px; }
.short-param-item { display: flex; justify-content: space-between; padding: 12px 0; border-bottom: 1px dashed #e0e0e0; font-size: 15px; }
.short-param-item span:first-child { color: #888; }
.short-param-item span:last-child { font-weight: 600; color: var(--dark); }

/* Tabs */
.product-details-section { margin-bottom: 80px; border-top: 1px solid #e0e0e0; padding-top: 40px; }
.tabs-header { display: flex; gap: 30px; margin-bottom: 30px; border-bottom: 1px solid #e0e0e0; }
.tab-btn { background: none; border: none; padding: 15px 0; font-size: 18px; font-weight: 600; color: #999; cursor: pointer; position: relative; transition: var(--transition); font-family: var(--font-head); }
.tab-btn.active { color: var(--dark); }
.tab-btn.active::after { content: ''; position: absolute; bottom: -1px; left: 0; width: 100%; height: 3px; background: var(--accent); }
.tab-content { display: none; animation: fadeIn 0.3s ease; }
.tab-content.active { display: block; }
.product-description { font-size: 16px; line-height: 1.8; color: #555; max-width: 800px; }
.specs-table { width: 100%; border-collapse: collapse; }
.specs-table tr { border-bottom: 1px solid #f0f0f0; }
.specs-table td { padding: 15px 0; font-size: 15px; }
.specs-table td:first-child { color: #888; width: 40%; }
.specs-table td:last-child { font-weight: 600; color: var(--dark); }

/* Related Products */
.related-section { margin-bottom: 80px; }
.related-grid { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 24px; }

/* Reviews */
.reviews-section { background: #fff; padding: 60px; border-radius: var(--radius); box-shadow: var(--shadow); margin-bottom: 80px; }
.reviews-header { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 40px; border-bottom: 1px solid #eee; padding-bottom: 20px; }
.reviews-summary { display: flex; align-items: center; gap: 15px; }
.rating-big { font-family: var(--font-head); font-size: 48px; color: var(--dark); line-height: 1; }
.stars-wrap { display: flex; flex-direction: column; }
.stars { color: var(--accent); font-size: 20px; letter-spacing: 2px; }
.reviews-count { font-size: 14px; color: #888; margin-top: 4px; }
.reviews-list { margin-bottom: 40px; }
.review-item { padding: 24px 0; border-bottom: 1px solid #f0f0f0; }
.review-item:last-child { border-bottom: none; }
.review-header { display: flex; align-items: center; gap: 15px; margin-bottom: 12px; }
.review-avatar { width: 48px; height: 48px; background: var(--bg); color: var(--dark); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 18px; font-family: var(--font-head); }
.review-meta { display: flex; flex-direction: column; }
.review-name { font-weight: 600; color: var(--dark); }
.review-date { font-size: 12px; color: #999; margin-top: 2px; }
.review-stars { color: var(--accent); font-size: 14px; margin-top: 2px; }
.review-text { color: #555; line-height: 1.6; font-size: 15px; }

.review-form { background: var(--bg); padding: 30px; border-radius: var(--radius-sm); }
.review-form h4 { margin-bottom: 20px; font-size: 20px; font-family: var(--font-head); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 15px; }
.form-input, .form-textarea { width: 100%; padding: 15px; border: 1px solid #e0e0e0; border-radius: var(--radius-sm); font-family: var(--font-body); font-size: 15px; background: #fff; transition: border-color 0.3s; }
.form-input:focus, .form-textarea:focus { outline: none; border-color: var(--accent); }
.form-textarea { height: 120px; resize: vertical; margin-bottom: 20px; }

/* === DESIGNERS SECTION === */
.designers-section { padding: 80px 0; background: var(--bg); }
.designers-card { background: var(--dark); border-radius: var(--radius); padding: 60px; display: grid; grid-template-columns: 1.5fr 1fr; gap: 40px; align-items: center; color: #fff; position: relative; overflow: hidden; }
.designers-content { position: relative; z-index: 2; }
.designers-content .hero__subtitle { color: var(--accent); margin-bottom: 16px; }
.designers-content .section-title { color: #fff; margin-bottom: 24px; }
.designers-text { font-size: 16px; line-height: 1.7; color: rgba(255,255,255,0.8); margin-bottom: 40px; max-width: 500px; }
.designers-actions { display: flex; gap: 20px; }
.designers-actions .btn--outline { border-color: rgba(255,255,255,0.3); color: #fff; }
.designers-actions .btn--outline:hover { border-color: #fff; background: rgba(255,255,255,0.1); }
.designers-image { display: flex; justify-content: center; align-items: center; opacity: 0.1; position: absolute; right: -50px; top: -50px; transform: rotate(15deg); }
.designers-img-placeholder svg { width: 400px; height: 400px; }

/* === CONTACTS SECTION === */
.contacts-section { padding: 80px 0; background: #fff; }
.contacts-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 40px; margin-top: 40px; }
.contact-card { background: var(--bg); padding: 40px; border-radius: var(--radius); border: 1px solid #e0ddd5; transition: var(--transition); }
.contact-card:hover { box-shadow: var(--shadow); transform: translateY(-5px); }
.contact-card h3 { font-size: 20px; margin-bottom: 24px; color: var(--dark); border-bottom: 2px solid var(--accent); padding-bottom: 12px; display: inline-block; }
.contact-item { display: flex; align-items: flex-start; gap: 16px; margin-bottom: 20px; font-size: 15px; color: var(--text); }
.contact-item svg { flex-shrink: 0; margin-top: 2px; }
.contact-item a { color: var(--text); text-decoration: none; transition: color 0.3s; }
.contact-item a:hover { color: var(--accent); }

/* Map */
.map-section {
    padding: 0;
    margin: 0;
    width: 100%;
}
.yandex-map-wrap {
    width: 100vw;
    max-width: 100%;
    height: 400px;
    overflow: hidden;
    position: relative;
    background: #f4f1ea;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
}
.yandex-map-wrap iframe {
    width: 100% !important;
    height: 100% !important;
    border: 0;
    display: block;
}

/* Footer */
.footer { background: #111; color: rgba(255,255,255,0.6); padding: 80px 0 40px; }
.footer__top { display: grid; grid-template-columns: 2fr 1fr 1fr 1.5fr; gap: 40px; margin-bottom: 60px; padding-bottom: 60px; border-bottom: 1px solid rgba(255,255,255,0.1); }
.footer__col h4 { color: #fff; font-family: var(--font-body); font-size: 16px; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 24px; }
.footer__col ul { list-style: none; }
.footer__col ul li { margin-bottom: 12px; }
.footer__col ul li a { color: rgba(255,255,255,0.6); text-decoration: none; transition: color 0.3s; font-size: 14px; }
.footer__col ul li a:hover { color: var(--accent); }
.footer__desc { margin-top: 20px; font-size: 14px; line-height: 1.6; max-width: 300px; }
.footer__logo .st0 { fill: #fff; }
.socials { display: flex; gap: 12px; margin-top: 20px; }
.social-link { width: 40px; height: 40px; border: 1px solid rgba(255,255,255,0.2); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; text-decoration: none; font-size: 12px; transition: var(--transition); }
.social-link:hover { background: var(--accent); border-color: var(--accent); }
.footer__bottom { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 20px; font-size: 12px; }
.legal-links { display: flex; gap: 24px; }
.legal-links a { color: rgba(255,255,255,0.4); text-decoration: none; }
.legal-links a:hover { color: #fff; }
.footer__requisites { width: 100%; text-align: center; margin-top: 20px; opacity: 0.3; font-size: 11px; }

/* Cart Drawer */
.drawer-overlay { position: fixed; inset: 0; background: rgba(26, 46, 34, 0.5); z-index: 200; opacity: 0; visibility: hidden; transition: var(--transition); backdrop-filter: blur(4px); }
.drawer-overlay.open { opacity: 1; visibility: visible; }
.cart-drawer { position: fixed; top: 0; right: -480px; width: 460px; max-width: 100%; height: 100vh; background: #fff; z-index: 201; transition: right 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94); display: flex; flex-direction: column; box-shadow: -20px 0 60px rgba(0,0,0,0.15); }
.cart-drawer.open { right: 0; }
.drawer-header { padding: 28px 32px; border-bottom: 1px solid #f0ede6; display: flex; justify-content: space-between; align-items: center; }
.drawer-header h3 { font-size: 22px; color: var(--dark); }
.close-btn { background: none; border: none; font-size: 32px; cursor: pointer; color: #888; transition: var(--transition); width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border-radius: 50%; }
.close-btn:hover { background: #f5f5f5; color: var(--dark); }
.drawer-items { flex: 1; overflow-y: auto; padding: 24px 32px; }
.drawer-empty { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 40px; text-align: center; color: #999; }
.drawer-empty svg { margin-bottom: 20px; opacity: 0.3; }
.drawer-empty p { font-size: 18px; font-weight: 600; color: var(--dark); margin-bottom: 8px; }
.drawer-empty span { font-size: 14px; }
.cart-item { display: flex; gap: 16px; margin-bottom: 24px; padding-bottom: 24px; border-bottom: 1px solid #f5f5f5; animation: slideIn 0.3s ease; }
@keyframes slideIn { from { opacity: 0; transform: translateX(20px); } to { opacity: 1; transform: translateX(0); } }
.cart-item-img { width: 80px; height: 80px; object-fit: contain; border-radius: var(--radius-sm); background: #faf9f6; padding: 8px; flex-shrink: 0; }
.cart-item-info { flex: 1; }
.cart-item-name { font-size: 15px; font-weight: 600; color: var(--dark); margin-bottom: 6px; line-height: 1.4; }
.cart-item-price { font-size: 14px; color: #888; margin-bottom: 12px; }
.cart-item-controls { display: flex; align-items: center; gap: 12px; }
.qty-btn { width: 32px; height: 32px; border: 1.5px solid #e0e0e0; background: #fff; border-radius: 50%; cursor: pointer; font-size: 18px; display: flex; align-items: center; justify-content: center; transition: var(--transition); color: var(--dark); }
.qty-btn:hover { border-color: var(--accent); color: var(--accent); }
.qty-value { font-weight: 600; font-size: 15px; min-width: 24px; text-align: center; }
.cart-item-remove { background: none; border: none; color: #ccc; cursor: pointer; padding: 4px; transition: var(--transition); margin-left: auto; }
.cart-item-remove:hover { color: #c44536; }
.drawer-footer { padding: 28px 32px; border-top: 1px solid #f0ede6; background: #faf9f6; }
.total-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; font-family: var(--font-head); }
.total-row span:first-child { font-size: 16px; color: #666; }
.total-row span:last-child { font-size: 26px; color: var(--dark); font-weight: 600; }
.drawer-note { text-align: center; font-size: 12px; color: #999; margin-top: 12px; }

/* Lightbox */
.lightbox { position: fixed; inset: 0; z-index: 99999; background: rgba(0, 0, 0, 0.95); display: flex; align-items: center; justify-content: center; opacity: 0; visibility: hidden; transition: all 0.3s ease; }
.lightbox.active { opacity: 1; visibility: visible; }
.lightbox-img { max-width: 90vw; max-height: 85vh; object-fit: contain; border-radius: 8px; box-shadow: 0 20px 60px rgba(0,0,0,0.5); animation: lightboxIn 0.3s ease; }
@keyframes lightboxIn { from { transform: scale(0.9); opacity: 0; } to { transform: scale(1); opacity: 1; } }
.lightbox-close { position: absolute; top: 20px; right: 30px; font-size: 40px; color: #fff; background: none; border: none; cursor: pointer; z-index: 10; transition: var(--transition); width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; border-radius: 50%; }
.lightbox-close:hover { background: rgba(255,255,255,0.1); transform: rotate(90deg); }
.lightbox-prev, .lightbox-next { position: absolute; top: 50%; transform: translateY(-50%); font-size: 30px; color: #fff; background: rgba(255,255,255,0.1); border: none; cursor: pointer; width: 60px; height: 60px; border-radius: 50%; display: flex; align-items: center; justify-content: center; transition: var(--transition); backdrop-filter: blur(10px); }
.lightbox-prev:hover, .lightbox-next:hover { background: rgba(255,255,255,0.2); }
.lightbox-prev { left: 30px; }
.lightbox-next { right: 30px; }
.lightbox-counter { position: absolute; bottom: 30px; left: 50%; transform: translateX(-50%); color: #fff; font-size: 16px; background: rgba(0,0,0,0.5); padding: 8px 20px; border-radius: 50px; backdrop-filter: blur(10px); }

/* Toast */
.toast { position: fixed; bottom: 30px; left: 50%; transform: translateX(-50%) translateY(100px); background: var(--dark); color: #fff; padding: 16px 28px; border-radius: 50px; display: flex; align-items: center; gap: 12px; font-weight: 500; font-size: 15px; box-shadow: 0 10px 40px rgba(0,0,0,0.2); z-index: 300; opacity: 0; transition: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55); }
.toast.show { transform: translateX(-50%) translateY(0); opacity: 1; }
.toast svg { color: var(--accent); }

/* Responsive */
@media (max-width: 1024px) {
    .product-main-grid { grid-template-columns: 1fr; gap: 40px; }
    .product-gallery { position: static; }
    .footer__top { grid-template-columns: 1fr 1fr; }
    .designers-card { grid-template-columns: 1fr; padding: 40px; }
    .designers-image { display: none; }
}
@media (max-width: 768px) {
    .desktop-only { display: none !important; }
    .mobile-only { display: flex !important; }
    .hero { height: 70vh; min-height: 500px; }
    .hero__content { text-align: center; margin: 0 auto; }
    .hero__desc { margin: 0 auto 32px; }
    .catalog { padding: 60px 0; }
    .products-grid { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 20px; }
    .cart-drawer { width: 100%; right: -100%; }
    .drawer-header, .drawer-items, .drawer-footer { padding-left: 20px; padding-right: 20px; }
    .product-page { padding: 20px 0 60px; }
    .product-title { font-size: 28px; }
    .product-price { font-size: 32px; }
    .reviews-section { padding: 30px 20px; }
    .tabs-header { gap: 20px; overflow-x: auto; }
    .tab-btn { white-space: nowrap; }
    .reviews-header { flex-direction: column; align-items: flex-start; gap: 20px; }
    .form-row { grid-template-columns: 1fr; }
    .lightbox-prev, .lightbox-next { width: 44px; height: 44px; font-size: 20px; }
    .lightbox-prev { left: 10px; }
    .lightbox-next { right: 10px; }
    .lightbox-close { top: 10px; right: 10px; }
    .footer__top { grid-template-columns: 1fr; gap: 40px; }
    .footer__bottom { flex-direction: column; text-align: center; }
    .designers-actions { flex-direction: column; }
    .contacts-grid { grid-template-columns: 1fr; }
    .dynamic-filters { flex-direction: column; gap: 20px; padding: 20px; }
    .filter-options { max-height: 150px; }
}
@media (max-width: 480px) {
    .products-grid { grid-template-columns: 1fr; }
    .filters { gap: 8px; }
    .filter-btn { padding: 10px 16px; font-size: 13px; }
}

/* === БИТРИКС24: ВСПЛЫВАЮЩАЯ ФОРМА === */
.b24-form { display: none !important; }
.b24-form-active {
    display: flex !important; align-items: center; justify-content: center;
    position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
    width: 100vw !important; height: 100vh !important; background: rgba(0, 0, 0, 0.6) !important;
    z-index: 99999 !important; padding: 20px !important; box-sizing: border-box !important;
}
.b24-form-active .b24-form-wrapper {
    position: relative !important; width: 100% !important; max-width: 600px !important;
    max-height: 90vh !important; overflow-y: auto !important; background: #fff !important;
    border-radius: 20px !important; box-shadow: 0 25px 60px rgba(0,0,0,0.3) !important;
    padding: 20px !important; margin: 0 auto !important;
}
@media (max-width: 768px) {
    .b24-form-active .b24-form-wrapper { padding: 15px !important; border-radius: 12px !important; max-width: 100% !important; }
}

/* SEO Fix: Visually Hidden H1 */
.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* === КОЛЛЕКЦИИ НА ABOUT.PHP === */
#hiddenCollectionsContainer {
    opacity: 0;
    animation: fadeInUp 0.6s ease-out forwards;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

#showMoreCollectionsBtn {
    margin-top: 20px;
}

/* Адаптивность для кнопки "Показать еще" */
@media (max-width: 768px) {
    .collection-block .btn--outline {
        width: 100%;
    }
}
/* === Additional catalog and page styles === */
a { color: inherit; }
.logo-svg { max-width: 180px; }
.mobile-only { display: none; }
.mobile-nav { display:none; padding: 14px 24px 22px; background: var(--bg); border-top:1px solid rgba(26,46,34,.08); gap:14px; flex-direction:column; }
.mobile-nav.open { display:flex !important; }
.mobile-nav a { text-decoration:none; font-weight:600; color:var(--dark); }
.page-shell { padding: 44px 0 90px; min-height: 60vh; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:28px; font-size:14px; color:#777; }
.breadcrumbs a { color:var(--dark); text-decoration:none; }
.breadcrumbs a:hover { color:var(--accent); }
.page-intro { max-width:900px; margin-bottom:34px; }
.page-intro h1 { font-size:clamp(32px,5vw,52px); color:var(--dark); margin-bottom:16px; }
.page-intro p { font-size:17px; color:#555; }
.catalog-meta { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin:20px 0 34px; }
.catalog-meta a, .catalog-meta span { background:#fff; border:1px solid #e5e0d5; border-radius:50px; padding:9px 15px; text-decoration:none; font-size:13px; }
.catalog-meta a:hover { border-color:var(--accent); color:var(--accent); }
.category-links { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:18px; margin:36px 0 54px; }
.category-link-card { display:block; background:#fff; border-radius:var(--radius); padding:22px; text-decoration:none; box-shadow:var(--shadow); transition:var(--transition); }
.category-link-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); }
.category-link-card strong { display:block; color:var(--dark); font-family:var(--font-head); font-size:20px; margin-bottom:8px; }
.category-link-card span { color:#777; font-size:14px; }
.card { cursor:default; }
.card__img-wrap { display:block; }
.card__img-wrap img { width:100%; height:100%; object-fit:contain; padding:20px; }
.card__name { white-space:normal; min-height:48px; }
.card__name a { text-decoration:none; }
.card__name a:hover { color:var(--accent); }
.pagination { display:flex; justify-content:center; flex-wrap:wrap; gap:8px; margin-top:54px; }
.pagination a, .pagination span { min-width:42px; height:42px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:#fff; text-decoration:none; border:1px solid #e0ddd5; }
.pagination .active { background:var(--dark); color:#fff; border-color:var(--dark); }
.product-ssr { padding:42px 0 90px; }
.product-main-grid { align-items:start; }
.gallery-main-wrap { cursor:default; }
.gallery-main-img { width:100%; height:auto; aspect-ratio:1/1; object-fit:contain; background:#fff; border-radius:var(--radius); padding:24px; }
.gallery-thumbs { display:flex; gap:10px; margin-top:12px; overflow-x:auto; padding-bottom:5px; }
.gallery-thumb { flex:0 0 82px; height:82px; border:1px solid #e2dfd7; background:#fff; border-radius:12px; padding:5px; cursor:pointer; }
.gallery-thumb.active { border-color:var(--accent); }
.gallery-thumb img { width:100%; height:100%; object-fit:contain; }
.product-title { margin-top:0; }
.product-sku { color:#888; font-size:14px; margin:10px 0 20px; }
.product-actions { margin-top:24px; }
.product-description { white-space:pre-line; }
.specs-table td:first-child { padding-right:20px; }
.related-section { margin-top:70px; }
.info-note { background:#fff; border-radius:var(--radius); box-shadow:var(--shadow); padding:24px; margin-top:36px; color:#555; }
.empty-state { background:#fff; border-radius:var(--radius); padding:50px 30px; text-align:center; box-shadow:var(--shadow); }
.search-results-title { margin-bottom:28px; }
.legal-page { max-width:900px; }
.legal-page h2 { margin:34px 0 12px; color:var(--dark); }
.legal-page p, .legal-page li { margin-bottom:10px; color:#555; }
.legal-page ul { padding-left:22px; }
.contact-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:24px; }
.contact-card { background:#fff; border-radius:var(--radius); padding:28px; box-shadow:var(--shadow); }
.contact-card h2 { font-size:23px; margin-bottom:16px; color:var(--dark); }
.contact-card p { margin:8px 0; }
.map-placeholder { margin-top:28px; background:#fff; border-radius:var(--radius); padding:28px; text-align:center; min-height:180px; display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow); }
.form-status { margin:15px 0; padding:12px 14px; border-radius:10px; display:none; }
.form-status.success { display:block; background:#e6f5eb; color:#245d37; }
.form-status.error { display:block; background:#fde8e7; color:#8a2d27; }
.checkout-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr); gap:34px; align-items:start; }
.checkout-summary,.checkout-form { background:#fff; border-radius:var(--radius); padding:28px; box-shadow:var(--shadow); }
.checkout-item { display:grid; grid-template-columns:72px 1fr auto; gap:14px; align-items:center; padding:14px 0; border-bottom:1px solid #eee; }
.checkout-item img { width:72px; height:72px; object-fit:contain; background:#faf9f6; border-radius:10px; }
.checkout-total { display:flex; justify-content:space-between; font-size:22px; margin-top:20px; padding-top:20px; border-top:2px solid var(--accent); }
.drawer-item { display:grid; grid-template-columns:64px 1fr auto; gap:12px; align-items:center; padding:14px 0; border-bottom:1px solid #eee; }
.drawer-item img { width:64px; height:64px; object-fit:contain; background:#faf9f6; border-radius:10px; }
.drawer-item a { text-decoration:none; font-weight:600; font-size:13px; }
.drawer-item-controls { display:flex; align-items:center; gap:8px; margin-top:6px; }
.drawer-item-controls button { border:1px solid #ddd; background:#fff; width:26px; height:26px; border-radius:50%; cursor:pointer; }
.drawer-remove { border:0; background:none; color:#999; cursor:pointer; font-size:18px; }
.toast { min-width:240px; justify-content:center; }
.article-grid { display:grid; gap:22px; }
.article-card { background:#fff; border-radius:var(--radius); padding:28px; box-shadow:var(--shadow); }
.article-card h2 { font-size:24px; margin-bottom:10px; }
.article-card h2 a { text-decoration:none; }
.article-card p { color:#555; }
.article-meta { color:#888; font-size:13px; margin-bottom:10px; }
.article-content { max-width:900px; font-size:17px; line-height:1.8; }
.article-content p { margin:0 0 20px; }
.simple-hero { background:#fff; border-radius:var(--radius); padding:clamp(30px,6vw,70px); margin-bottom:54px; box-shadow:var(--shadow); }
.simple-hero h1 { font-size:clamp(36px,6vw,64px); color:var(--dark); margin-bottom:18px; }
.simple-hero p { max-width:800px; color:#555; font-size:18px; }
.tool-status { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; white-space:pre-wrap; background:#111; color:#eee; padding:20px; border-radius:12px; }

@media (max-width: 900px) {
  .checkout-grid { grid-template-columns:1fr; }
}
@media (max-width: 768px) {
  .mobile-only { display:flex; }
  .page-shell { padding-top:28px; }
  .header__actions { gap:10px; }
  .cart-btn { font-size:18px; }
  .product-main-grid { gap:26px; }
  .category-links { grid-template-columns:1fr 1fr; }
}
@media (max-width: 520px) {
  .category-links { grid-template-columns:1fr; }
  .checkout-item { grid-template-columns:56px 1fr; }
  .checkout-item img { width:56px; height:56px; }
}

/* === Human-first presentation: restored from the original TONI ARTI concept === */
.catalog-state { min-height:24px; margin:-24px 0 24px; text-align:center; color:#888; font-size:13px; }
.filter-btn { text-decoration:none; }
.card__img-slider { display:flex; width:100%; height:100%; transition:transform .32s ease; }
.card__img-slider img { min-width:100%; width:100%; height:100%; object-fit:contain; padding:20px; }
.card__name a { color:var(--dark); }
.editorial-section { padding:90px 0; background:#f8f6f1; }
.article-grid--home { grid-template-columns:repeat(3,minmax(0,1fr)); }
.article-card-image { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; border-radius:14px; margin-bottom:20px; }
.center-action { margin-top:30px; text-align:center; }
.map-loading { height:100%; display:flex; align-items:center; justify-content:center; color:#8c887f; font-size:14px; letter-spacing:.04em; }
.contacts-section .contact-card { background:var(--bg); padding:40px; border:1px solid #e0ddd5; box-shadow:none; }
.contacts-section .contact-card:hover { box-shadow:var(--shadow); transform:translateY(-5px); }
.contacts-section .contact-card h3 { font-size:20px; margin-bottom:24px; color:var(--dark); border-bottom:2px solid var(--accent); padding-bottom:12px; display:inline-block; }

/* About: timeline, materials and FAQ are intentionally preserved from the first site */
.about-page { padding:45px 0 100px; }
.about-page .breadcrumbs { margin-bottom:38px; }
.about-hero { text-align:center; margin:20px auto 70px; max-width:860px; }
.about-hero h1 { font-size:clamp(38px,6vw,64px); color:var(--dark); margin-bottom:22px; }
.about-hero p { font-size:18px; color:#555; max-width:760px; margin:0 auto; line-height:1.75; }
.timeline { position:relative; max-width:860px; margin:0 auto 90px; }
.timeline::before { content:''; position:absolute; left:50%; width:2px; height:100%; background:#e0ddd5; transform:translateX(-50%); }
.timeline-item { margin-bottom:42px; position:relative; width:50%; padding:0 44px; }
.timeline-item:nth-child(odd) { left:0; text-align:right; }
.timeline-item:nth-child(even) { left:50%; text-align:left; }
.timeline-year { font-family:var(--font-head); font-size:28px; color:var(--accent); font-weight:700; margin-bottom:10px; }
.timeline-item p { color:#555; line-height:1.7; }
.timeline-dot { position:absolute; top:4px; width:20px; height:20px; background:var(--dark); border-radius:50%; border:4px solid #fff; box-shadow:0 0 0 2px var(--accent); z-index:2; }
.timeline-item:nth-child(odd) .timeline-dot { right:-10px; }
.timeline-item:nth-child(even) .timeline-dot { left:-10px; }
.materials-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; margin-bottom:90px; }
.material-card { background:#fff; padding:34px; border-radius:var(--radius); box-shadow:var(--shadow); border-top:4px solid var(--accent); }
.material-card h3 { font-size:22px; margin-bottom:15px; color:var(--dark); }
.material-card p { color:#666; line-height:1.7; font-size:15px; }
.about-collections { margin:10px 0 95px; }
.collection-showcase { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.collection-showcase-card { background:#fff; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); text-decoration:none; padding-bottom:20px; transition:var(--transition); }
.collection-showcase-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.collection-showcase-image { aspect-ratio:4/3; background:#faf9f6; overflow:hidden; margin-bottom:18px; }
.collection-showcase-image img { width:100%; height:100%; object-fit:contain; padding:12px; }
.collection-showcase-card > span,.collection-showcase-card > strong,.collection-showcase-card > small { display:block; padding:0 20px; }
.collection-showcase-card > span { color:var(--accent); font-size:11px; text-transform:uppercase; letter-spacing:1.6px; margin-bottom:5px; }
.collection-showcase-card > strong { font-family:var(--font-head); color:var(--dark); font-size:22px; }
.collection-showcase-card > small { color:#888; margin-top:5px; }
.about-faq { margin-top:80px; }
.faq-section { max-width:860px; margin:0 auto; }
.faq-item { background:#fff; margin-bottom:15px; border-radius:var(--radius-sm); overflow:hidden; box-shadow:var(--shadow); }
.faq-question { padding:21px 26px; cursor:pointer; font-weight:600; color:var(--dark); display:flex; justify-content:space-between; gap:20px; align-items:center; transition:background .3s,color .3s; }
.faq-question:hover { background:#faf9f6; }
.faq-answer { padding:0 26px 22px; color:#555; line-height:1.7; display:none; }
.faq-item.active .faq-answer { display:block; }
.faq-item.active .faq-question { color:var(--accent); }
.about-cta { margin-top:100px; }
.about-cta .btn { margin-top:28px; }
.animate-fade-in { animation:humanFade .8s ease-out both; }
@keyframes humanFade { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:none; } }

/* Dealer page: restored visual hierarchy from the original version */
.wholesale-page { background:var(--bg); }
.ws-hero { position:relative; padding:125px 0 85px; background:var(--dark); color:#fff; overflow:hidden; }
.ws-hero::after { content:''; position:absolute; width:560px; height:560px; border:1px solid rgba(191,161,95,.18); border-radius:50%; right:-180px; top:-180px; box-shadow:0 0 0 70px rgba(191,161,95,.04),0 0 0 140px rgba(191,161,95,.025); }
.ws-hero-content { position:relative; z-index:1; max-width:900px; margin:0 auto; text-align:center; }
.ws-badge { display:inline-block; padding:8px 18px; border:1px solid rgba(191,161,95,.65); color:var(--accent); border-radius:50px; text-transform:uppercase; font-size:12px; letter-spacing:2px; margin-bottom:28px; }
.ws-title { font-size:clamp(38px,6vw,64px); line-height:1.08; margin-bottom:25px; color:#fff; }
.ws-subtitle { max-width:760px; margin:0 auto 38px; color:rgba(255,255,255,.78); font-size:18px; line-height:1.7; }
.ws-hero-button { background:var(--accent); color:var(--dark); }
.ws-hero-button:hover { background:#d4b972; color:var(--dark); }
.ws-stats { display:flex; justify-content:center; gap:70px; margin-top:65px; padding-top:38px; border-top:1px solid rgba(255,255,255,.12); }
.ws-stat-item h3 { color:var(--accent); font-size:34px; }
.ws-stat-item p { color:rgba(255,255,255,.67); font-size:13px; margin-top:5px; }
.ws-benefits { padding:90px 0; background:#fff; }
.ws-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.ws-card { background:var(--bg); border-radius:var(--radius); padding:32px 28px; border:1px solid #e7e1d7; transition:var(--transition); }
.ws-card:hover { transform:translateY(-5px); box-shadow:var(--shadow); }
.ws-icon { width:48px; height:48px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:var(--dark); color:var(--accent); font-size:21px; margin-bottom:22px; }
.ws-card h3 { color:var(--dark); font-size:21px; margin-bottom:12px; }
.ws-card p { color:#666; font-size:14px; line-height:1.7; }
.ws-form-section { padding:95px 0; }
.ws-form-wrap { max-width:690px; margin:0 auto; background:#fff; padding:48px; border-radius:var(--radius); box-shadow:var(--shadow); }
.ws-form-title { text-align:center; margin-bottom:10px; }
.ws-form-desc { text-align:center; color:#666; margin-bottom:30px; font-size:15px; }
.ws-field { margin-bottom:20px; }
.ws-label { display:block; font-weight:600; margin-bottom:8px; font-size:14px; color:var(--dark); }
.ws-input,.ws-select { width:100%; padding:16px 20px; border:1.5px solid #e0ddd5; border-radius:var(--radius-sm); font-family:var(--font-body); font-size:15px; background:#fff; transition:var(--transition); outline:none; }
.ws-input:focus,.ws-select:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(191,161,95,.1); }
.ws-consent { font-size:12px; color:#888; text-align:center; margin-top:18px; line-height:1.5; }
.ws-consent a { color:var(--dark); }

@media (max-width: 1000px) {
  .article-grid--home { grid-template-columns:1fr 1fr; }
  .materials-grid { grid-template-columns:1fr; }
  .collection-showcase { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .ws-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 768px) {
  .hero { height:auto; min-height:620px; }
  .catalog { padding:75px 0; }
  .article-grid--home { grid-template-columns:1fr; }
  .timeline::before { left:20px; }
  .timeline-item { width:100%; left:0 !important; padding-left:54px; padding-right:0; text-align:left !important; }
  .timeline-dot { left:10px !important; right:auto !important; }
  .collection-showcase { grid-template-columns:1fr 1fr; }
  .ws-hero { padding:100px 0 65px; }
  .ws-stats { flex-direction:column; gap:24px; margin-top:45px; }
  .ws-grid { grid-template-columns:1fr; }
  .ws-form-wrap { padding:32px 22px; }
}
@media (max-width: 520px) {
  .collection-showcase { grid-template-columns:1fr; }
  .contacts-section .contact-card { padding:28px; }
}
.social-link--inactive { opacity:.35; cursor:default; }

/* Product page: restored original interactive presentation, now with real moderated reviews */
.product-gallery .gallery-main-wrap{cursor:zoom-in}
.reviews-title{margin-top:8px;margin-bottom:0}
.reviews-header{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:30px}
.reviews-empty{padding:26px 0 34px;color:#666;border-top:1px solid #eee}
.reviews-empty strong{display:block;color:var(--dark);font-family:var(--font-head);font-size:21px;margin-bottom:8px}
.reviews-empty p{margin:0;line-height:1.65}
.review-form-note{color:#666;line-height:1.6;margin:-8px 0 22px}
.review-rating-label{display:block;font-size:14px;font-weight:600;color:var(--dark);margin-bottom:16px}
.review-rating{margin-top:8px;max-width:280px;background:#fff}
.review-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.form-status{min-height:20px;margin:12px 0;font-size:14px}
.form-status.success{color:#27713c}.form-status.error{color:#a52929}
@media(max-width:700px){.reviews-header{display:block}.reviews-summary{margin-top:18px}.review-rating{max-width:none}}

/* === SEO boost: human-first smart catalogue === */
.catalog-listing .page-intro { margin-bottom: 34px; }
.smart-filter { margin: 0 0 42px; padding: 30px; border: 1px solid #e8e3d9; background: #fff; border-radius: 18px; box-shadow: 0 12px 38px rgba(26,46,34,.045); }
.smart-filter__head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:24px; }
.smart-filter__head h2 { font-family:var(--font-head); font-size:clamp(25px,3vw,36px); color:var(--dark); margin:5px 0 0; font-weight:600; }
.smart-filter__count { color:#777; white-space:nowrap; font-size:14px; }
.smart-filter__form { display:grid; grid-template-columns:repeat(4,minmax(150px,1fr)); gap:16px; align-items:end; }
.smart-filter__form label { display:flex; flex-direction:column; gap:8px; font-size:12px; text-transform:uppercase; letter-spacing:.08em; color:#777; font-weight:600; }
.smart-filter__form select { min-height:48px; padding:0 38px 0 14px; border:1px solid #ded9cf; border-radius:10px; background:#fff; color:var(--text); font-family:var(--font-body); font-size:14px; text-transform:none; letter-spacing:normal; outline:none; transition:var(--transition); }
.smart-filter__form select:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(155,125,76,.1); }
.smart-filter__actions { display:flex; gap:10px; align-items:center; }
.smart-filter__actions .btn { min-height:48px; display:inline-flex; align-items:center; justify-content:center; }
.seo-picks { margin-top:26px; padding-top:24px; border-top:1px solid #eee9df; }
.seo-picks__title { font-family:var(--font-head); font-size:19px; color:var(--dark); margin-bottom:16px; }
.seo-picks__group { display:grid; grid-template-columns:100px 1fr; gap:16px; align-items:start; margin:12px 0; }
.seo-picks__group > strong { font-size:12px; text-transform:uppercase; letter-spacing:.07em; color:#888; padding-top:9px; }
.seo-picks__links { display:flex; flex-wrap:wrap; gap:8px; }
.seo-picks__links a { display:inline-flex; align-items:center; gap:7px; padding:8px 12px; background:#f8f6f1; border:1px solid transparent; border-radius:999px; color:var(--text); text-decoration:none; font-size:13px; transition:var(--transition); }
.seo-picks__links a:hover { border-color:var(--accent); color:var(--accent); background:#fff; }
.seo-picks__links a span { color:#999; font-size:11px; }
.seo-picks--landing { margin:0 0 34px; padding:22px 24px; border:1px solid #ebe6dc; border-radius:14px; background:#fff; }
.seo-picks--landing .seo-picks__title { margin-top:0; }
.seo-landing__intro { max-width:900px; }
.seo-landing__summary { display:flex; gap:18px; align-items:center; flex-wrap:wrap; margin-top:16px; font-size:14px; }
.seo-landing__summary span { padding:8px 13px; border-radius:999px; background:#f2efe8; }
.seo-landing__summary a { color:var(--accent); font-weight:600; text-decoration:none; }
.seo-landing__note { margin-top:52px; }

.product-discovery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:42px 0; }
.product-discovery__block { padding:26px; border:1px solid #e7e2d8; border-radius:16px; background:#fff; min-width:0; }
.product-discovery__block h2 { margin:5px 0 18px; font-family:var(--font-head); color:var(--dark); font-size:24px; line-height:1.15; font-weight:600; }
.variant-links { display:flex; flex-wrap:wrap; gap:9px; }
.variant-link { min-width:90px; display:flex; flex-direction:column; gap:2px; padding:10px 12px; border:1px solid #ded8cd; border-radius:10px; text-decoration:none; color:var(--text); transition:var(--transition); }
.variant-link span { font-weight:600; font-size:13px; }
.variant-link small { color:#919191; font-size:10px; text-transform:uppercase; letter-spacing:.04em; }
.variant-link:hover { border-color:var(--accent); color:var(--accent); }
.variant-link.active { border-color:var(--dark); background:var(--dark); color:#fff; pointer-events:none; }
.variant-link.active small { color:rgba(255,255,255,.65); }
.product-seo-links { display:flex; flex-direction:column; gap:8px; }
.product-seo-links a { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:10px 0; border-bottom:1px solid #eee9df; text-decoration:none; color:var(--text); font-size:13px; line-height:1.35; }
.product-seo-links a:last-child { border-bottom:0; }
.product-seo-links a:hover { color:var(--accent); }
.product-seo-links a span { color:#999; white-space:nowrap; font-size:11px; }
.product-facts__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.product-facts__grid > div { padding:12px; border-radius:10px; background:#f8f6f1; }
.product-facts__grid span { display:block; color:#8a8a8a; font-size:10px; text-transform:uppercase; letter-spacing:.06em; margin-bottom:4px; }
.product-facts__grid strong { display:block; color:var(--dark); font-size:13px; line-height:1.35; font-weight:600; }
.related-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:24px; }
.related-heading .section-title { margin:4px 0 0; }
.related-heading > a { color:var(--accent); text-decoration:none; font-weight:600; font-size:14px; white-space:nowrap; }

@media (max-width: 1050px) {
  .smart-filter__form { grid-template-columns:repeat(3,minmax(150px,1fr)); }
  .product-discovery { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .product-discovery__block:last-child:nth-child(3) { grid-column:1/-1; }
}
@media (max-width: 720px) {
  .smart-filter { padding:22px 16px; border-radius:14px; }
  .smart-filter__head { align-items:flex-start; flex-direction:column; gap:8px; }
  .smart-filter__form { grid-template-columns:1fr 1fr; gap:12px; }
  .smart-filter__actions { grid-column:1/-1; }
  .smart-filter__actions .btn { flex:1; }
  .seo-picks__group { grid-template-columns:1fr; gap:6px; }
  .seo-picks__group > strong { padding-top:0; }
  .product-discovery { grid-template-columns:1fr; gap:14px; }
  .product-discovery__block:last-child:nth-child(3) { grid-column:auto; }
  .related-heading { align-items:flex-start; flex-direction:column; gap:8px; }
}
@media (max-width: 460px) {
  .smart-filter__form { grid-template-columns:1fr; }
  .smart-filter__actions { grid-column:auto; }
  .smart-filter__actions { flex-direction:column; }
  .smart-filter__actions .btn { width:100%; }
  .product-facts__grid { grid-template-columns:1fr 1fr; }
}

/* === SEO 61 semantic expansion + mobile-first catalogue UX === */
.seo-landing__quickfacts{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
.seo-landing__quickfacts span{display:inline-flex;align-items:baseline;gap:4px;padding:9px 13px;border:1px solid #e7e1d5;border-radius:999px;background:rgba(255,255,255,.66);font-size:13px;color:#696969}
.seo-landing__quickfacts strong{font-size:14px;color:var(--dark)}
.seo-mobile-jump{display:none}
.seo-answer{display:flex;justify-content:space-between;align-items:center;gap:30px;margin:0 0 34px;padding:22px 26px;border-radius:16px;background:var(--dark);color:#fff}
.seo-answer>div{max-width:930px}.seo-answer p{margin:5px 0 0;line-height:1.65;color:rgba(255,255,255,.84);font-size:15px}
.seo-answer__eyebrow{display:block;color:#d7bf89;font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.seo-answer>a{flex:0 0 auto;color:#fff;text-decoration:none;font-weight:700;font-size:13px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.45)}
.seo-offer-catalog{scroll-margin-top:120px}
.seo-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:0 0 24px}
.seo-section-head h2{font-size:clamp(28px,3.6vw,40px);color:var(--dark);margin:2px 0 0}
.seo-section-head>span{color:#767676;font-size:13px;white-space:nowrap;padding-bottom:5px}
.seo-guide{scroll-margin-top:120px;margin-top:76px;padding-top:58px;border-top:1px solid #e1dccf}
.seo-guide__header{max-width:820px;margin-bottom:30px}
.seo-guide__header h2{font-size:clamp(30px,4vw,46px);color:var(--dark);margin:5px 0 12px}
.seo-guide__header p{color:#666;font-size:16px;line-height:1.75}
.seo-guide__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.seo-guide-card{position:relative;min-height:240px;padding:30px;border:1px solid #e7e1d5;border-radius:18px;background:#fff;box-shadow:0 8px 28px rgba(26,46,34,.035)}
.seo-guide-card>span{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:50%;background:#f2eee5;color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.06em}
.seo-guide-card h3{font-size:clamp(21px,2.3vw,28px);color:var(--dark);margin:18px 0 12px}
.seo-guide-card p{color:#5f5f5f;line-height:1.75;font-size:15px;margin:0}
.seo-guide__custom.prose{padding:30px;border:1px solid #e7e1d5;border-radius:18px;background:#fff;color:#555;line-height:1.75}
.seo-guide__custom.prose h2,.seo-guide__custom.prose h3{color:var(--dark);margin:26px 0 10px}.seo-guide__custom.prose h2:first-child,.seo-guide__custom.prose h3:first-child{margin-top:0}
.seo-compare-facts{margin-top:18px;padding:30px;border-radius:18px;background:#eeebe3}
.seo-compare-facts h3{font-size:25px;color:var(--dark);margin-bottom:18px}
.seo-compare-facts__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.seo-compare-facts__grid>div{padding:15px 16px;border-radius:12px;background:rgba(255,255,255,.72)}
.seo-compare-facts__grid span{display:block;margin-bottom:5px;color:#878787;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.seo-compare-facts__grid strong{font-size:13px;line-height:1.5;color:var(--dark);font-weight:600}
.seo-collections{display:grid;grid-template-columns:minmax(260px,.75fr) 1.25fr;gap:38px;align-items:start;margin-top:18px;padding:34px;border:1px solid #e7e1d5;border-radius:18px;background:#fff}
.seo-collections h3{font-size:28px;color:var(--dark);margin:4px 0 10px}.seo-collections p{color:#666;line-height:1.7;font-size:14px}
.seo-collections__links{display:flex;flex-wrap:wrap;gap:9px}.seo-collections__links a,.seo-collections__links span{display:inline-flex;align-items:center;min-height:42px;padding:9px 14px;border:1px solid #e1dbcf;border-radius:999px;color:var(--dark);text-decoration:none;font-size:13px;background:#faf8f4}
.seo-collections__links a:hover{color:var(--accent);border-color:var(--accent);background:#fff}
.seo-faq{scroll-margin-top:120px;display:grid;grid-template-columns:minmax(240px,.55fr) 1.45fr;gap:50px;margin-top:76px;padding-top:58px;border-top:1px solid #e1dccf}
.seo-faq__header h2{font-size:clamp(29px,3.8vw,43px);color:var(--dark);margin:5px 0}
.seo-faq__list{border-top:1px solid #ddd6c9}
.seo-faq details{border-bottom:1px solid #ddd6c9}
.seo-faq summary{display:flex;justify-content:space-between;align-items:center;gap:18px;min-height:68px;padding:17px 0;cursor:pointer;list-style:none;color:var(--dark);font-weight:650;font-size:16px;line-height:1.4}
.seo-faq summary::-webkit-details-marker{display:none}.seo-faq summary span{flex:0 0 34px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:1px solid #d9d2c6;border-radius:50%;font-size:19px;font-weight:400;transition:transform .25s}
.seo-faq details[open] summary span{transform:rotate(45deg)}
.seo-faq details>div{padding:0 52px 20px 0}.seo-faq details p{color:#606060;line-height:1.75;font-size:15px;margin:0}
.seo-landing-cta{display:flex;align-items:center;justify-content:space-between;gap:34px;margin-top:70px;padding:38px 42px;border-radius:20px;background:#fff;box-shadow:var(--shadow)}
.seo-landing-cta>div{max-width:760px}.seo-landing-cta h2{font-size:clamp(27px,3vw,38px);color:var(--dark);margin:4px 0 10px}.seo-landing-cta p{color:#666;line-height:1.7}.seo-landing-cta .btn{flex:0 0 auto}
.seo-pagination-note a{color:var(--accent);font-weight:600}

@media (hover:none){.seo-landing .card:hover{transform:none}.seo-picks__links a:hover,.seo-collections__links a:hover{border-color:inherit;color:inherit;background:inherit}}

@media(max-width:720px){
  .seo-landing.page-shell{padding-top:22px;padding-bottom:64px}
  .seo-landing .breadcrumbs{margin-bottom:18px;font-size:11px;gap:5px;line-height:1.4}
  .seo-landing__intro{margin-bottom:18px}.seo-landing__intro .hero__subtitle{margin-bottom:10px;font-size:10px;letter-spacing:2px}
  .seo-landing__intro h1{font-size:clamp(29px,9vw,39px);line-height:1.07;margin-bottom:13px}
  .seo-landing__intro p{font-size:14px;line-height:1.65}
  .seo-landing__quickfacts{flex-wrap:nowrap;overflow-x:auto;margin:16px -24px 0;padding:0 24px 5px;scrollbar-width:none;overscroll-behavior-inline:contain;scroll-snap-type:x proximity}
  .seo-landing__quickfacts::-webkit-scrollbar{display:none}.seo-landing__quickfacts span{flex:0 0 auto;scroll-snap-align:start;min-height:38px;padding:7px 11px;font-size:11px}.seo-landing__quickfacts strong{font-size:12px}
  .seo-landing__summary{margin-top:10px;font-size:12px}
  .seo-mobile-jump{position:sticky;top:77px;z-index:65;display:flex;gap:6px;margin:0 -24px 18px;padding:8px 24px;background:rgba(244,241,234,.96);border-top:1px solid rgba(26,46,34,.05);border-bottom:1px solid rgba(26,46,34,.08);backdrop-filter:blur(14px);overflow-x:auto;scrollbar-width:none}
  .seo-mobile-jump::-webkit-scrollbar{display:none}.seo-mobile-jump a{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 12px;border-radius:999px;background:#fff;border:1px solid #e5dfd3;color:var(--dark);text-decoration:none;font-size:12px;font-weight:650}.seo-mobile-jump a span{color:#929292;font-size:10px}
  .seo-picks--landing{margin:0 0 18px;padding:16px 0;border-left:0;border-right:0;border-radius:0;background:transparent}
  .seo-picks--landing .seo-picks__title{font-size:17px;margin-bottom:12px}.seo-picks__group{margin:10px 0}.seo-picks__group>strong{font-size:10px}
  .seo-picks__links{flex-wrap:nowrap;overflow-x:auto;margin-right:-24px;padding-right:24px;padding-bottom:5px;scrollbar-width:none;scroll-snap-type:x proximity}.seo-picks__links::-webkit-scrollbar{display:none}.seo-picks__links a{flex:0 0 auto;min-height:40px;padding:8px 11px;font-size:12px;scroll-snap-align:start}
  .seo-answer{display:block;margin-bottom:18px;padding:17px 18px;border-radius:13px}.seo-answer p{font-size:13px;line-height:1.6}.seo-answer>a{display:inline-block;margin-top:10px;font-size:12px}
  .seo-landing .catalog-meta{flex-wrap:nowrap;overflow-x:auto;margin:14px -24px 22px;padding:0 24px 4px;scrollbar-width:none}.seo-landing .catalog-meta::-webkit-scrollbar{display:none}.seo-landing .catalog-meta span{flex:0 0 auto;padding:7px 11px;font-size:11px}
  .seo-section-head{align-items:flex-end;margin-bottom:16px}.seo-section-head h2{font-size:28px}.seo-section-head .hero__subtitle{font-size:10px;margin-bottom:2px}.seo-section-head>span{font-size:11px}
  .seo-guide{margin-top:52px;padding-top:40px}.seo-guide__header{margin-bottom:22px}.seo-guide__header h2{font-size:31px;line-height:1.12}.seo-guide__header p{font-size:14px;line-height:1.65}
  .seo-guide__grid{grid-template-columns:1fr;gap:10px}.seo-guide-card{min-height:0;padding:21px 19px;border-radius:14px}.seo-guide-card>span{width:30px;height:30px}.seo-guide-card h3{font-size:22px;margin:13px 0 8px}.seo-guide-card p{font-size:13px;line-height:1.65}
  .seo-guide__custom.prose{padding:20px 18px;font-size:14px}
  .seo-compare-facts{padding:20px 18px;border-radius:14px}.seo-compare-facts h3{font-size:21px}.seo-compare-facts__grid{grid-template-columns:1fr;gap:7px}.seo-compare-facts__grid>div{padding:11px 12px}
  .seo-collections{grid-template-columns:1fr;gap:16px;padding:21px 18px;border-radius:14px}.seo-collections h3{font-size:23px}.seo-collections__links{flex-wrap:nowrap;overflow-x:auto;margin-right:-18px;padding-right:18px;padding-bottom:4px;scrollbar-width:none}.seo-collections__links::-webkit-scrollbar{display:none}.seo-collections__links a,.seo-collections__links span{flex:0 0 auto;min-height:40px;font-size:12px}
  .seo-faq{grid-template-columns:1fr;gap:20px;margin-top:52px;padding-top:40px}.seo-faq__header h2{font-size:30px}.seo-faq summary{min-height:62px;padding:14px 0;font-size:14px}.seo-faq summary span{width:32px;height:32px;flex-basis:32px}.seo-faq details>div{padding:0 42px 17px 0}.seo-faq details p{font-size:13px;line-height:1.65}
  .seo-landing-cta{display:block;margin-top:48px;padding:24px 20px;border-radius:15px}.seo-landing-cta h2{font-size:27px}.seo-landing-cta p{font-size:13px}.seo-landing-cta .btn{width:100%;margin-top:18px;min-height:50px}
  .seo-landing .pagination{margin-top:34px;gap:6px}.seo-landing .pagination a,.seo-landing .pagination span{min-width:40px;height:40px}
}

/* Two-column mobile catalogue: more products above the fold, with readable touch targets. */
@media(max-width:600px){
  .seo-landing .products-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .seo-landing .card{border-radius:14px;box-shadow:0 5px 20px rgba(26,46,34,.065)}
  .seo-landing .card__img-wrap,.seo-landing .card__img-wrap img{padding:0}
  .seo-landing .card__img-slider img{padding:9px}
  .seo-landing .card__img-dots{display:none}
  .seo-landing .card__badge{top:8px;left:8px;padding:4px 8px;font-size:8px;letter-spacing:.06em}
  .seo-landing .card__body{padding:12px 11px 13px}
  .seo-landing .card__name{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:52px;margin-bottom:9px;font-size:13px;line-height:1.32}
  .seo-landing .card__price-row{display:block;margin-bottom:7px}.seo-landing .card__price{font-size:17px;line-height:1.2}.seo-landing .card__old-price{display:block;margin-top:2px;font-size:10px}
  .seo-landing .card__stock{font-size:10px;gap:4px}.seo-landing .card__stock:before{width:6px;height:6px}
  .seo-landing .card__add-btn{min-height:42px;margin-top:10px;padding:9px 6px;font-size:11px;border-width:1px;touch-action:manipulation}
}
@media(max-width:340px){.seo-landing .products-grid{grid-template-columns:1fr}.seo-landing .card__name{min-height:0;font-size:14px}.seo-landing .card__price{font-size:20px}}
/* Mobile menu must stay closed until the burger is activated. */
@media(max-width:768px){
  .mobile-nav.mobile-only{display:none!important}
  .mobile-nav.mobile-only.open{display:flex!important}
}
.seo-picks__mobile-summary{display:none}
details.seo-picks--landing:not([open])>.seo-picks__body{display:block}
@media(max-width:720px){
  details.seo-picks--landing{padding:0;border:0}
  .seo-picks__mobile-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:48px;padding:0 2px;border-bottom:1px solid #ddd6c9;list-style:none;color:var(--dark);font-size:13px;font-weight:700;cursor:pointer}
  .seo-picks__mobile-summary::-webkit-details-marker{display:none}
  .seo-picks__mobile-summary span{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid #d9d2c6;border-radius:50%;font-size:17px;font-weight:400;transition:transform .2s}
  details.seo-picks--landing[open] .seo-picks__mobile-summary span{transform:rotate(45deg)}
  details.seo-picks--landing:not([open])>.seo-picks__body{display:none}
  details.seo-picks--landing[open]>.seo-picks__body{display:block;padding-top:14px}
}
@media(max-width:720px){.seo-answer>a{display:none}.seo-answer{padding:16px 17px}}
/* Collapsible related-parameter links on mobile, always visible on desktop. */
.seo-picks--landing>.seo-picks__body{display:block}
@media(max-width:720px){
  .seo-picks--landing>.seo-picks__body{display:none}
  .seo-picks--landing.is-open>.seo-picks__body{display:block;padding-top:14px}
  .seo-picks--landing.is-open .seo-picks__mobile-summary span{transform:rotate(45deg)}
}

/* === PRODUCT MOBILE REWORK 2026 === */
.product-ssr .container{min-width:0}
.product-ssr .product-main-grid{min-width:0}
.product-ssr .product-info{min-width:0}
.product-ssr .product-title{overflow-wrap:anywhere}
.product-ssr .product-short-params{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
.product-ssr .short-param-item{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #eee9df;min-width:0}
.product-ssr .short-param-item span:first-child{color:#858585;font-size:12px;min-width:0}
.product-ssr .short-param-item span:last-child{color:var(--dark);font-size:13px;font-weight:600;text-align:right;overflow-wrap:anywhere}
.product-ssr .product-actions .btn{min-height:52px;font-size:16px}
.product-ssr .specs-table{width:100%;table-layout:fixed}
.product-ssr .specs-table td{vertical-align:top;overflow-wrap:anywhere}
.product-ssr .variant-links{display:flex;gap:8px;overflow-x:auto;padding-bottom:5px;scrollbar-width:none}
.product-ssr .variant-links::-webkit-scrollbar{display:none}
.product-ssr .variant-link{flex:0 0 auto;min-width:130px}

@media (max-width: 1024px){
  .product-ssr{padding:24px 0 64px}
  .product-main-grid{gap:24px}
  .product-gallery{width:100%;max-width:760px;margin:0 auto}
  .gallery-main-wrap{padding:12px;border-radius:16px;margin-bottom:10px;aspect-ratio:auto;height:min(76vw,560px);min-height:300px}
  .gallery-main-img{height:100%;width:100%;max-width:100%;max-height:100%;padding:10px;border-radius:12px}
  .gallery-thumbs{gap:8px;margin-top:8px;padding-bottom:4px}
  .gallery-thumb{flex-basis:68px;height:68px;border-radius:10px}
  .product-info{padding-top:0}
  .product-title{font-size:clamp(27px,5vw,36px);line-height:1.08;margin-bottom:8px}
  .product-sku{margin:6px 0 14px;font-size:12px}
  .product-price-block{margin-bottom:12px;gap:10px;flex-wrap:wrap}
  .product-price{font-size:34px;line-height:1}
  .product-old-price{font-size:17px}
  .product-stock{margin-bottom:16px;padding:7px 12px;font-size:13px}
  .product-actions{position:sticky;bottom:12px;z-index:30;padding-top:10px}
  .product-actions .btn{box-shadow:0 8px 26px rgba(0,0,0,.16)}
  .product-discovery{margin:28px 0;gap:12px}
  .product-discovery__block{padding:18px;border-radius:14px}
  .product-discovery__block h2{font-size:21px;margin-bottom:14px}
  .product-details-section{margin-bottom:50px;padding-top:24px}
  .tabs-header{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid #e3ded4;border-radius:12px;padding:3px;overflow:visible}
  .tab-btn{padding:11px 8px;border-radius:9px}
  .tab-btn.active{background:#f1eee7}
  .product-description{font-size:15px;line-height:1.65;max-width:none}
  .specs-table,.specs-table tbody{display:block}
  .specs-table tr{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);border-bottom:1px solid #eee9df}
  .specs-table td{display:block;border:0;padding:10px 8px;font-size:13px}
  .specs-table td:first-child{padding-right:8px;color:#777}
}

@media (max-width: 600px){
  .product-ssr{padding:14px 0 52px}
  .product-ssr .container{padding-left:14px;padding-right:14px}
  .product-ssr .breadcrumbs{margin-bottom:10px;white-space:nowrap;overflow-x:auto;padding-bottom:3px;scrollbar-width:none}
  .product-ssr .breadcrumbs::-webkit-scrollbar{display:none}
  .product-ssr .back-btn{display:inline-flex;margin-bottom:12px;font-size:13px;padding:7px 0}
  .gallery-main-wrap{height:min(86vw,360px);min-height:240px;padding:8px;border-radius:14px}
  .gallery-main-img{padding:4px}
  .gallery-thumb{flex-basis:58px;height:58px;padding:4px}
  .product-title{font-size:25px;line-height:1.12;letter-spacing:-.01em}
  .product-price{font-size:31px}
  .product-short-params{grid-template-columns:1fr 1fr;gap:0 12px}
  .product-short-params .short-param-item{display:block;padding:9px 0}
  .product-short-params .short-param-item span{display:block;text-align:left!important}
  .product-short-params .short-param-item span:last-child{margin-top:3px;font-size:13px}
  .product-actions{bottom:8px;padding-top:8px}
  .product-actions .btn{min-height:50px;border-radius:14px}
  .product-discovery__block{padding:16px}
  .product-discovery__block h2{font-size:19px}
  .product-seo-links a{padding:9px 0;align-items:flex-start}
  .product-seo-links a span{font-size:10px}
  .product-facts__grid{grid-template-columns:1fr 1fr;gap:8px}
  .product-facts__grid>div{padding:10px}
  .product-facts__grid strong{font-size:12px}
  .product-details-section{padding-top:18px}
  .product-details-section .tabs-header{position:sticky;top:64px;z-index:12;background:var(--bg);box-shadow:0 4px 12px rgba(0,0,0,.04)}
  .related-section{margin-top:46px}
  .reviews-section{padding-left:0;padding-right:0}
}

@media (max-width: 360px){
  .product-ssr .container{padding-left:12px;padding-right:12px}
  .product-title{font-size:23px}
  .product-price{font-size:29px}
  .product-short-params{grid-template-columns:1fr}
  .product-facts__grid{grid-template-columns:1fr}
  .gallery-main-wrap{height:250px;min-height:220px}
}
