/* CMS controls inherit the approved palette. The three source CSS files stay byte-identical. */
:root {
  --ff-ui: 'Manrope Variable', Manrope, ui-sans-serif, system-ui, sans-serif;
  --ink: var(--fg-0); --ink-2: var(--fg-1); --ink-3: var(--fg-2);
  --bg: var(--bg-1); --soft: var(--bg-2); --soft-2: var(--bg-3);
  --accent: var(--acc); --accent-d: var(--acc-deep); --sale: var(--danger); --ok: var(--success);
}
body { font-family: var(--ff-ui); background:var(--bg-1); color:var(--fg-0); }
.section-head h2 em { color:var(--acc); font-style:italic; }
.dm-quick-door { width:100%;height:100%;background:var(--door-color);border:1px solid var(--door-edge);border-bottom:0;border-radius:4px 4px 0 0;position:relative; }
.dm-quick-door .frame { position:absolute;inset:6px 6px 8px;border:1px solid var(--door-edge);opacity:.5;border-radius:2px; }
.dm-quick-door .handle { position:absolute;right:6px;top:55%;width:3px;height:16px;background:var(--acc);border-radius:2px; }
.dm-promo-bottom { display:flex;align-items:flex-end;justify-content:space-between; }
.dm-product-image { width:100%;height:100%;object-fit:contain; }
.dm-contact-phone { display:inline-flex;align-items:center;gap:6px;color:var(--fg-0);font-weight:600; }
.header .logo img { max-height:40px;max-width:200px; }
.search .suggest-item { width:100%;text-align:left; }
.search .thumb img { width:100%;height:100%;object-fit:contain; }
.footer-bottom > span:last-child { display:flex;gap:16px;flex-wrap:wrap; }
.footer-bottom button { font-size:inherit;color:inherit;padding:0; }
.product-card--list { display:grid;grid-template-columns:180px 1fr; }
.product-card--list .media { min-height:220px; }
.product-card button:disabled { opacity:.55;cursor:not-allowed; }
.subscribe form .check { margin-top:12px; }
.dm-home .subscribe h2 { font-family:var(--ff-display); }
.uu-container { max-width:var(--container);padding-inline:var(--container-pad); }
.uu-field__input,.uu-select,.uu-checkout input,.uu-checkout select,.uu-checkout textarea { color:var(--fg-0);background:var(--bg-2);border-color:var(--line); }
.uu-btn-el--solid,.uu-btn-el--accent { background:var(--acc);color:var(--bg-0); }
.uu-btn-el--outline { border-color:var(--line-strong);color:var(--fg-0); }
:focus-visible { outline:2px solid var(--acc);outline-offset:3px; }
@media(max-width:680px) {
  .product-card--list { grid-template-columns:110px 1fr; }
  .product-card--list .media { min-height:180px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important;animation:none!important;transition:none!important; } }
.dm-block-button { width:100%; }
.dm-auth-content { grid-column:1/-1; padding:40px; }
.dm-auth-content .uu-auth-page { margin:0; padding:0; background:none; border:0; }
.dm-auth-content h1 { font-family:var(--ff-display);font-size:30px; }
.dm-compare-image { width:70px;height:100px;object-fit:contain;margin:0 auto 16px; }
.compare-label { display:block;font-size:11px;color:var(--fg-3);margin-bottom:4px; }
.filter-links { display:grid;gap:10px; }
.dm-article-image img { width:100%;height:100%;object-fit:cover; }
.dm-checkout .checkout-field { display:flex;flex-direction:column;gap:8px; }
.dm-checkout .checkout-option input,.dm-checkout .checkout-pay input { accent-color:var(--acc); }
.dm-checkout .checkout-option small,.dm-checkout .checkout-pay small { display:block;color:var(--fg-2); }
.dm-checkout .uu-osum,.dm-checkout .uu-osum__panel { padding:0;background:none;border:0;box-shadow:none; }
.dm-checkout .uu-osum h2 { display:none; }
.dm-checkout textarea { width:100%;background:var(--bg-1);border:1px solid var(--line-strong);border-radius:var(--radius-md);padding:14px;color:var(--fg-0);font:inherit; }
.dm-checkout .uu-ckout__check { margin:14px 0;color:var(--fg-2); }
.dm-live-constructor.uu-configurator { display:flex;flex-direction:column;gap:var(--gap-md);padding:clamp(20px,3vw,32px);border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--bg-2); }
.dm-live-constructor > .dc-header,.dm-live-constructor > .pc-recovery,.dm-live-constructor > .pc-base-field,.dm-live-constructor > .dm-kit-summary,.dm-live-constructor > button,.dm-live-constructor > [role=alert] { grid-column:1/-1; }
.dm-live-preview { grid-column:2;grid-row:1/5;min-width:0; }
.dm-live-preview .dc-preview-stage { position:static; }
.dm-live-block { grid-column:1/-1;min-width:0; }
.dm-live-block > h3,.dm-live-block > p { display:none; }
.dm-live-block > div { display:grid;grid-template-columns:240px minmax(240px,360px) minmax(0,1fr);gap:var(--gap-md); }
.dm-live-block .dc-nav { grid-column:1;grid-row:1/5; }
.dm-live-block .dc-options-panel { grid-column:3;grid-row:1/4;min-width:0;margin:0;padding:20px;border:1px solid var(--line);background:var(--bg-1);border-radius:var(--radius-lg); }
.dm-live-block .dc-panel-footer { grid-column:3;display:flex;justify-content:space-between;gap:12px; }
.dm-live-block .dc-panel-footer button { padding:12px 20px;border:1px solid var(--line-strong);border-radius:var(--radius-md); }
.dm-live-block .dc-option { display:flex;align-items:center;gap:12px;margin-bottom:10px; }
.dm-live-block .dc-option input { accent-color:var(--acc); }
.dm-kit-summary { padding:24px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-2); }
.dm-kit-summary ul { margin:12px 0;padding-left:20px; }
.dm-live-constructor > .pc-base-field { display:flex;align-items:center;gap:12px; }
.dm-live-constructor > .pc-base-field input { max-width:100px; }
@media(max-width:1000px) {
 .dm-live-constructor.uu-configurator,.dm-live-block > div { grid-template-columns:200px minmax(0,1fr); }
 .dm-live-block .dc-options-panel,.dm-live-block .dc-panel-footer { grid-column:2; }
 .dm-live-preview { grid-column:2;grid-row:auto; }
}
@media(max-width:680px) {
 .dm-auth-content { padding:28px 20px; }
 .dm-live-constructor.uu-configurator,.dm-live-block > div { display:flex;flex-direction:column; }
 .dm-live-block .dc-nav { flex-direction:row;position:static;overflow-x:auto;max-width:100%; }
 .dm-live-block .dc-nav-item { min-width:145px; }
 .dm-live-constructor .dc-preview-stage { min-height:300px; }
 .dm-live-constructor > .pc-base-field { flex-wrap:wrap; }
}

/* CMS-only controls and accessible dialogs share the source geometry. */
.dm-buybox-tool { width:auto;height:auto;display:inline-flex;align-items:center;gap:6px;border:0;border-radius:0;background:none; }
.cart-line-thumb img { width:100%;height:100%;object-fit:contain; }
.cart-line-info .uu-cart__ops { margin-top:8px; }
.cart-line .pc-cart-editor { grid-column:1/-1; }
.cart-line details { margin:8px 0;font-size:12px;color:var(--fg-2); }
.cart-line .uu-cart__ops .uu-qty { border-color:var(--line); }
.filter-drawer .catalog-filters { display:block; }
.filter-drawer .filter-drawer-panel { border:0;border-radius:0; }
.dm-live-constructor [hidden] { display:none; }
.dm-live-constructor legend { font-weight:600;margin-bottom:12px; }
@media(max-width:680px) { .filter-drawer .filter-drawer-panel { border-radius:20px 20px 0 0; } }

.uu-cms-page p:empty { display:none; }

@media(max-width:680px) { .dm-source-product .product-buybox .buybox-actions { display:flex;flex-direction:column; } }

.dm-live-block .dc-option { position:relative;cursor:pointer; }
.dm-live-block .dc-option > input { position:absolute;opacity:0;width:1px;height:1px; }
.dm-live-block .dc-option:focus-within { outline:2px solid var(--acc);outline-offset:2px; }
.dm-live-block .dc-option:has(input:disabled) { opacity:.55;cursor:not-allowed; }

.product-card .dm-product-link { position:absolute;inset:0;z-index:2; }
.product-card .media .badges { pointer-events:none; }
.filter-drawer .filters-head h3 { display:none; }
.filter-drawer .filters-head { justify-content:flex-end; }

/* CMS markup differs from the original static mockup: keep full summaries in
   the document flow and reserve space for the persistent mobile navigation. */
.price-range input[type=range] { display:block;margin-inline:0;max-width:100%; }
.filter-drawer .catalog-filters { min-width:0; }
.dm-checkout .checkout-form,.dm-checkout .checkout-summary { min-width:0; }
.dm-checkout .checkout-summary { align-self:start; }
.dm-checkout .checkout-section input[type=radio] { width:auto;min-width:16px;flex:none;padding:0; }
.footer .footer-col.hide-mid { display:block; }
.uu-toast-el { width:max-content;background:var(--bg-2);color:var(--fg-0);border:1px solid var(--line-strong); }
.uu-toast-el > div { min-width:0;overflow-wrap:anywhere; }
.uu-toast-el__s { color:var(--fg-1); }
.uu-toast-el__a { color:var(--bg-0);background:var(--acc); }
.checkout-field > input { width:100%;min-width:0;min-height:46px;padding:12px 14px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg-2);color:var(--fg-0);font:inherit; }
.checkout-field > input:focus { border-color:var(--acc); }
.dm-checkout .checkout-option,.dm-checkout .checkout-pay { display:grid;grid-template-columns:18px 40px minmax(0,1fr);align-items:center;gap:12px;text-align:left; }
.dm-checkout .checkout-option-body { min-width:0;overflow-wrap:anywhere; }
.dm-checkout .uu-choice__ok { display:none; }
.dm-checkout .checkout-pay-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); }
.dm-compare-hint { margin:0 0 12px;color:var(--fg-1);font-size:13px; }
.dm-search-status { padding:16px;color:var(--fg-1);font-size:13px; }
.uu-cookie { z-index:10060; }
.uu-cookie__card { max-height:calc(100dvh - 32px);overflow-y:auto; }
.uu-cookie__btns .uu-btn-el--outline { background:var(--bg-3);color:var(--fg-0); }
.uu-osum__bar { background:var(--bg-2);color:var(--fg-0);border-color:var(--line-strong); }
.uu-osum__bar-l { color:var(--fg-1); }
@media(min-width:769px) and (max-width:1200px) {
  .header .container { position:relative;grid-template-columns:auto auto minmax(0,1fr) auto; }
  .header .search { min-width:0; }
  .header .megamenu-wrap { position:static; }
  .header .megamenu { left:16px;right:16px;top:100%;width:auto;max-height:calc(100dvh - 130px);overflow-y:auto; }
  .header .megamenu .pane { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .header .megamenu .feature { display:none; }
}
@media(max-width:768px) {
  .mobile-bottombar { height:calc(var(--mobile-tab-h) + var(--mobile-safe-bottom)); }
  .uu-osum__bar { bottom:calc(var(--mobile-tab-h) + var(--mobile-safe-bottom)); }
  body:has(.uu-osum__bar) { padding-bottom:calc(var(--mobile-tab-h) + var(--mobile-safe-bottom) + 90px); }
  .uu-cookie { bottom:calc(var(--mobile-tab-h) + var(--mobile-safe-bottom) + 12px); }
  .uu-cookie__card { max-height:calc(100dvh - var(--mobile-tab-h) - var(--mobile-safe-bottom) - 32px); }
  .dm-checkout .checkout-aside { position:static;inset:auto;z-index:auto;border:1px solid var(--line-strong);border-radius:var(--radius-lg);padding:20px;box-shadow:none;backdrop-filter:none; }
  .dm-checkout .checkout-layout { display:flex;flex-direction:column; }
  .dm-checkout .checkout-summary { width:100%; }
  .uu-cmpdock { bottom:calc(var(--mobile-tab-h) + var(--mobile-safe-bottom) + 12px);max-width:calc(100% - 24px); }
  .uu-toast-el { bottom:calc(var(--mobile-tab-h) + var(--mobile-safe-bottom) + 12px);width:calc(100% - 24px);max-width:none;flex-wrap:wrap; }
  .uu-toast-el > div { flex:1; }
  .uu-toast-el__a { margin-left:47px; }
  body:has(.uu-cmpdock) { padding-bottom:calc(var(--mobile-tab-h) + var(--mobile-safe-bottom) + 68px); }
  .uu-cmp__table thead th:first-child,.uu-cmp__table tbody td:first-child { min-width:96px;width:96px;max-width:96px;padding-inline:10px;overflow-wrap:anywhere; }
  .uu-cmp__table { min-width:480px; }
  .uu-cmp__table th,.uu-cmp__table td { overflow-wrap:anywhere; }
}
/* Code-page editor images retain the original theme composition. */
.dm-hero-image { width:100%;height:100%;object-fit:cover; }
.quick-cat .dm-category-image { width:100%;height:100%;object-fit:cover; }
.promo .dm-promo-image { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.25;pointer-events:none; }
.promo > :not(.dm-promo-image) { position:relative;z-index:1; }
