/*
 * AURA One foundation.
 * Visual identity is intentionally token-led and neutral so child themes can
 * brand it without fighting component-specific CSS.
 */

:root {
	--aura-container: 1240px;
	--aura-content: 760px;
	--aura-gutter: clamp(1.125rem, 3vw, 2.5rem);
	--aura-color-text: #17201c;
	--aura-color-muted: #5b655f;
	--aura-color-surface: #fbfaf7;
	--aura-color-surface-alt: #f2eee6;
	--aura-color-border: #d9ddd5;
	--aura-color-accent: #285c4d;
	--aura-color-accent-contrast: #ffffff;
	--aura-color-link: #285c4d;
	--aura-font-body: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--aura-font-heading: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--aura-font-size-base: 1rem;
	--aura-line-height-body: 1.6;
	--aura-heading-weight: 700;
	--aura-heading-line-height: 1.1;
	--aura-font-size-h1: clamp(2.25rem, 5vw, 4.5rem);
	--aura-font-size-h2: clamp(1.75rem, 3vw, 3rem);
	--aura-font-size-h3: clamp(1.375rem, 2vw, 2rem);
	--aura-font-size-h4: 1.25rem;
	--aura-font-size-h5: 1.125rem;
	--aura-font-size-h6: 1rem;
	--aura-heading-color-h1: var(--aura-color-text);
	--aura-heading-color-h2: var(--aura-color-text);
	--aura-heading-color-h3: var(--aura-color-text);
	--aura-heading-color-h4: var(--aura-color-text);
	--aura-heading-color-h5: var(--aura-color-text);
	--aura-heading-color-h6: var(--aura-color-text);
	--aura-heading-weight-h1: var(--aura-heading-weight);
	--aura-heading-weight-h2: var(--aura-heading-weight);
	--aura-heading-weight-h3: var(--aura-heading-weight);
	--aura-heading-weight-h4: var(--aura-heading-weight);
	--aura-heading-weight-h5: var(--aura-heading-weight);
	--aura-heading-weight-h6: var(--aura-heading-weight);
	--aura-link-decoration: underline;
	--aura-link-decoration-hover: underline;
	--aura-button-background: var(--aura-color-accent);
	--aura-button-color: var(--aura-color-accent-contrast);
	--aura-button-border: var(--aura-color-accent);
	--aura-field-background: #fff;
	--aura-field-border: var(--aura-color-border);
	--aura-radius-small: 0.375rem;
	--aura-radius-card: 0.75rem;
	--aura-radius-button: 999px;
	--aura-shadow-card: 0 1.25rem 3.75rem rgb(23 32 28 / 8%);
	--aura-shadow-header: 0 0.5rem 1.5rem rgb(23 32 28 / 8%);
	--aura-header-height: 5rem;
	--aura-transition: 180ms cubic-bezier(.2, .7, .3, 1);
}

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

html { scroll-behavior: smooth; scroll-padding-top: calc(var(--aura-header-height) + 1rem); }

body {
	margin: 0;
	background: var(--aura-color-surface);
	color: var(--aura-color-text);
	font-family: var(--aura-font-body);
	font-size: var(--aura-font-size-base);
	line-height: var(--aura-line-height-body);
	-webkit-font-smoothing: antialiased;
}

img { display: block; height: auto; max-width: 100%; }
figure { margin: 0; }
button,
input,
textarea,
select { font: inherit; }
button { cursor: pointer; }

a { color: var(--aura-color-link); text-decoration-line: var(--aura-link-decoration); text-decoration-thickness: .08em; text-underline-offset: .16em; }
a:hover { color: var(--aura-color-link-hover, var(--aura-color-text)); text-decoration-line: var(--aura-link-decoration-hover); }
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible { outline: 3px solid var(--aura-color-accent); outline-offset: 3px; }

h1, h2, h3, h4, h5, h6 {
	margin: 0 0 .6em;
	color: var(--aura-color-text);
	font-family: var(--aura-font-heading);
	font-weight: var(--aura-heading-weight);
	line-height: var(--aura-heading-line-height);
	text-wrap: balance;
}
h1 { color: var(--aura-heading-color-h1); font-size: var(--aura-font-size-h1); font-weight: var(--aura-heading-weight-h1); }
h2 { color: var(--aura-heading-color-h2); font-size: var(--aura-font-size-h2); font-weight: var(--aura-heading-weight-h2); }
h3 { color: var(--aura-heading-color-h3); font-size: var(--aura-font-size-h3); font-weight: var(--aura-heading-weight-h3); }
h4 { color: var(--aura-heading-color-h4); font-size: var(--aura-font-size-h4); font-weight: var(--aura-heading-weight-h4); }
h5 { color: var(--aura-heading-color-h5); font-size: var(--aura-font-size-h5); font-weight: var(--aura-heading-weight-h5); }
h6 { color: var(--aura-heading-color-h6); font-size: var(--aura-font-size-h6); font-weight: var(--aura-heading-weight-h6); }
p, ul, ol, blockquote { margin: 0 0 1.25rem; }
blockquote { padding-inline-start: 1.25rem; border-inline-start: .25rem solid var(--aura-color-accent); color: var(--aura-color-muted); font-family: var(--aura-font-heading); font-size: 1.125em; }
figcaption { margin-top: .65rem; color: var(--aura-color-muted); font-size: .875em; }
code, pre, kbd, samp { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
pre { padding: 1rem; overflow: auto; border-radius: var(--aura-radius-small); background: var(--aura-color-surface-alt); }
table { width: 100%; border-collapse: collapse; margin-bottom: 1.25rem; }
th, td { padding: .75rem; border: 1px solid var(--aura-color-border); text-align: start; }
th { background: var(--aura-color-surface-alt); font-family: var(--aura-font-heading); }

.aura-container { width: min(var(--aura-container), calc(100% - (var(--aura-gutter) * 2))); margin-inline: auto; }
.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 { z-index: 100000; top: .75rem; inset-inline-start: .75rem; width: auto; height: auto; padding: .75rem 1rem; margin: 0; overflow: visible; clip: auto; background: var(--aura-color-accent); color: var(--aura-color-accent-contrast); }
.skip-link { text-decoration: none; }

/* Global header and navigation. The native implementation is also the
 * contract used by the future Elementor Site Kit and Elements widgets. */
.site-header { position: relative; z-index: 100; background: var(--aura-color-surface); border-bottom: 1px solid transparent; }
.site-header.is-stuck { position: sticky; top: 0; box-shadow: var(--aura-shadow-header); border-color: var(--aura-color-border); animation: aura-header-in var(--aura-transition); }
.aura-header { --aura-header-logo-width: 160px; --aura-header-mobile-logo-width: 124px; }
.aura-header__inner { display: flex; align-items: center; min-height: var(--aura-header-height); gap: clamp(.5rem, 1.5vw, 1.25rem); }
.aura-header--content-full .aura-header__inner { width: calc(100% - (var(--aura-gutter) * 2)); max-width: none; }
.aura-header--surface-contained { width: min(var(--aura-container), calc(100% - (var(--aura-gutter) * 2))); margin: .75rem auto 0; border: 1px solid var(--aura-color-border); border-radius: var(--aura-radius-card); box-shadow: var(--aura-shadow-card); }
.aura-header__branding { display: flex; align-items: center; min-width: 0; margin-inline-end: auto; }
.aura-header__brand { display: inline-flex; align-items: center; gap: .6rem; min-width: 0; max-width: 42vw; color: var(--aura-color-text); font-size: 1.125rem; font-weight: 800; letter-spacing: -.02em; line-height: 1; text-decoration: none; }
.aura-header__logo { display: block; width: var(--aura-header-logo-width); max-width: min(var(--aura-header-logo-width), 42vw); height: auto; max-height: calc(var(--aura-header-height) - 1.25rem); object-fit: contain; object-position: left center; }
.aura-header__logo--light { display: none; }
.aura-header__brand-text { display: grid; min-width: 0; gap: .25rem; }
.aura-header__site-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aura-header__tagline { color: var(--aura-color-muted); font-size: .7rem; font-weight: 600; letter-spacing: 0; line-height: 1.25; }
.aura-header__desktop-navigation { display: none; min-width: 0; }
.aura-header--classic .aura-header__desktop-navigation,
.aura-header--editorial .aura-header__desktop-navigation { display: block; }
.aura-header__tools,
.aura-header__desktop-actions,
.aura-header__inline-extras { display: flex; align-items: center; gap: .45rem; }
.aura-social-links { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .2rem; }
.aura-social-links__link { display: inline-grid; width: 2rem; height: 2rem; border-radius: 50%; color: currentColor; place-items: center; text-decoration: none; transition: background-color var(--aura-transition), color var(--aura-transition), transform var(--aura-transition); }
.aura-social-links__link:hover { background: var(--aura-color-surface-alt); color: var(--aura-color-accent); transform: translateY(-1px); }
.aura-social-links__link svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.55; }
.aura-social-links__fill { fill: currentColor; }
.aura-header__desktop-actions { margin-inline-start: .25rem; }
.aura-header__inline-search { width: min(12rem, 18vw); }
.aura-header__inline-search .search-field { min-height: 2.5rem; padding: .45rem .7rem; }
.aura-header__icon-button,
.aura-menu-toggle,
.aura-menu-panel__close,
.aura-search-panel__close { display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; min-width: 2.75rem; height: 2.75rem; padding: 0; border: 1px solid transparent; border-radius: 50%; background: transparent; color: var(--aura-color-text); }
.aura-header__icon-button:hover,
.aura-menu-toggle:hover,
.aura-menu-panel__close:hover,
.aura-search-panel__close:hover { background: var(--aura-color-surface-alt); color: var(--aura-color-text); transform: none; }
.aura-header__icon-button svg,
.aura-menu-panel__close svg,
.aura-search-panel__close svg { width: 1.2rem; height: 1.2rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.aura-header__cart-button { position: relative; text-decoration: none; }
.aura-header__cart-count { position: absolute; top: -.2rem; inset-inline-end: -.18rem; display: grid; min-width: 1.05rem; height: 1.05rem; padding-inline: .2rem; border-radius: 999px; background: var(--aura-color-accent); color: var(--aura-color-accent-contrast); font-size: .625rem; font-weight: 800; line-height: 1; place-items: center; }
.aura-header__commerce-menu { position: relative; display: inline-flex; }
.aura-header__commerce-menu > .aura-header__cta { gap: .4rem; }
.aura-header__commerce-icon { position: relative; display: inline-grid; flex: 0 0 auto; width: 1.1rem; height: 1.1rem; place-items: center; }
.aura-header__commerce-icon > svg { width: 1.1rem; height: 1.1rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.aura-header__commerce-icon .aura-header__cart-count { top: -.65rem; inset-inline-end: -.65rem; }
.aura-header__commerce-dropdown { position: absolute; z-index: 120; top: calc(100% + .35rem); inset-inline-end: 0; display: grid; width: max-content; min-width: 12rem; padding: .45rem; border: 1px solid var(--aura-color-border); border-radius: var(--aura-radius-card); background: var(--aura-color-surface); box-shadow: var(--aura-shadow-card); opacity: 0; visibility: hidden; transform: translateY(-.4rem); transition: opacity var(--aura-transition), transform var(--aura-transition), visibility var(--aura-transition); }
.aura-header__commerce-dropdown::before { position: absolute; inset: -.4rem 0 auto; height: .4rem; content: ""; }
.aura-header__commerce-menu:hover > .aura-header__commerce-dropdown,
.aura-header__commerce-menu:focus-within > .aura-header__commerce-dropdown { opacity: 1; visibility: visible; transform: translateY(0); }
.aura-header__commerce-dropdown a { padding: .65rem .75rem; border-radius: var(--aura-radius-small); color: var(--aura-color-text); font-size: .8125rem; font-weight: 700; line-height: 1.25; text-decoration: none; white-space: nowrap; }
.aura-header__commerce-dropdown a:hover,
.aura-header__commerce-dropdown a:focus-visible { background: var(--aura-color-surface-alt); color: var(--aura-color-accent); }
.aura-header__commerce-menu--panel { display: grid; width: min(100%, 22rem); }
.aura-header__commerce-menu--panel .aura-header__commerce-dropdown { position: static; width: 100%; min-width: 0; padding-block-start: .35rem; padding-inline-start: 1rem; border: 0; border-radius: 0; background: transparent; box-shadow: none; opacity: 1; visibility: visible; transform: none; }
.aura-header__commerce-menu--panel .aura-header__commerce-dropdown a { display: flex; align-items: center; min-height: 2.75rem; color: var(--aura-menu-panel-text, #fff); }
.aura-button--header { min-width: 0; min-height: 2.5rem; padding: .6rem .9rem; font-size: .8125rem; line-height: 1.2; text-align: center; overflow-wrap: anywhere; text-wrap: balance; }
.aura-header__cta--1 { border-color: var(--aura-color-border); background: transparent; color: var(--aura-color-text); }
.aura-header__cta--1:hover { border-color: var(--aura-color-text); background: var(--aura-color-text); color: #fff; }
.aura-menu-toggle { width: auto; gap: .65rem; padding-inline: .7rem; }
.aura-menu-toggle__label { font-size: .8125rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.aura-menu-toggle__icon { display: grid; width: 1.25rem; gap: .24rem; }
.aura-menu-toggle__icon i { display: block; height: 1.5px; width: 100%; background: currentColor; transition: transform var(--aura-transition), opacity var(--aura-transition); }
.aura-header--classic .aura-menu-toggle { display: none; }
/* Classic header actions are editorial text and grow once translated. When the
 * tools no longer fit beside the logo they move, whole and in their configured
 * order, to a second row; when that row is still narrow the actions share it
 * and wrap their words instead of pushing the page sideways. Nothing is
 * clipped, so every label stays readable and remains its own accessible name,
 * and no width depends on one language. */
.aura-header--classic .aura-header__inner { flex-wrap: wrap; align-content: center; row-gap: .5rem; padding-block: .625rem; }
.aura-header--classic .aura-header__tools { min-width: 0; max-width: 100%; margin-inline-start: auto; }
.aura-header--classic .aura-header__desktop-actions { min-width: 0; }
.aura-menu-toggle,
.aura-menu-toggle__icon { flex-shrink: 0; }

/* Optional Top Bar uses its own WordPress menu and remains absent unless it
 * is explicitly enabled. Its Left / Right / "Text left, menu right" settings
 * are physical choices made by the site owner: main-rtl.css keeps them on the
 * named side when the document is right-to-left. */
.aura-top-bar { background: var(--aura-color-text); color: rgb(255 255 255 / 78%); font-size: .75rem; }
.aura-top-bar__inner { display: flex; align-items: center; gap: 1rem; min-height: 2.25rem; }
.aura-top-bar--content-full .aura-top-bar__inner { width: calc(100% - (var(--aura-gutter) * 2)); max-width: none; }
.aura-top-bar--left .aura-top-bar__inner { justify-content: flex-start; }
.aura-top-bar--center .aura-top-bar__inner { justify-content: center; }
.aura-top-bar--right .aura-top-bar__inner { justify-content: flex-end; }
.aura-top-bar--between .aura-top-bar__inner { justify-content: space-between; }
.aura-top-bar__navigation ul { display: flex; flex-wrap: wrap; gap: .9rem; padding: 0; margin: 0; list-style: none; }
.aura-top-bar a { color: #fff; text-decoration: none; }
.aura-top-bar .aura-social-links { margin-left: auto; }
.aura-top-bar--left .aura-social-links { margin-left: 0; }
.aura-top-bar--center .aura-social-links,
.aura-top-bar--right .aura-social-links { margin-left: 0; }
.aura-top-bar .aura-social-links__link { width: 1.75rem; height: 1.75rem; }

.main-navigation ul { display: flex; align-items: center; gap: .15rem; padding: 0; margin: 0; list-style: none; }
.main-navigation li { position: relative; }
.main-navigation a { display: block; padding: .65rem .75rem; border-radius: var(--aura-radius-small); color: var(--aura-color-text); font-size: .875rem; font-weight: 700; text-decoration: none; transition: background-color var(--aura-transition), color var(--aura-transition); }
.main-navigation a:hover,
.main-navigation .current-menu-item > a,
.main-navigation .current-menu-ancestor > a { background: var(--aura-color-surface-alt); color: var(--aura-color-accent); }
.aura-header__desktop-navigation .sub-menu { position: absolute; top: calc(100% + .45rem); inset-inline-start: 0; display: grid; min-width: 13rem; padding: .45rem; background: var(--aura-color-surface); border: 1px solid var(--aura-color-border); border-radius: var(--aura-radius-card); box-shadow: var(--aura-shadow-card); opacity: 0; visibility: hidden; transform: translateY(-.5rem); transition: opacity var(--aura-transition), transform var(--aura-transition), visibility var(--aura-transition); }
.aura-header__desktop-navigation li:hover > .sub-menu,
.aura-header__desktop-navigation li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.aura-header--dropdown-left .aura-header__desktop-navigation .sub-menu { right: auto; left: 0; }
.aura-header--dropdown-right .aura-header__desktop-navigation .sub-menu { right: 0; left: auto; }
.aura-header--dropdown-click-item .aura-header__desktop-navigation li:hover > .sub-menu,
.aura-header--dropdown-click-item .aura-header__desktop-navigation li:focus-within > .sub-menu,
.aura-header--dropdown-click-arrow .aura-header__desktop-navigation li:hover > .sub-menu,
.aura-header--dropdown-click-arrow .aura-header__desktop-navigation li:focus-within > .sub-menu { opacity: 0; visibility: hidden; transform: translateY(-.5rem); }
.aura-header--dropdown-click-item .aura-header__desktop-navigation li.is-open > .sub-menu,
.aura-header--dropdown-click-arrow .aura-header__desktop-navigation li.is-open > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.aura-desktop-submenu-toggle { position: absolute; top: .45rem; inset-inline-end: .15rem; display: inline-grid; width: 1.65rem; height: 1.65rem; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--aura-color-text); place-items: center; }
.aura-desktop-submenu-toggle::before { content: "⌄"; font-size: 1rem; line-height: 1; }
.aura-header--dropdown-click-arrow .aura-header__desktop-navigation .menu-item-has-children > a { padding-inline-end: 2rem; }
.sub-menu-toggle { display: none; }

.aura-header--transparent:not(.is-stuck) { background: transparent; color: var(--aura-menu-panel-text); }
.aura-header--transparent:not(.is-stuck) :is(.aura-header__brand, .aura-header__icon-button, .aura-menu-toggle, .aura-header__cta--1, .aura-header__desktop-navigation a) { color: var(--aura-menu-panel-text); }
.aura-header--transparent:not(.is-stuck) .aura-header__logo--dark { display: none; }
.aura-header--transparent:not(.is-stuck) .aura-header__logo--light { display: block; }
.aura-header--transparent:not(.is-stuck) .aura-header__cta--1 { border-color: color-mix(in srgb, var(--aura-menu-panel-text) 45%, transparent); }

/* Menu and search surfaces remain useful without JavaScript. JavaScript turns
 * them into accessible modal panels after the document is ready. */
.aura-menu-panel,
.aura-search-panel { background: var(--aura-menu-panel-background, var(--aura-color-text)); color: var(--aura-menu-panel-text, #fff); }
.aura-menu-panel__content { display: flex; flex-direction: column; width: min(100%, var(--aura-container)); min-height: 100%; margin-inline: auto; padding: var(--aura-gutter); }
.aura-menu-panel__top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; order: 0; margin-bottom: clamp(2.5rem, 8vw, 6rem); }
.aura-menu-panel .aura-header__brand,
.aura-menu-panel .aura-menu-panel__close,
.aura-menu-panel .main-navigation a { color: var(--aura-menu-panel-text, #fff); }
.aura-menu-panel .aura-header__logo--dark { display: none; }
.aura-menu-panel .aura-header__logo--light { display: block; }
.aura-menu-panel__navigation { order: 1; }
.aura-menu-panel .main-navigation ul { display: grid; gap: .35rem; }
.aura-menu-panel .main-navigation a { padding: .25rem 0; border-radius: 0; font-size: clamp(1.75rem, 4vw, 4.25rem); font-weight: 700; line-height: 1.05; }
.aura-menu-panel .main-navigation a:hover,
.aura-menu-panel .main-navigation .current-menu-item > a,
.aura-menu-panel .main-navigation .current-menu-ancestor > a { background: transparent; color: var(--aura-menu-panel-text, #fff); opacity: .68; }
.aura-menu-panel .sub-menu { display: none; padding-block: .55rem .75rem; padding-inline: 1.25rem 0; }
.aura-menu-panel .sub-menu.is-open { display: grid; }
.aura-menu-panel .sub-menu a { font-size: clamp(1rem, 2vw, 1.5rem); opacity: .72; }
.aura-menu-panel .menu-item-has-children { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
.aura-menu-panel .menu-item-has-children > a { grid-column: 1; }
.aura-menu-panel .sub-menu { grid-column: 1 / -1; }
.aura-menu-panel .sub-menu-toggle { display: inline-grid; grid-column: 2; width: 2.5rem; height: 2.5rem; padding: 0; border: 1px solid rgb(255 255 255 / 28%); border-radius: 50%; background: transparent; color: var(--aura-menu-panel-text, #fff); place-items: center; }
.aura-menu-panel .sub-menu-toggle::before { content: "+"; font-size: 1.25rem; }
.aura-menu-panel .sub-menu-toggle[aria-expanded="true"]::before { content: "−"; }
.aura-menu-panel__actions { display: flex; flex-wrap: wrap; gap: .75rem; order: 2; margin-top: clamp(2.5rem, 7vw, 5rem); }
.aura-menu-panel--blocks-actions-menu .aura-menu-panel__actions { order: 1; }
.aura-menu-panel--blocks-actions-menu .aura-menu-panel__navigation { order: 2; margin-top: clamp(2.5rem, 7vw, 5rem); }
.aura-menu-panel .aura-social-links--burger { order: 3; gap: .45rem; padding-top: 1.5rem; margin-top: auto; }
.aura-menu-panel .aura-social-links--burger .aura-social-links__link { width: 2.5rem; height: 2.5rem; border: 1px solid rgb(255 255 255 / 28%); color: var(--aura-menu-panel-text, #fff); }
.aura-menu-panel .aura-social-links--burger .aura-social-links__link:hover { background: rgb(255 255 255 / 14%); color: var(--aura-menu-panel-text, #fff); }
.aura-button--panel { border-color: var(--aura-menu-panel-text, #fff); background: var(--aura-menu-panel-text, #fff); color: var(--aura-menu-panel-background, var(--aura-color-text)); }
.aura-button--panel.aura-header__cta--1 { background: transparent; color: var(--aura-menu-panel-text, #fff); }

.aura-js .aura-menu-panel,
.aura-js .aura-search-panel { position: fixed; z-index: 120; inset: 0; display: grid; visibility: hidden; pointer-events: none; opacity: 0; transition: opacity 260ms ease, visibility 260ms ease; }
.aura-js .aura-menu-panel.is-open,
.aura-js .aura-search-panel.is-open { visibility: visible; pointer-events: auto; opacity: 1; }
.aura-menu-panel__backdrop,
.aura-search-panel__backdrop { position: absolute; inset: 0; background: rgb(0 0 0 / 45%); }
.aura-js .aura-menu-panel--fullscreen { background: var(--aura-menu-panel-background, var(--aura-color-text)); }
.aura-js .aura-menu-panel--fullscreen .aura-menu-panel__content { position: relative; z-index: 1; align-self: stretch; overflow-y: auto; }
.aura-js .aura-menu-panel--fullscreen .aura-menu-panel__backdrop { display: none; }
.aura-js .aura-menu-panel--offcanvas { justify-items: end; background: transparent; }
.aura-js .aura-menu-panel--offcanvas.aura-menu-panel--left { justify-items: start; }
.aura-js .aura-menu-panel--offcanvas .aura-menu-panel__content { position: relative; z-index: 1; width: min(32rem, 100%); height: 100%; margin: 0; overflow-y: auto; background: var(--aura-menu-panel-background, var(--aura-color-text)); transform: translateX(100%); transition: transform 320ms cubic-bezier(.2, .7, .3, 1); }
.aura-js .aura-menu-panel--offcanvas.aura-menu-panel--left .aura-menu-panel__content { transform: translateX(-100%); }
.aura-js .aura-menu-panel--offcanvas.is-open .aura-menu-panel__content { transform: translateX(0); }
.aura-js .aura-search-panel { z-index: 130; align-items: start; justify-items: center; padding: max(1rem, 12vh) var(--aura-gutter); background: rgb(23 32 28 / 74%); }
.aura-js .aura-search-panel__content { position: relative; z-index: 1; display: flex; align-items: center; gap: 1rem; width: min(100%, 44rem); padding: 1rem; border-radius: var(--aura-radius-card); background: var(--aura-color-surface); }
.aura-js .aura-search-panel__content .search-form { flex: 1; max-width: none; }
.aura-search-panel__close { flex: 0 0 auto; }
.aura-menu-open,
.aura-search-open { overflow: hidden; }
.aura-menu-open .aura-menu-toggle__icon i:nth-child(1) { transform: translateY(.35rem) rotate(45deg); }
.aura-menu-open .aura-menu-toggle__icon i:nth-child(2) { opacity: 0; }
.aura-menu-open .aura-menu-toggle__icon i:nth-child(3) { transform: translateY(-.35rem) rotate(-45deg); }

/* Classic 1: the usable institutional layout. The three grid columns keep the
 * logo, navigation and operational actions independent and deliberately avoid
 * one-off pixel positioning. */
@media (min-width: 1101px) {
	.aura-header--classic-1 .aura-header__inner { display: grid; grid-template-columns: minmax(9rem, 1fr) auto minmax(9rem, 1fr); }
	.aura-header--classic-1 .aura-header__branding { margin-inline-end: 0; }
	.aura-header--classic-1 .aura-header__desktop-navigation { grid-column: 2; justify-self: center; }
	.aura-header--classic-1 .aura-header__desktop-navigation > ul { justify-content: center; }
	.aura-header--classic-1 .aura-header__tools { grid-column: 3; justify-self: end; }
	.aura-header--classic-2 .aura-header__inner { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; }
	.aura-header--classic-2 .aura-header__branding { margin-inline-end: 0; }
	.aura-header--classic-2 .aura-header__desktop-navigation { justify-self: end; }
	.aura-header--classic-2 .aura-header__desktop-navigation > ul { justify-content: flex-end; }
	.aura-header--classic-3 .aura-header__inner { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }
	.aura-header--classic-3 .aura-header__branding { grid-column: 2; margin-inline-end: 0; }
	.aura-header--classic-3 .aura-header__desktop-navigation { grid-column: 1; justify-self: start; }
	.aura-header--classic-3 .aura-header__tools { grid-column: 3; justify-self: end; }
}

/* Classic headers change to the compact, action-first mobile composition
 * before the three desktop divisions can collide. */
@media (max-width: 1100px) {
	.aura-header--classic .aura-header__desktop-navigation { display: none !important; }
	.aura-header--classic .aura-menu-toggle { display: inline-flex; }
	.aura-social-links--header { display: none; }
}

/* Content and conventional WordPress templates. */
.site { min-height: min(70vh, 52rem); }
.aura-site-content { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(2.5rem, 6vw, 6rem); padding-block: var(--aura-content-space); }
.aura-site-content--full { width: 100%; padding-block: 0; }
.entry--full-width { width: 100%; }
.aura-site-content.has-sidebar { grid-template-columns: minmax(0, 1fr) minmax(15rem, var(--aura-sidebar-width)); }
.aura-site-content--sidebar-left.has-sidebar .content-area { order: 2; }
.aura-site-content--sidebar-left.has-sidebar .widget-area { order: 1; }
.aura-site-content--both-sidebars.has-sidebar { grid-template-columns: minmax(15rem, var(--aura-sidebar-width)) minmax(0, 1fr) minmax(15rem, var(--aura-sidebar-width)); }
.aura-site-content--both-sidebars.has-sidebar .widget-area--1 { order: 1; }
.aura-site-content--both-sidebars.has-sidebar .content-area { order: 2; }
.aura-site-content--both-sidebars.has-sidebar .widget-area--2 { order: 3; }
.aura-site-content--both-right.has-sidebar { grid-template-columns: minmax(0, 1fr) minmax(15rem, var(--aura-sidebar-width)) minmax(15rem, var(--aura-sidebar-width)); }
.aura-site-content--both-right.has-sidebar .content-area { order: 1; }
.aura-site-content--both-right.has-sidebar .widget-area--1 { order: 2; }
.aura-site-content--both-right.has-sidebar .widget-area--2 { order: 3; }
.content-area { min-width: 0; }
.entry { min-width: 0; }
.entry + .entry { margin-top: clamp(2.5rem, 5vw, 5rem); }
.entry--card { display: grid; grid-template-columns: minmax(13rem, .85fr) minmax(0, 1.15fr); overflow: hidden; border: 1px solid var(--aura-color-border); border-radius: var(--aura-radius-card); background: #fff; box-shadow: 0 .5rem 2rem rgb(23 32 28 / 4%); transition: box-shadow var(--aura-transition), transform var(--aura-transition); }
.entry--card:hover { box-shadow: var(--aura-shadow-card); transform: translateY(-.25rem); }
.entry-thumbnail { display: block; overflow: hidden; background: var(--aura-color-surface-alt); }
.entry-thumbnail img { width: 100%; height: 100%; min-height: 100%; object-fit: cover; transition: transform 500ms cubic-bezier(.2, .7, .3, 1); }
.entry--card:hover .entry-thumbnail img { transform: scale(1.045); }
.entry__body { padding: clamp(1.5rem, 4vw, 3rem); }
.entry-header { margin-bottom: 1rem; }
.entry-title { font-size: clamp(1.5rem, 2vw, 2.25rem); }
.entry-title a { color: inherit; text-decoration: none; }
.entry-title a:hover { color: var(--aura-color-accent); }
.entry-meta { margin-bottom: .5rem; color: var(--aura-color-muted); font-size: .8125rem; font-weight: 650; letter-spacing: .04em; text-transform: uppercase; }
.entry--single { width: min(100%, var(--aura-content)); margin-inline: auto; }
.entry--single .entry-header { margin-bottom: 2.5rem; }
.entry--single .entry-thumbnail--featured { width: min(100vw - (var(--aura-gutter) * 2), var(--aura-container)); margin: 0 auto 3rem 50%; transform: translateX(-50%); overflow: hidden; border-radius: var(--aura-radius-card); }
.entry-content > * + * { margin-top: 1.25rem; }
.entry-content :is(h2, h3, h4) { margin-top: 2.5rem; }
.entry-content img { border-radius: var(--aura-radius-small); }
.entry-footer { display: grid; gap: .75rem; margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--aura-color-border); font-size: .875rem; }
.archive-header { width: min(100%, var(--aura-content)); margin-bottom: clamp(2.5rem, 6vw, 5rem); }
.archive-description { color: var(--aura-color-muted); font-size: 1.125rem; }
.widget-area { padding: 1.5rem; align-self: start; border: 1px solid var(--aura-color-border); border-radius: var(--aura-radius-card); background: #fff; }
.widget + .widget { margin-top: 2rem; padding-top: 2rem; border-top: 1px solid var(--aura-color-border); }
.widget-title { font-size: 1.125rem; }
.widget ul { padding-inline-start: 1.125rem; }

/* This is the native equivalent of a "separate containers" layout, kept
 * intentionally small so a page builder can still own its own sections. */
.aura-one--content-separate-containers .entry--page,
.aura-one--content-separate-containers .entry--single,
.aura-one--content-separate-containers .archive-header,
.aura-one--content-separate-containers .not-found { padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid var(--aura-color-border); border-radius: var(--aura-radius-card); background: #fff; box-shadow: 0 .5rem 2rem rgb(23 32 28 / 4%); }
.aura-one--content-separate-containers .entry--single .entry-thumbnail--featured { width: 100%; margin: 0 0 3rem; border-radius: calc(var(--aura-radius-card) - .125rem); transform: none; }

/* Rendering later archive cards only when they approach the viewport reduces
 * layout/paint work on long native blogs without hiding content from users. */
@supports (content-visibility: auto) {
	.post-list > .entry:nth-child(n + 3) { content-visibility: auto; contain-intrinsic-size: auto 28rem; }
}

.nav-links { display: flex; justify-content: space-between; gap: 1.5rem; margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--aura-color-border); }
.nav-links a { font-weight: 700; }
.not-found { width: min(100%, 42rem); padding: clamp(2rem, 6vw, 5rem); margin-inline: auto; border-radius: var(--aura-radius-card); background: var(--aura-color-surface-alt); }
.not-found .eyebrow { color: var(--aura-color-accent); font-size: .8125rem; font-weight: 800; letter-spacing: .12em; }

/* Forms, buttons and comments use the same neutral primitives. */
.aura-button,
button,
input[type="submit"] { display: inline-flex; align-items: center; justify-content: center; min-height: 2.875rem; padding: .7rem 1.1rem; border: 1px solid var(--aura-button-border); border-radius: var(--aura-radius-button); background: var(--aura-button-background); color: var(--aura-button-color); font-weight: 750; line-height: 1; text-decoration: none; transition: background-color var(--aura-transition), border-color var(--aura-transition), color var(--aura-transition), transform var(--aura-transition); }
.aura-button:hover,
button:hover,
input[type="submit"]:hover { border-color: var(--aura-color-text); background: var(--aura-color-text); color: #fff; transform: translateY(-1px); }
input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), textarea, select { width: 100%; min-height: 2.875rem; padding: .65rem .8rem; border: 1px solid var(--aura-field-border); border-radius: var(--aura-radius-small); background: var(--aura-field-background); color: var(--aura-color-text); }
textarea { min-height: 10rem; resize: vertical; }
.search-form { display: flex; gap: .75rem; max-width: 32rem; }
.search-form label { flex: 1; }
.search-form .search-field { height: 100%; }
.comments-area { width: min(100%, var(--aura-content)); margin: 5rem auto 0; padding-top: 3rem; border-top: 1px solid var(--aura-color-border); }
.comment-list { padding: 0; list-style: none; }
.comment-body { padding: 1.25rem 0; border-bottom: 1px solid var(--aura-color-border); }

/* Footer Classic 1. The four named slots use standard WordPress widget areas
 * and the Footer menu location, so they work with no page builder present. */
.site-footer { margin-top: clamp(2.5rem, 8vw, 8rem); background: var(--aura-color-text); color: rgb(255 255 255 / 78%); }
.aura-footer__inner { padding-block: clamp(3rem, 7vw, 6rem); }
.aura-footer--content-full :is(.aura-footer__inner, .aura-footer__bottom-inner) { width: calc(100% - (var(--aura-gutter) * 2)); max-width: none; }
.aura-footer__grid { display: grid; grid-template-columns: minmax(13rem, 1.35fr) repeat(3, minmax(10rem, 1fr)); gap: clamp(2rem, 4vw, 5rem); }
.aura-footer__column { min-width: 0; }
.aura-footer__brand { display: inline-flex; align-items: center; width: min(100%, 12.5rem); margin-bottom: 1.5rem; color: #fff; font-size: 1.25rem; font-weight: 800; letter-spacing: -.02em; line-height: 1; text-decoration: none; }
.aura-footer__logo { display: block; width: 100%; height: auto; max-height: 5rem; object-fit: contain; object-position: left center; }
.aura-footer__heading,
.aura-footer .widget-title { margin: 0 0 1rem; color: #fff; font-size: .875rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.aura-footer a { color: #fff; }
.aura-footer p,
.aura-footer li { color: rgb(255 255 255 / 78%); }
.aura-footer__navigation ul,
.aura-footer .widget ul { display: grid; gap: .55rem; padding: 0; margin: 0; list-style: none; }
.aura-footer__navigation a,
.aura-footer .widget a { color: rgb(255 255 255 / 78%); text-decoration: none; transition: color var(--aura-transition); }
.aura-footer__navigation a:hover,
.aura-footer .widget a:hover { color: #fff; }
.aura-footer .widget + .widget { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid rgb(255 255 255 / 18%); }
.aura-footer .aura-social-links--footer { gap: .4rem; margin-top: 1.25rem; }
.aura-footer .aura-social-links--footer .aura-social-links__link { border: 1px solid rgb(255 255 255 / 25%); color: #fff; }
.aura-footer .aura-social-links--footer .aura-social-links__link:hover { background: rgb(255 255 255 / 14%); color: #fff; }
.aura-footer__bottom { border-top: 1px solid rgb(255 255 255 / 18%); }
.aura-footer__bottom-inner { padding-block: 1.25rem; }
.aura-footer__copyright { color: rgb(255 255 255 / 65%); font-size: .8125rem; }

/* Progressive movement. Nothing is hidden without JavaScript. */
.aura-js .aura-reveal:not(.is-visible) { opacity: 0; transform: translateY(1.25rem); }
.aura-reveal { transition: opacity 560ms cubic-bezier(.2, .7, .3, 1), transform 560ms cubic-bezier(.2, .7, .3, 1); }
.aura-reveal.is-visible { opacity: 1; transform: translateY(0); }
.aura-back-to-top { position: fixed; z-index: 90; inset-inline-end: max(1rem, env(safe-area-inset-right)); bottom: max(1rem, env(safe-area-inset-bottom)); width: 3rem; padding: 0; border-radius: 50%; box-shadow: var(--aura-shadow-card); }
.aura-back-to-top[hidden] { display: none; }

@keyframes aura-header-in { from { transform: translateY(-100%); } to { transform: translateY(0); } }

@media (max-width: 900px) {
	.aura-header__desktop-navigation { display: none !important; }
	.aura-header--classic .aura-menu-toggle { display: inline-flex; }
	.aura-header__brand { width: auto; max-width: 52vw; }
	.aura-header__logo { width: var(--aura-header-mobile-logo-width); max-width: 34vw; }
	.aura-header__desktop-actions { gap: .3rem; }
	.aura-button--header { min-height: 2.35rem; padding: .52rem .7rem; font-size: .75rem; }
	.aura-header__tools { gap: .2rem; }
	.aura-menu-panel__content { padding: max(var(--aura-gutter), 1.25rem); }
	.aura-top-bar__inner { min-height: 2rem; }
	.aura-site-content.has-sidebar { grid-template-columns: 1fr; }
	.aura-site-content.has-sidebar .content-area { order: 1; }
	.aura-site-content.has-sidebar .widget-area { order: 2; }
	.entry--card { grid-template-columns: 1fr; }
	.entry-thumbnail { max-height: 25rem; }
	.aura-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
	.aura-header__icon-button { display: none; }
	.aura-header__inline-search { display: none; }
	.aura-header__cta--desktop-only { display: none; }
	.aura-header__desktop-actions { gap: .2rem; }
	.aura-button--header { min-height: 2.2rem; padding: .5rem .58rem; font-size: .6875rem; }
	.aura-menu-toggle { gap: .35rem; padding-inline: .55rem; }
	.aura-menu-toggle__label { font-size: .6875rem; }
	.aura-top-bar__inner { justify-content: center; min-height: 2.2rem; }
	.aura-top-bar__text { display: none; }
	.search-form { display: grid; }
	.aura-footer__grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
	.aura-js .aura-reveal:not(.is-visible) { opacity: 1; transform: none; }
}
