:root {
	--mms-color-text: #1f2937;
	--mms-color-muted: #6b7280;
	--mms-color-border: #e5e7eb;
	--mms-color-background: #ffffff;
	--mms-color-accent: #2563eb;
	--mes-container-width: 1200px;
	--mes-container-padding: 16px;
	--mms-spacing: 1.5rem;
	--mms-content-spacing: 3rem;
	--mes-sidebar-gap: 32px;
	--mes-sidebar-width: 300px;
	--mms-radius: 8px;
	--mms-font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--mms-font-heading: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--mes-font-size-body: 16px;
	--mes-line-height-body: 1.7;
	--mes-font-size-h1: clamp(32px, 4vw, 52px);
	--mes-font-size-h2: clamp(27px, 3vw, 40px);
	--mes-font-size-h3: clamp(23px, 2.5vw, 32px);
	--mes-font-size-h4: clamp(20px, 2vw, 26px);
	--mes-font-size-h5: 18px;
	--mes-font-size-h6: 16px;
	--mes-font-size-single-title: clamp(32px, 4vw, 48px);
	--mes-font-size-product-title: clamp(30px, 3.5vw, 44px);
	--mes-font-size-card-title: clamp(20px, 2vw, 26px);
	--mes-line-height-heading: 1.2;
	--mes-heading-letter-spacing: -0.02em;
	--mes-heading-color: #111827;
	--mes-menu-font-size: 15px;
	--mes-menu-font-weight: 500;
	--mes-mobile-menu-font-size: 16px;
	--mes-button-font-size: 15px;
	--mms-logo-size: 56px;
	--mms-header-height: 76px;
	--mms-header-background: #ffffff;
	--mms-header-menu-color: #1f2937;
	--mms-header-hover-color: #2563eb;
	--mms-footer-columns: 4;
	--mms-footer-background: #f8fafc;
	--mms-footer-text-color: #6b7280;
	--mms-boxed-site-width: 1280px;
	--mms-outside-background: #f1f5f9;
	--mms-boxed-background: #ffffff;
	--mms-box-shadow: 0 24px 70px rgb(15 23 42 / 16%);
	--mms-box-radius: 16px;
	--mms-shadow-sm: 0 1px 2px rgb(15 23 42 / 5%);
	--mms-shadow-md: 0 14px 36px rgb(15 23 42 / 10%);
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	background: var(--mms-color-background);
	color: var(--mms-color-text);
	font-family: var(--mms-font-body);
	font-size: var(--mes-font-size-body);
	line-height: var(--mes-line-height-body);
	text-rendering: optimizeLegibility;
}

.mms-site-frame {
	width: 100%;
	background: var(--mms-color-background);
}

.site-layout-full-width .mms-site-frame {
	max-width: none;
}

.site-layout-boxed {
	background: var(--mms-outside-background);
}

.site-layout-boxed .mms-site-frame {
	width: min(calc(100% - 2rem), var(--mms-boxed-site-width));
	margin-top: var(--mes-boxed-margin-top, 24px);
	margin-bottom: var(--mes-boxed-margin-bottom, 40px);
	margin-inline: auto;
	padding-top: var(--mes-boxed-padding-top, 0);
	padding-bottom: var(--mes-boxed-padding-bottom, 0);
	background: var(--mms-boxed-background);
	border: var(--mes-boxed-border-width, 1px) var(--mes-boxed-border-style, none) var(--mes-boxed-border-color, #e5e7eb);
	box-shadow: var(--mes-boxed-shadow, none);
}

.site-layout-boxed.boxed-edge-square .mms-site-frame,
.site-layout-boxed.boxed-edge-square .mms-header,
.site-layout-boxed.boxed-edge-square .mms-footer,
.site-layout-boxed.boxed-edge-square #primary {
	border-radius: 0;
}

.site-layout-boxed.boxed-edge-rounded .mms-site-frame {
	--mes-boxed-top-left: var(--mes-boxed-border-radius, 12px);
	--mes-boxed-top-right: var(--mes-boxed-border-radius, 12px);
	--mes-boxed-bottom-right: var(--mes-boxed-border-radius, 12px);
	--mes-boxed-bottom-left: var(--mes-boxed-border-radius, 12px);
}

.site-layout-boxed.boxed-edge-custom .mms-site-frame {
	--mes-boxed-top-left: var(--mes-boxed-radius-top-left, 12px);
	--mes-boxed-top-right: var(--mes-boxed-radius-top-right, 12px);
	--mes-boxed-bottom-right: var(--mes-boxed-radius-bottom-right, 12px);
	--mes-boxed-bottom-left: var(--mes-boxed-radius-bottom-left, 12px);
}

.site-layout-boxed:is(.boxed-edge-rounded, .boxed-edge-custom).boxed-corners-entire .mms-site-frame,
.site-layout-boxed:is(.boxed-edge-rounded, .boxed-edge-custom).boxed-corners-header-footer .mms-site-frame {
	border-radius:
		var(--mes-boxed-top-left)
		var(--mes-boxed-top-right)
		var(--mes-boxed-bottom-right)
		var(--mes-boxed-bottom-left);
}

.site-layout-boxed.boxed-edge-rounded.boxed-corners-entire .mms-header,
.site-layout-boxed.boxed-edge-rounded.boxed-corners-header-footer .mms-header,
.site-layout-boxed.boxed-edge-custom.boxed-corners-entire .mms-header,
.site-layout-boxed.boxed-edge-custom.boxed-corners-header-footer .mms-header {
	border-radius: var(--mes-boxed-top-left) var(--mes-boxed-top-right) 0 0;
}

.site-layout-boxed.boxed-edge-rounded.boxed-corners-entire .mms-footer,
.site-layout-boxed.boxed-edge-rounded.boxed-corners-header-footer .mms-footer,
.site-layout-boxed.boxed-edge-custom.boxed-corners-entire .mms-footer,
.site-layout-boxed.boxed-edge-custom.boxed-corners-header-footer .mms-footer {
	border-radius: 0 0 var(--mes-boxed-bottom-right) var(--mes-boxed-bottom-left);
}

.site-layout-boxed:is(.boxed-edge-rounded, .boxed-edge-custom).boxed-corners-content #primary {
	border-radius:
		var(--mes-boxed-top-left)
		var(--mes-boxed-top-right)
		var(--mes-boxed-bottom-right)
		var(--mes-boxed-bottom-left);
}

.mms-elementor-canvas {
	background: var(--mms-color-background);
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

a {
	color: var(--mms-color-accent);
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.16em;
}

a:hover,
a:focus {
	text-decoration: none;
}

button,
input,
select,
textarea {
	font: inherit;
}

:focus-visible {
	outline: 2px solid var(--mms-color-accent);
	outline-offset: 3px;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus {
	top: 0.75rem;
	left: 0.75rem;
	z-index: 100000;
	width: auto;
	height: auto;
	padding: 0.75rem 1rem;
	clip: auto;
	background: var(--mms-color-background);
	border-radius: var(--mms-radius);
	box-shadow: var(--mms-shadow-md);
}

.site-container {
	width: 100%;
	max-width: var(--mes-container-width, 1200px);
	margin-inline: auto;
	padding-inline: var(--mes-container-padding, 16px);
}

.site-main {
	min-height: 60vh;
	padding-block: var(--mms-content-spacing);
}

.site-content {
	width: 100%;
}

.mms-elementor-layout,
.mms-elementor-content {
	width: 100%;
	padding: 0;
	margin: 0;
}

.mms-elementor-content > :first-child {
	margin-top: 0;
}

.mms-elementor-content > :last-child {
	margin-bottom: 0;
}

.elementor-page .site-main {
	padding-block: 0;
}

.elementor-page .entry-content {
	width: 100%;
	max-width: none;
	margin-inline: 0;
}

.mms-page-layout--with-sidebar,
.mms-sidebar,
.mms-woocommerce {
	min-width: 0;
}

.mms-page-layout--with-sidebar .entry-header,
.mms-page-layout--with-sidebar .entry-content {
	width: 100%;
}
