@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');

/* ============================================================
   Гармония Востока — тёмно-синяя кинематографичная тема
   ============================================================ */

:root {
    --bg:        #0a1124;
    --bg-2:      #060a16;
    --surface:   #121b35;
    --surface-2: #1a2545;
    --surface-3: #243358;
    --ink:       #f1efe6;
    --ink-2:     #c3c9d8;
    --muted:     #818aa1;
    --gold:        #d8b36a;
    --gold-bright: #ecd49a;
    --gold-deep:   #b08e4e;
    --teal:        #46b6cf;
    --teal-bright: #7ad6e6;
    --teal-soft:   rgba(70,182,207,.15);
    --line:      rgba(216,179,106,.18);
    --line-soft: rgba(255,255,255,.08);
    --hair:      rgba(216,179,106,.32);
    --radius:    18px;
    --radius-sm: 12px;
    --shadow:    0 2px 8px rgba(0,0,0,.4), 0 22px 50px -22px rgba(0,0,0,.78);
    --shadow-lg: 0 4px 14px rgba(0,0,0,.45), 0 40px 90px -30px rgba(0,0,0,.9);
    --serif:     "Playfair Display", Georgia, "Times New Roman", serif;
    --sans:      -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
}

* { box-sizing: border-box; }

html {
    background: var(--bg);
    scroll-behavior: smooth;
}

body {
    margin: 0;
    padding: 0;
    color: var(--ink);
    font-family: var(--sans);
    -webkit-font-smoothing: antialiased;
    line-height: 1.62;
    background-color: var(--bg);
    background-image:
        radial-gradient(900px 620px at 88% -10%, rgba(216,179,106,.13), transparent 60%),
        radial-gradient(820px 720px at -12% 8%,  rgba(70,130,205,.18), transparent 58%),
        radial-gradient(1300px 980px at 50% 122%, rgba(70,150,210,.11), transparent 62%),
        linear-gradient(180deg, #0b1428 0%, #0a1020 58%, #070b16 100%);
    background-attachment: fixed;
    background-repeat: no-repeat;
}

/* зерно поверх фона — глубина без шума */
body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: .05;
    mix-blend-mode: overlay;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
    background-size: 220px 220px;
}
body > * { position: relative; z-index: 1; }

@media (max-width: 720px) {
    body { background-attachment: scroll; }
}

img { max-width: 100%; display: block; }

a { color: var(--gold); text-decoration: none; transition: color .15s ease; }
a:hover { color: var(--gold-bright); }

::selection { background: rgba(216,179,106,.32); color: var(--ink); }

:focus-visible {
    outline: 2px solid var(--gold);
    outline-offset: 2px;
    border-radius: 4px;
}

.container {
    width: 100%;
    max-width: 1220px;
    margin: 0 auto;
    padding: 0 22px;
}

h1, h2, h3, h4 {
    font-family: var(--serif);
    font-weight: 600;
    letter-spacing: -0.012em;
    margin: 0 0 .5em;
    color: var(--ink);
}

h1 { font-size: clamp(34px, 5vw, 56px); line-height: 1.08; font-weight: 700; }
h2 { font-size: clamp(26px, 3.4vw, 40px); line-height: 1.14; }
h3 { font-size: 19px; }

p { margin: 0 0 1em; }

.muted { color: var(--muted); }

.kicker {
    text-transform: uppercase;
    letter-spacing: .28em;
    font-size: 11px;
    color: var(--gold);
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 11px;
}
.kicker::before {
    content: "";
    width: 28px;
    height: 1px;
    background: linear-gradient(90deg, var(--gold), transparent);
}

/* ===================== HEADER ===================== */
.site-header {
    position: sticky;
    top: 0;
    z-index: 80;
    background: rgba(9, 14, 30, .80);
    backdrop-filter: saturate(160%) blur(14px);
    -webkit-backdrop-filter: saturate(160%) blur(14px);
    border-bottom: 1px solid var(--line);
}

.header-inner {
    display: flex;
    align-items: center;
    gap: 18px;
    height: 78px;
}

.brand {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    color: var(--ink) !important;
}
.brand:hover { color: var(--ink) !important; }

.brand-mark {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    flex-shrink: 0;
    background: radial-gradient(circle at 34% 28%, #243358, #0b1326 78%);
    color: var(--gold-bright);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--serif);
    font-size: 23px;
    box-shadow:
        0 0 0 1px var(--hair) inset,
        0 0 0 4px rgba(216,179,106,.07),
        0 4px 14px rgba(0,0,0,.55);
}

.brand-text {
    font-family: var(--serif);
    font-weight: 700;
    font-size: 21px;
    line-height: 1.05;
}
.brand-text small {
    display: block;
    color: var(--gold);
    font-family: var(--sans);
    font-size: 9.5px;
    font-weight: 600;
    letter-spacing: .2em;
    text-transform: uppercase;
    margin-top: 3px;
}

.nav {
    margin-left: 30px;
    display: flex;
    gap: 28px;
    flex: 1;
    flex-wrap: wrap;
}
.nav a {
    color: var(--ink-2);
    font-weight: 500;
    font-size: 15px;
    position: relative;
    padding: 5px 0;
}
.nav a::after {
    content: "";
    position: absolute;
    left: 0; right: 100%;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, var(--gold), var(--gold-bright));
    transition: right .24s ease;
}
.nav a:hover { color: var(--gold-bright); }
.nav a:hover::after { right: 0; }
.nav a[aria-current="page"] { color: var(--gold); }

.header-cta { display: inline-flex; gap: 10px; align-items: center; }

.nav-toggle {
    display: none;
    width: 44px; height: 44px;
    border: 1px solid var(--line);
    border-radius: 11px;
    background: var(--surface);
    color: var(--ink);
    cursor: pointer;
    align-items: center;
    justify-content: center;
}
.nav-toggle svg { width: 20px; height: 20px; }

@media (max-width: 860px) {
    .header-inner { height: 66px; }
    .nav {
        position: absolute;
        left: 0; right: 0; top: 100%;
        margin: 0;
        flex-direction: column;
        gap: 0;
        background: rgba(9,14,30,.98);
        backdrop-filter: blur(14px);
        border-bottom: 1px solid var(--line);
        padding: 8px 22px 16px;
        display: none;
    }
    .nav.open { display: flex; }
    .nav a { padding: 13px 0; border-bottom: 1px solid var(--line-soft); font-size: 16px; }
    .nav a::after { display: none; }
    .header-cta .btn { display: none; }
    .nav-toggle { display: inline-flex; }
}

/* ===================== BUTTONS ===================== */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 26px;
    border-radius: 999px;
    border: 1px solid transparent;
    font-family: var(--sans);
    font-weight: 600;
    font-size: 14px;
    letter-spacing: .01em;
    cursor: pointer;
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease, border-color .15s ease;
    white-space: nowrap;
}
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(0); }

.btn-primary {
    background: linear-gradient(160deg, var(--gold-bright), var(--gold) 52%, var(--gold-deep));
    color: #1a1305;
    box-shadow: 0 10px 26px -10px rgba(216,179,106,.7), 0 0 0 1px rgba(255,255,255,.12) inset;
}
.btn-primary:hover {
    color: #1a1305;
    box-shadow: 0 16px 36px -12px rgba(216,179,106,.85);
}
.btn-ghost {
    background: rgba(255,255,255,.04);
    color: var(--ink);
    border-color: var(--hair);
}
.btn-ghost:hover {
    background: rgba(216,179,106,.10);
    border-color: var(--gold);
    color: var(--gold-bright);
}
.btn-warm {
    background: linear-gradient(160deg, var(--teal-bright), var(--teal) 60%, #2f8aa0);
    color: #04161c;
    box-shadow: 0 10px 24px -10px rgba(70,182,207,.7);
}
.btn-warm:hover { color: #04161c; box-shadow: 0 14px 30px -10px rgba(70,182,207,.85); }

/* маркетплейс-кнопки */
.btn-mp { padding: 12px 14px; font-size: 13px; font-weight: 700; letter-spacing: .04em; }
.btn-ozon { background: #1a6dff; color: #fff; box-shadow: 0 8px 20px -10px rgba(26,109,255,.9); }
.btn-ozon:hover { background: #4a8bff; color: #fff; }
.btn-wb { background: #d52ab8; color: #fff; box-shadow: 0 8px 20px -10px rgba(213,42,184,.9); }
.btn-wb:hover { background: #e756cf; color: #fff; }
.btn-disabled {
    background: var(--surface-2);
    color: var(--muted);
    border: 1px dashed var(--line);
    cursor: not-allowed;
    box-shadow: none;
}
.btn-disabled:hover { background: var(--surface-2); color: var(--muted); transform: none; }

/* ===================== HERO ===================== */
.hero {
    position: relative;
    min-height: min(880px, 93vh);
    display: flex;
    align-items: center;
    overflow: hidden;
    border-bottom: 1px solid var(--line);
}
.hero-canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    z-index: 0;
}
.hero-scrim {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        linear-gradient(102deg, var(--bg) 4%, rgba(10,17,36,.90) 30%, rgba(10,17,36,.40) 56%, transparent 80%),
        linear-gradient(0deg, var(--bg) 1%, transparent 24%, transparent 78%, rgba(10,17,36,.55) 100%);
}
.hero-inner {
    position: relative;
    z-index: 2;
    width: 100%;
    padding-top: 60px;
    padding-bottom: 90px;
}
.hero-copy { max-width: 640px; }
.hero h1 { margin-top: 18px; font-size: clamp(40px, 6.4vw, 78px); }
.hero h1 span {
    background: linear-gradient(100deg, var(--gold-deep), var(--gold) 38%, var(--gold-bright) 72%, var(--gold));
    background-size: 220% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-style: italic;
    font-weight: 600;
    animation: shimmer 7s ease-in-out infinite;
}
@keyframes shimmer {
    0%, 100% { background-position: 0% 50%; }
    50%      { background-position: 100% 50%; }
}
.hero .lead {
    font-size: 18px;
    color: var(--ink-2);
    max-width: 540px;
    margin: 24px 0 32px;
}
.hero-cta { display: flex; gap: 14px; flex-wrap: wrap; }

.hero-facts {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin: 36px 0 0;
    padding: 0;
}
.hero-facts li {
    font-size: 13px;
    color: var(--ink-2);
    padding: 2px 20px;
    border-left: 1px solid var(--line);
    display: flex;
    align-items: center;
    gap: 8px;
}
.hero-facts li:first-child { padding-left: 0; border-left: 0; }
.hero-facts li::before {
    content: "";
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--gold);
    box-shadow: 0 0 8px rgba(216,179,106,.8);
}

.hero-scroll {
    position: absolute;
    left: 50%;
    bottom: 26px;
    transform: translateX(-50%);
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    color: var(--muted);
    font-size: 10px;
    letter-spacing: .22em;
    text-transform: uppercase;
}
.hero-scroll:hover { color: var(--gold); }
.hero-scroll .mouse {
    width: 22px; height: 34px;
    border: 1px solid var(--hair);
    border-radius: 12px;
    position: relative;
}
.hero-scroll .mouse::before {
    content: "";
    position: absolute;
    left: 50%; top: 7px;
    width: 3px; height: 7px;
    margin-left: -1.5px;
    border-radius: 2px;
    background: var(--gold);
    animation: scrolldot 1.7s ease-in-out infinite;
}
@keyframes scrolldot {
    0%   { opacity: 0; transform: translateY(-3px); }
    40%  { opacity: 1; }
    80%  { opacity: 0; transform: translateY(8px); }
    100% { opacity: 0; }
}

@media (max-width: 860px) {
    .hero { min-height: 86vh; }
    .hero-scrim {
        background:
            linear-gradient(180deg, rgba(10,17,36,.92) 8%, rgba(10,17,36,.55) 38%, rgba(10,17,36,.80) 100%);
    }
    .hero-inner { padding-top: 40px; padding-bottom: 70px; }
}
@media (max-width: 520px) {
    .hero-facts li { padding: 2px 13px; }
}

/* ===================== SECTIONS ===================== */
.section { padding: 88px 0; }
.section-head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 26px;
    margin-bottom: 40px;
    flex-wrap: wrap;
}
.section-head .kicker { margin-bottom: 12px; }
.section-head p { color: var(--muted); margin: 0; max-width: 580px; }

/* ===================== USP ===================== */
.usp-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}
.usp-card {
    position: relative;
    background: linear-gradient(168deg, var(--surface-2), var(--surface));
    border: 1px solid var(--line-soft);
    border-radius: var(--radius);
    padding: 28px 24px;
    overflow: hidden;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.usp-card::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: radial-gradient(140% 80% at 100% 0%, rgba(216,179,106,.12), transparent 60%);
    opacity: 0;
    transition: opacity .2s ease;
}
.usp-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow);
    border-color: var(--hair);
}
.usp-card:hover::after { opacity: 1; }
.usp-card .ico {
    width: 52px; height: 52px;
    border-radius: 14px;
    background: radial-gradient(circle at 32% 28%, var(--surface-3), #0b1326 82%);
    color: var(--gold-bright);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    margin-bottom: 18px;
    box-shadow: 0 0 0 1px var(--line) inset;
}
.usp-card h3 { font-size: 17px; margin: 0 0 8px; }
.usp-card p { margin: 0; color: var(--muted); font-size: 14px; }

@media (max-width: 920px) { .usp-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .usp-grid { grid-template-columns: 1fr; } }

/* ===================== BRANDS ===================== */
.brands-strip {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}
.brand-card {
    position: relative;
    background: linear-gradient(168deg, var(--surface-2), var(--surface));
    border: 1px solid var(--line-soft);
    border-radius: var(--radius);
    padding: 30px 24px;
    text-align: center;
    overflow: hidden;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.brand-card::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--gold), transparent);
    opacity: 0;
    transition: opacity .2s ease;
}
.brand-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow);
    border-color: var(--hair);
}
.brand-card:hover::before { opacity: 1; }
.brand-card .b-name {
    font-family: var(--serif);
    font-weight: 700;
    font-size: 21px;
    color: var(--ink);
    margin-bottom: 9px;
}
.brand-card .b-intro { color: var(--ink-2); font-size: 13px; margin-bottom: 14px; }
.brand-card .b-count {
    display: inline-block;
    color: var(--gold);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .14em;
    font-weight: 600;
    padding-top: 12px;
    border-top: 1px solid var(--line-soft);
}
@media (max-width: 720px) { .brands-strip { grid-template-columns: repeat(2, 1fr); } }

/* ===================== CATALOG FILTERS ===================== */
.filter-row {
    display: flex;
    gap: 34px;
    margin-bottom: 28px;
    flex-wrap: wrap;
    align-items: flex-start;
}
.filter-group { display: flex; flex-direction: column; gap: 11px; min-width: 0; }
.filter-title {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .16em;
    color: var(--gold);
    font-weight: 600;
}
.filters { display: flex; gap: 8px; flex-wrap: wrap; }
.filter-chip {
    padding: 9px 17px;
    border-radius: 999px;
    background: var(--surface-2);
    border: 1px solid var(--line-soft);
    color: var(--ink-2);
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    font-family: var(--sans);
    transition: all .15s ease;
}
.filter-chip:hover { border-color: var(--gold); color: var(--gold-bright); }
.filter-chip.active {
    background: linear-gradient(160deg, var(--gold-bright), var(--gold) 55%, var(--gold-deep));
    color: #1a1305;
    border-color: var(--gold);
    box-shadow: 0 8px 20px -10px rgba(216,179,106,.8);
}

.search-box {
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--surface-2);
    border: 1px solid var(--line-soft);
    border-radius: 999px;
    padding: 6px 18px;
    min-width: 250px;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.search-box:focus-within { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(216,179,106,.14); }
.search-box input {
    border: none;
    background: transparent;
    outline: none;
    flex: 1;
    font-size: 14px;
    font-family: var(--sans);
    color: var(--ink);
    padding: 7px 0;
}
.search-box input::placeholder { color: var(--muted); }

.results-info { color: var(--muted); font-size: 14px; margin: 12px 0 22px; }

/* ===================== PRODUCT GRID ===================== */
.products-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
}
@media (max-width: 1000px) { .products-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 720px)  { .products-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 420px)  { .products-grid { grid-template-columns: 1fr; } }

.product-card {
    background: linear-gradient(180deg, var(--surface-2), var(--surface));
    border: 1px solid var(--line-soft);
    border-radius: var(--radius);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.product-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-lg);
    border-color: var(--hair);
}
.product-thumb {
    aspect-ratio: 1 / 1;
    background: radial-gradient(125% 125% at 50% 16%, #fbf7ec, #e7ddc6);
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid var(--line-soft);
}
.product-thumb img {
    width: 100%; height: 100%;
    object-fit: contain;
    padding: 16px;
    transition: transform .35s ease;
}
.product-card:hover .product-thumb img { transform: scale(1.05); }
.product-body { padding: 17px 18px 18px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.product-brand {
    font-size: 10px;
    color: var(--gold);
    text-transform: uppercase;
    letter-spacing: .16em;
    font-weight: 600;
}
.product-name {
    font-size: 14px;
    color: var(--ink);
    font-weight: 500;
    line-height: 1.45;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    flex: 1;
    margin: 0 0 8px;
}
a.product-name:hover { color: var(--gold-bright); }
.product-price {
    display: flex;
    align-items: baseline;
    gap: 8px;
    font-family: var(--serif);
    font-weight: 700;
    font-size: 21px;
    color: var(--ink);
}
.product-price .old {
    color: var(--muted);
    font-weight: 500;
    font-size: 13px;
    text-decoration: line-through;
    font-family: var(--sans);
}
.product-foot { display: flex; gap: 6px; margin-top: 14px; }
.product-foot > .btn { flex: 1 1 0; min-width: 0; padding: 11px 8px; font-size: 13px; text-align: center; }
.product-foot > .btn-more { flex: 2 1 0; }
.product-subtitle { font-size: 12px; color: var(--muted); margin: 2px 0 4px; text-transform: lowercase; }

/* ===================== PRODUCT PAGE ===================== */
.product-page { padding: 48px 0 80px; }
.product-layout {
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    gap: 54px;
    align-items: start;
}
@media (max-width: 900px) { .product-layout { grid-template-columns: 1fr; } }

.gallery-main {
    background: radial-gradient(125% 125% at 50% 12%, #fbf7ec, #e7ddc6);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    aspect-ratio: 1 / 1;
    overflow: hidden;
    margin-bottom: 12px;
    box-shadow: var(--shadow);
}
.gallery-main img { width: 100%; height: 100%; object-fit: contain; padding: 30px; }
.gallery-thumbs {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 8px;
}
.gallery-thumbs button {
    background: radial-gradient(125% 125% at 50% 16%, #fbf7ec, #e7ddc6);
    border: 1px solid var(--line-soft);
    border-radius: var(--radius-sm);
    aspect-ratio: 1 / 1;
    overflow: hidden;
    padding: 0;
    cursor: pointer;
    transition: border-color .15s ease, transform .15s ease;
}
.gallery-thumbs button:hover { transform: translateY(-2px); border-color: var(--gold); }
.gallery-thumbs button.active { border-color: var(--gold); box-shadow: 0 0 0 1px var(--gold); }
.gallery-thumbs img { width: 100%; height: 100%; object-fit: contain; padding: 5px; }

.product-info .kicker { margin-bottom: 12px; display: inline-flex; }
.product-info h1 { font-size: clamp(25px, 3.4vw, 36px); margin-bottom: 16px; }
.price-block {
    display: flex;
    align-items: baseline;
    gap: 14px;
    margin: 20px 0 26px;
}
.price-block .price { font-family: var(--serif); font-size: 40px; font-weight: 700; color: var(--ink); }
.price-block .old-price { color: var(--muted); text-decoration: line-through; font-size: 18px; }
.price-block .save {
    background: linear-gradient(160deg, var(--gold-bright), var(--gold));
    color: #1a1305;
    padding: 5px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
}
.buy-row { display: flex; gap: 10px; margin-bottom: 26px; flex-wrap: wrap; }
.buy-row .btn { padding: 15px 26px; font-size: 15px; }
.btn-lg { padding: 15px 24px !important; font-size: 15px !important; min-width: auto; }

.product-sub { color: var(--muted); margin: 0 0 14px; text-transform: lowercase; font-size: 14px; }
.feat-badges { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 22px; }
.feat-badge {
    display: inline-block;
    background: var(--teal-soft);
    color: var(--teal-bright);
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    border: 1px solid rgba(70,182,207,.30);
}
.product-descr p { margin: 0 0 12px; }
.product-descr p:last-child { margin-bottom: 0; }

.attr-list {
    background: linear-gradient(180deg, var(--surface-2), var(--surface));
    border: 1px solid var(--line-soft);
    border-radius: var(--radius);
    padding: 22px 24px;
    margin-bottom: 26px;
}
.attr-row {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 0;
    border-bottom: 1px dashed var(--line-soft);
    font-size: 14px;
}
.attr-row:last-child { border-bottom: 0; }
.attr-row .k { color: var(--muted); }
.attr-row span:last-child { text-align: right; color: var(--ink); }

.product-descr {
    margin-top: 16px;
    font-size: 15px;
    color: var(--ink-2);
    white-space: pre-line;
}

/* ===================== TEXT PAGES ===================== */
.text-page { padding: 72px 0; }
.text-page h1 { margin-bottom: 14px; }
.text-page > .container > .kicker { margin-bottom: 12px; }
.lead { font-size: 19px; color: var(--ink-2); max-width: 720px; line-height: 1.66; }
.text-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 46px; margin-top: 40px; }
@media (max-width: 820px) { .text-grid { grid-template-columns: 1fr; } }
.text-grid article p { margin: 0 0 14px; color: var(--ink-2); }
.text-grid article h2 { margin-bottom: 12px; }
.text-grid article h3 { margin-top: 28px; color: var(--gold-bright); }
.text-grid article b { color: var(--ink); }
.text-grid aside {
    background: linear-gradient(180deg, var(--surface-2), var(--surface));
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 28px;
    align-self: start;
    box-shadow: var(--shadow);
}
.text-grid aside h3 { font-size: 17px; }
.text-grid aside h3:not(:first-child) { margin-top: 20px; }
.text-grid aside p { margin: 0 0 8px; color: var(--ink-2); font-size: 14px; }
.text-grid aside a { font-weight: 600; }

.contacts-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 36px;
}
.contact-card {
    background: linear-gradient(168deg, var(--surface-2), var(--surface));
    border: 1px solid var(--line-soft);
    border-radius: var(--radius);
    padding: 28px;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.contact-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); border-color: var(--hair); }
.contact-card .ico {
    width: 52px; height: 52px;
    border-radius: 14px;
    background: radial-gradient(circle at 32% 28%, var(--surface-3), #0b1326 82%);
    color: var(--gold-bright);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    margin-bottom: 18px;
    box-shadow: 0 0 0 1px var(--line) inset;
}
.contact-card h3 { font-size: 17px; margin: 0 0 6px; }
.contact-card p { margin: 0 0 4px; color: var(--ink-2); font-size: 14px; }
.contact-card a { font-weight: 600; }
@media (max-width: 760px) { .contacts-grid { grid-template-columns: 1fr; } }

/* реквизиты */
.req-list { margin: 0; font-size: 13px; }
.req-list dt {
    color: var(--gold);
    text-transform: uppercase;
    letter-spacing: .1em;
    font-size: 10px;
    font-weight: 600;
    margin-top: 13px;
}
.req-list dt:first-child { margin-top: 0; }
.req-list dd { margin: 3px 0 0; color: var(--ink); font-size: 13px; line-height: 1.45; }

/* ===================== CTA BAND ===================== */
.cta-band { padding: 40px 0 96px; }
.cta-band-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    flex-wrap: wrap;
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(560px 320px at 88% 14%, rgba(216,179,106,.22), transparent 64%),
        linear-gradient(135deg, var(--surface-3) 0%, var(--surface) 60%, var(--surface-2) 100%);
    border: 1px solid var(--line);
    border-radius: 26px;
    padding: 52px 54px;
    box-shadow: var(--shadow-lg);
}
.cta-band-inner::before {
    content: "";
    position: absolute;
    left: 0; right: 0; top: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--gold), transparent);
}
.cta-band h2 { color: var(--ink); margin-bottom: 8px; }
.cta-band p { color: var(--ink-2); max-width: 560px; margin: 0; }
.cta-band .cta-text { min-width: 280px; }

@media (max-width: 620px) {
    .cta-band-inner { padding: 38px 28px; }
}

/* ===================== FOOTER ===================== */
.site-footer {
    position: relative;
    background-color: var(--bg-2);
    border-top: 1px solid var(--line);
    padding: 64px 0 34px;
    color: var(--ink-2);
    font-size: 14px;
}
.site-footer::before {
    content: "";
    position: absolute;
    left: 0; right: 0; top: -1px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--gold), transparent);
}
.site-footer .brand { color: var(--ink) !important; }
.site-footer .muted { color: var(--muted); }
.footer-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
    gap: 36px;
    margin-bottom: 36px;
}
.footer-grid h4 {
    font-family: var(--sans);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .18em;
    color: var(--gold);
    margin-bottom: 14px;
}
.footer-grid ul { list-style: none; padding: 0; margin: 0; }
.footer-grid li { margin-bottom: 10px; }
.footer-grid a { color: var(--ink-2); }
.footer-grid a:hover { color: var(--gold-bright); }
.footer-bottom {
    border-top: 1px solid var(--line-soft);
    padding-top: 22px;
    display: flex;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    color: var(--muted);
    font-size: 13px;
}
@media (max-width: 720px) { .footer-grid { grid-template-columns: 1fr 1fr; } }

/* ===================== BREADCRUMBS ===================== */
.breadcrumbs { font-size: 13px; color: var(--muted); margin-bottom: 22px; }
.breadcrumbs a { color: var(--muted); }
.breadcrumbs a:hover { color: var(--gold); }
.breadcrumbs span { margin: 0 7px; color: var(--line); }

/* ===================== REVEAL ON SCROLL ===================== */
.reveal {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity .6s ease, transform .6s ease;
}
.reveal.in { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
    * { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
    html { scroll-behavior: auto; }
    .reveal { opacity: 1; transform: none; }
}
