/* отличия главного блока этой страницы от main.css */
.top h1{max-width:22ch;text-wrap:balance}

/* ============================================================
   ВИТРИНА КАТАЛОГА (design-catalog.html)
   Токены дизайн-системы, новых цветов/радиусов нет.
   ============================================================ */
.ct-top{padding:16px 0 0}
.ct-top .wrap{display:flex;align-items:center;justify-content:space-between;gap:14px}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12.5px;color:var(--gray);min-width:0}
.crumbs a{color:var(--gray);white-space:nowrap}
.crumbs a:hover{color:var(--green-dark)}
.crumbs i{font-style:normal;opacity:.45}
.crumbs em{font-style:normal;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}

/* заголовок + факты */
.ct-head{padding:14px 0 2px}
.ct-head h1{font-size:32px}
.ct-lead{max-width:760px;margin-top:10px;font-size:14.5px;color:var(--gray);line-height:1.6}
.ab-row{display:flex;gap:28px;align-items:center}
.ab-txt{flex:1 1 auto;min-width:0}
.ab-ill{flex:0 0 auto;width:150px;display:block}
@media(max-width:900px){.ab-ill{display:none}}
.ct-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.ct-facts span{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--gray);
  background:#fff;box-shadow:var(--sh-sm);padding:7px 14px;border-radius:var(--r-pill)}
.ct-facts svg{width:15px;height:15px;color:var(--green)}
.ct-facts b{color:var(--ink)}

/* ---------- верхняя пара: «Собран сегодня» + вход в общий листинг ---------- */
.ct-hero{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(0,1fr);gap:18px;padding:18px 0 6px}
.ct-today{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.86fr);
  border-radius:var(--r-lg);overflow:hidden;background:#fff;box-shadow:var(--sh-md);
  transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.ct-today:hover{transform:translateY(-3px);box-shadow:var(--sh-lg)}
.ct-today .tx{padding:26px 26px 24px;display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.ct-today .metka{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800;text-transform:uppercase;
  letter-spacing:.05em;color:var(--ink);background:var(--orange);padding:6px 12px;border-radius:var(--r-pill)}
.ct-today .metka svg{width:14px;height:14px}
.ct-today h2{font-size:26px;margin:14px 0 8px}
.ct-today p{font-size:14px;color:var(--gray);line-height:1.55}
.ct-today .meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:16px}
.ct-today .meta i{font-style:normal;font-size:12.5px;font-weight:700;color:var(--green-dark);
  background:var(--green-light);padding:6px 12px;border-radius:var(--r-pill)}
.ct-today .btn{margin-top:16px}
.ct-today .ph{position:relative;background:var(--cream)}
.ct-today .ph img{width:100%;height:100%;object-fit:cover}

.ct-all{position:relative;isolation:isolate;overflow:hidden;border-radius:var(--r-lg);padding:24px;
  background:var(--grad-green);box-shadow:var(--sh-sm);display:flex;flex-direction:column;align-items:flex-start}
.ct-all::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;
  background-image:var(--grain);background-size:220px 220px;opacity:.32;mix-blend-mode:multiply}
.ct-all .ic{width:44px;height:44px;border-radius:50%;background:#fff;color:var(--green-dark);display:grid;place-items:center}
.ct-all .ic svg{width:22px;height:22px}
.ct-all h2{font-size:20px;margin:14px 0 8px}
.ct-all p{font-size:13.5px;color:var(--green-dark);line-height:1.55}
.ct-all .btn{margin-top:auto}
/* картинка «всё одним списком» (10.10.2026): на компьютере – вместо значка, заполняет место между текстом и кнопкой;
   на планшете и телефоне плашка в одну строку, места нет – там значок */
.ct-all-ill{display:block;flex:1 1 0;min-height:0;width:100%;object-fit:contain;margin:10px 0 16px}
@media(min-width:1081px){.ct-all:has(.ct-all-ill) .ic{display:none}.ct-all:has(.ct-all-ill) h2{margin-top:0}}
.ct-all .lnk{margin-top:14px;font-size:13px;font-weight:700;color:var(--green-dark);
  text-decoration:underline;text-underline-offset:3px}
.ct-all .lnk:hover{color:var(--green)}

/* ---------- оси ---------- */
.ct-axis{padding:26px 0 4px}
.ct-axis .sec-head{margin-bottom:2px}
.ct-sub{font-size:13.5px;color:var(--gray);margin-bottom:16px;max-width:720px;line-height:1.55}

/* плитки разделов */
.ct-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.ct-tile{position:relative;display:flex;flex-direction:column;background:#fff;border-radius:var(--r-lg);overflow:hidden;
  box-shadow:var(--sh-sm);transition:transform .28s var(--ease),box-shadow .28s var(--ease)}
.ct-tile:hover{transform:translateY(-4px);box-shadow:var(--sh-md)}
.ct-tile .ph{display:block;aspect-ratio:4/3;background:var(--cream);overflow:hidden}
.ct-tile .ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.ct-tile:hover .ph img{transform:scale(1.045)}
.ct-tile .tx{display:flex;flex-direction:column;flex:1 1 auto;padding:15px 17px 16px;min-width:0}
.ct-tile .tx b{font-family:var(--head);font-size:16px;font-weight:700;line-height:1.25}
.ct-tile .tx small{display:block;font-size:12.5px;color:var(--gray);line-height:1.45;margin-top:5px}
.ct-tile .meta{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:12px}
/* число букетов – зелёная плашка: и в разделах, и в подборках (клиент 11.10.2026) */
.ct-tile .meta i,.ct-pick .meta i{font-style:normal;font-size:12px;font-weight:700;color:var(--green-dark);
  background:var(--green-light);padding:5px 10px;border-radius:var(--r-pill);white-space:nowrap}
.ct-tile .meta em{font-style:normal;margin-left:auto;font-family:var(--head);font-size:14px;font-weight:800;white-space:nowrap}
.ct-tile .go{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;
  background:rgba(255,255,255,.92);color:var(--green-dark);display:grid;place-items:center;
  opacity:0;transform:translateX(-6px);transition:.25s var(--ease)}
.ct-tile .go svg{width:17px;height:17px}
.ct-tile:hover .go{opacity:1;transform:none}

/* подборки – плитки поменьше, фото 16:9 */
.ct-picks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ct-pick{display:flex;flex-direction:column;background:#fff;border-radius:var(--r);overflow:hidden;
  box-shadow:var(--sh-sm);transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.ct-pick:hover{transform:translateY(-3px);box-shadow:var(--sh-md)}
.ct-pick .ph{display:block;aspect-ratio:16/10;background:var(--cream);overflow:hidden}
.ct-pick .ph img{width:100%;height:100%;object-fit:cover}
.ct-pick .tx{padding:12px 14px 14px;display:flex;flex-direction:column;flex:1 1 auto}
.ct-pick .tx b{font-family:var(--head);font-size:14.5px;font-weight:700;line-height:1.25}
.ct-pick .tx small{display:block;font-size:12px;color:var(--gray);line-height:1.4;margin-top:4px}
.ct-pick .meta{display:flex;margin-top:auto;padding-top:12px}

/* допы – плитка-коллаж */
.ct-addons{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:0;background:#fff;
  border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-sm);margin-top:18px}
.ct-addons .tx{padding:22px 24px}
.ct-addons h3{font-size:19px}
.ct-addons p{font-size:13.5px;color:var(--gray);line-height:1.55;margin-top:8px}
.ct-addons .groups{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.ct-addons .groups a{font-size:12.5px;font-weight:700;color:var(--green-dark);background:var(--green-light);
  padding:6px 13px;border-radius:var(--r-pill);transition:.2s}
.ct-addons .groups a:hover{background:var(--green);color:#fff}
.ct-addons .collage{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--cream)}
.ct-addons .collage img{width:100%;height:100%;object-fit:cover}   /* высоту задаёт текстовая колонка */

/* чипы осей */
.ct-chips{display:flex;flex-wrap:wrap;gap:9px}
.ct-chip{display:inline-flex;align-items:center;font-size:13.5px;font-weight:600;background:#fff;
  padding:9px 16px;border-radius:var(--r-pill);box-shadow:inset 0 0 0 1.5px var(--line-2);transition:.2s var(--ease)}
.ct-chip:hover{box-shadow:inset 0 0 0 1.5px var(--green);background:var(--green-light);color:var(--green-dark)}
.ct-chips-note{display:block;margin:14px 0 9px;font-size:11px;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;color:#9AA7AF}

/* цена – четыре порога */
.ct-prices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ct-price{display:block;background:#fff;border-radius:var(--r);padding:18px;box-shadow:var(--sh-sm);
  transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.ct-price:hover{transform:translateY(-3px);box-shadow:var(--sh-md)}
.ct-price b{display:block;font-family:var(--head);font-size:19px;font-weight:800}
.ct-price small{display:block;font-size:12.5px;color:var(--gray);margin-top:6px;line-height:1.45}

/* районы */
.ct-districts{background:#fff;border-radius:var(--r-lg);box-shadow:var(--sh-sm);padding:22px 24px}
.ct-districts h3{font-size:18px;display:flex;align-items:center;gap:9px}
.ct-districts h3 svg{width:19px;height:19px;color:var(--green)}
.ct-districts p{font-size:13.5px;color:var(--gray);line-height:1.55;margin:8px 0 14px}

/* SEO-текст */
.ct-seo{padding:30px 0 6px}
.ct-seo .box{background:#fff;border-radius:var(--r-lg);box-shadow:var(--sh-sm);padding:26px 28px}
.ct-seo h2{font-size:21px}
.ct-seo p{font-size:14px;color:var(--gray);line-height:1.65;margin-top:10px;max-width:900px}
.ct-seo p b{color:var(--ink)}
.ct-seo a{color:var(--green-dark);text-decoration:underline;text-underline-offset:3px}

/* ============================ адаптив ============================ */
@media(max-width:1080px){
  .ct-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ct-picks{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ct-hero{grid-template-columns:minmax(0,1fr);gap:14px}
  .ct-today{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
  .ct-all{flex-direction:row;align-items:center;gap:18px;flex-wrap:wrap}
  .ct-all .ic{flex:0 0 auto}
  .ct-all .tx{flex:1 1 240px;min-width:0}
  .ct-all h2{margin:0 0 6px}
  .ct-all .btn{margin:0}
  .ct-all .lnk{margin:0}
  .ct-all-ill{display:none}
}
@media(max-width:901px){
  .ct-prices{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ct-addons{grid-template-columns:minmax(0,1fr)}
  .ct-addons .collage{min-height:160px}
}
@media(max-width:760px){
  .ct-head h1{font-size:24px}
  .ct-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .ct-picks{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .ct-tile .tx{padding:12px 13px 14px}
  .ct-tile .tx b{font-size:14.5px}
  .ct-tile .tx small{display:none}          /* на мобильном оставляем название + цифры */
  /* в узкой плитке чип + цена в одну строку не влезают – цена обрезалась краем карточки */
  .ct-tile .meta{flex-direction:column;align-items:flex-start;gap:4px;padding-top:10px}
  .ct-tile .meta i,.ct-pick .meta i{background:none;padding:0;color:var(--gray);font-weight:600;font-size:11.5px}
  .ct-tile .meta em{margin-left:0;font-size:15px}
  .ct-tile .go{display:none}
  /* верх держим компактным: часть фактов дублирует бегущую строку */
  .ct-facts span:nth-child(n+4){display:none}
  .ct-today{grid-template-columns:minmax(0,1fr);border-radius:var(--r)}
  .ct-today .ph{aspect-ratio:16/10;order:-1}
  .ct-today .tx{padding:18px}
  .ct-today h2{font-size:21px}
  .ct-all{padding:18px;border-radius:var(--r)}
  .ct-axis{padding:20px 0 2px}
  .ct-seo .box{padding:18px}
  .ct-districts{padding:18px}
}
@media(max-width:520px){
  .ct-picks{grid-template-columns:minmax(0,1fr)}
  .ct-pick{flex-direction:row}
  .ct-pick .ph{width:104px;flex:0 0 auto;aspect-ratio:1}
  .ct-pick .tx{padding:11px 13px}
}
@media(max-width:370px){
  .ct-head h1{font-size:21px}
  .ct-grid{grid-template-columns:minmax(0,1fr)}
  .ct-tile .ph{aspect-ratio:16/9}
  .ct-prices{grid-template-columns:minmax(0,1fr)}
  .ct-chip{font-size:12.5px;padding:8px 13px}
}
/* объёмные иконки */
/* Иконка – один <use> на общий спрайт в начале <body>; размеры бьются с
   правилами вроде «.ho-card h3 svg{width:19px}», поэтому здесь !important:
   это намеренный слой поверх постраничных размеров, а не случайная правка. */
svg.i3{width:22px!important;height:22px!important;color:inherit}
.ic.ic3{background:none!important;border-radius:0!important}
.ic.ic3 svg.i3{width:100%!important;height:100%!important;min-width:18px;min-height:18px}
.sub-bonus svg.i3{width:17px!important;height:17px!important}
.th-ok svg.i3{width:34px!important;height:34px!important}
.seg svg.i3,.pd-dl svg.i3{width:20px!important;height:20px!important}

.di.di3{background:none!important;box-shadow:none!important;width:38px!important;height:38px!important;justify-self:start}
.di.di3 svg.i3{width:38px!important;height:38px!important}

/* кнопка подписки стала ссылкой в группу ВКонтакте – у <a> свои дефолты */
.sub .btn-slide{text-decoration:none;color:inherit}
