/*
Theme Name: Music Store
Template: twentytwentyfive
Description: Дочірня тема music-store.od.ua. Відкат: увімкнути Twenty Twenty-Five.
Version: 1.0.0
Text Domain: music-store
*/

/* Макет: светлый «папир», чернильный текст, латунь как единственный акцент; ширина 1240, сетка товаров 4→2 колонки. */
:root {
	--ms-paper: var(--wp--preset--color--base);
	--ms-ink: var(--wp--preset--color--contrast);
	--ms-brass: var(--wp--preset--color--accent-1);
	--ms-stone: var(--wp--preset--color--accent-2);
	--ms-green: var(--wp--preset--color--accent-3);
	--ms-muted: var(--wp--preset--color--accent-4);
	--ms-line: var(--wp--preset--color--accent-5);
	--ms-display: var(--wp--preset--font-family--unbounded);
	--ms-body: var(--wp--preset--font-family--manrope);
	--ms-gutter: max(16px, env(safe-area-inset-left, 0px));
	--ms-gutter-r: max(16px, env(safe-area-inset-right, 0px));
}

body { background: var(--ms-paper); color: var(--ms-ink); -webkit-font-smoothing: antialiased; }
.wp-site-blocks { padding: 0; }
.wp-site-blocks > * { margin-block-start: 0; }
h1, h2, h3 { text-wrap: balance; }
:focus-visible { outline: 2px solid var(--ms-brass); outline-offset: 2px; }

.ms-wrap {
	box-sizing: border-box;
	width: 100%;
	max-width: calc(1240px + 64px);
	margin-inline: auto !important;
	padding-left: max(var(--ms-gutter), 32px);
	padding-right: max(var(--ms-gutter-r), 32px);
}
@media (max-width: 781px) {
	.ms-wrap { padding-left: var(--ms-gutter); padding-right: var(--ms-gutter-r); }
}

.ms-eyebrow {
	margin: 0;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ms-brass);
}
.ms-section-title { margin: 0; font-size: var(--wp--preset--font-size--x-large); }

.ms-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 1.5rem;
	border-radius: 6px;
	border: 1.5px solid var(--ms-ink);
	background: var(--ms-ink);
	color: var(--ms-paper) !important;
	font-weight: 700;
	text-decoration: none !important;
	transition: background-color .15s, border-color .15s, color .15s;
}
.ms-btn:hover { background: var(--ms-brass); border-color: var(--ms-brass); }
.ms-btn--ghost { background: transparent; color: var(--ms-ink) !important; }
.ms-btn--ghost:hover { background: transparent; color: var(--ms-brass) !important; }

/* ---------- Шапка: светлая (логотип рассчитан на белый фон), латунная линия снизу в пару к подвалу ---------- */
.ms-header { background: var(--ms-paper); color: var(--ms-ink); border-bottom: 2px solid var(--ms-brass); }
.ms-header__row { padding-block: 0.85rem; gap: 1rem; }
.ms-brand .wp-block-site-logo img { border-radius: 4px; }
.ms-brand__name { margin: 0; font-family: var(--ms-display); font-size: 1.125rem; font-weight: 600; letter-spacing: -0.01em; white-space: nowrap; }
.ms-header .ms-brand__name a { color: var(--ms-ink); }
.ms-nav { font-size: 0.9375rem; font-weight: 600; }
.ms-nav .wp-block-navigation__container { gap: 1.25rem; }
.ms-header .ms-nav .wp-block-navigation-item__content { color: var(--ms-ink); }
.ms-header .ms-nav .ms-nav__service .wp-block-navigation-item__content { color: var(--ms-muted); font-weight: 500; }
.ms-header .ms-nav .wp-block-navigation-item__content:hover { color: var(--ms-brass); }
.ms-header .wp-block-navigation__responsive-container-open { color: var(--ms-ink); }
/* Открытое меню на телефоне — светлое, как остальной сайт, пункты слева и крупно. */
.ms-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { align-items: flex-start; padding-top: 3rem; }
.ms-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: flex-start; gap: 1.1rem; font-size: 1.375rem; }
.ms-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { color: var(--ms-ink); }
.ms-header .wp-block-navigation__responsive-container.is-menu-open .ms-nav__service .wp-block-navigation-item__content { color: var(--ms-muted); }
.ms-header .wc-block-mini-cart__button { color: var(--ms-ink); }
.ms-header .wc-block-mini-cart__button:hover { color: var(--ms-brass); }
@media (max-width: 1100px) and (min-width: 600px) {
	.ms-nav .ms-nav__service { display: none; }
}
@media (max-width: 599px) {
	.ms-brand__name { font-size: 0.95rem; }
	.ms-brand .wp-block-site-logo img { width: 36px !important; }
	.ms-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 1rem; font-size: 1.25rem; }
}
.wc-block-mini-cart__button { padding: 0.4rem; }
.wc-block-mini-cart__badge { background: var(--ms-brass) !important; color: #fff !important; }

/* ---------- Первый экран ---------- */
.ms-main { padding-bottom: 0; }
.ms-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: center;
	padding-block: clamp(1.5rem, 3.5vw, 3rem) clamp(2rem, 4vw, 3rem);
}
.ms-hero__text { display: flex; flex-direction: column; gap: 1.25rem; min-width: 0; }
.ms-hero__title { margin: 0; font-size: clamp(1.9rem, 1.1rem + 2.6vw, 3.25rem); line-height: 1.08; }
.ms-hero__lead { margin: 0; max-width: 34rem; font-size: 1.0625rem; color: #3d3931; }
.ms-hero__cta { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.ms-hero__media { position: relative; min-width: 0; }
.ms-hero__img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 4px; }
.ms-hero__card {
	position: absolute;
	left: -2.5rem;
	bottom: -1.5rem;
	width: 38%;
	margin: 0;
	padding: 0.5rem 0.5rem 0.6rem;
	background: var(--ms-paper);
	border-radius: 4px;
	box-shadow: 0 12px 32px -12px rgba(29, 27, 23, .35);
}
.ms-hero__img2 { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 2px; }
.ms-hero__card figcaption { margin-top: 0.45rem; font-size: 0.75rem; font-weight: 600; color: var(--ms-muted); text-align: center; }
@media (max-width: 860px) {
	.ms-hero { grid-template-columns: 1fr; padding-top: 1.5rem; }
	.ms-hero__media { order: -1; max-width: 520px; }
	.ms-hero__card { left: auto; right: -0.25rem; bottom: -1rem; width: 34%; }
}
/* Телефон: кнопки должны попасть на первый экран — фото ниже, текст короче, кнопки в ряд. */
@media (max-width: 600px) {
	.ms-hero { gap: 1rem; padding-block: 0.75rem 1.5rem; }
	.ms-hero__text { gap: 0.75rem; }
	/* Фото максимально большое, но так, чтобы обе кнопки остались на первом экране (под ними ~390px шапки и текста). */
	.ms-hero .ms-hero__img { aspect-ratio: auto; height: clamp(200px, calc(100svh - 355px), 85vw) !important; object-position: center 40%; }
	.ms-hero .ms-tines, .ms-hero__more { display: none; }
	.ms-hero__card { right: -6px; bottom: -14px; width: 31%; padding: 0.35rem 0.35rem 0.4rem; }
	.ms-hero__card figcaption { margin-top: 0.3rem; font-size: 0.6875rem; line-height: 1.25; }
	.ms-hero__title { font-size: 1.6rem; }
	.ms-hero__lead { font-size: 1rem; }
	.ms-hero__cta { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; }
	.ms-hero__cta .ms-btn { padding: 0 0.6rem; font-size: 0.875rem; white-space: nowrap; }
	.ms-eyebrow { font-size: 0.75rem; }
}

/* Язычки калимбы: длинные в центре, короче к краям. Единственный «рисованный» элемент сайта. */
.ms-tines {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 5px;
	height: 56px;
	padding-top: 6px;
	border-top: 3px solid var(--ms-ink);
	max-width: 260px;
}
.ms-tines i {
	flex: 1 1 0;
	height: var(--h);
	border-radius: 0 0 3px 3px;
	background: linear-gradient(180deg, #c9c4ba, #8f8a80 70%, #6f6a61);
	transform-origin: top center;
	transition: transform .2s ease, background .2s;
}
.ms-tines i:nth-child(odd) { background: linear-gradient(180deg, #d8b46a, var(--ms-brass)); }
.ms-tines i:hover { transform: scaleY(1.08); }
@media (prefers-reduced-motion: reduce) { .ms-tines i { transition: none; } .ms-tines i:hover { transform: none; } }

/* ---------- Категории ---------- */
.ms-cats {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 1rem;
	padding-block: 1.5rem clamp(2rem, 4vw, 3rem);
}
.ms-cat {
	grid-column: span 2;
	display: grid;
	grid-template-columns: 42% 1fr;
	align-items: center;
	gap: 1rem;
	padding: 0.75rem;
	background: var(--ms-stone);
	border-radius: 6px;
	color: var(--ms-ink) !important;
	text-decoration: none !important;
	transition: background-color .15s;
}
.ms-cat:hover { background: #e9e6df; }
.ms-cat:nth-child(1), .ms-cat:nth-child(2) { grid-column: span 3; }
.ms-cat__media { display: block; aspect-ratio: 1; overflow: hidden; border-radius: 4px; background: var(--ms-paper); }
.ms-cat__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ms-cat__body { display: flex; flex-direction: column; gap: 0.35rem; min-width: 0; }
.ms-cat__name { font-family: var(--ms-display); font-weight: 600; font-size: 1.25rem; line-height: 1.15; }
.ms-cat:nth-child(1) .ms-cat__name, .ms-cat:nth-child(2) .ms-cat__name { font-size: clamp(1.25rem, 1rem + 0.8vw, 1.6rem); }
.ms-cat__spec { font-size: 0.875rem; color: var(--ms-muted); }
.ms-cat__meta { display: flex; flex-wrap: wrap; gap: 0.25rem 0.9rem; margin-top: 0.35rem; font-size: 0.875rem; font-weight: 700; }
.ms-cat__meta span:last-child { color: var(--ms-brass); }
@media (max-width: 960px) {
	.ms-cats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ms-cat, .ms-cat:nth-child(1), .ms-cat:nth-child(2) { grid-column: span 1; }
}
@media (max-width: 560px) {
	.ms-cats { grid-template-columns: 1fr; gap: 0.6rem; }
	.ms-cat { grid-template-columns: 96px 1fr; padding: 0.5rem; }
	.ms-cat__name, .ms-cat:nth-child(1) .ms-cat__name, .ms-cat:nth-child(2) .ms-cat__name { font-size: 1.1rem; }
}

/* ---------- Доверие ---------- */
.ms-trust { background: var(--ms-ink); color: #e9e5dc; margin-block: 0; }
.ms-trust__list {
	box-sizing: border-box;
	max-width: calc(1240px + 64px);
	margin: 0 auto;
	padding: 2rem max(var(--ms-gutter-r), 32px) 2rem max(var(--ms-gutter), 32px);
	list-style: none;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.5rem 2rem;
}
.ms-trust__list li { display: flex; flex-direction: column; gap: 0.3rem; padding-left: 1rem; border-left: 2px solid var(--ms-brass); min-width: 0; }
.ms-trust__list strong { color: #fff; font-size: 1rem; }
.ms-trust__list span { font-size: 0.875rem; line-height: 1.5; color: #c8c2b6; }
@media (max-width: 960px) { .ms-trust__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) {
	.ms-trust__list { grid-template-columns: 1fr; padding: 1.5rem var(--ms-gutter-r) 1.5rem var(--ms-gutter); gap: 1.1rem; }
}

/* ---------- Каталог и карточки ---------- */
.ms-catalog { padding-block: clamp(2rem, 4vw, 3.5rem); }
.ms-catalog__head { gap: 1rem; margin-bottom: 1.5rem; }
.wc-block-catalog-sorting select, .woocommerce-ordering select {
	font: inherit;
	font-size: 0.875rem;
	padding: 0.5rem 2rem 0.5rem 0.75rem;
	border: 1px solid var(--ms-line);
	border-radius: 6px;
	background-color: var(--ms-paper);
	color: var(--ms-ink);
}
.wc-block-catalog-sorting label, .woocommerce-ordering label { font-size: 0.875rem; color: var(--ms-muted); }

.ms-grid .wc-block-product-template { gap: 2rem 1.25rem !important; }
.ms-grid .wc-block-product { display: flex; flex-direction: column; gap: 0.5rem; text-align: left; }
.ms-grid .wc-block-components-product-image {
	margin: 0 0 0.35rem !important;
	background: var(--ms-stone);
	border-radius: 6px;
	overflow: hidden;
}
.ms-grid .wc-block-components-product-image img { mix-blend-mode: multiply; transition: transform .3s ease; }
.ms-grid .wc-block-product:hover .wc-block-components-product-image img { transform: scale(1.03); }
@media (prefers-reduced-motion: reduce) { .ms-grid .wc-block-components-product-image img { transition: none; } }
.ms-card__title { margin: 0 !important; font-family: var(--ms-body); font-size: 0.9375rem; font-weight: 600; line-height: 1.35; letter-spacing: 0; text-align: left; }
.ms-card__title a { color: var(--ms-ink); }
.ms-card__price { margin: 0 !important; font-size: 1.0625rem; font-weight: 800; text-align: left !important; font-variant-numeric: tabular-nums; }
.ms-card__btn { margin-top: auto !important; text-align: left !important; align-items: stretch !important; width: 100%; }
.ms-card__btn > * { width: 100%; }
.ms-card__btn .wp-block-button__link, .ms-card__btn .wc-block-components-product-button__button {
	width: 100%;
	min-height: 44px;
	margin: 0;
	border-radius: 6px;
	background: var(--ms-paper) !important;
	color: var(--ms-ink) !important;
	border: 1.5px solid var(--ms-ink) !important;
	font-size: 0.875rem;
	font-weight: 700;
}
.ms-card__btn .wp-block-button__link:hover, .ms-card__btn .wc-block-components-product-button__button:hover {
	background: var(--ms-ink) !important;
	color: var(--ms-paper) !important;
}
/* Ссылку «Переглянути кошик» под кнопкой не показываем: после добавления выезжает боковая корзина. */
.ms-grid .added_to_cart, .wc-block-components-product-button .added_to_cart { display: none !important; }

/* ---------- Боковая корзина ---------- */
.wc-block-mini-cart__drawer .components-modal__content { padding: 0; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__title { font-family: var(--ms-display); font-size: 1.25rem; font-weight: 600; margin: 1.5rem 1.25rem 0.5rem; }
.wc-block-mini-cart__drawer .wc-block-cart-item__image img { border-radius: 4px; background: var(--ms-stone); }
.wc-block-mini-cart__drawer .wc-block-components-product-name { font-weight: 600; color: var(--ms-ink); }
.wc-block-mini-cart__footer { border-top: 1px solid var(--ms-line); }
.wc-block-mini-cart__footer-subtotal { font-weight: 800; }
.wc-block-mini-cart__title-items-counter-block, .wp-block-woocommerce-mini-cart-title-items-counter-block { display: none; }
.wc-block-mini-cart__drawer .wc-block-components-product-metadata { display: none; }
.wc-block-mini-cart__footer-actions { display: block; }
.wc-block-mini-cart__footer-actions .wc-block-components-button { box-sizing: border-box; width: 100%; min-height: 52px; margin: 0 !important; }
/* В панели одна главная кнопка; корзина как страница не нужна — количество меняется прямо здесь. */
.wc-block-mini-cart__footer-cart { display: none !important; }
.wc-block-mini-cart__footer-checkout { background: var(--ms-ink) !important; color: var(--ms-paper) !important; }
.wc-block-mini-cart__footer-checkout:hover { background: var(--ms-brass) !important; }
.wc-block-mini-cart__empty-cart-wrapper p { font-weight: 600; }
@media (max-width: 781px) {
	.ms-grid .wc-block-product-template.is-flex-container { gap: 1.5rem 0.75rem !important; }
	.ms-grid .wc-block-product-template.is-flex-container > li { width: calc(50% - 0.375rem) !important; }
}
.wp-block-query-pagination { margin-top: 2rem; font-weight: 600; }

/* ---------- Категория ---------- */
.ms-archive .woocommerce-breadcrumb, .ms-product .woocommerce-breadcrumb { margin: 1.25rem 0 0.5rem; font-size: 0.8125rem; color: var(--ms-muted); }
.ms-archive .woocommerce-breadcrumb a, .ms-product .woocommerce-breadcrumb a { color: var(--ms-muted); }
.ms-archive__title { margin: 0.5rem 0 0.75rem; font-size: var(--wp--preset--font-size--xx-large); }
.ms-archive__desc { max-width: 46rem; color: #3d3931; margin-bottom: 1.25rem; }
.ms-archive .ms-grid { padding-bottom: clamp(2rem, 4vw, 3.5rem); }
.ms-chips { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.ms-chip {
	padding: 0.4rem 0.9rem;
	border: 1px solid var(--ms-line);
	border-radius: 999px;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--ms-ink) !important;
	text-decoration: none !important;
}
.ms-chip:hover { border-color: var(--ms-ink); }
.ms-chip.is-active { background: var(--ms-ink); border-color: var(--ms-ink); color: var(--ms-paper) !important; }

/* ---------- Товар ---------- */
.ms-product__top { gap: clamp(1.5rem, 4vw, 3.5rem) !important; margin-bottom: 2.5rem; }
.ms-product__gallery .woocommerce-product-gallery__image, .ms-product__gallery .flex-viewport { background: var(--ms-stone); border-radius: 6px; overflow: hidden; }
.ms-product__gallery .woocommerce-product-gallery__image img:not(.zoomImg) { mix-blend-mode: multiply; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; }
.ms-product__gallery .zoomImg { display: none !important; }
/* Полноэкранный просмотр: фото с прозрачным фоном (схемы нот) на тёмном фоне не читались — подкладываем светлый. */
.pswp__img { background: #f2f1ed; }
.ms-product__gallery .woocommerce-product-gallery { position: relative; }
.ms-product__gallery .woocommerce-product-gallery__trigger { display: none; }
.ms-product__gallery .flex-control-thumbs { list-style: none; padding: 0 !important; }
.ms-product__gallery .flex-control-thumbs { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.5rem; margin-top: 0.5rem !important; }
.ms-product__gallery .flex-control-thumbs li { width: auto !important; margin: 0 !important; }
.ms-product__gallery .flex-control-thumbs img { border-radius: 4px; opacity: .6; }
.ms-product__gallery .flex-control-thumbs img.flex-active, .ms-product__gallery .flex-control-thumbs img:hover { opacity: 1; }
.ms-product__info { display: flex; flex-direction: column; gap: 1rem; min-width: 0; }
.ms-product__info > * { margin: 0 !important; }
.ms-product__title { font-size: clamp(1.4rem, 1rem + 1.2vw, 2rem); line-height: 1.2; }
.ms-product__price { font-size: 1.75rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.ms-product__excerpt { color: #3d3931; }
.ms-product__info .stock { margin: 0; font-weight: 700; color: var(--ms-green); }
.ms-product__info .stock::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 0.5rem; border-radius: 50%; background: currentColor; vertical-align: middle; }
.ms-product__info form.cart { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: stretch; margin: 0 !important; }
.ms-product__info form.cart .quantity input { height: 52px; width: 4.5rem; border: 1px solid var(--ms-line); border-radius: 6px; text-align: center; font: inherit; }
.ms-product__info .single_add_to_cart_button {
	flex: 1 1 14rem;
	min-height: 52px;
	border-radius: 6px !important;
	background: var(--ms-ink) !important;
	color: var(--ms-paper) !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
}
.ms-product__info .single_add_to_cart_button:hover { background: var(--ms-brass) !important; }

.ms-sound {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	align-self: flex-start;
	padding: 0.6rem 1rem 0.6rem 0.6rem;
	border-radius: 999px;
	background: var(--ms-stone);
	font-weight: 700;
	color: var(--ms-ink) !important;
}
.ms-sound:hover { background: #e9e6df; }
.ms-sound__icon { width: 30px; height: 30px; border-radius: 50%; background: var(--ms-brass); position: relative; flex: none; }
.ms-sound__icon::after { content: ""; position: absolute; left: 11px; top: 9px; border-left: 10px solid #fff; border-top: 6px solid transparent; border-bottom: 6px solid transparent; }

.ms-buybox { list-style: none; margin: 0; padding: 1rem 1.1rem; border: 1px solid var(--ms-line); border-radius: 6px; display: flex; flex-direction: column; gap: 0.55rem; font-size: 0.9rem; line-height: 1.45; }
.ms-buybox li { padding-left: 1.25rem; position: relative; }
.ms-buybox li::before { content: ""; position: absolute; left: 0; top: 0.5em; width: 8px; height: 8px; border-radius: 2px; background: var(--ms-brass); }
.ms-buybox strong { font-weight: 700; }
.ms-buybox__ask { padding-top: 0.55rem; border-top: 1px solid var(--ms-line); color: var(--ms-muted); }
.ms-buybox__ask::before { display: none; }
.ms-buybox__ask { padding-left: 0 !important; }
.ms-buybox__ask a { font-weight: 700; color: var(--ms-ink); }
.ms-product__meta { font-size: 0.8125rem; color: var(--ms-muted); gap: 0.25rem 1.25rem; }
.ms-product__meta a { color: var(--ms-muted); text-decoration: underline; }

.ms-product__details { max-width: 860px; margin-bottom: 3rem; overflow-wrap: anywhere; }
.ms-product__details .wc-tabs { display: flex; gap: 1.5rem; border-bottom: 1px solid var(--ms-line); padding: 0; margin: 0 0 1.5rem; list-style: none; }
.ms-product__details .wc-tabs li { margin: 0; padding: 0; }
.ms-product__details .wc-tabs li a { display: block; padding: 0.75rem 0; font-weight: 700; color: var(--ms-muted); border-bottom: 2px solid transparent; }
.ms-product__details .wc-tabs li.active a { color: var(--ms-ink); border-color: var(--ms-ink); }
.ms-product__details .woocommerce-Tabs-panel > h2:first-child { display: none; }
.ms-product__details .woocommerce-Tabs-panel a { color: var(--ms-brass); text-decoration: underline; word-break: break-word; }
.ms-product__details table.shop_attributes { border-collapse: collapse; width: 100%; }
.ms-product__details table.shop_attributes th, .ms-product__details table.shop_attributes td { padding: 0.6rem 0.75rem; border-bottom: 1px solid var(--ms-line); text-align: left; }
/* Отзывы */
.ms-product__details #reviews h2 { font-size: 1.25rem; }
.ms-product__details #review_form .comment-reply-title { display: block; margin-bottom: 0.5rem; font-weight: 700; font-size: 1rem; }
.ms-product__details #review_form .comment-form { display: flex; flex-direction: column; gap: 0.9rem; max-width: 560px; }
.ms-product__details #review_form .comment-form > p { margin: 0; }
.ms-product__details #review_form label { display: block; margin-bottom: 0.3rem; font-weight: 600; font-size: 0.9rem; }
.ms-product__details #review_form input[type="text"], .ms-product__details #review_form input[type="email"], .ms-product__details #review_form textarea {
	box-sizing: border-box; width: 100%; padding: 0.7rem 0.8rem; border: 1px solid var(--ms-line); border-radius: 6px; font: inherit; background: var(--ms-paper);
}
.ms-product__details #review_form textarea { min-height: 120px; }
.ms-product__details #review_form .comment-form-cookies-consent { display: flex; gap: 0.5rem; align-items: flex-start; font-size: 0.8125rem; color: var(--ms-muted); }
.ms-product__details #review_form .comment-form-cookies-consent label { font-weight: 400; margin: 0; }
.ms-product__details #review_form .comment-notes { font-size: 0.8125rem; color: var(--ms-muted); }
.ms-product__details #review_form .stars a { color: var(--ms-brass); }
.ms-product__details #review_form input[type="submit"] { align-self: flex-start; min-height: 48px; padding: 0 1.6rem; border: 0; border-radius: 6px; background: var(--ms-ink); color: var(--ms-paper); font: inherit; font-weight: 700; cursor: pointer; }
.ms-product__details .woocommerce-review__verified { color: var(--ms-green); font-weight: 600; font-style: normal; }
.ms-related { padding-bottom: clamp(2rem, 4vw, 3.5rem); }
.ms-related .ms-section-title { margin-bottom: 1.25rem !important; }
@media (max-width: 781px) {
	.ms-product__top { flex-direction: column; }
	.ms-product__top > .wp-block-column { flex-basis: 100% !important; }
}

/* ---------- Страницы, корзина ---------- */
.ms-page__inner { max-width: calc(760px + 64px); padding-block: 2rem 3rem; }
.ms-page__title { margin: 0 0 1.5rem; font-size: var(--wp--preset--font-size--xx-large); }
.ms-page__content { font-size: 1.0625rem; }
.ms-page__content h2, .ms-page__content h3 { margin-top: 2rem; }
.ms-cart .ms-wrap { padding-block: 2rem 3rem; }
.woocommerce-checkout h3, .woocommerce-checkout #order_review_heading { font-size: 1.25rem; }
.wc-block-components-button:not(.is-link), .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button {
	background: var(--ms-ink) !important;
	color: var(--ms-paper) !important;
	border-radius: 6px !important;
	font-weight: 700 !important;
}
.wc-block-components-button:not(.is-link):hover { background: var(--ms-brass) !important; }

/* ---------- Метки и второе фото в карточках ---------- */
.ms-badges { list-style: none; margin: -0.15rem 0 0 !important; padding: 0; display: flex; flex-wrap: wrap; gap: 0.3rem; }
.ms-badges li { padding: 0.1rem 0.45rem; border-radius: 4px; background: var(--ms-stone); font-size: 0.75rem; font-weight: 600; color: var(--ms-muted); }
.ms-grid .wc-block-components-product-image > a { position: relative; display: block; }
.ms-alt-img { display: none; }
@media (hover: hover) and (min-width: 782px) {
	/* Плавная смена: первое фото уходит, второе встаёт на свой непрозрачный фон (у части фото прозрачный фон — без него они накладывались). */
	.ms-alt-img { display: block; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; background: var(--ms-stone); opacity: 0; transition: opacity .3s ease; }
	.ms-grid .wc-block-components-product-image > a > img:first-child { transition: opacity .3s ease, transform .3s ease; }
	.ms-grid .wc-block-product:hover .ms-alt-img { opacity: 1; }
	.ms-grid .wc-block-product:hover .wc-block-components-product-image > a:has(.ms-alt-img) > img:first-child { opacity: 0; }
}

/* ---------- Нижняя панель покупки (телефон) ---------- */
.ms-sticky { display: none; }
@media (max-width: 781px) {
	.ms-sticky {
		display: flex;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 90;
		align-items: center;
		gap: 0.75rem;
		padding: 0.6rem var(--ms-gutter-r) calc(0.6rem + env(safe-area-inset-bottom, 0px)) var(--ms-gutter);
		background: var(--ms-paper);
		border-top: 1px solid var(--ms-line);
		box-shadow: 0 -8px 24px -12px rgba(29, 27, 23, .25);
		transform: translateY(110%);
		transition: transform .2s ease;
	}
	.ms-sticky.is-visible { transform: none; }
	.ms-sticky__info { display: flex; flex-direction: column; min-width: 0; flex: 1; }
	.ms-sticky__name { font-size: 0.8125rem; color: var(--ms-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.ms-sticky__price { font-weight: 800; font-size: 1.125rem; }
	.ms-sticky__btn { min-height: 48px; padding: 0 1.5rem; border: 0; border-radius: 6px; background: var(--ms-ink); color: var(--ms-paper); font: inherit; font-weight: 700; }
	body.ms-has-sticky .ms-fab { bottom: calc(84px + env(safe-area-inset-bottom, 0px)); }
}
@media (prefers-reduced-motion: reduce) { .ms-sticky { transition: none; } }

/* ---------- Кнопка «Написати» ---------- */
.ms-fab {
	position: fixed;
	right: max(16px, env(safe-area-inset-right, 0px));
	bottom: calc(16px + env(safe-area-inset-bottom, 0px));
	z-index: 95;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.5rem;
	transition: bottom .2s ease;
}
.ms-fab__btn {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	min-height: 52px;
	padding: 0 1.1rem 0 0.95rem;
	border: 0;
	border-radius: 999px;
	background: var(--ms-ink);
	color: var(--ms-paper);
	font: inherit;
	font-weight: 700;
	box-shadow: 0 10px 28px -10px rgba(29, 27, 23, .55), 0 0 0 2px rgba(255, 255, 255, .9);
	cursor: pointer;
}
.ms-fab__btn:hover, .ms-fab.is-open .ms-fab__btn { background: var(--ms-brass); }
.ms-fab__menu { display: flex; flex-direction: column; gap: 0.4rem; padding: 0.5rem; background: var(--ms-paper); border: 1px solid var(--ms-line); border-radius: 10px; box-shadow: 0 16px 36px -16px rgba(29, 27, 23, .45); }
.ms-fab__menu[hidden] { display: none; }
.ms-fab__item { display: flex; align-items: center; gap: 0.6rem; min-width: 11rem; padding: 0.7rem 0.9rem; border-radius: 6px; font-weight: 700; color: var(--ms-ink) !important; }
.ms-fab__item:hover { background: var(--ms-stone); }
.ms-fab__item::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--dot); }
.ms-fab__item--viber { --dot: #7360f2; }
.ms-fab__item--tg { --dot: #229ed9; }
.ms-fab__item--call { --dot: var(--ms-green); }
@media (max-width: 599px) {
	.ms-fab__btn span { display: none; }
	.ms-fab__btn { padding: 0 0.95rem; }
	.ms-fab { opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity .2s, transform .2s, visibility .2s, bottom .2s; }
	body.ms-scrolled .ms-fab { opacity: 1; visibility: visible; transform: none; }
}
.wc-block-mini-cart__drawer-is-open .ms-fab, body:has(.wc-block-components-drawer__screen-overlay:not(.wc-block-components-drawer__screen-overlay--is-hidden)) .ms-fab { display: none; }

/* ---------- Оформление заказа ---------- */
.woocommerce-checkout #ship-to-different-address { display: none; }
.woocommerce-checkout .woocommerce-additional-fields.is-collapsed > h3,
.woocommerce-checkout .woocommerce-additional-fields.is-collapsed .woocommerce-additional-fields__field-wrapper { display: none; }
.ms-notes-toggle { margin: 0.5rem 0 1rem; padding: 0; border: 0; background: none; font: inherit; font-weight: 700; color: var(--ms-brass); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.woocommerce-checkout-review-order-table { width: 100%; border-collapse: collapse; }
.woocommerce-checkout-review-order-table th, .woocommerce-checkout-review-order-table td { padding: 0.7rem 0.75rem; vertical-align: top; }
.woocommerce-checkout-review-order-table #shipping_method { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.4rem; }
.woocommerce-checkout-review-order-table #shipping_method li { display: flex; align-items: center; gap: 0.5rem; margin: 0; }
@media (max-width: 599px) {
	.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals { display: flex; flex-direction: column; }
	.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals th { padding-bottom: 0.2rem; border: 0 !important; }
	.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td { border-top: 0 !important; }
	.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td { padding-top: 0; }
}
#payment.woocommerce-checkout-payment { background: var(--ms-stone) !important; border-radius: 6px; }
#payment .payment_box { background: var(--ms-paper) !important; color: var(--ms-ink) !important; border-radius: 6px; }
#payment .payment_box::before { display: none; }
#payment #place_order { width: 100%; min-height: 54px; font-size: 1.0625rem !important; }
.ms-checkout-note { list-style: none; clear: both; margin: 1rem 0 0; padding: 0.9rem 0 0; border-top: 1px solid var(--ms-line); display: flex; flex-direction: column; gap: 0.4rem; font-size: 0.875rem; color: var(--ms-muted); }
.ms-checkout-note a { font-weight: 700; color: var(--ms-ink); }

/* ---------- Спасибо за заказ ---------- */
.ms-next { margin: 1.5rem 0; padding: 1.25rem 1.4rem; border: 1px solid var(--ms-line); border-left: 3px solid var(--ms-brass); border-radius: 6px; }
.ms-next h2 { margin: 0 0 0.75rem; font-size: 1.25rem; }
.ms-next ol { margin: 0; padding-left: 1.2rem; display: flex; flex-direction: column; gap: 0.5rem; }
.ms-next a { font-weight: 700; color: var(--ms-ink); text-decoration: underline; }

/* ---------- Подвал ---------- */
.ms-footer { background: var(--ms-ink); color: #c8c2b6; font-size: 0.9375rem; }
.ms-footer a { color: #ece8df; }
.ms-footer a:hover { color: #e2b765; }
.ms-footer__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1fr);
	gap: 2rem;
	padding-block: 3rem 2rem;
}
.ms-footer__grid p { margin: 0 0 0.75rem; }
.ms-footer__name { font-family: var(--ms-display); font-size: 1.25rem; font-weight: 600; color: #fff; }
.ms-footer__brand > p:nth-child(2) { max-width: 26rem; }
.ms-footer__contacts { display: flex; flex-direction: column; gap: 0.35rem; }
.ms-footer__contacts a:first-child { font-size: 1.125rem; font-weight: 700; }
.ms-social { display: flex; gap: 0.6rem; margin: 0.35rem 0; }
/* Значки в фирменных цветах — узнаются с первого взгляда. */
.ms-social__btn { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; color: #fff !important; transition: transform .15s, filter .15s; }
.ms-social__btn svg { width: 22px; height: 22px; }
.ms-social__btn:hover { transform: translateY(-2px); filter: brightness(1.1); }
.ms-social__btn--viber { background: #7360f2; }
.ms-social__btn--tg { background: #229ed9; }
.ms-social__btn--ig { background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fd5949 45%, #d6249f 60%, #285aeb 90%); }
@media (prefers-reduced-motion: reduce) { .ms-social__btn:hover { transform: none; } }
.ms-footer__col { display: flex; flex-direction: column; gap: 0.5rem; }
.ms-footer__title { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #8f897d; }
.ms-archive .ms-trust { background: var(--ms-stone); }
.ms-archive .ms-trust__list strong { color: var(--ms-ink); }
.ms-archive .ms-trust__list span { color: var(--ms-muted); }
.ms-footer__copy { margin: 0 auto !important; padding-block: 1.25rem 1.5rem !important; border-top: 1px solid #3a362f; font-size: 0.8125rem; color: #8f897d; }
@media (max-width: 781px) {
	.ms-footer__grid { grid-template-columns: 1fr 1fr; padding-block: 2.25rem 1.5rem; }
	.ms-footer__brand { grid-column: 1 / -1; }
}

/* ---------- Доработки по разбору магазинов ---------- */
.ms-badges li.is-hit { background: var(--ms-brass); color: #fff; }
.ms-badges--product { margin-top: -0.25rem !important; }
.ms-badges--product li { font-size: 0.8125rem; padding: 0.15rem 0.55rem; }

.ms-kit { margin: 0 !important; padding: 0.7rem 0.9rem; background: var(--ms-stone); border-radius: 6px; font-size: 0.9375rem; line-height: 1.5; }
.ms-kit span { color: var(--ms-green); font-weight: 700; }

.ms-upsell { display: flex; align-items: center; gap: 0.75rem; padding: 0.55rem 0.6rem; border: 1px dashed var(--ms-line); border-radius: 6px; }
.ms-upsell__img { width: 48px; height: 48px; object-fit: cover; border-radius: 4px; flex: none; }
.ms-upsell__text { flex: 1; min-width: 0; font-size: 0.875rem; line-height: 1.35; }
.ms-upsell__text strong { display: block; font-weight: 600; }
.ms-upsell__btn { flex: none; min-height: 40px; padding: 0 1rem; border: 1.5px solid var(--ms-ink); border-radius: 6px; background: var(--ms-paper); color: var(--ms-ink); font: inherit; font-size: 0.875rem; font-weight: 700; cursor: pointer; }
.ms-upsell__btn:hover { background: var(--ms-ink); color: var(--ms-paper); }
.ms-upsell__btn:disabled { border-color: var(--ms-green); color: var(--ms-green); background: var(--ms-paper); cursor: default; }

.ms-faq { max-width: 860px; padding-block: 1rem clamp(2rem, 4vw, 3.5rem); }
.ms-faq .ms-section-title { margin-bottom: 1rem; }
.ms-faq__item { border-bottom: 1px solid var(--ms-line); }
.ms-faq__item summary { cursor: pointer; padding: 1rem 2rem 1rem 0; font-weight: 700; list-style: none; position: relative; }
.ms-faq__item summary::-webkit-details-marker { display: none; }
.ms-faq__item summary::after { content: "+"; position: absolute; right: 0.25rem; top: 0.85rem; font-size: 1.25rem; color: var(--ms-brass); }
.ms-faq__item[open] summary::after { content: "−"; }
.ms-faq__item p { margin: 0 0 1rem; color: #3d3931; max-width: 46rem; }

.ms-archive__desc.is-clamped { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; margin-bottom: 0.25rem; }
.ms-more { margin: 0 0 1rem; padding: 0; border: 0; background: none; font: inherit; font-size: 0.875rem; font-weight: 700; color: var(--ms-brass); text-decoration: underline; cursor: pointer; }

.ms-drawer-note { margin: 0.75rem 1rem 1rem; text-align: center; font-size: 0.8125rem; color: var(--ms-muted); }

.woocommerce-checkout .ms-up-field[hidden] { display: none !important; }
.woocommerce-checkout .ms-hint { display: block; margin-top: 0.3rem; font-size: 0.8125rem; line-height: 1.4; color: var(--ms-muted); }

.ms-footer__ship { font-size: 0.875rem; color: #a9a294; line-height: 1.6; }
