/* ════════════════════════════════════════════════════════
   mobile-tune.css — аккуратная мобильная версия (октябрь 2026).
   Подключается ПОСЛЕДНИМ на всех страницах. Только телефон (≤600px):
   компактнее бегущая строка, заголовки в одну строку, мельче тексты
   и кнопки, карусели — почти во всю ширину с краем следующей карточки.
   ════════════════════════════════════════════════════════ */
.t-short { display: none; }

@media (max-width: 600px) {
  /* Короткие тексты для телефона: длинный прячем, короткий показываем */
  .t-long { display: none !important; }
  .t-short { display: inline !important; }

  /* ── Бегущая строка на главной: ниже и мельче ── */
  .home-marquee { height: auto !important; padding-top: 7px !important; padding-bottom: 7px !important; min-height: 0 !important; }
  .home-marquee__item, .home-marquee__separator { font-size: 10.5px !important; line-height: 1 !important; letter-spacing: .06em !important; }
  .home-marquee__viewport, .home-marquee__track, .home-marquee__group { height: auto !important; }

  /* ── Заголовки блоков — меньше, в одну строку ── */
  .home-showcase__title, .home-categories__title, .home-blog__title, .fmt__title,
  .catalog-corporate__title, .contacts-channels__title, .co-section-title,
  .w-services__title, .w-process__title, .w-portfolio__title, .w-packages__title, .w-intro__title, .w-form__title, .w-faq__title,
  .decor-types__title, .decor-statement__title, .decor-scale__title, .decor-request__title, .decor-process-intro__title, .decor-portfolio__title {
    font-size: clamp(19px, 6.2vw, 25px) !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
  }
  .home-showcase__title br, .home-categories__title br, .ea-title br, .ea-hero__h1 br { display: none; }
  .home-showcase__head, .home-blog__head { align-items: center !important; gap: 10px !important; }
  .home-showcase__all, .home-showcase__head a, .home-blog__all-link { font-size: 10px !important; letter-spacing: .14em !important; white-space: nowrap; }

  /* ── Карточки товаров: мельче название, цена и кнопки ── */
  .home-product-card__title, .product-card__name { font-size: 14px !important; line-height: 1.25 !important; }
  .home-product-card__price, .product-card__price { font-size: 12px !important; }
  .product-card__desc { font-size: 11.5px !important; }
  .home-product-card__more, .home-product-card__actions a, .home-product-card__actions button,
  .product-card__btn {
    font-size: 9px !important; letter-spacing: .12em !important;
    min-height: 34px !important; height: auto !important; padding: 9px 8px !important;
  }

  /* ── Карусели товаров: карточка почти во всю ширину, видно край следующей ── */
  .home-showcase__track { grid-auto-columns: 74vw !important; gap: 10px !important; }
  @supports (width: 1cqi) { .home-showcase__track { grid-auto-columns: calc(100cqi * .74) !important; } }

  /* ── Категории «по поводу и настроению»: шире, подпись намного мельче ── */
  #categories .home-categories__item { flex: 0 0 74% !important; }
  .home-categories__item span { font-size: 17px !important; line-height: 1.25 !important; }
  .home-categories__all { font-size: 10px !important; }

  /* ── Цветочная подписка на главной: как было, чуть ниже, текст чуть мельче ── */
  .home-subscription__card { min-height: 420px !important; padding: 46px 22px 34px !important; }
  .home-subscription__mark { font-size: 26px !important; }
  .home-subscription__title { font-size: 28px !important; }
  .home-subscription__text { font-size: 10.5px !important; line-height: 1.55 !important; }
  .home-subscription__link { font-size: 13px !important; }
  .home-subscription__note { font-size: 10px !important; }

  /* ── «Наши преимущества»: карточки-перевёртыши мельче ── */
  .fmt__front-title { font-size: 19px !important; line-height: 1.15 !important; }
  .fmt__back-title { font-size: 16px !important; line-height: 1.2 !important; margin-bottom: 6px !important; }
  .fmt__back-text { font-size: 11px !important; line-height: 1.45 !important; }
  .fmt__offer { font-size: 10px !important; line-height: 1.4 !important; }

  /* ── Оформление (после преимуществ) и частые вопросы ── */
  .ea-hero__h1 { font-size: min(22px, 5.3vw) !important; line-height: 1.15 !important; }
  .ea-hero__h1 .t-short, .ea-title .t-short { white-space: nowrap; }
  .ea-hero__lead { font-size: 12px !important; line-height: 1.55 !important; }
  .ea-eyebrow { font-size: 12px !important; line-height: 1.2 !important; }
  .ea-title { font-size: 22px !important; line-height: 1.15 !important; }
  .ea-philo .ea-title { font-size: min(22px, 4.6vw) !important; }
  /* Слово «философия» над заголовком — крупнее */
  .ea-philo .ea-eyebrow { font-size: 18px !important; }
  .ea-philo__p { font-size: 12px !important; line-height: 1.6 !important; }
  /* Блоки «Оформляем…» и «Философия» — прежней высоты, текст по центру */
  #ea-home-hero .ea-hero__right { min-height: 500px; display: flex; flex-direction: column; justify-content: space-between; }
  #ea-home-hero .ea-hero__mid { flex: 1 1 auto; display: flex; flex-direction: column; justify-content: center; }
  #ea-home-philo .ea-philo__text { min-height: 500px; display: flex; flex-direction: column; justify-content: flex-start; padding: 34px 36px 48.72px !important; }
  #ea-home-philo .ea-philo__p { text-align: center !important; }
  /* Как в блоке выше: надпись сверху, заголовок с текстом посередине, логотип внизу */
  #ea-home-philo .ea-eyebrow { margin: 40px 0 0 !important; }
  #ea-home-philo .ea-title { margin: auto 0 0 !important; }
  #ea-home-philo .ea-philo__p { margin: 22px 0 auto !important; }
  #ea-home-philo .ea-philo__text > div:last-child { margin: 0 0 14px !important; line-height: 0; }
  .ea-faq__q { font-size: 12.5px !important; line-height: 1.3 !important; font-weight: 600 !important; }
  .ea-faq p, .ea-faq__a, .ea-faq__a p, .ea-faq [class*="answer"], .ea-faq dd { font-size: 11px !important; line-height: 1.55 !important; }
  /* Ответы — во всю ширину (максимум 3 строки): у ответа нет значка «+», отступ справа не нужен */
  .ea-faq { padding-left: 16px !important; padding-right: 16px !important; }
  .ea-faq__a p { padding-right: 0 !important; letter-spacing: 0 !important; }

  /* ── Блог пользы: заголовки в одну строку, текст мельче ── */
  .home-article-card__title { font-size: 15px !important; line-height: 1.25 !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .home-article-card__text { font-size: 10.5px !important; line-height: 1.5 !important; }
  /* Заголовок слева, «Больше новостей» справа — в одну строку */
  .home-blog__head { display: flex !important; flex-direction: row !important; align-items: center !important; justify-content: space-between !important; flex-wrap: nowrap !important; }
  .home-blog__head .home-blog__title { margin: 0 !important; text-align: left !important; }
  .home-blog__all-link { margin: 0 !important; flex: 0 0 auto; }
  /* Над «Частыми вопросами» — без мелкой надписи */
  .ea-faq .ea-eyebrow { display: none !important; }
}

/* ── Меню-бургер: уже и выезжает слева (со стороны кнопки) ── */
@media (max-width: 1024px) {
  .site-header__mobile-panel {
    left: 0 !important; right: auto !important;
    width: min(320px, 78vw) !important;
    transform: translateX(-100%) !important;
    box-shadow: 12px 0 48px rgba(27, 26, 24, .12) !important;
    padding-left: 24px !important; padding-right: 22px !important;
  }
  body.is-nav-open .site-header__mobile-panel { transform: translateX(0) !important; }
  /* Шапка с крестиком — поверх открытого меню, чтобы его можно было закрыть */
  body.is-nav-open #siteTop { z-index: 152 !important; }
  body.is-nav-open .site-header__menu-toggle { color: #1B1A18 !important; }
  body.is-nav-open .site-header__menu-lines::before, body.is-nav-open .site-header__menu-lines::after { background: #1B1A18 !important; }
}

/* ── Шапка на телефоне: логотип строго по центру, иконки поменьше ── */
@media (max-width: 1024px) {
  .site-header__inner { grid-template-columns: 1fr auto 1fr !important; }
  .site-header__menu-toggle { justify-self: start; }
  .site-header__logo { justify-self: center; grid-column: 2; }
  .site-header__actions { justify-self: end; grid-column: 3; gap: 6px !important; }
  .site-header__actions .site-header__icon { width: 36px !important; height: 36px !important; min-width: 36px !important; min-height: 36px !important; }
  .site-header__actions .site-header__icon svg { width: 16px !important; height: 16px !important; }
}

/* ── Фото в карточках на телефоне — примерно на 10% ниже ── */
@media (max-width: 600px) {
  .home-product-card__media { aspect-ratio: 3 / 3.7 !important; }
  .product-card__media { aspect-ratio: 2 / 2.7 !important; }
  .home-categories__photo { height: 268px !important; }
  #categories .home-categories__item { height: auto !important; }
  .home-article-card__media { aspect-ratio: 3 / 3.4 !important; }
  .fmt__card { aspect-ratio: 4 / 4.5 !important; }
}

/* ════════ «Дыхание» кнопок — как у «Оформить заказ» в корзине ════════
   Кнопка мягко увеличивается и отбрасывает пульсирующую тень. При
   наведении замирает. Фильтры и переключатели не дышат — только действия. */
.btn, .ea-btn, .product-card__btn, .home-product-card__more, .co-btn, .sf2-round__btn, .sfm-icon,
.rn-bar .btn, .bb-form__submit {
  --breathe-shadow: 27, 26, 24;
  animation: palomaBreathe 2.2s cubic-bezier(.22, 1, .36, 1) infinite;
}
.ea-btn, .sf2-round__btn, .co-btn--primary { --breathe-shadow: 231, 56, 90; }
.btn:hover, .ea-btn:hover, .product-card__btn:hover, .home-product-card__more:hover, .co-btn:hover,
.sf2-round__btn:hover, .sfm-icon:hover, .bb-form__submit:hover,
.btn:disabled, .co-btn:disabled, .product-card__btn:disabled, .rn-locked-btn { animation: none; }
/* Соседние кнопки дышат не в такт — спокойнее для глаза */
.product-card__btn--cart, .home-product-card__actions > :nth-child(2) { animation-delay: .35s; }
/* Тень падает только ВНИЗ (отрицательный разброс не даёт ей
   расползаться в стороны) и помещается под кнопкой даже в карточке */
@keyframes palomaBreathe {
  0%, 100% { transform: scale(1); box-shadow: 0 4px 10px -6px rgba(var(--breathe-shadow), .28); }
  50% { transform: scale(1.04); box-shadow: 0 12px 18px -10px rgba(var(--breathe-shadow), .5); }
}
/* В карточках товаров: увеличение мягче, тень короче — карточка обрезает
   всё, что выходит за её края (под кнопкой ~20px) */
.product-card__btn, .home-product-card__more { animation-name: palomaBreatheCard; }
@keyframes palomaBreatheCard {
  0%, 100% { transform: scale(1); box-shadow: 0 3px 8px -5px rgba(var(--breathe-shadow), .3); }
  50% { transform: scale(1.025); box-shadow: 0 9px 12px -8px rgba(var(--breathe-shadow), .55); }
}
@media (prefers-reduced-motion: reduce) {
  .btn, .ea-btn, .product-card__btn, .home-product-card__more, .co-btn, .sf2-round__btn, .sfm-icon, .bb-form__submit { animation: none !important; }
}

/* ── Первый экран главной на телефоне: по ВИДИМОЙ высоте (без панелей
   браузера) и чуть меньше неё — кнопка «Выбрать букет» видна сразу ── */
@media (max-width: 768px) {
  .paloma-cover {
    height: calc(100vh + var(--paloma-header-offset, 88px) - 120px) !important;
    height: calc(100svh + var(--paloma-header-offset, 88px) - 48px) !important;
    min-height: calc(520px + var(--paloma-header-offset, 88px)) !important;
  }
}

/* «Выбрать букет» на первом экране — тоже дышит: сначала появляется,
   затем (с 2.7s) мягко дышит, как остальные кнопки */
.paloma-cover__cta {
  --breathe-shadow: 27, 26, 24;
  animation: coverFadeUp 1s cubic-bezier(.22, 1, .36, 1) 1.7s forwards,
             palomaBreathe 2.2s cubic-bezier(.22, 1, .36, 1) 2.7s infinite !important;
}
.paloma-cover__cta:hover { animation: coverFadeUp 0s forwards !important; }
@media (prefers-reduced-motion: reduce) { .paloma-cover__cta { animation: none !important; opacity: 1 !important; } }

/* ── Пункты меню-бургера — мельче и плотнее ── */
@media (max-width: 1024px) {
  .site-header__mobile-link { font-size: 11px !important; letter-spacing: .14em !important; padding: 10px 0 !important; line-height: 1.3 !important; }
  .site-header__mobile-section-title { font-size: 9px !important; margin-top: 10px !important; }
  .site-header__mobile-phone { font-size: 13px !important; }
}

/* корзина и избранное на телефоне — узкая панель, как бургер (только справа) */
@media (max-width: 1024px) {
  .cart-drawer__panel { width: min(320px, 78vw) !important; }
}

/* панели корзины и избранного на телефоне — те же размеры, что в бургере */
@media (max-width: 1024px) {
  .cart-drawer__header { padding: 18px 18px 14px !important; }
  .cart-drawer__title { font-size: 13px !important; letter-spacing: .16em !important; text-transform: uppercase !important; font-style: normal !important; line-height: 1.3 !important; }
  .cart-drawer__close { width: 30px !important; height: 30px !important; }
  .cart-drawer__close svg { width: 12px !important; height: 12px !important; }
  .cart-drawer__body, .cart-drawer__list { padding-left: 18px !important; padding-right: 18px !important; }
  .cart-drawer__item { gap: 10px !important; padding: 12px 0 !important; }
  .cart-drawer__item-media { width: 56px !important; height: 70px !important; flex: 0 0 56px !important; }
  .cart-drawer__item-name { font-size: 11px !important; letter-spacing: .06em !important; line-height: 1.35 !important; }
  .cart-drawer__item-size { font-size: 9.5px !important; }
  .cart-drawer__item-price { font-size: 11.5px !important; }
  .cart-drawer__item-remove { width: 24px !important; height: 24px !important; }
  .cart-drawer .cart-qty-btn { width: 22px !important; height: 22px !important; font-size: 12px !important; }
  .cart-drawer .cart-qty-val { font-size: 11px !important; }
  .cart-drawer__empty-icon { transform: scale(.7); }
  .cart-drawer__empty-title { font-size: 13px !important; letter-spacing: .14em !important; text-transform: uppercase !important; font-style: normal !important; }
  .cart-drawer__empty-text { font-size: 11px !important; line-height: 1.5 !important; }
  .cart-drawer__footer { padding: 14px 18px 18px !important; gap: 10px !important; }
  .cart-drawer__total-label { font-size: 9px !important; letter-spacing: .14em !important; text-transform: uppercase !important; }
  .cart-drawer__total-val { font-size: 15px !important; }
  .cart-drawer__checkout, .cart-drawer__empty-cta { font-size: 11px !important; letter-spacing: .22em !important; padding: 14px 26px !important; min-height: 0 !important; }
  .cart-drawer__continue { font-size: 10.5px !important; }
  .wishlist-drawer__incart, .wishlist-drawer .cart-drawer__item button:not(.cart-drawer__item-remove) { font-size: 9.5px !important; letter-spacing: .1em !important; }
}

/* кофейня на телефоне: меню мельче, кнопки блоков «лимонады» и «десерты» — обычного размера */
@media (max-width: 768px) {
  .cfm-name { font-size: 13px !important; line-height: 1.3 !important; }
  .cfm-price { font-size: 12px !important; }
}
@media (max-width: 768px) {
  .cf-philo .ea-philo__media { min-height: 80svh !important; }
  .cf-philo .ea-philo__media video { height: 100% !important; min-height: 80svh; object-fit: cover; }
}

/* кофейня: окно позиции меню на телефоне — всё компактнее */
@media (max-width: 768px) {
  .cf-modal__close { width: 32px !important; height: 32px !important; font-size: 18px !important; }
  .cf-modal__cat { font-size: 10px !important; }
  .cf-modal__title { font-size: 19px !important; }
  .cf-modal__desc { font-size: 11.5px !important; line-height: 1.45 !important; }
  .cf-bld__l { font-size: 9.5px !important; }
  .cf-seg__b { padding: 7px 6px !important; border-radius: 10px !important; font-size: 12px !important; }
  .cf-seg__b b { font-size: 12px !important; }
  .cf-seg__b span { font-size: 10px !important; }
  .cf-add { padding: 7px 11px !important; gap: 6px !important; }
  .cf-add__n { font-size: 12px !important; }
  .cf-add__p { font-size: 10.5px !important; }
  .cf-modal__add { font-size: 11px !important; letter-spacing: .18em !important; padding: 13px 22px !important; }
  .cf-modal__added { font-size: 11.5px !important; }
}

/* кофейня на телефоне: блоки-шторки — тот же формат, что «Оформляем, чтобы запомнили»
   и «Философия» на главной: высота 500, надпись сверху, заголовок с текстом
   посередине, кнопка / логотип внизу; размеры текстов и кнопки — те же */
@media (max-width: 768px) {
  .coffee-page .cf-lemon .ea-hero__right, .coffee-page .cf-sweetblock .ea-hero__right {
    min-height: 500px !important; display: flex !important; flex-direction: column !important;
    justify-content: space-between !important; gap: 0 !important; padding: 34px 36px 48.72px !important;
  }
  .cf-lemon .ea-hero__mid, .cf-sweetblock .ea-hero__mid { flex: 1 1 auto; display: flex; flex-direction: column; justify-content: center; margin: 0 !important; }
  .cf-lemon .ea-eyebrow, .cf-sweetblock .ea-eyebrow { margin: 40.6px 0 0 !important; text-align: center; align-self: center; }
  .cf-lemon .ea-hero__h1, .cf-sweetblock .ea-hero__h1 { margin: 0 !important; }
  .coffee-page .cf-lemon .ea-hero__right .ea-hero__lead, .coffee-page .cf-sweetblock .ea-hero__right .ea-hero__lead { margin: 22px 0 38px !important; }
  .coffee-page .cf-lemon .ea-hero__right .ea-btn, .coffee-page .cf-sweetblock .ea-hero__right .ea-btn {
    font-size: 12px !important; letter-spacing: .08em !important; padding: 16px 30px !important;
    width: 100% !important; height: auto !important; min-height: 0 !important; border-radius: 12px !important;
    gap: 10px !important; align-self: stretch !important; margin: 0 !important;
  }
  .cf-lemon .ea-btn svg, .cf-sweetblock .ea-btn svg { width: 16px !important; height: 16px !important; }

  .cf-philo .ea-philo__text { min-height: 500px !important; display: flex !important; flex-direction: column !important; justify-content: flex-start !important; padding: 34px 36px 48.72px !important; }
  .cf-philo .ea-philo__p { text-align: center !important; }
  .cf-philo .ea-eyebrow { margin: 40px 0 0 !important; }
  .cf-philo .ea-title { margin: auto 0 0 !important; }
  .cf-philo .ea-philo__p { margin: 22px 0 auto !important; }
  .cf-philo .ea-philo__text > div:last-child { margin: 0 0 14px !important; line-height: 0; }
}
/* кофейня, телефон: категории меню — компактные чипсы */
@media (max-width: 768px) {
  #cf-menu .catalog-filter-btn { font-size: 10.5px !important; padding: 8px 13px !important; min-height: 0 !important; height: auto !important; border-radius: 9px !important; letter-spacing: .02em !important; line-height: 1.2 !important; }
  #cf-menu .catalog-filters, #cf-menu [class*="filters"] { gap: 6px !important; }
}
/* кофейня, телефон: текст под заголовками — мельче */
@media (max-width: 768px) {
  .coffee-ea .ea-philo__p, .coffee-ea .ea-hero__lead, .coffee-ea .ea-proc__lead { font-size: 11px !important; line-height: 1.6 !important; }
  .coffee-ea .ea-step__d { font-size: 11px !important; line-height: 1.55 !important; }
}
@media (max-width: 768px) {
  #cf-steps .ea-proc__intro .ea-proc__lead { font-size: 11px !important; line-height: 1.6 !important; }
  #cf-steps .ea-proc__intro .ea-title { font-size: 22px !important; line-height: 1.15 !important; }
}
@media (max-width: 768px) { #cf-steps .ea-step__d { font-size: 11px !important; line-height: 1.6 !important; } }
/* оформление, телефон: «Наш процесс» — как «Кофе на дом» в кофейне */
@media (max-width: 768px) {
  #process .ea-proc__intro .ea-title { font-size: 22px !important; line-height: 1.15 !important; }
  #process .ea-proc__intro .ea-proc__lead { font-size: 11px !important; line-height: 1.6 !important; }
  #process .ea-step__d { font-size: 11px !important; line-height: 1.6 !important; }
}
/* оформление, телефон: первые два блока — в формате первого блока кофейни:
   фото 80% экрана, карточка 500px, надпись сверху, текст посередине, низ — кнопка/логотип */
@media (max-width: 768px) {
  .ea-hero#top .ea-hero__left { height: 88svh !important; min-height: 88svh !important; }
  .ea-philo#philosophy .ea-philo__media { height: 80svh !important; min-height: 80svh !important; }
  .ea-hero#top .ea-hero__left > img, .ea-philo#philosophy .ea-philo__media img { width: 100% !important; height: 100% !important; object-fit: cover !important; }

  .ea-hero#top .ea-hero__right { min-height: 500px !important; display: flex !important; flex-direction: column !important; justify-content: space-between !important; gap: 0 !important; padding: 34px 36px 48.72px !important; }
  .ea-hero#top .ea-hero__logo { margin: 40.6px auto 0 !important; }
  .ea-hero#top .ea-hero__mid { flex: 1 1 auto; display: flex; flex-direction: column; justify-content: center; margin: 0 !important; }
  .ea-hero#top .ea-hero__h1 { margin: 0 !important; }
  .ea-hero#top .ea-hero__lead { font-size: 11px !important; line-height: 1.6 !important; margin: 22px 0 38px !important; }

  .ea-philo#philosophy .ea-philo__text { min-height: 500px !important; display: flex !important; flex-direction: column !important; justify-content: flex-start !important; padding: 34px 36px 48.72px !important; }
  .ea-philo#philosophy .ea-eyebrow { margin: 40px 0 0 !important; }
  .ea-philo#philosophy .ea-title { margin: auto 0 0 !important; }
  .ea-philo#philosophy .ea-philo__p { font-size: 11px !important; text-align: center !important; margin: 22px 0 auto !important; }
  .ea-philo#philosophy .ea-philo__text > div:last-child { margin: 0 0 14px !important; line-height: 0; }
}
/* оформление, телефон: карточки «Свадебное оформление» / «Частное событие» — мельче и аккуратнее */
@media (max-width: 768px) {
  .ea-serv__num { font-size: 10px !important; }
  .ea-serv__ctitle { font-size: 22px !important; line-height: 1.2 !important; }
  .ea-serv__slash { font-size: 11px !important; line-height: 1.55 !important; }
  .ea-serv__price { font-size: 10px !important; letter-spacing: .14em !important; padding-top: 10px !important; }
  .ea-serv__hint { font-size: 9px !important; padding: 5px 9px !important; gap: 4px !important; }
  .ea-serv__hint svg { width: 10px !important; height: 10px !important; }
}
/* оформление, телефон: форма заявки — компактнее. Текст в полях оставляем 16px,
   иначе iPhone увеличивает страницу при нажатии на поле; подсказки — мельче */
@media (max-width: 768px) {
  #contact .ea-form { gap: 9px !important; row-gap: 9px !important; }
  #contact .ea-form input:not([type="checkbox"]):not([type="range"]), #contact .evd-sel__btn {
    height: 46px !important; min-height: 0 !important; padding: 0 16px !important; border-radius: 12px !important; font-size: 16px !important;
  }
  #contact .ea-form input::placeholder { font-size: 13px !important; }
  #contact .evd-sel__val, #contact .evd-sel__val.is-placeholder { font-size: 13px !important; font-style: normal !important; }
  #contact .evd-sel__opt { font-size: 13px !important; padding: 10px 14px !important; }
  #contact .ea-range__bubble { font-size: 12px !important; padding: 2px 9px !important; }
  #contact .ea-form__field span, #contact .ea-range__scale span { font-size: 11px !important; }
  #contact .ea-form label:has(input[type="checkbox"]), #contact .ea-form label:has(input[type="checkbox"]) a { font-size: 11px !important; line-height: 1.45 !important; }
  #contact .ea-form .ea-btn { margin-top: 6px !important; }
  #contact .ea-title { margin-bottom: 18px !important; }
}
/* блок «Процесс» на телефоне: снова закреплён и листается вертикальной прокруткой
   (ведёт paloma-hscroll.js). Высоты в lvh — не меняются при скрытии адресной строки */
@media (max-width: 900px) {
  #process, #cf-steps { height: 340vh !important; height: 340lvh !important; }
  #process .ea-proc__sticky, #cf-steps .ea-proc__sticky {
    position: sticky !important; top: 0 !important;
    height: 100vh !important; height: 100lvh !important;
    overflow: hidden !important; display: flex !important; flex-direction: column !important; justify-content: center !important;
  }
  #process .ea-proc__track, #cf-steps .ea-proc__track {
    overflow: visible !important; scroll-snap-type: none !important;
    will-change: transform !important; height: 86vh !important; height: 86svh !important; flex: 0 0 auto !important;
    align-self: flex-start !important;
  }
  #process .ea-proc__panel, #cf-steps .ea-proc__panel { scroll-snap-align: none !important; }
}
/* оформление, «Наш процесс», шаги 01 и 03 на телефоне: фото выше, отступы
   от текста сверху и снизу одинаковые (~36px при высоте шага ~700px) */
@media (max-width: 900px) {
  #process .ea-proc-step .ea-proc__ph--a,
  #process .ea-proc-step:nth-child(2) .ea-proc__ph--a,
  #process .ea-proc-step:last-child .ea-proc__ph--d { top: 16% !important; height: 30.5% !important; }
  #process .ea-proc-step .ea-proc__ph--b,
  #process .ea-proc-step:last-child .ea-proc__ph--e { top: 68.2% !important; height: 30.5% !important; }
  #process .ea-proc-step:nth-child(2) .ea-step__t--top,
  #process .ea-proc-step:last-child .ea-step__t--top { top: 51.7% !important; }
  #process .ea-proc-step:nth-child(2) .ea-step__body--lo,
  #process .ea-proc-step:last-child .ea-step__body--hi { top: 57.7% !important; }
}
/* шаги 01/03: текст привязан к верхнему фото пикселями, нижнее фото занимает
   остаток до низа — на низких/узких экранах текст (до 4 строк) не налезает */
@media (max-width: 900px) {
  #process .ea-proc-step:nth-child(2) .ea-step__t--top,
  #process .ea-proc-step:last-child .ea-step__t--top { top: calc(46.5% + 28px) !important; }
  #process .ea-proc-step:nth-child(2) .ea-step__body--lo,
  #process .ea-proc-step:last-child .ea-step__body--hi { top: calc(46.5% + 66px) !important; }
  #process .ea-proc-step .ea-proc__ph--b,
  #process .ea-proc-step:last-child .ea-proc__ph--e { top: auto !important; bottom: 1.3% !important; height: calc(52.2% - 160px) !important; }
}

/* ════════ «Наш процесс» (#process) и этапы кофейни (#cf-steps) на телефоне ════════
   Чистая раскладка вместо коллажа с абсолютными координатами: каждый шаг —
   на весь экран; сверху номер с заголовком, под ним текст, ниже фото на всю
   ширину, которые делят оставшуюся высоту поровну. Ничего не налезает при
   любой высоте экрана (ряд фото — 1fr, текст — по содержимому). */
@media (max-width: 900px) {
  #process .ea-proc__track, #cf-steps .ea-proc__track { height: 100vh !important; height: 100svh !important; align-items: stretch !important; }
  #process .ea-proc__track > .ea-proc__panel, #cf-steps .ea-proc__track > .ea-proc__panel {
    width: 100vw !important; flex: 0 0 100vw !important; height: 100% !important; box-sizing: border-box !important;
  }
  #process .ea-proc__track > .ea-proc__intro, #cf-steps .ea-proc__track > .ea-proc__intro {
    padding: 0 24px !important; display: flex !important; flex-direction: column !important; justify-content: center !important;
  }
  #process .ea-proc__track > .ea-proc-step, #cf-steps .ea-proc__track > .ea-proc-step {
    position: relative !important; display: grid !important; grid-template-columns: 1fr !important;
    grid-template-rows: auto auto minmax(0, 1fr) minmax(0, 1fr) !important; row-gap: 12px !important;
    padding: 86px 20px 22px !important;
  }
  /* шаг 02 — одно большое фото */
  #process .ea-proc__track > .ea-proc-step:has(.ea-proc__ph--c), #cf-steps .ea-proc__track > .ea-proc-step:has(.ea-proc__ph--c) {
    grid-template-rows: auto auto minmax(0, 1fr) !important;
  }
  #process .ea-proc__track .ea-proc-step .ea-step__t.ea-step__t, #cf-steps .ea-proc__track .ea-proc-step .ea-step__t.ea-step__t {
    position: static !important; inset: auto !important; width: auto !important; margin: 0 !important; order: 1;
    font-size: 20px !important; line-height: 1.15 !important;
  }
  #process .ea-proc__track .ea-proc-step .ea-step__body.ea-step__body, #cf-steps .ea-proc__track .ea-proc-step .ea-step__body.ea-step__body {
    position: static !important; inset: auto !important; width: auto !important; max-width: none !important; margin: 0 0 6px !important; order: 2;
    transform: none !important;
  }
  #process .ea-proc__track .ea-proc-step .ea-step__d, #cf-steps .ea-proc__track .ea-proc-step .ea-step__d { margin: 0 !important; }
  #process .ea-proc__track .ea-proc-step .ea-proc__ph.ea-proc__ph, #cf-steps .ea-proc__track .ea-proc-step .ea-proc__ph.ea-proc__ph {
    position: static !important; inset: auto !important; transform: none !important; rotate: none !important;
    width: 100% !important; height: 100% !important; min-height: 0 !important; max-width: none !important; aspect-ratio: auto !important;
    object-fit: cover !important; border-radius: 16px !important; margin: 0 !important; order: 3;
  }
  #process .ea-proc__track .ea-proc-step .ea-proc__ph--b.ea-proc__ph--b, #process .ea-proc__track .ea-proc-step .ea-proc__ph--e.ea-proc__ph--e,
  #cf-steps .ea-proc__track .ea-proc-step .ea-proc__ph--b.ea-proc__ph--b, #cf-steps .ea-proc__track .ea-proc-step .ea-proc__ph--e.ea-proc__ph--e { order: 4; }
  #process .ea-proc__arrow, #cf-steps .ea-proc__arrow { display: none !important; }
}
@media (max-width: 1024px) {
  .ea-serv__card--flip .ea-serv__face--back { display: flex !important; flex-direction: column !important; justify-content: flex-start !important; }
  .ea-serv__card--flip .ea-serv__face--back .ea-serv__slash { margin: 14px 0 0 !important; }
  .ea-serv__card--flip .ea-serv__face--back .ea-serv__price { margin-top: auto !important; }
}
/* «Наш процесс» / этапы кофейни, шаги 01 и 03: фото → заголовок и текст → фото */
@media (max-width: 900px) {
  #process .ea-proc__track > .ea-proc-step:has(.ea-proc__ph--b), #process .ea-proc__track > .ea-proc-step:has(.ea-proc__ph--e),
  #cf-steps .ea-proc__track > .ea-proc-step:has(.ea-proc__ph--b), #cf-steps .ea-proc__track > .ea-proc-step:has(.ea-proc__ph--e) {
    grid-template-rows: minmax(0, 1fr) auto auto minmax(0, 1fr) !important;
  }
  #process .ea-proc__track .ea-proc-step .ea-proc__ph--a.ea-proc__ph--a, #process .ea-proc__track .ea-proc-step .ea-proc__ph--d.ea-proc__ph--d,
  #cf-steps .ea-proc__track .ea-proc-step .ea-proc__ph--a.ea-proc__ph--a, #cf-steps .ea-proc__track .ea-proc-step .ea-proc__ph--d.ea-proc__ph--d { order: 0 !important; }
  #process .ea-proc__track .ea-proc-step:has(.ea-proc__ph--b) .ea-step__t, #process .ea-proc__track .ea-proc-step:has(.ea-proc__ph--e) .ea-step__t,
  #cf-steps .ea-proc__track .ea-proc-step:has(.ea-proc__ph--b) .ea-step__t, #cf-steps .ea-proc__track .ea-proc-step:has(.ea-proc__ph--e) .ea-step__t { margin-top: 4px !important; }
}
/* фото в блоке процесса: тонкая рамка */
@media (max-width: 900px) {
  #process .ea-proc__track .ea-proc-step .ea-proc__ph.ea-proc__ph, #cf-steps .ea-proc__track .ea-proc-step .ea-proc__ph.ea-proc__ph { border-width: 1.2px !important; }
}
@media (max-width: 900px) {
  #process .ea-proc__track .ea-proc-step .ea-proc__ph--d.ea-proc__ph--d { object-position: 50% 35% !important; }
}
/* каталог (и аренда) на телефоне: верхние кнопки компактнее */
@media (max-width: 768px) {
  .catalog-filter-btn { font-size: 10.5px !important; padding: 8px 13px !important; min-height: 0 !important; height: auto !important; border-radius: 9px !important; line-height: 1.2 !important; }
  .catalog-filters { gap: 6px !important; padding-top: 10px !important; padding-bottom: 10px !important; }
  .catalog-budget-btn, .catalog-select__trigger { font-size: 10.5px !important; padding: 6px 11px !important; min-height: 0 !important; height: auto !important; line-height: 1.2 !important; }
  .catalog-tools__label { font-size: 9px !important; }
  .catalog-tools, .catalog-tools__group { gap: 6px !important; row-gap: 8px !important; }
}
/* доставка / оплата / уход / контакты на телефоне: тексты и плашки компактнее,
   в одном масштабе с остальным сайтом */
@media (max-width: 768px) {
  .contacts-studio__visual { height: auto !important; max-height: 260px !important; }
  .contacts-studio__panel { padding: 22px 20px !important; border-radius: 18px !important; }
  .contacts-studio__brand { font-size: 21px !important; line-height: 1.15 !important; margin-bottom: 8px !important; }
  .contacts-studio__subtitle { font-size: 11.5px !important; line-height: 1.55 !important; }
  .contacts-studio__row { padding: 10px 0 !important; font-size: 12px !important; line-height: 1.5 !important; }
  .contacts-studio__row > span:not(.contacts-studio__label), .contacts-studio__row > a { font-size: 12px !important; line-height: 1.5 !important; }
  .contacts-studio__label { font-size: 9px !important; margin-bottom: 2px !important; }
  .contacts-channels__title { font-size: 20px !important; line-height: 1.2 !important; }
  .ch-card { padding: 13px 14px !important; gap: 12px !important; border-radius: 14px !important; min-height: 0 !important; }
  .ch-card__icon { width: 40px !important; height: 40px !important; flex: 0 0 40px !important; }
  .ch-card__icon svg { width: 19px !important; height: 19px !important; }
  .ch-card__name { font-size: 13.5px !important; line-height: 1.25 !important; }
  .ch-card__sub { font-size: 11px !important; line-height: 1.45 !important; }
  .ch-card__body { font-size: 12px !important; }
  .ch-card__arrow { font-size: 14px !important; }
}
@media (max-width: 768px) {
  .contacts-studio__panel .btn { padding: 11px 20px !important; font-size: 10.5px !important; letter-spacing: .16em !important; min-height: 0 !important; }
}
@media (max-width: 768px) {
  .care-step { padding-top: 10px !important; padding-bottom: 10px !important; gap: 12px !important; }
  .care-step__num { font-size: 20px !important; }
  .care-step__title { font-size: 12.5px !important; margin-bottom: 2px !important; }
  .care-step__text { font-size: 11.5px !important; line-height: 1.5 !important; }
}
/* каталог на телефоне: кнопки карточки — по ширине фото */
@media (max-width: 768px) {
  .product-card .product-card__btns { margin-left: -18px !important; margin-right: -18px !important; width: auto !important; }
  .product-card .product-card__btns > * { width: 100% !important; }
}
/* карточка товара на телефоне: описание и текст в раскрывающихся блоках мельче */
@media (max-width: 768px) {
  .pdp-info__desc { font-size: 12.5px !important; line-height: 1.6 !important; }
  .pdp-accordion__trigger, .pdp-accordion__trigger span { font-size: 13px !important; }
  .pdp-accordion__body, .pdp-accordion__body p, .pdp-accordion__body li, .pdp-accordion__intro { font-size: 11.5px !important; line-height: 1.55 !important; }
  .pdp-included__t { font-size: 11.5px !important; }
  .pdp-included__d { font-size: 10.5px !important; line-height: 1.45 !important; }
}
/* карточка товара: кнопки размера (S · 3 шт …) компактнее */
@media (max-width: 768px) {
  .pdp-size-btn { font-size: 11px !important; padding: 7px 11px !important; min-height: 0 !important; height: auto !important; border-radius: 9px !important; line-height: 1.2 !important; }
  .pdp-sizes__btns { gap: 6px !important; }
}
/* карточка товара на телефоне: количество, «В корзину» и избранное — одной
   аккуратной строкой высотой 42px */
@media (max-width: 768px) {
  .pdp-actions { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; align-items: center !important; justify-content: flex-start !important; gap: 8px !important; }
  .pdp-qty { flex: 0 0 auto !important; height: 42px !important; min-height: 0 !important; width: auto !important; margin: 0 !important; }
  .pdp-qty__btn { width: 32px !important; height: 40px !important; }
  .pdp-qty__btn svg { width: 11px !important; height: 11px !important; }
  .pdp-qty__val { width: 24px !important; min-width: 0 !important; font-size: 13px !important; }
  .pdp-actions > .btn { flex: 1 1 auto !important; width: auto !important; height: 42px !important; min-height: 0 !important; padding: 0 14px !important; font-size: 11px !important; letter-spacing: .16em !important; margin: 0 !important; }
  .pdp-actions__wish { flex: 0 0 42px !important; width: 42px !important; height: 42px !important; margin: 0 !important; }
  .pdp-actions__wish svg { width: 17px !important; height: 17px !important; }
}
/* каталог: кнопки карточек без эффекта дыхания */
.catalog-grid .product-card__btn, .catalog-grid .btn { animation: none !important; }
/* блог на телефоне: карточки почти во всю ширину, тексты мельче */
@media (max-width: 768px) {
  .blog-grid-section { padding-left: 10px !important; padding-right: 10px !important; }
  .blog-card__title, .blog-card__title a, .blog-card h2, .blog-card h3, .blog-card h2 a, .blog-card h3 a { font-size: 16px !important; line-height: 1.25 !important; }
  .blog-card__excerpt { font-size: 11.5px !important; line-height: 1.55 !important; }
  .blog-card__author, .blog-card time, .blog-card__meta, .blog-card__meta span { font-size: 10px !important; }
  .blog-card__link { font-size: 10px !important; }
}
/* корзина (панель справа): «Оформить заказ» компактнее */
@media (max-width: 1024px) {
  .cart-drawer__checkout { padding: 11px 18px !important; font-size: 10px !important; letter-spacing: .14em !important; min-height: 0 !important; height: auto !important; line-height: 1.2 !important; }
  .cart-drawer__empty-cta { padding: 11px 18px !important; font-size: 10px !important; letter-spacing: .14em !important; }
}
/* подписка / сертификат / свадебная копилка на телефоне — компактнее и аккуратнее.
   Текст в полях оставлен 16px (иначе iPhone увеличивает страницу). */
@media (max-width: 768px) {
  .subscription-hero__title { font-size: 25px !important; line-height: 1.15 !important; }
  .subscription-notice, .subscription-notice p, .sub-trial-note { font-size: 11.5px !important; line-height: 1.5 !important; }
  .subscription-option { font-size: 10px !important; min-height: 0 !important; height: auto !important; padding: 11px 14px !important; }
  .subscription-sizes { gap: 6px !important; }
  .subscription-size { min-height: 0 !important; height: auto !important; padding: 10px 6px !important; border-radius: 12px !important; }
  .subscription-size__name { font-size: 12.5px !important; }
  .subscription-size__text { font-size: 10px !important; }
  .gc-format { min-height: 0 !important; height: auto !important; padding: 10px 12px !important; }
  .gc-format__title { font-size: 12.5px !important; }
  .gc-format__sub, .gc-format span:not(.gc-format__title) { font-size: 10.5px !important; }
  .subscription-summary__row span { font-size: 12px !important; }
  .subscription-summary__total span { font-size: 13px !important; }
  .pcm-option__label { font-size: 12px !important; padding-top: 9px !important; padding-bottom: 9px !important; }
  .wpb-input { padding: 10px 14px !important; border-radius: 12px !important; }
  textarea.wpb-input { min-height: 76px !important; height: auto !important; }
  .wpb-input::placeholder { font-size: 13px; }
  .subscription-form__submit { min-height: 0 !important; height: auto !important; padding: 13px 20px !important; font-size: 11px !important; letter-spacing: .14em !important; }
  .sub-accordion__trigger span { font-size: 12.5px !important; }
  .sub-accordion__body p { font-size: 11.5px !important; line-height: 1.55 !important; }
  .wpb-how__step-title { font-size: 16px !important; line-height: 1.25 !important; }
  .wpb-how__step-desc { font-size: 11.5px !important; line-height: 1.55 !important; }
  .wpb-cta__title { font-size: 20px !important; line-height: 1.2 !important; }
  .wpb-cta__desc { font-size: 11.5px !important; line-height: 1.6 !important; }
  .wpb-cta__btn { padding: 13px 20px !important; font-size: 11px !important; min-height: 0 !important; height: auto !important; }
  .wpb-qr__counter, .wpb-qr__alt, .wpb-qr__alt a { font-size: 11px !important; }
}
/* бургер: три аккуратные плитки — подписка, копилка, сертификаты */
.site-header__mobile-tiles { display: none; }
@media (max-width: 1024px) {
  .site-header__mobile-tiles { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.2fr); gap: 6px; margin: 14px 0 4px; }
  .site-header__mobile-tile {
    display: flex; align-items: center; justify-content: center; text-align: center;
    min-height: 40px; padding: 6px 3px; box-sizing: border-box;
    border: 1px solid rgba(231, 56, 90, .35); border-radius: 10px; background: rgba(231, 56, 90, .04);
    font-size: 8px !important; line-height: 1.3; letter-spacing: .02em !important; text-transform: uppercase; font-style: normal;
    color: #1B1A18; text-decoration: none; -webkit-tap-highlight-color: transparent;
    transition: background .2s ease, border-color .2s ease;
  }
  .site-header__mobile-tile:active { background: rgba(231, 56, 90, .12); border-color: rgba(231, 56, 90, .6); }
}
/* плашка cookie на телефоне — компактная */
@media (max-width: 768px) {
  .cookie-bar { padding: 10px 14px !important; }
  .cookie-bar__inner { gap: 8px !important; }
  .cookie-bar__text { font-size: 10.5px !important; line-height: 1.45 !important; margin: 0 !important; }
  .cookie-bar__actions { gap: 6px !important; }
  .cookie-bar__btn { padding: 8px 12px !important; font-size: 10.5px !important; min-height: 0 !important; height: auto !important; border-radius: 10px !important; }
}
/* ленты товаров: место под тень кнопок «Подробнее» — лента прокручивается вбок
   и обрезала всё ниже кнопок. Внутренний отступ компенсируем отрицательным
   внешним, чтобы блоки не сдвинулись */
.home-showcase__viewport, .home-categories__grid, .home-blog__grid { padding-bottom: 18px !important; margin-bottom: -18px !important; }
