:root {
    --primary-color: #db633a;
    --primary-dark: #bd4b26;
    --primary-light: #ee8b66;
    --gradient-start: #db633a;
    --gradient-end: #e37950;
}
.light-theme {
    --bg-primary: #f7f6f2;
    --bg-secondary: #efede7;
    --bg-card: #fff;
    --bg-header: #f7f6f2;
    --text-primary: #26382f;
    --text-secondary: #748078;
    --text-muted: #929b94;
    --border-color: #e5e5dc;
    --input-bg: #fff;
    --input-border: #dce0d7;
    --shadow-color: #26382f0a;
}
.dark-theme {
    --bg-primary: #18251f;
    --bg-secondary: #21332a;
    --bg-card: #25382e;
    --bg-header: #18251f;
    --text-primary: #f1f0e9;
    --text-secondary: #b4c1b6;
    --text-muted: #93a298;
    --border-color: #3b4d41;
    --input-bg: #26392e;
    --input-border: #475c4b;
    --shadow-color: #0002;
}
body {
    font-family: 'Segoe UI', system-ui, sans-serif;
}
.container {
    max-width: 1240px;
    padding-left: 28px;
    padding-right: 28px;
}
.header {
    border-bottom: 1px solid var(--border-color);
    box-shadow: none;
    background: var(--bg-header);
}
.header-content {
    min-height: 94px;
    gap: 24px;
    padding-top: 12px;
    padding-bottom: 12px;
}
.header .logo {
    display: inline-flex;
    gap: 12px;
    align-items: center;
    white-space: nowrap;
    color: var(--text-primary);
    font-size: 18px;
}
.site-logo-mark {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    background: var(--primary-color);
    color: #fff;
    border-radius: 12px 12px 3px 12px;
    font-size: 29px;
    font-weight: 700;
}
.site-logo-text {
    line-height: 1.3;
    font-weight: 700;
}
.site-logo-text small {
    display: block;
    font-size: 10px;
    font-weight: 400;
    color: var(--text-secondary);
    letter-spacing: 1px;
    margin-top: 5px;
}
.nav-menu {
    gap: 26px;
}
.nav-menu a {
    font-size: 12px;
    font-weight: 600;
    padding: 9px 0;
    color: var(--text-secondary);
}
.nav-menu a.active,
.nav-menu a:hover {
    color: var(--primary-color);
}
.header-actions {
    gap: 14px;
    margin-left: auto;
}
.header-phone {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--text-primary);
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}
.header-phone i {
    color: var(--primary-color);
    font-size: 12px;
}
.theme-switcher {
    padding: 3px;
    border: 1px solid var(--border-color);
    gap: 2px;
    background: transparent;
}
.theme-btn {
    width: 27px;
    height: 27px;
    font-size: 11px;
}
.theme-btn.active {
    background: var(--bg-secondary);
    color: var(--primary-color);
}
.btn {
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    min-height: 46px;
    padding: 13px 20px;
    box-shadow: none;
}
.btn-primary {
    background: var(--primary-color);
    border-color: var(--primary-color);
}
.btn-primary:hover {
    background: var(--primary-dark);
    box-shadow: 0 8px 18px #db633a25;
}
.btn-outline {
    background: transparent;
    border-color: var(--border-color);
    color: var(--text-primary);
}
.card,
.glass-effect,
.product-card-modern {
    backdrop-filter: none;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    box-shadow: 0 5px 20px var(--shadow-color);
    border-radius: 16px;
}
.section-title {
    text-align: left;
    margin-top: 18px;
    font-size: clamp(27px, 3.3vw, 40px);
    letter-spacing: -1.3px;
}
.section-title::after {
    margin-left: 0;
    width: 42px;
    height: 3px;
}
h1,
h2,
h3 {
    letter-spacing: -0.7px;
}
.home-page {
    padding-top: 40px;
    padding-bottom: 60px;
}
.site-hero {
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    gap: 44px;
    align-items: center;
}
.hero-copy {
    padding: 20px 0;
}
.site-eyebrow {
    display: flex;
    align-items: center;
    gap: 8px;
    text-transform: uppercase;
    letter-spacing: 1.7px;
    font-size: 10px;
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 20px;
}
.site-eyebrow > span {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--primary-color);
}
.site-hero h1 {
    font-size: clamp(37px, 4.8vw, 61px);
    letter-spacing: -2.8px;
    line-height: 1.12;
    font-weight: 600;
    margin-bottom: 24px;
}
.site-hero h1 em {
    font-style: normal;
    color: var(--primary-color);
}
.hero-description {
    font-size: 15px;
    line-height: 1.85;
    color: var(--text-secondary);
    max-width: 390px;
    margin-bottom: 30px;
}
.hero-buttons {
    display: flex;
    gap: 20px;
    align-items: center;
    flex-wrap: wrap;
}
.hero-buttons .btn {
    gap: 18px;
    font-size: 13px;
}
.hero-secondary {
    font-size: 12px;
    font-weight: 600;
    color: var(--text-primary);
}
.hero-benefits {
    display: flex;
    gap: 22px;
    margin-top: 30px;
    flex-wrap: wrap;
    color: var(--text-secondary);
    font-size: 11px;
}
.hero-benefits i {
    color: var(--primary-color);
    margin-right: 6px;
}
.hero-visual {
    position: relative;
    height: 480px;
    border-radius: 18px 18px 70px 18px;
    overflow: hidden;
    background: var(--bg-secondary);
}
.hero-visual::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, #13221fb3, transparent 45%);
    pointer-events: none;
}
.hero-visual > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.hero-image-label {
    position: absolute;
    left: 30px;
    bottom: 30px;
    z-index: 1;
    color: #fff;
}
.hero-image-label span {
    display: block;
    font-size: 10px;
    letter-spacing: 1px;
    opacity: 0.75;
    margin-bottom: 7px;
}
.hero-image-label strong {
    font-size: 23px;
    letter-spacing: -0.8px;
    font-weight: 500;
}
.hero-photo-link {
    position: absolute;
    z-index: 1;
    top: 20px;
    right: 20px;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #ffffffdd;
    color: #26382f;
    transform: rotate(45deg);
}
.service-strip {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 18px;
    padding: 30px 0;
    margin-top: 38px;
    border-top: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color);
    color: var(--text-secondary);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.site-section {
    padding-top: 70px;
}
.site-section-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 24px;
    margin-bottom: 28px;
}
.site-section-heading .site-eyebrow {
    margin-bottom: 12px;
}
.site-section-heading h2 {
    font-size: clamp(26px, 3vw, 35px);
    margin: 0;
    font-weight: 600;
    letter-spacing: -1.2px;
}
.text-link {
    color: var(--text-primary);
    font-weight: 600;
    font-size: 12px;
    padding-bottom: 4px;
    white-space: nowrap;
}
.solution-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}
.solution-card {
    position: relative;
    padding: 28px;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: 14px;
    color: var(--text-primary);
    display: block;
    transition: transform 0.2s;
}
.solution-card:hover {
    transform: translateY(-4px);
    border-color: #daa68f;
}
.solution-card .solution-number {
    display: block;
    color: var(--text-muted);
    font-size: 10px;
}
.solution-card > i {
    font-size: 25px;
    color: var(--primary-color);
    margin: 30px 0 18px;
}
.solution-card h3 {
    font-size: 20px;
    margin: 0 0 14px;
}
.solution-card p {
    font-size: 12px;
    color: var(--text-secondary);
    line-height: 1.8;
    max-width: 250px;
}
.solution-arrow {
    position: absolute;
    top: 24px;
    right: 25px;
    font-size: 20px;
    color: var(--text-muted);
}
.home-work-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}
.home-work-card {
    display: block;
    color: var(--text-primary);
}
.home-work-card img {
    width: 100%;
    height: 310px;
    object-fit: cover;
    border-radius: 15px;
    display: block;
}
.home-work-card span {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    font-weight: 600;
    padding-top: 14px;
}
.home-work-card i {
    color: var(--primary-color);
}
.section-note {
    color: var(--text-secondary);
    font-size: 12px;
    line-height: 1.7;
    margin: 0;
}
.home-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 26px;
    padding-top: 12px;
}
.home-steps article {
    border-top: 1px solid var(--border-color);
    padding-top: 22px;
}
.home-steps article > span {
    color: var(--primary-color);
    font-size: 12px;
    font-weight: 600;
}
.home-steps h3 {
    margin: 18px 0 12px;
    font-size: 17px;
}
.home-steps p {
    color: var(--text-secondary);
    font-size: 12px;
    line-height: 1.8;
}
.home-cta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    padding: 40px;
    margin-top: 70px;
    background: var(--bg-secondary);
    border-radius: 18px;
}
.home-cta .site-eyebrow {
    margin-bottom: 12px;
}
.home-cta h2 {
    font-size: 32px;
    margin: 0 0 12px;
}
.home-cta p:not(.site-eyebrow) {
    font-size: 13px;
    color: var(--text-secondary);
    margin: 0;
}
.home-cta .btn {
    white-space: nowrap;
    gap: 20px;
}
.filters {
    padding: 20px;
    border-radius: 14px;
    margin-bottom: 26px;
}
.form-control {
    border-radius: 9px;
    padding: 12px 14px;
    font-size: 14px;
}
.form-control:focus {
    box-shadow: 0 0 0 3px #db633a16;
}
.product-card-modern {
    overflow: hidden;
}
.product-card-modern:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 25px var(--shadow-color);
}
.product-content {
    padding: 24px;
}
.product-category {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color: var(--text-muted);
}
.product-content .product-title-modern {
    font-size: 20px;
}
.product-title-modern a {
    color: var(--text-primary);
}
.product-description-modern {
    font-size: 13px;
    color: var(--text-secondary);
}
.product-price-modern .price-value {
    font-size: 21px;
    color: var(--text-primary);
}
.btn-icon {
    border-radius: 9px;
    background: var(--bg-secondary);
    color: var(--primary-color);
}
.product-detail-modern {
    margin-top: 20px;
    padding: 30px;
    border-radius: 18px;
    gap: 36px;
}
.product-detail-modern .product-title-modern {
    font-size: clamp(25px, 3vw, 36px);
    line-height: 1.2;
}
.product-category-modern {
    color: var(--text-muted);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.product-price-large .current-price {
    color: var(--text-primary);
    font-size: 31px;
}
.color-generator-section {
    padding: 18px;
    border-radius: 12px;
    margin: 22px 0;
}
.color-generator-section h3 {
    font-size: 15px;
}
.color-type-btn {
    padding: 10px 14px;
    min-width: 100px;
    font-size: 13px;
    border-radius: 9px;
}
.color-palette {
    grid-template-columns: repeat(auto-fill, minmax(65px, 1fr));
    gap: 8px;
    max-height: 260px;
    padding: 8px;
    border-radius: 9px;
}
.color-code {
    font-size: 9px;
}
.color-swatch {
    border-radius: 8px;
    padding: 5px;
}
.item__check {
    font-size: 8px;
    padding: 1px 4px;
}
.selected-color-info {
    margin-top: 14px;
    padding: 12px;
    border-radius: 9px;
}
.product-info-note {
    font-size: 12px;
    padding: 16px;
    border-radius: 10px;
}
.product-short-description,
.product-full-description {
    background: transparent;
    padding: 0;
    color: var(--text-secondary);
    font-size: 14px;
}
.contact-grid .card {
    padding: 30px;
}
.contact-grid h2 {
    font-size: 24px;
}
.contact-grid .btn[type='submit'] {
    width: 100%;
    margin-top: 10px;
}
.request-check {
    color: var(--text-secondary);
}
.captcha-row img {
    border: 1px solid var(--border-color);
}
.form-security small {
    font-size: 11px;
    color: var(--text-muted);
}
.form-note {
    font-size: 11px;
}
.footer {
    background: var(--bg-secondary);
    color: var(--text-primary);
    border-top: 1px solid var(--border-color);
    margin-top: 0;
}
.footer a,
.footer p {
    color: var(--text-secondary);
    font-size: 12px;
}
.footer h4 {
    color: var(--text-primary);
    font-size: 15px;
}
.mobile-bottom-menu {
    background: var(--bg-card);
    border-top: 1px solid var(--border-color);
    box-shadow: 0 -3px 20px var(--shadow-color);
}
.mobile-bottom-item {
    color: var(--text-secondary);
}
.mobile-bottom-item.active {
    color: var(--primary-color);
    background: transparent;
}
.mobile-bottom-item span {
    font-size: 10px;
}
@media (max-width: 1050px) {
    .header .desktop-only {
        display: none;
    }
}
@media (max-width: 900px) {
    .site-hero {
        gap: 26px;
    }
    .hero-visual {
        height: 400px;
    }
    .site-hero h1 {
        font-size: 43px;
    }
    .hero-description {
        font-size: 13px;
    }
    .hero-benefits {
        gap: 12px;
        font-size: 10px;
    }
    .hero-buttons {
        gap: 15px;
    }
    .home-cta {
        padding: 28px;
    }
    .home-cta h2 {
        font-size: 27px;
    }
}
@media (max-width: 700px) {
    .container {
        padding-left: 18px;
        padding-right: 18px;
    }
    .header-content {
        min-height: 78px;
        gap: 12px;
    }
    .header .logo {
        gap: 9px;
        font-size: 15px;
    }
    .site-logo-mark {
        width: 35px;
        height: 35px;
        font-size: 24px;
        border-radius: 9px 9px 2px 9px;
    }
    .site-logo-text small {
        font-size: 9px;
    }
    .header-phone span {
        display: none;
    }
    .header-phone {
        width: 28px;
        height: 28px;
        justify-content: center;
    }
    .header-actions {
        gap: 6px;
    }
    .theme-btn {
        width: 25px;
        height: 25px;
    }
    .home-page {
        padding-top: 22px;
        padding-bottom: 34px;
    }
    .site-hero {
        grid-template-columns: 1fr;
        gap: 26px;
    }
    .hero-copy {
        padding: 12px 0 0;
    }
    .site-eyebrow {
        font-size: 9px;
        letter-spacing: 1.3px;
        margin-bottom: 18px;
    }
    .site-hero h1 {
        font-size: clamp(36px, 10vw, 49px);
        letter-spacing: -1.8px;
    }
    .hero-description {
        max-width: 100%;
        font-size: 13px;
        margin-bottom: 22px;
    }
    .hero-benefits {
        margin-top: 23px;
        gap: 18px;
    }
    .hero-visual {
        height: 330px;
        border-radius: 14px 14px 50px 14px;
    }
    .hero-image-label {
        left: 23px;
        bottom: 23px;
    }
    .service-strip {
        font-size: 9px;
        gap: 16px;
        margin-top: 28px;
        padding: 23px 0;
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
    .site-section {
        padding-top: 42px;
    }
    .site-section-heading {
        gap: 14px;
        align-items: flex-start;
        flex-wrap: wrap;
        margin-bottom: 22px;
    }
    .site-section-heading h2 {
        font-size: 27px;
        letter-spacing: -1px;
    }
    .solution-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .solution-card {
        padding: 24px;
    }
    .solution-card > i {
        margin: 20px 0 14px;
        font-size: 23px;
    }
    .solution-card p {
        max-width: 100%;
    }
    .home-work-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    .home-work-card img {
        height: 270px;
    }
    .home-steps {
        grid-template-columns: 1fr 1fr;
        gap: 24px 18px;
    }
    .home-steps h3 {
        font-size: 16px;
    }
    .home-cta {
        flex-direction: column;
        align-items: flex-start;
        padding: 26px;
        margin-top: 45px;
    }
    .home-cta h2 {
        font-size: 27px;
    }
    .home-cta .btn {
        width: 100%;
    }
    .section-title {
        font-size: 28px;
        margin-top: 8px;
    }
    .product-detail-modern {
        padding: 18px;
        gap: 24px;
    }
    .contact-grid .card {
        padding: 22px;
    }
    .color-type-btn {
        min-width: 80px;
    }
}

.header .site-logo-mark {
    color: #fff;
}
.header .site-logo-text {
    color: var(--text-primary);
}
.hero-buttons {
    justify-content: flex-start;
}

.browser-notice {
    position: fixed;
    bottom: 24px;
    left: 24px;
    right: 24px;
    max-width: 760px;
    margin: 0 auto;
    z-index: 1100;
    padding: 22px;
    background: var(--bg-card);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
    border-radius: 14px;
    box-shadow: 0 8px 45px #0003;
}
.browser-notice strong {
    font-size: 16px;
}
.browser-notice p {
    font-size: 12px;
    line-height: 1.65;
    margin: 8px 0 15px;
    color: var(--text-secondary);
}
.browser-notice-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.browser-notice-actions .btn {
    min-height: 40px;
    font-size: 12px;
    padding: 10px 16px;
}
.footer-settings {
    border: 0;
    padding: 0;
    text-align: left;
    background: none;
    color: var(--text-secondary);
    font: inherit;
    font-size: 12px;
    cursor: pointer;
}
.legal-page .application-card {
    max-width: 900px;
    padding: 30px;
}
.legal-page h2 {
    font-size: 22px;
    margin-top: 26px;
}
.legal-page p,
.legal-page li {
    font-size: 14px;
    line-height: 1.85;
}
.legal-identity {
    font-size: 14px;
    display: grid;
    grid-template-columns: 170px 1fr;
    gap: 8px 18px;
}
.legal-identity dt {
    color: var(--text-secondary);
}
.legal-identity dd {
    margin: 0;
    overflow-wrap: anywhere;
}
@media (max-width: 1050px) {
    .browser-notice {
        bottom: 84px;
    }
}
@media (max-width: 700px) {
    .browser-notice {
        left: 12px;
        right: 12px;
        padding: 18px;
        max-height: 55vh;
        overflow-y: auto;
    }
    .legal-identity {
        grid-template-columns: 1fr;
        gap: 4px;
    }
    .legal-identity dd {
        margin-bottom: 12px;
    }
    .legal-page .application-card {
        padding: 22px;
    }
}

.light-theme, .dark-theme {
    --card-bg: var(--bg-card);
    --card-border: var(--border-color);
    --bg-footer: var(--bg-secondary);
    --bg-hover: var(--bg-secondary);
    --hover-bg: var(--bg-secondary);
    --link-color: var(--primary-color);
    --link-hover: var(--primary-dark);
    --input-focus: var(--primary-color);
    --text-light: #fff;
    --gradient-start: var(--primary-color);
    --gradient-end: #e37950;
}
.footer__bottom { color: var(--text-secondary); border-top-color: var(--border-color); }
.footer a:hover, .footer-settings:hover { color: var(--primary-color); }
.empty-state { background: var(--bg-card); border-color: var(--border-color); }
.site-logo-mark, .site-logo-image { flex-shrink: 0; }
.site-logo-image { display: block; width: 44px; height: 44px; object-fit: contain; }
.site-logo-image.logo-image-only { width: auto; max-width: 160px; }
@media (max-width: 700px) { .site-logo-image { width: 34px; height: 34px; } .site-logo-image.logo-image-only { max-width: 135px; } }

.demo-notice { padding: 14px 18px; margin: 20px 0; background: var(--bg-secondary); border: 1px solid var(--border-color); border-radius: 12px; color: var(--text-secondary); font-size: 13px; }
.demo-label { display: block; margin-top: 18px; color: var(--text-secondary); }
.review-grid .card { padding: 28px; }
.review-grid h2 { font-size: 20px; margin: 12px 0; }
.review-grid p { line-height: 1.65; }
.review-stars { color: var(--primary-color); font-size: 22px; letter-spacing: 3px; }

.header-request { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; white-space: nowrap; padding: 9px 16px; font-size: 13px; line-height: 1.25; font-weight: 600; border-radius: 9px; }
.admin-preview-notice { padding: 16px; border: 1px solid var(--border-color); border-radius: 12px; background: var(--bg-secondary); font-size: 14px; }
#request { scroll-margin-top: 100px; }
@media (max-width: 1250px) { .header-phone span { display: none; } .nav-menu { gap: 18px; } }
@media (max-width: 600px) { .header-request { display: none; } }

.status-comment { white-space: normal; overflow-wrap: anywhere; margin: 10px 0 0; color: var(--text-primary); }
