:root {
	--livspace-accent: #c93440;
	--livspace-hover: #a62631;
	--livspace-container: 1200px;
	--livspace-logo-width: 220px;
	--livspace-font-size: 16px;
	--livspace-line-height: 1.65;
	--livspace-heading-weight: 700;
	--livspace-text: #333;
	--livspace-surface: #faf7f3;
	--livspace-border: #e8e3df;
	--theme-h1-size-desktop:48px; --theme-h1-size-tablet:40px; --theme-h1-size-mobile:32px;
	--theme-h2-size-desktop:36px; --theme-h2-size-tablet:30px; --theme-h2-size-mobile:26px;
	--theme-h3-size-desktop:28px; --theme-h3-size-tablet:24px; --theme-h3-size-mobile:22px;
	--theme-h4-size-desktop:24px; --theme-h4-size-tablet:22px; --theme-h4-size-mobile:20px;
	--theme-h5-size-desktop:20px; --theme-h5-size-tablet:18px; --theme-h5-size-mobile:18px;
	--theme-h6-size-desktop:18px; --theme-h6-size-tablet:16px; --theme-h6-size-mobile:16px;
	--theme-paragraph-size-desktop:var(--livspace-font-size); --theme-paragraph-size-tablet:16px; --theme-paragraph-size-mobile:15px;
	--theme-h1-size:var(--theme-h1-size-desktop); --theme-h2-size:var(--theme-h2-size-desktop);
	--theme-h3-size:var(--theme-h3-size-desktop); --theme-h4-size:var(--theme-h4-size-desktop);
	--theme-h5-size:var(--theme-h5-size-desktop); --theme-h6-size:var(--theme-h6-size-desktop);
	--theme-paragraph-size:var(--theme-paragraph-size-desktop);
	--theme-page-bg: #ffffff;
	--theme-heading-color: var(--livspace-text);
	--theme-h1-color: var(--theme-heading-color);
	--theme-h2-color: var(--theme-heading-color);
	--theme-h3-color: var(--theme-heading-color);
	--theme-h4-color: var(--theme-heading-color);
	--theme-h5-color: var(--theme-heading-color);
	--theme-h6-color: var(--theme-heading-color);
	--theme-paragraph-color: var(--livspace-text);
	--theme-muted-color: #666666;
	--theme-card-bg: #ffffff;
	--theme-alt-bg: #f7f5f6;
	--theme-link-color: var(--livspace-accent);
	--theme-link-hover: var(--livspace-hover);
	--theme-link-active: var(--theme-link-hover);
	--theme-nav-color: var(--livspace-text);
	--theme-nav-hover: var(--livspace-accent);
	--theme-nav-active: var(--livspace-accent);
	--theme-focus-color: var(--livspace-accent);
	--theme-button-bg: var(--livspace-accent);
	--theme-button-text: #ffffff;
	--theme-button-border: var(--theme-button-bg);
	--theme-button-hover-bg: var(--livspace-hover);
	--theme-button-hover-text: var(--theme-button-text);
	--theme-button-hover-border: var(--theme-button-hover-bg);
	--theme-button-active-bg: var(--theme-button-hover-bg);
	--theme-button-active-text: var(--theme-button-hover-text);
	--theme-form-bg: var(--theme-alt-bg);
	--theme-form-text: var(--theme-paragraph-color);
	--theme-form-border: var(--livspace-border);
	--theme-form-placeholder: var(--theme-muted-color);
	--theme-contrast-bg: var(--theme-notification-bg);
	--theme-home-heading: #392f41;
	--theme-home-text: #453c46;
	--theme-home-accent: var(--livspace-accent);
	--theme-promo-heading: #403146;
	--theme-promo-accent: #ed5360;
	--theme-promo-bg: #f8f7f8;
	--theme-notification-bg: #493c46;
	--theme-notification-text: #ffffff;
	--theme-contrast-text: #ffffff;
	--theme-footer-badge-bg: #050505;
}
body, button, input, select, optgroup, textarea { font-family: "Outfit", sans-serif; }
body { background-color: var(--theme-page-bg); color: var(--theme-paragraph-color); line-height: var(--livspace-line-height); font-size: var(--theme-paragraph-size); }
html body.custom-background { background-color:var(--theme-page-bg); }
button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; }
a { color: var(--theme-link-color); }
a:hover, a:focus { color: var(--theme-link-hover); }
a:active { color: var(--theme-link-active); }
:focus-visible { outline: 2px solid var(--theme-focus-color); outline-offset: 4px; }
.site-header, .site-footer { padding: 24px max(24px, calc((100% - var(--livspace-container)) / 2)); }
.site-header { border-bottom: 1px solid var(--livspace-border); }
.site-title { font-size: 2rem; font-weight: 700; margin: 0; }
.site-title a { text-decoration: none; }
.site-description { margin: 4px 0 16px; font-size: .9rem; }
.custom-logo { max-width: var(--livspace-logo-width); height: auto; }
.main-navigation a { padding: 10px 16px; color: var(--theme-nav-color); }
.main-navigation a:hover, .main-navigation a:focus-visible { color: var(--theme-nav-hover); }
.main-navigation .current-menu-item > a { color: var(--theme-nav-active); }
.main-navigation ul ul { background: var(--theme-card-bg); z-index: 100; }
.site-main:not(.livspace-full-width), .widget-area {
	margin-inline: auto; padding-block: 40px;
}
.site-footer { background: var(--livspace-surface); border-top: 1px solid var(--livspace-border); }
.entry-title { line-height: 1.2; overflow-wrap: anywhere; }
.entry-content > .alignwide { max-width: var(--livspace-container); margin-inline: auto; }
.entry-content > .alignfull { width: auto; max-width: none; margin-inline: calc((min(var(--livspace-container), 100vw - 48px) - 100vw) / 2); }
body.livspace-elementor-page .site-main, .site-main.livspace-full-width {
	width: 100%; max-width: none; margin: 0; padding: 0;
}
body.livspace-elementor-page .entry-content, body.livspace-elementor-page .hentry { margin: 0; }
.material-symbols-outlined {
	font-family: "Material Symbols Outlined"; font-weight: normal; font-style: normal;
	font-size: 24px; line-height: 1; letter-spacing: normal; text-transform: none;
	display: inline-block; white-space: nowrap; word-wrap: normal; direction: ltr;
	font-feature-settings: "liga"; -webkit-font-smoothing: antialiased;
	font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
}
[data-livspace-swiper] { --swiper-theme-color: var(--livspace-accent); }
/* Reserve the existing control space without flashing inactive arrows at first paint. */
[data-livspace-swiper]:not(.swiper-initialized) > :is(.swiper-button-prev,.swiper-button-next,.swiper-pagination) { visibility: hidden; }
@media (prefers-reduced-motion: reduce) {
	[data-livspace-swiper] .swiper-wrapper { transition-duration: 0ms !important; }
}
h1, h2, h3, h4, h5, h6 { font-weight: var(--livspace-heading-weight); }
h1 { font-size:var(--theme-h1-size); }
h2 { font-size:var(--theme-h2-size); }
h3 { font-size:var(--theme-h3-size); }
h4 { font-size:var(--theme-h4-size); }
h5 { font-size:var(--theme-h5-size); }
h6 { font-size:var(--theme-h6-size); }
/* Section heading presentation; preserve the editor's original text casing. */
.site-main section :is(h1,h2,h3,h4,h5,h6),
.site-main .theme-section__title { text-transform:uppercase; }
p { font-size:var(--theme-paragraph-size); }
@media(max-width:1023px){:root{
	--theme-h1-size:var(--theme-h1-size-tablet); --theme-h2-size:var(--theme-h2-size-tablet);
	--theme-h3-size:var(--theme-h3-size-tablet); --theme-h4-size:var(--theme-h4-size-tablet);
	--theme-h5-size:var(--theme-h5-size-tablet); --theme-h6-size:var(--theme-h6-size-tablet);
	--theme-paragraph-size:var(--theme-paragraph-size-tablet);
}}
@media(max-width:767px){:root{
	--theme-h1-size:var(--theme-h1-size-mobile); --theme-h2-size:var(--theme-h2-size-mobile);
	--theme-h3-size:var(--theme-h3-size-mobile); --theme-h4-size:var(--theme-h4-size-mobile);
	--theme-h5-size:var(--theme-h5-size-mobile); --theme-h6-size:var(--theme-h6-size-mobile);
	--theme-paragraph-size:var(--theme-paragraph-size-mobile);
}}
/* Low specificity lets native section/component colors retain priority. */
:where(h1) { color: var(--theme-h1-color); }
:where(h2) { color: var(--theme-h2-color); }
:where(h3) { color: var(--theme-h3-color); }
:where(h4) { color: var(--theme-h4-color); }
:where(h5) { color: var(--theme-h5-color); }
:where(h6) { color: var(--theme-h6-color); }
:where(li) { color: var(--theme-list-color, inherit); }
:where(.entry-content,.wp-block-post-content,.wp-block-freeform) :where(div,span) { color: var(--theme-inline-color, inherit); }

.entry-meta, .entry-footer, .site-description { color: var(--theme-muted-color); }
/* Native frontend fields share the same configurable palette as quote dialogs. */
:where(body:not(.wp-admin)) :where(input[type="text"],input[type="email"],input[type="tel"],input[type="url"],input[type="search"],input[type="number"],textarea,select) {
	background:var(--theme-form-bg);color:var(--theme-form-text);border-color:var(--theme-form-border);color-scheme:normal;
}
:where(body:not(.wp-admin)) :where(input,textarea)::placeholder { color:var(--theme-form-placeholder);opacity:1; }
/* Generic CTAs; section-specific CTA selectors below their own styles retain priority. */
:is(button,input[type="button"],input[type="reset"],input[type="submit"],.wp-element-button,.wp-block-button__link,.theme-button):not(:where(.ls-header *,.ls-notification *,.ls-footer *,[class*="swiper-button"])) {
	background:var(--theme-button-bg); color:var(--theme-button-text); border-color:var(--theme-button-border);
}
:is(button,input[type="button"],input[type="reset"],input[type="submit"],.wp-element-button,.wp-block-button__link,.theme-button):not(:where(.ls-header *,.ls-notification *,.ls-footer *,[class*="swiper-button"])):is(:hover,:focus-visible) {
	background:var(--theme-button-hover-bg); color:var(--theme-button-hover-text); border-color:var(--theme-button-hover-border);
}
:is(button,input[type="button"],input[type="reset"],input[type="submit"],.wp-element-button,.wp-block-button__link,.theme-button):not(:where(.ls-header *,.ls-notification *,.ls-footer *,[class*="swiper-button"])):active {
	background:var(--theme-button-active-bg); color:var(--theme-button-active-text);
}

/* Fixed visual effects, overridable in child themes; separate from semantic admin colors. */
:root {
	--theme-decor-251d2720: #251d2720;
	--theme-decor-ddd: #ddd;
	--theme-decor-292529d9: #292529d9;
	--theme-decor-fff1f2: #fff1f2;
	--theme-decor-31233322: #31233322;
	--theme-decor-c2bdc2: #c2bdc2;
	--theme-decor-d5cbc3: #d5cbc3;
	--theme-decor-c5b7ad: #c5b7ad;
	--theme-decor-baa99c: #baa99c;
	--theme-decor-81776f: #81776f;
	--theme-decor-d2c3b3: #d2c3b3;
	--theme-decor-rgba-0-0-0--88: rgba(0,0,0,.88);
	--theme-decor-0007: #0007;
	--theme-decor-33263814: #33263814;
	--theme-decor-33263812: #33263812;
	--theme-decor-332b36: #332b36;
	--theme-decor-1d142125: #1d142125;
	--theme-decor-2d2530: #2d2530;
	--theme-decor-b9afa3: #b9afa3;
	--theme-decor-291c2a2b: #291c2a2b;
	--theme-decor-ffffffc7: #ffffffc7;
	--theme-decor-2b203018: #2b203018;
	--theme-decor-d9d3cf: #d9d3cf;
	--theme-decor-e9e9e9: #e9e9e9;
	--theme-decor-18202b12: #18202b12;
	--theme-decor-18202b10: #18202b10;
	--theme-decor-ff9aa2: #ff9aa2;
	--theme-decor-ffffff20: #ffffff20;
	--theme-decor-ffffff35: #ffffff35;
	--theme-decor-0008: #0008;
	--theme-decor-000a: #000a;
	--theme-decor-0002: #0002;
	--theme-decor-0005: #0005;
	--theme-decor-rgba-0-0-0--55: rgba(0,0,0,.55);
	--theme-decor-rgba-0-0-0-0: rgba(0,0,0,0);
	--theme-decor-ffffff05: #ffffff05;
	--theme-decor-382735: #382735;
	--theme-decor-f7f3f6: #f7f3f6;
	--theme-decor-ffffff07: #ffffff07;
	--theme-decor-ff6475: #ff6475;
	--theme-decor-ffffff99: #ffffff99;
	--theme-decor-ffffff25: #ffffff25;
}
