/*
 * FRIOZEN control standard. Change shared geometry and colours here.
 * Cards, floating utility launchers and native consent layout are separate roles.
 * All selectors remain inside the storefront or its observed SelectWoo portal.
 */
.frz,
.frz-premium-mobile-offer,
body:has(.frz.frz-premium),
#cmplz-cookiebanner-container {
    --frz-control-radius:8px;
    --frz-control-height:48px;
    --frz-field-inset:12px;
    --frz-cell-block:12px;
    --frz-cell-inline:16px;
    --frz-icon-target:44px;
    --frz-control-surface:#0b100d;
    --frz-control-border:#74867a;
    --frz-control-text:#f4f6f4;
    --frz-control-muted:#a7b1ad;
    --frz-control-mint:#85e2b5;
    --frz-control-mint-hover:#a7edcb;
    --frz-control-mint-active:#6ed3a0;
    --frz-control-ink:#102118;
    --frz-control-secondary:#18221c;
    --frz-control-secondary-hover:#253d2f;
    --frz-control-danger:#ffb4ab;
    --frz-control-danger-border:#bd827a;
    --frz-control-danger-hover:#462820;
    --frz-control-focus:3px solid var(--frz-control-mint);
    --frz-modal-width:30rem;
    --frz-modal-padding:1.125rem;
    --frz-modal-radius:1rem;
    --frz-modal-surface:#111914;
    --frz-modal-text:#edf3ee;
    --frz-modal-font:Arial,Helvetica,sans-serif;
    color-scheme:dark;
}
@media(max-width:1000px) {
    .frz, #cmplz-cookiebanner-container { --frz-cell-inline:12px; }
}

/* Decorative accents retain mint; action glyphs always follow their label. */
.frz.frz-premium :is(.frz-button,.frz-cart-link,.frz-small-button,.frz-remove,.frz-cookie-settings,.frz-editorial-card > a) .frz-ui-icon,
.frz-premium-mobile-offer .frz-button .frz-ui-icon { color:inherit; }

/* Shared modal skin; native CMP anchoring, visibility and handlers stay native. */
.frz .frz-reading-panel,
#cmplz-cookiebanner-container .cmplz-cookiebanner {
    box-sizing:border-box; width:min(var(--frz-modal-width),calc(100vw - 2rem));
    max-width:calc(100vw - 2rem); max-height:calc(100dvh - 2rem);
    padding:var(--frz-modal-padding); overflow:auto; overflow-wrap:anywhere;
    border:1px solid var(--frz-control-border); border-radius:var(--frz-modal-radius);
    background:var(--frz-modal-surface); color:var(--frz-modal-text);
    font:1rem/1.6 var(--frz-modal-font); box-shadow:0 18px 60px #0008;
}
.frz .frz-reading-header h2,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-header .cmplz-title { font:650 1.25rem/1.4 var(--frz-modal-font); }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message { font:1rem/1.6 var(--frz-modal-font); }
.frz .frz-reading-footer,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links {
    flex-wrap:wrap; align-items:center; justify-content:flex-start;
    gap:.125rem .875rem; margin:.875rem 0 0; padding:.75rem 0 0;
    border-top:1px solid #46534b;
}
.frz .frz-reading-footer a,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links .cmplz-link {
    align-items:center; min-height:24px; max-width:100%;
    color:var(--frz-control-mint); font:400 .8125rem/1.6 var(--frz-modal-font);
    text-decoration:underline; text-underline-offset:.2em; overflow-wrap:anywhere;
}
.frz .frz-reading-footer { display:flex; }
.frz .frz-reading-footer a { display:inline-flex; }

/* Expanded inventory is the vendor's div grid, not a replacement consent UI. */
.frz-cookie-document #cmplz-document { container:frz-cookie / inline-size; }
.frz-cookie-document #cmplz-document .cmplz-dropdown { background:#111914; border-color:var(--line); border-radius:var(--frz-control-radius); overflow:hidden; }
.frz-cookie-document #cmplz-document .cmplz-dropdown > summary.cmplz-service-header { padding:var(--frz-cell-block) var(--frz-cell-inline); background:#18221c; color:var(--frz-control-text); }
.frz-cookie-document #cmplz-document .cmplz-dropdown > summary.cmplz-service-header :is(h3,p) { background:transparent; color:inherit; }
.frz-cookie-document #cmplz-document .cmplz-dropdown > summary.cmplz-service-header h3 { margin:0; padding:0; font-size:1rem; font-weight:600; line-height:1.5; }
.frz-cookie-document #cmplz-document .cmplz-dropdown > summary.cmplz-service-header p { margin:0; font-size:.875rem; line-height:1.5; }
.frz-cookie-document #cmplz-document .cmplz-dropdown :is(.cmplz-service-description,.cmplz-sharing-data) { box-sizing:border-box; width:100%; padding:var(--frz-cell-block) var(--frz-cell-inline); background:#111914; color:#edf3ee; }
.frz-cookie-document #cmplz-document .cmplz-dropdown :is(.cmplz-service-description,.cmplz-sharing-data) :is(h4,h5,p),
.frz-cookie-document #cmplz-document .cmplz-dropdown .cookies-per-purpose :is(h4,h5) { font-size:.875rem; }
.frz-cookie-document #cmplz-document .cmplz-dropdown :is(.cmplz-service-description,.cmplz-sharing-data) > :first-child { margin-top:0; }
.frz-cookie-document #cmplz-document .cmplz-dropdown :is(.cmplz-service-description,.cmplz-sharing-data) > :last-child { margin-bottom:0; }
.frz-cookie-document #cmplz-document .cmplz-dropdown .cookies-per-purpose { display:grid; grid-template:none / minmax(0,1fr) minmax(0,1fr) minmax(0,2fr); grid-auto-flow:row dense; gap:1px; background:#46534b; border-color:#46534b; }
.frz-cookie-document #cmplz-document .cmplz-dropdown .cookies-per-purpose > :is(.purpose,.name-header,.name,.retention-header,.retention,.function-header,.function) { min-width:0; grid-area:auto; padding:var(--frz-cell-block) var(--frz-cell-inline); background:#111914; color:#edf3ee; overflow-wrap:anywhere; line-height:1.65; }
.frz-cookie-document #cmplz-document .cmplz-dropdown .cookies-per-purpose > .purpose { grid-column:1 / -1; }
.frz-cookie-document #cmplz-document .cmplz-dropdown .cookies-per-purpose > :is(.name-header,.name) { grid-column:1; }
.frz-cookie-document #cmplz-document .cmplz-dropdown .cookies-per-purpose > :is(.retention-header,.retention) { grid-column:2; }
.frz-cookie-document #cmplz-document .cmplz-dropdown .cookies-per-purpose > :is(.function-header,.function) { grid-column:3; }
.frz-cookie-document #cmplz-document .cmplz-dropdown .cookies-per-purpose > :is(.purpose,.name-header,.retention-header,.function-header) { background:#18221c; color:#c3cbc7; font-weight:600; }
.frz-cookie-document #cmplz-document .cmplz-dropdown summary div:after { filter:brightness(0) invert(1); }
@container frz-cookie (max-width:44rem) {
    .frz-cookie-document #cmplz-document .cmplz-dropdown > summary.cmplz-service-header > div { grid-template:"heading heading" "paragraph chevron" / minmax(0,1fr) 32px; gap:.5rem .75rem; }
    .frz-cookie-document #cmplz-document .cmplz-dropdown > summary.cmplz-service-header > div > h3 { grid-area:heading; hyphens:none; }
    .frz-cookie-document #cmplz-document .cmplz-dropdown > summary.cmplz-service-header > div > p { grid-area:paragraph; text-align:start; justify-self:start; }
    .frz-cookie-document #cmplz-document .cmplz-dropdown > summary.cmplz-service-header > div::after { grid-area:chevron; align-self:center; }
    .frz-cookie-document #cmplz-document .cmplz-dropdown > summary.cmplz-service-header > div > :is(label,input) { grid-area:auto; }
    .frz-cookie-document #cmplz-document .cmplz-dropdown .cookies-per-purpose { grid-template-columns:minmax(0,1fr); grid-auto-flow:row; }
    .frz-cookie-document #cmplz-document .cmplz-dropdown .cookies-per-purpose > :is(.purpose,.name-header,.name,.retention-header,.retention,.function-header,.function) { grid-area:auto; grid-column:1; }
    .frz-cookie-document #cmplz-document .cmplz-dropdown .cookies-per-purpose > :is(.name-header,.retention-header,.function-header) { background:#111914; color:#c3cbc7; }
}
/* Category visibility/toggles remain vendor-owned; only their content insets align. */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-category-header,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-description { padding:var(--frz-cell-block) var(--frz-cell-inline); }

/* One action geometry; variants only change the state palette. */
.frz.frz-premium :is(.frz-button,.frz-cart-link,.frz-small-button,.frz-remove,.frz-cookie-settings,.frz-quantity-step),
.frz.frz-premium .frz-woo :is(button,.button,input[type="submit"],input[type="button"],input[type="reset"]),
.frz-premium-mobile-offer .frz-button { display:inline-flex; }
.frz.frz-premium :is(.frz-button,.frz-cart-link,.frz-small-button,.frz-remove,.frz-cookie-settings,.frz-quantity-step),
.frz.frz-premium .frz-woo :is(button,.button,input[type="submit"],input[type="button"],input[type="reset"]),
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn,
.frz-premium-mobile-offer .frz-button {
    --frz-action-bg:var(--frz-control-mint);
    --frz-action-hover:var(--frz-control-mint-hover);
    --frz-action-active:var(--frz-control-mint-active);
    --frz-action-text:var(--frz-control-ink);
    --frz-action-border:var(--frz-control-mint);
    box-sizing:border-box;
    align-items:center;
    justify-content:center;
    gap:.625rem;
    min-width:0;
    max-width:100%;
    min-height:var(--frz-control-height);
    height:auto;
    padding:.6875rem 1.125rem;
    border:1px solid var(--frz-action-border);
    border-radius:var(--frz-control-radius);
    background:var(--frz-action-bg);
    color:var(--frz-action-text);
    box-shadow:none;
    font:600 1rem/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    text-align:center;
    text-decoration:none;
    text-shadow:none;
    white-space:normal;
    overflow-wrap:anywhere;
    cursor:pointer;
    vertical-align:middle;
    transition:background-color 160ms ease,border-color 160ms ease,color 160ms ease;
}
.frz.frz-premium :is(.frz-button-secondary,.frz-cart-link,.frz-small-button,.frz-quantity-step),
.frz.frz-premium .frz-quantity-control > button.frz-quantity-step,
#cmplz-cookiebanner-container .cmplz-cookiebanner :is(.cmplz-view-preferences,.cmplz-manage-options),
.frz.frz-premium .frz-woo :is(input[type="button"],.actions button,.woocommerce-MyAccount-content a.button,.return-to-shop a.button,.shipping-calculator-form button),
.frz.frz-premium .frz-woo :is(button.show-password-input,button.show-password) {
    --frz-action-bg:var(--frz-control-secondary);
    --frz-action-hover:var(--frz-control-secondary-hover);
    --frz-action-active:#304c3b;
    --frz-action-text:var(--frz-control-text);
    --frz-action-border:var(--frz-control-border);
}
.frz.frz-premium .frz-remove,
.frz.frz-premium .frz-woo a.button.cancel,
.frz.frz-premium .frz-woo :is(a.remove,.button.cancel,input[type="reset"]) {
    --frz-action-bg:#251a17;
    --frz-action-hover:var(--frz-control-danger-hover);
    --frz-action-active:#593126;
    --frz-action-text:var(--frz-control-danger);
    --frz-action-border:var(--frz-control-danger-border);
}
.frz.frz-premium :is(.frz-button,.frz-cart-link,.frz-small-button,.frz-remove,.frz-cookie-settings):visited,
.frz.frz-premium .frz-woo :is(.button,a.remove):visited {
    color:var(--frz-action-text);
}
.frz.frz-premium :is(.frz-button,.frz-cart-link,.frz-small-button,.frz-remove,.frz-cookie-settings,.frz-quantity-step):not(:is(:disabled,[aria-disabled="true"],.disabled)):hover,
.frz.frz-premium .frz-woo :is(button,.button,input[type="submit"],input[type="button"],input[type="reset"],a.remove):not(:is(:disabled,[aria-disabled="true"],.disabled)):hover,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn:not(:disabled):hover,
.frz-premium-mobile-offer .frz-button:not(:is(:disabled,[aria-disabled="true"],.disabled)):hover {
    background:var(--frz-action-hover);
    color:var(--frz-action-text);
    border-color:var(--frz-action-border);
    box-shadow:none;
    text-decoration:none;
    transform:none;
}
.frz.frz-premium :is(.frz-button,.frz-cart-link,.frz-small-button,.frz-remove,.frz-cookie-settings,.frz-quantity-step):not(:is(:disabled,[aria-disabled="true"],.disabled)):active,
.frz.frz-premium .frz-woo :is(button,.button,input[type="submit"],input[type="button"],input[type="reset"],a.remove):not(:is(:disabled,[aria-disabled="true"],.disabled)):active,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn:not(:disabled):active,
.frz-premium-mobile-offer .frz-button:not(:is(:disabled,[aria-disabled="true"],.disabled)):active {
    background:var(--frz-action-active);
    color:var(--frz-action-text);
    transform:none;
}
.frz.frz-premium :is(button,.button,.frz-button,.frz-cart-link,.frz-small-button,.frz-remove,.frz-cookie-settings,input[type="submit"],input[type="button"],input[type="reset"]):is(:disabled,[aria-disabled="true"],.disabled),
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn:disabled,
.frz-premium-mobile-offer .frz-button:is(:disabled,[aria-disabled="true"]) {
    background:#27312b;
    color:#bdc6c0;
    border-color:#66766b;
    box-shadow:none;
    opacity:1;
    cursor:not-allowed;
    transform:none;
}
.frz.frz-premium .frz-cart-link { white-space:normal; }
.frz.frz-premium .frz-buy { align-items:flex-end; }
.frz.frz-premium .frz-buy > label { width:5rem; flex:0 0 5rem; }
.frz.frz-premium .frz-buy .frz-button { flex:1 1 auto; }
.frz.frz-premium .frz-hero-actions .frz-buy .frz-button { flex:0 1 auto; }
.frz.frz-premium .frz-small-button,
.frz.frz-premium .frz-remove { margin-top:.5rem; font-size:.875rem; }
.frz.frz-premium .frz-cart-row form { display:flex; flex-wrap:wrap; align-items:flex-end; gap:.5rem; min-width:0; }
.frz.frz-premium .frz-cart-row form > label { width:5rem; max-width:100%; margin:0; }

/* Quiet footer links retain a generous native button target without a box. */
.frz.frz-premium :is(.frz-cookie-open,.frz-reading-open) {
    display:inline-flex; align-items:center; justify-content:center; gap:.5rem; flex:0 1 auto;
    width:auto; height:auto; min-width:0; max-width:100%; min-height:var(--frz-control-height,48px);
    margin:0; padding:.5rem .375rem; border:0; border-radius:var(--frz-control-radius);
    background:transparent; color:var(--frz-control-text);
    box-shadow:none; font:inherit; font-size:.875rem; line-height:1.5; white-space:normal; overflow-wrap:anywhere; text-decoration:none; cursor:pointer;
    transition:color 160ms ease;
}
.frz.frz-premium :is(.frz-cookie-open,.frz-reading-open):hover {
    background:transparent; color:var(--frz-control-mint); text-decoration:none;
}

/* Preserve vendor visibility for details/save and all unrelated regions. Only
 * current optin optional mode counters an old generated hide-accept module.
 * Future optional-service setup must also regenerate native banner CSS.
 */
body.frz-consent-optional #cmplz-cookiebanner-container .cmplz-cookiebanner.optin .cmplz-accept { display:inline-flex; }
body.frz-consent-necessary #cmplz-cookiebanner-container .cmplz-cookiebanner.optin .cmplz-accept { display:none; }
/* Current-only acceptance uses native Save; the original Save remains unique. */
body:is(.frz-consent-necessary,.frz-consent-optional) #cmplz-cookiebanner-container .cmplz-cookiebanner .frz-consent-current-accept { display:inline-flex; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .frz-consent-back { display:none; }
body:is(.frz-consent-necessary,.frz-consent-optional) #cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-categories-visible .frz-consent-back { display:inline-flex; }
body:is(.frz-consent-necessary,.frz-consent-optional) #cmplz-cookiebanner-container .cmplz-cookiebanner :is(.cmplz-view-preferences,.frz-consent-back) {
    --frz-action-bg:var(--frz-control-secondary);
    --frz-action-hover:var(--frz-control-secondary-hover);
    --frz-action-active:#304c3b;
    --frz-action-text:var(--frz-control-text);
    --frz-action-border:var(--frz-control-border);
    background:var(--frz-action-bg);
    color:var(--frz-action-text);
    border-color:var(--frz-action-border);
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close {
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:var(--frz-icon-target);
    min-height:var(--frz-icon-target);
    border-radius:var(--frz-control-radius);
    color:var(--frz-control-text);
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close:hover { background:var(--frz-control-secondary-hover); }
#cmplz-cookiebanner-container .cmplz-cookiebanner :is(button,a,[role="button"],summary,input):focus { outline-color:var(--frz-control-mint); box-shadow:none; }
#cmplz-cookiebanner-container .cmplz-cookiebanner :is(button,a,[role="button"],input):focus-visible { outline:var(--frz-control-focus); outline-offset:3px; }
#cmplz-cookiebanner-container .cmplz-cookiebanner :is(button,a,[role="button"],summary,input):focus:not(:focus-visible) { outline:none; }
#cmplz-cookiebanner-container .cmplz-cookiebanner a:is(:active,:focus-visible) { color:var(--frz-control-mint); }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-category-toggle:is(:hover,:active) { background:var(--frz-control-secondary-hover); color:var(--frz-control-mint); }

/* Text controls exclude hidden fields, binary choices and action inputs. */
.frz.frz-premium input:where(:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="image"]):not([type="range"])),
.frz.frz-premium .frz-woo input:where(:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="image"]):not([type="range"])),
.frz.frz-premium :is(select,textarea),
.frz.frz-premium .frz-woo :where(.select2-container) .select2-selection {
    width:100%;
    min-width:0;
    max-width:100%;
    min-height:var(--frz-control-height);
    height:auto;
    padding:.6875rem var(--frz-field-inset);
    border:1px solid var(--frz-control-border);
    border-radius:var(--frz-control-radius);
    background:var(--frz-control-surface);
    color:var(--frz-control-text);
    box-shadow:none;
    font:400 1rem/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    color-scheme:dark;
    transition:border-color 160ms ease,background-color 160ms ease;
}
.frz.frz-premium textarea { display:block; min-height:9rem; resize:vertical; }
.frz.frz-premium select { padding-inline-end:2rem; cursor:pointer; }
.frz.frz-premium select :is(option,optgroup) { background:var(--frz-control-surface); color:var(--frz-control-text); }
.frz.frz-premium input::placeholder,
.frz.frz-premium textarea::placeholder { color:var(--frz-control-muted); opacity:1; }
.frz.frz-premium :is(input,select,textarea):where(:hover:not(:disabled):not([readonly])),
.frz.frz-premium .frz-woo :is(input,select,textarea):where(:hover:not(:disabled):not([readonly])) { border-color:#a1b5a8; }
.frz.frz-premium :is(input,select,textarea):disabled {
    background:#202822;
    color:#bdc6c0;
    border-color:#66766b;
    opacity:1;
    cursor:not-allowed;
}
.frz.frz-premium :is(input,textarea)[readonly] { background:#151f18; color:#cbd5ce; }
.frz.frz-premium :is(input,textarea):autofill {
    background:var(--frz-control-surface);
    color:var(--frz-control-text);
    box-shadow:0 0 0 1000px var(--frz-control-surface) inset;
    caret-color:var(--frz-control-text);
}
.frz.frz-premium :is(input,textarea):-webkit-autofill {
    -webkit-text-fill-color:var(--frz-control-text);
    -webkit-box-shadow:0 0 0 1000px var(--frz-control-surface) inset;
    caret-color:var(--frz-control-text);
}
.frz.frz-premium :is(input,textarea,select):is(:user-invalid,[aria-invalid="true"]),
.frz.frz-premium .woocommerce-invalid :is(input,select,textarea,.select2-selection) { border-color:var(--frz-control-danger); }
.frz.frz-premium :is(input[type="checkbox"],input[type="radio"]) {
    width:20px;
    height:20px;
    min-width:20px;
    min-height:20px;
    margin:.1875rem 0 0;
    padding:0;
    accent-color:var(--frz-control-mint);
    flex:none;
    cursor:pointer;
}
.frz.frz-premium input[type="number"] { text-align:start; }
.frz.frz-premium input[type="number"]::-webkit-inner-spin-button { opacity:1; cursor:pointer; }
.frz.frz-premium .quantity .qty { width:5.25rem; max-width:100%; }
/* Compact numeric role: one48px field, explicit40x24px native-step actions. */
.frz.frz-premium .frz-quantity-control { display:grid; grid-template-columns:minmax(0,1fr) 40px; grid-template-rows:24px 24px; align-items:stretch; gap:0; width:120px; height:var(--frz-control-height); max-width:100%; min-width:0; border-radius:var(--frz-control-radius); }
.frz.frz-premium .frz-quantity-control[hidden] { display:none; }
.frz.frz-premium .frz-quantity-control.frz-quantity-fallback { grid-template-columns:minmax(0,1fr); grid-template-rows:var(--frz-control-height); }
.frz.frz-premium .frz-quantity-control > .frz-quantity-step[hidden] { display:none; }
.frz.frz-premium .frz-quantity-control > input,
.frz.frz-premium .quantity .frz-quantity-control > input { grid-column:1; grid-row:1 / span 2; width:100%; min-width:0; height:var(--frz-control-height); margin:0; padding:0 var(--frz-field-inset); border-right-width:0; border-radius:var(--frz-control-radius) 0 0 var(--frz-control-radius); text-align:start; line-height:normal; }
.frz.frz-premium .frz-quantity-control > input[type="number"] { appearance:textfield; }
.frz.frz-premium .frz-quantity-control.frz-quantity-fallback > input { grid-row:1; border-right-width:1px; border-radius:var(--frz-control-radius); }
.frz.frz-premium .frz-quantity-control > input::-webkit-inner-spin-button,
.frz.frz-premium .frz-quantity-control > input::-webkit-outer-spin-button { appearance:none; margin:0; }
.frz.frz-premium .frz-quantity-control > button.frz-quantity-step { grid-column:2; width:40px; min-width:40px; height:24px; min-height:24px; margin:0; padding:0; line-height:1; }
.frz.frz-premium .frz-quantity-control > button[data-frz-quantity-action="plus"] { grid-row:1; border-radius:0 var(--frz-control-radius) 0 0; }
.frz.frz-premium .frz-quantity-control > button[data-frz-quantity-action="minus"] { grid-row:2; border-radius:0 0 var(--frz-control-radius) 0; }
.frz.frz-premium .frz-quantity-chevron { display:block; width:6px; height:6px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); }
.frz.frz-premium [data-frz-quantity-action="plus"] .frz-quantity-chevron { transform:rotate(225deg); }
.frz.frz-premium .quantity:has(> .frz-quantity-control) { width:120px; max-width:100%; }

/* Native details stay native; only shipping/FAQ receive this disclosure role. */
.frz.frz-premium :is(.frz-shipping-details,.frz-faq details) > summary { display:flex; align-items:center; gap:1rem; box-sizing:border-box; min-height:var(--frz-control-height); padding:.75rem 0; list-style:none; color:var(--frz-control-text); font-size:1rem; line-height:1.5; cursor:pointer; -webkit-tap-highlight-color:transparent; }
.frz.frz-premium :is(.frz-shipping-details,.frz-faq details) > summary::marker { content:""; }
.frz.frz-premium :is(.frz-shipping-details,.frz-faq details) > summary::-webkit-details-marker { display:none; }
.frz.frz-premium :is(.frz-shipping-details,.frz-faq details) > summary::after { content:""; flex:none; width:.5rem; height:.5rem; margin-inline:.25rem .5rem; margin-inline-start:auto; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); }
.frz.frz-premium :is(.frz-shipping-details,.frz-faq details)[open] > summary,
.frz.frz-premium :is(.frz-shipping-details,.frz-faq details) > summary:active { color:var(--frz-control-mint); }
.frz.frz-premium :is(.frz-shipping-details,.frz-faq details)[open] > summary::after { transform:rotate(225deg); }
/* Shipping table owns its complete geometry/skin here, including parent stripes. */
.frz.frz-premium .frz-shipping-table table { width:100%; margin:0; border:1px solid var(--line); border-radius:var(--frz-control-radius); border-collapse:separate; border-spacing:0; overflow:hidden; background:#121714; font-size:.9375rem; line-height:1.5; }
.frz.frz-premium .frz-shipping-table table:not(.has-background) :is(thead,tbody,tfoot) tr :is(th,td) { padding:var(--frz-cell-block) var(--frz-cell-inline); border:0; border-bottom:1px solid var(--line); background:#121714; color:var(--frz-control-text); text-align:start; vertical-align:middle; }
.frz.frz-premium .frz-shipping-table table th { font-size:.875rem; font-weight:600; overflow-wrap:normal; }
.frz.frz-premium .frz-shipping-table table:not(.has-background) :is(thead,tbody,tfoot) tr :is(th,td):last-child { text-align:end; }
.frz.frz-premium .frz-shipping-table table td { font-variant-numeric:tabular-nums; white-space:nowrap; }
.frz.frz-premium .frz-shipping-table table > :last-child > tr:last-child > :is(th,td) { border-bottom:0; }
@media(max-width:380px) { .frz.frz-premium .frz-shipping-table table { font-size:.875rem; } }
.frz.frz-premium input[type="file"]::file-selector-button {
    min-height:var(--frz-icon-target);
    margin-inline-end:.75rem;
    padding:.5rem .75rem;
    border:1px solid var(--frz-control-border);
    border-radius:var(--frz-control-radius);
    background:var(--frz-control-secondary);
    color:var(--frz-control-text);
    font:inherit;
    cursor:pointer;
}

/* A single visible keyboard ring, with no inherited purple pointer outline. */
.frz.frz-premium :is(a,button,input,select,textarea,summary,[tabindex]):focus,
.frz-premium-mobile-offer .frz-button:focus { outline-color:var(--frz-control-mint); box-shadow:none; }
.frz.frz-premium :is(a,button,input,select,textarea,summary,[tabindex]):focus:not(:focus-visible),
.frz-premium-mobile-offer .frz-button:focus:not(:focus-visible) { outline:none; }
.frz.frz-premium :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible,
.frz-premium-mobile-offer .frz-button:focus-visible { outline:var(--frz-control-focus); outline-offset:3px; }

/* Native password visibility keeps its own label, pressed state and behavior. */
.frz.frz-premium .frz-woo .password-input { display:block; position:relative; }
.frz.frz-premium .frz-woo .password-input input { padding-inline-end:calc(var(--frz-icon-target) + .75rem); }
.frz.frz-premium .frz-woo .password-input :is(button.show-password-input,button.show-password) {
    position:absolute;
    inset-block-start:calc(50% - var(--frz-icon-target) / 2);
    inset-inline-end:2px;
    inset-block-end:auto;
    width:var(--frz-icon-target);
    height:var(--frz-icon-target);
    min-height:var(--frz-icon-target);
    margin:0;
    padding:.625rem;
    border:0;
    border-radius:var(--frz-control-radius);
    font-size:1.125rem;
    line-height:1;
    transform:none;
}
.frz.frz-premium .frz-woo :is(button.show-password-input,button.show-password)::before,
.frz.frz-premium .frz-woo :is(button.show-password-input,button.show-password)::after {
    content:"";
    display:block;
    position:absolute;
    top:50%;
    left:50%;
    margin:0;
    color:inherit;
    transform:translate(-50%,-50%);
}
.frz.frz-premium .frz-woo :is(button.show-password-input,button.show-password)::before { width:20px; height:13px; border:1.5px solid currentColor; border-radius:70% / 90%; }
.frz.frz-premium .frz-woo :is(button.show-password-input,button.show-password)::after { width:5px; height:5px; border-radius:50%; background:currentColor; }
.frz.frz-premium .frz-woo :is(button.show-password-input,button.show-password).display-password::after { width:23px; height:2px; border-radius:0; transform:translate(-50%,-50%) rotate(-45deg); }
.frz.frz-premium .frz-woo .woocommerce-password-strength {
    margin-top:.75rem;
    padding:.625rem .75rem;
    border:1px solid var(--frz-control-border);
    border-radius:var(--frz-control-radius);
    background:#18221c;
    color:var(--frz-control-text);
    text-align:start;
}
.frz.frz-premium .frz-woo .woocommerce-password-strength:is(.short,.bad) { border-color:var(--frz-control-danger); background:#34211c; color:#ffd4ce; }
.frz.frz-premium .frz-woo .woocommerce-password-strength.good { border-color:#d6bd7e; background:#302a19; color:#f4dea4; }
.frz.frz-premium .frz-woo .woocommerce-password-strength.strong { border-color:var(--frz-control-mint); background:#1c3024; color:#baf1d1; }
.frz.frz-premium .frz-woo .woocommerce-password-hint { display:block; margin-top:.5rem; color:#c3cec7; font-size:.875rem; line-height:1.6; }

/* SelectWoo's actual field and its body-appended dropdown share dark states. */
.frz.frz-premium .frz-woo .select2-container { max-width:100%; }
.frz.frz-premium .frz-woo .select2-container .select2-selection { display:flex; align-items:center; padding:.625rem 2.25rem .625rem var(--frz-field-inset); }
.frz.frz-premium .frz-woo .select2-container .select2-selection__rendered { padding:0; color:var(--frz-control-text); line-height:1.5; white-space:normal; overflow-wrap:anywhere; }
.frz.frz-premium .frz-woo .select2-container .select2-selection__placeholder { color:var(--frz-control-muted); }
.frz.frz-premium .frz-woo .select2-container .select2-selection__arrow { top:0; right:.5rem; height:100%; }
.frz.frz-premium .frz-woo .select2-container .select2-selection__arrow b { border-top-color:#c3cec7; }
.frz.frz-premium .frz-woo .select2-container--open .select2-selection,
.frz.frz-premium .frz-woo .select2-container--focus .select2-selection { outline:var(--frz-control-focus); outline-offset:3px; }
body:has(.frz.frz-premium) > .select2-container .select2-dropdown {
    border:1px solid var(--frz-control-border);
    border-radius:var(--frz-control-radius);
    background:var(--frz-control-surface);
    color:var(--frz-control-text);
    font:400 1rem/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    color-scheme:dark;
    overflow:hidden;
}
body:has(.frz.frz-premium) > .select2-container .select2-search__field {
    min-height:var(--frz-control-height);
    border:1px solid var(--frz-control-border);
    border-radius:var(--frz-control-radius);
    background:var(--frz-control-secondary);
    color:var(--frz-control-text);
    font:inherit;
    box-shadow:none;
}
body:has(.frz.frz-premium) > .select2-container .select2-search__field:focus { outline:var(--frz-control-focus); outline-offset:1px; }
body:has(.frz.frz-premium) > .select2-container .select2-results__option { min-height:var(--frz-icon-target); padding:.625rem .75rem; background:var(--frz-control-surface); color:var(--frz-control-text); overflow-wrap:anywhere; }
body:has(.frz.frz-premium) > .select2-container .select2-results__option:is([aria-selected="true"],[data-selected="true"]) { background:var(--frz-control-secondary-hover); color:var(--frz-control-text); }
body:has(.frz.frz-premium) > .select2-container .select2-results__option--highlighted:is([aria-selected],[data-selected]) { background:var(--frz-control-mint); color:var(--frz-control-ink); }
body:has(.frz.frz-premium) > .select2-container .select2-results__option[aria-disabled="true"] { color:var(--frz-control-muted); cursor:not-allowed; }

.frz.frz-premium .frz-woo .select2-container--disabled .select2-selection { background:#202822; color:#bdc6c0; border-color:#66766b; cursor:not-allowed; }
.frz.frz-premium .frz-woo .select2-container--disabled .select2-selection__rendered { color:#bdc6c0; }
.frz.frz-premium .frz-woo .woocommerce-invalid .select2-selection { border-color:var(--frz-control-danger); }

/* Native account navigation, content and forms; endpoints and fields stay native. */
.frz.frz-premium .frz-woo .woocommerce-MyAccount-navigation { min-width:0; }
.frz.frz-premium .frz-woo .woocommerce-MyAccount-navigation ul { display:grid; gap:.5rem; margin:0; padding:0; border:0; list-style:none; }
.frz.frz-premium .frz-woo .woocommerce-MyAccount-navigation li { margin:0; padding:0; border:0; }
.frz.frz-premium .frz-woo .woocommerce-MyAccount-navigation a {
    display:flex;
    align-items:center;
    gap:.75rem;
    min-height:var(--frz-control-height);
    padding:.75rem 1rem;
    border:1px solid #46534b;
    border-radius:var(--frz-control-radius);
    background:var(--frz-control-secondary);
    color:#d6e1da;
    font-size:.9375rem;
    font-weight:500;
    line-height:1.5;
    text-decoration:none;
    overflow-wrap:anywhere;
    transition:background-color 160ms ease,border-color 160ms ease,color 160ms ease;
}
/* Native text labels are sufficient; retire the inconsistent parent icon font. */
.frz.frz-premium .frz-woo .woocommerce-MyAccount-navigation a::before { display:none; }
.frz.frz-premium .frz-woo .woocommerce-MyAccount-navigation a:hover { background:var(--frz-control-secondary-hover); border-color:var(--frz-control-border); color:#fff; text-decoration:none; }
.frz.frz-premium .frz-woo .woocommerce-MyAccount-navigation .is-active a { background:#20382b; border-color:var(--frz-control-mint); color:#c7f3d9; }
.frz.frz-premium .frz-woo .woocommerce-MyAccount-content { min-width:0; overflow-wrap:anywhere; }
.frz.frz-premium .frz-woo .woocommerce-MyAccount-content a:not(.button):not(.remove),
.frz.frz-premium .frz-woo :is(.woocommerce-info,.woocommerce-message,.woocommerce-error) a:not(.button) { color:#a7edcb; text-decoration:underline; text-underline-offset:.2em; text-decoration-thickness:1px; }
.frz.frz-premium .frz-woo .woocommerce-MyAccount-content a:not(.button):not(.remove):not(:is(:disabled,[aria-disabled="true"],.disabled)):hover,
.frz.frz-premium .frz-woo :is(.woocommerce-info,.woocommerce-message,.woocommerce-error) a:not(.button):hover { color:#e0ffec; text-decoration-thickness:2px; }
.frz.frz-premium .frz-woo :is(.woocommerce-EditAccountForm,.woocommerce-address-fields,.woocommerce-form-login,.woocommerce-form-register,.lost_reset_password) { min-width:0; }
.frz.frz-premium .frz-woo .woocommerce-EditAccountForm,
.frz.frz-premium .frz-woo .woocommerce-MyAccount-content > form { padding:1.5rem; border:1px solid var(--line); border-radius:1rem; background:#121714; }
.frz.frz-premium .frz-woo .woocommerce-EditAccountForm fieldset {
    min-width:0;
    min-inline-size:0;
    margin:1.5rem 0;
    padding:1.25rem;
    border:1px solid #46534b;
    border-radius:1rem;
    background:#0e1410;
}
.frz.frz-premium .frz-woo .woocommerce-EditAccountForm legend { width:auto; margin:0; padding:0 .5rem; border:0; background:transparent; color:var(--frz-control-text); font-size:1.125rem; font-weight:600; }
.frz.frz-premium .frz-woo .form-row { min-width:0; margin-bottom:1.25rem; }
.frz.frz-premium .frz-woo .form-row > label { color:#d0dbd4; }
.frz.frz-premium .frz-woo .form-row label .required { color:#ffb4ab; }
.frz.frz-premium .frz-woo label :is(a,.woocommerce-privacy-policy-link) { color:#a7edcb; text-decoration:underline; text-underline-offset:.2em; }
.frz.frz-premium .frz-woo .woocommerce-Addresses { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }
.frz.frz-premium .frz-woo .woocommerce-Addresses::before,
.frz.frz-premium .frz-woo .woocommerce-Addresses::after { display:none; }
.frz.frz-premium .frz-woo .woocommerce-Addresses .woocommerce-Address { float:none; width:auto; min-width:0; margin:0; padding:1.25rem; border:1px solid var(--line); border-radius:1rem; background:#121714; }
.frz.frz-premium .frz-woo .woocommerce-Address .title { display:flex; align-items:baseline; justify-content:space-between; gap:.75rem; flex-wrap:wrap; }
.frz.frz-premium .frz-woo .woocommerce-Address .title::before,
.frz.frz-premium .frz-woo .woocommerce-Address .title::after { display:none; }
.frz.frz-premium .frz-woo .woocommerce-Address .title h2 { min-width:0; margin:0 0 .75rem; font-size:1.25rem; }
.frz.frz-premium .frz-woo .woocommerce-Address .title a.edit { display:inline-flex; align-items:center; width:auto; height:auto; min-height:var(--frz-icon-target); margin:0; padding:.375rem .5rem; border-radius:var(--frz-control-radius); font-size:.875rem; text-indent:0; }
.frz.frz-premium .frz-woo .woocommerce-Address .title a.edit::before { display:none; }
.frz.frz-premium .frz-woo .woocommerce-Address address { margin:0; color:#c3cec7; font-style:normal; line-height:1.8; }
.frz.frz-premium .frz-woo .woocommerce-MyAccount-content table { width:100%; table-layout:auto; border-collapse:separate; border-spacing:0; border:1px solid var(--line); border-radius:1rem; overflow:hidden; }
.frz.frz-premium .frz-woo .woocommerce-MyAccount-content table :is(th,td) { padding:1rem; border-color:var(--line); background:#121714; color:var(--frz-control-text); vertical-align:middle; }
.frz.frz-premium .frz-woo .woocommerce-MyAccount-content table thead th { background:#18221c; font-weight:600; }
.frz.frz-premium .frz-woo .woocommerce-orders-table__cell-order-actions .button { margin:.25rem .25rem .25rem 0; }
.frz.frz-premium .frz-woo :is(.woocommerce-info,.woocommerce-message,.woocommerce-error) { border-radius:var(--frz-control-radius); line-height:1.7; overflow-wrap:anywhere; }
.frz.frz-premium .frz-woo .woocommerce-notices-wrapper { margin:0; padding:0; }
.frz.frz-premium .frz-woo .woocommerce-notices-wrapper:has(.woocommerce-error,.woocommerce-info,.woocommerce-message),
.frz.frz-premium .frz-woo .woocommerce > :is(.woocommerce-error,.woocommerce-info,.woocommerce-message) { margin-block:0 1.5rem; }
.frz.frz-premium .frz-woo .woocommerce-notices-wrapper :is(.woocommerce-error,.woocommerce-info,.woocommerce-message) { margin-block:0; }
.frz.frz-premium .frz-woo .woocommerce-notices-wrapper :is(.woocommerce-error,.woocommerce-info,.woocommerce-message) + :is(.woocommerce-error,.woocommerce-info,.woocommerce-message) { margin-top:.75rem; }
.frz.frz-premium .frz-woo #customer_login { margin-top:0; }
/* At narrow widths text keeps the full line; enlarged icons do not reserve a column. */
@media (max-width:480px) {
    .frz.frz-premium .frz-woo #customer_login > :is(.col-1,.col-2) { padding:min(1.25rem,20px); }
    .frz.frz-premium .frz-woo #customer_login h2 { display:block; }
    .frz.frz-premium .frz-woo #customer_login h2 .frz-field-icon { margin-inline-end:.4em; vertical-align:-.15em; }
}
.frz.frz-premium .frz-woo :is(.woocommerce-info,.woocommerce-message) { background:#20382b; color:#e1efe6; }
.frz.frz-premium .frz-woo .woocommerce-error { background:#522922; color:#fff0e9; }

/* Native × removal remains the same link, with a clear destructive target. */
.frz.frz-premium .frz-woo a.remove {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:var(--frz-icon-target);
    min-width:var(--frz-icon-target);
    height:var(--frz-icon-target);
    min-height:var(--frz-icon-target);
    margin:0;
    padding:.5rem;
    border:1px solid var(--frz-action-border);
    border-radius:var(--frz-control-radius);
    background:var(--frz-action-bg);
    color:var(--frz-action-text);
    font-size:1.5rem;
    line-height:1;
    text-indent:0;
    text-decoration:none;
}
.frz.frz-premium .frz-woo a.remove::before { display:none; }

@media(max-width:760px) {
    .frz.frz-premium .frz-woo .woocommerce-MyAccount-navigation { margin-bottom:1.5rem; }
    .frz.frz-premium .frz-woo .woocommerce-MyAccount-navigation ul { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .frz.frz-premium .frz-woo .woocommerce-MyAccount-navigation a { height:100%; padding:.75rem; }
    .frz.frz-premium .frz-woo .woocommerce-Addresses { grid-template-columns:minmax(0,1fr); }
    .frz.frz-premium .frz-woo .woocommerce-EditAccountForm,
    .frz.frz-premium .frz-woo .woocommerce-MyAccount-content > form { padding:1rem; }
    .frz.frz-premium .frz-woo .woocommerce-EditAccountForm fieldset { padding:1rem; }
    .frz.frz-premium .frz-woo .form-row-first,
    .frz.frz-premium .frz-woo .form-row-last { float:none; width:100%; margin-inline:0; }
    .frz.frz-premium .frz-woo .woocommerce-MyAccount-content table :is(th,td) { padding:.75rem; }
    .frz.frz-premium .frz-woo table.shop_table_responsive tr td { min-width:0; }
    .frz.frz-premium .frz-woo table.shop_table_responsive tr td::before { max-width:50%; white-space:normal; overflow-wrap:anywhere; }
}
@media(max-width:380px) {
    .frz.frz-premium .frz-woo .woocommerce-MyAccount-navigation ul { grid-template-columns:minmax(0,1fr); }
    .frz.frz-premium .frz-buy { align-items:stretch; }
    .frz.frz-premium .frz-buy > label { flex-basis:5rem; }
}
@media(prefers-reduced-motion:reduce) {
    .frz.frz-premium :is(a,button,input,select,textarea),
    .frz-premium-mobile-offer .frz-button { transition:none; }
}

/* One shared H1 accent owner, also loaded on legal pages. */
.frz :is(.frz-editorial-header,.frz-legal-head) h1 { color:var(--ink,#f4f6f4); -webkit-text-fill-color:currentColor; }
.frz :is(.frz-editorial-header,.frz-legal-head) h1 .frz-editorial-heading__accent { display:inline; font:inherit; letter-spacing:inherit; color:var(--ink,#f4f6f4); -webkit-text-fill-color:currentColor; }
/* Shared editorial/legal tail accent: at most six letters; glyphs never move. */
@supports (background-clip:text) or (-webkit-background-clip:text) {
  .frz :is(.frz-editorial-header,.frz-legal-head) h1 .frz-editorial-heading__accent {
    background-image:linear-gradient(90deg,var(--ink,#f4f6f4),var(--mint,#85e2b5));
    background-size:100% 100%;
    background-position:0% 50%;
    background-repeat:no-repeat;
    background-clip:text;
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
  }
  @keyframes frz-editorial-heading-sheen {
    from { background-size:200% 100%; background-position:100% 50%; }
    to { background-size:100% 100%; background-position:0% 50%; }
  }
  @media screen and (prefers-reduced-motion:no-preference) and (prefers-contrast:no-preference) and (forced-colors:none) {
    html:not([data-frz-reading-motion="true"]):not([data-frz-reading-contrast="true"]) .frz :is(.frz-editorial-header,.frz-legal-head) h1 .frz-editorial-heading__accent {
      animation:frz-editorial-heading-sheen 4.4s cubic-bezier(0.77,0,0.175,1) .15s infinite alternate both;
    }
  }
}
/* Contrast/system overrides take precedence over the decorative text fill. */
html[data-frz-reading-contrast="true"] .frz :is(.frz-editorial-header,.frz-legal-head) h1,
html[data-frz-reading-contrast="true"] .frz :is(.frz-editorial-header,.frz-legal-head) h1 .frz-editorial-heading__accent {
  color:var(--ink,#f4f6f4);
  -webkit-text-fill-color:currentColor;
  background-image:none;
  animation:none;
}
@media (prefers-contrast:more), (forced-colors:active), print {
  .frz :is(.frz-editorial-header,.frz-legal-head) :is(h1,.frz-editorial-heading__accent) {
    color:var(--ink,#f4f6f4) !important;
    -webkit-text-fill-color:currentColor !important;
    background-image:none !important;
    animation:none !important;
  }
}
@media (forced-colors:active), print {
  .frz :is(.frz-editorial-header,.frz-legal-head) :is(h1,.frz-editorial-heading__accent) { color:CanvasText !important; background-color:Canvas; }
}
.frz :is(.frz-editorial-header,.frz-legal-head) h1::selection,.frz :is(.frz-editorial-header,.frz-legal-head) h1 .frz-editorial-heading__accent::selection { color:HighlightText; background-color:Highlight; -webkit-text-fill-color:currentColor; }
