/*
Theme Name: MebelMaster Сочи
Description: A child theme of twentytwentyfive, scaffolded by Studio Code.
Template: twentytwentyfive
Requires at least: 6.7
Tested up to: 6.9
Requires PHP: 7.2
Version: 0.1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mebelmaster
Tags: full-site-editing, block-patterns, block-styles, wide-blocks, accessibility-ready, style-variations
*/

/* WordPress removes the default gap between top-level template sections; we
   own vertical rhythm ourselves. Keep these resets. */
.wp-site-blocks > * + * {
	margin-block-start: 0;
}
.wp-site-blocks main {
	padding-top: 0;
	padding-bottom: 0;
}

/* Zero the default block gap between adjacent full-bleed section bands
   inside page/post content so they sit flush (we own rhythm ourselves). */
.entry-content.is-layout-constrained > * + *,
.wp-block-post-content.is-layout-constrained > * + * {
	margin-block-start: 0 !important;
}

:root {
	--mm-ink: var( --wp--preset--color--ink );
	--mm-muted: var( --wp--preset--color--muted );
	--mm-orange: var( --wp--preset--color--primary );
	--mm-orange-dark: var( --wp--preset--color--primary-dark );
	--mm-cream: var( --wp--preset--color--cream );
	--mm-white: var( --wp--preset--color--base );
	--mm-line: var( --wp--preset--color--line );
	--mm-radius: 16px;
	--mm-shadow: 0 20px 60px rgba(44, 44, 44, .10);
}

/* === reset === */
html {
	scroll-behavior: auto;
}
body {
	background: var( --mm-white );
	color: var( --mm-ink );
	font-family: "Manrope", sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 1.6;
}
img {
	max-width: 100%;
	display: block;
}
a {
	text-decoration: none;
	color: inherit;
}

/* === typography === */
.site h1, .site h2, .site h3, .site h4 {
	font-family: "Manrope", sans-serif;
	color: var( --mm-ink );
}
h1, h2, h3, h4, p {
	margin-top: 0;
}
.mm-block h1, .mm-block h2, .mm-block h3 { margin-top: 0; }
.mm-eyebrow {
	color: var( --mm-orange-dark );
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .13em;
	margin-bottom: 15px;
}
.mm-lead {
	font-size: 18px;
	line-height: 1.75;
	color: #666;
	max-width: 650px;
}

/* === buttons === */
.wp-element-button {
	border-radius: 8px;
	font-weight: 800;
	padding: 15px 22px;
	font-size: 0.875rem;
	box-shadow: 0 8px 20px rgba(255, 107, 53, .16);
	transition: background .2s ease, transform .2s ease;
}
.wp-element-button:hover {
	background: var( --mm-orange-dark ) !important;
	transform: translateY(-2px);
}
.is-style-outline .wp-element-button {
	background: transparent;
	color: var( --mm-ink );
	border: 1px solid #d9d5d1;
	box-shadow: none;
}
.is-style-outline .wp-element-button:hover {
	background: var( --mm-cream );
	color: var( --mm-ink );
}

/* === header === */
.mm-topbar {
	position: sticky;
	top: 0;
	z-index: 30;
	background: rgba(255, 255, 255, .92);
	backdrop-filter: blur(16px);
	border-bottom: 1px solid rgba(234, 231, 228, .85);
	padding-inline: var( --wp--style--root--padding-left );
}
.mm-topbar > .wp-block-group {
	min-height: 82px;
}
.mm-topbar-inner {
	/* match the wide content sections so the header aligns with the page content */
	max-width: 1280px;
}
.mm-footer > .wp-block-group {
	/* match the wide content sections so the footer aligns with the page content */
	max-width: 1280px;
}
.mm-burger {
	display: none;
}
.mm-logo {
	gap: 11px;
	white-space: nowrap;
}
.mm-logo-link {
	margin: 0;
}
.mm-logo-link a {
	display: flex;
	align-items: center;
	gap: 11px;
	color: inherit;
	text-decoration: none;
}
.mm-logo-link a:hover .mm-logo-name {
	color: var( --mm-orange-dark );
}
.mm-logo .mm-logo-mark {
	width: 38px;
	height: 38px;
	border-radius: 12px;
	background: var( --mm-orange );
	display: grid;
	place-items: center;
	color: #fff;
	font-size: 20px;
	font-weight: 800;
}
.mm-logo .mm-logo-name {
	font-size: 17px;
	font-weight: 800;
	letter-spacing: -.04em;
	color: var( --mm-ink );
}
.mm-nav {
	gap: 25px;
	flex-wrap: wrap;
}
.mm-nav a {
	font-size: 13px;
	color: #555;
}
.mm-nav a:hover {
	color: var( --mm-orange-dark );
}
.mm-actions {
	gap: 16px;
	align-items: center;
}
.mm-phone {
	font-size: 13px;
	font-weight: 800;
	color: var( --mm-orange-dark );
	white-space: nowrap;
}
.mm-header-btn .wp-element-button {
	padding: 11px 16px;
	font-size: 13px;
}
/* === hero === */
.mm-hero {
	background: linear-gradient(180deg, #fff 0%, #fffaf7 100%);
	padding-top: 58px;
	padding-bottom: 30px;
}
.mm-hero-copy h1, .mm-hero-copy h2 {
	font-size: clamp(42px, 5.7vw, 72px);
	line-height: 1.04;
	letter-spacing: -.055em;
	font-weight: 500;
	margin-bottom: 24px;
}
.mm-hero .alignwide > h1 {
	font-size: clamp(36px, 4.8vw, 54px);
	line-height: 1.08;
	letter-spacing: -.05em;
	font-weight: 500;
	margin-bottom: 20px;
}
.mm-section-head h1 {
	font-size: clamp(32px, 4.5vw, 52px);
	line-height: 1.08;
	letter-spacing: -.05em;
	font-weight: 500;
}
.wp-block-post-title {
	font-size: clamp(32px, 4.5vw, 52px);
	line-height: 1.08;
	letter-spacing: -.05em;
	font-weight: 500;
	margin-bottom: 20px;
}
/* legal / policy pages use the default template — keep section headings readable */
.page-template-default .entry-content h2 {
	font-size: 1.5rem;
	line-height: 1.25;
	letter-spacing: -.02em;
	margin: 34px 0 12px;
}
.page-template-default .entry-content h3 {
	font-size: 1.15rem;
	margin: 26px 0 10px;
}
.mm-hero-copy h1 em, .mm-hero-copy h2 em {
	font-style: normal;
	color: var( --mm-orange );
}
.mm-hero-actions {
	gap: 12px;
	flex-wrap: wrap;
	margin-top: 28px;
}
.mm-hero-note {
	font-size: 12px;
	color: var( --mm-muted );
	margin-top: 15px;
}
.mm-hero-photo {
	border-radius: 26px 26px 26px 90px;
	overflow: hidden;
}
.mm-hero-photo img {
	width: 100%;
	height: 450px;
	object-fit: cover;
}
.mm-hero-label {
	position: relative;
}
.mm-hero-label .mm-photo-label {
	position: absolute;
	left: -24px;
	bottom: -24px;
	background: #fff;
	padding: 14px 18px;
	border-radius: 14px;
	box-shadow: var( --mm-shadow );
	gap: 12px;
	align-items: center;
}
.mm-hero-label .mm-check {
	width: 38px;
	height: 38px;
	background: #fff0e8;
	border-radius: 50%;
	display: grid;
	place-items: center;
	color: var( --mm-orange-dark );
	font-weight: 900;
	font-size: 15px;
}
.mm-hero-label strong {
	display: block;
	font-size: 13px;
}
.mm-hero-label span {
	font-size: 11px;
	color: var( --mm-muted );
}
.mm-stats {
	border-top: 1px solid var( --mm-line );
	margin-top: 35px;
	padding-top: 23px;
}
.mm-stat strong {
	display: block;
	font-size: 27px;
	letter-spacing: -.05em;
	font-weight: 700;
}
.mm-stat span {
	font-size: 12px;
	color: var( --mm-muted );
}

/* === services === */
.mm-section {
	padding-top: 100px;
	padding-bottom: 100px;
}
.mm-section-head {
	margin-bottom: 42px;
	/* match the wide content width so heads align with cards and header/footer */
	max-width: 1280px;
}

.mm-brands {
	background: var( --wp--preset--color--cream );
	padding-top: 40px;
	padding-bottom: 40px;
}
.mm-brands .mm-brands-list {
	color: var( --wp--preset--color--muted );
	font-weight: 600;
	letter-spacing: .02em;
	margin-top: 14px;
}
.mm-section-head p {
	max-width: 410px;
	color: var( --mm-muted );
}
/* Default-template page title (e.g. privacy policy): hug its text and stay
   left-aligned instead of stretching edge to edge across the content width. */
.wp-block-post-title {
	width: fit-content;
	max-width: 100%;
	margin-left: 0 !important;
	margin-right: auto !important;
}
.mm-services, .mm-reviews-grid, .mm-steps {
	gap: 16px;
}
.mm-services .is-style-card {
	border: 1px solid var( --mm-line );
	border-radius: 16px;
	padding: 23px 21px;
	background: #fff;
	min-height: 220px;
	transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
.mm-services .is-style-card:hover {
	border-color: #ffc1a8;
	transform: translateY(-4px);
	box-shadow: var( --mm-shadow );
}
.mm-services .is-style-card h3 {
	font-size: 17px;
	margin-bottom: 7px;
}
.mm-services .is-style-card p {
	font-size: 12px;
	color: var( --mm-muted );
	margin-bottom: 18px;
}
.mm-service-icon {
	height: 52px;
	width: 52px;
	border-radius: 15px;
	background: var( --mm-cream );
	display: grid;
	place-items: center;
	font-size: 25px;
	margin-bottom: 19px;
}
.mm-price-from {
	font-size: 13px;
	font-weight: 800;
	margin-top: auto;
}
.mm-price-from em {
	font-style: normal;
	color: var( --mm-orange-dark );
	font-size: 16px;
}

/* === why === */
.mm-why {
	background: var( --mm-ink );
	color: #fff;
	padding-top: 100px;
	padding-bottom: 100px;
}
.mm-why h2, .mm-why h3 {
	color: #fff;
}
.mm-why .mm-eyebrow {
	color: #ff9b75;
}
.mm-why .mm-section-head p {
	color: #b9b9b9;
}
.mm-why-grid {
	gap: 1px;
	background: #454545;
	border: 1px solid #454545;
	border-radius: 18px;
	overflow: hidden;
}
.mm-why-grid .is-style-card {
	background: var( --mm-ink );
	padding: 29px;
	min-height: 175px;
	border-radius: 0;
}
.mm-why-icon {
	color: #ff8a5d;
	font-size: 24px;
	margin-bottom: 17px;
}
.mm-why-grid h3 {
	font-size: 17px;
	color: #fff;
	margin-bottom: 8px;
}
.mm-why-grid p {
	font-size: 13px;
	color: #b9b9b9;
	margin: 0;
}
/* Join the two home "why" rows into one continuous 2×3 grid — the blockGap
   between the two .mm-why-grid blocks rendered as a thick dark band on the
   cards' bottom edge. On wide screens pull them together and drop the top
   border of the second grid so the only divider is a slim 1px line. */
@media (min-width: 782px) {
	.mm-why-grid + .mm-why-grid {
		margin-top: 0;
		border-top: 0;
	}
}

/* === steps === */
.mm-steps .is-style-card {
	border: 1px solid var( --mm-line );
	border-radius: 16px;
	padding: 25px 20px;
	position: relative;
}
.mm-step-num {
	font-size: 12px;
	color: var( --mm-orange-dark );
	font-weight: 800;
	letter-spacing: .1em;
	margin-bottom: 30px;
}
.mm-steps h3 {
	font-size: 16px;
	margin-bottom: 9px;
}
.mm-steps p {
	font-size: 12px;
	color: var( --mm-muted );
	margin: 0;
}
/* === pricing === */
.mm-pricing {
	background: #fffaf7;
}
.mm-price-table {
	background: #fff;
	border: 1px solid var( --mm-line );
	border-radius: 18px;
	overflow: hidden;
}
.mm-price-row {
	padding: 19px 24px;
	border-bottom: 1px solid var( --mm-line );
	align-items: center;
	justify-content: space-between;
}
.mm-price-row:last-child {
	border-bottom: 0;
}
.mm-price-row > p {
	font-size: 14px;
	margin: 0;
}
.mm-price-row strong {
	font-size: 15px;
}
.mm-price-row em {
	font-style: normal;
	color: var( --mm-orange-dark );
}
.mm-price-right {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
}
.mm-price-right .mm-price {
	margin: 0;
}
.mm-cta-panel {
	background: var( --mm-ink );
	color: #fff;
	border-radius: 20px;
	padding: 32px;
}
.mm-cta-panel h3 {
	color: #fff;
	font-size: 27px;
}
.mm-cta-panel p {
	font-size: 14px;
	color: #c5c5c5;
}
.mm-cta-panel ul {
	padding-left: 19px;
	color: #e6e6e6;
	font-size: 13px;
	line-height: 2.2;
	margin: 22px 0 27px;
}
/* Push the action button to the end (right edge) of CTA panels — only in the
   two-column (text + button) panels; stacked panels keep the button left-aligned
   with the content so it does not stick to the edge. */
.mm-cta-panel .wp-block-columns .wp-block-buttons,
.mm-guarantee-panel .wp-block-columns .wp-block-buttons {
	justify-content: flex-end;
}

/* === gallery === */
.mm-gallery {
	gap: 14px;
}
.mm-gallery .wp-block-image, .mm-gallery figure {
	margin: 0;
}
.mm-gallery .wp-block-image img {
	width: 100%;
	height: 190px;
	object-fit: cover;
	border-radius: 15px;
	transition: transform .4s ease;
}
.mm-gallery .wp-block-image:hover img {
	transform: scale(1.04);
}
.mm-gallery figcaption {
	background: none;
	color: var( --mm-muted );
	font-size: 12px;
	font-weight: 600;
	line-height: 1.5;
	padding: 12px 4px 0;
	text-align: left;
	letter-spacing: .01em;
}

/* === reviews === */
.mm-reviews {
	background: #fffaf7;
}
.mm-rating-score {
	font-size: 38px;
	font-weight: 700;
	letter-spacing: -.05em;
}
.mm-stars {
	color: var( --mm-orange );
	letter-spacing: 2px;
}
.mm-rating-caption {
	font-size: 11px;
	color: var( --mm-muted );
}
.mm-reviews-grid .is-style-card {
	background: #fff;
	border: 1px solid var( --mm-line );
	border-radius: 16px;
	padding: 24px;
}
.mm-avatar {
	width: 43px;
	height: 43px;
	border-radius: 50%;
	background: #f5d8ca;
	color: #8b482d;
	display: grid;
	place-items: center;
	font-weight: 800;
	font-size: 15px;
}
.mm-review-top {
	align-items: center;
	gap: 12px;
	margin-bottom: 16px;
}
.mm-review-top strong {
	display: block;
	font-size: 13px;
}
.mm-review-top span {
	display: block;
	font-size: 11px;
	color: var( --mm-muted );
}
.mm-reviews-grid .is-style-card > p {
	font-size: 13px;
	color: #555;
	margin-bottom: 15px;
}
.mm-reviews-grid .is-style-card .mm-stars {
	font-size: 12px;
}

/* === faq === */
.mm-faq-item {
	border-bottom: 1px solid var( --mm-line );
}
.mm-faq-item:first-child {
	border-top: 1px solid var( --mm-line );
}
.mm-faq-q {
	gap: 20px;
	align-items: center;
	justify-content: space-between;
	padding: 20px 0;
}
.mm-faq-q .mm-faq-q-text {
	font-weight: 700;
	font-size: 15px;
	color: var( --mm-ink );
	margin: 0;
}
.mm-faq-q .mm-faq-plus {
	font-size: 23px;
	color: var( --mm-orange );
	font-weight: 400;
}
.mm-faq-a {
	color: var( --mm-muted );
	font-size: 13px;
}
/* FAQ section: a cream panel with a soft "?" watermark to fill the whitespace */
.mm-section:has(.wp-block-details) {
	position: relative;
	background: var( --mm-cream );
}
.mm-section:has(.wp-block-details)::before {
	content: "?";
	position: absolute;
	right: 4%;
	top: 55px;
	font-size: 260px;
	font-weight: 800;
	line-height: 1;
	color: var( --mm-orange );
	opacity: .06;
	pointer-events: none;
}
/* === guarantee === */
.mm-guarantee-panel {
	background: #fff2eb;
	border-radius: 24px;
	padding: 55px;
	position: relative;
	overflow: hidden;
}
.mm-guarantee-panel h2 {
	max-width: 620px;
}
.mm-guarantee-panel p {
	max-width: 650px;
	color: #6c625d;
	margin-bottom: 0;
}
.mm-guarantee-badge {
	width: 128px;
	height: 128px;
	border: 1px solid #ffc3a9;
	border-radius: 50%;
	display: grid;
	place-items: center;
	justify-content: center;
	align-items: center;
	text-align: center;
	color: var( --mm-orange-dark );
	font-size: 12px;
	font-weight: 800;
	line-height: 1.5;
}
.mm-guarantee-badge strong {
	display: block;
	font-size: 30px;
	letter-spacing: -.05em;
}

/* === contact === */
.mm-contact {
	background: var( --mm-ink );
	color: #fff;
}
.mm-contact h2 {
	color: #fff;
}
.mm-contact .mm-section-head p {
	color: #bdbdbd;
}
.mm-contact-form {
	background: #fff;
	color: var( --mm-ink );
	border-radius: 20px;
	padding: 30px;
}
.mm-cm-field {
	gap: 7px;
	margin-bottom: 16px;
}
.mm-cm-field label {
	font-size: 12px;
	font-weight: 800;
}
.mm-cm-field input, .mm-cm-field select, .mm-cm-field textarea {
	width: 100%;
	border: 1px solid #e2dedb;
	border-radius: 9px;
	padding: 13px 14px;
	outline: none;
	background: #fff;
	color: var( --mm-ink );
	font-family: "Manrope", sans-serif;
}
.mm-cm-field input:focus, .mm-cm-field select:focus, .mm-cm-field textarea:focus {
	border-color: var( --mm-orange );
}
.mm-cm-field textarea {
	resize: vertical;
	min-height: 92px;
}
.mm-consent {
	font-size: 11px;
	color: #777;
	margin: 4px 0 18px;
}
.mm-consent label {
	font-weight: 400 !important;
	font-size: 11px !important;
}
.mm-manager {
	align-items: center;
	gap: 16px;
	margin-bottom: 30px;
}
.mm-manager img {
	width: 76px;
	height: 76px;
	object-fit: cover;
	border-radius: 50%;
}
.mm-manager strong {
	display: block;
	font-size: 15px;
	color: #fff;
}
.mm-manager span {
	font-size: 12px;
	color: #bbb;
}
.mm-manager p {
	line-height: 1.3;
	margin: 0;
}
.mm-cm-row {
	padding: 17px 0;
	border-bottom: 1px solid #484848;
	justify-content: space-between;
	gap: 15px;
	align-items: center;
}
.mm-cm-row span {
	font-size: 12px;
	color: #bbb;
}
.mm-cm-row strong {
	font-size: 14px;
	color: #fff;
}
.mm-cm-row a {
	color: #fff;
}
.mm-socials {
	gap: 10px;
	margin-top: 22px;
	flex-wrap: wrap;
}
.mm-social {
	border: 1px solid #5b5b5b;
	border-radius: 8px;
	padding: 10px 14px;
	font-size: 12px;
	color: #fff;
}
.mm-social:hover {
	border-color: var( --mm-orange );
}

/* === footer === */
.mm-footer {
	background: #242424;
	color: #fff;
	padding-top: 27px;
	padding-bottom: 27px;
	/* horizontal gutters come from .has-global-padding (root padding) */
}
.mm-footer > .wp-block-group {
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
}
.mm-footer .mm-logo-name {
	color: #fff;
}
.mm-footer-links {
	gap: 20px;
	flex-wrap: wrap;
	color: #bbb;
	font-size: 11px;
}
.mm-footer-links a:hover {
	color: #fff;
}
.mm-footer .mm-copyright {
	color: #888;
	font-size: 11px;
}

/* === responsive === */
@media (max-width: 980px) {
	.mm-hero-photo img { height: 400px; }
}
@media (max-width: 760px) {
	.mm-logo .mm-logo-name { font-size: 15px; }
	.mm-topbar-inner { min-height: 64px; }
	.mm-section, .mm-why { padding-top: 70px; padding-bottom: 70px; }
	.mm-hero { padding-top: 30px; }
	.mm-hero-photo img { height: 330px; }
	.mm-hero-photo { border-radius: 20px 20px 20px 60px; }
	.mm-hero-label .mm-photo-label { left: 10px; bottom: -18px; }
	.mm-stat strong { font-size: 22px; }
	.mm-guarantee-panel { padding: 30px; }
	.mm-guarantee-badge { width: 95px; height: 95px; }
	.mm-contact-form { padding: 22px; }
	.mm-why-grid .is-style-card { padding: 21px; min-height: 160px; }
}

/* === icons (inline SVG) === */
.mm-services .is-style-card p.mm-service-icon { color: var( --mm-orange-dark ); }
.mm-why-grid .is-style-card p.mm-why-icon,
.mm-services .is-style-card p.mm-why-icon { color: #ff8a5d; }
.mm-service-icon svg, .mm-why-icon svg {
	width: 27px;
	height: 27px;
	flex: 0 0 auto;
}

/* === Jetpack contact form polish === */
.wp-block-jetpack-contact-form,
form.contact-form {
	display: flex;
	flex-direction: column;
	gap: 16px;
}
form.contact-form label,
.wp-block-jetpack-contact-form .jetpack-contact-form__label,
form.contact-form label.grunion-field-label {
	font-size: 12px;
	font-weight: 800;
	color: var( --mm-ink );
	margin-bottom: 6px;
	display: block;
}
/* Hide the auto-appended "(required)" marker on required fields */
form.contact-form .grunion-label-required {
	display: none;
}
form.contact-form :where( input[type="text"], input[type="tel"], input[type="email"], input[type="url"], input[type="file"], textarea, select ) {
	width: 100%;
	border: 1px solid #e2dedb;
	border-radius: 9px;
	padding: 13px 14px;
	font-family: "Manrope", sans-serif;
	font-size: 15px;
	color: var( --mm-ink );
	background: #fff;
	outline: none;
	box-sizing: border-box;
}
form.contact-form :where( input[type="text"], input[type="tel"], input[type="email"], input[type="url"], textarea, select ):focus {
	border-color: var( --mm-orange );
}
form.contact-form :where( textarea ) {
	resize: vertical;
	min-height: 84px;
}
form.contact-form .jetpack-contact-form__checkbox,
form.contact-form .grunion-checkbox-multiple-wrap label,
form.contact-form :where( label ) input[type="checkbox"],
form.contact-form :where( label ) input[type="radio"] {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 12px;
	color: #666;
}
form.contact-form :where( label ) input[type="checkbox"],
form.contact-form :where( label ) input[type="radio"] {
	width: 16px;
	height: 16px;
	margin-top: 2px;
	accent-color: var( --mm-orange );
}
form.contact-form .grunion-field-label a {
	color: var( --mm-orange-dark );
}

/* file-upload dropzone */
.jetpack-form-file-field__dropzone {
	border: 1.5px dashed #d9d4d0;
	border-radius: 12px;
	padding: 24px 18px;
	min-height: 74px;
	text-align: center;
	cursor: pointer;
	transition: border-color .2s;
	display: grid;
	place-items: center;
}
.jetpack-form-file-field__dropzone:hover,
.jetpack-form-file-field__dropzone.is-dropping {
	border-color: var( --mm-orange );
	background: #fff9f5;
}
.jetpack-form-file-field__dropzone-inner {
	display: grid;
	place-items: center;
	gap: 6px;
	font-size: 13px;
	color: var( --mm-muted );
}
.jetpack-form-file-field__dropzone-inner::before {
	content: "";
	width: 26px;
	height: 26px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff6b35' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 16V4'/%3E%3Cpath d='M6 10l6-6 6 6'/%3E%3Cpath d='M4 20h16'/%3E%3C/svg%3E") center / contain no-repeat;
}
.jetpack-form-file-field__dropzone-inner::after {
	content: "Нажмите или перетащите фото сюда";
}
.jetpack-form-file-field[type="file"] {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
}

/* consent checkbox row (input and label are siblings) */
form.contact-form .contact-form__checkbox-wrap {
	display: flex;
	align-items: flex-start;
	gap: 7px;
}
form.contact-form input[type="checkbox"] {
	width: 16px;
	height: 16px;
	margin-top: 2px;
	accent-color: var( --mm-orange );
}
form.contact-form .contact-form__checkbox-wrap .grunion-field-label {
	font-weight: 500;
	font-size: 12px;
	color: #555;
	line-height: 1.5;
	margin-bottom: 0;
}

/* === quick-order modal === */
.mm-modal {
	position: fixed;
	inset: 0;
	z-index: 120;
	display: none;
}
.mm-modal.is-open {
	display: block;
}
.mm-modal-overlay {
	position: absolute;
	inset: 0;
	background: rgba(20, 20, 20, .55);
	backdrop-filter: blur(4px);
}
.mm-modal-dialog {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: min(520px, calc(100vw - 28px));
	max-height: calc(100vh - 44px);
	overflow: auto;
	background: #fff;
	border-radius: 20px;
	padding: 34px 32px 30px;
	box-shadow: 0 30px 80px rgba(0, 0, 0, .28);
}
.mm-modal-dialog h2 {
	font-size: clamp(26px, 4vw, 34px);
	margin-bottom: 8px;
}
.mm-modal-sub {
	font-size: 14px;
	color: var( --mm-muted );
	margin-bottom: 22px;
	max-width: 420px;
}
.mm-modal-close {
	position: absolute;
	top: 12px;
	right: 16px;
	font-size: 28px;
	line-height: 1;
	color: #999;
	cursor: pointer;
	background: none;
}
.mm-modal-close:hover {
	color: var( --mm-ink );
}
.mm-modal .mm-consent {
	margin: 4px 0 0;
}
body.mm-no-scroll {
	overflow: hidden;
}

/* === responsive header (hamburger) === */
@media (max-width: 980px) {
	.mm-burger {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: 5px;
		width: 38px;
		height: 38px;
		margin: 0 4px 0 auto;
		cursor: pointer;
	}
	.mm-burger span {
		display: block;
		height: 2px;
		width: 22px;
		background: var( --mm-ink );
		border-radius: 2px;
		transition: transform .2s ease, opacity .2s ease;
	}
	.mm-topbar.nav-open .mm-burger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
	.mm-topbar.nav-open .mm-burger span:nth-child(2) { opacity: 0; }
	.mm-topbar.nav-open .mm-burger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
	.mm-topbar .mm-nav {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
		background: #fff;
		padding: 20px 22px;
		box-shadow: 0 24px 40px rgba(0, 0, 0, .14);
		display: none;
		border-top: 1px solid var( --mm-line );
	}
	.mm-topbar.nav-open .mm-nav { display: flex; }
	.mm-topbar .mm-nav a { font-size: 15px; }
	.mm-topbar .mm-phone { display: none; }
}

/* === reduced motion === */
@media (prefers-reduced-motion: reduce) {
	*, *:before, *:after {
		scroll-behavior: auto !important;
		animation: none !important;
		transition: none !important;
	}
}
