/* --- PriceList Modern Section --- */
.pricelist-section {
    background: #f5f6fa;
    padding: 64px 0 72px 0;
    color: #181a1f;
}
.pricelist-card {
    display: flex;
    gap: 20px;
    background: #fff;
    border-radius: 28px;
    box-shadow: 0 8px 40px rgba(60,70,130,0.10), 0 1.5px 6px rgba(60,70,130,0.06);
    overflow: hidden;
    max-width: 100%;
    margin: 0 auto;
    min-height: 320px;
    align-items: stretch;
}
.pricelist-visual {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 240px;
    max-width: 260px;
    padding: 36px 24px;
}
.pricelist-icon {
    display: flex;
    align-items: center;
    justify-content: center;
}
.pricelist-image{
    display:block;
    width:88%;
    max-width:260px;
    height:auto;
    border-radius:16px;
    box-shadow: 0 10px 30px rgba(0,0,0,.22);
    object-fit:cover;
}
.pricelist-content {
    flex: 1 1 0%;
    padding: 40px 36px 36px 36px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.pricelist-title {
    font-size: 2.1rem;
    font-weight: 800;
    margin-bottom: 12px;
    color: #23243a;
    letter-spacing: .01em;
}
.pricelist-desc {
    font-size: 1.08rem;
    color: #555a6a;
    margin-bottom: 18px;
}
.pricelist-benefits {
    margin-bottom: 22px;
    color: #23243a;
    font-size: 1.01rem;
    padding-left: 0;
    list-style: none;
}
.pricelist-benefits li {
    margin-bottom: 4px;
}
.pricelist-btn {
    display: inline-block;
    background: linear-gradient(90deg, #3A5CFF 0%, #7B2FF2 100%);
    color: #fff;
    font-weight: 700;
    font-size: 1.13rem;
    padding: 0.95em 2.2em;
    border-radius: 14px;
    box-shadow: 0 4px 18px rgba(122, 80, 242, 0.13);
    text-decoration: none;
    transition: background .18s, box-shadow .18s, transform .18s;
    margin-bottom: 10px;
}
.pricelist-btn:hover {
    background: linear-gradient(90deg, #7B2FF2 0%, #3A5CFF 100%);
    box-shadow: 0 8px 32px rgba(122, 80, 242, 0.18);
    transform: translateY(-2px) scale(1.03);
}
.pricelist-meta {
    font-size: 0.98rem;
    color: #888fa8;
    margin-top: 2px;
}
.pricelist-note {
    text-align: center;
    color: #6a6e7a;
    font-size: 1.04rem;
    margin-top: 36px;
}
@media (max-width: 767.98px) {
    .pricelist-card {
        flex-direction: column;
        max-width: 98vw;
        min-height: 0;
    }
    .pricelist-visual {
        min-width: 100%;
        max-width: 100%;
        padding: 28px 0 18px 0;
        border-radius: 0;
    }
    .pricelist-content {
        padding: 28px 18px 22px 18px;
    }
        .pricelist-image{ width:94%; max-width: 460px; border-radius:14px; }
}
:root{
    --bg:#1d1f22;           /* общий фон */
    --bg-2:#121314;         /* глубокий фон */
    --card:#1b1c1f;         /* карточки */
    --text:#ffffff;
    --muted:#b8bcc3;
    --accent:#FFD33C;       /* жёлтые кнопки */
    --accent-600:#e7be2f;   /* hover */
    --shadow:0 10px 30px rgba(0,0,0,.35);
    --radius:18px;
}

html,body{ height:100%; }
body{
    font-family:"Murecho", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
    background: radial-gradient(1200px 600px at 70% 10%, rgba(255,255,255,.04), transparent 60%), var(--bg);
    color:var(--text);
    letter-spacing:.2px;
}

/* Header */
.site-header{
    backdrop-filter:saturate(120%) blur(6px);
    background:linear-gradient(to bottom, rgba(0,0,0,.55), rgba(0,0,0,.55));
    z-index: 1040;
    border-bottom:1px solid rgba(255,255,255,.06);
}
.navbar-brand{
    font-weight:800; letter-spacing:.5px; font-size:1.25rem;
    display:flex; align-items:center; gap:.6rem;
}
.brand-dot{width:28px;height:28px;border-radius:50%;background:var(--accent);display:inline-block;box-shadow:0 4px 14px rgba(255,211,60,.45)}
.nav-link{ color:#e9eaec !important; font-weight:600; }
.nav-link:hover{ color:var(--accent) !important; }

/* Hero */
.hero{
    position:relative; overflow:hidden; isolation:isolate;
    background: radial-gradient(1200px 600px at 10% 0%, rgba(255,255,255,.04), transparent 60%), var(--bg);
}
.hero:before{
    content:""; position:absolute; inset:-10% -10% auto -10%; height:65%; z-index:-1;
    background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(0,0,0,0));
}
.hero-visual{
    position:relative; border-radius:var(--radius);
    min-height:360px;
}
.hero-visual .panel{position:absolute; inset:0; border-radius:var(--radius); overflow:hidden}
.hero-visual .panel:before{
    content:""; position:absolute; inset:0; background:
    radial-gradient(800px 300px at 60% 10%, rgba(255,255,255,.05), transparent 60%),
    radial-gradient(500px 300px at 20% 90%, rgba(255,255,255,.04), transparent 60%),
    repeating-linear-gradient(90deg, rgba(0,0,0,.08) 0 2px, rgba(255,255,255,0) 2px 10px),
    linear-gradient(180deg, #2b2d31, #1e2023);
}
.hero-visual .workbench{position:absolute; inset:28% 4% 4% 4%; border-radius:14px;
    background:linear-gradient(180deg,#2b2e33,#1b1d20); box-shadow:0 12px 40px rgba(0,0,0,.45)}
.hero-visual .pegboard{position:absolute; left:4%; right:45%; top:6%; height:34%; border-radius:10px; background:#1f2e3c;}
.hero-visual .pegboard:before{content:""; position:absolute; inset:10% 10%; background:radial-gradient(circle at 10px 10px, rgba(255,255,255,.18) 1px, transparent 2px) 0 0/18px 18px}
.hero-visual .box{position:absolute; right:6%; top:8%; width:26%; height:44%; border-radius:10px; background:#21384a; box-shadow:0 8px 24px rgba(0,0,0,.35)}
.hero-visual .drawer{position:absolute; right:6%; bottom:8%; width:30%; height:40%; border-radius:10px; background:#24394b;}
.hero-visual .leg{position:absolute; bottom:4%; width:10%; height:28%; background:#46484c; border-radius:6px}
.hero-visual .leg.l1{left:10%} .hero-visual .leg.l2{left:44%} .hero-visual .leg.l3{right:24%}

/* Hero slider */
.hero-slider{ position: relative;
    border-radius: var(--radius);
    overflow: hidden;
    aspect-ratio: 13 / 10; }
.hero-slide{ position:absolute; inset:0; opacity:0; transform:scale(1.02); transition: opacity .7s ease, transform .8s ease; }
.hero-slide.active{ opacity:1; transform:none; }
.hero-slide img{ width:100%; height:100%; object-fit:cover; display:block; }
.hero-dots{ position:absolute; right:14px; top:50%; transform:translateY(-50%); display:flex; flex-direction:column; gap:10px; z-index:5; }
.hero-dot{ width:10px; height:13px; border-radius:50%; background:rgba(255,255,255,.5); border:1px solid rgba(0,0,0,.25); box-shadow:0 2px 8px rgba(0,0,0,.25); cursor:pointer; transition:all .2s ease; }
.hero-dot:hover{ transform:scale(1.15); background:#fff }
.hero-dot.active{ background:var(--accent); border-color:rgba(0,0,0,.35); box-shadow:0 6px 16px rgba(255,211,60,.35) }
@media (max-width: 991.98px){ .hero-dots{ right:10px; gap:8px } }

/* Buttons */
.btn-yellow{ --bs-btn-padding-y:.9rem; --bs-btn-padding-x:1.6rem; --bs-btn-font-weight:600; --bs-btn-border-radius:12px; background:var(--accent); border:0; color:#171717; box-shadow:0 10px 24px rgba(255,211,60,.35)}
.btn-yellow:hover{ background:var(--accent-600); transform:translateY(-1px); box-shadow:0 14px 30px rgba(255,211,60,.45) }
.btn-darkx{ --bs-btn-padding-y:.9rem; --bs-btn-padding-x:1rem; --bs-btn-font-weight:500; --bs-btn-border-radius:12px; background:#2a2b2f; border:1px solid rgba(255,255,255,.1); color:#fff }
.btn-darkx:hover{ border-color:rgba(255,255,255,.25); transform:translateY(-1px) }

/* Feature cards */
.feature{
    background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.01));
    border:1px solid rgba(255,255,255,.08);
    border-radius:20px; padding:26px; height:100%;
    box-shadow:0 10px 24px rgba(0,0,0,.18);
    transition:transform .35s ease, box-shadow .35s ease;
}
.feature:hover{ transform:translateY(-4px); box-shadow:0 16px 36px rgba(0,0,0,.28) }
.icon-wrap{ width:64px; height:64px; border-radius:16px; background:rgba(255,255,255,.06); display:grid; place-items:center; margin-bottom:14px; }
.icon-wrap svg{ width:30px; height:30px; }

/* Typography */
.eyebrow{ color:var(--accent); font-weight:700; letter-spacing:.06em; text-transform:uppercase; font-size:.95rem }
.display-hero{ font-weight:800; line-height:1.05; letter-spacing:.5px }
.subtitle{ color:var(--muted) }

/* Simple load animation */
.fade-up{ opacity:0; transform:translateY(16px); animation:fadeUp .8s ease forwards }
.fade-up.d1{ animation-delay:.1s } .fade-up.d2{ animation-delay:.2s } .fade-up.d3{ animation-delay:.3s } .fade-up.d4{ animation-delay:.4s }
@keyframes fadeUp{ to{ opacity:1; transform:none } }

/* Footer */
.site-footer{ border-top:1px solid rgba(255,255,255,.08); background:linear-gradient(180deg, rgba(0,0,0,.2), transparent) }
.footer-links{ display:flex; align-items:center; gap:12px; flex-wrap:wrap }
.footer-links a{ color:#e9eaec; text-decoration:none; font-weight:600 }
.footer-links a:hover{ color:var(--accent) }
.footer-links .sep{ color:var(--muted) }
.footer-meta{ color:#c8cbd1; line-height:1.5; font-size: 12px; }
.footer-docs{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; font-size:.95rem; font-size: 12px; }
.footer-docs a{ color:#e9eaec; text-decoration:none; }
.footer-docs a:hover{ color:var(--accent) }
.footer-note{ font-size:.95rem; text-transform: uppercase; }

/* Responsive tweaks */
@media (max-width: 991.98px){
    .display-hero{ font-size: clamp(2rem, 6vw, 3rem); }
    .hero-visual{ min-height:300px; margin-top:1.2rem }
}

/* Dark form fields */
.form-control-dark.form-control, .form-control-dark.form-select{
    background:#232428; border:1px solid rgba(255,255,255,.12); color:#fff;
}
.form-control-dark.form-control:focus, .form-control-dark.form-select:focus{
    border-color: rgba(255,255,255,.35); box-shadow: 0 0 0 .25rem rgba(255,211,60,.15);
    background:#26272c; color:#fff;
}
.form-label{ color:#d8dadd; font-weight:600; }
.is-invalid{ border-color:#dc3545 !important }
.is-valid{ border-color:#198754 !important }

/* Contacts light section overrides */
#contacts.contacts-light{
    color:#111;
}
#contacts.contacts-light .subtitle{ color:#4a4d55 }
#contacts.contacts-light .feature{
    background:linear-gradient(180deg, rgba(255,255,255,0.95), rgba(255,255,255,0.9));
    border:1px solid rgba(0,0,0,.06);
    box-shadow: 0 10px 24px rgba(0,0,0,.08);
}
#contacts.contacts-light .text-secondary{ color:#6b6f78 !important }
#contacts.contacts-light a.link-light{ color:#0d6efd !important }
#contacts.contacts-light a.link-light:hover{ color:#0a58ca !important }
#contacts.contacts-light .border-secondary-subtle{ border-color:#e1e4e8 !important }

/* Light form fields specifically in contacts section */
#contacts.contacts-light .form-control-dark.form-control,
#contacts.contacts-light .form-control-dark.form-select{
    background:#111; color:#fff; /* Fallback if rule below not applied */
}
#contacts.contacts-light .form-control-dark.form-control,
#contacts.contacts-light .form-control-dark.form-select{
    background:#f4f5f7 !important; color:#111 !important;
    border:1px solid rgba(0,0,0,.12);
}
#contacts.contacts-light .form-control-dark.form-control::placeholder{ color:#9aa0a6 }
#contacts.contacts-light .form-control-dark.form-control:focus,
#contacts.contacts-light .form-control-dark.form-select:focus{
    border-color:#0d6efd; box-shadow:0 0 0 .2rem rgba(13,110,253,.15); background:#fff;
}
#contacts.contacts-light .form-label{ color:#2b2e33 }

/* About light section overrides */
.about-light .subtitle{ color:#111 !important; }

/* News grid */
.news-hero{ background: radial-gradient(1000px 500px at 80% -10%, rgba(255,255,255,.05), transparent 60%), var(--bg); }
.news-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:24px; align-items:start; }
@media (max-width: 1199.98px){ .news-grid{ grid-template-columns:repeat(2, 1fr);} }
@media (max-width: 575.98px){ .news-grid{ grid-template-columns:1fr; } }
.news-card{ background: radial-gradient(1000px 500px at 80% -10%, rgba(255, 255, 255, .05), transparent 60%), var(--bg); border:1px solid rgba(255,255,255,.08); border-radius:18px; box-shadow:0 10px 24px rgba(0,0,0,.18); overflow:hidden; display:flex; flex-direction:column; height:100%; }
.news-thumb{ aspect-ratio: 16/9; width:100%; object-fit:cover; display:block; background:#222; }
.news-body{ padding:18px; display:flex; flex-direction:column; gap:10px; }
.news-meta{ color:var(--muted); font-size:.9rem; }
.news-title{ font-weight:800; line-height:1.2; margin:0; }
.news-title a{ color:#fff; text-decoration:none; }
.news-title a:hover{ color:var(--accent); }
.news-excerpt{ color:#cfd2d7; }
.news-more{ margin-top:auto; display:flex; justify-content:flex-start; }
.news-more a{ font-weight:700; color:#111; background:var(--accent); border-radius:12px; padding:.6rem 1rem; text-decoration:none; box-shadow:0 8px 18px rgba(255,211,60,.28) }
.news-more a:hover{ background:var(--accent-600); }
.news-card.no-photo .news-body{ padding-top:18px; }

/* Price list */
.price-hero-media{ border-radius:18px; overflow:hidden; box-shadow:0 10px 24px rgba(0,0,0,.12); border:1px solid rgba(0,0,0,.06) }
.price-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; }
@media (max-width: 1199.98px){ .price-grid{ grid-template-columns:repeat(2, 1fr);} }
@media (max-width: 575.98px){ .price-grid{ grid-template-columns:1fr;} }
.price-card{ background:linear-gradient(180deg, rgba(255,255,255,0.95), rgba(255,255,255,0.9)); border:1px solid rgba(0,0,0,.06); border-radius:18px; box-shadow:0 8px 20px rgba(0,0,0,.08); overflow:hidden; display:flex; flex-direction:column; }
.price-thumb{ aspect-ratio: 4/3; width:100%; object-fit:cover; background:#f0f2f5; display:block }
.price-body{ padding:16px; display:flex; flex-direction:column; gap:8px; color:#2b2e33 }
.price-meta{ color:#6b6f78; font-size:.9rem }
.price-title{ font-weight:800; margin:0 }
.price-dims{ color:#4a4d55 }
.price-row{ display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:auto }
.price-value{ font-weight:800; font-size:1.1rem; color:#111 }
.price-btn{ font-weight:700; color:#111; background:var(--accent); border-radius:12px; padding:.5rem .9rem; text-decoration:none; box-shadow:0 8px 18px rgba(255,211,60,.28) }
.price-btn:hover{ background:var(--accent-600) }
.contacts-light .btn-darkx.active{ background:#111; color:#fff; border-color:#111 }

/* Product detail: characteristics */
.spec-table{ background:#fff; border:1px solid rgba(0,0,0,.06); border-radius:12px; overflow:hidden }
.spec-row{ display:grid; grid-template-columns:1fr auto; gap:12px; align-items:center; padding:16px 16px; line-height:1.7; border-bottom:1px solid rgba(0,0,0,.08); }
.spec-row:last-child{ border-bottom:0; }
.spec-name{ color:#444; }
.spec-value{ font-weight:600; color:#111; text-align:right; }

/* Gallery grids */
/* Masonry via CSS columns (оставляем для других страниц если нужно) */
.gallery-grid{ column-count:3; column-gap:16px; }
@media (max-width: 1199.98px){ .gallery-grid{ column-count:2; } }
@media (max-width: 575.98px){ .gallery-grid{ column-count:1; } }
.gallery-grid .gallery-item{ margin:0 0 16px; }
/* Ровные ряды 3-2-1 для фоток из upload/photo */
.gallery-grid-rows{ display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; }
@media (max-width: 1199.98px){ .gallery-grid-rows{ grid-template-columns:repeat(2, 1fr); } }
@media (max-width: 575.98px){ .gallery-grid-rows{ grid-template-columns:1fr; } }
.gallery-item{ position:relative; display:block; break-inside:avoid; -webkit-column-break-inside:avoid; margin:0; border-radius:16px; overflow:hidden; background:#f4f5f7; box-shadow:0 8px 18px rgba(0,0,0,.06); border:1px solid rgba(0,0,0,.06); }
.gallery-item img{ width:100%; height:auto; display:block; transition: transform .5s ease, filter .5s ease; }
.gallery-grid-rows .gallery-item img{ aspect-ratio: 4/3; object-fit:cover; }
.gallery-item:after{ content:""; position:absolute; inset:0; background: radial-gradient(400px 140px at 70% 0%, rgba(255, 211, 60, .15), transparent 60%); opacity:0; transition:opacity .35s ease; }
.gallery-item:hover img{ transform: scale(1.04); filter: saturate(110%) contrast(105%); }
.gallery-item:hover:after{ opacity:1; }

/* Lightbox */
.lightbox{ position:fixed; inset:0; display:none; align-items:center; justify-content:center; background:rgba(0,0,0,.85); z-index:1050; }
.lightbox.open{ display:flex; }
.lightbox img{ max-width:92vw; max-height:86vh; border-radius:12px; box-shadow:0 20px 60px rgba(0,0,0,.5) }
.lightbox .lb-nav{ position:absolute; inset:0; color:#fff; pointer-events:none; }
/* Крупные круглые стрелки */
.lightbox .lb-btn{
    position:absolute; top:50%; transform:translateY(-50%);
    pointer-events:auto; z-index:2;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.35);
    color:#fff;
    width:56px; height:56px; border-radius:50%;
    display:grid; place-items:center;
    font-size:32px; line-height:1; padding:0;
    cursor:pointer;
    box-shadow:0 8px 20px rgba(0,0,0,.3);
    padding: 0 0 5px;
}
.lightbox #lb-prev{ left:20px; }
.lightbox #lb-next{ right:20px; }
.lightbox .lb-btn:hover{ background:rgba(255,255,255,.2) }
/* Кнопка закрытия — круг с белым крестиком */
.lightbox .lb-close{
    position:absolute; top:16px; right:16px;
    width:44px; height:44px; border-radius:50%;
    display:grid; place-items:center;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.35);
    color:#fff; font-size:22px; line-height:1;
    box-shadow:0 8px 20px rgba(0,0,0,.3);
}
.lightbox .lb-close:hover{ background:rgba(255,255,255,.2) }

.brand-logo {
    width: auto;
    height: 30px;
}

.carousel-inner {
    border-radius: 12px;
}

.yeel {
        background: var(--accent);
}
.yeel:hover {
    background: var(--accent-600);
    transform: translateY(-1px);
    box-shadow: 0 14px 30px rgba(255, 211, 60, .45);
}
.spec-row {
    background-color: #FFF;
}
.spec-row:hover {
    background-color: #FFD33C;
}