/* Дополнения шаблона domroz2 поверх вёрстки макета: то, чего в макете нет (переключатель городов, служебные блоки Bitrix). */
.dt-city{position:relative}
.dz-citypop{position:absolute;z-index:80;top:62px;left:210px;min-width:200px;padding:6px;background:#fff;border:1px solid var(--line,#ece6e3);border-radius:var(--r);box-shadow:0 10px 30px rgba(40,36,36,.14)}
.dz-citypop[hidden],.dz-citylist[hidden]{display:none}
.dz-citypop a,.dz-citylist a{display:block;padding:10px 12px;border-radius:var(--r);font-weight:700;color:var(--ink,#282424)}
.dz-citypop a:hover,.dz-citylist a:hover{background:var(--soft,#f8f5f3)}
.dz-citypop a[aria-current],.dz-citylist a[aria-current]{color:var(--red,#de002b)}
.dz-citylist{margin:6px 0 0;padding:4px;background:var(--soft,#f8f5f3);border-radius:var(--r)}
/* текст информационных страниц, пришедший из Bitrix без классов макета */
.ip-body img{max-width:100%;height:auto}
.ip-body p a,.ip-body li a,.ip-body td a{color:var(--red,#de002b);text-decoration:underline;text-underline-offset:2px}
.ip-body table{max-width:100%;border-collapse:collapse}
.ip-body h2,.ip-body h3{margin:22px 0 10px;line-height:1.2}

/* главная */
.dz-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
img.product-image{display:block;object-fit:cover}
.product-photo>a:not(.add-button){display:block;width:100%;height:100%}
.product-info h3 a{color:inherit}
.dz-empty{padding:24px 0;color:var(--muted,#7b7172)}
.seo h1{margin:0 0 14px;font-family:inherit;font-weight:800;font-size:24px;line-height:1.15;letter-spacing:-.4px}
@media(min-width:900px){.seo h1{font-size:30px}}
.seo-copy h2,.seo-copy h3{margin:14px 0 6px;color:var(--ink,#262022);line-height:1.25}.seo-copy h2{font-size:15px}.seo-copy h3{font-size:13px}
.seo-copy ul{margin:0 0 10px;padding-left:18px}.seo-copy li{margin-bottom:4px}
@media(min-width:900px){.seo-copy h2{font-size:20px}.seo-copy h3{font-size:15px}}
/* каталог (шаг 4.1) */
.tag--out{background:#efe9e6;color:#7b7172}
.product-card.is-soldout .product-photo img{opacity:.55}
.sec-pages{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:28px 0 8px}
.sec-pages a,.sec-pages b{display:grid;place-items:center;min-width:40px;height:40px;padding:0 12px;border-radius:var(--r);background:#f8f5f3;color:var(--ink,#262022);font-weight:600;text-decoration:none}
.sec-pages b{background:var(--red,#d1242f);color:#fff}
.sec .sec-subs a.on{background:var(--red,#d1242f);color:#fff}
/* страница товара (шаг 4.2) */
.pd-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;border-radius:inherit}
.pd-body h1{margin:0 44px 8px 0;font-size:24px;line-height:1.15;letter-spacing:-.4px;font-weight:800}
html.pd-page .pd-body h1{display:block}
.pd-comp-html ul{margin:0 0 18px;padding:0;list-style:none;display:grid;gap:6px}
.pd-comp-html li{position:relative;padding-left:16px;font-size:15px}
.pd-comp-html li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--red)}
.pd-comp-html a{color:inherit;text-decoration:none}
.pd-alt a{flex:none;display:grid;gap:0;padding:6px 11px;border:1.5px solid var(--line);border-radius:var(--r);background:#fff;color:var(--ink);text-decoration:none;white-space:nowrap}
.pd-alt a b{font-size:13px}.pd-alt a span{color:#7b7172;font-size:12px;font-weight:600}
a.pp-t{color:inherit;text-decoration:none}
.pp-oos a.pp-s{display:inline-block}
.pd-ov span{display:none}
/* корзина (шаг 5) */
a.cp-order{display:grid;place-items:center;text-decoration:none}
.dt-cart{position:relative}
.dt-cart .dt-cart-count{top:-6px;right:-6px}
a.cp-thumb,a.cp-name{color:inherit;text-decoration:none}
html.co-page .tabbar{display:none}html.co-page body{padding-bottom:0}
/* окна поверх страницы (шаг 7) */
.pp-oos a.pp-s{display:inline-flex;align-items:center;height:44px;padding:0 16px;border-radius:var(--r);font-size:14px;font-weight:700;text-decoration:none;background:#fff;color:var(--ink,#282424)}
.pp-oos .pp-n{display:inline-flex;align-items:center;height:44px;padding:0 16px;border:0;border-radius:var(--r);font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.pd-comp-html a{color:inherit;text-decoration:underline dotted rgb(181 55 78 / 55%);text-underline-offset:3px}
.pd-comp-html a:hover{color:var(--red);text-decoration-style:solid}
a.pp-t{display:block}
.pp-wrap{position:relative}
.pp-arr{display:none}@media(min-width:1024px){.pp-arr:not([hidden]){display:grid}}
/* окно карточки: без дубля названия на телефоне (название и цена поверх фото) */
@media(max-width:1023px){html.pd-open:not(.pd-page) .pd-ov span{display:block}html.pd-open:not(.pd-page) .pd-body h1{display:none}}
/* окно оформления: наша форма во фрейме */
.co-frame{display:block;flex:1;min-height:0;width:100%;border:0;background:#f3efed}
html.embed body{padding:0 !important;background:#f3efed}
html.embed .hbar,html.embed .mtop,html.embed .dt-topbar,html.embed .dt-header,html.embed .site-header,html.embed .cart-panel,html.embed .cart-overlay,html.embed .footer,html.embed .tabbar,html.embed .menu-drawer,html.embed .menu-overlay,html.embed .ck,html.embed #bx-panel,html.embed .sheet,html.embed .sheet-overlay,html.embed .dz-dev{display:none !important}
html.embed main{padding:0 !important}
/* поиск на компьютере: список под строкой в шапке */
.dt-search{position:relative}
.dt-sx{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:300;max-height:70vh;overflow:auto;background:#fff;border-radius:var(--r);box-shadow:0 12px 36px rgba(40,20,25,.22)}
a.sx-item{color:inherit;text-decoration:none}
.sx-th{flex:none;width:44px;height:58px;border-radius:var(--r);background:#f1edeb center/cover no-repeat}
.sx-nm{flex:1;font-size:15px;line-height:1.25}.sx-nm b{color:var(--red)}.sx-nm i{font-style:normal;color:#9a8f90;font-size:13px}
.sx-pr{flex:none;font-weight:800}
a.sx-all{display:block;padding:14px 16px;text-align:center;color:var(--red);font-weight:700;text-decoration:none}
a.cy-i{text-decoration:none}
/* значки площадок в рейтингах */
.rv-score .rr2-b{margin-right:0}

/* --- правки по замечаниям владельца 2026-10-16 --- */
/* окно «Заказать в чате» поверх окна карточки */
html .sheet-overlay{z-index:320}
html .sheet{z-index:330}
/* кнопка закрытия не налезает на плашку «Нет в наличии» */
.pd-modal[data-oos] .pp-oos{margin-top:52px}
@media(max-width:1023px){.pd-modal[data-oos] .pp-oos{margin-top:14px}}
/* состав: три строки, остальное по кнопке */
.pd-comp-html.is-fold li.is-more{display:none}
.pd-comp-more{margin:4px 0 14px;padding:0;border:0;background:transparent;color:var(--red);font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.pd-comp-html p{margin:0 0 14px;font-size:15px;line-height:1.5}
.pd-desc ul{margin:0 0 10px;padding:0;list-style:none;display:grid;gap:8px}
.pd-desc li{position:relative;padding-left:16px;font-size:15px;line-height:1.5}
.pd-desc li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--red)}
.pd-desc p{margin:0 0 10px;font-size:15px;line-height:1.55;color:#3d3436}
/* ожидание карточки: затемнение и кружок сразу после нажатия */
.pd-overlay.pd-wait::after{content:"";position:absolute;left:50%;top:50%;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;border:3px solid rgb(255 255 255 / 35%);border-top-color:#fff;animation:dz2spin .7s linear infinite}
@keyframes dz2spin{to{transform:rotate(360deg)}}
/* страницы каталога: коротко, плюс «Показать ещё» */
.sec-pages{flex-direction:column;align-items:center;gap:14px}
.sec-pages .sec-pn{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
.sec-pages .sec-gap{display:grid;place-items:center;min-width:24px;height:40px;color:var(--muted,#7b7172)}
.sec-pages a.sec-more{width:min(260px,100%);height:44px;border-radius:var(--r);background:#f3efed;color:var(--ink);font-size:14px;font-weight:700}
.sec-pages a.sec-more:hover{background:#ece6e3}
/* окно «Добавить к букету» (как в макете v307): телефон — шторка с сеткой в 2 колонки; компьютер — окно из двух колонок с границей посередине */
.ad-ov{position:fixed;left:0;right:0;top:0;bottom:calc(100dvh - 100lvh);z-index:236;background:rgb(25 14 17 / 52%);opacity:0;visibility:hidden;transition:opacity .2s}
html.ad-open .ad-ov{opacity:1;visibility:visible}
.ad{position:fixed;z-index:237;left:0;right:0;bottom:0;max-width:520px;margin:0 auto;max-height:88svh;display:flex;flex-direction:column;background:#fff;border-radius:var(--r) var(--r) 0 0;transform:translate3d(0,102%,0);visibility:hidden;transition:transform .3s cubic-bezier(.22,.8,.3,1),visibility 0s linear .3s}
html.ad-open .ad{transform:none;visibility:visible;transition:transform .3s cubic-bezier(.22,.8,.3,1)}
.ad-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px 6px}
.ad-h h2{margin:0;font-size:20px;font-weight:800}
.ad-h p{margin:4px 0 0;color:#7b7172;font-size:14px;font-weight:400}
.ad-x{flex:none;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:var(--r);background:#f3efed;color:var(--ink);cursor:pointer}
.ad-x svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}
.ad-list{flex:1;min-height:0;overflow-y:auto;padding:6px 20px 16px;-webkit-overflow-scrolling:touch}
.ad-col{display:contents}
.ad-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 12px;align-content:start}
.ad-i{display:grid;gap:6px;align-content:start}
.ad-ph{position:relative;display:block;aspect-ratio:1;border-radius:var(--r);background:#f1edeb center/cover no-repeat}
.ad-nm{font-size:13px;line-height:1.3;color:var(--ink)}
.ad-i b{font-size:16px;font-weight:800}
.ad-ctl{position:absolute;right:8px;bottom:8px;display:flex;align-items:center;background:rgb(255 255 255 / 94%);border-radius:999px;box-shadow:0 2px 8px rgb(38 22 25 / 18%)}
.ad-ctl button{width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:var(--red);font:inherit;font-size:22px;font-weight:700;line-height:1;cursor:pointer}
.ad-ctl span,.ad-ctl .ad-m{display:none}
.ad-ctl.on span,.ad-ctl.on .ad-m{display:block}
.ad-ctl span{min-width:18px;text-align:center;font-weight:800;font-size:15px}
.ad-f{padding:12px 20px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff}
.ad-go{width:100%;height:50px;border:0;border-radius:var(--r);background:var(--red);color:#fff;font:inherit;font-size:16px;font-weight:800;cursor:pointer}
@media(min-width:1024px){
  .ad{left:50%;right:auto;bottom:auto;top:50%;width:min(1000px,calc(100% - 40px));max-width:none;height:min(720px,calc(100vh - 48px));max-height:none;margin:0;border-radius:var(--r);transform:translate(-50%,-46%);opacity:0}
  html.ad-open .ad{transform:translate(-50%,-50%);opacity:1}
  .ad-list{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;overflow:hidden;padding:0 24px 16px}
  .ad-col{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 12px;align-content:start;overflow-y:auto;min-height:0;padding:2px 4px 8px 0}
  .ad-col:first-child{border-right:1px solid var(--line);padding-right:20px}
}
html.embed .ad,html.embed .ad-ov{display:none}
/* корзина справа: список товаров прокручивается сам, итог и кнопки «Оформить заказ» / «Заказ в чате» всегда видны внизу */
@media(min-width:1200px){
  .cart-panel__in{overflow:hidden}
  .cart-panel.has-items .cp-list{flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:4px;overscroll-behavior:contain;scrollbar-width:thin}
  .cp-head,.dtg,.cp-foot{flex:none}
  .cart-panel.has-items .cp-foot{background:#fff}
}

/* стрелки полосы разделов */
.sec-sw{position:relative}
.sec-sw .sec-arr{position:absolute;top:0;z-index:2;display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:50%;background:#fff;box-shadow:0 4px 14px rgba(40,20,25,.25);cursor:pointer}
.sec-sw .sec-arr svg{width:20px;height:20px;fill:none;stroke:var(--ink,#282424);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.sec-sw .sec-arr.l{left:0}
.sec-sw .sec-arr.r{right:0}
.sec-sw .sec-arr[hidden]{display:none}

/* нет в наличии: название и цена сверху, а плашка «Сейчас нет в наличии» — внизу, на месте кнопок заказа */
html.pd-oos .pd-bar.pd-bar--oos, .pd-bar.pd-bar--oos { display: block !important; }
.pd-bar--oos .pp-oos { margin: 0 !important; padding: 12px 14px; }
.pd-bar--oos .pp-oos b { font-size: 16px; margin-bottom: 2px; }
.pd-bar--oos .pp-oos p { margin: 0 0 10px; font-size: 13px; }
.pd-bar--oos .pp-oos button, .pd-bar--oos .pp-oos a.pp-s { height: 42px; }
.pd-modal[data-oos] .pp-oos { margin-top: 0; }

/* «Показать полностью ⌄»: аккуратная ссылка со стрелкой, прижата к списку состава, без рамки фокуса */
.pd-comp-html ul.is-fold{margin-bottom:2px}
.pd-comp-more{display:inline-flex;align-items:center;gap:8px;margin:0 0 14px;padding:4px 0;border:0;background:transparent;color:var(--red);font:inherit;font-size:14px;font-weight:700;cursor:pointer;outline:0;-webkit-tap-highlight-color:transparent}
.pd-comp-more::after{content:"";width:7px;height:7px;margin-top:-3px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;border-radius:1px;transform:rotate(45deg);transition:transform .2s ease}
.pd-comp-more.is-open::after{margin-top:3px;transform:rotate(-135deg)}
.pd-comp-more:focus,.pd-comp-more:focus-visible{outline:0;box-shadow:none}
.pd-comp-more:hover{opacity:.8}

.pd-comp-html.is-fold ul{margin-bottom:0}
.pd-comp-html.is-fold ul:empty{display:none}
.pd-comp-html.is-fold ul:not(:has(li:not(.is-more))){display:none}

/* общая страница товара: кнопки заказа не сжимаются — «−1+» и «Оформить заказ» в первой строке, «Заказ в чате» на всю ширину ниже */
@media(min-width:1024px){
  html.pd-page .pd > .pd-bar { flex-wrap: wrap !important; padding: 12px 0 !important; gap: 10px !important; align-items: center; }
  html.pd-page .pd > .pd-bar .pd-step2 { flex: 0 0 auto !important; width: auto !important; height: 50px !important; line-height: normal !important; padding: 0 8px; }
  html.pd-page .pd > .pd-bar .pd-go { flex: 1 1 160px !important; min-width: 160px; height: 50px; white-space: nowrap; }
  html.pd-page .pd > .pd-bar .pd-chat { flex: 1 0 100% !important; order: 3; width: auto !important; height: 46px !important; border-radius: var(--r) !important; font-size: 14px !important; background-image: none !important; padding: 0 16px !important; white-space: nowrap; display: flex !important; align-items: center; justify-content: center; text-align: center; }
}

/* общая страница, компьютер: панель заказа под ценой — обычный блок, без плавания и подложки */
@media(min-width:1024px){
  .pd-bar.pd-bar--top { position: static !important; display: flex !important; flex-wrap: wrap; align-items: center; gap: 10px; margin: 16px 0 20px; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }
  .pd-bar--top .pd-step2 { flex: 0 0 auto !important; width: auto !important; height: 50px !important; line-height: normal !important; padding: 0 8px; }
  .pd-bar--top .pd-go { flex: 1 1 160px !important; min-width: 160px; height: 50px; white-space: nowrap; display: block !important; }
  .pd-bar--top .pd-chat { flex: 1 0 100% !important; order: 3; width: auto !important; height: 46px !important; border-radius: var(--r) !important; font-size: 14px !important; background-image: none !important; padding: 0 16px !important; display: flex !important; align-items: center; justify-content: center; white-space: nowrap; }
}

/* скругления как в макете (замерено в нём): окно 16 px, фото в окне 16 px с отступом 20 px, плитки «К этому букету вы получите» 12 px */
.pd-modal .pd-track, .pd-modal .pd-slide, .pd-modal .pd-slide img { border-radius: var(--r) !important; }
.pd-modal .pd-media { border-radius: 0; }

/* кнопка закрытия в окне карточки: те же 20 px от краёв, что у фото, и не прижата к полосе прокрутки */
@media(min-width:1024px){
  .pd-modal .pd-close { top: 20px !important; right: 24px !important; }
  .pd-modal .pd-body { scrollbar-width: thin; scrollbar-gutter: stable; }
}

/* состав: ссылки без подчёркивания; «Показать полностью» — тихая небольшая ссылка со стрелкой под текстом пунктов */
.pd-comp-html a, .pd-comp-html a:hover, .pd-comp-html li a { text-decoration: none !important; color: inherit; border: 0; }
.pd-comp-html a:hover { color: var(--red); }
.pd-comp-more { margin: 2px 0 14px 16px; padding: 4px 0; gap: 6px; font-size: 13px; font-weight: 600; letter-spacing: 0; color: #9a8f90; }
.pd-comp-more::after { width: 6px; height: 6px; border-width: 1.5px; margin-top: -3px; }
.pd-comp-more.is-open::after { margin-top: 3px; }
.pd-comp-more:hover { color: var(--red); opacity: 1; }
.pd-comp-more { margin: 2px 0 14px 16px !important; font-size: 13px !important; }

/* другие размеры: одинаковые по ширине плитки, подпись по центру, цена ниже */
.pd-alt a { flex: 0 0 104px; width: 104px; box-sizing: border-box; justify-items: center; text-align: center; padding: 8px 6px; }
.pd-alt a b { max-width: 100%; overflow: hidden; text-overflow: ellipsis; font-size: 14px; }
.pd-alt a span { font-size: 12px; }
.pd-alt-sw { position: relative; }
.pd-alt-sw > div { scroll-behavior: smooth; }
.pd-alt-sw .sec-arr { top: 50%; margin-top: -19px; width: 34px; height: 34px; }
.pd-alt-sw .sec-arr.l { left: -6px; }
.pd-alt-sw .sec-arr.r { right: -6px; }

/* размеры на фото: столбиком — сначала высота, ниже ширина; так они не липнут к точкам листания фото */
.pd-dm { flex-direction: column !important; align-items: flex-start !important; gap: 6px !important; }
.pd-alt-sw .sec-arr { position: absolute; z-index: 2; display: grid; place-items: center; padding: 0; border: 0; border-radius: 50%; background: #fff; box-shadow: 0 4px 14px rgba(40,20,25,.25); cursor: pointer; }
.pd-alt-sw .sec-arr svg { width: 18px; height: 18px; fill: none; stroke: var(--ink,#282424); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.pd-alt-sw .sec-arr[hidden] { display: none; }
.pd-alt-sw > .pd-label { padding-right: 0; }

.pd-comp-html.has-more ul { margin-bottom: 0 !important; }

/* нет в наличии, общая страница на компьютере: плашка стоит под ценой, как панель заказа у букета в наличии */
@media(min-width:1024px){
  .pd-bar.pd-bar--oos.pd-bar--top { display: block !important; margin: 16px 0 20px; }
  .pd-bar--oos.pd-bar--top .pp-oos { padding: 14px; }
}

/* скидка: старая цена зачёркнута, значок «−N%» (как в макете: красная цена, ниже серая зачёркнутая, значок сверху справа на фото) */
.price-stack--sale { flex-direction: column; align-items: flex-start; gap: 2px; }
.price-stack--sale strong { color: var(--red); }
.price-stack del { color: #9b9292; font-size: 12px; font-weight: 500; line-height: 1.1; text-decoration-color: #9b9292; }
.product-photo .tag--sale { position: absolute; top: 8px; right: 8px; width: max-content; background: #fff; color: var(--red); border-radius: 999px; }
@media(min-width:1024px){ .product-photo .tag--sale { top: 13px; right: 13px; } }
.pd-price .pd-old { margin-left: 12px; color: #9b9292; font-size: 20px; font-weight: 500; text-decoration-color: #9b9292; }
.pd-price .pd-sale { margin-left: 10px; padding: 4px 9px; border-radius: 999px; background: #fdeff2; color: var(--red); font-size: 14px; font-weight: 800; vertical-align: middle; }
.pd-price b { vertical-align: middle; }

.pp-oos .pp-n, .pp-oos a.pp-s { white-space: nowrap; }
.pp-oos .pp-n { flex: 1 1 auto; }
.pp-oos .pp-n, .pp-oos a.pp-s { justify-content: center; text-align: center; }
.dt-rating:focus,.dt-rating:active{outline:0;box-shadow:none}.dt-rating:focus-visible{outline:2px solid var(--red);outline-offset:2px}

/* стрелки у строки разделов на десктопе, если разделы не помещаются */
.cl-arr{display:none}
@media(min-width:700px){
  .link-row--categories{position:relative}
  .link-row--categories .category-links{overflow-x:auto;scrollbar-width:none;scroll-behavior:smooth;justify-content:flex-start}
  .link-row--categories.has-arrows .category-links{padding:0 44px 0 0}
  .link-row--categories.has-arrows:not(.at-start) .category-links{padding-left:44px}
  .link-row--categories:not(.has-arrows) .category-links{justify-content:center}
  .cl-arr{display:none;position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:50%;background:#fff;box-shadow:0 2px 10px rgba(40,20,20,.18);color:var(--ink,#282424);font-size:20px;line-height:1;cursor:pointer;place-items:center;z-index:2;padding:0}
  .cl-arr:hover{background:#f3efed}
  .cl-prev{left:0}.cl-next{right:0}
  .has-arrows .cl-arr{display:grid}
  .has-arrows.at-start .cl-prev,.has-arrows.at-end .cl-next{display:none}
}

/* скидка в карточке: правый верхний угол фото (на телефоне левее крестика) */
.pd-sale-tag{position:absolute;z-index:2;top:14px;right:62px;padding:6px 10px;border-radius:999px;background:#fff;color:var(--red);font-size:13px;font-weight:800;box-shadow:0 2px 8px rgb(38 22 25 / 12%)}
@media(min-width:1024px){#pd .pd-sale-tag{top:28px;right:28px}}

.pd-price--sale b{color:var(--red)}
.pd-sale-tag{padding:9px 15px;font-size:18px}
.pd-sale-tag{padding:7px 12px;font-size:15px}
.pd-sale-tag{padding:5px 10px;font-size:12px;font-weight:700;box-shadow:none;background:rgb(255 255 255 / 92%)}
@media(min-width:700px){.product-photo .tag--sale{padding:7px 10px;font-size:11px}}

/* метки в карточке — тех же цветов, что в каталоге */
.pd-tag.pd-tag--hit{background:#E8891A;color:#fff}
.pd-tag.pd-tag--stock{background:#C23A66;color:#fff}
.pd-tag.pd-tag--fresh{background:#2F9E86;color:#fff}
.pd-tag.pd-tag--season{background:#9B85CF;color:#fff}
.pd-tag.pd-tag--new{background:#4c7185;color:#fff}
/* скидка в карточке — зеркально метке «Хит» (те же отступы от краёв и та же высота) */
.pd-sale-tag{box-sizing:border-box;display:inline-flex;align-items:center;min-height:25px;line-height:1.2}
@media(min-width:1024px){#pd .pd-sale-tag{right:28px !important;top:28px !important}}
@media(min-width:1024px){#pd .pd-sale-tag{right:34px !important;top:34px !important}}

/* окно карточки на десктопе: поля симметричны — от фото до текста 32 px и от текста до края окна 32 px (с полосой прокрутки) */
@media(min-width:1024px){
  .pd-modal .pd-body { padding-left: 12px !important; padding-right: 21px !important; }
  .pd-modal .pd-bar { padding-left: 12px !important; padding-right: 32px !important; }
  .pd-modal .pd-close { right: 20px !important; }
}

/* на телефоне стрелки не нужны: ряды листаются пальцем */
@media(max-width:699px){.sec-sw .sec-arr,.pd-alt-sw .sec-arr,.pp-arr,.cl-arr{display:none !important}}

/* аудит десктопа: цена и «Заказ в чате» на одной линии и при скидке (старая цена под ценой) */
.product-bottom { align-items: flex-start; }

/* футер на телефоне: юридические ссылки переносятся, а не обрезаются справа */
@media(max-width:1023px){.fl-links{flex-wrap:wrap !important;gap:4px 14px !important}.fl-links a{font-size:11px !important}}

/* карточка на телефоне: цена на фото — рядом старая зачёркнутая */
.pd-ov b del{margin-left:10px;font-size:16px;font-weight:500;opacity:.8;text-decoration:line-through}

/* уведомление о cookies на десктопе: тонкая плашка по центру внизу в одну строку (раньше висела справа поверх карточек) */
@media(min-width:1024px) and (max-width:1199px){
  .ck{left:50% !important;right:auto !important;bottom:20px !important;width:min(720px,calc(100% - 48px)) !important;flex-wrap:nowrap !important;transform:translate(-50%,24px) !important}
  .ck.on{transform:translateX(-50%) !important}
  .ck p{flex:1 1 auto !important}
  .ck button{width:auto !important;flex:none}
}

/* единые кнопки «закрыть»: скруглённый квадрат, не круг */
.menu-close,.sx-x{border-radius:var(--r) !important}

/* логотип: небольшое скругление (при общем радиусе 16px он превращался в «таблетку») */
.dt-logo img, .brand img, .mtop .mt-logo img, .footer-brand img, .footer .footer-brand img { border-radius: 12px !important; }

/* мобильная шапка: логотип той же высоты, что кнопки меню и поиска (42px) */
.mtop .mt-logo,.mtop .mt-logo img{height:42px !important}

/* пустой раздел: заголовок, текст и кнопки в стиле страницы 404 */
.dz-empty.ip-404{padding:36px 0 12px}
.dz-empty.ip-404 h2{margin:0 0 10px;font-size:26px;line-height:1.15;font-weight:800;letter-spacing:-.5px}
.dz-empty.ip-404 h2{color:var(--ink,#282424)}

/* карточка на телефоне: слева сверху «Хит» и под ним скидка (не наезжает на точки фото), справа сверху крестик, снизу слева цена и название, справа снизу размеры */
@media(max-width:1023px){
  .pd-tag{left:14px !important;top:14px !important}
  .pd-sale-tag{left:14px !important;right:auto !important;top:14px !important}
  .pd-tag ~ .pd-sale-tag{top:46px !important}
  .pd-dm{left:auto !important;right:14px !important;top:auto !important;bottom:14px !important;align-items:flex-end !important}
  .pd-media:has(.pd-dm) .pd-ov{padding-right:100px}
}

/* «Показать полностью / Свернуть»: на телефоне hover «залипает» после нажатия и красит текст — оставляем серым */
@media(hover:none){.pd-comp-more:hover{color:#9a8f90 !important;opacity:1}}

/* футер: номер телефона по центру относительно иконок мессенджеров (разница боксов 1,5px + цифры в шрифте сидят выше середины строки) */
.footer-contact .footer-phone{position:relative;top:3px}

/* поиск: строка — скруглённый прямоугольник (--r), кнопка закрытия внутри вписана в углы (16 - 5 = 11px) */
.sx-bar{border-radius:var(--r) !important}
.sx-x{border-radius:calc(var(--r) - 5px) !important}

/* поиск на телефоне: список умещается над клавиатурой (--sxh = высота видимой области, ставит shell.js) */
.sx-list{max-height:calc(var(--sxh,100dvh) - env(safe-area-inset-top,0px) - 92px) !important}

/* нет в наличии на телефоне: заголовок и две кнопки в одну строку, без длинного абзаца (он закрывал состав) */
@media(max-width:1023px){
  .pp-oos{padding:10px 12px !important}
  .pp-oos b{font-size:15px !important;margin-bottom:8px !important}
  .pp-oos p{display:none !important}
  .pp-oos div{flex-wrap:nowrap !important;gap:8px !important}
  .pp-oos .pp-n,.pp-oos a.pp-s{flex:1 1 0 !important;min-width:0;height:42px !important;padding:0 8px !important;font-size:14px !important;justify-content:center}
}

/* Safari на телефоне: нижняя панель сайта не прячется под плавающей панелью браузера (--vvb ставит app.js; без перекрытия = 0) */
@media(max-width:1023px){.tabbar{bottom:calc(6px + var(--vvb,0px)) !important}}

/* iOS сам делает ссылки из цифр (ИНН, ОГРН) — оставляем обычный текст */
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !important;font:inherit !important}

/* «Добавить к букету»: после плюса счётчик красный, как у товара в каталоге */
.ad-ctl.on{background:var(--red);box-shadow:0 3px 12px rgb(40 20 25 / 22%)}
.ad-ctl.on button,.ad-ctl.on span{color:#fff}

/* логотип в подвале и в меню: обёртка .brand скругляла сильнее (16px), чем сама картинка (12px) — теперь везде 12px, как в шапке */
.brand,.footer-brand .brand,.menu-head .brand{border-radius:12px !important}

/* десктоп от 1200 px: уведомление о cookies — справа внизу экрана, по левому краю и ширине рамки преимуществ (положение по горизонтали задаёт скрипт) */
@media(min-width:1200px){
  .ck{right:auto !important;bottom:24px !important;top:auto !important;flex-wrap:wrap !important;transform:translateY(24px) !important}
  .ck.on{transform:none !important}
  .ck p{flex:1 1 100% !important}
  .ck button{width:100% !important}
}

/* структура каталога 2026-10-20: кнопки цены, свёрнутые колонки подвала, «Все букеты» только на компьютере */
.sec-price{display:flex;gap:8px;margin:10px 0 4px;overflow-x:auto;scrollbar-width:none}
.sec-price::-webkit-scrollbar{display:none}
.sec-price a{flex:none;padding:8px 14px;border-radius:var(--r);background:#f8f5f3;color:var(--ink,#262022);font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap}
.sec-price a.on{background:var(--red,#d1242f);color:#fff}
@media(max-width:1023px){.menu-desk{display:none !important}}
.footer-seo{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px 26px;padding:18px 0;border-top:1px solid rgba(40,20,25,.1)}
.footer-seo a{font-size:13px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:#6f6567;text-decoration:none}
.sec-hub{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 24px}
.sec-hub a{display:inline-flex;align-items:center;height:40px;padding:0 16px;border-radius:var(--r);background:#f3efed;color:var(--ink,#282424);font-size:14px;font-weight:600;text-decoration:none}

/* телефон: цена — списком вместо кнопок (слева, рядом с сортировкой), без счётчика товаров; заголовок раздела меньше */
.sec-pricesel{display:none}
@media(max-width:699px){
.sec-price{display:none}
.sec-count{display:none}
.sec-pricesel{display:flex}
.sec-row{justify-content:space-between}
.sec .sec h1,.sec h1{font-size:22px;line-height:1.15;letter-spacing:-.3px}
}

.sec-pricesel,.sec-pricesel span{white-space:nowrap}
@media(max-width:699px){.sec-row{gap:8px}.sec-pricesel{flex:none}.sec-sort{padding-left:0 !important}}

.sec-row .sec-sort:last-child{margin-left:auto}

/* цена — списком рядом с сортировкой на всех экранах (кнопок и счётчика товаров нет) */
.sec-pricesel{display:flex !important}
.sec-row .sec-sort:last-child{margin-left:auto}
.sec-row .sec-pricesel:first-child{margin-left:0}

/* десктоп: слева число товаров, справа переключатель цены и сортировка; телефон: только список цены и сортировка */
.sec-seg{display:none}
@media(min-width:700px){
.sec-pricesel{display:none !important}
.sec-count{display:inline}
.sec-seg{display:flex;align-items:center;gap:10px;margin-left:auto}
.sec-seg .sec-sl{color:#7b7172;font-size:14px;font-weight:500}
.sec-segb{display:inline-flex;gap:2px;padding:3px;border-radius:var(--r);background:#f3efed}
.sec-segb a{display:inline-flex;align-items:center;height:32px;padding:0 13px;border-radius:calc(var(--r) - 3px);color:var(--ink,#282424);font-size:14px;font-weight:600;text-decoration:none;white-space:nowrap}
.sec-segb a.on{background:var(--red,#d1242f);color:#fff}
.sec-row .sec-sort:last-child{margin-left:12px}
}
@media(max-width:699px){.sec-seg{display:none !important}}

/* переключатель цены слева, без счётчика товаров */
@media(min-width:700px){
.sec-count{display:none !important}
.sec-seg{margin-left:0;margin-right:auto;gap:12px}
.sec-segb{gap:8px;padding:0;background:transparent}
.sec-segb a{height:36px;padding:0 16px;border-radius:var(--r);background:#f3efed;font-size:14px}
.sec-segb a.on{background:var(--red,#d1242f);color:#fff}
}

/* компактная цена: по высоте как сортировка */
@media(min-width:700px){
.sec-seg{gap:8px}
.sec-seg .sec-sl{font-size:14px}
.sec-segb{gap:6px}
.sec-segb a{height:30px;padding:0 12px;font-size:13px;font-weight:600}
}

/* итог: цена — список слева в одном стиле с сортировкой (на всех экранах) */
.sec-seg{display:none !important}
@media(min-width:700px){.sec-pricesel{display:flex !important}.sec-row{justify-content:flex-start}.sec-row .sec-sort:last-child{margin-left:auto}}

/* десктоп: «Цена» и «Сортировать» вместе справа */
@media(min-width:700px){.sec-row{justify-content:flex-end;gap:22px}.sec-row .sec-sort:last-child{margin-left:0}}

/* телефон: две равные половины строки — цена слева, сортировка справа; раскладка не зависит от выбранного значения */
@media(max-width:699px){
.sec-row{display:flex;gap:8px;justify-content:space-between}
.sec-row .sec-sort{flex:1 1 0;min-width:0;margin:0;white-space:nowrap;overflow:hidden}
.sec-row .sec-pricesel{justify-content:flex-start}
.sec-row .sec-sort:last-child{justify-content:flex-end;margin-left:0}
.sec-row .sec-sort:last-child .sec-sl{display:none}
.sec-row .sec-sort .sec-sv{overflow:hidden;text-overflow:ellipsis}
}

/* телефон: затемнение не прокручивает страницу, меню не передаёт прокрутку странице (вместо overflow:hidden у body) */
.menu-overlay{touch-action:none}
.menu-drawer{overscroll-behavior:contain}


/* десктоп: слева число товаров (на телефоне места нет — скрыто) */
@media(min-width:700px){.sec-count{display:inline !important;margin-right:auto;color:#7b7172;font-size:14px}}

/* маркеры и скидка: один размер, скидка — красная заливка с белым текстом (решение владельца 2026-10-21) */
.product-photo .tag,.product-photo .tag--sale{box-sizing:border-box;display:inline-flex;align-items:center;min-height:22px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:700;line-height:1}
.product-photo .tag--sale{background:var(--red);color:#fff;box-shadow:none}
.product-photo .tag-list{top:10px;left:10px}
.product-photo .tag--sale{top:10px;right:10px}
@media(min-width:1024px){
  .product-photo .tag,.product-photo .tag--sale{min-height:24px;padding:0 12px;font-size:13px}
  .product-photo .tag-list{top:13px;left:13px}
  .product-photo .tag--sale{top:13px;right:13px}
}
.pd-tag,.pd-sale-tag{box-sizing:border-box;display:inline-flex;align-items:center;min-height:25px;padding:0 11px;border-radius:999px;font-size:13px;font-weight:700;line-height:1}
.pd-sale-tag{background:var(--red);color:#fff;box-shadow:none}
@media(max-width:1023px){
  .pd-tag ~ .pd-sale-tag{top:46px !important}
}

/* длинный маркер («Сейчас сезон») + скидка на узкой карточке: скидка под маркером слева, чтобы не наезжали */
@media(max-width:460px){
  .product-photo .tag-list--long ~ .tag--sale{left:10px;right:auto;top:38px}
}

/* уведомление о cookies на десктопе: везде, кроме страниц с рамкой преимуществ (главная, каталог), — тонкая строка по центру внизу */
@media(min-width:1200px){
  .ck.ck--bar{left:50% !important;right:auto !important;bottom:20px !important;width:min(720px,calc(100% - 48px)) !important;flex-wrap:nowrap !important;transform:translate(-50%,24px) !important}
  .ck.ck--bar.on{transform:translateX(-50%) !important}
  .ck.ck--bar p{flex:1 1 auto !important}
  .ck.ck--bar button{width:auto !important;flex:none}
}

/* плашка «Скидка 10% за подписку в Telegram» в правой панели каталога: компактная (значок слева, текст справа, кнопка под ним), ~80 px вместо ~240 */
html.cat-page:not(.tg-off):not(.tg-sec-off) .dtg{display:grid;grid-template-columns:24px 1fr;column-gap:12px;align-items:center;margin:0 0 10px;padding:12px 40px 12px 14px}
html.cat-page .dtg svg.p{width:24px;height:24px;margin:0;grid-row:1 / span 2}
html.cat-page .dtg strong{font-size:15px;line-height:1.2;letter-spacing:-.1px}
html.cat-page .dtg b{margin-top:4px;font-size:13px}
html.cat-page .dtg .dtgx{top:6px;right:6px;width:26px;height:26px;font-size:20px}
