
/* === dvk-cf-css === */

.dvk-cf { margin-bottom: 32px; }
.dvk-cf__title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 18px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #1a1a1a;
    margin: 0 0 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid #c9a66b;
}
.dvk-cf__reset {
    display: inline-block;
    font-family: 'Raleway', sans-serif;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #888;
    text-decoration: none;
    margin-bottom: 12px;
    transition: color 0.2s;
}
.dvk-cf__reset:hover { color: #c9a66b; }
.dvk-cf__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 6px;
}
.dvk-cf__swatch {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    text-decoration: none;
    padding: 8px 4px 6px;
    border-radius: 6px;
    transition: background 0.2s;
    border: 1px solid transparent;
}
.dvk-cf__swatch:hover {
    background: rgba(201,166,107,0.07);
    border-color: rgba(201,166,107,0.25);
}
.dvk-cf__swatch--active {
    background: rgba(201,166,107,0.05);
    border-color: rgba(201,166,107,0.3);
}
.dvk-cf__dot {
    display: block;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    box-shadow: 0 1px 4px rgba(0,0,0,0.18);
    transition: transform 0.2s, box-shadow 0.2s;
    flex-shrink: 0;
}
.dvk-cf__dot--light {
    box-shadow: 0 1px 4px rgba(0,0,0,0.18), inset 0 0 0 1px #d8d0bf;
}
.dvk-cf__swatch:hover .dvk-cf__dot {
    transform: scale(1.12);
    box-shadow: 0 3px 10px rgba(0,0,0,0.22);
}
.dvk-cf__swatch--active .dvk-cf__dot {
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px #c9a66b, 0 2px 8px rgba(0,0,0,0.2);
    transform: scale(1.08);
}
.dvk-cf__dot--light.dvk-cf__swatch--active .dvk-cf__dot {
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px #c9a66b;
}
.dvk-cf__name {
    font-family: 'Raleway', sans-serif;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #888;
    text-align: center;
    line-height: 1.25;
    transition: color 0.2s;
    word-break: break-word;
}
.dvk-cf__swatch:hover .dvk-cf__name { color: #1a1a1a; }
.dvk-cf__swatch--active .dvk-cf__name {
    color: #c9a66b;
    font-weight: 600;
}

/* === dvk-mobile-padding === */

@media (max-width: 600px) {
	html body.archive.ast-woo-shop-archive .site-main,
	html body.tax-product_cat .site-main,
	html body.woocommerce-shop .site-main {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}
}

/* === dvk-mobile-bar-css === */
.dvk-mobile-bar{display:none}@media (max-width:768px){.dvk-mobile-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:998;gap:8px;padding:8px 10px;background:#fff;border-top:1px solid #e6e6e6;box-shadow:0 -2px 10px rgba(0,0,0,.08);}.dvk-mobile-bar a{flex:1 1 50%;min-height:46px;display:flex;align-items:center;justify-content:center;font-size:15px;line-height:1.2;font-weight:600;text-align:center;text-decoration:none;border-radius:4px;padding:6px 8px;}.dvk-mobile-bar__call{background:#fff;color:#1a1a1a;border:1px solid #1a1a1a}.dvk-mobile-bar__zamer{background:#1a1a1a;color:#fff;border:1px solid #1a1a1a}body{padding-bottom:62px}}
/* === dvk-search-design-20260928 === */

    @layer dvkComposition {
    html body .dvk-search-overlay{width:min(600px,calc(100vw - 32px))!important;max-width:600px!important;padding:12px!important;gap:10px!important;background:#fffcf8!important;border:1px solid #e4d9cd!important;border-radius:10px!important;box-shadow:0 14px 36px rgba(64,52,40,.12)!important;align-items:center!important;flex-direction:row!important;}
    html body .dvk-search-overlay.active{display:flex!important;}
    html body .dvk-search-overlay .dvk-search-form{display:flex!important;align-items:center!important;gap:8px!important;flex:1 1 auto!important;width:auto!important;min-width:0!important;height:auto!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;}
    html body .dvk-search-overlay .dvk-search-form input[type="search"]{flex:1 1 auto!important;width:0!important;min-width:0!important;max-width:none!important;height:46px!important;min-height:46px!important;margin:0!important;padding:0 12px!important;border:1px solid #ddd1c4!important;border-radius:5px!important;background:#fff!important;color:#40382f!important;font-family:inherit!important;font-size:16px!important;font-weight:400!important;line-height:1.4!important;}
    html body .dvk-search-overlay .dvk-search-form button.dvk-search-submit{position:static!important;inset:auto!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;width:auto!important;min-width:76px!important;height:46px!important;min-height:46px!important;margin:0!important;padding:0 16px!important;border:1px solid #a78562!important;border-radius:5px!important;background:#a78562!important;color:#fff!important;font-family:inherit!important;font-size:14px!important;font-weight:500!important;line-height:1!important;text-transform:none!important;letter-spacing:0!important;box-shadow:none!important;transform:none!important;}
    html body .dvk-search-overlay button.dvk-search-close[aria-label*="Закрыть"]{display:inline-flex!important;position:static!important;inset:auto!important;align-self:center!important;align-items:center!important;justify-content:center!important;flex:0 0 44px!important;width:44px!important;min-width:44px!important;max-width:44px!important;height:46px!important;min-height:46px!important;margin:0!important;padding:0!important;border:1px solid #e3d8cb!important;border-radius:5px!important;background:transparent!important;color:#70563e!important;font-family:Arial,sans-serif!important;font-size:27px!important;font-weight:400!important;line-height:1!important;letter-spacing:0!important;text-transform:none!important;box-shadow:none!important;transform:none!important;}
    html body .dvk-search-overlay .dvk-search-close::before,html body .dvk-search-overlay .dvk-search-close::after,html body .dvk-search-overlay .dvk-search-submit::before,html body .dvk-search-overlay .dvk-search-submit::after{content:none!important;display:none!important;}
    html body .dvk-search-overlay button:focus-visible,html body .dvk-search-overlay input:focus-visible{outline:2px solid #886949!important;outline-offset:3px!important;}
    html body .dvk-search-overlay button.dvk-search-close:hover{background:#eee5da!important;color:#49382a!important;}
    html body .dvk-search-overlay .dvk-search-form button.dvk-search-submit:hover{background:#8c6d4e!important;color:#fff!important;}
    @media(max-width:600px){html body .dvk-search-overlay{width:calc(100vw - 24px)!important;right:12px!important;left:auto!important;padding:10px!important;gap:6px!important;}html body .dvk-search-overlay .dvk-search-form{gap:6px!important;}html body .dvk-search-overlay .dvk-search-form button.dvk-search-submit{min-width:64px!important;padding:0 10px!important;}}
    }
    
/* === dvk-search-navigation-20260930 === */

@layer dvkComposition {
html body .dvk-search-overlay{width:min(680px,calc(100vw - 32px))!important;max-width:680px!important;padding:14px!important;border-radius:7px!important;gap:10px!important;grid-template-columns:minmax(0,1fr) 44px!important;overflow-y:auto!important;}
html body .dvk-search-overlay.active{display:grid!important;animation:dvkSearchOpen .18s ease-out!important;}
html body .dvk-search-overlay .dvk-search-form{grid-column:1!important;grid-row:1!important;}
html body .dvk-search-overlay .dvk-search-close{grid-column:2!important;grid-row:1!important;}
html body .dvk-search-overlay .dvk-search-form button.dvk-search-submit{background:#f2e7d8!important;border-color:#b99d7d!important;color:#654a34!important;}
html body .dvk-search-overlay .dvk-search-navigation{grid-column:1/-1!important;padding-top:12px!important;border-top:1px solid #e8ded2!important;}
html body .dvk-search-overlay .dvk-search-nav-heading{display:flex!important;justify-content:space-between!important;gap:16px!important;margin:0 0 10px!important;font-size:12px!important;line-height:1.5!important;color:#8a7764!important;}
html body .dvk-search-overlay .dvk-search-nav-heading a{color:#72543b!important;text-decoration:none!important;}
html body .dvk-search-overlay .dvk-search-quick-links{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;}
html body .dvk-search-overlay .dvk-search-quick-links a{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;box-sizing:border-box!important;min-height:44px!important;padding:9px 11px!important;border:1px solid #e5dacc!important;border-radius:4px!important;background:#fffdf9!important;color:#68533f!important;font-size:12px!important;line-height:1.4!important;font-weight:500!important;text-decoration:none!important;}
html body .dvk-search-overlay a:focus-visible{outline:2px solid #886949!important;outline-offset:2px!important;}
@keyframes dvkSearchOpen{from{translate:0 -5px;}to{translate:0 0;}}
@media(hover:hover){html body .dvk-search-overlay .dvk-search-quick-links a:hover{background:#f2e8db!important;border-color:#b9a084!important;}html body .dvk-search-overlay .dvk-search-form button.dvk-search-submit:hover{background:#e7d7c3!important;color:#503922!important;}}
@media(max-width:600px){html body .dvk-search-overlay{width:calc(100vw - 24px)!important;padding:10px!important;gap:6px!important;}html body .dvk-search-overlay .dvk-search-quick-links{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(prefers-reduced-motion:reduce){html body .dvk-search-overlay.active{animation:none!important;}}
}

/* === dvk-mini-cart-panel-20260930 === */
@layer dvkComposition {
html body div.dvk-cart-modal div.dvk-cart-panel{background:#fffcf8!important;border:1px solid #d7c6b0!important;border-radius:7px!important;overflow:hidden!important;box-shadow:0 14px 36px rgba(73,52,32,.14)!important;}
html body div.dvk-cart-modal div.dvk-cart-panel .dvk-cart-title{background:transparent!important;border:0!important;text-align:left!important;font-size:24px!important;font-weight:500!important;line-height:1.3!important;margin:24px 52px 12px 20px!important;padding:0!important;}
html body div.dvk-cart-modal div.dvk-cart-panel .dvk-cart-title:after{display:none!important;content:none!important;}
html body div.dvk-cart-modal div.dvk-cart-panel .dvk-cart-close{color:#705239!important;}
html body div.dvk-cart-modal div.dvk-cart-panel .dvk-cart-iframe{background:#fffcf8!important;border:0!important;}
html body div.dvk-cart-modal.dvk-cart-is-empty div.dvk-cart-panel .dvk-cart-iframe{height:170px!important;min-height:0!important;}
html body div.dvk-cart-modal div.dvk-cart-panel a.dvk-cart-go{display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:48px!important;padding:12px 20px!important;background:#efe3d3!important;border-top:1px solid #d7c6b0!important;color:#60472f!important;font-size:13px!important;font-weight:500!important;letter-spacing:0!important;text-transform:none!important;}
html body div.dvk-cart-modal div.dvk-cart-panel a.dvk-cart-go:hover{background:#e5d4be!important;color:#4f3825!important;}
html body.dvk-cart-mini-view #content{background:transparent!important;}
html body.dvk-cart-mini-view #content .woocommerce{background:transparent!important;}
}
/* === dvk-mini-cart-mobile-20260930 === */
@layer dvkComposition {
html body.dvk-cart-mini-view #content .entry-header{display:none!important;}
@media(max-width:600px){html body div.dvk-cart-modal.dvk-cart-is-empty div.dvk-cart-panel{bottom:auto!important;height:auto!important;min-height:0!important;max-height:calc(100dvh - 70px)!important;left:10px!important;right:10px!important;width:calc(100% - 20px)!important;}}
}
/* === dvk-mobile-menu-contacts-20260930 === */
@layer dvkComposition {
@media(max-width:921px){
html body #ast-mobile-header .ast-mobile-header-content .dvk-mobile-foot{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:12px!important;padding:20px 24px!important;margin:0!important;background:#f2e9df!important;border-top:1px solid #dfd0bd!important;color:#6c543e!important;min-height:0!important;}
html body #ast-mobile-header .ast-mobile-header-content .dvk-mobile-foot>p{padding:0!important;margin:0!important;}
html body #ast-mobile-header .ast-mobile-header-content .dvk-mobile-foot>p:empty{display:none!important;}
html body #ast-mobile-header .ast-mobile-header-content .dvk-mobile-foot .dvk-mobile-cta{min-height:46px!important;margin:0!important;}
html body #ast-mobile-header .ast-mobile-header-content .dvk-mobile-foot .dvk-mobile-phones{margin:0!important;padding:0!important;}
html body #ast-mobile-header .ast-mobile-header-content .dvk-mobile-foot .dvk-mobile-phone{font-size:20px!important;line-height:1.5!important;font-weight:500!important;color:#604a35!important;background:transparent!important;padding:0!important;border:0!important;}
html body #ast-mobile-header .ast-mobile-header-content .dvk-mobile-foot .dvk-mobile-email{font-size:13px!important;line-height:1.5!important;color:#745b44!important;background:transparent!important;padding:0!important;overflow-wrap:anywhere!important;}
html body #ast-mobile-header .ast-mobile-header-content .dvk-mobile-foot .dvk-mobile-hours{font-size:12px!important;line-height:1.7!important;color:#806b56!important;}
html body #ast-mobile-header .ast-mobile-header-content .dvk-mobile-foot .dvk-mobile-addr{font-size:12px!important;line-height:1.6!important;color:#6b533e!important;padding:0!important;}
}
}
/* === dvk-consultation-layout-20261002 === */

@layer dvkComposition {
html body.dvk-consultation-open{overflow:hidden!important;}
html body.dvk-consultation-open>.dvk-mobile-bar{visibility:hidden!important;}
html body #page .dvk-zamer-modal:target{display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;padding:16px!important;overflow:hidden!important;}
html body #page .dvk-zamer-modal .dvk-zamer-panel{position:relative!important;box-sizing:border-box!important;top:auto!important;left:auto!important;transform:none!important;width:min(520px,calc(100vw - 32px))!important;max-width:100%!important;height:auto!important;max-height:calc(100vh - 32px)!important;max-height:calc(100dvh - 32px)!important;overflow-y:auto!important;overflow-x:hidden!important;margin:0!important;padding:28px!important;border:1px solid #dfd1c1!important;border-radius:10px!important;background:#fffdf9!important;color:#4e443a!important;box-shadow:0 16px 64px rgba(63,46,31,.18)!important;scrollbar-width:thin!important;scrollbar-color:#cbbba7 transparent!important;}
html body #page .dvk-zamer-modal .dvk-zamer-title{max-width:100%!important;margin:0 44px 10px 0!important;padding:0!important;text-align:left!important;font-family:inherit!important;font-size:28px!important;font-style:normal!important;font-weight:500!important;line-height:1.2!important;letter-spacing:-.02em!important;white-space:normal!important;}
html body #page .dvk-zamer-modal .dvk-zamer-line{display:none!important;}
html body #page .dvk-zamer-modal .dvk-zamer-sub{box-sizing:border-box!important;max-width:100%!important;width:100%!important;margin:0 0 22px!important;padding:0!important;white-space:normal!important;overflow-wrap:break-word!important;text-align:left!important;font-family:inherit!important;font-size:14px!important;font-weight:400!important;font-style:normal!important;line-height:1.6!important;letter-spacing:0!important;color:#7a6b5d!important;}
html body #page .dvk-zamer-modal .dvk-zamer-panel>p:empty{display:none!important;}
html body #page .dvk-zamer-modal .dvk-zamer-panel>p:has(iframe){margin:0!important;padding:0!important;line-height:0!important;}
html body #page .dvk-zamer-modal iframe.dvk-zamer-iframe{display:block!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;height:var(--dvk-form-height,480px)!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;background:#fffdf9!important;}
html body #page .dvk-zamer-modal .dvk-zamer-close{position:absolute!important;display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;top:16px!important;right:16px!important;width:36px!important;height:36px!important;margin:0!important;padding:0!important;border:1px solid #dfd1c1!important;border-radius:50%!important;background:#fffdf9!important;color:#77593f!important;font-size:24px!important;font-weight:400!important;line-height:1!important;text-decoration:none!important;transition:background-color .18s ease,border-color .18s ease!important;}
html body #page .dvk-zamer-modal .dvk-zamer-close:hover{background:#eee5d9!important;border-color:#b69a7e!important;}
html body #page .dvk-zamer-modal .dvk-zamer-close:focus-visible{outline:2px solid #987556!important;outline-offset:3px!important;}
html:has(body.page-id-1918){margin:0!important;padding:0!important;height:auto!important;overflow-x:hidden!important;overflow-y:auto!important;background:#fffdf9!important;}
html body.page-id-1918{box-sizing:border-box!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow-x:hidden!important;overflow-y:auto!important;background:#fffdf9!important;font-family:Raleway,Arial,sans-serif!important;}
html body.page-id-1918 :is(#masthead,#colophon,#wpadminbar,.dvk-mobile-contact-bar,.dvk-mobile-contact,.dvk-mobile-bar,.dvk-ya-profile,.dvk-obrazec-znak,.dvk-mini-cart-wrap,.dvk-reviews-link,#ast-scroll-top){display:none!important;}
html body.page-id-1918 #content,html body.page-id-1918 #content :is(.ast-container,#primary,#main,article,.entry-content){box-sizing:border-box!important;max-width:100%!important;width:100%!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;}
html body.page-id-1918 #content .wpcf7{box-sizing:border-box!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0 0 4px!important;}
html body.page-id-1918 #content .wpcf7 form{box-sizing:border-box!important;width:100%!important;margin:0!important;padding:0!important;}
html body.page-id-1918 #content .dvk-form__row{margin:0 0 16px!important;}
html body.page-id-1918 #content .dvk-form__row p{margin:0!important;padding:0!important;}
html body.page-id-1918 #content .dvk-form__row br{display:none!important;}
html body.page-id-1918 #content .wpcf7 label{display:block!important;margin:0 0 8px!important;font-family:inherit!important;font-size:13px!important;font-style:normal!important;font-weight:500!important;line-height:1.4!important;letter-spacing:0!important;text-transform:none!important;color:#665342!important;}
html body.page-id-1918 #content .wpcf7 :is(input[type=text],input[type=tel],select,textarea){box-sizing:border-box!important;display:block!important;width:100%!important;max-width:100%!important;min-height:48px!important;margin:0!important;padding:12px 14px!important;border:1px solid #d8c8b5!important;border-radius:5px!important;background:#fffdf9!important;color:#4e443a!important;font-family:inherit!important;font-size:16px!important;font-style:normal!important;font-weight:400!important;line-height:1.4!important;letter-spacing:0!important;box-shadow:none!important;}
html body.page-id-1918 #content .wpcf7 textarea{height:110px!important;resize:vertical!important;}
html body.page-id-1918 #content .wpcf7 :is(input,select,textarea):focus-visible{border-color:#987556!important;outline:2px solid #987556!important;outline-offset:2px!important;}
html body.page-id-1918 #content .dvk-form__details{box-sizing:border-box!important;width:100%!important;margin:0 0 16px!important;padding:0 12px!important;border:1px solid #dfd1c1!important;border-radius:5px!important;background:#faf6ef!important;}
html body.page-id-1918 #content .dvk-form__details>summary{padding:12px 0!important;font-family:inherit!important;font-size:13px!important;font-weight:400!important;font-style:normal!important;line-height:1.5!important;letter-spacing:0!important;color:#665342!important;cursor:pointer!important;}
html body.page-id-1918 #content .dvk-form__details[open] .dvk-form__row{display:block!important;}
html body.page-id-1918 #content .dvk-form>p{position:relative!important;margin:0!important;padding:0!important;}
html body.page-id-1918 #content .wpcf7 input.wpcf7-submit{box-sizing:border-box!important;display:block!important;width:100%!important;min-height:48px!important;margin:0!important;padding:12px 16px!important;border:1px solid #b69a7e!important;border-radius:5px!important;background:#eee5d9!important;color:#4e443a!important;font-family:inherit!important;font-size:14px!important;font-style:normal!important;font-weight:500!important;line-height:1.5!important;letter-spacing:0!important;text-transform:none!important;white-space:normal!important;box-shadow:none!important;transition:background-color .18s ease,border-color .18s ease!important;}
html body.page-id-1918 #content .wpcf7 input.wpcf7-submit:hover{background:#e4d7c7!important;border-color:#987556!important;}
html body.page-id-1918 #content .wpcf7 .wpcf7-spinner{position:absolute!important;top:12px!important;right:10px!important;margin:0!important;}
html body.page-id-1918 #content .dvk-consent{display:block!important;max-width:100%!important;margin:14px 0 0!important;padding:0!important;font-family:inherit!important;font-size:12px!important;font-weight:400!important;font-style:normal!important;line-height:1.65!important;color:#7a6b5d!important;}
html body.page-id-1918 #content .dvk-consent a{font-size:inherit!important;color:#77593f!important;text-decoration:underline!important;text-underline-offset:3px!important;}
html body.page-id-1918 #content .wpcf7-response-output{max-width:100%!important;margin:14px 0 0!important;padding:10px 12px!important;font-size:13px!important;line-height:1.5!important;}
@media(max-width:640px){html body #page .dvk-zamer-modal .dvk-zamer-panel{padding:22px 20px!important;}html body #page .dvk-zamer-modal .dvk-zamer-title{font-size:25px!important;}html body #page .dvk-zamer-modal .dvk-zamer-sub{margin-bottom:18px!important;font-size:13px!important;}html body #page .dvk-zamer-modal .dvk-zamer-close{top:14px!important;right:14px!important;}}
@media(prefers-reduced-motion:reduce){html body #page .dvk-zamer-modal .dvk-zamer-close,html body.page-id-1918 #content .wpcf7 input.wpcf7-submit{transition:none!important;}}
}

/* === dvk-inline-forms-20261002 === */

@layer dvkComposition {
html body #content #primary .wpcf7.dvk-inline-form,html body #content #primary .wpcf7.dvk-inline-form form{box-sizing:border-box!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;}
html body #content #primary .wpcf7.dvk-inline-form .dvk-calcform-row p,html body #content #primary .wpcf7.dvk-inline-form .dvk-form__row p{margin:0!important;padding:0!important;}
html body #content #primary .wpcf7.dvk-inline-form label{display:block!important;margin:0 0 8px!important;font-family:inherit!important;font-size:13px!important;font-style:normal!important;font-weight:500!important;line-height:1.4!important;text-transform:none!important;letter-spacing:0!important;color:#665342!important;}
html body #content #primary .wpcf7.dvk-inline-form :is(.dvk-calcform-row,.dvk-form__row) br{display:none!important;}
html body #content #primary .wpcf7.dvk-inline-form .dvk-form__row .wpcf7-form-control-wrap{display:block!important;margin:0!important;}
html body #content #primary .wpcf7.dvk-inline-form .dvk-calcform-row label{margin:0!important;}
html body #content #primary .wpcf7.dvk-inline-form .dvk-calcform-row .wpcf7-form-control-wrap{display:block!important;margin:8px 0 0!important;}
html body #content #primary .wpcf7.dvk-inline-form :is(input[type=text],input[type=tel],input[type=email],select,textarea){display:block!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;min-height:48px!important;margin:0!important;padding:12px 14px!important;border:1px solid #d8c8b5!important;border-radius:5px!important;background:#fffdf9!important;color:#4e443a!important;font-family:inherit!important;font-size:16px!important;font-style:normal!important;font-weight:400!important;line-height:1.4!important;letter-spacing:0!important;box-shadow:none!important;}
html body #content #primary .wpcf7.dvk-inline-form textarea{height:110px!important;resize:vertical!important;}
html body #content #primary .wpcf7.dvk-inline-form :is(input,select,textarea):focus-visible{border-color:#987556!important;outline:2px solid #987556!important;outline-offset:2px!important;}
html body #content #primary .wpcf7.dvk-inline-form .dvk-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;}
html body #content #primary .wpcf7.dvk-inline-form .dvk-form>.dvk-form__row{min-width:0!important;margin:0!important;}
html body #content #primary .wpcf7.dvk-inline-form .dvk-form>:is(p,.dvk-form__details){grid-column:1/-1!important;margin:0!important;}
html body #content #primary .wpcf7.dvk-inline-form .dvk-form__details{box-sizing:border-box!important;width:100%!important;padding:0 14px!important;border:1px solid #dfd1c1!important;border-radius:5px!important;background:#faf6ef!important;}
html body #content #primary .wpcf7.dvk-inline-form .dvk-form__details>summary{box-sizing:border-box!important;min-height:48px!important;padding:13px 0!important;font-family:inherit!important;font-size:13px!important;font-style:normal!important;font-weight:400!important;line-height:1.6!important;letter-spacing:0!important;text-transform:none!important;color:#665342!important;cursor:pointer!important;}
html body #content #primary .wpcf7.dvk-inline-form .dvk-form__details[open] .dvk-form__row{display:block!important;margin:0 0 16px!important;}
html body #content #primary .wpcf7.dvk-inline-form .dvk-form__details>summary:focus-visible{outline:2px solid #987556!important;outline-offset:3px!important;border-radius:3px!important;}
html body #content #primary .wpcf7.dvk-inline-form form:has(>.dvk-calcform-row){display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(190px,.9fr)!important;align-items:end!important;gap:16px!important;}
html body #content #primary .wpcf7.dvk-inline-form .dvk-calcform-row{min-width:0!important;margin:0!important;}
html body #content #primary .wpcf7.dvk-inline-form form>.dvk-calcform-row--submit{position:relative!important;align-self:end!important;grid-column:auto!important;}
html body #content #primary .wpcf7.dvk-inline-form :is(.dvk-form>p,.dvk-calcform-row--submit p){position:relative!important;margin:0!important;padding:0!important;}
html body #content #primary .wpcf7.dvk-inline-form input.wpcf7-submit{display:block!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-height:48px!important;margin:0!important;padding:12px 16px!important;border:1px solid #b69a7e!important;border-radius:5px!important;background:#eee5d9!important;color:#4e443a!important;font-family:inherit!important;font-size:14px!important;font-style:normal!important;font-weight:500!important;line-height:1.5!important;letter-spacing:0!important;text-transform:none!important;white-space:normal!important;box-shadow:none!important;cursor:pointer!important;transition:background-color .18s ease,border-color .18s ease!important;}
html body #content #primary .wpcf7.dvk-inline-form input.wpcf7-submit:hover{background:#e4d7c7!important;border-color:#987556!important;}
html body #content #primary .wpcf7.dvk-inline-form .wpcf7-spinner{position:absolute!important;top:12px!important;right:10px!important;margin:0!important;}
html body #content #primary .wpcf7.dvk-inline-form form>:is(.dvk-calcform-note,.dvk-consent,.wpcf7-response-output){grid-column:1/-1!important;max-width:100%!important;}
html body #content #primary .wpcf7.dvk-inline-form .dvk-calcform-note{margin:0!important;padding:0!important;text-align:left!important;font-size:13px!important;line-height:1.6!important;color:#7a6b5d!important;}
html body #content #primary .wpcf7.dvk-inline-form .dvk-consent{margin:14px 0 0!important;padding:0!important;text-align:left!important;font-family:inherit!important;font-size:12px!important;font-weight:400!important;line-height:1.65!important;color:#7a6b5d!important;}
html body #content #primary .wpcf7.dvk-inline-form form:has(>.dvk-calcform-row)>.dvk-consent{margin:0!important;}
html body #content #primary .wpcf7.dvk-inline-form .dvk-consent a{font-size:inherit!important;color:#77593f!important;text-decoration:underline!important;text-underline-offset:3px!important;}
html body #content #primary .wpcf7.dvk-inline-form .wpcf7-response-output{margin:14px 0 0!important;padding:10px 12px!important;font-size:13px!important;line-height:1.5!important;}
@media(max-width:1000px){html body #content #primary .wpcf7.dvk-inline-form form:has(>.dvk-calcform-row){grid-template-columns:repeat(2,minmax(0,1fr))!important;}html body #content #primary .wpcf7.dvk-inline-form form>.dvk-calcform-row--submit{grid-column:1/-1!important;}}
@media(max-width:768px){html body.page-id-1830 #content #primary .dvk-info-request{padding:0!important;}html body.page-id-1830 #content #primary .dvk-svc-calc,html body.page-id-1831 #content #primary .dvk-contact-form-panel{box-sizing:border-box!important;padding:20px 16px!important;}}
@media(max-width:640px){html body #content #primary .wpcf7.dvk-inline-form .dvk-form,html body #content #primary .wpcf7.dvk-inline-form form:has(>.dvk-calcform-row){grid-template-columns:1fr!important;}}
@media(prefers-reduced-motion:reduce){html body #content #primary .wpcf7.dvk-inline-form input.wpcf7-submit{transition:none!important;}}
}

/* === dvk-information-navigation-payment-20261002 === */

@layer dvkComposition {
html body #content #primary .dvk-info-related{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:8px!important;box-sizing:border-box!important;width:100%!important;max-width:none!important;margin:0!important;padding:16px 0!important;border-bottom:1px solid #e1d5c7!important;}
html body #content #primary .dvk-info-related a{display:inline-flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;min-height:44px!important;margin:0!important;padding:10px 16px!important;border:1px solid #dfd1c1!important;border-radius:4px!important;background:#fffdf9!important;color:#665342!important;font-family:inherit!important;font-size:13px!important;font-style:normal!important;font-weight:400!important;line-height:1.4!important;letter-spacing:0!important;text-transform:none!important;text-decoration:none!important;white-space:normal!important;text-align:center!important;transition:background-color .18s ease,border-color .18s ease!important;}
html body #content #primary .dvk-info-related a[aria-current=page]{background:#eee5d9!important;border-color:#cdb9a3!important;color:#4e443a!important;font-weight:500!important;}
html body #content #primary .dvk-info-related a:hover{background:#f4ece1!important;border-color:#b69a7e!important;}
html body #content #primary .dvk-info-related a:focus-visible{outline:2px solid #987556!important;outline-offset:3px!important;}
html body.page-id-1829 #content #primary :is(#dvk-delivery-rates,#dvk-payment-methods){scroll-margin-top:calc(96px + var(--wp-admin--admin-bar--height,0px))!important;}
@media(max-width:640px){
html body #content #primary .dvk-info-related{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:12px 0!important;}
html body #content #primary .dvk-info-related a{width:100%!important;padding:10px 8px!important;}
html body.page-id-1829 #content #primary .dvk-pay-cards{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;}
html body.page-id-1829 #content #primary .dvk-pay-card{display:grid!important;box-sizing:border-box!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:auto auto!important;grid-template-areas:none!important;align-items:center!important;gap:8px 12px!important;width:100%!important;min-width:0!important;padding:16px!important;}
html body.page-id-1829 #content #primary .dvk-pay-card__label{grid-column:1!important;margin:0!important;padding:0!important;font-size:12px!important;font-weight:500!important;line-height:1.5!important;text-transform:none!important;letter-spacing:0!important;color:#7a6b5d!important;}
html body.page-id-1829 #content #primary .dvk-pay-card__title{grid-column:2!important;margin:0!important;padding:0!important;font-size:22px!important;font-weight:500!important;line-height:1.3!important;letter-spacing:-.01em!important;white-space:nowrap!important;color:#665342!important;}
html body.page-id-1829 #content #primary .dvk-pay-card__note{grid-column:1/-1!important;margin:0!important;padding:0!important;font-size:14px!important;line-height:1.55!important;letter-spacing:0!important;}
html body.page-id-1829 #content #primary .dvk-pay-note{display:block!important;box-sizing:border-box!important;margin:16px 0!important;padding:14px 16px!important;font-size:14px!important;line-height:1.65!important;}
html body.page-id-1829 #content #primary .dvk-pay-note strong{display:inline!important;margin:0!important;padding:0!important;font-size:inherit!important;font-weight:500!important;line-height:inherit!important;letter-spacing:0!important;text-transform:none!important;}
}
@media(min-width:360px) and (max-width:640px){
html body.page-id-1829 #content #primary .dvk-pay-methods{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;align-items:stretch!important;}
html body.page-id-1829 #content #primary .dvk-pay-method{display:flex!important;box-sizing:border-box!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:0!important;width:100%!important;min-width:0!important;margin:0!important;padding:14px!important;border:1px solid #dfd1c1!important;border-radius:6px!important;background:#fffdf9!important;}
html body.page-id-1829 #content #primary .dvk-pay-method__icon{margin:0 0 8px!important;padding:0!important;font-size:12px!important;line-height:1.5!important;color:#9b8066!important;}
html body.page-id-1829 #content #primary .dvk-pay-method__title{min-height:44.8px!important;margin:0 0 8px!important;padding:0!important;font-size:16px!important;font-weight:500!important;line-height:1.4!important;letter-spacing:0!important;color:#4e443a!important;overflow-wrap:break-word!important;}
html body.page-id-1829 #content #primary .dvk-pay-method__desc{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;font-size:13px!important;font-weight:400!important;line-height:1.6!important;color:#7a6b5d!important;overflow-wrap:break-word!important;}
}
@media(prefers-reduced-motion:reduce){html body #content #primary .dvk-info-related a{transition:none!important;}}
}

/* === dvk-information-anchor-offset-20261002 === */
@layer dvkComposition {
html body.page-id-1829 #content #primary :is(#dvk-delivery-rates,#dvk-payment-methods){scroll-margin-top:96px!important;}
}
/* === dvk-filtr-ceny === */
.dvk-cf-ceny{display:flex;flex-direction:column;gap:6px}.dvk-cf-cena{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:9px 12px;border:1px solid #e0dbd2;text-decoration:none;color:#1a1a1a;transition:border-color .2s,background .2s}.dvk-cf-cena:hover{border-color:#c9a66b}.dvk-cf-cena--vybran{border-color:#1a1a1a;background:#1a1a1a;color:#fff}.dvk-cf-cena--vybran .dvk-cf-cena__podpis{color:#c9a66b}.dvk-cf-cena__imya{font-family:Raleway,sans-serif;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.dvk-cf-cena__podpis{font-family:Raleway,sans-serif;font-size:11px;color:#8a8a8a;white-space:nowrap}.dvk-cf-sbros{display:block;margin-top:4px;font-family:Raleway,sans-serif;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#8a8a8a;text-decoration:none}.dvk-cf-sbros:hover{color:#c9a66b}
/* === dvk-knopka-otkryt === */
html body ul.products li.product-category a::after{position:relative !important;z-index:3 !important}html body ul.products li.product-category a:hover::after{background:#c9a66b !important;color:#111111 !important;font-weight:700 !important}
/* === dvk-edinyj-shrift === */
/* Подмена шрифта: Montserrat под именами прежних семейств.
   Собрано sobrat-shrift.py — не править руками. */
@font-face { font-family: 'Raleway'; font-style: normal; font-weight: 300; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Raleway'; font-style: normal; font-weight: 300; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Raleway'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Raleway'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Raleway'; font-style: normal; font-weight: 500; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Raleway'; font-style: normal; font-weight: 500; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Raleway'; font-style: normal; font-weight: 600; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Raleway'; font-style: normal; font-weight: 600; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Raleway'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Raleway'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 300; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 300; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 500; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 500; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 600; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 600; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Exo 2'; font-style: normal; font-weight: 300; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Exo 2'; font-style: normal; font-weight: 300; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Exo 2'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Exo 2'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Exo 2'; font-style: normal; font-weight: 500; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Exo 2'; font-style: normal; font-weight: 500; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Exo 2'; font-style: normal; font-weight: 600; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Exo 2'; font-style: normal; font-weight: 600; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Exo 2'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Exo 2'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 300; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 300; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 500; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 500; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 600; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 600; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
html body, html body *:not(#dvk-net-takogo),html body *:not(#dvk-net-takogo)::before,html body *:not(#dvk-net-takogo)::after{font-style:normal !important}
/* === dvk-kontakty-ssylki === */
.dvk-kontakt{color:inherit;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;white-space:nowrap}.dvk-kontakt:hover{text-decoration-style:solid}
/* === dvk-katalog-teksty-vniz === */

    @layer dvkComposition {
    html body #content .dvk-katalog-text{width:100%!important;max-width:none!important;box-sizing:border-box!important;margin:40px 0 0!important;padding:28px 0 0!important;float:none!important;text-align:left!important;background:transparent!important;border:0!important;border-top:1px solid #e5dbcf!important;border-radius:0!important;box-shadow:none!important;}
    html body #content .dvk-katalog-text>:is(.page-description,.term-description){width:100%!important;max-width:none!important;box-sizing:border-box!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;text-align:left!important;column-count:2;column-gap:48px;column-rule:1px solid #e5dbcf;}
    html body #content .dvk-katalog-text>:is(.page-description,.term-description)>*{max-width:none!important;width:auto!important;margin-left:0!important;margin-right:0!important;}
    html body #content .dvk-katalog-text :is(h1,h2,h3){font-family:inherit!important;font-style:normal!important;font-weight:500!important;text-align:left!important;text-transform:none!important;letter-spacing:-.015em!important;line-height:1.3!important;color:#403a34!important;background:transparent!important;border:0!important;padding:0!important;break-after:avoid-column;}
    html body #content .dvk-katalog-text :is(h1,h2){column-span:all;font-size:28px!important;margin:0 0 20px!important;}
    html body #content .dvk-katalog-text h3{font-size:20px!important;margin:20px 0 10px!important;}
    html body #content .dvk-katalog-text :is(h1,h2,h3)::before,html body #content .dvk-katalog-text :is(h1,h2,h3)::after{display:none!important;}
    html body #content .dvk-katalog-text :is(p,li){font-size:16px!important;line-height:1.6!important;text-align:left!important;color:#70665c!important;letter-spacing:0!important;}
    html body #content .dvk-katalog-text p{margin:0 0 14px!important;padding:0!important;}
    html body #content .dvk-katalog-text :is(ul,ol){margin:12px 0 16px!important;padding:0 0 0 22px!important;background:transparent!important;border:0!important;border-radius:0!important;}
    html body #content .dvk-katalog-text li{margin:0 0 6px!important;padding:0!important;}
    html body #content .dvk-katalog-text a{color:#71543d!important;text-decoration:underline!important;text-decoration-color:#c6b49e!important;text-underline-offset:3px;}
    html body #content .dvk-katalog-text a:hover{color:#403a34!important;text-decoration-color:currentColor!important;}
    html body #content .dvk-katalog-text>.page-description>p{break-inside:avoid-column;}
    html body #content .woocommerce-pagination{height:auto!important;min-height:40px!important;clear:both!important;margin:32px 0 0!important;}
    html body #content .woocommerce-pagination ul.page-numbers{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;justify-content:center!important;align-items:center!important;gap:6px!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;}
    html body #content .woocommerce-pagination ul.page-numbers>li{display:block!important;flex:0 0 auto!important;float:none!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;border:0!important;outline:0!important;}
    html body #content .woocommerce-pagination ul.page-numbers>li>:is(a,span){display:grid!important;place-items:center!important;box-sizing:border-box!important;width:38px!important;min-width:38px!important;height:38px!important;margin:0!important;padding:0!important;border:1px solid #ded3c5!important;border-radius:3px!important;outline:0!important;font-size:13px!important;line-height:1!important;background:#fffaf4!important;color:#71543d!important;box-shadow:none!important;}
    html body #content .woocommerce-pagination ul.page-numbers>li>.current{background:#71543d!important;border-color:#71543d!important;color:#fffaf4!important;}
    html body #content .woocommerce-pagination ul.page-numbers>li>a:hover{background:#eee4d7!important;}
    @media(min-width:769px){html body.tax-product_cat #content .dvk-katalog-text{--dvk-text-outset:320px;width:calc(100% + var(--dvk-text-outset))!important;margin-left:calc(-1 * var(--dvk-text-outset))!important;}}
    @media(min-width:769px) and (max-width:1100px){html body.tax-product_cat #content .dvk-katalog-text{--dvk-text-outset:264px;}}
    @media(max-width:1100px){html body #content .dvk-katalog-text>:is(.page-description,.term-description){column-count:1;column-rule:0;}}
    @media(max-width:768px){html body #content .dvk-katalog-text{margin-top:28px!important;padding-top:22px!important;}html body #content .dvk-katalog-text :is(h1,h2){font-size:24px!important;margin-bottom:16px!important;}html body #content .dvk-katalog-text h3{font-size:19px!important;margin-top:18px!important;}}

    /* Explicit editorial sections keep every paragraph with its heading. */
    html body #content .dvk-katalog-text>.term-description:has(>.dvk-description-sections){column-count:1!important;column-rule:0!important;}
    html body #content .dvk-katalog-text .dvk-description-sections{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr))!important;align-items:start!important;gap:28px 40px!important;max-width:none!important;width:100%!important;margin:24px 0 0!important;padding:0!important;background:transparent!important;border:0!important;}
    html body #content .dvk-katalog-text .dvk-description-section{min-width:0!important;break-inside:avoid!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;}
    html body #content .dvk-katalog-text .dvk-description-section>h3{margin:0 0 12px!important;}
    html body #content .dvk-katalog-text .dvk-description-section>p:last-child{margin-bottom:0!important;}

    /* Native disclosures keep the full descriptions available on small screens. */
    html body #content .dvk-katalog-text .dvk-description-intro{display:grid!important;grid-template-columns:minmax(0,.85fr) minmax(0,1.6fr)!important;gap:32px 60px!important;align-items:start!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;}
    html body #content .dvk-katalog-text .dvk-description-intro>h2{font-size:28px!important;line-height:1.3!important;margin:0!important;}
    html body #content .dvk-katalog-text .dvk-description-lead>p:last-child{margin-bottom:0!important;}
    html body #content .dvk-katalog-text .dvk-description-disclosure{border-top:1px solid #dfd1be!important;border-radius:0!important;padding-top:18px!important;scroll-margin-top:150px!important;}
    html body #content .dvk-katalog-text .dvk-description-disclosure>summary{box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;list-style:none!important;margin:0 0 12px!important;padding:0!important;cursor:default!important;background:transparent!important;border:0!important;}
    html body #content .dvk-katalog-text .dvk-description-disclosure>summary::-webkit-details-marker{display:none!important;}
    html body #content .dvk-katalog-text .dvk-description-disclosure>summary::marker{content:''!important;}
    html body #content .dvk-katalog-text .dvk-description-disclosure>summary::after{display:none!important;}
    html body #content .dvk-katalog-text .dvk-description-disclosure>summary h3{font-size:19px!important;line-height:1.4!important;margin:0!important;}
    html body #content .dvk-katalog-text .dvk-description-body>p:last-child{margin-bottom:0!important;}
    html body #content .dvk-katalog-text .dvk-description-disclosure>summary:focus-visible{outline:2px solid #94704a!important;outline-offset:5px!important;}
    @media(max-width:1100px){html body #content .dvk-katalog-text .dvk-description-intro{grid-template-columns:1fr!important;gap:14px!important;}}
    @media(max-width:768px){html body #content .dvk-katalog-text .dvk-description-intro>h2{font-size:24px!important;}html body #content .dvk-katalog-text .dvk-description-sections{display:block!important;margin-top:20px!important;}html body #content .dvk-katalog-text .dvk-description-disclosure{padding:0!important;margin:0!important;border-top:1px solid #dfd1be!important;}html body #content .dvk-katalog-text .dvk-description-disclosure:last-child{border-bottom:1px solid #dfd1be!important;}html body #content .dvk-katalog-text .dvk-description-disclosure>summary{min-height:62px!important;margin:0!important;padding:16px 0!important;cursor:pointer!important;}html body #content .dvk-katalog-text .dvk-description-disclosure>summary h3{font-size:17px!important;line-height:1.4!important;}html body #content .dvk-katalog-text .dvk-description-disclosure>summary::after{display:block!important;content:'+'!important;font:400 23px/1 Arial,sans-serif!important;flex:0 0 22px!important;width:22px!important;text-align:center!important;color:#94704a!important;}html body #content .dvk-katalog-text .dvk-description-disclosure[open]>summary::after{content:'−'!important;}html body #content .dvk-katalog-text .dvk-description-body{padding:0 0 20px!important;}html body #content .dvk-katalog-text :is(p,li){font-size:15px!important;line-height:1.7!important;}}
    @media(prefers-reduced-motion:no-preference){html body #content .dvk-katalog-text .dvk-description-disclosure[open]>.dvk-description-body{animation:dvkDescriptionReveal .2s ease-out;}}
    @keyframes dvkDescriptionReveal{from{opacity:.5;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}
    @media(prefers-reduced-motion:reduce){html body #content .dvk-katalog-text .dvk-description-body{animation:none!important;}}
    }
    
/* === dvk-oformlenie === */

/* ============ 1. Палитра: двенадцать переменных вместо сотен правил ============ */
html:root{
  --dvk-gold:#b8906d;        /* декоративный, на тёмном фоне: 6,1:1 */
  --dvk-gold-deep:#75563d;   /* текст и кнопки: белым по нему 6,3:1, им по белому 6,4:1 */
  --dvk-gold2:#75563d;
  --dvk-tishe:#6b655d;       /* подписи и второстепенное: 5,6:1 на тёплом, 6,0:1 на белом */
  --dvk-warm:#f5f3f1;
  --dvk-warm-deep:#ebe7e3;
  --dvk-border:#e2ded9;
  --dvk-text:#26231f;
  --dvk-muted:#7c766e;       /* прежний #888 давал 3,5:1 — ниже нормы */
  --dvk-dark:#1f1c19;
  /* свои, для правил ниже */
  --dvk-zazor:28px;
  --dvk-skruglenie:10px;
}

/* ============ 2. Витрина: воздух вместо стыков ============ */
/* ⚠️ :not(#dvk-net-takogo) добавляет вес уровня id — иначе не перебить
   тринадцать конкурирующих правил зазора, см. докблок сниппета. */
html body:not(#dvk-net-takogo) ul.products{
  gap:var(--dvk-zazor) !important;
  background:transparent !important;
  padding:0 !important;
}
html body:not(#dvk-net-takogo) ul.products li.product{
  background:transparent !important;
  border:0 !important;
  overflow:visible !important;
}
html body:not(#dvk-net-takogo) ul.products li.product::after{display:none !important}

/* ============ 3. Фото на белом поле с тонкой рамкой ============
   Заказчик 20.09: «фон где фото не нравится сделай белым… оставь тонкую
   рамку разделения». Тёплая подложка #f5f3f1 сливалась со светлыми
   полотнами; рамка в 1 px отделяет снимок от страницы и держит сетку. */
html body:not(#dvk-net-takogo) ul.products li.product:not(.product-category) .woocommerce-loop-product__link{
  background:#fff !important;
  border:1px solid var(--dvk-border) !important;
  border-radius:var(--dvk-skruglenie) !important;
  overflow:hidden !important;
  display:block !important;
}
html body:not(#dvk-net-takogo) ul.products li.product:not(.product-category) img{
  padding:20px 22px !important;
  background:transparent !important;
}

/* ============ 4. Имя, отделки, цена ============ */
html body:not(#dvk-net-takogo) ul.products li.product .woocommerce-loop-product__title,
html body:not(#dvk-net-takogo) ul.products li.product h2{
  padding:12px 2px 0 !important;line-height:1.3 !important;
}
.dvk-of-otdelki{display:flex;align-items:center;gap:5px;margin:9px 2px 2px;min-height:14px}
.dvk-of-tochka{width:13px;height:13px;border-radius:50%;display:inline-block;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}
.dvk-of-eshche{font-size:12px;color:var(--dvk-tishe);margin-left:2px}

/* ============ 3б. Ровный низ у плиток витрины ============
   Замер на главной: плитки одной высоты (586 px), а кнопки внутри них стоят
   на разной высоте — 2869, 2925, 2968. Разброс до 99 px, ряд выглядит рваным.

   Причина не в вёрстке, а в данных: у товара с вариациями цена печатается
   диапазоном в две строки («6 465 ₽ — 7 345 ₽»), у простого — в одну,
   а название занимает то одну строку, то две. Всё, что ниже, съезжает.

   Лечится не подгонкой, а раскладкой: подпись под фото растягиваем на всю
   оставшуюся высоту, названию даём место под две строки всегда, кнопку
   прижимаем к низу. Тогда ряд заканчивается одной линией независимо
   от длины названия и формы цены. */
html body:not(#dvk-net-takogo) ul.products li.product .astra-shop-summary-wrap{
  display:flex !important;flex-direction:column !important;
  flex:1 1 auto !important;
}
html body:not(#dvk-net-takogo) ul.products li.product .ast-loop-product__link,
html body:not(#dvk-net-takogo) ul.products li.product .woocommerce-loop-product__title{
  min-height:2.6em !important;
}
html body:not(#dvk-net-takogo) ul.products li.product .price{
  margin-top:8px !important;margin-bottom:12px !important;
}
html body:not(#dvk-net-takogo) #content ul.products li.product .button,
html body:not(#dvk-net-takogo) #content ul.products li.product .dvk-price-request,
html body:not(#dvk-net-takogo) ul.products li.product .button,
html body:not(#dvk-net-takogo) ul.products li.product .dvk-price-request{
  margin-top:auto !important;
}

/* ============ 4а. Места, где цвет прописан мимо переменных ============
   Проверил контраст по всем видимым надписям главной: 19 не дотягивали
   до нормы 4,5:1. Ни одно из них не берёт цвет из переменной — значения
   вписаны в правила руками, поэтому переналадка палитры их не задела.
   Ниже поимённо, с прежним контрастом. */
html body:not(#dvk-net-takogo) .dvk-color-label{color:var(--dvk-tishe) !important}      /* было 3,2 */
html body:not(#dvk-net-takogo) .home-contacts__label,
html body:not(#dvk-net-takogo) .footer__label{color:var(--dvk-tishe) !important}        /* было 3,54 */
html body:not(#dvk-net-takogo) .home-contacts__value a,
html body:not(#dvk-net-takogo) .home-contacts__value{color:var(--dvk-gold-deep) !important} /* было 2,3 и 2,9 */
html body:not(#dvk-net-takogo) .footer__logo,
html body:not(#dvk-net-takogo) .footer__title,
html body:not(#dvk-net-takogo) .footer__phone{color:var(--dvk-gold-deep) !important}    /* было 2,07 */

/* ⚠️ А вот блок отзывов Яндекса — на тёмной плашке (#181818), и глубокий
   акцент там сливается с фоном: сначала я свалил его в общую кучу и получил
   2,67 вместо прежних 4,4. На тёмном работает светлый тон акцента. */
html body:not(#dvk-net-takogo) .dvk-ya-profile a{color:var(--dvk-gold) !important}

/* ============ 4г. Колонка фильтров и подпись разделов ============
   Проверка контраста 20.09 по разделу каталога нашла 49 надписей ниже нормы,
   и все — в колонке фильтров. Заголовки виджетов «Цена», «Категории», «Цвет»
   набраны акцентом #c9a66b по тёплому #f7f4ee: **2,09 при норме 4,5**.
   Счётчики «(17)» серым #999 по тому же фону — 2,6.
   Это не от правок оформления: обе краски вписаны в правила руками, мимо
   переменных, поэтому смена палитры их не коснулась.

   Заголовкам даём глубокий акцент, счётчикам — приглушённый текстовый тон:
   оба темнее фона настолько, чтобы пройти норму с запасом. */
html body:not(#dvk-net-takogo) #secondary .widget-title,
html body:not(#dvk-net-takogo) #secondary .widgettitle{
  color:var(--dvk-gold-deep) !important;                                /* было 2,09 */
}
html body:not(#dvk-net-takogo) #secondary .count,
html body:not(#dvk-net-takogo) #secondary .woocommerce-widget-layered-nav-list__item .count{
  color:var(--dvk-tishe) !important;                                    /* было 2,6 */
}
/* Названия цветов в фильтре — серый #888 по тёплому фону, 3,23 при кегле 10.
   Мелкий текст норму не снижает: 4,5 нужен и ему. */
html body:not(#dvk-net-takogo) .dvk-cf__name{color:var(--dvk-tishe) !important}
/* Подпись «Категории:» под карточкой — серый #888 по белому даёт 3,54. */
html body:not(#dvk-net-takogo) .posted_in{color:var(--dvk-tishe) !important}

/* ============ 4е. Остальные страницы: та же пара красок ============
   Проверка 20.09 прошла по восьми страницам. Нарушения нашлись почти везде,
   и все — одна и та же пара значений, вписанных руками мимо переменных:

     · старое золото #c9a66b по белому — **2,3** при норме 4,5;
     · серые #888 / #999 / #777 / #8a8a8a по белому — 2,85…4,48.

   Оба оттенка появились до переналадки палитры и потому её не заметили.
   Заменяем поимённо: золоту — глубокий тон, серым — приглушённый текстовый.
   Витрина, карточка, корзина и «Статьи» уже чисты — их здесь нет. */

/* золото по белому: 2,3 → глубокий тон */
html body:not(#dvk-net-takogo) .dvk-about-page em,
html body:not(#dvk-net-takogo) .dvk-svc-section__num,
html body:not(#dvk-net-takogo) .dvk-svc-card__num,
html body:not(#dvk-net-takogo) .dvk-svc-card__tag,
html body:not(#dvk-net-takogo) .dvk-svc-price__value,
html body:not(#dvk-net-takogo) .dvk-svc-price__cur,
html body:not(#dvk-net-takogo) .dvk-svc-cta__link,
html body:not(#dvk-net-takogo) .dvk-pay-card__title{
  color:var(--dvk-gold-deep) !important;
}

/* серые подписи: 2,85…4,48 → приглушённый текстовый */
html body:not(#dvk-net-takogo) .woocommerce-result-count,
html body:not(#dvk-net-takogo) .dvk-about-hours-row span,
html body:not(#dvk-net-takogo) .dvk-svc-price__title,
html body:not(#dvk-net-takogo) .dvk-svc-price__from,
html body:not(#dvk-net-takogo) .dvk-svc-price__note,
html body:not(#dvk-net-takogo) .dvk-calcform-note,
html body:not(#dvk-net-takogo) .dvk-consent,
html body:not(#dvk-net-takogo) .dvk-pay-card__label,
html body:not(#dvk-net-takogo) .dvk-pay-card__note,
html body:not(#dvk-net-takogo) .dvk-pay-method__desc,
html body:not(#dvk-net-takogo) form label{
  color:var(--dvk-tishe) !important;
}

/* ⚠️ Кнопка «Консультация» на «О компании» — тёмное золото ПО золоту, 2,9.
   Здесь менять надо не краску надписи на более тёмную того же семейства,
   а увести её в тёмный: на #c9a66b тёмный тон даёт 7,6, а белый — всего 2,2.
   Тот же урок, что был с отзывами Яндекса: сначала смотрим, на чём лежит. */
html body:not(#dvk-net-takogo) #content .dvk-about-cta__button,
html body:not(#dvk-net-takogo) .dvk-about-cta__button{color:var(--dvk-dark) !important}

/* ============ 4д. Блоки контактов и цифры «О компании» ============
   На «Контактах» подписи «Адрес», «Телефоны», «E-mail» набраны золотом
   #c9a66b по тёплому фону — 2,09. На «О компании» тем же золотом по белому
   набраны цифры «12+», «900+», «5000+» — 2,3. У подписей нет ни одного
   класса, поэтому правило строится от контейнера: всё, что не ссылка,
   читается тёмным, ссылки — глубоким акцентом. */
html body:not(#dvk-net-takogo) .dvk-contacts-wrap div,
html body:not(#dvk-net-takogo) .dvk-contacts-block div{color:var(--dvk-text) !important}
html body:not(#dvk-net-takogo) .dvk-contacts-wrap a,
html body:not(#dvk-net-takogo) .dvk-contacts-block a,
html body:not(#dvk-net-takogo) .wpcf7 a{color:var(--dvk-gold-deep) !important}
/* ⚠️ подписи «Адрес», «Телефоны» — это h2 по 11 px, а не div: первая
   попытка правила по div их не задела, пришлось смотреть разметку */
/* ⚠️ Дважды ошибся с направлением правки, прежде чем понял: часть надписей
   лежит на тёмных плашках, часть на светлых, а акцент один и тот же. Поэтому
   у каждой правки ниже проверен фон: на светлом — глубокий тон, на тёмном —
   светлый (см. блок отзывов Яндекса выше). */
html body:not(#dvk-net-takogo) .dvk-about-page a,
html body:not(#dvk-net-takogo) .dvk-about-cta__link,
html body:not(#dvk-net-takogo) .dvk-about-value__num,
html body:not(#dvk-net-takogo) .dvk-kontakty-text a,
html body:not(#dvk-net-takogo) .dvk-contacts-block h2,
html body:not(#dvk-net-takogo) .dvk-about-section__num,
html body:not(#dvk-net-takogo) .dvk-about-stat,
html body:not(#dvk-net-takogo) .dvk-about-stat *,
html body:not(#dvk-net-takogo) .dvk-about-contact__label{color:var(--dvk-gold-deep) !important}
html body:not(#dvk-net-takogo) .dvk-about-page span:not([class*="gold"]){color:var(--dvk-tishe)}

/* неактивные вкладки на карточке: тёмный текст лежал на среднем сером — 3,54 */
html body:not(#dvk-net-takogo) .woocommerce-tabs ul.tabs li{background:var(--dvk-warm) !important}
html body:not(#dvk-net-takogo) .woocommerce-tabs ul.tabs li a{color:var(--dvk-tishe) !important}
html body:not(#dvk-net-takogo) .woocommerce-tabs ul.tabs li.active{background:#fff !important}
html body:not(#dvk-net-takogo) .woocommerce-tabs ul.tabs li.active a{color:var(--dvk-text) !important}

/* ============ 4б. Шапка: одна и та же на всех страницах ============
   ⚠️ На главной полоса шапки тёмная, а на карточке товара внутренняя обёртка
   `.site-primary-header-wrap` оказалась белой — и золотое меню на ней давало
   контраст 2,9 при норме 4,5. Сводим шапку к тёмной везде: на ней тот же
   акцент читается на 6,1. Заодно уходит разнобой между шаблонами. */
html body:not(#dvk-net-takogo) .site-primary-header-wrap,
html body:not(#dvk-net-takogo) .ast-primary-header-bar,
html body:not(#dvk-net-takogo) .ast-above-header-bar{background-color:var(--dvk-dark) !important}

/* ============ 4в. Мелкие подписи в колонке и на карточке ============
   Счётчики у цветов, подписи классов цены, артикул — все набраны серым
   около #888 по 11–12 px, контраст 3,4–3,8. Это не придирка: такие надписи
   и так на пределе читаемости из-за размера. */
html body:not(#dvk-net-takogo) .dvk-kk-cvet__skolko,
html body:not(#dvk-net-takogo) .dvk-cf-cena__podpis,
html body:not(#dvk-net-takogo) .sku,
html body:not(#dvk-net-takogo) .sku_wrapper,
html body:not(#dvk-net-takogo) .product_meta,
html body:not(#dvk-net-takogo) .product_meta a,
html body:not(#dvk-net-takogo) .widget .count{color:var(--dvk-tishe) !important}

/* знак рубля брал акцентный цвет и отрывался от самой цены */
html body:not(#dvk-net-takogo) .woocommerce-Price-currencySymbol{color:inherit !important}
html body:not(#dvk-net-takogo) .dvk-cart-close{color:var(--dvk-tishe) !important}

/* ============ 4г. Цена на карточке товара ============
   ⚠️ Самое заметное из найденного: цена на странице товара набрана золотом
   #c9a66b по белому — контраст 2,3 при норме 4,5. Это не подпись и не
   украшение, это цена: покупатель обязан её прочитать с первого взгляда.
   Делаем тёмной и крупной, как в плитках каталога. */
html body:not(#dvk-net-takogo) .summary .price,
html body:not(#dvk-net-takogo) .summary .price .amount,
html body:not(#dvk-net-takogo) .summary .price bdi,
html body:not(#dvk-net-takogo) .woocommerce-variation-price .price,
html body:not(#dvk-net-takogo) .woocommerce-variation-price .amount,
html body:not(#dvk-net-takogo) .woocommerce-variation-price bdi{
  color:var(--dvk-text) !important;font-weight:700 !important;
}
html body:not(#dvk-net-takogo) .summary .price del,
html body:not(#dvk-net-takogo) .summary .price del bdi{
  color:var(--dvk-tishe) !important;font-weight:400 !important;
}

html body:not(#dvk-net-takogo) ul.products li.product .price,
html body:not(#dvk-net-takogo) ul.products li.product .price .amount,
html body:not(#dvk-net-takogo) ul.products li.product .price bdi{
  color:var(--dvk-text) !important;font-size:17px !important;font-weight:700 !important;
  padding:6px 2px 0 !important;letter-spacing:0 !important;
}
html body:not(#dvk-net-takogo) ul.products li.product .price del,
html body:not(#dvk-net-takogo) ul.products li.product .price del bdi{
  color:var(--dvk-muted) !important;font-weight:400 !important;
}

/* ============ 5. Кнопка на плитке ============ */
html body:not(#dvk-net-takogo) ul.products li.product a.button,
html body:not(#dvk-net-takogo) ul.products li.product button.button{
  display:inline-block !important;width:auto !important;margin:12px 2px 0 !important;
  background:var(--dvk-gold-deep) !important;color:#fff !important;border:0 !important;
  border-radius:8px !important;text-transform:none !important;
  font-size:13px !important;font-weight:600 !important;letter-spacing:0 !important;
  padding:10px 16px !important;
}
html body:not(#dvk-net-takogo) ul.products li.product a.button:hover,
html body:not(#dvk-net-takogo) ul.products li.product button.button:hover{
  background:var(--dvk-dark) !important;color:#fff !important;
}

/* ============ 5б. Поля страницы — 30 px (заказчик 20.09) ============
   «Отступы слева справа должны быть по 30 пикселей». Шапка стоит на 30 px,
   а содержимое темы зажато в 1240 px: на широком экране страница выглядела
   колонкой посреди пустоты и не совпадала с шапкой.
   ⚠️ Поля задаём padding, а не margin: у внутренних блоков Astra свои
   отрицательные margin, и на них поле бы не сработало. */
html body:not(#dvk-net-takogo) #content .ast-container{
  max-width:none !important;width:100% !important;
  padding-left:30px !important;padding-right:30px !important;
}
@media (max-width:600px){
  html body:not(#dvk-net-takogo) #content .ast-container{
    padding-left:16px !important;padding-right:16px !important;
  }
}

/* ⚠️ А текстовым страницам ширину, наоборот, надо ограничить.
   Замер на экране 1961 px: на «Сервисе» и «Оплате и доставке» абзац растянулся
   на 1856 px — это строка примерно в 250 знаков, её физически неудобно читать,
   глаз теряет начало следующей. Каталогу и карточке ширина нужна (там сетка
   и фотографии), тексту — нет. 1240 px — то, что было до 20.09.
   «О компании» держит свою вёрстку и от этого предела не страдает. */
/* ⚠️ «О компании», «Сервис», «Оплата», «Контакты»: собранная полоса,
   а не вся ширина. Пробовал и так и так, и вот что показал замер на 1961 px.

   Во всю ширину эти страницы рассыпаются, потому что свёрстаны как единая
   композиция, а не как сетка блоков: форма консультации растягивалась
   на 1864 px (поля ввода в метр длиной), заголовки — на 1848, подписи
   разъезжались с тем, что они подписывают. Каталогу ширина нужна — там сетка
   товаров, и чем больше колонок, тем лучше. Тексту и форме — нет.

   1320 px — середина: страница перестаёт быть узкой полосой, ряды карточек
   получают по 300+ px на карточку, а строки и поля ввода остаются
   соразмерными человеку. */
html body:not(#dvk-net-takogo).page:not(.home) #content .ast-container{
  max-width:1320px !important;margin-left:auto !important;margin-right:auto !important;
}

/* ⚠️ Форму держим узкой отдельно от страницы. Поле ввода имени шириной
   в половину экрана выглядит как ошибка вёрстки, даже когда это не она:
   глазу негде зацепиться, и непонятно, сколько туда писать. */
html body:not(#dvk-net-takogo) .dvk-svc-form .wpcf7,
html body:not(#dvk-net-takogo) .dvk-form,
html body:not(#dvk-net-takogo) .dvk-pay-cta form,
html body:not(#dvk-net-takogo) .dvk-about-cta form{
  max-width:620px !important;margin-left:auto !important;margin-right:auto !important;
}

/* ⚠️ Во всю ширину вылезли две вещи, которых при 1180 px было не видно.

   1. Ряды карточек собраны на flex БЕЗ переноса и с направлением в столбец:
      три карточки доставки вытягивались на всю строку каждая. Возвращаем их
      в ряд и разрешаем перенос — на узком экране лягут столбиком сами.
   2. Ряды на сетке были заданы в два столбца независимо от места. На широком
      экране это половина пустоты: четыре способа оплаты просятся в один ряд. */
html body:not(#dvk-net-takogo) .dvk-pay-cards{
  display:flex !important;flex-direction:row !important;flex-wrap:wrap !important;
  gap:20px !important;align-items:stretch !important;
}
html body:not(#dvk-net-takogo) .dvk-pay-cards > *{
  flex:1 1 300px !important;
}
html body:not(#dvk-net-takogo) .dvk-pay-methods{
  display:grid !important;gap:20px !important;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr)) !important;
}
html body:not(#dvk-net-takogo) .dvk-svc-cards,
html body:not(#dvk-net-takogo) .dvk-svc-prices,
html body:not(#dvk-net-takogo) .dvk-about-values{
  display:grid !important;gap:20px !important;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr)) !important;
}

/* ⚠️ Ряд цифр «О компании» вынесен наружу отрицательными полями по 20 px —
   при узком контейнере это было незаметно, а во всю ширину он стал вылезать
   за поле страницы и упираться в край экрана. */
html body:not(#dvk-net-takogo) .dvk-about-stats{
  margin-left:0 !important;margin-right:0 !important;
}

/* ⚠️ У способов оплаты вместо значков стояло «????» — четыре знака вопроса
   прямо в содержимом страницы. Так выглядит эмодзи, прошедшее через базу,
   которая их не хранит: сами значки утрачены, восстановить их неоткуда.
   Поставил вместо них нумерацию 01…04 — приём, который на сайте уже
   используется на «Сервисе» и в блоке «Как мы работаем», так что смотрится
   как задумано, а не как заплатка. Здесь — её оформление. */
html body:not(#dvk-net-takogo) .dvk-pay-method__icon{
  font-size:13px !important;letter-spacing:.12em !important;
  color:var(--dvk-gold-deep) !important;margin-bottom:10px !important;
}

/* ⚠️ Расширение композиции и длина строки — разные задачи, и решать их
   надо по отдельности. Замер на 1961 px: при пределе 1240 страницы «О компании»,
   «Сервис», «Оплата», «Контакты» занимали 1240 из 1961 — по 360 px пустоты
   с каждой стороны, а всё содержимое (шапки-полосы, ряды карточек, цены)
   ужималось в 1180. Предел 1560 отдаёт им 1500: карточки и цифры дышат.

   Но проза внутри при этом стала бы 1460 px — примерно 200 знаков в строке,
   читать невозможно. Поэтому сами абзацы-рассказы остаются узкими: 860 px
   это около 100 знаков, верхняя граница удобного чтения. Колонки, которые
   и так узкие («Наша история» 620, форма расчёта 480), не трогаем. */
/* ⚠️ Подводки под заголовками разделов набраны по центру, но заданы
   фиксированной шириной 300 px без автоматических полей — то есть стоят
   у левого края. При ширине 1180 px это читалось как задумка; во всю ширину
   фраза осталась одна в углу, а заголовок — посередине.
   Ставим их под заголовок: ширина по месту, поля автоматические. */
html body:not(#dvk-net-takogo) .dvk-svc-lead,
html body:not(#dvk-net-takogo) .dvk-about-lead,
html body:not(#dvk-net-takogo) .dvk-pay-lead,
html body:not(#dvk-net-takogo) .dvk-svc-hero > p,
html body:not(#dvk-net-takogo) .dvk-pay-hero > p,
html body:not(#dvk-net-takogo) .dvk-about-hero > p{
  width:auto !important;max-width:620px !important;
  margin-left:auto !important;margin-right:auto !important;
}

/* ⚠️ Текст-рассказ держим узким, но прижатым К ЛЕВОМУ краю, а не по центру.
   Когда страница пошла во всю ширину, центрированный абзац оказался
   в середине, а его же заголовок — у левого края: получались две разные оси.
   Один край для заголовка, ряда карточек и текста читается спокойнее. */

/* Короткие сноски и предупреждения остаются по центру — они и набраны по центру. */
html body:not(#dvk-net-takogo) .dvk-svc-warning,
html body:not(#dvk-net-takogo) .dvk-pay-note,
html body:not(#dvk-net-takogo) .dvk-consent{
  max-width:860px !important;margin-left:auto !important;margin-right:auto !important;
}

/* ⚠️ Главная — исключение: заказчик 20.09 «на главной отступы справа
   слева не нужны». Там всё построено на широких полосах — слайдер, плитки
   разделов, тёмная полоса контактов, — и поля по краям их обрезали. */
html body:not(#dvk-net-takogo).home #content .ast-container,
html body:not(#dvk-net-takogo).page-id-1827 #content .ast-container{
  padding-left:0 !important;padding-right:0 !important;
}

/* ============ 5в. Колонка с фильтрами — 300 px ============
   Заказчик 20.09: «левое меню слишком широкое… с фильтрами».
   ⚠️ `.ast-container` здесь flex, поэтому ширину держим через flex-basis:
   одной `width` мало — flex-grow растянул бы колонку обратно. */
html body:not(#dvk-net-takogo) #content .ast-container > #secondary{
  flex:0 0 300px !important;width:300px !important;max-width:300px !important;
  padding-right:34px !important;
}
html body:not(#dvk-net-takogo) #content .ast-container > #primary{
  flex:1 1 auto !important;width:auto !important;min-width:0 !important;
}
/* ⚠️ Отступ от колонки — только когда колонка на странице есть.
   Первая версия вешала 34 px на #primary всегда, и на главной, где колонки
   нет, слайдер и плитки отъезжали от края на лишние 34 px. */
html body:not(#dvk-net-takogo) #content .ast-container > #secondary ~ #primary{
  padding-left:34px !important;
}
@media (max-width:921px){
  html body:not(#dvk-net-takogo) #content .ast-container > #secondary{
    flex:1 1 100% !important;width:100% !important;max-width:100% !important;
    padding-right:0 !important;
  }
  /* ⚠️ Селектор должен быть НЕ СЛАБЕЕ настольного `#secondary ~ #primary`:
     у того на один идентификатор больше, и он перебивал это правило прямо
     внутри медиазапроса — медиазапрос веса не добавляет. На телефоне колонка
     скрыта (`display:none`), но элемент в разметке остаётся, поэтому отступ
     в 34 px продолжал применяться: сетка товаров съезжала вправо и обрезалась. */
  html body:not(#dvk-net-takogo) #content .ast-container > #secondary ~ #primary,
  html body:not(#dvk-net-takogo) #content .ast-container > #primary{
    padding-left:0 !important;
  }
}

/* ============ 5г. Статьи: убрать пустую колонку слева ============
   Заказчик 21.09: «надо на странице статей убрать отступ слева».
   Отступ давала боковая колонка: тема включает её на блоге (`ast-left-sidebar`),
   но виджетов в ней ноль — замер показал 300 px ширины, 1302 px высоты
   и **ноль знаков текста**. Пустая колонка съедала 348 px слева, карточки
   статей начинались от неё.
   Прячем колонку и снимаем отступ, который был нужен только из-за неё. */
html body:not(#dvk-net-takogo).blog #secondary{display:none !important}
html body:not(#dvk-net-takogo).blog #content .ast-container > #primary,
html body:not(#dvk-net-takogo).blog #content .ast-container > #secondary ~ #primary{
  padding-left:0 !important;width:100% !important;flex:1 1 100% !important;
}
/* ⚠️ Ряд карточек вынесен наружу отрицательными полями по 16 px — без колонки
   он начал бы вылезать за поле страницы. */
html body:not(#dvk-net-takogo).blog .ast-row{
  margin-left:0 !important;margin-right:0 !important;
}

/* ============ 5д. Текст для поисковиков и подвал ============
   Замер на главной: абзацы внизу страницы растянулись на **1860 px** — это
   около 250 знаков в строке. Главная идёт во всю ширину ради полос и плиток,
   но к сплошному тексту это не относится: ему нужна колонка.

   ⚠️ Тот же случай, что был на «Сервисе» и «Оплате». Ширина страницы и длина
   строки — разные вещи, и каждый новый блок с текстом надо проверять отдельно. */
/* ⚠️ Заказчик 21.09, трижды: «текста внизу страниц не по ширине экрана
   выглядит ужасно». Я дважды пробовал середину — сначала колонку 860 px,
   потом газетные колонки, — и оба раза это было не то. Значит буквально:
   текст идёт во всю ширину экрана.

   Блоки лежат внутри контейнера страницы, а он местами зажат (на текстовых
   страницах 1320 px). Поэтому выводим их из контейнера: ширина в размер окна,
   сдвиг влево на половину разницы. Поля 30 px — как у всего остального.

   ⚠️ Строка при этом получается длинной, и я об этом сказал. Решение
   заказчика, оно записано; если понадобится вернуть — предел ширины
   в двух правилах ниже. */
html body:not(#dvk-net-takogo) .seo-text,
html body:not(#dvk-net-takogo) .dvk-svc-story,
html body:not(#dvk-net-takogo) .dvk-pay-story,
html body:not(#dvk-net-takogo) .dvk-about-story{
  max-width:none !important;
  width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding-left:30px !important;padding-right:30px !important;
  box-sizing:border-box !important;
  column-width:auto !important;columns:auto !important;
}
@media (max-width:600px){
  html body:not(#dvk-net-takogo) .seo-text,
  html body:not(#dvk-net-takogo) .dvk-svc-story,
  html body:not(#dvk-net-takogo) .dvk-pay-story,
  html body:not(#dvk-net-takogo) .dvk-about-story{
    padding-left:16px !important;padding-right:16px !important;
  }
}

/* ⚠️ Шапка начиналась на 72 px от края, а содержимое страниц — на 30.
   Логотип не совпадал по вертикали ни с плитками каталога, ни с заголовками:
   глаз это ловит, даже когда не может назвать причину.
   72 набегали из трёх вложенных отступов — 28 + 20 + 24. Обнуляем два внешних
   и оставляем одно поле в 30 px на том же уровне, где оно у страницы. */
html body:not(#dvk-net-takogo) .ast-primary-header-bar,
html body:not(#dvk-net-takogo) .site-primary-header-wrap{
  padding-left:0 !important;padding-right:0 !important;
}
html body:not(#dvk-net-takogo) .ast-builder-grid-row{
  padding-left:30px !important;padding-right:30px !important;
}

/* ⚠️ В подвале стоял перенос «в любом месте» (`overflow-wrap:anywhere`).
   Он нужен почте — длинный адрес иначе вылезает за колонку. Но применялся
   ко всему подряд и рвал слова посреди: «ИНФОРМАЦИ / Я», «КОНСУЛЬТА / ЦИЯ».
   Оставляем его только почте, остальным — обычный перенос по словам.

   Заодно колонки: они были заданы разной ширины (246/176/176/194/194/176),
   и в узкие заголовок не влезал. Делим поровну — на 1433 px выходит по 209,
   и «ИНФОРМАЦИЯ» встаёт в строку. */
html body:not(#dvk-net-takogo) .dvk-footer-grid{
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
}
html body:not(#dvk-net-takogo) .dvk-footer-grid *{
  overflow-wrap:normal !important;word-break:normal !important;
}
/* Почта — единственное слово в подвале, которое честно не влезает в колонку
   в 209 px. Перенос ей разрешён, но сначала пробуем уместить целиком: на
   кегле 13 адрес занимает около 172 px и встаёт в строку. */
html body:not(#dvk-net-takogo) .dvk-footer-grid a[href^="mailto"]{
  overflow-wrap:break-word !important;
  font-size:13px !important;letter-spacing:0 !important;
}
@media (max-width:900px){
  html body:not(#dvk-net-takogo) .dvk-footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

/* ⚠️ Подвалу своё поле больше не нужно: он лежит внутри того же
   `.ast-builder-grid-row`, которому поле задано выше. Сначала я добавил
   ему отдельные 30 px и получил 60 — отступ насчитался дважды. */
html body:not(#dvk-net-takogo) .dvk-footer-grid{
  padding-left:0 !important;padding-right:0 !important;
  box-sizing:border-box !important;
}

/* ============ 5е. Лишние 60 КБ шрифта из-за одного стека ============
   Замер главной по сетевым запросам: браузер скачивает **два файла Montserrat
   на 60 КБ**, хотя ни один заголовок и ни один абзац им не набран — на сайте
   Raleway в тексте и Cormorant Garamond в заголовках.

   Оказалось, Montserrat стоит вторым в стеке у горстки элементов интерфейса
   (значок поиска, всплывающая корзина, окно замера, мобильная полоса), где
   первым идёт «Exo 2». Exo 2 на сайт не подключён, браузер проваливается
   дальше по стеку — и качает Montserrat ради десятка подписей.

   ⚠️ Правила с «Exo 2» в стилях нет: он проставлен инлайном в разметке
   mu-плагина. Поэтому перебиваем и по классам, и по самому атрибуту. */
html body:not(#dvk-net-takogo) .dvk-search-icon,
html body:not(#dvk-net-takogo) .dvk-cart-icon,
html body:not(#dvk-net-takogo) .dvk-cart-backdrop,
html body:not(#dvk-net-takogo) .dvk-cart-close,
html body:not(#dvk-net-takogo) .dvk-cart-go,
html body:not(#dvk-net-takogo) .dvk-zamer-backdrop,
html body:not(#dvk-net-takogo) .dvk-zamer-close,
html body:not(#dvk-net-takogo) .dvk-drawer-close-top,
html body:not(#dvk-net-takogo) .dvk-mobile-cta,
html body:not(#dvk-net-takogo) .dvk-mobile-email,
html body:not(#dvk-net-takogo) [style*="Exo 2"]{
  font-family:Raleway,Arial,sans-serif !important;
}

/* ============ 6. Заголовок раздела плотнее ============ */
html body:not(#dvk-net-takogo).tax-product_cat h1,
html body:not(#dvk-net-takogo).post-type-archive-product h1{
  font-size:40px !important;line-height:1.05 !important;letter-spacing:.02em !important;
  text-transform:uppercase !important;margin-bottom:22px !important;
}

@media (max-width:900px){
  html:root{--dvk-zazor:14px}
  html body:not(#dvk-net-takogo) ul.products li.product:not(.product-category) img{padding:12px !important}
  html body:not(#dvk-net-takogo).tax-product_cat h1{font-size:26px !important}
  html body:not(#dvk-net-takogo) ul.products li.product a.button{width:100% !important;text-align:center !important}
}

/* ============ 7. Дорожки витрины, которые всегда влезают ============
   ⚠️ В `dvk-custom` сетка задана как `repeat(N,1fr)`. А `1fr` — это
   `minmax(auto,1fr)`: нижняя граница дорожки равна min-content плитки, и
   дорожка отказывается ужиматься. Пока контейнер был широким, это не мешало;
   после того как поля страницы изменились, сетка стала вылезать за свой блок —
   на 375 px блок 311, дорожки 331; на 1024 px блок 508, дорожки 531.
   `minmax(0,1fr)` снимает нижнюю границу, и ширина считается от места.

   ⚠️ `#content` в селекторе обязателен: у плагина есть
   `html body.archive #content ul.products{repeat(2,1fr)}` — с идентификатором
   он весомее, и без него правило молча не применялось два захода подряд.

   Число колонок повторяет замысел сайта (4 → 3 → 2), кроме одного: ниже 480 px
   сайт переключался на одну колонку, а мы оставляем две — на 375 px плитка
   выходит 148 px, это нормально читается и показывает вдвое больше товара. */
html body:not(#dvk-net-takogo) #content ul.products{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}
/* Надпись «Цена по запросу» идёт одной строкой и на узкой плитке шире её
   на три пиксела — разрешаем перенос, иначе она торчит за край. */
html body:not(#dvk-net-takogo) #content ul.products .dvk-price-request{
  display:block !important;white-space:normal !important;max-width:100% !important;
}

/* ⚠️ Разделов на главной шесть, а сетка была в четыре колонки: последний
   ряд оставался наполовину пустым — четыре плитки, потом две и провал справа.
   Три колонки дают два ровных ряда по три, и плитка становится крупнее
   (около 600 px вместо 444) — разделы и есть главное, ради чего сюда заходят. */
/* ⚠️ Только сетка РАЗДЕЛОВ. «Новое поступление» на той же странице —
   тоже `ul.products`, но там восемь товаров, и им четыре колонки как раз
   впору: два ровных ряда. */
/* ⚠️ Только для широких экранов. Правило без медиазапроса перебивало
   мобильное, и на телефоне 375 px разделы вставали в три колонки по 115 px —
   от плитки оставалась марка. Ниже 901 px пусть работает общее правило. */
@media (min-width:901px){
  html body:not(#dvk-net-takogo).home #content .home-cats ul.products{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

@media (max-width:1100px){
  html body:not(#dvk-net-takogo) #content ul.products{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}
@media (max-width:900px){
  html body:not(#dvk-net-takogo) #content ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

/* ============ 8. Шапка, которая помещается на ноутбук ============
   Шапка Astra — сетка из трёх дорожек, и ширина каждой считается
   по содержимому:

       grid-template-columns: 219.86px  887.25px  429.95px
                              логотип    меню      правый блок

   С полями и зазорами это **1661 px**. Ровно столько нужно окну, чтобы
   шапка поместилась. На всём, что уже, дорожки не ужимаются — они и так
   по минимуму, — а вылезают за край. Прокрутки при этом нет: `body`
   обрезает лишнее (`overflow-x:hidden`), поэтому выглядит не как поломка,
   а как будто пунктов в меню меньше.

   Что видел посетитель на ноутбуке 1366 px: меню обрывалось на «Оплата
   и доставка», а «Контакты», телефон, поиск и **корзина** просто исчезали.
   На 1024 px — то же самое.

   ── Четыре ступени ──────────────────────────────────────────────────────────
   Ужимаем ровно настолько, насколько не хватает. Границы взяты не из
   расчёта, а найдены перебором: грузим страницу заново на каждой ширине
   и смотрим, отрицательный ли запас справа.

   | окно        | меню | «Консультация» | телефон | чем подтверждено |
   |-------------|------|----------------|---------|------------------|
   | 1781 и шире | 887  | есть           | цифрами | арифметикой: нужно 1676 |
   | 1440–1780   | 663  | есть           | цифрами | 1425 и 1430 — запас 0; 1420 — минус 1 |
   | 1180–1439   | 567  | скрыта         | цифрами | 1180…1439 — запас 0; 1140 — минус 15 |
   | 1030–1179   | 567  | скрыта         | значком | 1025 — запас 0 |
   | 922–1029    | 503  | скрыта         | значком | 925 — запас 0 |

   Ниже 922 px работает мобильная шапка темы с гамбургером — не трогаем.

   ⚠️ Ступени 2 и 3 отличаются только телефоном. Меню у них одинаковое:
   с такой метрикой оно помещается вплоть до 1170 px, и до этой ширины
   номер можно держать **цифрами**, а не значком. Ради этого ступень 2
   и опущена до 1180 — номер телефона в магазине дверей стоит того, чтобы
   меню стало на полпункта мельче.

   ⚠️ Что уходит первым и почему. Сначала «Консультация»: кнопка дублирует
   форму, которая есть на каждой странице. Телефон держим до последнего
   и не убираем совсем — на узком он становится значком трубки, ссылка
   `tel:` при этом живая. Ни один пункт меню не прячется.

   ⚠️ Выше 1430 px измерить не на чем: ни одно доступное окно шире не
   рисует. Для 1440–1780 и для исходной шапки выше 1781 остаётся расчёт
   по min-content дорожек. Поэтому верхняя граница первой ступени взята
   с большим запасом: исходной шапке нужно 1676, отдаём ей всё с 1781.

   ⚠️ **Как эти границы едва не оказались неверными.** Сначала я мерил
   так: открыть страницу, менять ширину окна, снимать замеры. Числа
   получились другие — и ошибочные: ступень 2 якобы помещалась с 1180,
   хотя на самом деле не помещалась до 1205. Причина не в эмуляторе:
   у элементов шапки стоит `transition: .2s`, а **переход в каскаде сильнее
   `!important`** — computed-значение застывает на середине и не меняется
   даже от инлайнового `!important`. Правило простое: мерить только после
   свежей загрузки на нужной ширине, а если ширину меняли — сперва добить
   переходы:

       el.getAnimations().forEach(a => a.finish());

   Логотип по этой же причине показался «неуменьшаемым». На самом деле его
   размером управляет mu-плагин (24 px, на ≤1100 — 20, на ≤992 — 18), и в
   наши ступени он не заложен: 220 px логотипа считаем данностью.

   ⚠️ Кавычки внутри значка телефона экранированы обратной косой: все стили
   лежат внутри одинарной строки PHP. */

/* Ступень 1: ужали меню и зазоры, ничего не убрали */
@media (min-width:1440px) and (max-width:1780px){
  html body:not(#dvk-net-takogo) .ast-builder-grid-row{column-gap:18px !important}
  html body:not(#dvk-net-takogo) .main-header-menu{column-gap:12px !important}
  html body:not(#dvk-net-takogo) .main-header-menu > li > a{
    padding-left:9px !important;padding-right:9px !important;
    font-size:12px !important;letter-spacing:.4px !important;
  }
  html body:not(#dvk-net-takogo) .dvk-header-actions{column-gap:12px !important}
  html body:not(#dvk-net-takogo) .dvk-header-cta{padding-left:12px !important;padding-right:12px !important}
  html body:not(#dvk-net-takogo) .dvk-header-phone{display:inline-block !important;font-size:13px !important}
}

/* Ступени 2 и 3: меню одно и то же, «Консультация» уходит */
@media (min-width:1030px) and (max-width:1439px){
  html body:not(#dvk-net-takogo) .ast-builder-grid-row{column-gap:12px !important}
  html body:not(#dvk-net-takogo) .main-header-menu{column-gap:10px !important}
  html body:not(#dvk-net-takogo) .main-header-menu > li > a{
    padding-left:6px !important;padding-right:6px !important;
    font-size:11px !important;letter-spacing:.2px !important;
  }
  html body:not(#dvk-net-takogo) .dvk-header-actions{column-gap:12px !important}
  html body:not(#dvk-net-takogo) .dvk-header-cta{display:none !important}
}

/* Ступень 2: номер ещё помещается цифрами */
@media (min-width:1180px) and (max-width:1439px){
  html body:not(#dvk-net-takogo) .dvk-header-phone{display:inline-block !important;font-size:13px !important}
}

/* Ступень 3: номер становится значком трубки, ссылка tel: живая */
@media (min-width:1030px) and (max-width:1179px){
  html body:not(#dvk-net-takogo) .dvk-header-phone{
    display:inline-block !important;font-size:0 !important;
    width:24px !important;height:24px !important;
    background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9a66b' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M6.6 3.5 4 4.6c-.9.4-1.3 1.4-1 2.3 1.2 3.6 3 6.6 5.4 9s5.4 4.2 9 5.4c.9.3 1.9-.1 2.3-1l1.1-2.6c.3-.8 0-1.7-.8-2.1l-3-1.5c-.7-.3-1.5-.2-2 .4l-1 1.1c-2-1.2-3.7-2.9-4.9-4.9l1.1-1c.6-.5.7-1.3.4-2l-1.5-3c-.4-.8-1.3-1.1-2.1-.8Z'/></svg>") center/21px 21px no-repeat !important;
  }
}

/* Ступень 4: самая плотная, до мобильной шапки темы */
@media (min-width:922px) and (max-width:1029px){
  html body:not(#dvk-net-takogo) .ast-builder-grid-row{column-gap:8px !important}
  html body:not(#dvk-net-takogo) .main-header-menu{column-gap:6px !important}
  html body:not(#dvk-net-takogo) .main-header-menu > li > a{
    padding-left:4px !important;padding-right:4px !important;
    font-size:10.5px !important;letter-spacing:.2px !important;
  }
  html body:not(#dvk-net-takogo) .dvk-header-actions{column-gap:8px !important}
  html body:not(#dvk-net-takogo) .dvk-header-cta{display:none !important}
  html body:not(#dvk-net-takogo) .dvk-header-phone{
    display:inline-block !important;font-size:0 !important;
    width:24px !important;height:24px !important;
    background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9a66b' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M6.6 3.5 4 4.6c-.9.4-1.3 1.4-1 2.3 1.2 3.6 3 6.6 5.4 9s5.4 4.2 9 5.4c.9.3 1.9-.1 2.3-1l1.1-2.6c.3-.8 0-1.7-.8-2.1l-3-1.5c-.7-.3-1.5-.2-2 .4l-1 1.1c-2-1.2-3.7-2.9-4.9-4.9l1.1-1c.6-.5.7-1.3.4-2l-1.5-3c-.4-.8-1.3-1.1-2.1-.8Z'/></svg>") center/21px 21px no-repeat !important;
  }
}

/* ============ 9. Телефон: зона нажатия и мелкие подписи ============
   Проверка 21.09.2026 на ширине 375 px — рамкой настоящей ширины, не
   эмулятором (эмулятор ниже 992 px врёт, см. раздел 8).

   ── Поиск и корзина: 24 px вместо 44 ────────────────────────────────────────
   В мобильной шапке значок поиска — квадрат 24×24, корзины — 26×26.
   Рекомендация для пальца — 44×44; 24 px это примерно кончик мизинца.
   Промахнуться по корзине на телефоне — значит не дойти до оформления.

   Расширяем **зону нажатия, не трогая вид**: прозрачный `::after` поверх
   значка. Картинка та же, высота шапки та же (80 px), нажимается втрое
   большая площадь.

   ⚠️ Почему 40, а не 44. Центры значков стоят в 43 px друг от друга
   (поиск 254, корзина 297). Два круга по 44 наложились бы, и край одного
   перехватывал бы нажатия у соседа. 40 — наибольшее, при котором зоны
   не пересекаются: 234..274 и 277..317.

   ⚠️ `::before` и `::after` у обоих значков свободны — проверено
   (`content: none`), сама иконка нарисована фоном. Значок счётчика
   корзины — отдельный `span`, он под прозрачным слоем и виден.

   ── Подписи мельче 12 px ────────────────────────────────────────────────────
   На телефоне нашлось от 2 до 14 надписей мельче 12 px на страницу.
   Разделил их на два сорта:

   • **Капсы-подписи** («ПО Г. КАЛУГА», «БЕСПЛАТНО», «С 2013 ГОДА») — это
     приём оформления, они и должны быть мелкими. 10 → 11,5: читается,
     а вид сохраняется.
   • **Текст со смыслом** (условия доставки, строки прайса, счётчики
     товаров в разделах, подписи полей формы) — 10–11,5 → 13. Это то,
     ради чего страницу открывают, и мельче 12 его читать тяжело.

   Замер после правки: на «Сервисе» мелких надписей было 14, стало 4 —
   и все четыре это капсы-подписи, то есть по замыслу. На «Оплате»
   13 → 4, на «О компании» 7 → 1, в каталоге 7 → 0, на главной 2 → 0.

   ⚠️ Одна надпись не поддалась: ссылка «Консультация» (`.dvk-pay-cta__link`)
   осталась 11 px. Её размер перебивается чем-то, что сильнее селектора
   с весом id, — тот же почерк, что у логотипа в разделе 8. Соседняя такая
   же ссылка на «Сервисе» правится нормально. Не стал давить дальше:
   это одна ссылка-кнопка, набранная капсом по замыслу.

   ⚠️ Порог 600 px, а не 921: на планшете эти блоки стоят в два-три
   столбца, и там 10 px выглядят иначе. Мерил телефон — правлю телефон. */

@media (max-width:921px){
  html body:not(#dvk-net-takogo) .dvk-search-icon,
  html body:not(#dvk-net-takogo) .dvk-cart-icon{position:relative !important}
  html body:not(#dvk-net-takogo) .dvk-search-icon::after,
  html body:not(#dvk-net-takogo) .dvk-cart-icon::after{
    content:"" !important;position:absolute !important;
    top:50% !important;left:50% !important;
    width:40px !important;height:40px !important;
    transform:translate(-50%,-50%) !important;
    background:none !important;border:0 !important;border-radius:50% !important;
  }
}

@media (max-width:600px){
  /* капсы-подписи: мелкие по замыслу, но не настолько */
  html body:not(#dvk-net-takogo) .dvk-svc-hero__label,
  html body:not(#dvk-net-takogo) .dvk-svc-card__tag,
  html body:not(#dvk-net-takogo) .dvk-pay-card__label,
  html body:not(#dvk-net-takogo) .dvk-about-hero__label{font-size:11.5px !important}

  /* то, что несёт смысл */
  html body:not(#dvk-net-takogo) .dvk-svc-price__title,
  html body:not(#dvk-net-takogo) .dvk-pay-method__desc,
  html body:not(#dvk-net-takogo) .dvk-pay-card__note,
  html body:not(#dvk-net-takogo) .dvk-pay-note,
  html body:not(#dvk-net-takogo) .dvk-pay-note strong,
  html body:not(#dvk-net-takogo) .dvk-about-stat__label,
  html body:not(#dvk-net-takogo) .woocommerce-result-count,
  html body:not(#dvk-net-takogo) li.product-category .count{font-size:13px !important}

  /* подписи блоков и ссылки-кнопки */
  html body:not(#dvk-net-takogo) .dvk-about-contact__label,
  html body:not(#dvk-net-takogo) .home-contacts__label,
  html body:not(#dvk-net-takogo) .dvk-color-label,
  html body:not(#dvk-net-takogo) .dvk-pay-cta .dvk-pay-cta__link,
  html body:not(#dvk-net-takogo) .dvk-svc-cta .dvk-svc-cta__link{font-size:12.5px !important}

  /* подписи полей в форме замера */
  html body:not(#dvk-net-takogo) .wpcf7 label{font-size:13px !important}
}

/* ============ 10. Оформление заказа с телефона ============
   Проверка 21.09.2026, рамка 375 px, путь «карточка → корзина → оформление».
   Карточка и корзина оказались в порядке: переполнения нет, кнопка
   «В корзину» во всю ширину, плитки ручек 48×48, полоса «Позвонить /
   Консультация» внизу ничего не закрывает — под неё у `body` отведено
   62 px при высоте полосы 63. А вот на самом оформлении — две беды.

   ── 1. Таблица заказа шире экрана ───────────────────────────────────────────
   `table.shop_table` на «Оформлении» занимала 37..416 px при ширине окна 370.
   Это **46 px наружу**: правый столбец с суммами уходил за край, а достать
   его прокруткой нельзя — `overflow-x:hidden` на `body` гасит выход.
   Посетитель на последнем шаге не видел, за что платит.

   Лечится не прокруткой, а раскладкой: `table-layout:fixed` заставляет
   столбцы делить ширину контейнера, а `overflow-wrap:break-word` разрешает
   длинному названию перенестись. После правки таблица 37..333 — внутри.

   ⚠️ Корзину тронул тем же правилом намеренно: там таблица помещалась
   (338 px), но только потому, что название товара короткое. Проверил
   с правилом — раскладка корзины не изменилась ни на пиксель.

   ── 2. Поля формы 15 px — Safari на айфоне увеличивает страницу ─────────────
   Все восемь полей оформления набраны 15 px. Safari на iOS увеличивает
   страницу при попадании в поле мельче **16 px** — и посетитель, заполняя
   адрес, каждый раз получает зум, который надо отщипывать обратно.
   Это не косметика: на форме из восьми полей это восемь раз.

   16 px — не «покрупнее для читаемости», а ровно тот порог, ниже которого
   включается зум. Ставим его полям оформления, формам Contact Form 7
   (заявка и калькулятор), полю поиска, а также полю количества в корзине
   и на карточке и полю купона: они тоже были 14–15 px.

   ⚠️ Кнопку «Оформить заказ» во всю ширину растягивать не стал: 254×60 —
   нормальная цель для пальца. (Первый замер показывал, будто правило
   не применяется; на деле мешал залипший `transition` — см. раздел 8.
   Проверено заново на свежей загрузке: ширину задаёт тема.)

   ⚠️ Порог 600 px: правки нужны телефону. На планшете таблица помещается
   и без них. */

@media (max-width:600px){

  /* таблица заказа делит ширину по столбцам, а не растёт по содержимому */
  html body:not(#dvk-net-takogo) .woocommerce-checkout table.shop_table,
  html body:not(#dvk-net-takogo) .woocommerce-cart table.shop_table{
    width:100% !important;max-width:100% !important;
    table-layout:fixed !important;
    margin-left:0 !important;margin-right:0 !important;
  }
  html body:not(#dvk-net-takogo) .woocommerce-checkout table.shop_table th,
  html body:not(#dvk-net-takogo) .woocommerce-checkout table.shop_table td{
    padding-left:8px !important;padding-right:8px !important;
    overflow-wrap:break-word !important;word-break:normal !important;
  }

  /* 16 px — порог, ниже которого Safari на iOS увеличивает страницу */
  html body:not(#dvk-net-takogo) .woocommerce-checkout input[type=text],
  html body:not(#dvk-net-takogo) .woocommerce-checkout input[type=tel],
  html body:not(#dvk-net-takogo) .woocommerce-checkout input[type=email],
  html body:not(#dvk-net-takogo) .woocommerce-checkout input[type=number],
  html body:not(#dvk-net-takogo) .woocommerce-checkout textarea,
  html body:not(#dvk-net-takogo) .woocommerce-checkout select,
  html body:not(#dvk-net-takogo) .woocommerce input[type=text],
  html body:not(#dvk-net-takogo) .woocommerce input[type=tel],
  html body:not(#dvk-net-takogo) .woocommerce input[type=email],
  html body:not(#dvk-net-takogo) .wpcf7 input[type=text],
  html body:not(#dvk-net-takogo) .wpcf7 input[type=tel],
  html body:not(#dvk-net-takogo) .wpcf7 input[type=email],
  html body:not(#dvk-net-takogo) .wpcf7 input[type=date],
  html body:not(#dvk-net-takogo) .wpcf7 textarea,
  html body:not(#dvk-net-takogo) .wpcf7 select,
  html body:not(#dvk-net-takogo) .dvk-search-overlay input,
  html body:not(#dvk-net-takogo) .woocommerce input[type=number],
  html body:not(#dvk-net-takogo) .quantity input[type=number],
  html body:not(#dvk-net-takogo) .dvk-cart-pm input[type=number],
  html body:not(#dvk-net-takogo) #coupon_code{font-size:16px !important}
}

/* ============ 11. Цвета и шрифт как на сайте-образце ============
   Заказчик 21.09.2026: «цвета сайта и шрифты не как на сайте образце».
   Снял обе палитры замером, а не на глаз — по частоте и по занимаемой
   площади:

   | | образец dveri-provance.ru | было у нас |
   |---|---|---|
   | фон страницы | **#F9F6F0** кремовый, 5298 тыс. px² | белый, 7487 тыс. px² |
   | золотой | **#AA8567** | #B8906D в оформлении, #75563D в тексте |
   | заголовки | Cormorant | Cormorant Garamond |
   | текст | чистый чёрный | #26231F тёплый тёмный |
   | посторонний тон | нет | **#F8F9FA холодный серый**, 2310 тыс. px² |

   Главное расхождение — не золотой, а **фон**. У образца вся страница
   тёплого кремового тона, а белым выделены только карточки и снимки.
   У нас наоборот: белый лист, на нём островки кремового. Отсюда и
   ощущение «не тот сайт», даже когда шрифт и золото совпадают.

   Второе — **холодный серый #F8F9FA** в блоке «Новое поступление».
   В тёплой палитре он выглядит инородным пятном на 2,3 млн px².

   Что делаем:
     • страница — кремовая #F9F6F0, как у образца;
     • «Новое поступление» — белый вместо холодного серого: белые полосы
       под товар у образца тоже есть, а холодного тона нет нигде;
     • золотой в оформлении — #AA8567.

   ⚠️ Золотой в ТЕКСТЕ оставляем прежним (#75563D). У образца золотом
   набраны подписи, и на белом это 3,0:1 — ниже порога читаемости 4,5:1.
   Мы этот порог уже проходили: в сентябре было 94 нарушения контраста,
   стало 0. Повторять чужую ошибку ради сходства не стоит — поэтому
   светлый золотой идёт в рамки, значки и крупные заголовки, а мелкий
   текст остаётся на тёмном золоте. Разницы на глаз почти нет, а читать
   можно.

   ⚠️ Интерлиньяж у образца плотнее (1,44 против нашего 1,65). Не трогал:
   на длинных описаниях товаров плотная строка читается тяжелее, а выгода
   чисто внешняя. Если захочется — это одна строка в `body`. */

html:root{
  --dvk-gold:#aa8567;          /* было #b8906d — тон образца */
  --dvk-bumaga:#f9f6f0;        /* кремовая «бумага» страницы */
}

/* Страница — кремовая, как у образца */
html:not(#dvk-net-takogo),
html body:not(#dvk-net-takogo) {
  background-color:#f9f6f0 !important;
}

/* ⚠️ Одного кремового фона у `body` мало. Первый замер после правки показал,
   что белого стало БОЛЬШЕ, а не меньше: 9647 тыс. px² против 7487. Причина —
   широкие полосы, которым белый задан отдельно: текст внизу (2735), «Новое
   поступление» (2310), разделы на главной (1531). Пока они белые, кремовая
   страница из-под них не видна.

   У образца наоборот: кремовым залита вся страница, а белым выделены только
   карточки товаров и врезки. Поэтому полосам возвращаем прозрачность —
   пусть сквозь них проступает «бумага», — а белый оставляем плиткам,
   карточке контактов и блоку с цифрами. */
html body:not(#dvk-net-takogo) section.new-arrivals,
html body:not(#dvk-net-takogo) section.home-cats,
html body:not(#dvk-net-takogo) .seo-text{
  background-color:transparent !important;
}

/* ⚠️ Второй слой белого — уже не на главной. Замер по всем типам страниц
   показал, что кремовая бумага видна везде, кроме каталога и карточки
   товара: там содержимое лежит на белом контейнере.

       /catalog/     main.site-main       1947 тыс. px² белого
       карточка      div.ast-container    2725, main.site-main 1770

   Задано это в стилях mu-плагина правилом
   `body.archive.ast-woo-shop-archive .site-main{background:#fff!important}`.
   Получалось, что две самые посещаемые страницы остались «старыми белыми»,
   а остальные стали кремовыми — ровно та половинчатость, которую видно
   сразу.

   ⚠️ У карточки нельзя просто обнулить `.ast-container`: этот класс носит
   и контейнер шапки, а у шапки фон тёмный. Поэтому сужаем селектор до
   `#content .ast-container` — внутрь содержимого, мимо шапки. Проверено:
   после правки шапка осталась #1F1C19, галерея товара и плитки витрины —
   белыми, как и задумано. */
html body:not(#dvk-net-takogo).archive .site-main,
html body:not(#dvk-net-takogo).tax-product_cat .site-main,
html body:not(#dvk-net-takogo).post-type-archive-product .site-main,
html body:not(#dvk-net-takogo).woocommerce-page .site-main,
html body:not(#dvk-net-takogo).single-product #content .ast-container,
html body:not(#dvk-net-takogo).single-product .site-main{
  background-color:transparent !important;
}

/* Заголовки — Cormorant вместо Cormorant Garamond */
html body:not(#dvk-net-takogo) h1,
html body:not(#dvk-net-takogo) h2,
html body:not(#dvk-net-takogo) h3,
html body:not(#dvk-net-takogo) h4,
html body:not(#dvk-net-takogo) h5,
html body:not(#dvk-net-takogo) h6,
html body:not(#dvk-net-takogo) .entry-title,
html body:not(#dvk-net-takogo) .ast-archive-title,
html body:not(#dvk-net-takogo) .slider__title,
html body:not(#dvk-net-takogo) .about-section__title,
html body:not(#dvk-net-takogo) .advantages-section__title,
html body:not(#dvk-net-takogo) .advantages-section__item-title,
html body:not(#dvk-net-takogo) .home-contacts__title,
html body:not(#dvk-net-takogo) .woocommerce-loop-product__title,
html body:not(#dvk-net-takogo) .product_title,
html body:not(#dvk-net-takogo) .dvk-gl__zag,
html body:not(#dvk-net-takogo) .dvk-svc-hero__title,
html body:not(#dvk-net-takogo) .dvk-pay-hero__title,
html body:not(#dvk-net-takogo) .dvk-about-hero__title{
  font-family:Cormorant,"Cormorant Garamond",Georgia,serif !important;
}

/* ⚠️ Два самых заметных заголовка главной — «Каталог» и «Новое поступление» —
   правилу выше не поддались: они набраны Raleway, а не Cormorant, и холодным
   #212529 вместо тёплого тёмного.

   Причина не в весе селектора, а в том, что у них в разметке инлайновый стиль:

       style=font-family: «Exo 2», Montserrat, sans-serif; … color: #212529

   «Exo 2» на сайт не подключён, и наше давнее правило
   `[style*="Exo 2"]{font-family:Raleway}` (раздел 5е — оно спасало 60 КБ
   лишнего Montserrat) исправно уводило их на Raleway. У селектора по атрибуту
   вес выше, чем у простого `h2`, поэтому он и выигрывал у правила выше.

   Здесь добиваем тем же весом, но позже по файлу: заголовкам с этим инлайном
   отдаём Cormorant и тёплый тёмный. Остальные элементы с «Exo 2» (значки,
   мини-корзина) остаются на Raleway, как и были.

   ⚠️ Цвет #212529 — холодный сине-серый из Bootstrap, чужой в тёплой палитре.
   Инлайн задан без `!important`, поэтому наш `!important` его перебивает. */
/* ⚠️ Базовый цвет заголовков — холодный #212529 (серо-синий из Bootstrap),
   чужой в тёплой палитре. Задан в стилях mu-плагина правилом
   `h1,h2,…{color:#212529!important}`. Попадается он там, где у блока нет
   своего цвета: на главной это три заголовка блоков, на «Оплате» — три,
   на «Контактах» — пять.

   ⚠️ Здесь НЕЛЬЗЯ писать наш обычный префикс `html body:not(#…)`. Он даёт
   вес с идентификатором, и правило начнёт перебивать заголовки, которым
   белый цвет задан осознанно: у слайдера это `.slider .slider__title`
   с весом в два класса. Белые заголовки на фотографии стали бы тёмными.

   Поэтому берём ровно тот же селектор, что и у mu-плагина, тем же весом,
   и выигрываем порядком: наш файл стилей подключается после него.
   Все точечные переопределения с классами при этом продолжают работать. */
h1,h2,h3,h4,h5,h6,
.entry-title,.ast-archive-title{
  color:#1f1c19 !important;
}

/* ⚠️ «Позвонить» в нижней полосе на телефоне — главная кнопка мобильной
   версии, и она не проходила по контрасту: светлое золото #AA8567 по белому
   даёт **3,2:1** при норме 4,5 для обычного текста (кегль 14, начертание 600
   — до «крупного» не дотягивает).

   Сентябрьская проверка контраста этого не видела: она шла на ширине
   рабочего стола, где мобильная полоса скрыта. Нашлось только сейчас,
   при проверке палитры на 375 px.

   Ставим тёмное золото — по белому это 6,4:1. На вид почти то же, читается
   уверенно. Соседняя кнопка «Консультация» белым по #1A1A1A в порядке. */
html body:not(#dvk-net-takogo) .dvk-mobile-bar__call{
  color:#75563d !important;
}

/* ============ 12. Переход только по нужным свойствам ============
   Замер главной: из 1056 элементов **732 с переходом**, и у 643 из них
   стоит `transition: all`. Источник — правило самой темы Astra:

       .secondary a *, .site-footer a *, .site-header a *, a { transition: .2s linear }

   `a *` — это каждый потомок каждой ссылки, отсюда и 208 элементов
   с одного правила.

   Чем плохо `all`. Переход применяется ко **всем** анимируемым свойствам,
   включая размерные: ширину, отступы, кегль. Браузер обязан следить
   за каждым, а в каскаде переход стоит **выше `!important`** — пока он
   «идёт», вычисленное значение не меняется ничем.

   ⚠️ Это не теория: сегодня три разбора подряд ушли по ложному следу
   именно из-за застывших переходов — «неуменьшаемый» логотип, «обрезанная»
   шапка на 940 px и «не открывающееся» меню. Каждый раз значение
   застывало на прошлом состоянии, и замер показывал несуществующую беду.

   Сужаем список свойств до тех, ради которых переход и нужен: цвет,
   фон, рамка, тень, сдвиг, прозрачность. Длительность и кривую темы
   не трогаем — меняем только перечень свойств, поэтому вид наведения
   остаётся прежним, а размерные свойства перестают «залипать». */

html body:not(#dvk-net-takogo) a,
html body:not(#dvk-net-takogo) .site-header a *,
html body:not(#dvk-net-takogo) .site-footer a *,
html body:not(#dvk-net-takogo) .secondary a *{
  transition:color .2s linear,background-color .2s linear,border-color .2s linear,
             box-shadow .2s linear,transform .2s linear,opacity .2s linear !important;
}

/* ⚠️ Сначала написал только `transition-property` — и ссылки перестали
   плавно менять цвет вовсе. Причина: у темы стоит сокращённая запись
   `transition:.2s linear`, она задаёт сразу свойство, длительность
   и кривую. Перебив одно лишь свойство своим `!important`, я оставил
   длительность без значения — она вернулась к начальному `0s`, то есть
   к мгновенной смене. Поэтому пишем полную запись: и перечень свойств,
   и те же 0,2 секунды с линейной кривой, что были у темы. */

html body:not(#dvk-net-takogo) h1[style*="Exo 2"],
html body:not(#dvk-net-takogo) h2[style*="Exo 2"],
html body:not(#dvk-net-takogo) h3[style*="Exo 2"],
html body:not(#dvk-net-takogo) h4[style*="Exo 2"]{
  font-family:Cormorant,"Cormorant Garamond",Georgia,serif !important;
  color:#1f1c19 !important;
}


/* ============ 13. Заголовок раздела без белой плашки ============
   Над сеткой раздела стояла белая полоса во всю ширину: у шапки архива
   `header.woocommerce-products-header` белый фон и поля 60/48 px. Пока
   страница была белой, её не было видно; на кремовом фоне (раздел 11)
   она читается как пустой блок над товарами.

   У образца заголовок стоит прямо на фоне страницы, по левому краю,
   вровень с первой плиткой. Делаем так же. */

html body:not(#dvk-net-takogo) .woocommerce-products-header{
  background:transparent !important;padding:8px 0 0 !important;
}
html body:not(#dvk-net-takogo).tax-product_cat .woocommerce-products-header h1,
html body:not(#dvk-net-takogo).post-type-archive-product .woocommerce-products-header h1{
  text-align:left !important;
}

/* ============ 14. Название товара на плитке — Raleway, как у образца ============
   Замер 23.09: у dveri-provance.ru название в плитке набрано Raleway 16 px
   полужирным, чёрным. У нас — Cormorant 15 px светлым начертанием (правило
   заголовков из раздела 11 перечисляет и `.woocommerce-loop-product__title`).
   Тонкая антиква в 15 px на длинных названиях вроде «Дверь межкомнатная
   UniLine 30013 SoftTouch бьянка» читается с трудом, и это ровно то место,
   где шрифт «не как у образца» заметнее всего: плиток на странице 28.

   Заголовки страниц и разделов остаются Cormorant — у образца так же.
   Вес селектора выше, чем у общего правила `h2` из раздела 11. */

html body:not(#dvk-net-takogo) ul.products li.product:not(.product-category) .woocommerce-loop-product__title{
  font-family:Raleway,Arial,sans-serif !important;
  font-size:15px !important;font-weight:600 !important;
  letter-spacing:0 !important;line-height:1.35 !important;
  color:#1f1c19 !important;text-transform:none !important;
}


/* === dvk-obrazec === */

/* плашка и пилюли по умолчанию скрыты */
.dvk-obrazec-znak,.dvk-pilyuli{display:none}

/* ===== Шапка: белая, текст тёмный ===== */
html.dvk-obrazec body:not(#dvk-net-takogo) #masthead,
html.dvk-obrazec body:not(#dvk-net-takogo) #masthead .ast-primary-header-bar,
html.dvk-obrazec body:not(#dvk-net-takogo) #masthead .site-primary-header-wrap,
html.dvk-obrazec body:not(#dvk-net-takogo) #masthead .main-header-bar,
html.dvk-obrazec body:not(#dvk-net-takogo) #masthead .ast-builder-grid-row-container{
  background:#fff !important;background-color:#fff !important;
}
html.dvk-obrazec body:not(#dvk-net-takogo) #masthead{box-shadow:0 1px 0 #e2ded9 !important}
html.dvk-obrazec body:not(#dvk-net-takogo) #masthead .site-title a,
html.dvk-obrazec body:not(#dvk-net-takogo) #masthead .site-title a:hover{color:#1f1c19 !important}
html.dvk-obrazec body:not(#dvk-net-takogo) #masthead .main-header-menu > li > a.menu-link{
  color:#1f1c19 !important;text-transform:none !important;
  font-size:14px !important;letter-spacing:0 !important;font-weight:500 !important;
}
html.dvk-obrazec body:not(#dvk-net-takogo) #masthead .main-header-menu > li > a.menu-link:hover,
html.dvk-obrazec body:not(#dvk-net-takogo) #masthead .main-header-menu > li.current-menu-item > a.menu-link,
html.dvk-obrazec body:not(#dvk-net-takogo) #masthead .main-header-menu > li.current-menu-ancestor > a.menu-link{
  color:#75563d !important;
}
html.dvk-obrazec body:not(#dvk-net-takogo) #masthead .sub-menu{
  background:#fff !important;border:1px solid #e2ded9 !important;
}
html.dvk-obrazec body:not(#dvk-net-takogo) #masthead .sub-menu a.menu-link{color:#1f1c19 !important}
html.dvk-obrazec body:not(#dvk-net-takogo) #masthead .sub-menu a.menu-link:hover{color:#75563d !important}
html.dvk-obrazec body:not(#dvk-net-takogo) #masthead .dvk-header-cta{
  color:#75563d !important;border-color:#aa8567 !important;background:transparent !important;
}
html.dvk-obrazec body:not(#dvk-net-takogo) #masthead .dvk-header-cta:hover{
  color:#1f1c19 !important;background:#aa8567 !important;
}
html.dvk-obrazec body:not(#dvk-net-takogo) #masthead .dvk-search-icon,
html.dvk-obrazec body:not(#dvk-net-takogo) #masthead .dvk-header-phone,
html.dvk-obrazec body:not(#dvk-net-takogo) #masthead .dvk-cart-icon{color:#1f1c19 !important}
html.dvk-obrazec body:not(#dvk-net-takogo) #masthead .dvk-search-icon:hover,
html.dvk-obrazec body:not(#dvk-net-takogo) #masthead .dvk-header-phone:hover,
html.dvk-obrazec body:not(#dvk-net-takogo) #masthead .dvk-cart-icon:hover{color:#75563d !important}
/* значки поиска и корзины: у темы это SVG в фоне с зашитым золотом #c9a66b */
html.dvk-obrazec body:not(#dvk-net-takogo) #masthead .dvk-search-icon{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%231f1c19%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Ccircle%20cx=%2211%22%20cy=%2211%22%20r=%227%22/%3E%3Cline%20x1=%2221%22%20y1=%2221%22%20x2=%2216.5%22%20y2=%2216.5%22/%3E%3C/svg%3E") !important}
html.dvk-obrazec body:not(#dvk-net-takogo) #masthead .dvk-search-icon:hover{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%2375563d%22%20stroke-width=%221.8%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Ccircle%20cx=%2211%22%20cy=%2211%22%20r=%227%22/%3E%3Cline%20x1=%2221%22%20y1=%2221%22%20x2=%2216.5%22%20y2=%2216.5%22/%3E%3C/svg%3E") !important}
html.dvk-obrazec body:not(#dvk-net-takogo) #masthead .dvk-cart-icon{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%231f1c19%22%20stroke-width=%221.6%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Ccircle%20cx=%229%22%20cy=%2221%22%20r=%221%22/%3E%3Ccircle%20cx=%2220%22%20cy=%2221%22%20r=%221%22/%3E%3Cpath%20d=%22M1%201h4l2.7%2013.4a2%202%200%200%200%202%201.6h9.7a2%202%200%200%200%202-1.6L23%206H6%22/%3E%3C/svg%3E") !important}
html.dvk-obrazec body:not(#dvk-net-takogo) #masthead .dvk-cart-icon:hover{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%2375563d%22%20stroke-width=%221.6%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Ccircle%20cx=%229%22%20cy=%2221%22%20r=%221%22/%3E%3Ccircle%20cx=%2220%22%20cy=%2221%22%20r=%221%22/%3E%3Cpath%20d=%22M1%201h4l2.7%2013.4a2%202%200%200%200%202%201.6h9.7a2%202%200%200%200%202-1.6L23%206H6%22/%3E%3C/svg%3E") !important}
html.dvk-obrazec body:not(#dvk-net-takogo) #masthead .dvk-cart-count{
  background:#aa8567 !important;color:#1f1c19 !important;
}
html.dvk-obrazec body:not(#dvk-net-takogo) #masthead .menu-toggle,
html.dvk-obrazec body:not(#dvk-net-takogo) #masthead .menu-toggle svg,
html.dvk-obrazec body:not(#dvk-net-takogo) #masthead .menu-toggle svg path{
  color:#1f1c19 !important;fill:#1f1c19 !important;
}

/* ===== Подразделы строкой вместо плиток в сетке ===== */
html.dvk-obrazec body.dvk-est-pilyuli .dvk-pilyuli{
  display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 20px;
}
html.dvk-obrazec body.dvk-est-pilyuli .dvk-pilyuli a{
  display:inline-flex;align-items:center;padding:9px 16px;
  background:#fff;border:1px solid #e2ded9;border-radius:8px;
  color:#1f1c19;font:500 14px/1.2 Raleway,Arial,sans-serif;text-decoration:none;white-space:nowrap;
}
html.dvk-obrazec body.dvk-est-pilyuli .dvk-pilyuli a:hover{border-color:#aa8567;color:#75563d}
html.dvk-obrazec body.dvk-est-pilyuli .dvk-pilyuli__n{margin-left:8px;color:#6b655d;font-weight:400;font-size:12px}
html.dvk-obrazec body.dvk-est-pilyuli:not(#dvk-net-takogo) ul.products li.product-category{display:none !important}
@media (max-width:767px){
  html.dvk-obrazec body.dvk-est-pilyuli .dvk-pilyuli{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-right:-16px;padding-right:16px}
  html.dvk-obrazec body.dvk-est-pilyuli .dvk-pilyuli::-webkit-scrollbar{display:none}
}

/* ===== Подпись плитки по левому краю ===== */
html.dvk-obrazec body:not(#dvk-net-takogo) ul.products li.product:not(.product-category) .woocommerce-loop-product__title,
html.dvk-obrazec body:not(#dvk-net-takogo) ul.products li.product:not(.product-category) .price,
html.dvk-obrazec body:not(#dvk-net-takogo) ul.products li.product:not(.product-category) .dvk-price-request,
html.dvk-obrazec body:not(#dvk-net-takogo) ul.products li.product:not(.product-category) .astra-shop-summary-wrap{
  text-align:left !important;
}
html.dvk-obrazec body:not(#dvk-net-takogo) ul.products li.product:not(.product-category) .dvk-of-otdelki{justify-content:flex-start !important}
html.dvk-obrazec body:not(#dvk-net-takogo) #content ul.products li.product:not(.product-category) a.button,
html.dvk-obrazec body:not(#dvk-net-takogo) ul.products li.product:not(.product-category) a.button{
  width:auto !important;align-self:flex-start !important;padding:9px 18px !important;
}

/* ===== Плашка предпросмотра ===== */
html.dvk-obrazec:not(.dvk-obrazec-vsem) .dvk-obrazec-znak{
  display:block;position:fixed;left:16px;bottom:16px;z-index:100000;
  padding:8px 14px;border-radius:8px;background:#1f1c19;color:#f9f6f0;
  font:500 13px/1.3 Raleway,Arial,sans-serif;text-decoration:none;box-shadow:0 4px 14px rgba(0,0,0,.2);
}
@media (max-width:921px){html.dvk-obrazec:not(.dvk-obrazec-vsem) .dvk-obrazec-znak{bottom:84px}}

/* === dvk-footer-navigation-20261003 === */

@layer dvkComposition {
html body #colophon .footer__nav a{transition:color .18s ease,background-color .18s ease!important;}
html body #colophon .footer__nav a[aria-current="page"]{color:#6b4e35!important;font-weight:500!important;text-decoration:underline!important;text-underline-offset:4px!important;}
html body #colophon .footer__nav a:hover{color:#6b4e35!important;text-decoration:underline!important;text-underline-offset:4px!important;}
html body #colophon .footer__nav a:focus-visible,html body #colophon .dvk-footer-disclosure>summary:focus-visible{outline:2px solid #93704f!important;outline-offset:3px!important;}
@media(max-width:767px){
html body #colophon .dvk-footer-grid{row-gap:18px!important;}
html body #colophon :is(.footer__column--nav,.footer__column--info){grid-column:1/-1!important;}
html body #colophon .dvk-footer-disclosure{display:block!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;}
html body #colophon .dvk-footer-disclosure>summary{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;min-height:44px!important;box-sizing:border-box!important;margin:0!important;padding:8px 0!important;border:0!important;border-bottom:1px solid #d9ccbc!important;list-style:none!important;cursor:pointer!important;}
html body #colophon .dvk-footer-disclosure>summary::-webkit-details-marker{display:none!important;}
html body #colophon .dvk-footer-disclosure>summary::marker{content:"";}
html body #colophon .dvk-footer-disclosure>summary .footer__title{margin:0!important;padding:0!important;line-height:1.5!important;}
html body #colophon .dvk-footer-disclosure>summary .dvk-footer-toggle{display:block!important;flex:0 0 18px!important;color:#927254!important;font-size:20px!important;font-weight:400!important;line-height:1!important;text-align:right!important;}
html body #colophon .dvk-footer-disclosure .footer__nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 16px!important;margin:0!important;padding:8px 0 0!important;}
html body #colophon .dvk-footer-disclosure:not([open])>.footer__nav{display:none!important;}
html body #colophon .dvk-footer-disclosure .footer__nav>a{display:flex!important;align-items:center!important;box-sizing:border-box!important;width:100%!important;min-height:44px!important;margin:0!important;padding:8px 4px!important;font-size:14px!important;line-height:1.5!important;white-space:normal!important;overflow-wrap:anywhere!important;}
html body #colophon .dvk-footer-disclosure .footer__nav>a[aria-current="page"]{padding-left:9px!important;background:#f0e5d7!important;border-left:2px solid #ae8b69!important;border-radius:3px!important;text-decoration:none!important;}
html body #colophon .footer__bottom-inner>a.footer__legal{display:flex!important;align-items:center!important;min-height:44px!important;box-sizing:border-box!important;padding:6px 0!important;margin:0!important;line-height:1.45!important;}
html body #colophon .dvk-footer-disclosure[open]>.footer__nav{animation:dvkFooterReveal .18s ease both;}
}
@keyframes dvkFooterReveal{from{opacity:.65;transform:translateY(3px);}to{opacity:1;transform:translateY(0);}}
@media(prefers-reduced-motion:reduce){html body #colophon .footer__nav a{transition:none!important;}html body #colophon .dvk-footer-disclosure[open]>.footer__nav{animation:none!important;}}
}

/* === dvk-logo-redesign-20261006 === */
@layer dvkComposition {
html body .site-branding .dvk-logo-lockup{display:inline-flex!important;align-items:center!important;gap:12px!important;min-height:48px!important;text-decoration:none!important;color:#4d4034!important;}
html body .site-branding .dvk-logo-mark{display:block!important;flex:0 0 46px!important;width:46px!important;height:46px!important;padding:0!important;border:1px solid #b48c61!important;border-radius:12px!important;background:#efe0cd!important;box-shadow:inset 0 0 0 4px rgba(255,253,249,.72),0 4px 12px rgba(102,78,51,.1)!important;transition:transform .25s ease,box-shadow .25s ease!important;}
html body .site-branding .dvk-logo-mark svg{display:block!important;width:100%!important;height:100%!important;overflow:visible!important;}
html body .site-branding .dvk-logo-mark .dvk-logo-door{fill:#73553d!important;stroke:#5c4431!important;stroke-width:1.2!important;}
html body .site-branding .dvk-logo-mark .dvk-logo-door-line{fill:none!important;stroke:#fffdf9!important;stroke-width:1.3!important;stroke-linecap:round!important;}
html body .site-branding .dvk-logo-mark .dvk-logo-floor{fill:none!important;stroke:#a67b50!important;stroke-width:1.2!important;stroke-linecap:round!important;}
html body .site-branding .dvk-logo-name{display:flex!important;flex-direction:column!important;gap:1px!important;white-space:nowrap!important;font-family:Raleway,Arial,sans-serif!important;font-style:normal!important;font-weight:500!important;line-height:1.15!important;letter-spacing:.08em!important;text-transform:uppercase!important;}
html body .site-branding .dvk-logo-main{display:block!important;font-size:clamp(16px,1.15vw,22px)!important;}
html body .site-branding .dvk-logo-sub{display:block!important;font-size:11px!important;font-weight:600!important;letter-spacing:.22em!important;color:#a0744c!important;text-transform:none!important;}
html body .site-branding .site-description{display:none!important;}
@media(hover:hover){html body .site-branding .dvk-logo-lockup:hover .dvk-logo-mark{transform:translateY(-2px) rotate(-2deg)!important;box-shadow:inset 0 0 0 4px rgba(255,253,249,.8),0 7px 16px rgba(102,78,51,.16)!important;}}
@media(max-width:921px){html body .site-branding .dvk-logo-lockup{gap:9px!important;min-height:40px!important;}html body .site-branding .dvk-logo-mark{flex-basis:38px!important;width:38px!important;height:38px!important;border-radius:10px!important;}html body .site-branding .dvk-logo-main{font-size:15px!important;letter-spacing:.06em!important;}html body .site-branding .dvk-logo-sub{font-size:10px!important;letter-spacing:.17em!important;}}
@media(max-width:380px){html body .site-branding .dvk-logo-lockup{gap:7px!important;}html body .site-branding .dvk-logo-mark{flex-basis:34px!important;width:34px!important;height:34px!important;border-radius:9px!important;}html body .site-branding .dvk-logo-main{font-size:13px!important;letter-spacing:.04em!important;}html body .site-branding .dvk-logo-sub{font-size:9px!important;letter-spacing:.13em!important;}}
@media(prefers-reduced-motion:reduce){html body .site-branding .dvk-logo-mark{transition:none!important;}}
}
/* === dvk-logo-png-20261006 === */

html body .site-branding .dvk-logo-lockup{display:flex!important;align-items:center!important;max-width:100%!important;text-decoration:none!important;}
html body .site-branding .dvk-logo-image{display:block!important;width:300px!important;height:auto!important;max-width:100%!important;object-fit:contain!important;transition:transform .24s ease,filter .24s ease!important;}
html body .site-branding .dvk-logo-lockup:hover .dvk-logo-image,html body .site-branding .dvk-logo-lockup:focus-visible .dvk-logo-image{transform:translateY(-1px)!important;filter:drop-shadow(0 4px 8px rgba(93,57,40,.12))!important;}
html body .site-branding .dvk-logo-sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
@media(max-width:921px){html body .site-branding .dvk-logo-image{width:240px!important;}}
@media(max-width:480px){html body .site-branding .dvk-logo-image{width:225px!important;}}
@media(prefers-reduced-motion:reduce){html body .site-branding .dvk-logo-image{transition:none!important;}}

/* === dvk-header-normal-flow-20261007 === */

@layer dvkComposition {
 html body:not(#dvk-net-takogo) #masthead{position:relative!important;top:auto!important;bottom:auto!important;left:auto!important;right:auto!important;height:auto!important;min-height:0!important;transform:none!important;}
 html body:not(#dvk-net-takogo){padding-top:0!important;}
}
