/**
 * Millet storefront: fix Kirki :root clash; custom sections follow html/body[data-theme].
 * Toggle: #switcher checked = light (see js/site-theme.js).
 */

/* ---- Site typography: Inter (UI/body) + Poppins (headings) only — matches Kirki --font-primary / --font-heading ---- */
:root {
    --font-primary: "Inter", sans-serif;
    --font-heading: "Poppins", sans-serif;
}

html {
    font-family: var(--font-primary);
}

body,
button,
input,
select,
textarea,
optgroup {
    font-family: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
    font-family: var(--font-heading);
}

/* Elementor: align widgets with site fonts (inline widget typography still wins without !important in some cases) */
.elementor-widget-heading .elementor-heading-title,
.elementor-widget-theme-builder-title .elementor-heading-title {
    font-family: var(--font-heading) !important;
}

.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-tab-title,
.elementor-toggle-title,
.elementor-accordion-title,
.elementor-alert-title,
.elementor-widget-button .elementor-button,
.elementor-widget-counter .elementor-counter-number-wrapper,
.elementor-widget-progress .elementor-title,
.elementor-icon-box-title,
.elementor-icon-box-description {
    font-family: var(--font-primary) !important;
}

/* Light tokens — Kirki bound both themes to :root; we restore predictable light defaults */
:root,
html[data-theme="light"] {
    --color-primary: hsl(38, 96%, 72%);
    --color-contrast-higher: hsl(0, 0%, 15%);
    --color-contrast-medium: hsl(0, 0%, 35%);
    --color-contrast-low: hsl(0, 0%, 70%);
    --color-contrast-lower: hsl(0, 0%, 92%);
    --color-bg: hsl(0, 0%, 96%);
}

html[data-theme="dark"],
body[data-theme="dark"] {
    --color-primary: hsl(37, 99%, 73%);
    --color-contrast-higher: hsl(0, 0%, 96%);
    --color-contrast-medium: hsl(0, 0%, 57%);
    --color-contrast-low: hsl(0, 0%, 22%);
    --color-contrast-lower: hsl(0, 0%, 19%);
    --color-bg: hsl(0, 1%, 14%);
}

/* High specificity: wins over .product-page / .shop-page variable blocks loaded later */
html[data-theme="dark"] body main.ms-main.product-pdp,
html[data-theme="dark"] main.ms-main.product-pdp,
body[data-theme="dark"] main.ms-main.product-pdp {
    --pd-bg: #121412;
    --pd-surface: #1a1f1c;
    --pd-text: #e8ece9;
    --pd-muted: #9aa89f;
    --pd-line: #2a3530;
    --pd-accent: #8fbc9a;
    --pd-accent-hover: #a8d4b4;
    --pd-gold: #c9a574;
    --pd-shadow: 0 4px 24px rgba(0, 0, 0, 0.35);
    --pd-shadow-lg: 0 20px 56px rgba(0, 0, 0, 0.45);
}

html[data-theme="dark"] .product-pdp__crumb-sep,
body[data-theme="dark"] .product-pdp__crumb-sep {
    color: #5c6560;
}

html[data-theme="dark"] .product-pdp__cart-status,
body[data-theme="dark"] .product-pdp__cart-status {
    border-color: rgba(143, 188, 154, 0.35);
    background: linear-gradient(145deg, rgba(143, 188, 154, 0.14) 0%, rgba(143, 188, 154, 0.06) 100%);
}

html[data-theme="dark"] body main.ms-main.shop-page,
html[data-theme="dark"] main.ms-main.shop-page,
body[data-theme="dark"] main.ms-main.shop-page {
    --sh-bg: #121412;
    --sh-surface: #1a1f1c;
    --sh-text: #e8ece9;
    --sh-muted: #9aa89f;
    --sh-line: #2a3530;
    --sh-accent: #8fbc9a;
    --sh-accent-soft: rgba(143, 188, 154, 0.12);
    --sh-gold: #c9a574;
    --sh-shadow: 0 4px 24px rgba(0, 0, 0, 0.35);
    --sh-shadow-hover: 0 16px 40px rgba(0, 0, 0, 0.4);
}

html[data-theme="dark"] .shop-page__crumb-sep,
body[data-theme="dark"] .shop-page__crumb-sep {
    color: #5c6560;
}

/* --- Store chrome --- */
html[data-theme="light"] .store-topbar,
body[data-theme="light"] .store-topbar {
    --st-accent: #2d4a3e;
    --st-bg: #eef1ee;
    --st-muted: #4a564f;
    color: #1a2420;
}

html[data-theme="light"] .store-topbar__link,
body[data-theme="light"] .store-topbar__link {
    color: #1a3028;
}

html[data-theme="light"] .store-topbar__link:hover,
body[data-theme="light"] .store-topbar__link:hover {
    color: #2d4a3e;
}

html[data-theme="light"] .store-topbar__link--cta,
body[data-theme="light"] .store-topbar__link--cta {
    background: #2d4a3e;
    color: #fff !important;
}

html[data-theme="light"] .store-topbar--below-header,
body[data-theme="light"] .store-topbar--below-header {
    border-top-color: #dfe6e1;
    border-bottom-color: #cfd8d2;
}

html[data-theme="dark"] .store-topbar,
body[data-theme="dark"] .store-topbar {
    --st-bg: #0e1210;
    --st-accent: #8fbc9a;
    --st-muted: #8a9a90;
    border-bottom: 1px solid #2a3530;
}

html[data-theme="dark"] .store-shell,
body[data-theme="dark"] .store-shell {
    background: #121412;
}

html[data-theme="dark"] .store-page-title,
body[data-theme="dark"] .store-page-title {
    color: #e8ece9;
}

html[data-theme="dark"] .store-shell .store-label,
html[data-theme="dark"] .store-checkout-form .store-label,
body[data-theme="dark"] .store-shell .store-label,
body[data-theme="dark"] .store-checkout-form .store-label {
    color: #9aa89f;
}

html[data-theme="dark"] .store-empty-cart,
body[data-theme="dark"] .store-empty-cart {
    color: #9aa89f;
}

html[data-theme="dark"] .store-shell .store-input,
html[data-theme="dark"] .store-shell .store-textarea,
html[data-theme="dark"] .store-checkout-form .store-input,
html[data-theme="dark"] .store-checkout-form .store-textarea,
body[data-theme="dark"] .store-shell .store-input,
body[data-theme="dark"] .store-shell .store-textarea,
body[data-theme="dark"] .store-checkout-form .store-input,
body[data-theme="dark"] .store-checkout-form .store-textarea {
    background: #121412;
    border-color: #2a3530;
    color: #e8ece9;
}

html[data-theme="dark"] .store-btn--ghost,
body[data-theme="dark"] .store-btn--ghost {
    background: #1a1f1c;
    color: #8fbc9a;
    border-color: #2a3530;
}

html[data-theme="dark"] .store-alert--error,
body[data-theme="dark"] .store-alert--error {
    background: #2a1818;
    color: #f0b4b4;
    border-color: #5c3030;
}

html[data-theme="dark"] .store-cart-lines,
body[data-theme="dark"] .store-cart-lines {
    background: #1a1f1c;
    border-color: #2a3530;
}

html[data-theme="dark"] .store-cart-line,
body[data-theme="dark"] .store-cart-line {
    border-bottom-color: #2a3530;
}

html[data-theme="dark"] .store-cart-line__name,
body[data-theme="dark"] .store-cart-line__name {
    color: #e8ece9;
}

html[data-theme="dark"] .store-cart-line__name:hover,
body[data-theme="dark"] .store-cart-line__name:hover {
    color: #a8d4b4;
}

html[data-theme="dark"] .store-cart-line__price,
body[data-theme="dark"] .store-cart-line__price {
    color: #9aa89f;
}

html[data-theme="dark"] .store-cart-line__qty input,
body[data-theme="dark"] .store-cart-line__qty input {
    background: #121412;
    border-color: #2a3530;
    color: #e8ece9;
}

html[data-theme="dark"] .store-cart-line__total,
body[data-theme="dark"] .store-cart-line__total {
    color: #8fbc9a;
}

html[data-theme="dark"] .store-cart-summary,
body[data-theme="dark"] .store-cart-summary {
    background: #1a1f1c;
    border-color: #2a3530;
}

html[data-theme="dark"] .store-cart-summary__title,
body[data-theme="dark"] .store-cart-summary__title {
    color: #e8ece9;
}

html[data-theme="dark"] .store-cart-summary__row--total,
body[data-theme="dark"] .store-cart-summary__row--total {
    border-top-color: #2a3530;
}

html[data-theme="dark"] .store-cart-summary__note,
html[data-theme="dark"] .store-cart-summary__guest,
body[data-theme="dark"] .store-cart-summary__note,
body[data-theme="dark"] .store-cart-summary__guest {
    color: #9aa89f;
}

html[data-theme="dark"] .store-link-muted,
body[data-theme="dark"] .store-link-muted {
    color: #9aa89f;
}

html[data-theme="dark"] .store-shell .store-password-toggle,
body[data-theme="dark"] .store-shell .store-password-toggle {
    color: #9aa89f;
}

html[data-theme="dark"] .store-shell .store-password-toggle:hover,
body[data-theme="dark"] .store-shell .store-password-toggle:hover {
    background: rgba(143, 188, 154, 0.12);
    color: #e8ece9;
}

html[data-theme="dark"] .store-checkout-form,
body[data-theme="dark"] .store-checkout-form {
    background: transparent;
    border: none;
    color: #e8ece9;
}

html[data-theme="dark"] .store-checkout-page,
body[data-theme="dark"] .store-checkout-page {
    --ch-surface: #1a1f1c;
    --ch-elevated: #141916;
    --ch-border: #2a3530;
    --ch-text: #e8ece9;
    --ch-muted: #9aa89f;
    background: linear-gradient(165deg, #070908 0%, #0e1210 30%, #121412 100%);
}

html[data-theme="dark"] .store-checkout-title,
body[data-theme="dark"] .store-checkout-title {
    color: #e8ece9;
}

html[data-theme="dark"] .store-checkout-tagline,
body[data-theme="dark"] .store-checkout-tagline {
    color: #9aa89f;
}

html[data-theme="dark"] .store-checkout-eyebrow,
body[data-theme="dark"] .store-checkout-eyebrow {
    color: #8fbc9a;
}

html[data-theme="dark"] .store-checkout-panel,
body[data-theme="dark"] .store-checkout-panel {
    background: #1a1f1c;
    border-color: #2a3530;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.38);
}

html[data-theme="dark"] .store-checkout-panel__head,
body[data-theme="dark"] .store-checkout-panel__head {
    border-bottom-color: #2a3530;
}

html[data-theme="dark"] .store-checkout-panel__title,
body[data-theme="dark"] .store-checkout-panel__title {
    color: #e8ece9;
}

html[data-theme="dark"] .store-checkout-panel__step,
body[data-theme="dark"] .store-checkout-panel__step {
    background: rgba(143, 188, 154, 0.14);
    color: #8fbc9a;
}

html[data-theme="dark"] .store-checkout-page .store-label,
body[data-theme="dark"] .store-checkout-page .store-label {
    color: #9aa89f;
}

html[data-theme="dark"] .store-checkout-page .store-input,
html[data-theme="dark"] .store-checkout-page .store-select,
body[data-theme="dark"] .store-checkout-page .store-input,
body[data-theme="dark"] .store-checkout-page .store-select {
    background: #121412;
    border-color: #3d4842;
    color: #e8ece9;
}

html[data-theme="dark"] .store-checkout-page .store-input:hover,
body[data-theme="dark"] .store-checkout-page .store-input:hover {
    border-color: #5c6560;
    background: #141916;
}

html[data-theme="dark"] .store-checkout-page .store-input:focus,
body[data-theme="dark"] .store-checkout-page .store-input:focus {
    border-color: #8fbc9a;
    box-shadow: 0 0 0 4px rgba(143, 188, 154, 0.2);
}

html[data-theme="dark"] .store-checkout-new-address__inner,
body[data-theme="dark"] .store-checkout-new-address__inner {
    background: #141916;
    border-color: #3d4842;
    box-shadow: none;
}

html[data-theme="dark"] .store-checkout-new-address__heading,
body[data-theme="dark"] .store-checkout-new-address__heading {
    color: #9aa89f;
}

html[data-theme="dark"] .store-checkout-item,
body[data-theme="dark"] .store-checkout-item {
    color: #c5cdc8;
}

html[data-theme="dark"] .store-order-summary.store-cart-summary,
body[data-theme="dark"] .store-order-summary.store-cart-summary {
    background: linear-gradient(180deg, #1a1f1c 0%, #161b18 100%);
    border-color: #2a3530;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.42);
}

html[data-theme="dark"] .store-order-line,
body[data-theme="dark"] .store-order-line {
    border-bottom-color: #2a3530;
}

html[data-theme="dark"] .store-order-line__name,
body[data-theme="dark"] .store-order-line__name {
    color: #e8ece9;
}

html[data-theme="dark"] .store-order-line__qty,
body[data-theme="dark"] .store-order-line__qty {
    color: #9aa89f;
}

html[data-theme="dark"] .store-order-line__price,
body[data-theme="dark"] .store-order-line__price {
    color: #8fbc9a;
}

html[data-theme="dark"] .store-checkbox-wrap--save,
body[data-theme="dark"] .store-checkbox-wrap--save {
    background: rgba(143, 188, 154, 0.08);
    border-color: rgba(143, 188, 154, 0.18);
}

html[data-theme="dark"] .store-checkout-actions__fine,
body[data-theme="dark"] .store-checkout-actions__fine {
    color: #8a958e;
}

html[data-theme="dark"] .store-checkout-lead,
body[data-theme="dark"] .store-checkout-lead {
    color: #9aa89f;
}

html[data-theme="dark"] .store-address-card,
body[data-theme="dark"] .store-address-card {
    border-color: #2a3530;
    background: #141916;
}

html[data-theme="dark"] .store-address-card:hover,
body[data-theme="dark"] .store-address-card:hover {
    border-color: #3d4a42;
}

html[data-theme="dark"] .store-address-card--selected,
body[data-theme="dark"] .store-address-card--selected {
    border-color: #8fbc9a;
    box-shadow: 0 0 0 1px rgba(143, 188, 154, 0.25);
    background: #1a1f1c;
}

html[data-theme="dark"] .store-address-card__body::before,
body[data-theme="dark"] .store-address-card__body::before {
    border-color: #5c6560;
    background: #121412;
}

html[data-theme="dark"] .store-address-card--selected .store-address-card__body::before,
body[data-theme="dark"] .store-address-card--selected .store-address-card__body::before {
    border-color: #8fbc9a;
    box-shadow: inset 0 0 0 3px #1a1f1c;
    background: #8fbc9a;
}

html[data-theme="dark"] .store-address-card__name,
body[data-theme="dark"] .store-address-card__name {
    color: #e8ece9;
}

html[data-theme="dark"] .store-address-card__phone,
html[data-theme="dark"] .store-address-card__hint,
body[data-theme="dark"] .store-address-card__phone,
body[data-theme="dark"] .store-address-card__hint {
    color: #9aa89f;
}

html[data-theme="dark"] .store-address-card__lines,
body[data-theme="dark"] .store-address-card__lines {
    color: #c5cdc8;
}

html[data-theme="dark"] .store-address-card__badge,
body[data-theme="dark"] .store-address-card__badge {
    background: #2a3530;
    color: #c5cdc8;
}

html[data-theme="dark"] .store-address-card__badge--default,
body[data-theme="dark"] .store-address-card__badge--default {
    background: rgba(143, 188, 154, 0.15);
    color: #8fbc9a;
}

html[data-theme="dark"] .store-checkout-new-address,
body[data-theme="dark"] .store-checkout-new-address {
    border-top-color: #2a3530;
}

html[data-theme="dark"] .store-checkout-new-address__inner,
body[data-theme="dark"] .store-checkout-new-address__inner {
    background: #141916;
    border-color: #2a3530;
}

html[data-theme="dark"] .store-checkout-new-address__heading,
body[data-theme="dark"] .store-checkout-new-address__heading {
    color: #e8ece9;
}

html[data-theme="dark"] .store-checkbox-wrap,
body[data-theme="dark"] .store-checkbox-wrap {
    color: #c5cdc8;
}

html[data-theme="dark"] .store-order-success__card,
body[data-theme="dark"] .store-order-success__card {
    background: #1a1f1c;
    border-color: #2a3530;
    box-shadow:
        0 1px 2px rgba(0, 0, 0, 0.2),
        0 12px 40px rgba(0, 0, 0, 0.35);
}

html[data-theme="dark"] .store-order-success__title,
body[data-theme="dark"] .store-order-success__title {
    color: #e8ece9;
}

html[data-theme="dark"] .store-order-success__lead,
body[data-theme="dark"] .store-order-success__lead {
    color: #c5cdc8;
}

html[data-theme="dark"] .store-order-success__chip,
body[data-theme="dark"] .store-order-success__chip {
    background: #141916;
    border-color: #2a3530;
}

html[data-theme="dark"] .store-order-success__chip-label,
body[data-theme="dark"] .store-order-success__chip-label {
    color: #9aa89f;
}

html[data-theme="dark"] .store-order-success__chip-value,
body[data-theme="dark"] .store-order-success__chip-value {
    color: #e8ece9;
}

html[data-theme="dark"] .store-order-success__chip-value--ok,
body[data-theme="dark"] .store-order-success__chip-value--ok {
    color: #6ee7b7;
}

html[data-theme="dark"] .store-order-success__chip-value--warn,
body[data-theme="dark"] .store-order-success__chip-value--warn {
    color: #fbbf24;
}

html[data-theme="dark"] .store-order-success__note,
body[data-theme="dark"] .store-order-success__note {
    color: #9aa89f;
}

html[data-theme="dark"] .store-order-success__note a,
body[data-theme="dark"] .store-order-success__note a {
    color: #8fbc9a;
}

html[data-theme="dark"] .store-order-success__mark,
body[data-theme="dark"] .store-order-success__mark {
    background: linear-gradient(145deg, rgba(143, 188, 154, 0.2) 0%, rgba(143, 188, 154, 0.1) 100%);
    color: #8fbc9a;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

html[data-theme="dark"] .store-shell--order-success,
body[data-theme="dark"] .store-shell--order-success {
    background: #121412;
}

html[data-theme="dark"] .store-success__lead,
body[data-theme="dark"] .store-success__lead {
    color: #e8ece9;
}

html[data-theme="dark"] .store-success__meta,
html[data-theme="dark"] .store-success__note,
body[data-theme="dark"] .store-success__meta,
body[data-theme="dark"] .store-success__note {
    color: #9aa89f;
}

html[data-theme="dark"] .store-success__icon,
body[data-theme="dark"] .store-success__icon {
    background: rgba(143, 188, 154, 0.15);
    color: #8fbc9a;
}

html[data-theme="dark"] .store-wish-card,
body[data-theme="dark"] .store-wish-card {
    background: #1a1f1c;
    border-color: #2a3530;
}

html[data-theme="dark"] .store-wish-card__name,
body[data-theme="dark"] .store-wish-card__name {
    color: #e8ece9;
}

html[data-theme="dark"] .store-wish-card__price,
body[data-theme="dark"] .store-wish-card__price {
    color: #8fbc9a;
}

/* --- Home hero (Elementor page 1234): stop body copy painting under pouches --- */
body.home .elementor-1234 .elementor-element.elementor-element-df395b1 {
    z-index: 4 !important;
    position: relative;
}

body.home .elementor-1234 .elementor-element.elementor-element-646b542 {
    position: relative;
    z-index: 4 !important;
}

/*
 * Elementor sets --padding-top:0 on ≤1024px for the hero shell — headline sits under the transparent bar.
 * Push hero content down (extra air below menu) without re-adding huge vertical bands around the pouches.
 */
body.home .elementor-1234 .elementor-element.elementor-element-572d490 {
    --padding-top: calc(env(safe-area-inset-top, 0px) + 100px + 1rem) !important;
    padding-top: var(--padding-top) !important;
    --padding-bottom: 0 !important;
    padding-bottom: 0 !important;
}

@media screen and (max-width: 1023px) {
    body.home .elementor-1234 .elementor-element.elementor-element-572d490 {
        --padding-top: calc(
            env(safe-area-inset-top, 0px) + var(--millet-header-flow-spacer, 5.5rem) + clamp(0.85rem, 3.5vw, 1.35rem)
        ) !important;
        padding-top: var(--padding-top) !important;
        --padding-bottom: 0 !important;
        padding-bottom: 0 !important;
    }
}

/* Less empty space under “Shop The Collection” */
body.home .elementor-1234 .elementor-element.elementor-element-877cc44 {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

body.home .elementor-1234 .elementor-element.elementor-element-877cc44 .elementor-widget-ms-button .elementor-widget-container {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

body.home .ms-page-content .xs_social_share_widget.after_content {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    min-height: 0 !important;
}

@media screen and (max-width: 1024px) {
    body.home .elementor-1234 .elementor-element.elementor-element-646b542 {
        margin-top: clamp(0.35rem, 2vw, 0.85rem) !important;
        padding-top: clamp(0.15rem, 1.5vw, 0.5rem) !important;
    }

    /* Spacer between title row and magnetic images — keep modest so mobile isn’t one huge empty band */
    body.home .elementor-1234 .elementor-element.elementor-element-566b99a {
        --min-height: min(14vh, 5.5rem) !important;
        min-height: min(14vh, 5.5rem) !important;
        --margin-bottom: clamp(0.75rem, 3vw, 1.25rem) !important;
        margin-bottom: var(--margin-bottom) !important;
    }

    /* Shorter image stack on tablet — Elementor used 230px / tall vh */
    body.home .elementor-1234 .elementor-element.elementor-element-8670c1b {
        --min-height: min(52vh, 420px) !important;
        min-height: min(52vh, 420px) !important;
    }

    body.home .elementor-1234 .elementor-element.elementor-element-c71dcc0 .magnetic_hero .hero__images {
        height: min(52vh, 280px) !important;
    }
}

/* Contact page redesign */
body.contact-page .contact-pro {
    max-width: 1120px;
}

body.contact-page .contact-pro__hero {
    border-radius: 18px;
    padding: 1.75rem 1.5rem;
    margin-bottom: 1.1rem;
    background: linear-gradient(135deg, rgba(193, 122, 74, 0.18), rgba(143, 188, 154, 0.14));
    border: 1px solid rgba(127, 127, 127, 0.18);
}

@media screen and (max-width: 575px) {
    body.contact-page .contact-pro__hero {
        padding: 1.35rem 1.1rem;
    }
}

body.contact-page .contact-pro__title {
    margin: 0;
    font-size: clamp(1.6rem, 3.4vw, 2.25rem);
    letter-spacing: -0.02em;
}

body.contact-page .contact-pro__subtitle {
    margin: 0.35rem 0 0;
    opacity: 0.85;
    max-width: 55ch;
}

body.contact-page .contact-pro__card {
    border: 1px solid rgba(127, 127, 127, 0.18);
    border-radius: 18px;
    background: color-mix(in srgb, #ffffff 92%, transparent);
    box-shadow: 0 18px 50px rgba(18, 18, 18, 0.08);
}

body.contact-page .contact-pro__card .card-body {
    padding: 1.35rem 1.35rem;
}

@media screen and (max-width: 575px) {
    body.contact-page .contact-pro__card .card-body {
        padding: 1.05rem 1.05rem;
    }
}

body[data-theme="dark"].contact-page .contact-pro__card,
html[data-theme="dark"] body.contact-page .contact-pro__card {
    background: color-mix(in srgb, var(--color-contrast-higher) 78%, transparent);
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.35);
}

body.contact-page .contact-pro__kicker {
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    opacity: 0.7;
}

body.contact-page .contact-pro__h2 {
    font-size: 1.15rem;
    font-weight: 800;
    margin: 0;
}

body.contact-page .contact-pro__list {
    display: grid;
    gap: 0.85rem;
}

body.contact-page .contact-pro__item {
    padding: 0.85rem 0.9rem;
    border-radius: 14px;
    background: rgba(127, 127, 127, 0.06);
    border: 1px solid rgba(127, 127, 127, 0.14);
}

body[data-theme="dark"].contact-page .contact-pro__item,
html[data-theme="dark"] body.contact-page .contact-pro__item {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.12);
}

body.contact-page .contact-pro__item-label {
    font-size: 0.78rem;
    opacity: 0.7;
    font-weight: 700;
    margin-bottom: 0.15rem;
}

body.contact-page .contact-pro__item-value {
    font-weight: 650;
    text-decoration: none;
    color: inherit;
    word-break: break-word;
}

body.contact-page .contact-pro__item-value:hover {
    color: var(--color-primary, #c17a4a);
}

body.contact-page .contact-pro__label {
    font-weight: 650;
    font-size: 0.85rem;
}

body.contact-page .contact-pro__control {
    border-radius: 12px;
    padding: 0.72rem 0.85rem;
    border: 1px solid rgba(127, 127, 127, 0.22);
    background: rgba(255, 255, 255, 0.85);
}

body.contact-page .contact-pro__form .row.g-3 {
    --bs-gutter-y: 1rem;
    --bs-gutter-x: 1rem;
}

@media screen and (max-width: 575px) {
    body.contact-page .contact-pro__form .row.g-3 {
        --bs-gutter-y: 0.85rem;
        --bs-gutter-x: 0.85rem;
    }
}

body[data-theme="dark"].contact-page .contact-pro__control,
html[data-theme="dark"] body.contact-page .contact-pro__control {
    background: rgba(0, 0, 0, 0.18);
    border-color: rgba(255, 255, 255, 0.18);
    color: var(--color-contrast-lower);
}

body.contact-page .contact-pro__fineprint {
    opacity: 0.7;
    font-size: 0.86rem;
}

body.contact-page .contact-pro__btn {
    border-radius: 999px;
    padding: 0.65rem 1.1rem;
    font-weight: 700;
}

/* About page redesign */
body.about-page .about-pro {
    max-width: 1120px;
}

body.about-page .about-pro__hero {
    border-radius: 18px;
    padding: 1.6rem 1.25rem;
    margin-bottom: 1.2rem;
    background: linear-gradient(135deg, rgba(193, 122, 74, 0.16), rgba(143, 188, 154, 0.14));
    border: 1px solid rgba(127, 127, 127, 0.18);
}

body.about-page .about-pro__hero-inner {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 1.25rem;
    align-items: start;
}

@media screen and (max-width: 991px) {
    body.about-page .about-pro__hero-inner {
        grid-template-columns: 1fr;
    }
}

body.about-page .about-pro__kicker {
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    opacity: 0.7;
}

body.about-page .about-pro__title {
    margin: 0;
    font-size: clamp(1.75rem, 3.8vw, 2.5rem);
    letter-spacing: -0.02em;
}

body.about-page .about-pro__subtitle {
    margin: 0.5rem 0 0;
    opacity: 0.86;
    max-width: 60ch;
}

body.about-page .about-pro__btn {
    border-radius: 999px;
    padding: 0.65rem 1.05rem;
    font-weight: 750;
}

body.about-page .about-pro__btn--ghost {
    background: transparent;
}

body.about-page .about-pro__stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
    margin-top: 1rem;
}

@media screen and (max-width: 575px) {
    body.about-page .about-pro__stats {
        grid-template-columns: 1fr;
    }
}

body.about-page .about-pro__stat {
    padding: 0.85rem 0.9rem;
    border-radius: 14px;
    background: rgba(127, 127, 127, 0.06);
    border: 1px solid rgba(127, 127, 127, 0.14);
}

body.about-page .about-pro__stat-num {
    font-size: 1.35rem;
    font-weight: 900;
    letter-spacing: -0.02em;
}

body.about-page .about-pro__stat-label {
    opacity: 0.75;
    font-weight: 650;
    font-size: 0.86rem;
}

body.about-page .about-pro__media {
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid rgba(127, 127, 127, 0.14);
    background: rgba(127, 127, 127, 0.05);
}

body.about-page .about-pro__media-grid {
    display: grid;
    grid-template-columns: 1fr;
}

body.about-page .about-pro__media-grid img {
    width: 100%;
    height: auto;
    display: block;
}

body.about-page .about-pro__media-grid--two {
    grid-template-columns: 1fr 1fr;
}

@media screen and (max-width: 575px) {
    body.about-page .about-pro__media-grid--two {
        grid-template-columns: 1fr;
    }
}

body.about-page .about-pro__media-note {
    grid-column: 1 / -1;
    padding: 0.9rem 1rem;
    font-weight: 650;
    opacity: 0.85;
}

body.about-page .about-pro__section {
    margin-top: 1.2rem;
}

body.about-page .about-pro__h2 {
    font-size: 1.3rem;
    font-weight: 900;
    margin: 0;
}

body.about-page .about-pro__muted {
    opacity: 0.8;
}

body.about-page .about-pro__card {
    padding: 1rem 1.05rem;
    border-radius: 16px;
    border: 1px solid rgba(127, 127, 127, 0.18);
    background: color-mix(in srgb, #ffffff 92%, transparent);
    box-shadow: 0 18px 50px rgba(18, 18, 18, 0.08);
}

body.about-page .about-pro__feature {
    padding: 1rem 1.05rem;
    border-radius: 16px;
    border: 1px solid rgba(127, 127, 127, 0.16);
    background: rgba(127, 127, 127, 0.06);
}

body.about-page .about-pro__feature-title {
    font-weight: 900;
    margin-bottom: 0.15rem;
}

body.about-page .about-pro__feature-text {
    opacity: 0.82;
    margin: 0;
}

body.about-page .about-pro__steps {
    margin: 0.75rem 0 0;
    padding-left: 1.1rem;
    display: grid;
    gap: 0.35rem;
}

body.about-page .about-pro__cta {
    margin-top: 1.4rem;
}

body.about-page .about-pro__cta-inner {
    border-radius: 18px;
    padding: 1.25rem 1.1rem;
    border: 1px solid rgba(127, 127, 127, 0.18);
    background: linear-gradient(135deg, rgba(193, 122, 74, 0.14), rgba(143, 188, 154, 0.12));
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

body.about-page .about-pro__cta-title {
    font-weight: 950;
}

body.about-page .about-pro__cta-sub {
    opacity: 0.85;
}

body[data-theme="dark"].about-page .about-pro__card,
html[data-theme="dark"] body.about-page .about-pro__card {
    background: color-mix(in srgb, var(--color-contrast-higher) 78%, transparent);
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.35);
}

body[data-theme="dark"].about-page .about-pro__feature,
html[data-theme="dark"] body.about-page .about-pro__feature,
body[data-theme="dark"].about-page .about-pro__stat,
html[data-theme="dark"] body.about-page .about-pro__stat,
body[data-theme="dark"].about-page .about-pro__media,
html[data-theme="dark"] body.about-page .about-pro__media {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.12);
}

@media screen and (max-width: 767px) {
    body.home .elementor-1234 .elementor-element.elementor-element-646b542 {
        margin-top: clamp(0.35rem, 2.5vw, 0.75rem) !important;
        padding-top: clamp(0.1rem, 1.5vw, 0.45rem) !important;
    }

    /* More runway under the headline so pouch images sit lower on phones */
    body.home .elementor-1234 .elementor-element.elementor-element-566b99a {
        --min-height: min(22vh, 9rem) !important;
        min-height: min(22vh, 9rem) !important;
        margin-top: clamp(0.75rem, 4vw, 1.5rem) !important;
        --margin-bottom: clamp(0.65rem, 2.5vw, 1.1rem) !important;
        margin-bottom: var(--margin-bottom) !important;
    }

    body.home .elementor-1234 .elementor-element.elementor-element-8670c1b {
        --min-height: auto !important;
        min-height: 0 !important;
        margin-top: clamp(1.25rem, 6vw, 2.75rem) !important;
    }

    body.home .elementor-1234 .elementor-element.elementor-element-c71dcc0 {
        margin-top: clamp(0.5rem, 3vw, 1.25rem) !important;
    }

    /* Elementor used height:100vw here — controlled height on small screens */
    body.home .elementor-1234 .elementor-element.elementor-element-c71dcc0 .magnetic_hero .hero__images {
        height: min(72vw, 52vh, 340px) !important;
    }

    /* Tighter gap under the CTA row (same as desktop fix, reinforced on mobile) */
    body.home .elementor-1234 .elementor-element.elementor-element-877cc44 {
        --margin-top: clamp(0.75rem, 4vw, 1.5rem) !important;
        margin-top: var(--margin-top) !important;
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    body.home .elementor-1234 .elementor-element.elementor-element-877cc44 .elementor-widget-ms-button .elementor-widget-container {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    body.home .ms-page-content .xs_social_share_widget.after_content {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
}

/* About Us (page-id 4981): inline white text breaks in light theme */
html[data-theme="light"] body.page-id-4981 .ms-page-content,
body[data-theme="light"].page-id-4981 .ms-page-content {
    color: var(--color-contrast-higher, #111) !important;
}

html[data-theme="light"] body.page-id-4981 .ms-page-content [style*="color: #fff"],
body[data-theme="light"].page-id-4981 .ms-page-content [style*="color: #fff"] {
    color: var(--color-contrast-higher, #111) !important;
}

html[data-theme="light"] body.page-id-4981 .ms-page-content .elementor-heading-title,
body[data-theme="light"].page-id-4981 .ms-page-content .elementor-heading-title {
    color: var(--color-contrast-higher, #111) !important;
}

/* FAQ page — minimalist accordion (reference layout) */
body.faq-page .faq-pro {
    --faq-fg: #1a1a1a;
    --faq-bg: #ffffff;
    --faq-card-border: #e8e8e8;
    --faq-card-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
    --faq-muted: #5c5c5c;
    font-family: var(--font-primary);
    color: var(--faq-fg);
    background: var(--faq-bg);
    padding-top: clamp(3.5rem, 12vw, 5.5rem);
    padding-bottom: clamp(2.5rem, 6vw, 4rem);
}

body.faq-page .faq-pro__container {
    max-width: 720px;
}

body.faq-page .faq-pro__header {
    margin-bottom: clamp(2rem, 5vw, 2.75rem);
}

body.faq-page .faq-pro__breadcrumb {
    font-size: 0.8125rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    color: var(--faq-muted);
    margin-bottom: 1.25rem;
}

body.faq-page .faq-pro__breadcrumb-link {
    color: inherit;
    text-decoration: none;
    transition: color 0.15s ease;
}

body.faq-page .faq-pro__breadcrumb-link:hover {
    color: var(--faq-fg);
}

body.faq-page .faq-pro__breadcrumb-sep {
    margin: 0 0.35rem;
    opacity: 0.65;
}

body.faq-page .faq-pro__breadcrumb-current {
    color: var(--faq-fg);
    font-weight: 600;
}

body.faq-page .faq-pro__title {
    margin: 0 0 1rem;
    text-align: center;
    font-size: clamp(1.75rem, 4.5vw, 2.35rem);
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.15;
    color: var(--faq-fg);
}

body.faq-page .faq-pro__intro {
    max-width: 42rem;
    text-align: center;
    font-size: 1rem;
    font-weight: 450;
    line-height: 1.65;
    color: var(--faq-muted);
}

body.faq-page .faq-pro__intro-inner p:last-child {
    margin-bottom: 0;
}

body.faq-page .faq-pro__accordion {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

body.faq-page .faq-pro__item {
    background: var(--faq-bg);
    border: 1px solid var(--faq-card-border);
    border-radius: 16px;
    box-shadow: var(--faq-card-shadow);
    overflow: hidden;
    transition: box-shadow 0.25s ease, border-color 0.25s ease;
}

body.faq-page .faq-pro__item:has(.faq-pro__collapse.show) {
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
    border-color: #ddd;
}

body.faq-page .faq-pro__question {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.15rem 1.25rem;
    min-height: 3.5rem;
    border: 0;
    background: transparent;
    text-align: left;
    font-size: 1rem;
    font-weight: 600;
    color: var(--faq-fg);
    cursor: pointer;
    transition: background 0.2s ease;
}

@media (min-width: 576px) {
    body.faq-page .faq-pro__question {
        padding: 1.25rem 1.5rem;
    }
}

body.faq-page .faq-pro__question:hover {
    background: rgba(0, 0, 0, 0.02);
}

body.faq-page .faq-pro__question:focus-visible {
    outline: 2px solid #1a1a1a;
    outline-offset: -2px;
}

body.faq-page .faq-pro__question-text {
    flex: 1;
    line-height: 1.45;
}

/* Plus → minus icon */
body.faq-page .faq-pro__icon {
    position: relative;
    flex-shrink: 0;
    width: 1.25rem;
    height: 1.25rem;
}

body.faq-page .faq-pro__icon::before,
body.faq-page .faq-pro__icon::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    background: var(--faq-fg);
    transform: translate(-50%, -50%);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s ease;
}

body.faq-page .faq-pro__icon::before {
    width: 0.75rem;
    height: 2px;
}

body.faq-page .faq-pro__icon::after {
    width: 2px;
    height: 0.75rem;
}

body.faq-page .faq-pro__question:not(.collapsed) .faq-pro__icon::after {
    transform: translate(-50%, -50%) scaleY(0);
    opacity: 0;
}

body.faq-page .faq-pro__collapse {
    border-top: 1px solid rgba(0, 0, 0, 0.06);
}

body.faq-page .faq-pro__answer {
    padding: 0 1.25rem 1.25rem;
    font-size: 0.9375rem;
    font-weight: 400;
    line-height: 1.65;
    color: var(--faq-muted);
}

@media (min-width: 576px) {
    body.faq-page .faq-pro__answer {
        padding: 0 1.5rem 1.35rem;
    }
}

body.faq-page .faq-pro__empty {
    text-align: center;
    color: var(--faq-muted);
    margin: 2rem 0 0;
}

/* FAQ footer band */
body.faq-page footer.ms-footer.ms-footer--template {
    background: #f4f4f4;
}

html[data-theme="dark"] body.faq-page footer.ms-footer.ms-footer--template,
body[data-theme="dark"].faq-page footer.ms-footer.ms-footer--template {
    background: rgba(255, 255, 255, 0.04);
}

/* Dark theme */
html[data-theme="dark"] body.faq-page .faq-pro,
body[data-theme="dark"].faq-page .faq-pro {
    --faq-fg: #f2f2f2;
    --faq-bg: var(--color-contrast-higher, #121212);
    --faq-card-border: rgba(255, 255, 255, 0.12);
    --faq-card-shadow: 0 4px 28px rgba(0, 0, 0, 0.45);
    --faq-muted: rgba(255, 255, 255, 0.72);
}

html[data-theme="dark"] body.faq-page .faq-pro__item:has(.faq-pro__collapse.show),
body[data-theme="dark"].faq-page .faq-pro__item:has(.faq-pro__collapse.show) {
    border-color: rgba(255, 255, 255, 0.18);
}

html[data-theme="dark"] body.faq-page .faq-pro__question:hover,
body[data-theme="dark"].faq-page .faq-pro__question:hover {
    background: rgba(255, 255, 255, 0.04);
}

html[data-theme="dark"] body.faq-page .faq-pro__collapse,
body[data-theme="dark"].faq-page .faq-pro__collapse {
    border-top-color: rgba(255, 255, 255, 0.08);
}

/* Return & Refund Policy page */
body.return-refund-page .rr-policy-pro {
    --rr-fg: #1a1a1a;
    --rr-bg: #f4f4f4;
    --rr-muted: #3d3d3d;
    font-family: var(--font-primary);
    background: var(--rr-bg);
    color: var(--rr-fg);
    padding-top: clamp(3.5rem, 11vw, 5rem);
    padding-bottom: clamp(2.5rem, 6vw, 4rem);
}

body.return-refund-page .rr-policy-pro__container {
    max-width: 720px;
}

body.return-refund-page .rr-policy-pro__title {
    margin: 0 0 1.75rem;
    font-size: clamp(1.65rem, 4.2vw, 2.15rem);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-align: left;
    color: var(--rr-fg);
}

body.return-refund-page .rr-policy-pro__subtitle {
    margin: 0 0 1.75rem;
    font-size: clamp(1.05rem, 2.2vw, 1.2rem);
    font-weight: 700;
    text-align: center;
    color: var(--rr-fg);
    line-height: 1.35;
}

body.return-refund-page .rr-policy-pro__list {
    margin: 0;
    padding: 0 0 0 1.25rem;
    list-style: disc;
    text-align: left;
}

body.return-refund-page .rr-policy-pro__item {
    margin-bottom: 1.35rem;
    padding-left: 0.35rem;
    line-height: 1.65;
    font-size: 1rem;
    color: var(--rr-muted);
}

body.return-refund-page .rr-policy-pro__item:last-child {
    margin-bottom: 0;
}

body.return-refund-page .rr-policy-pro__lead {
    display: inline;
    font-weight: 700;
    color: var(--rr-fg);
}

body.return-refund-page .rr-policy-pro__text {
    display: inline;
}

body.return-refund-page .rr-policy-pro__mailto {
    color: inherit;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

body.return-refund-page .rr-policy-pro__mailto:hover {
    opacity: 0.85;
}

body.return-refund-page footer.ms-footer.ms-footer--template {
    background: #ebebeb;
}

html[data-theme="dark"] body.return-refund-page .rr-policy-pro,
body[data-theme="dark"].return-refund-page .rr-policy-pro {
    --rr-fg: #f0f0f0;
    --rr-bg: #1a1a1a;
    --rr-muted: rgba(255, 255, 255, 0.82);
}

html[data-theme="dark"] body.return-refund-page footer.ms-footer.ms-footer--template,
body[data-theme="dark"].return-refund-page footer.ms-footer.ms-footer--template {
    background: rgba(0, 0, 0, 0.35);
}

/* =============================================================================
   Inter + Poppins only: override third-party text stacks (Osty, Elementor).
   Icon fonts (Font Awesome, WooCommerce stars, dashicons) keep their own faces.
   ============================================================================= */
body .btn .f-btn-r,
body .wpcf7-btn .f-btn-r,
body .post-footer a .f-btn-r,
body .btn--comments .f-btn-r,
body button[name="apply_coupon"] .f-btn-r,
body a.checkout-button .f-btn-r,
body .price_slider_amount .button .f-btn-r,
body .single_add_to_cart_button .f-btn-r,
body .btn-osty .f-btn-r,
body .ms-product-link a .f-btn-r,
body .f-btn-r span {
    font-family: var(--font-heading) !important;
}

body .ms-tt__text {
    font-family: var(--font-heading) !important;
}

body .elementor-nav-menu,
body .elementor-nav-menu .elementor-item,
body .elementor-nav-menu a {
    font-family: var(--font-primary) !important;
}

body .product_title.entry-title,
body .elementor-post__title,
body .elementor-post__title a {
    font-family: var(--font-heading) !important;
}

body .woocommerce .price,
body .elementor-widget-woocommerce-product-price .price {
    font-family: var(--font-primary) !important;
}

