/* Главная DeLaFlor: визуальный слой нового макета поверх существующей Yii-логики. */
.index-page {
    --dlf-ink: #321b1a;
    --dlf-brown: #472b2b;
    --dlf-red: #ff4b5d;
    --dlf-rose: #ffdfe4;
    --dlf-paper: #f7f6f4;
    --dlf-muted: #7d7674;
    --dlf-line: #e6e0de;
    --dlf-white: #fff;
    background: var(--dlf-paper);
    color: var(--dlf-ink);
    font-family: Manrope, Arial, sans-serif;
}

.index-page .container {
    width: min(100% - 60px, 1320px);
    max-width: 1320px;
}

.index-page > .header {
    display: block !important;
}

.index-page > .header > .header-nav-line {
    display: none !important;
}

.dlf-home-header {
    position: static;
    z-index: auto;
    background: #fff;
    color: var(--dlf-ink);
    box-shadow: 0 4px 20px rgba(50, 27, 26, .06);
}

.dlf-home-shell {
    width: min(100% - 60px, 1320px);
    margin: 0 auto;
}

.dlf-home-promo {
    padding: 7px 0;
    background: var(--dlf-brown);
    color: #f8e9e8;
    font-size: 11px;
}

.dlf-home-promo .dlf-home-shell {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.dlf-home-head-main {
    border-bottom: 1px solid #f0ebea;
}

.dlf-home-head-row {
    display: flex;
    align-items: center;
    gap: 22px;
    min-height: 82px;
}

.dlf-home-brand {
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    min-width: 165px;
    color: var(--dlf-ink);
}

.dlf-home-brand-name {
    font-family: Oswald, Arial, sans-serif;
    font-size: 30px;
    line-height: 1;
    letter-spacing: .035em;
}

.dlf-home-brand-name b {
    color: var(--dlf-red);
    font-weight: 500;
}

.dlf-home-brand-tag {
    margin-top: 7px;
    color: #8d7775;
    font-size: 8px;
    letter-spacing: .22em;
    text-transform: uppercase;
}

.dlf-home-city,
.dlf-home-phone {
    display: flex;
    flex-direction: column;
    color: var(--dlf-ink);
    white-space: nowrap;
}

.dlf-home-city span,
.dlf-home-phone span {
    color: var(--dlf-muted);
    font-size: 10px;
}

.dlf-home-city b,
.dlf-home-phone b {
    font-size: 12px;
}

.dlf-home-search {
    position: relative;
    flex: 1 1 330px;
    max-width: 390px;
}

.dlf-home-search input {
    width: 100%;
    height: 42px;
    padding: 0 46px 0 18px;
    border: 1px solid #ddd5d2;
    border-radius: 22px;
    outline: 0;
    background: #faf9f8;
}

.dlf-home-search button {
    position: absolute;
    top: 5px;
    right: 5px;
    display: grid;
    width: 32px;
    height: 32px;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: var(--dlf-red);
    color: #fff;
}

.dlf-home-action {
    display: grid;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    place-items: center;
    border: 1px solid #ded6d3;
    border-radius: 50%;
    color: var(--dlf-brown);
    font-size: 12px;
    font-weight: 800;
}

.dlf-home-cart {
    flex: 0 0 auto;
}

.dlf-home-cart .header-cart {
    display: grid;
    min-width: 38px;
    min-height: 38px;
    place-items: center;
    border-radius: 50%;
    background: var(--dlf-red);
    color: #fff;
}

/* v14: messenger chooser from the homepage prototype */
.dlf-message-menu { position: relative; flex: 0 0 auto; }
.dlf-message { border: 0; cursor: pointer; }
.dlf-message-popover { position: absolute; top: calc(100% + 10px); right: 0; z-index: 80; width: 230px; padding: 8px; border: 1px solid #e7dfdc; border-radius: 11px; background: #fff; box-shadow: 0 18px 45px rgba(50,27,26,.14); }
.dlf-message-popover[hidden] { display: none; }
.dlf-message-popover::before { content: ""; position: absolute; top: -6px; right: 25px; width: 11px; height: 11px; border-top: 1px solid #e7dfdc; border-left: 1px solid #e7dfdc; background: #fff; transform: rotate(45deg); }
.dlf-message-popover a { display: grid; grid-template-columns: 1fr; gap: 2px; padding: 10px; border-radius: 8px; color: #321b1a; text-decoration: none; }
.dlf-message-popover a:hover { background: #f8f5f4; }
.dlf-message-popover b { font-size: 11px; }
.dlf-message-popover span { color: #8c807d; font-size: 9px; }

/* v15: admin-driven homepage collections alternate like the prototype */
.index-page .main-category-list {
    display: grid;
    gap: 18px;
}

.index-page .main-category-list > .main-category {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    margin: 0;
    padding: 28px 26px 26px;
    border: 1px solid #eee7e4;
    border-radius: 13px;
    background: #fff;
}

.index-page .main-category-list > .main-category:nth-child(3n + 2) {
    border-color: #ffd0d8;
    background: #ffe1e6;
}

.index-page .main-category-list > .main-category:nth-child(3n) {
    border-color: #efb3bf;
    background: #f5c3cd;
}

.index-page .main-category-list > .main-category:nth-child(3n + 2)::before,
.index-page .main-category-list > .main-category:nth-child(3n)::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: -35%;
    right: 18%;
    width: 170px;
    height: 180%;
    background: rgba(255,255,255,.17);
    transform: skewX(-13deg);
    pointer-events: none;
}

.index-page .main-category-list > .main-category > .h2 {
    position: relative;
    z-index: 1;
    margin-bottom: 20px;
}

.index-page .main-category-list .catalog-section-wrapper,
.index-page .main-category-list .products-list-wrapper,
.index-page .main-category-list .show-more-items {
    position: relative;
    z-index: 1;
}

@media (max-width: 767px) {
    .index-page .main-category-list { gap: 12px; }
    .index-page .main-category-list > .main-category { padding: 20px 12px 18px; border-radius: 11px; }
}

/* v16 — standalone prototype components; legacy homepage blocks removed from markup */
.index-page .store-section { position:relative; isolation:isolate; overflow:hidden; padding:78px 0; background:#fff; }
.index-page .store-section::before { content:""; position:absolute; z-index:-1; top:60px; right:5%; width:90px; height:90px; background:#ffdce2; clip-path:polygon(50% 0,61% 38%,100% 50%,61% 62%,50% 100%,39% 62%,0 50%,39% 38%); transform:rotate(13deg); }
.index-page .store-section .section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:25px; }
.index-page .store-heading-copy { max-width:690px; }
.index-page .store-heading-copy h2 { margin:6px 0 8px; font:500 40px/1.05 Oswald,sans-serif; text-transform:uppercase; }
.index-page .store-heading-copy p { max-width:620px; margin:0; color:#6e6260; font-size:13px; line-height:1.65; }
.index-page .store-route-link { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 16px; border:1px solid #d9cfcc; border-radius:8px; background:#fff; font-size:11px; font-weight:800; white-space:nowrap; }
.index-page .store-bento { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr); grid-template-rows:280px auto; gap:14px; padding:18px; border-radius:18px; background:linear-gradient(125deg,#ffe2e7 0 57%,#f6b9c4 57%); box-shadow:0 20px 55px #5c273016; }
.index-page .store-photo { position:relative; min-width:0; margin:0; overflow:hidden; border:7px solid #fff; border-radius:13px; background:#eadfdb; }
.index-page .store-photo--outside { grid-row:1/3; }
.index-page .store-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.index-page .store-photo figcaption { position:absolute; right:14px; bottom:14px; left:14px; display:flex; align-items:end; justify-content:space-between; gap:16px; padding:11px 13px; border-radius:8px; background:#321b1ad9; color:#fff; backdrop-filter:blur(8px); }
.index-page .store-photo figcaption b { font-size:12px; }
.index-page .store-photo figcaption span { color:#ecdeda; font-size:9px; text-align:right; }
.index-page .store-info { position:relative; overflow:hidden; padding:24px; border-radius:13px; background:#fff; }
.index-page .store-status { display:inline-flex; align-items:center; gap:7px; padding:7px 10px; border-radius:18px; background:#eaf7ef; color:#16724a; font-size:10px; font-weight:800; }
.index-page .store-info h3 { max-width:370px; margin:17px 0 10px; font:500 27px/1.08 Oswald,sans-serif; text-transform:uppercase; }
.index-page .store-info>p { max-width:460px; margin:0; color:#6e6260; font-size:12px; line-height:1.65; }
.index-page .store-facts { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin:18px 0; }
.index-page .store-fact { display:grid; gap:3px; padding:11px; border:1px solid #eee7e4; border-radius:9px; background:#fcfbfa; }
.index-page .store-fact b { font-size:10px; }
.index-page .store-fact span,.index-page .store-fact a { color:#746967; font-size:9px; line-height:1.45; }
.index-page .store-actions { display:flex; gap:9px; flex-wrap:wrap; }
.index-page .store-actions .button { min-height:44px; padding:11px 16px; border:0; border-radius:7px; }
.index-page .store-actions .secondary { background:#4b2929; }

.index-page .delivery { position:relative; padding:78px 0; background:#fbf7f6; }
.index-page .delivery .section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:25px; }
.index-page .delivery .section-head h2 { margin:0; font:500 40px/1.05 Oswald,sans-serif; text-transform:uppercase; }
.index-page .delivery .section-head p { max-width:430px; margin:0; color:#6e6260; font-size:12px; line-height:1.65; }
.index-page .delivery-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr); gap:18px; }
.index-page .delivery-map { position:relative; height:430px; overflow:hidden; border:1px solid #eadfdd; border-radius:18px; background:#fbf7f6; box-shadow:0 18px 45px #49292710; }
.index-page .delivery-map svg { width:100%; height:100%; }
.index-page .delivery-map-head { position:absolute; z-index:2; top:18px; left:20px; display:grid; gap:2px; padding:10px 13px; border:1px solid #eadfdd; border-radius:10px; background:#fffffff2; }
.index-page .delivery-map-head span { color:#9a7774; font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.index-page .delivery-map-head b { font:500 21px Oswald,sans-serif; text-transform:uppercase; }
.index-page .delivery-map .road-minor { fill:none; stroke:#e8dcda; stroke-width:2; }
.index-page .delivery-map .road { fill:none; stroke:#fff; stroke-width:8; }
.index-page .delivery-map .river { fill:none; stroke:#cae8ef; stroke-width:42; stroke-linecap:round; }
.index-page .delivery-map .zone-shape { stroke-width:3; stroke-linejoin:round; }
.index-page .delivery-map .zone-free-shape { fill:#ffdfe5; stroke:#ff6273; }
.index-page .delivery-map .zone-paid-shape { fill:#eadeda; stroke:#8d6d69; }
.index-page .delivery-map .store-marker { fill:#ff4b5d; stroke:#fff; stroke-width:5; }
.index-page .delivery-map .store-ring { fill:none; stroke:#ff4b5d55; stroke-width:8; }
.index-page .delivery-map-legend { position:absolute; z-index:2; right:18px; bottom:16px; left:18px; display:flex; gap:8px; flex-wrap:wrap; }
.index-page .delivery-map-legend span { display:inline-flex; align-items:center; gap:7px; min-height:34px; padding:7px 11px; border:1px solid #eadfdd; border-radius:18px; background:#fffffff2; color:#5f504e; font-size:9px; font-weight:800; }
.index-page .delivery-map-legend i { width:10px; height:10px; border-radius:50%; background:#ff6273; }
.index-page .delivery-map-legend span+span i { background:#8d6d69; }
.index-page .zones { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.index-page .zone { position:relative; min-height:62px; padding:13px 13px 13px 31px; border:1px solid #eadfdd; border-radius:10px; background:#fff; }
.index-page .zone::before { content:""; position:absolute; top:18px; left:14px; width:7px; height:7px; border-radius:50%; background:#ff6273; box-shadow:0 0 0 4px #ff627316; }
.index-page .zone b,.index-page .zone span { display:block; }
.index-page .zone b { font-size:10px; }
.index-page .zone span { margin-top:4px; color:#8b7774; font-size:8px; }
.index-page .zone--paid::before { background:#8d6d69; }
.index-page .delivery-note { padding:16px; border-radius:10px; background:#4b2929; color:#fff; font-size:10px; line-height:1.6; }
.index-page .delivery-chip-list { display:flex; flex-wrap:wrap; gap:9px; }
.index-page .delivery-chip-list span { padding:11px 15px; border:1px solid #eadfdd; border-radius:22px; background:#fff; color:#5f504e; font-size:11px; }
.index-page .delivery-hotels-title { margin:30px 0 14px; font:500 25px Oswald,sans-serif; text-transform:uppercase; }

.index-page .about { padding:78px 0; background:#f1efed; }
.index-page .about-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.index-page .about-story,.index-page .calculator { position:relative; overflow:hidden; padding:32px; border-radius:13px; background:#fff; }
.index-page .about h2 { margin:0 0 17px; font:500 37px/1.05 Oswald,sans-serif; text-transform:uppercase; }
.index-page .about p { color:#6c6260; font-size:13px; line-height:1.7; }
.index-page .about .button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:11px 18px; border:0; border-radius:7px; background:#ff4b5d; color:#fff; font-size:11px; font-weight:800; }
.index-page .stats { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:22px; }
.index-page .stat { padding:18px; border-radius:8px; background:#4b2929; color:#fff; }
.index-page .stat+.stat { background:#ffdfe5; color:#321b1a; }
.index-page .stat strong,.index-page .stat span { display:block; }
.index-page .stat strong { font:500 30px Oswald,sans-serif; }
.index-page .stat span { font-size:10px; }
.index-page .calculator::after { content:""; position:absolute; right:28px; bottom:24px; width:126px; height:126px; background:#ffd8df; clip-path:polygon(50% 0,61% 38%,100% 50%,61% 62%,50% 100%,39% 62%,0 50%,39% 38%); opacity:.8; }
.index-page .calculator h3 { margin:0 0 10px; font:500 27px Oswald,sans-serif; text-transform:uppercase; }
.index-page .calc-fields { position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.index-page .calc-fields label { display:grid; gap:5px; color:#746965; font-size:10px; }
.index-page .calc-fields select { min-width:0; padding:10px; border:1px solid #ddd5d2; border-radius:5px; background:#fff; }
.index-page .calc-actions { position:relative; z-index:1; display:flex; gap:10px; margin-top:17px; }
.index-page .calc-order-button { border:1px solid #ff4b5d!important; background:#fff!important; color:#ff4b5d!important; }

.index-page .contact-section { position:relative; padding:78px 0; background:#4b2929; color:#fff; }
.index-page .contact-section .section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:25px; }
.index-page .contact-section h2 { margin:0; color:#fff; font:500 40px/1.05 Oswald,sans-serif; text-transform:uppercase; }
.index-page .contact-section .section-head p { max-width:520px; margin:0; color:#d7c8c5; font-size:12px; line-height:1.65; }
.index-page .contact-form-widget form { margin:0; }
.index-page .contact-form-widget .feedback-body { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.index-page .contact-form-widget .feedback-body>.inpt { width:100%; min-width:0; height:48px; padding:0 14px; border:1px solid #ffffff38; border-radius:7px; background:#fff; color:#321b1a; box-sizing:border-box; }
.index-page .contact-form-widget .feedback-body>div:not([style]) { grid-column:1/-1; }
.index-page .contact-form-widget label { display:none; }
.index-page .contact-form-widget textarea { width:100%; min-height:110px; padding:14px; border:1px solid #ffffff38; border-radius:7px; background:#fff; color:#321b1a; box-sizing:border-box; resize:vertical; }
.index-page .contact-form-widget .feedback-submit-button { grid-column:1/-1; justify-self:start; min-height:46px; padding:11px 20px; border:0; border-radius:7px; background:#ff4b5d; color:#fff; font-size:11px; font-weight:800; cursor:pointer; }
.index-page .contact-form-widget .feedback-submit-button[disabled] { opacity:.65; cursor:wait; }
.index-page .contact-form-widget .feedback-send-message { grid-column:1/-1; padding:11px 14px; border:1px solid #ffb9c1; border-radius:7px; background:#fff2f4; color:#7a2832; font-size:11px; }
.index-page .contact-form-widget .feedback-footer { color:#d7c8c5; font-size:9px; }
.index-page .contact-form-widget .feedback-footer a { color:#fff; text-decoration:underline; }

@media(max-width:920px) {
    .index-page .store-bento { grid-template-columns:1fr 1fr; grid-template-rows:340px auto; }
    .index-page .store-photo--outside { grid-column:1/3; grid-row:auto; }
    .index-page .store-info { grid-column:1/3; }
    .index-page .store-photo:not(.store-photo--outside) { grid-column:1/3; min-height:250px; }
    .index-page .delivery-grid,.index-page .about-grid { grid-template-columns:1fr; }
}
@media(max-width:720px) {
    .index-page .store-section,.index-page .delivery,.index-page .about,.index-page .contact-section { padding:52px 0; }
    .index-page .store-section .section-head,.index-page .delivery .section-head,.index-page .contact-section .section-head { display:block; }
    .index-page .store-route-link { margin-top:16px; }
    .index-page .store-bento { display:flex; flex-direction:column; padding:10px; gap:10px; }
    .index-page .store-photo--outside { height:260px; }
    .index-page .store-photo:not(.store-photo--outside) { height:220px; min-height:0; }
    .index-page .store-facts,.index-page .zones,.index-page .stats,.index-page .calc-fields { grid-template-columns:1fr; }
    .index-page .delivery-map { height:420px; }
    .index-page .about-story,.index-page .calculator { padding:24px; }
    .index-page .contact-section .section-head p { margin-top:12px; }
    .index-page .contact-form-widget .feedback-body { grid-template-columns:1fr; }
    .index-page .contact-form-widget .feedback-body>div:not([style]),.index-page .contact-form-widget .feedback-submit-button { grid-column:auto; }
}

/* v21 — collection links belong in the section heading */
.index-page .main-category-head { position:relative; z-index:1; display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:20px; }
.index-page .main-category-head>.h2 { margin:0; color:#321b1a; font:500 38px/1.05 Oswald,Arial,sans-serif; text-transform:uppercase; }
.index-page .main-category-head>.h2 span { display:inline-block; margin-left:8px; color:#8f807d; font:500 12px Manrope,Arial,sans-serif; text-transform:none; }
.index-page .main-category-all { flex:0 0 auto; margin-bottom:4px; color:#321b1a; font-size:10px; font-weight:800; text-decoration:none; }
.index-page .main-category-all:hover { color:#ff4b5d; text-decoration:underline; text-underline-offset:3px; }
.index-page .main-category-list>.main-category>.show-more-items,
.index-page .main-category-list .catalog-section-wrapper>.show-more-items { display:none!important; }
@media(max-width:600px) {
    .index-page .main-category-head { align-items:flex-start; gap:14px; }
    .index-page .main-category-head>.h2 { font-size:30px; }
    .index-page .main-category-all { margin-top:5px; white-space:nowrap; }
}

/* v22 — color filter uses readable database labels instead of swatches */
.index-page .dlf-new-filter__colors { display:flex; align-items:center; flex-wrap:wrap; gap:7px; height:auto; min-height:46px; overflow:visible; padding:1px; }
.index-page .dlf-new-filter__colors input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.index-page .dlf-new-filter__colors label { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; width:auto; height:34px; padding:7px 12px; border:1px solid #ded6d3; border-radius:18px; background:#fff; box-shadow:none; color:#625653; font-size:10px; font-weight:600; line-height:1; white-space:nowrap; cursor:pointer; transition:border-color .15s ease,background .15s ease,color .15s ease,transform .15s ease; }
.index-page .dlf-new-filter__colors label:hover { border-color:#ff9aa5; color:#ff4b5d; transform:translateY(-1px); }
.index-page .dlf-new-filter__colors input:checked+label { border-color:#ff4b5d; background:#ff4b5d; box-shadow:none; color:#fff; }

/* v23 — complete mobile stabilization of the redesigned homepage */
@media(max-width:767px) {
    html,body { max-width:100%; overflow-x:hidden; }
    .index-page .container,
    .index-page .dlf-home-shell,
    .index-page .filter-index>.container,
    .index-page .main-catalog>.container { width:min(100% - 28px,1320px); max-width:100%; padding-left:0; padding-right:0; }

    /* The legacy Slick carousel must never control homepage product collections. */
    .index-page .main-category-list .slick-arrow,
    .index-page .main-category-list .slick-prev,
    .index-page .main-category-list .slick-next { display:none!important; }
    .index-page .main-category-list .slick-list,
    .index-page .main-category-list .slick-track { width:100%!important; height:auto!important; overflow:visible!important; transform:none!important; }
    .index-page .main-category-list .slick-track { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
    .index-page .main-category-list .slick-slide { display:block!important; width:100%!important; min-width:0!important; }
    .index-page .main-category-list .slick-cloned { display:none!important; }

    .index-page .main-category-list { gap:12px; }
    .index-page .main-category-list>.main-category { margin-left:0!important; margin-right:0!important; padding:25px 12px 22px!important; border-radius:12px; }
    .index-page .main-category-head { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:10px; margin-bottom:16px; }
    .index-page .main-category-head>.h2 { min-width:0; font-size:29px; line-height:1.02; overflow-wrap:anywhere; }
    .index-page .main-category-head>.h2 span { display:block; margin:7px 0 0; font-size:11px; line-height:1.35; }
    .index-page .main-category-all { margin-top:4px; font-size:9px; }
    .index-page .products-list-overflow { overflow:visible!important; }
    .index-page .main-category-list .product-list,
    .index-page .dlf-filter-results .product-list { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:10px!important; width:100%!important; height:auto!important; margin:0!important; transform:none!important; }
    .index-page .product-item-wrapper { display:block!important; width:100%!important; min-width:0!important; max-width:100%!important; margin:0!important; padding:6px!important; }
    .index-page .product-item-wrapper .product-item,
    .index-page .product-item-wrapper .product-item-inner { width:100%!important; height:auto!important; min-height:0!important; }
    .index-page .product-item__image { position:relative!important; width:100%!important; height:auto!important; aspect-ratio:1/1.08; overflow:hidden; border-radius:7px!important; }
    .index-page .product-item__image picture { position:absolute; inset:0; }
    .index-page .product-item__image img,
    .index-page .product-item__image video { position:absolute!important; inset:0!important; width:100%!important; height:100%!important; max-width:none!important; max-height:none!important; object-fit:cover!important; transform:none!important; }
    .index-page .product-item__content { padding:10px 5px 5px!important; }
    .index-page .product-item__title { height:auto!important; min-height:34px; margin:0 0 5px; font-size:12px!important; line-height:1.35!important; white-space:normal!important; }
    .index-page .product-item__description { display:none; }
    .index-page .product-item__price { display:flex; justify-content:flex-start; height:auto!important; min-height:30px; padding:4px 0 0!important; }
    .index-page .product-item__price-line { justify-content:flex-start; font-size:17px!important; }
    .index-page .product-item__button { display:block!important; padding-top:8px; }
    .index-page .product-item__button .button-green { width:100%; min-height:36px; padding:7px!important; border-radius:7px; font-size:11px; }

    .index-page .dlf-new-filter { padding:17px 14px; }
    .index-page .dlf-new-filter__head { gap:12px; }
    .index-page .dlf-new-filter__head b { font-size:23px; }
    .index-page .dlf-new-filter__fields { display:grid; grid-template-columns:1fr!important; }
    .index-page .dlf-new-filter__colors { gap:6px; }
    .index-page .dlf-new-filter__colors label { height:32px; padding:7px 10px; font-size:9px; }

    .index-page .store-bento { grid-template-columns:1fr!important; }
    .index-page .store-photo--outside,
    .index-page .store-photo,
    .index-page .store-info { grid-column:auto!important; grid-row:auto!important; }
    .index-page .store-photo { min-height:220px; }
    .index-page .delivery-grid { grid-template-columns:1fr!important; }
    .index-page .delivery-map { width:100%; height:auto; aspect-ratio:1.05/1; }
    .index-page .delivery-map svg { min-width:0; }
    .index-page .zones { grid-template-columns:1fr 1fr; }
    .index-page .about-grid { grid-template-columns:1fr; }
    .index-page .contact-form-widget .feedback-body { grid-template-columns:1fr; }
}

@media(max-width:390px) {
    .index-page .main-category-head>.h2 { font-size:26px; }
    .index-page .product-item__title { font-size:11px!important; }
    .index-page .product-item__price-line { font-size:16px!important; }
    .index-page .zones { grid-template-columns:1fr; }
}

/* v20 — delivery block matched to the approved homepage prototype */
.index-page .delivery { padding:72px 0 68px; background:#fff; }
.index-page .delivery>.container { position:relative; width:min(100% - 60px,1450px); max-width:1450px; }
.index-page .delivery>.container::after { content:""; position:absolute; top:-30px; right:4px; width:76px; height:76px; background:#d9f1ed; clip-path:polygon(50% 0,61% 37%,100% 50%,61% 62%,50% 100%,39% 62%,0 50%,39% 38%); }
.index-page .delivery .section-head { align-items:start; margin-bottom:25px; padding-right:225px; }
.index-page .delivery .section-head h2 { color:#321b1a; font-size:42px; letter-spacing:.01em; }
.index-page .delivery .section-head p { max-width:365px; padding-top:8px; font-size:11px; line-height:1.55; }
.index-page .delivery-grid { grid-template-columns:minmax(500px,620px) minmax(480px,1fr); gap:28px; align-items:start; }
.index-page .delivery-map { height:382px; border-radius:17px; box-shadow:0 18px 38px #4929270d; }
.index-page .delivery-map-head { top:18px; left:20px; padding:12px 14px; }
.index-page .delivery-map-head b { font-size:22px; }
.index-page .delivery-map .map-store-card rect,.index-page .delivery-map .map-paid-label rect { fill:#fff; }
.index-page .delivery-map .map-store-card text:first-of-type,.index-page .delivery-map .map-paid-label text:nth-of-type(odd) { fill:#321b1a; font:700 11px Manrope,Arial,sans-serif; }
.index-page .delivery-map .map-store-card text:last-of-type,.index-page .delivery-map .map-paid-label text:nth-of-type(even) { fill:#8b7774; font:8px Manrope,Arial,sans-serif; }
.index-page .delivery-map-legend { right:auto; bottom:16px; left:18px; flex-wrap:nowrap; }
.index-page .delivery-map-caption { position:absolute; right:18px; bottom:17px; color:#9a8c89; font-size:7px; line-height:1.35; text-align:right; }
.index-page .delivery-zones-column { min-width:0; }
.index-page .zones { gap:9px 10px; }
.index-page .zone { min-height:67px; padding:15px 15px 12px 31px; border:0; border-radius:8px; background:#f7f5f4; }
.index-page .zone::before { top:18px; }
.index-page .zone b { font-size:11px; }
.index-page .zone span { margin-top:5px; color:#9a8985; font-size:9px; }
.index-page .zone--paid span { color:#9c4d45; font-weight:700; }
.index-page .delivery-note { margin:13px 0 0; padding:0; border-radius:0; background:none; color:#8b7d79; font-size:10px; line-height:1.55; }
.index-page .delivery-landmarks { display:flex; flex-wrap:wrap; gap:10px; margin-top:50px; }
.index-page .delivery-landmarks span { min-width:128px; padding:13px 18px; border-radius:7px; background:#f7f5f4; color:#756966; font-size:11px; text-align:center; }
@media(max-width:980px) {
    .index-page .delivery>.container::after { display:none; }
    .index-page .delivery .section-head { padding-right:0; }
    .index-page .delivery-grid { grid-template-columns:1fr; }
    .index-page .delivery-map { max-width:720px; }
}
@media(max-width:720px) {
    .index-page .delivery>.container { width:min(100% - 30px,1450px); }
    .index-page .delivery .section-head h2 { font-size:34px; }
    .index-page .delivery-map { height:330px; }
    .index-page .delivery-map-caption { display:none; }
    .index-page .delivery-map-legend { right:12px; left:12px; overflow:auto; }
    .index-page .zones { grid-template-columns:1fr 1fr; }
    .index-page .delivery-landmarks { margin-top:28px; gap:7px; }
    .index-page .delivery-landmarks span { min-width:0; flex:1 1 calc(50% - 7px); }
}

/* v19 — homepage filter matched to the approved prototype */
.index-page .filter-index { padding:62px 0 34px; background:#f5f3f1; }
.index-page .filter-index>.container { width:min(100% - 60px,1320px); max-width:1320px; }
.index-page .dlf-catalog-head { align-items:flex-end; margin-bottom:22px; }
.index-page .dlf-catalog-head>div>span { display:block; margin-bottom:6px; color:#ff4b5d; font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.index-page .dlf-catalog-head h2 { margin:0; color:#321b1a; font:500 42px/1 Oswald,sans-serif; text-transform:uppercase; }
.index-page .dlf-catalog-head>a { margin-bottom:3px; color:#ff4b5d; font-size:11px; font-weight:800; text-decoration:underline; text-underline-offset:2px; }
.index-page .dlf-filter-bar { display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.index-page .dlf-quick-filters { display:flex; flex:1; gap:8px; overflow:auto; scrollbar-width:none; }
.index-page .dlf-quick-filters::-webkit-scrollbar { display:none; }
.index-page .dlf-quick-filters a { flex:0 0 auto; min-height:36px; padding:9px 15px; border:1px solid #ded6d3; border-radius:20px; background:#fff; color:#625653; font-size:10px; font-weight:500; }
.index-page .dlf-quick-filters a.is-active { border-color:#ff4b5d; background:#fff8f9; color:#ff4b5d; }
.index-page .filter-toggler { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-width:137px; min-height:44px; padding:10px 18px; border:0; border-radius:7px; background:#4b2929; color:#fff; font-size:11px; font-weight:800; cursor:pointer; }
.index-page .filter-toggler svg { width:14px; height:14px; fill:#fff; }
.index-page .dlf-filter-panel { margin:0; padding:0; border:0; background:transparent; box-shadow:none; }
.index-page .dlf-filter-panel[hidden] { display:none; }
.index-page .dlf-new-filter { margin:0; padding:22px; border:1px solid #e2dbd8; border-radius:13px; background:#fff; box-shadow:0 14px 35px #432a2310; }
.index-page .dlf-new-filter__head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:20px; }
.index-page .dlf-new-filter__head b { display:block; color:#321b1a; font:500 25px/1.05 Oswald,sans-serif; text-transform:uppercase; }
.index-page .dlf-new-filter__head span { display:block; margin-top:3px; color:#9a8f8c; font-size:9px; }
.index-page .dlf-new-filter__head a { padding:4px 0; color:#ff4b5d; font-size:10px; font-weight:800; text-decoration:underline; text-underline-offset:2px; }
.index-page .dlf-new-filter__fields { display:grid; grid-template-columns:250px 280px minmax(0,1fr); gap:12px; align-items:end; }
.index-page .dlf-new-filter__fields>label { display:grid; gap:7px; }
.index-page .dlf-new-filter__fields>label>span,.index-page .dlf-new-filter__fields legend { color:#6c605e; font-size:9px; font-weight:700; }
.index-page .dlf-new-filter__fields select { width:100%; height:46px; padding:0 13px; border:1px solid #ded6d3; border-radius:7px; outline:0; background:#fff; color:#321b1a; font-size:11px; }
.index-page .dlf-new-filter__fields select:focus { border-color:#ff4b5d; box-shadow:0 0 0 3px #ff4b5d12; }
.index-page .dlf-new-filter__fields fieldset { min-width:0; margin:0; padding:0; border:0; }
.index-page .dlf-new-filter__colors { display:flex; align-items:center; gap:8px; min-height:46px; overflow-x:auto; padding:3px 2px; scrollbar-width:thin; }
.index-page .dlf-new-filter__colors input { position:absolute; opacity:0; pointer-events:none; }
.index-page .dlf-new-filter__colors label { display:block; flex:0 0 29px; width:29px; height:29px; border:2px solid #fff; border-radius:50%; background:var(--filter-color); background-position:center; background-size:cover; box-shadow:0 0 0 1px #d8cfcc; cursor:pointer; transition:transform .15s ease,box-shadow .15s ease; }
.index-page .dlf-new-filter__colors label:hover { transform:translateY(-2px); }
.index-page .dlf-new-filter__colors input:checked+label { box-shadow:0 0 0 2px #ff4b5d,0 0 0 5px #fff; }
.index-page .dlf-new-filter__footer { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:20px; padding-top:17px; border-top:1px solid #eee8e6; }
.index-page .dlf-new-filter__footer span { color:#9a8f8c; font-size:9px; }
.index-page .dlf-new-filter__footer button { min-width:146px; min-height:44px; padding:10px 20px; border:0; border-radius:7px; background:#ff4b5d; color:#fff; font-size:11px; font-weight:800; cursor:pointer; }
.index-page .dlf-new-filter__footer button:disabled { opacity:.65; cursor:wait; }
.index-page .dlf-filter-results { scroll-margin-top:20px; margin-top:24px; padding-top:2px; }
.index-page .dlf-filter-results[hidden] { display:none; }
.index-page .dlf-filter-results.is-loading { min-height:180px; opacity:.55; }
.index-page .dlf-filter-results__head h3 { margin:0 0 18px; color:#321b1a; font:500 28px/1.05 Oswald,sans-serif; text-transform:uppercase; }
.index-page .dlf-filter-results .product-list { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.index-page .dlf-filter-empty { padding:35px; border:1px dashed #d9cdca; border-radius:12px; background:#fff; color:#6e6260; text-align:center; }

@media(max-width:900px) {
    .index-page .dlf-new-filter__fields { grid-template-columns:1fr 1fr; }
    .index-page .dlf-new-filter__fields fieldset { grid-column:1/-1; }
}
@media(max-width:720px) {
    .index-page .filter-index>.container { width:min(100% - 32px,1320px); }
    .index-page .dlf-catalog-head { display:block; }
    .index-page .dlf-catalog-head h2 { font-size:34px; }
    .index-page .dlf-catalog-head>a { display:inline-block; margin-top:12px; }
    .index-page .dlf-filter-bar { align-items:stretch; flex-direction:column; }
    .index-page .filter-toggler { width:100%; }
    .index-page .dlf-new-filter { padding:16px; }
    .index-page .dlf-new-filter__fields { grid-template-columns:1fr; }
    .index-page .dlf-new-filter__fields fieldset { grid-column:auto; }
    .index-page .dlf-new-filter__footer { align-items:stretch; flex-direction:column; }
    .index-page .dlf-new-filter__footer button { width:100%; }
    .index-page .dlf-filter-results .product-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
}

.dlf-home-cart .header-cart svg,
.dlf-home-cart .header-cart__count {
    display: none;
}

.dlf-home-cart .header-cart__top {
    font-size: 0;
}

.dlf-home-cart .header-cart__count-value {
    font-size: 11px;
}

.dlf-home-nav-row {
    background: #fff;
}

.dlf-home-nav-row .dlf-main-nav__list {
    justify-content: flex-start;
    gap: 0 27px;
}

.index-page .dlf-home-nav-row .dlf-main-nav__link,
.index-page .dlf-home-nav-row .dlf-main-nav__label {
    color: var(--dlf-ink);
}

.dlf-home-menu-button {
    display: none;
}

.index-page .h1,
.index-page .h2,
.index-page h1,
.index-page h2,
.index-page h3 {
    color: var(--dlf-ink);
}

.index-page .header-banner-content .h1 {
    max-width: 860px;
    margin: 0;
    font-family: Oswald, Arial, sans-serif;
    font-size: clamp(40px, 5vw, 74px);
    font-weight: 500;
    line-height: .98;
    letter-spacing: .01em;
    text-transform: uppercase;
}

.index-page .h2,
.index-page h2.h2,
.index-page .faq-title {
    margin-top: 0;
    font-family: Oswald, Arial, sans-serif;
    font-size: clamp(30px, 3.1vw, 42px);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: .01em;
    text-transform: uppercase;
}

.index-page .header {
    background: var(--dlf-white);
    box-shadow: 0 4px 20px rgba(50, 27, 26, .06);
}

.index-page .header-nav-line,
.index-page .header-nav-dark-line {
    background: var(--dlf-brown);
}

.index-page .header-nav-line a,
.index-page .header-nav-line span,
.index-page .header-nav-line .shop-cart-link,
.index-page .header-nav-line .shop-cart-link * {
    color: #fff;
}

.index-page .header-banner {
    background-color: #eeece9;
}

.index-page .header-banner-content {
    padding: 52px 0 44px;
    background: #eeece9;
}

.index-page .dlf-hero {
    position: relative;
    overflow: hidden;
    padding: 52px 0 58px;
    background: linear-gradient(115deg, #f3efec 0%, #f3efec 55%, #eadfdc 100%);
}

.index-page .dlf-hero::before {
    content: '';
    position: absolute;
    top: -130px;
    left: -100px;
    width: 360px;
    height: 360px;
    border: 1px solid rgba(255, 75, 93, .18);
    border-radius: 50%;
}

.index-page .dlf-hero__grid {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(470px, 1.1fr);
    gap: 56px;
    align-items: center;
}

.index-page .dlf-hero__copy {
    padding: 24px 0;
}

.index-page .dlf-hero__eyebrow {
    margin-bottom: 18px;
    color: var(--dlf-red);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.index-page .dlf-hero .h1 {
    max-width: 650px;
    margin: 0;
    font-family: Oswald, Arial, sans-serif;
    font-size: clamp(45px, 5.2vw, 78px);
    font-weight: 500;
    line-height: .98;
    letter-spacing: .01em;
    text-transform: uppercase;
}

.index-page .dlf-hero__lead {
    max-width: 560px;
    margin: 24px 0 0;
    color: #6c5d5b;
    font-size: 15px;
    line-height: 1.7;
}

.index-page .dlf-hero__actions {
    display: flex;
    align-items: center;
    gap: 22px;
    margin-top: 30px;
}

.index-page .dlf-hero__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 27px;
    border-radius: 24px;
    background: var(--dlf-red);
    box-shadow: 0 12px 30px rgba(255, 75, 93, .22);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.index-page .dlf-hero__note {
    position: relative;
    padding-left: 25px;
    color: #706563;
    font-size: 11px;
}

.index-page .dlf-hero__note::before {
    content: '✓';
    position: absolute;
    left: 0;
    top: -2px;
    display: grid;
    width: 17px;
    height: 17px;
    place-items: center;
    border-radius: 50%;
    background: #fff;
    color: var(--dlf-red);
    font-weight: 900;
}

.index-page .dlf-hero__gallery {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    grid-template-rows: 190px 190px;
    gap: 12px;
    min-height: 392px;
}

.index-page .dlf-hero__product {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 12px;
    background: #ddd;
}

.index-page .dlf-hero__product--1 {
    grid-row: 1 / 3;
}

.index-page .dlf-hero__product--4 {
    display: none;
}

.index-page .dlf-hero__product img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease;
}

.index-page .dlf-hero__product:hover img {
    transform: scale(1.035);
}

.index-page .dlf-hero__product span {
    position: absolute;
    right: 14px;
    bottom: 14px;
    padding: 9px 13px;
    border-radius: 18px;
    background: rgba(255, 255, 255, .92);
    color: var(--dlf-ink);
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.index-page .dlf-main-nav {
    width: 100%;
}

.index-page .dlf-main-nav__list {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0 28px;
    min-height: 54px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.index-page .dlf-main-nav__item {
    margin: 0;
}

.index-page .dlf-main-nav__link,
.index-page .dlf-main-nav__label {
    display: block;
    padding: 19px 0 17px;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.index-page .dlf-main-nav__link:hover {
    color: #ffb6bd;
}

.index-page section {
    padding-top: 70px;
    padding-bottom: 70px;
}

.index-page .index-catalog-blocks,
.index-page .shop-block,
.index-page .faq-section {
    background: var(--dlf-white);
}

.index-page .index-catalog-blocks:nth-of-type(even),
.index-page .filter-index,
.index-page .delivery-to-section,
.index-page .how-we-work,
.index-page .block-about {
    background: var(--dlf-paper);
}

.index-page .main-root-categories {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
}

.index-page .main-category-root {
    display: block;
    height: 100%;
    overflow: hidden;
    border: 1px solid var(--dlf-line);
    border-radius: 10px;
    background: var(--dlf-white);
    transition: transform .2s ease, box-shadow .2s ease;
}

.index-page .main-category-root-wrapper {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.index-page .main-category-root__image {
    width: 100%;
    height: auto;
}

.index-page .main-category-root:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 45px rgba(60, 32, 20, .08);
}

.index-page .main-category-root__image img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.index-page .main-category-root__content {
    padding: 14px;
}

.index-page .main-category-root__title {
    font-weight: 700;
}

.index-page .main-category-root__price {
    color: var(--dlf-muted);
    font-size: 12px;
}

.index-page .filter-index {
    padding-top: 18px;
    padding-bottom: 50px;
}

.index-page .filter-toggler {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 11px 18px;
    border: 1px solid var(--dlf-line);
    border-radius: 22px;
    background: var(--dlf-white);
    color: var(--dlf-ink);
    font-size: 12px;
    font-weight: 700;
}

.index-page .delivery-to-section {
    text-align: center;
}

.index-page .delivery-to-tags {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    max-width: 1050px;
    margin: 24px auto 0;
}

.index-page .delivery-tag {
    padding: 13px 18px;
    border: 0;
    border-radius: 7px;
    background: var(--dlf-white);
    color: #615655;
    transition: background .2s ease, color .2s ease, transform .2s ease;
}

.index-page .delivery-tag:hover,
.index-page .delivery-tag.all-catalog {
    background: var(--dlf-red);
    color: var(--dlf-white);
    transform: translateY(-2px);
}

.index-page .shop-container {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 28px;
    width: min(100% - 60px, 1320px);
    max-width: 1320px;
    margin: 0 auto;
}

.index-page .shop-info,
.index-page .shop-gallery,
.index-page .dlf-why-us-zones {
    border-radius: 12px;
}

.index-page .shop-info {
    padding: 34px;
    background: var(--dlf-paper);
}

.index-page .shop-gallery {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    overflow: hidden;
}

.index-page .shop-gallery img {
    width: 100%;
    height: 100%;
    min-height: 420px;
    object-fit: cover;
    border-radius: 10px;
}

.index-page .btn-map,
.index-page .button-green {
    display: inline-flex;
    padding: 13px 20px;
    border-radius: 6px;
    background: var(--dlf-red);
    color: var(--dlf-white);
    font-weight: 800;
}

.index-page .dlf-why-us-zones {
    width: min(100% - 60px, 1320px);
    max-width: 1320px;
    margin: 25px auto 0;
    padding: 30px;
    background: linear-gradient(120deg, var(--dlf-rose), #ffbfc7);
}

.index-page .dlf-why-us-zones-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.index-page .dlf-why-us-zone-item {
    display: flex;
    gap: 9px;
    align-items: flex-start;
    padding: 14px;
    border-radius: 8px;
    background: rgba(255, 255, 255, .78);
    font-size: 12px;
}

.index-page .steps-wrapper {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.index-page .step-item {
    min-height: 190px;
    padding: 22px;
    border-radius: 9px;
    background: var(--dlf-white);
}

.index-page .step-item svg {
    display: none;
}

.index-page .step-number {
    color: var(--dlf-red);
    font-family: Oswald, Arial, sans-serif;
    font-size: 28px;
}

.index-page .step-title {
    margin: 24px 0 8px;
    font-family: Oswald, Arial, sans-serif;
    font-size: 20px;
    font-weight: 500;
    text-transform: uppercase;
}

.index-page .step-description,
.index-page .section-subtitle {
    color: var(--dlf-muted);
}

.index-page .faq-list {
    max-width: 900px;
    margin: 0 auto;
}

.index-page .faq-item {
    border-top: 1px solid var(--dlf-line);
    background: transparent;
}

.index-page .faq-question {
    margin: 0;
    padding: 18px 0;
    font-size: 14px;
    font-weight: 800;
}

@media (max-width: 1050px) {
    .dlf-home-head-row {
        gap: 14px;
    }

    .dlf-home-search {
        max-width: 260px;
    }

    .dlf-home-phone span,
    .dlf-home-action:first-of-type {
        display: none;
    }

    .index-page .main-root-categories {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .index-page .dlf-why-us-zones-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    /* По требованию: меню и шапка на телефоне не прилипают к экрану. */
    .index-page .header,
    .index-page .header-nav-line,
    .index-page .header-banner,
    .index-page .header-nav-dark-line,
    .index-page .nav,
    .index-page .mobile-menu,
    .index-page .mobile-dock {
        position: static !important;
        inset: auto !important;
    }

    .index-page .mobile-dock {
        display: none !important;
    }

    .dlf-home-header,
    .dlf-home-promo,
    .dlf-home-head-main,
    .dlf-home-nav-row,
    .dlf-home-menu-wrap {
        position: static !important;
        inset: auto !important;
    }

    .dlf-home-shell {
        width: min(100% - 32px, 1320px);
    }

    .dlf-home-promo .dlf-home-shell {
        display: block;
        text-align: center;
    }

    .dlf-home-promo .dlf-home-shell span:first-child {
        display: none;
    }

    .dlf-home-head-row {
        min-height: 68px;
        gap: 10px;
    }

    .dlf-home-brand {
        min-width: 135px;
        margin-right: auto;
    }

    .dlf-home-brand-name {
        font-size: 24px;
    }

    .dlf-home-city,
    .dlf-home-search,
    .dlf-home-phone,
    .dlf-home-action {
        display: none;
    }

    .dlf-home-cart {
        display: block;
    }

    .dlf-home-menu-button {
        display: flex;
        width: 100%;
        align-items: center;
        justify-content: space-between;
        padding: 13px 0;
        border: 0;
        background: #fff;
        color: var(--dlf-ink);
        font-weight: 800;
        text-transform: uppercase;
    }

    .dlf-home-menu-button::after {
        content: '+';
        color: var(--dlf-red);
        font-size: 20px;
    }

    .dlf-home-menu-wrap {
        display: none;
    }

    .dlf-home-menu-wrap.is-open {
        display: block;
    }

    .dlf-home-menu-wrap .dlf-main-nav__list {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0;
        padding-bottom: 12px;
    }

    .dlf-home-menu-wrap .dlf-main-nav__link,
    .dlf-home-menu-wrap .dlf-main-nav__label {
        padding: 10px 0;
    }

    .index-page .dlf-main-nav__list {
        display: none;
        min-height: 0;
    }

    .index-page .container,
    .index-page .shop-container,
    .index-page .dlf-why-us-zones {
        width: min(100% - 32px, 1320px);
    }

    .index-page section {
        padding-top: 48px;
        padding-bottom: 48px;
    }

    .index-page .header-banner-content {
        padding: 36px 0;
    }

    .index-page .dlf-hero {
        padding: 38px 0 42px;
    }

    .index-page .dlf-hero__grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .index-page .dlf-hero__copy {
        padding: 0;
    }

    .index-page .dlf-hero .h1 {
        font-size: clamp(40px, 13vw, 58px);
    }

    .index-page .dlf-hero__lead {
        margin-top: 18px;
        font-size: 13px;
    }

    .index-page .dlf-hero__actions {
        align-items: flex-start;
        flex-direction: column;
        gap: 15px;
        margin-top: 23px;
    }

    .index-page .dlf-hero__gallery {
        grid-template-rows: 165px 165px;
        min-height: 342px;
    }

    .index-page .header-banner-content .h1 {
        font-size: 42px;
    }

    .index-page .main-root-categories,
    .index-page .steps-wrapper,
    .index-page .dlf-why-us-zones-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .index-page .shop-container {
        grid-template-columns: 1fr;
    }

    .index-page .shop-info,
    .index-page .dlf-why-us-zones {
        padding: 22px;
    }

    .index-page .shop-gallery img {
        min-height: 230px;
    }

    .index-page .step-item {
        min-height: 160px;
        padding: 17px;
    }
}

/* Главная v7: приложение, категории-чипы, новый фильтр и каталог. */
.index-page .dlf-hero__grid { grid-template-columns: minmax(0,.9fr) minmax(560px,1.1fr); gap:40px; }
.index-page .dlf-hero__eyebrow { font-family:Manrope,Arial,sans-serif; }
.index-page .dlf-hero__secondary { color:var(--dlf-red); font-size:12px; font-weight:800; text-decoration:underline; text-underline-offset:4px; }
.index-page .dlf-hero__notes { display:flex; flex-wrap:wrap; gap:7px; margin-top:20px; }
.index-page .dlf-hero__notes span { padding:7px 10px; border:1px solid #ded6d3; border-radius:16px; background:#ffffff99; color:#756966; font-size:10px; }
.index-page .dlf-app { display:grid; grid-template-columns:1fr 225px; gap:18px; min-height:390px; padding:24px 20px 0 26px; overflow:hidden; border-radius:16px; background:linear-gradient(135deg,#4c3030,#321b1a); color:#fff; box-shadow:0 28px 55px #321b1a25; }
.index-page .dlf-app__info { padding:17px 0 25px; }
.index-page .dlf-app__kicker { color:#ff9ba7; font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.index-page .dlf-app h2 { margin:11px 0 12px; color:#fff; font-family:Oswald,Arial,sans-serif; font-size:28px; font-weight:500; line-height:1.05; text-transform:uppercase; }
.index-page .dlf-app__info>p { color:#d7c8c5; font-size:11px; line-height:1.55; }
.index-page .dlf-app__benefits { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:18px; }
.index-page .dlf-app__benefits div { padding:11px; border:1px solid #ffffff1f; border-radius:8px; background:#ffffff0d; }
.index-page .dlf-app__benefits b,.index-page .dlf-app__benefits span { display:block; }
.index-page .dlf-app__benefits b { color:#fff; font-size:10px; }
.index-page .dlf-app__benefits span { margin-top:3px; color:#bfaeab; font-size:8px; }
.index-page .dlf-phone { align-self:end; min-height:350px; padding:17px 14px; border:7px solid #241515; border-bottom:0; border-radius:27px 27px 0 0; background:#fbf8f7; color:var(--dlf-ink); box-shadow:0 0 0 2px #ffffff30; }
.index-page .dlf-phone__head { display:flex; justify-content:space-between; align-items:center; font-size:11px; }
.index-page .dlf-phone__head i { color:var(--dlf-red); font-style:normal; }
.index-page .dlf-phone__head span { display:grid; width:25px; height:25px; place-items:center; border-radius:50%; background:var(--dlf-rose); font-size:8px; }
.index-page .dlf-phone__hello { margin:18px 0 12px; }
.index-page .dlf-phone__hello b,.index-page .dlf-phone__hello span { display:block; }
.index-page .dlf-phone__hello span { color:#8f817e; font-size:8px; }
.index-page .dlf-phone__bonus { padding:14px; border-radius:10px; background:linear-gradient(125deg,#ff6373,#ff9fac); color:#fff; }
.index-page .dlf-phone__bonus small,.index-page .dlf-phone__bonus strong,.index-page .dlf-phone__bonus span { display:block; }
.index-page .dlf-phone__bonus strong { font-family:Oswald,sans-serif; font-size:28px; }
.index-page .dlf-phone__bonus span { font-size:7px; }
.index-page .dlf-phone__order { margin-top:10px; padding:13px; border-radius:9px; background:#fff; box-shadow:0 8px 25px #3b21120d; }
.index-page .dlf-phone__order small,.index-page .dlf-phone__order b { display:block; font-size:8px; }
.index-page .dlf-phone__order b { margin:5px 0 10px; font-size:10px; }
.index-page .dlf-phone__order div { display:flex; gap:4px; }
.index-page .dlf-phone__order i { flex:1; height:3px; border-radius:2px; background:var(--dlf-red); }
.index-page .dlf-phone__order i:last-child { background:#eadfdd; }
.index-page .dlf-phone button { width:100%; margin-top:12px; padding:10px; border:0; border-radius:7px; background:var(--dlf-red); color:#fff; font-size:9px; font-weight:800; }

.index-page .dlf-occasions { padding:58px 0 42px; background:#fff; }
.index-page .dlf-section-head,.index-page .dlf-catalog-head { display:flex; justify-content:space-between; align-items:flex-end; gap:25px; margin-bottom:24px; }
.index-page .dlf-section-head h2,.index-page .dlf-catalog-head h2 { margin:0; font-family:Oswald,Arial,sans-serif; font-size:40px; font-weight:500; line-height:1.05; text-transform:uppercase; }
.index-page .dlf-section-head p { max-width:360px; margin:0; color:var(--dlf-muted); font-size:12px; }
.index-page .dlf-occasion-links,.index-page .dlf-quick-filters { display:flex; flex-wrap:wrap; gap:9px; }
.index-page .dlf-occasion-links a,.index-page .dlf-quick-filters a { padding:12px 17px; border:1px solid transparent; border-radius:7px; background:#f7f5f3; color:#615655; font-size:12px; }
.index-page .dlf-occasion-links a:hover,.index-page .dlf-occasion-links a.is-active { background:var(--dlf-red); color:#fff; transform:translateY(-2px); }

.index-page .filter-index { padding:65px 0 24px; background:var(--dlf-paper); }
.index-page .dlf-catalog-head span { color:var(--dlf-red); font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.index-page .dlf-catalog-head a { color:var(--dlf-red); font-size:11px; font-weight:800; }
.index-page .dlf-filter-bar { display:flex; align-items:center; gap:12px; }
.index-page .dlf-quick-filters { flex:1; }
.index-page .dlf-quick-filters a { padding:10px 15px; border-color:#ded6d3; border-radius:20px; background:#fff; font-size:11px; }
.index-page .dlf-quick-filters a.is-active { border-color:var(--dlf-red); background:#fff0f2; color:var(--dlf-red); }
.index-page .filter-toggler { min-height:43px; border:0; border-radius:7px; background:var(--dlf-brown); color:#fff; }
.index-page .filter-toggler svg { fill:#fff; }
.index-page .dlf-filter-panel { margin-top:12px; padding:20px; border:1px solid var(--dlf-line); border-radius:13px; background:#fff; box-shadow:0 14px 35px #432a2310; }
.index-page .dlf-filter-panel[hidden] { display:none; }
.index-page .dlf-filter-panel .block-filter>.container { width:100%; max-width:none; padding:0; }
.index-page .dlf-filter-panel .filter { display:flex; align-items:flex-start; flex-wrap:wrap; gap:10px; }
.index-page .dlf-filter-panel .filter-item { margin:0; }
.index-page .dlf-filter-panel .filter-selector__label { min-width:170px; height:43px; border:1px solid #ded6d3; border-radius:7px; background:#fff; text-align:left; }
.index-page .dlf-filter-panel .filter-clear { margin-left:auto; padding:12px 0; }

.index-page .main-catalog>.container { width:min(100% - 60px,1320px); max-width:1320px; }
.index-page .main-category { padding:55px 0; }
.index-page .main-category>.h2 { display:block; margin:0 0 24px; font-family:Oswald,Arial,sans-serif; font-size:34px; font-weight:500; line-height:1.05; text-transform:uppercase; }
.index-page .main-category .section-tags { display:none!important; }
.index-page .product-list { display:grid!important; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; height:auto!important; }
.index-page .product-item-wrapper { justify-self:stretch!important; width:100%!important; min-width:0; max-width:100%!important; margin:0!important; padding:8px!important; box-sizing:border-box; border-radius:10px; background:#fff; box-shadow:0 1px 0 #3d21120b; transition:transform .2s ease,box-shadow .2s ease; }
.index-page .product-item-wrapper:hover { transform:translateY(-3px); box-shadow:0 18px 45px #3c201414; }
.index-page .product-item-wrapper .product-item,.index-page .product-item-wrapper .product-item-inner,.index-page .product-item-wrapper .product-item__image,.index-page .product-item-wrapper .product-item__image picture { display:block; width:100%!important; max-width:none!important; }
.index-page .product-item__image { height:235px!important; overflow:hidden; border-radius:7px; background:#ece5e1; }
.index-page .product-item__image img { width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.index-page .product-item-wrapper:hover .product-item__image img { transform:scale(1.035); }
.index-page .product-item__content { padding:11px 5px 4px!important; }
.index-page .product-item__title { min-height:0; font-size:13px; line-height:1.3; }
.index-page .product-item__button .button-green { min-height:34px; padding:8px 11px; border:0; border-radius:5px; font-size:10px; }
.index-page .show-more-items__button { display:inline-flex; margin-top:22px; padding:11px 18px; border:1px solid var(--dlf-red); border-radius:6px; color:var(--dlf-red); font-size:11px; font-weight:800; }

@media(max-width:1050px){.index-page .dlf-hero__grid{grid-template-columns:1fr 1fr}.index-page .dlf-app{grid-template-columns:1fr;padding-right:24px}.index-page .dlf-phone{display:none}.index-page .product-list{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:767px){.index-page .dlf-hero__grid{grid-template-columns:1fr}.index-page .dlf-app{min-height:0;padding:22px}.index-page .dlf-app__benefits{grid-template-columns:1fr 1fr}.index-page .dlf-section-head,.index-page .dlf-catalog-head{display:block}.index-page .dlf-section-head p{margin-top:10px}.index-page .dlf-catalog-head>a{display:inline-block;margin-top:12px}.index-page .dlf-section-head h2,.index-page .dlf-catalog-head h2{font-size:32px}.index-page .dlf-filter-bar{align-items:stretch;flex-direction:column}.index-page .filter-toggler{justify-content:center}.index-page .product-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.index-page .product-item__image{height:185px!important}.index-page .main-catalog>.container{width:min(100% - 32px,1320px)}}

/* v10 — точное направление актуального прототипа. */
.index-page .dlf-hero .h1 span{display:block;margin-top:8px;color:#8e7671;font-size:.52em;letter-spacing:.04em}
.index-page .dlf-app{position:relative;grid-template-columns:1fr 225px;padding-bottom:68px}
.index-page .dlf-app__download{position:absolute;left:26px;right:20px;bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:12px;border-top:1px solid #ffffff20}
.index-page .dlf-app__download>span b,.index-page .dlf-app__download>span small{display:block}.index-page .dlf-app__download>span b{font-size:10px}.index-page .dlf-app__download>span small{color:#bfaeab;font-size:8px}
.index-page .dlf-app__download>a{display:flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid #ffffff30;border-radius:7px;background:#171111;color:#fff}.index-page .dlf-app__download>a i{color:#6bdc79;font-style:normal}.index-page .dlf-app__download>a small,.index-page .dlf-app__download>a b{display:block}.index-page .dlf-app__download>a small{font-size:6px}.index-page .dlf-app__download>a b{font-size:10px}
.index-page .why-us-section{display:none!important}
.index-page .product-list{grid-template-columns:repeat(4,minmax(0,1fr))}
.index-page .product-item__image{height:285px!important}
.index-page .main-category{padding:52px 0}.index-page .main-category>.h2{font-size:38px}

.index-page .dlf-filter-panel{padding:0;border:0;background:transparent;box-shadow:none}
.index-page .dlf-new-filter{margin-top:12px;padding:22px;border:1px solid var(--dlf-line);border-radius:13px;background:#fff;box-shadow:0 14px 35px #432a2310}
.index-page .dlf-new-filter__head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.index-page .dlf-new-filter__head b,.index-page .dlf-new-filter__head span{display:block}.index-page .dlf-new-filter__head b{font-family:Oswald,sans-serif;font-size:25px;font-weight:500;text-transform:uppercase}.index-page .dlf-new-filter__head span{margin-top:3px;color:var(--dlf-muted);font-size:10px}.index-page .dlf-new-filter__head a{color:var(--dlf-red);font-size:11px;font-weight:800}
.index-page .dlf-new-filter__fields{display:grid;grid-template-columns:250px 280px 1fr;gap:12px;align-items:end}.index-page .dlf-new-filter__fields>label{display:grid;gap:7px}.index-page .dlf-new-filter__fields>label>span,.index-page .dlf-new-filter__fields legend{color:#6c605e;font-size:10px;font-weight:700}.index-page .dlf-new-filter__fields select{width:100%;height:46px;padding:0 13px;border:1px solid #ded6d3;border-radius:7px;background:#fff;color:var(--dlf-ink)}.index-page .dlf-new-filter__fields fieldset{min-width:0;margin:0;padding:0;border:0}.index-page .dlf-new-filter__colors{display:flex;align-items:center;gap:8px;height:46px;overflow-x:auto}.index-page .dlf-new-filter__colors input{position:absolute;opacity:0;pointer-events:none}.index-page .dlf-new-filter__colors label{display:block;flex:0 0 29px;width:29px;height:29px;border:2px solid #fff;border-radius:50%;background:var(--filter-color);background-position:center;background-size:cover;box-shadow:0 0 0 1px #d8cfcc;cursor:pointer}.index-page .dlf-new-filter__colors input:checked+label{box-shadow:0 0 0 2px var(--dlf-red),0 0 0 5px #fff}
.index-page .dlf-new-filter__footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px;padding-top:17px;border-top:1px solid #eee8e6}.index-page .dlf-new-filter__footer span{color:var(--dlf-muted);font-size:10px}.index-page .dlf-new-filter__footer button{min-height:44px;padding:10px 20px;border:0;border-radius:7px;background:var(--dlf-red);color:#fff;font-size:11px;font-weight:800}


@media(max-width:1050px){.index-page .product-list{grid-template-columns:repeat(4,minmax(0,1fr))}.index-page .product-item__image{height:235px!important}.index-page .dlf-new-filter__fields{grid-template-columns:1fr 1fr}.index-page .dlf-new-filter__fields fieldset{grid-column:1/-1}.index-page .dlf-store__bento{grid-template-columns:1fr 1fr}.index-page .dlf-store__bento article{grid-column:1/-1}.index-page .dlf-store__bento figure{height:380px}}
@media(max-width:767px){.index-page .dlf-app{grid-template-columns:1fr;padding-bottom:86px}.index-page .dlf-phone{display:none}.index-page .dlf-app__download{left:22px;right:22px}.index-page .product-list{grid-template-columns:repeat(2,minmax(0,1fr))}.index-page .product-item__image{height:185px!important}.index-page .dlf-new-filter__fields{grid-template-columns:1fr}.index-page .dlf-new-filter__fields fieldset{grid-column:auto}.index-page .dlf-new-filter__footer{align-items:stretch;flex-direction:column}.index-page .dlf-store__head{display:block}.index-page .dlf-store__head>a{display:inline-block;margin-top:12px}.index-page .dlf-store__bento{grid-template-columns:1fr}.index-page .dlf-store__bento article{grid-column:auto}.index-page .dlf-store__bento figure{height:330px}.index-page .dlf-store__facts{grid-template-columns:1fr 1fr}}

/* v11 — первый экран и шапка перенесены по актуальному index.html. */
.index-page .dlf-home-shell{width:min(100% - 60px,1320px)}
.index-page .dlf-home-promo{padding:7px 0}.index-page .dlf-home-promo .dlf-home-shell{display:flex;justify-content:space-between;align-items:center}.index-page .dlf-home-promo a{color:#ffb6bd;text-decoration:underline}
.index-page .dlf-home-head-row{min-height:82px;gap:18px}.index-page .dlf-home-brand{display:flex;flex-direction:row;align-items:center;gap:10px;min-width:185px}.index-page .dlf-home-brand>svg{width:43px;height:43px;flex:0 0 43px;color:var(--dlf-red)}.index-page .dlf-home-brand-name{font-size:25px}.index-page .dlf-home-brand-tag{display:block;font-size:7px}
.index-page .dlf-home-city{margin-right:0}.index-page .dlf-home-city b{font-size:11px}.index-page .dlf-home-city span{font-size:9px}
.index-page .dlf-home-search{max-width:390px}.index-page .dlf-home-search input{height:42px}.index-page .dlf-home-phone{font-size:12px}.index-page .dlf-message{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:9px 14px;border-radius:20px;background:#fff0f2;color:var(--dlf-red);font-size:9px;font-weight:800;white-space:nowrap}
.index-page .dlf-home-action{border:0}.index-page .dlf-max{background:#7664ff;color:#fff}.index-page .dlf-wa{background:#20c968;color:#fff}.index-page .dlf-tg{background:#229ed9;color:#fff}.index-page .dlf-home-cart .header-cart{background:#fff;border:1px solid #ded6d3;color:var(--dlf-ink)}
.index-page .dlf-home-nav-row{border-top:1px solid #f0ebea}.index-page .dlf-home-nav-row>.dlf-home-shell{display:flex;align-items:center}.index-page .dlf-home-menu-wrap{flex:1}.index-page .dlf-home-nav-row .dlf-main-nav__list{min-height:49px;gap:0 27px}.index-page .dlf-home-nav-row .dlf-main-nav__link,.index-page .dlf-home-nav-row .dlf-main-nav__label{padding:18px 0 16px}.index-page .dlf-nav-cta{margin-left:auto;padding:9px 17px;border-radius:19px;background:var(--dlf-red);color:#fff;font-size:10px;font-weight:800;white-space:nowrap}
.index-page .dlf-quick-nav{background:#fff;border-top:1px solid #f2edeb;border-bottom:1px solid #eee7e5}.index-page .dlf-quick-nav .dlf-home-shell{display:flex;gap:9px;overflow:auto;padding-top:11px;padding-bottom:11px;scrollbar-width:none}.index-page .dlf-quick-nav a{flex:0 0 auto;padding:9px 14px;border-radius:8px;background:#f6f3f1;color:#5f5250;font-size:11px;font-weight:700}.index-page .dlf-quick-nav a:first-child{background:var(--dlf-brown);color:#fff}.index-page .dlf-quick-nav a.sale{background:#fff0f2;color:var(--dlf-red)}

.index-page .hero-app{padding:34px 0 46px;background:#f1efed}.index-page .hero-app .hero-top{display:grid;grid-template-columns:minmax(370px,.82fr) minmax(620px,1.18fr);gap:30px;align-items:center}.index-page .hero-copy{padding:36px 0}.index-page .hero-app .eyebrow{margin-bottom:4px;color:var(--dlf-red);font-family:cursive;font-size:18px}.index-page .hero-app h1{max-width:640px;margin:0;color:var(--dlf-ink);font-family:Oswald,sans-serif;font-size:clamp(48px,5vw,76px);font-weight:500;line-height:.96;text-transform:uppercase}.index-page .hero-app h1 span{display:block;margin-top:4px;color:var(--dlf-red);font-size:.66em;letter-spacing:-.015em;white-space:nowrap}.index-page .hero-app .hero-copy>p{max-width:520px;margin:20px 0 25px;color:#736866;font-size:14px;line-height:1.7}.index-page .hero-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.index-page .hero-actions .button{display:inline-flex;padding:13px 20px;border-radius:6px;background:var(--dlf-red);color:#fff;font-weight:800}.index-page .hero-secondary{display:inline-flex;align-items:center;min-height:46px;padding:11px 17px;border:1px solid #d8cfcc;border-radius:7px;background:#fff;color:var(--dlf-brown);font-size:11px;font-weight:800}
.index-page .app-showcase{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 225px;grid-template-rows:1fr auto;gap:12px;min-height:390px;padding:18px;border-radius:20px;background:linear-gradient(135deg,#ffdfe5 0 58%,#f4abb8 58%);box-shadow:0 22px 60px #54272f16}.index-page .app-showcase:before{content:'';position:absolute;left:48%;top:20px;width:62px;height:62px;background:#ff8798;clip-path:polygon(50% 0,61% 38%,100% 50%,61% 62%,50% 100%,39% 62%,0 50%,39% 38%);transform:rotate(12deg);z-index:-1}
.index-page .app-info-card{align-self:stretch;padding:23px;border:1px solid #ffffff9c;border-radius:14px;background:#fff}.index-page .collection-kicker{display:block;margin-bottom:9px;color:var(--dlf-red);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.index-page .app-info-card h2{max-width:390px;margin:0;color:var(--dlf-ink);font:500 29px/1.05 Oswald,sans-serif;text-transform:uppercase}.index-page .app-info-card>p{max-width:440px;margin:11px 0 18px;color:#746563;font-size:10px;line-height:1.65}.index-page .app-benefits{display:grid;grid-template-columns:1fr 1fr;gap:8px}.index-page .app-benefit{display:flex;align-items:center;gap:9px;min-height:58px;padding:10px;border-radius:9px;background:#f8f5f3}.index-page .app-benefit svg{width:23px;height:23px;flex:0 0 23px;color:var(--dlf-red)}.index-page .app-benefit b{display:block;font-size:9px}.index-page .app-benefit span span{display:block;margin-top:2px;color:#897b78;font-size:8px}
.index-page .phone-mockup{grid-column:2;grid-row:1/3;align-self:center;justify-self:center;position:relative;width:207px;height:354px;padding:16px 10px 10px;border:7px solid #281c1d;border-radius:31px;background:#fff;box-shadow:0 25px 45px #47212a32;transform:rotate(2deg)}.index-page .phone-mockup:before{content:'';position:absolute;left:50%;top:6px;width:64px;height:13px;border-radius:8px;background:#281c1d;transform:translateX(-50%)}.index-page .phone-screen{height:100%;overflow:hidden;padding:13px 9px;border-radius:18px;background:#f7f4f2}.index-page .phone-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.index-page .phone-brand{font:500 14px Oswald,sans-serif}.index-page .phone-brand b{color:var(--dlf-red)}.index-page .phone-avatar{display:grid;width:24px;height:24px;place-items:center;border-radius:50%;background:var(--dlf-rose);color:var(--dlf-red);font-size:8px}.index-page .phone-greeting{margin:0 0 9px;color:#817370;font-size:8px}.index-page .phone-greeting b{display:block;color:var(--dlf-ink);font-size:12px}.index-page .phone-bonus{padding:12px;border-radius:12px;background:var(--dlf-brown);color:#fff}.index-page .phone-bonus small,.index-page .phone-bonus strong,.index-page .phone-bonus span{display:block}.index-page .phone-bonus small{font-size:6px}.index-page .phone-bonus strong{font:500 23px Oswald,sans-serif}.index-page .phone-bonus span{font-size:7px}.index-page .phone-order{margin-top:9px;padding:10px;border-radius:11px;background:#fff}.index-page .phone-order-head{display:flex;justify-content:space-between;font-size:7px}.index-page .phone-order-status{color:#178150}.index-page .order-track{position:relative;display:grid;grid-template-columns:repeat(3,1fr);margin-top:13px}.index-page .order-track:before{content:'';position:absolute;left:15%;right:15%;top:5px;height:2px;background:#f3a7b2}.index-page .track-step{position:relative;z-index:1;text-align:center;color:#8f817e;font-size:5px}.index-page .track-step i{display:block;width:12px;height:12px;margin:0 auto 5px;border:3px solid #f6c4cb;border-radius:50%;background:#fff}.index-page .track-step.done i{border-color:var(--dlf-red);background:var(--dlf-red)}.index-page .phone-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:9px}.index-page .phone-action{padding:9px 7px;border-radius:8px;background:#fff}.index-page .phone-action b,.index-page .phone-action span{display:block;font-size:7px}.index-page .phone-action span{font-size:6px;color:#8d807d}
.index-page .app-download-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border:1px solid #ffffffb8;border-radius:14px;background:#ffffffdc}.index-page .app-download-copy b,.index-page .app-download-copy span{display:block}.index-page .app-download-copy b{font-size:9px}.index-page .app-download-copy span{color:#897b78;font-size:7px}.index-page .google-play{display:inline-flex;align-items:center;gap:9px;min-height:48px;padding:8px 13px;border-radius:9px;background:#251b1c;color:#fff;white-space:nowrap}.index-page .google-play svg{width:25px;height:25px}.index-page .google-play small,.index-page .google-play b{display:block}.index-page .google-play small{font-size:6px}.index-page .google-play b{font-size:12px}
@media(max-width:1120px){.index-page .dlf-message span{display:none}.index-page .dlf-message{width:40px;padding:0;justify-content:center}.index-page .dlf-home-action{display:none}.index-page .hero-app .hero-top{grid-template-columns:1fr 1fr}.index-page .app-showcase{grid-template-columns:minmax(0,1fr) 190px}.index-page .phone-mockup{width:183px;height:330px}.index-page .app-benefits{grid-template-columns:1fr}}
@media(max-width:767px){.index-page .dlf-home-shell{width:min(100% - 32px,1320px)}.index-page .dlf-home-promo a{display:none}.index-page .dlf-home-head-row{flex-wrap:wrap}.index-page .dlf-home-city,.index-page .dlf-home-phone,.index-page .dlf-message{display:none}.index-page .dlf-home-search{order:3;flex-basis:100%;max-width:none}.index-page .dlf-nav-cta{display:none}.index-page .hero-app{padding-top:16px}.index-page .hero-app .hero-top{grid-template-columns:1fr}.index-page .hero-copy{padding:24px 0 8px}.index-page .hero-app h1{font-size:46px}.index-page .hero-actions{display:grid;grid-template-columns:1fr}.index-page .hero-actions>*{justify-content:center}.index-page .app-showcase{display:flex;flex-direction:column;padding:12px;border-radius:15px}.index-page .app-info-card{padding:18px}.index-page .app-benefits{grid-template-columns:1fr 1fr}.index-page .phone-mockup{order:2;width:220px;height:350px;transform:none}.index-page .app-download-row{order:3;display:block;text-align:center}.index-page .google-play{width:100%;justify-content:center;margin-top:10px}}

/* v12 — секции главной по структуре полного прототипа. */
.index-page .category-section{position:relative;isolation:isolate;padding:62px 0 40px;background:#fff}.index-page .category-section:after{content:'';position:absolute;right:42px;top:36px;width:68px;height:68px;background:#f7d7dc;clip-path:polygon(50% 0,61% 38%,100% 50%,61% 62%,50% 100%,39% 62%,0 50%,39% 38%);z-index:-1}.index-page .category-section .section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:24px}.index-page .category-section .section-head h2{margin:0;font-family:Oswald,sans-serif;font-size:40px;font-weight:500;line-height:1.05;text-transform:uppercase}.index-page .category-section .section-head p{max-width:350px;margin:0;color:var(--dlf-muted);font-size:12px}.index-page .category-section .categories{display:flex;flex-wrap:wrap;gap:10px}.index-page .category-section .category{padding:13px 18px;border:0;border-radius:7px;background:#f7f5f3;color:#615655;font-size:13px;transition:.2s}.index-page .category-section .category:hover,.index-page .category-section .category.active{background:var(--dlf-red);color:#fff;transform:translateY(-2px)}.index-page .category-section .trust-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding-top:15px}.index-page .category-section .trust{min-height:114px;padding:18px;border:1px solid var(--dlf-line);border-radius:9px;background:#fff}.index-page .category-section .trust strong{display:block;margin-bottom:5px;color:var(--dlf-red);font-family:Oswald,sans-serif;font-size:25px}.index-page .category-section .trust span{color:#746b69;font-size:11px}
.index-page .index-catalog-blocks{padding:0;background:var(--dlf-paper)}.index-page .main-category:nth-child(3n+1){background:#fff}.index-page .main-category:nth-child(3n+2){margin-left:-30px;margin-right:-30px;padding-left:30px;padding-right:30px;background:linear-gradient(110deg,#ffdfe4 0 62%,#ffb3bd 62%)}.index-page .main-category:nth-child(3n){background:#f7f6f4}.index-page .main-category>.h2 span{display:inline-block;margin-left:8px;color:#8f807d;font-family:Manrope,sans-serif;font-size:12px;font-weight:500;text-transform:none}
.index-page .block-about{position:relative;padding:70px 0;background:#fff}.index-page .block-about>.container>h2{margin-bottom:25px}.index-page .block-about:before{content:'';position:absolute;left:34px;top:84px;width:76px;height:76px;background:#ffe0e5;clip-path:polygon(50% 0,61% 38%,100% 50%,61% 62%,50% 100%,39% 62%,0 50%,39% 38%)}
.index-page .how-we-work{padding:75px 0;background:var(--dlf-paper)}.index-page .how-we-work>.container>h2{margin:0}.index-page .how-we-work .steps-wrapper{margin-top:25px}.index-page .step-number:before{content:'0'}.index-page .faq-section{padding:75px 0}.index-page .faq-section>.container{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.index-page .faq-section>.container>.h2{font-size:42px}.index-page .faq-list{width:100%}.index-page .faq-question{position:relative;padding-right:28px}.index-page .faq-question:after{content:'+';position:absolute;right:0;color:var(--dlf-red);font-size:22px;font-weight:400}.index-page .faq-item.active .faq-question:after{content:'−'}
.index-page .feedback-widget,.index-page .callback-main{background:var(--dlf-rose)}
@media(max-width:767px){.index-page .category-section:after{width:44px;height:44px;right:16px;top:22px}.index-page .category-section .section-head{display:block}.index-page .category-section .section-head p{margin-top:10px}.index-page .category-section .section-head h2{font-size:32px}.index-page .category-section .trust-row{grid-template-columns:1fr 1fr}.index-page .dlf-service>.container,.index-page .faq-section>.container{grid-template-columns:1fr;gap:14px}.index-page .dlf-service__story,.index-page .dlf-calculator{padding:24px}.index-page .dlf-calculator form{grid-template-columns:1fr}.index-page .main-category:nth-child(3n+2){margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}}

@media (max-width: 420px) {
    .index-page .main-root-categories {
        grid-template-columns: 1fr 1fr;
    }

    .index-page .dlf-why-us-zones-list {
        grid-template-columns: 1fr;
    }
}

/* FAQ on the redesigned homepage. Keep the legacy faq.css for inner pages,
   but fully neutralise it inside .index-page. */
.index-page .faq-section {
    max-width: none;
    margin: 0;
    padding: 76px 0;
    background: var(--dlf-white);
    color: var(--dlf-ink);
    font-family: Manrope, Arial, sans-serif;
}

.index-page .faq-section > .container {
    display: grid;
    grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr);
    align-items: start;
    gap: 70px;
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 30px;
}

.index-page .faq-section > .container > .h2,
.index-page .faq-section .faq-title {
    margin: 0;
    color: var(--dlf-ink);
    font-family: Oswald, Arial, sans-serif;
    font-size: 42px;
    font-weight: 500;
    line-height: 1.04;
    letter-spacing: .01em;
    text-align: left;
    text-transform: uppercase;
}

.index-page .faq-section .faq-list {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    border-bottom: 1px solid var(--dlf-line);
}

.index-page .faq-section .faq-item,
.index-page .faq-section .faq-item:hover,
.index-page .faq-section .faq-item.active {
    margin: 0;
    padding: 0;
    border: 0;
    border-top: 1px solid var(--dlf-line);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.index-page .faq-section .faq-question,
.index-page .faq-section .faq-question:hover,
.index-page .faq-section .faq-item.active .faq-question {
    display: block;
    width: 100%;
    margin: 0;
    padding: 18px 44px 18px 0;
    color: var(--dlf-ink);
    font-family: Manrope, Arial, sans-serif;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.45;
    cursor: pointer;
}

.index-page .faq-section .faq-question::after {
    content: "+";
    right: 2px;
    top: 50%;
    color: var(--dlf-red);
    font-family: Manrope, Arial, sans-serif;
    font-size: 22px;
    font-weight: 400;
    line-height: 1;
    transform: translateY(-50%);
}

.index-page .faq-section .faq-item.active .faq-question::after {
    content: "−";
    transform: translateY(-50%);
}

.index-page .faq-section .faq-answer {
    display: none;
    margin: 0;
    padding: 0 44px 18px 0;
    color: var(--dlf-muted);
    font-family: Manrope, Arial, sans-serif;
    font-size: 12px;
    line-height: 1.65;
    animation: none;
}

.index-page .faq-section .faq-item.active .faq-answer {
    display: block;
}

.index-page .faq-section .faq-answer p,
.index-page .faq-section .faq-answer ol,
.index-page .faq-section .faq-answer ul {
    margin-top: 0;
}

.index-page .faq-section .faq-answer ol,
.index-page .faq-section .faq-answer ul {
    padding-left: 20px;
}

.index-page .faq-section .faq-answer a,
.index-page .faq-section .faq-answer a:hover {
    color: var(--dlf-red);
    border-color: currentColor;
}

@media (max-width: 767px) {
    .index-page .faq-section {
        padding: 52px 0;
    }

    .index-page .faq-section > .container {
        grid-template-columns: 1fr;
        gap: 26px;
        padding: 0 16px;
    }

    .index-page .faq-section > .container > .h2,
    .index-page .faq-section .faq-title {
        font-size: 34px;
    }

    .index-page .faq-section .faq-question,
    .index-page .faq-section .faq-question:hover,
    .index-page .faq-section .faq-item.active .faq-question {
        padding: 17px 36px 17px 0;
        font-size: 13px;
    }

    .index-page .faq-section .faq-answer {
        padding: 0 20px 17px 0;
        font-size: 12px;
    }
}
/* v13: strict header reset and real social icon rendering */
html,
body,
body.index-page {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.index-page > .dlf-home-header:first-of-type,
.index-page .dlf-home-header {
    top: 0 !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.dlf-home-action svg {
    display: block;
    width: 100%;
    height: 100%;
}

.dlf-home-action.dlf-max,
.dlf-home-action.dlf-wa,
.dlf-home-action.dlf-tg {
    padding: 0;
    overflow: hidden;
    border: 0 !important;
    background: transparent !important;
}

.dlf-message svg {
    flex: 0 0 auto;
    width: 17px;
    height: 17px;
}

.dlf-home-cart {
    position: relative;
    display: grid;
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    place-items: center;
    border: 1px solid #ded6d3;
    border-radius: 50%;
    background: #fff;
}

.dlf-cart-symbol {
    position: absolute;
    z-index: 2;
    font-size: 18px;
    line-height: 1;
    color: #4b2929;
    pointer-events: none;
}

.dlf-home-cart .header-cart {
    position: absolute;
    inset: 0;
    z-index: 3;
    opacity: 0;
}

/* v26: final desktop header typography from the approved prototype. */
.index-page .dlf-home-brand,
.index-page .dlf-home-brand:hover,
.index-page .dlf-home-brand:focus,
.index-page .dlf-home-brand *,
.index-page .dlf-home-brand:hover * {
    border-bottom: 0 !important;
    text-decoration: none !important;
}

.index-page .dlf-home-brand-name {
    font-size: 27px;
    line-height: 1;
}

.index-page .dlf-home-brand-tag {
    margin-top: 6px;
    font-size: 8px;
    line-height: 1;
    letter-spacing: .2em;
}

.index-page .dlf-home-city b {
    font-size: 12px;
    line-height: 1.25;
}

.index-page .dlf-home-city span {
    margin-top: 3px;
    font-size: 10px;
    line-height: 1.25;
}

.index-page .dlf-home-search input {
    font-size: 13px;
}

.index-page .dlf-home-phone,
.index-page .dlf-home-phone b {
    font-size: 14px;
    line-height: 1.25;
}

.index-page .dlf-message {
    font-size: 10px;
}

@media (max-width: 767px) {
    .index-page .dlf-home-brand-name {
        font-size: 24px;
    }

    .index-page .dlf-home-brand-tag {
        font-size: 7px;
    }
}
.dlf-site-footer{margin:0;padding:54px 0 24px;background:#472b2b;color:#fff;font-family:Manrope,Arial,sans-serif}
.dlf-site-footer>.container{width:min(100% - 60px,1320px);max-width:1320px;margin:0 auto;padding:0}
.dlf-site-footer .footer-content{display:grid;grid-template-columns:1.15fr 2.85fr;align-items:start;gap:54px}
.dlf-footer-brand{min-width:0}.dlf-footer-logo{display:inline-flex;align-items:center;gap:8px;padding:9px 13px 9px 9px;border-radius:10px;background:#fff;color:#321b1a!important;text-decoration:none!important}.dlf-footer-logo>svg{width:39px;height:39px;flex:0 0 39px;color:#ff4b5d}.dlf-footer-logo>span{display:block}.dlf-footer-logo b{display:block;font:500 24px/1 Oswald,Arial,sans-serif;letter-spacing:.02em}.dlf-footer-logo b i{color:#ff4b5d;font-style:normal}.dlf-footer-logo small{display:block;margin-top:3px;color:#857875;font-size:6px;font-weight:700;letter-spacing:.16em}
.dlf-footer-brand p{margin:18px 0 0;color:#d7c5c2;font-size:11px;line-height:1.8}
.dlf-site-footer .left-footer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.dlf-site-footer .left-footer ul{margin:0;padding:0;list-style:none}.dlf-site-footer .left-footer li{margin:0;padding:0}.dlf-site-footer .left-footer li+li{margin-top:3px}.dlf-site-footer .left-footer a{display:block;color:#d7c5c2;font-size:10px;line-height:1.75;text-decoration:none}.dlf-site-footer .left-footer a:hover{color:#fff}.dlf-site-footer .left-footer strong{display:block;margin-bottom:8px;color:#ffbac2;font-size:11px;font-weight:800}
.dlf-site-footer .footer-line{grid-column:1/-1;display:grid;width:100%;grid-template-columns:auto auto minmax(260px,1fr);align-items:end;gap:28px;margin-top:36px;padding-top:20px;border-top:1px solid #ffffff24;color:#ad9692}
.dlf-site-footer .footer-line__callback a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;margin:0;border:1px solid #ff6a78;border-radius:8px;background:#ff4b5d;padding:8px 16px;color:#fff;font-size:10px;font-weight:800;text-decoration:none}
.dlf-site-footer .footer-socials-wrap{align-items:center;color:#d7c5c2;font-size:9px}.dlf-site-footer .footer-socials{display:flex;align-items:center;gap:8px}.dlf-site-footer .footer-social{margin:0}.dlf-site-footer .footer-social a{display:grid;width:38px;height:38px;place-items:center;overflow:hidden;border-radius:9px;background:#ffffff12}.dlf-site-footer .footer-social svg{display:block;width:24px;height:24px;border-radius:5px}
.dlf-site-footer .footer-line-left{display:grid;grid-template-columns:minmax(190px,1fr) minmax(270px,1.35fr) minmax(220px,.8fr);align-items:end;gap:22px}.dlf-site-footer .footer-city,.dlf-site-footer .footer-copyrights{color:#ad9692;font-size:9px;line-height:1.65}.dlf-site-footer .footer-copyrights{padding:0}.dlf-site-footer .footer-copyrights span{display:block}.dlf-site-footer form{position:relative}.dlf-site-footer .search-input{width:100%;height:40px;border:1px solid #ffffff24;border-radius:8px;background:#ffffff0d;padding:0 42px 0 12px;color:#fff;font-size:10px}.dlf-site-footer .search-input::placeholder{color:#bca9a5}.dlf-site-footer .search-button{position:absolute;right:0;top:0;width:40px;height:40px;border:0;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4'/%3E%3C/svg%3E") center no-repeat}
@media(max-width:1100px){.dlf-site-footer .footer-content{grid-template-columns:1fr}.dlf-site-footer .footer-line{grid-column:auto}.dlf-site-footer .footer-line-left{grid-column:1/-1}}
@media(max-width:767px){.dlf-site-footer{padding:42px 0 84px}.dlf-site-footer>.container{width:min(100% - 32px,1320px)}.dlf-site-footer .footer-content{gap:34px}.dlf-site-footer .left-footer{grid-template-columns:1fr 1fr;gap:28px 20px}.dlf-site-footer .footer-line{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:4px}.dlf-site-footer .footer-line-left{flex:0 0 100%;display:grid;grid-template-columns:1fr;gap:12px}.dlf-site-footer .footer-socials-wrap{justify-content:flex-start}.dlf-site-footer form{max-width:360px}}
@media(max-width:430px){.dlf-site-footer .left-footer{grid-template-columns:1fr}.dlf-footer-brand p br{display:none}}
