/* ============================================================
   Ikra102 — планшет и мобильный
   Брейкпоинты: 1200px (промежуточный), 768px (мобильный)
   ============================================================ */

/* ------------------------------------------------------------
   Планшет и узкий десктоп: 768–1200px
   ------------------------------------------------------------ */

@media (max-width: 1200px) {

	:root {
		--gutter: 28px;
		--section-y: 44px;
		--section-y-hero: 44px;
	}

	.ikra-hero__title { font-size: 42px; }
	.ikra-hero__media { min-height: 440px; }

	.ikra-products { grid-template-columns: repeat(3, 1fr); }
	.ikra-catalog__grid { grid-template-columns: repeat(2, 1fr); }
	.ikra-upsells__grid { grid-template-columns: repeat(3, 1fr); }

	.ikra-cats--icons { grid-template-columns: repeat(3, 1fr); }
	.ikra-cat-icon__media { width: 150px; height: 150px; }

	.ikra-catalog__layout { grid-template-columns: 220px 1fr; gap: 24px; }

	.ikra-product { grid-template-columns: 1fr 400px; gap: 32px; }
	.ikra-gallery__main { height: 400px; }

	.ikra-checkout { grid-template-columns: 1fr 340px; gap: 24px; }

	.ikra-steps__grid { grid-template-columns: repeat(2, 1fr); }
	.ikra-docs { grid-template-columns: 260px 1fr; }
	.ikra-posts { grid-template-columns: repeat(2, 1fr); }
	.ikra-rates { grid-template-columns: 1fr; }

	.ikra-utility { font-size: 11px; }
	.ikra-utility__right { gap: 14px; }
}

/* ------------------------------------------------------------
   Мобильный: до 768px
   ------------------------------------------------------------ */

@media (max-width: 767px) {

	:root {
		--gutter: 16px;
		--section-y: 32px;
		--section-y-hero: 24px;
		--section-y-footer: 28px;
	}

	body {
		font-size: 15px;
		line-height: 1.55;
	}

	/* --- Шапка --- */

	.ikra-utility,
	.ikra-header {
		display: none;
	}

	.ikra-mheader {
		display: flex;
	}

	.ikra-mheader__count {
		font: 600 13px/1 var(--font-text);
	}

	/* --- Типографика --- */

	.t-h1, .ikra-catalog__title, .ikra-checkout__title, .ikra-thankyou__title {
		font-size: 28px;
		line-height: 1.1;
	}

	.t-h2, .ikra-about__title {
		font-size: 22px;
		line-height: 1.15;
	}

	.t-h3, .t-h4, .ikra-quiz__title, .ikra-dark-box__title {
		font-size: 20px;
		line-height: 1.2;
	}

	.ikra-product__title { font-size: 26px; }
	.t-lead, .ikra-hero__text, .ikra-about__text { font-size: 15px; line-height: 1.55; }
	.ikra-card__title { font-size: 14px; }
	.ikra-card__price { font-size: 17px; }

	/* --- Первый экран --- */

	.ikra-hero {
		display: flex;
		flex-direction: column-reverse;
	}

	.ikra-hero__media {
		min-height: 300px;
		border-left: 0;
		border-bottom: 1px solid var(--line);
	}

	.ikra-hero__title { font-size: 32px; line-height: 1.05; }

	.ikra-hero__content {
		padding: 20px var(--gutter) 28px;
		gap: 16px;
	}

	.ikra-hero__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.ikra-hero__actions .ikra-btn {
		width: 100%;
		min-height: 52px;
	}

	.ikra-hero__points { display: none; }

	/* Остаток партии на мобильном несёт акцентный чипс — карточку не дублируем */
	.ikra-batch { display: none; }

	/* Первый чипс (регион) на мобильном скрыт: важны дата партии и срок доставки */
	.ikra-hero__content .ikra-chips .ikra-chip:first-child { display: none; }

	/* --- Категории --- */

	/* Крупная плитка 150px в первом ряду, дальше сетка 2×2 по 120px */
	.ikra-cats--mosaic {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: 150px;
		grid-auto-rows: 120px;
		gap: 12px;
	}

	.ikra-cat-tile { min-height: 0; }

	.ikra-cat-tile--wide {
		grid-column: span 2;
		grid-row: span 1;
	}

	.ikra-cat-tile--wide .ikra-cat-tile__name { font-size: 22px; }
	.ikra-cat-tile__name { font-size: 15px; }
	.ikra-cat-tile__scrim { padding: 14px; }
	.ikra-cat-tile--wide .ikra-cat-tile__scrim { padding: 16px; }
	.ikra-cat-tile__cta { display: none; }

	.ikra-cats--icons {
		grid-template-columns: repeat(2, 1fr);
		gap: 16px;
	}

	.ikra-cat-icon__media { width: 130px; height: 130px; }

	.ikra-cats__cta,
	.ikra-cats-wrap > .ikra-btn {
		width: 100%;
	}

	/* --- Сетки товаров --- */

	.ikra-products,
	.ikra-catalog__grid,
	.ikra-upsells__grid {
		grid-template-columns: 1fr 1fr;
		gap: 12px;
	}

	.ikra-card__media { height: 130px; }
	.ikra-card__body { padding: 12px; gap: 7px; }
	.ikra-card__cat { display: none; }
	.ikra-card__packs { display: none; }
	.ikra-card__action .ikra-btn { min-height: 44px; padding: 12px; font-size: 12px; }
	.ikra-card--compact .ikra-card__foot { flex-direction: column; align-items: stretch; gap: 8px; }
	.ikra-card--compact .ikra-card__foot .ikra-btn { width: 100%; min-height: 44px; }

	/* --- Подбор --- */

	.ikra-quiz {
		grid-template-columns: 1fr;
		margin: 0 var(--gutter) var(--section-y);
	}

	.ikra-quiz__panel { padding: 20px; }
	.ikra-quiz__media { min-height: 200px; }
	.ikra-quiz__row { align-items: center; gap: 8px; }
	.ikra-quiz__label { width: auto; flex: 1 0 100%; }
	.ikra-quiz__row > .ikra-toggle { min-height: var(--tap); flex: 1 1 auto; }
	.ikra-quiz__submit { align-self: stretch; }

	/* --- Гарантии, метрики, характеристики --- */

	.ikra-grid-framed--4 { grid-template-columns: 1fr; }
	.ikra-grid-framed > * { padding: 18px; }

	.ikra-metrics .ikra-grid-framed--4 { grid-template-columns: 1fr 1fr; }
	.ikra-metrics .ikra-grid-framed > * { padding: 18px; }
	.ikra-metrics__value { font-size: 26px; }

	/* --- Опт и отзывы --- */

	.ikra-dark-box {
		flex-direction: column;
		align-items: flex-start;
		padding: 24px;
		gap: 20px;
	}

	.ikra-dark-box .ikra-btn { width: 100%; }

	.ikra-reviews__grid { grid-template-columns: 1fr; }
	.ikra-review { padding: 20px; }

	/* --- Подвал --- */

	.ikra-footer {
		flex-direction: column;
		gap: 28px;
	}

	.ikra-footer__cols {
		flex-wrap: wrap;
		gap: 24px 40px;
	}

	.ikra-footer__bottom {
		flex-direction: column;
		gap: 6px;
	}

	/* --- Каталог --- */

	.ikra-catalog__head { padding: 16px var(--gutter) 0; gap: 10px; }
	.ikra-catalog__title-row { flex-direction: column; align-items: flex-start; gap: 6px; }
	.ikra-catalog__desc { display: none; }

	.ikra-catalog__layout {
		grid-template-columns: 1fr;
		padding: 0 var(--gutter) 110px;
		gap: 0;
	}

	.ikra-filters { display: none; }

	.ikra-filters-bar { display: flex; }

	.ikra-catalog__toolbar { display: none; }

	.ikra-catalog__content { padding-top: 16px; }

	.ikra-catalog__more { display: none; }

	.ikra-sticky-bar { display: flex; }

	.ikra-filters-sheet .ikra-filters {
		display: flex;
		position: static;
	}

	/* --- Карточка товара --- */

	.ikra-product {
		grid-template-columns: 1fr;
		gap: 20px;
		padding: 0 0 130px;
	}

	.ikra-gallery { gap: 0; }
	.ikra-gallery__main { height: 320px; border-radius: 0; }
	.ikra-gallery__thumbs { display: none; }
	.ikra-gallery__dots { display: flex; }

	.ikra-specs { margin: 16px var(--gutter) 0; }
	.ikra-specs.ikra-grid-framed--2 { grid-template-columns: 1fr; }

	.ikra-product__info {
		padding: 20px var(--gutter) 0;
		gap: 16px;
	}

	.ikra-packs__grid { gap: 8px; }
	.ikra-packs__tile { align-items: center; text-align: center; min-height: var(--tap); }

	.ikra-buy { display: none; }

	.ikra-product-bar { display: flex; }

	/* Инфо-строки: длинное значение не должно сжимать подпись в столбик */
	.ikra-info-list__row {
		padding: 14px 16px;
		font-size: 13px;
		gap: 10px;
	}

	.ikra-info-list__value {
		white-space: normal;
		flex: 0 1 auto;
	}

	/* Плашка опта — в столбик, кнопка на всю ширину */
	.ikra-mint-box--row {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
	}

	.ikra-mint-box--row .ikra-btn {
		width: 100%;
	}

	.ikra-upsells { padding: 0 var(--gutter) var(--section-y); }

	/* --- Корзина и оформление --- */

	.ikra-checkout {
		grid-template-columns: 1fr;
		padding: 16px var(--gutter) 140px;
		gap: 16px;
	}

	.ikra-cart-items {
		background: transparent;
		border: 0;
		border-radius: 0;
		display: flex;
		flex-direction: column;
		gap: 12px;
	}

	.ikra-cart-item {
		grid-template-columns: 60px 1fr 36px;
		grid-template-areas:
			'media info remove'
			'media info remove';
		gap: 12px;
		padding: 14px;
		background: var(--surface);
		border: 1px solid var(--line-2);
		border-radius: var(--r-md);
	}

	.ikra-cart-item__media { grid-area: media; height: 60px; }
	.ikra-cart-item__info { grid-area: info; }
	.ikra-cart-item__remove { grid-area: remove; }

	/* Десктопные счётчик и сумма скрыты, работают те, что внутри info */
	.ikra-cart-item__qty-d,
	.ikra-cart-item__sum-d {
		display: none;
	}

	.ikra-cart-item__controls {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 10px;
		margin-top: 8px;
	}

	.ikra-cart-item__controls .ikra-cart-item__sum {
		text-align: right;
		font-size: 16px;
	}

	.ikra-delivery-card { padding: 16px; gap: 12px; }

	.ikra-form__row { grid-template-columns: 1fr; }
	.ikra-form__row--full > * { grid-column: span 1; }

	.ikra-tiles { gap: 8px; }
	.ikra-tile { padding: 12px 6px; font-size: 12px; }
	.ikra-tiles--slots .ikra-tile.is-active,
	.ikra-tiles--pays .ikra-tile.is-active { padding: 11px 5px; }

	.ikra-summary {
		position: fixed;
		/* top обязательно сбросить: на десктопе панель sticky c top:20px,
		   а fixed-элемент с заданными top и bottom растягивается на весь экран */
		top: auto;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 100;
		border-radius: 0;
		border: 0;
		border-top: 1px solid var(--line);
		padding: 14px var(--gutter) 20px;
		padding-bottom: calc(20px + env(safe-area-inset-bottom, 0px));
		gap: 10px;
		background: rgba(255, 255, 255, .97);
		backdrop-filter: blur(8px);
	}

	.ikra-summary__title,
	.ikra-summary__rows,
	.ikra-summary__promo,
	.ikra-summary__divider,
	.ikra-summary__note {
		display: none;
	}

	.ikra-summary__total-value { font-size: 26px; }
	.ikra-summary .ikra-btn { min-height: 52px; }

	/* --- Мини-корзина --- */

	.ikra-minicart { display: none !important; }
	.ikra-sheet .ikra-minicart { display: block !important; }

	/* --- О компании --- */

	.ikra-about__hero {
		grid-template-columns: 1fr;
		gap: 20px;
		padding: 16px var(--gutter) var(--section-y);
	}

	.ikra-about__media { height: 240px; }
	.ikra-about__content { gap: 14px; }

	.ikra-steps { padding: 0 var(--gutter) var(--section-y); }
	.ikra-steps__grid { grid-template-columns: 1fr; gap: 12px; }
	.ikra-step { padding: 18px; }

	.ikra-docs {
		grid-template-columns: 1fr;
		gap: 20px;
		padding: 0 var(--gutter) var(--section-y);
	}

	.ikra-docs__grid { grid-template-columns: 1fr 1fr; gap: 12px; }
	.ikra-docs__item { height: 150px; }

	.ikra-about__cta {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}

	.ikra-about__cta .ikra-btn { width: 100%; }

	/* --- Контакты --- */

	.ikra-contacts {
		padding: 16px var(--gutter) var(--section-y);
		gap: 16px;
	}

	.ikra-contacts__top,
	.ikra-contacts__bottom {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	/* Карта сверху */
	.ikra-contacts__map {
		order: -1;
		min-height: 220px;
	}

	.ikra-contacts__map iframe,
	.ikra-contacts__map > div { min-height: 220px; }

	.ikra-contacts__cells { grid-template-columns: 1fr; }
	.ikra-contacts__cell--wide { grid-column: span 1; }
	.ikra-contacts__cell { padding: 18px; }

	.ikra-contacts__actions {
		display: flex;
		gap: 8px;
		margin-top: 10px;
	}

	.ikra-contacts__actions .ikra-btn {
		flex: 1;
		min-height: var(--tap);
		padding: 13px;
		font-size: 13px;
	}

	.ikra-card-box { padding: 20px; }

	/* --- Доставка и оплата --- */

	.ikra-delivery {
		padding: 16px var(--gutter) var(--section-y);
		gap: 20px;
	}

	.ikra-rate { padding: 20px; }

	.ikra-table__head { display: none; }

	.ikra-table__row {
		grid-template-columns: 1fr auto;
		gap: 4px 12px;
		padding: 16px;
		font-size: 14px;
	}

	.ikra-table__row > span:nth-child(1) { grid-column: 1 / -1; }
	.ikra-table__row > span:nth-child(2)::before { content: 'срок: '; color: var(--muted-2); }
	.ikra-table__row > span:nth-child(3)::before { content: 'цена: '; color: var(--muted-2); }
	.ikra-table__row > span:nth-child(4) { grid-column: 1 / -1; }
	.ikra-table__row > span:nth-child(4)::before { content: 'бесплатно от: '; color: var(--muted-2); font-weight: 400; }

	.ikra-pay-faq { grid-template-columns: 1fr; }

	/* FAQ становится аккордеоном */
	.ikra-faq__q {
		cursor: pointer;
		min-height: var(--tap);
		align-items: center;
	}

	.ikra-faq__toggle { display: block; }

	.ikra-faq__item .ikra-faq__a {
		display: none;
	}

	.ikra-faq__item.is-open .ikra-faq__a {
		display: block;
	}

	.ikra-faq__item.is-open .ikra-faq__toggle::before { content: '−'; }
	.ikra-faq__toggle::before { content: '+'; }
	.ikra-faq__toggle { font-size: 0; }
	.ikra-faq__toggle::before { font-size: 18px; }

	/* --- Прочее --- */

	.ikra-posts { grid-template-columns: 1fr; }
	.ikra-modal__box { padding: 24px; }
	.ikra-breadcrumbs { display: none; }
	.woocommerce-message,
	.woocommerce-info,
	.woocommerce-error { margin: 0 var(--gutter) 16px; }
}

/* ------------------------------------------------------------
   Очень узкие экраны
   ------------------------------------------------------------ */

@media (max-width: 380px) {
	.ikra-products,
	.ikra-catalog__grid,
	.ikra-upsells__grid {
		grid-template-columns: 1fr;
	}

	.ikra-card__media { height: 180px; }
	.ikra-hero__title { font-size: 28px; }
}
