body.sf-theme-light {
  background:var(--sf-bg);
  color:var(--sf-text);
}

body.sf-theme-light .sf-frontend-shell {
  background:radial-gradient(circle at top left, color-mix(in srgb, var(--sf-brand) 12%, transparent), transparent 28%),
    radial-gradient(circle at top right, color-mix(in srgb, var(--sf-bg) 68%, transparent), transparent 26%),
    linear-gradient(180deg, var(--sf-bg) 0%, var(--sf-bg) 100%);
}

body.sf-theme-light .sf-frontend-header {
  color:var(--sf-text);
  background:linear-gradient(180deg, color-mix(in srgb, var(--sf-surface) 96%, transparent), color-mix(in srgb, var(--sf-surface) 94%, transparent)),
    var(--sf-frontend-header-bg, var(--sf-surface));
  border-bottom-color:color-mix(in srgb, var(--sf-border) 18%, transparent);
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
}

body.sf-theme-light .sf-frontend-header__brand,
body.sf-theme-light .sf-frontend-header__action {
  color:var(--sf-text);
  background:color-mix(in srgb, var(--sf-surface) 90%, transparent);
  border-color:color-mix(in srgb, var(--sf-border) 20%, transparent);
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.08);
}

body.sf-theme-light .sf-frontend-header__brand:hover,
body.sf-theme-light .sf-frontend-header__brand:focus-visible,
body.sf-theme-light .sf-frontend-header__action:hover,
body.sf-theme-light .sf-frontend-header__action:focus-visible {
  color:var(--sf-brand);
  background:color-mix(in srgb, var(--sf-brand) 8%, transparent);
  border-color:color-mix(in srgb, var(--sf-focus-ring) 24%, transparent);
  box-shadow: 0 18px 34px color-mix(in srgb, var(--sf-brand) 12.0%, transparent);
}

@media (max-width: 900px) {
  body.sf-theme-light .sf-frontend-header {
    background:transparent;
    border-bottom:0;
    box-shadow:none;
    backdrop-filter:none;
  }

  body.sf-theme-light .sf-frontend-header::before {
    background:linear-gradient(180deg, color-mix(in srgb, var(--sf-surface) 96%, transparent), color-mix(in srgb, var(--sf-surface) 94%, transparent)),
      var(--sf-frontend-header-bg, var(--sf-surface));
    border-bottom-color:color-mix(in srgb, var(--sf-border) 18%, transparent);
    box-shadow:0 18px 40px rgba(15, 23, 42, 0.08);
  }

  body.sf-theme-light .sf-frontend-header__brand {
    background:var(--sf-surface);
  }

  body.sf-theme-light .sf-frontend-header__brand:hover,
  body.sf-theme-light .sf-frontend-header__brand:focus-visible {
    background:color-mix(in srgb, var(--sf-surface) 92%, var(--sf-brand) 8%);
  }
}

body.sf-theme-light .sf-frontend-footer {
  color:var(--sf-muted);
  background:linear-gradient(180deg, color-mix(in srgb, var(--sf-surface) 86%, transparent), color-mix(in srgb, var(--sf-surface) 92%, transparent)),
    var(--sf-frontend-footer-bg, var(--sf-surface));
  border-top-color:color-mix(in srgb, var(--sf-border) 18%, transparent);
}

body.sf-theme-light .woocommerce-message,
body.sf-theme-light .woocommerce-info,
body.sf-theme-light .woocommerce-error {
  color:var(--sf-text);
}

body.sf-theme-light .sf-store-review-shortcode-card,
body.sf-theme-light .sf-product-review-shortcode-card {
  border-color:color-mix(in srgb, var(--sf-border) 20%, transparent);
  background:color-mix(in srgb, var(--sf-surface) 92%, transparent);
  box-shadow: 0 18px 36px rgba(15, 23, 42, 0.08);
}

body.sf-theme-light .sf-store-review-shortcode-empty {
  color:var(--sf-muted);
}

body.sf-theme-light.sf-page-home .sf-frontend-shell {
  background:radial-gradient(circle at top left, color-mix(in srgb, var(--sf-brand) 14%, transparent), transparent 30%),
    radial-gradient(circle at top right, color-mix(in srgb, var(--sf-bg) 70%, transparent), transparent 22%),
    linear-gradient(180deg, var(--sf-bg) 0%, var(--sf-bg) 100%);
}

body.sf-theme-light .sf-home-page {
  --sf-home-surface:var(--sf-surface);
  --sf-home-surface-strong:var(--sf-surface);
  --sf-home-border:var(--sf-border);
  --sf-home-text:var(--sf-text);
  --sf-home-muted:var(--sf-muted);
  --sf-home-accent:var(--sf-brand);
  background:radial-gradient(circle at top left, color-mix(in srgb, var(--sf-brand) 14%, transparent), transparent 28%),
    radial-gradient(circle at top right, color-mix(in srgb, var(--sf-bg) 82%, transparent), transparent 24%),
    linear-gradient(180deg, var(--sf-bg) 0%, var(--sf-bg) 100%);
  color: var(--sf-home-text);
}

body.sf-theme-light .sf-home-page .sf-home-hero,
body.sf-theme-light .sf-home-page .sf-home-loyalty,
body.sf-theme-light .sf-home-page .sf-home-campaign,
body.sf-theme-light .sf-home-page .sf-home-section,
body.sf-theme-light .sf-home-page .sf-home-live-marquee,
body.sf-theme-light .sf-home-page .sf-home-live-hero,
body.sf-theme-light .sf-home-page .sf-home-live-banner,
body.sf-theme-light .sf-home-page .sf-home-live-section,
body.sf-theme-light .sf-home-page .sf-home-live-trust,
body.sf-theme-light .sf-home-page .sf-store-review-form-shell {
  border-color: var(--sf-home-border);
  background: var(--sf-home-surface);
  box-shadow: 0 24px 54px rgba(15, 23, 42, 0.1);
}

body.sf-theme-light .sf-home-page .sf-home-button {
  color:var(--sf-text);
}

body.sf-theme-light .sf-home-page .sf-home-live-reviews-summary strong,
body.sf-theme-light .sf-home-page .sf-store-review-form-shell__head h3,
body.sf-theme-light .sf-home-page .sf-store-review-form__field label {
  color:var(--sf-text);
}

body.sf-theme-light .sf-home-page .sf-home-live-reviews-summary span,
body.sf-theme-light .sf-home-page .sf-home-live-review-card__meta-stack small,
body.sf-theme-light .sf-home-page .sf-store-review-form-shell__head p,
body.sf-theme-light .sf-home-page .sf-store-review-form__notice {
  color:var(--sf-muted);
}

body.sf-theme-light .sf-home-page .sf-store-review-form__star {
  border-color:color-mix(in srgb, var(--sf-border) 18%, transparent);
  background:color-mix(in srgb, var(--sf-surface) 96%, transparent);
  color:var(--sf-brand);
}

body.sf-theme-light .sf-home-page .sf-store-review-form__star:hover,
body.sf-theme-light .sf-home-page .sf-store-review-form__star:focus-visible,
body.sf-theme-light .sf-home-page .sf-store-review-form__star.is-active {
  color:var(--sf-text);
  background:color-mix(in srgb, var(--sf-brand-soft) 8%, transparent);
  border-color:color-mix(in srgb, var(--sf-focus-ring) 24%, transparent);
}

body.sf-theme-light .sf-home-page .sf-store-review-form__field input,
body.sf-theme-light .sf-home-page .sf-store-review-form__field textarea {
  border-color:color-mix(in srgb, var(--sf-border) 20%, transparent);
  background:color-mix(in srgb, var(--sf-surface) 98%, transparent);
  color:var(--sf-text);
}

body.sf-theme-light .sf-home-page .sf-store-review-form__field input::placeholder,
body.sf-theme-light .sf-home-page .sf-store-review-form__field textarea::placeholder {
  color:var(--sf-muted);
}

body.sf-theme-light.sf-page-menu .sf-frontend-shell {
  background:radial-gradient(circle at top left, color-mix(in srgb, var(--sf-brand) 12%, transparent), transparent 28%),
    linear-gradient(180deg, var(--sf-bg) 0%, var(--sf-bg) 100%);
}

body.sf-theme-light .sf-menu-outer {
  --sf-menu-bg:var(--sf-bg);
  --sf-menu-panel:var(--sf-surface);
  --sf-menu-panel-2:var(--sf-surface-alt);
  --sf-menu-border:var(--sf-border);
  --sf-menu-shadow: 0 24px 60px rgba(15, 23, 42, 0.1);
  --sf-menu-shadow-soft: 0 16px 34px rgba(15, 23, 42, 0.08);
  --sf-menu-text:var(--sf-text);
  --sf-menu-muted:var(--sf-muted);
  --sf-menu-accent:var(--sf-brand);
  --sf-menu-accent-soft:var(--sf-brand-soft);
  color: var(--sf-menu-text);
}

body.sf-theme-light .sf-menu__search,
body.sf-theme-light .sf-card {
  border-color: var(--sf-menu-border);
  background:linear-gradient(180deg, color-mix(in srgb, var(--sf-surface) 84%, transparent), color-mix(in srgb, var(--sf-surface) 92%, transparent)),
    var(--sf-menu-panel);
  box-shadow: var(--sf-menu-shadow-soft);
}

body.sf-theme-light .sf-card {
  box-shadow: var(--sf-menu-shadow);
}

body.sf-theme-light .sf-menu__search-input::placeholder,
body.sf-theme-light .sf-card__excerpt {
  color:var(--sf-muted);
}

body.sf-theme-light .sf-card__add {
  color:var(--sf-brand-contrast);
}

body.sf-theme-light .sf-page-account .sf-frontend-shell {
  background:radial-gradient(circle at top left, color-mix(in srgb, var(--sf-brand) 12%, transparent), transparent 28%),
    linear-gradient(180deg, var(--sf-bg) 0%, var(--sf-bg) 100%);
}

body.sf-theme-light .sf-account-page {
  --sf-account-surface:var(--sf-surface);
  --sf-account-card:var(--sf-surface);
  --sf-account-border:var(--sf-border);
  --sf-account-text:var(--sf-text);
  --sf-account-muted:var(--sf-muted);
  --sf-account-accent:var(--sf-brand);
  background:radial-gradient(circle at top left, color-mix(in srgb, var(--sf-brand) 12%, transparent), transparent 28%),
    linear-gradient(180deg, var(--sf-bg) 0%, var(--sf-bg) 100%);
  color: var(--sf-account-text);
}

body.sf-theme-light .sf-account-page .sf-account-hero,
body.sf-theme-light .sf-account-page .sf-account-main-card,
body.sf-theme-light .sf-account-page .woocommerce-MyAccount-navigation,
body.sf-theme-light .sf-account-page .woocommerce-MyAccount-content,
body.sf-theme-light .sf-account-page table.shop_table,
body.sf-theme-light .sf-account-page fieldset {
  border-color: var(--sf-account-border);
  background: var(--sf-account-surface);
  box-shadow: 0 22px 48px rgba(15, 23, 42, 0.08);
  color: var(--sf-account-text);
}



body.sf-theme-light .sf-account-page .woocommerce-MyAccount-content,
body.sf-theme-light .sf-account-page table.shop_table td,
body.sf-theme-light .sf-account-page table.shop_table th {
  color:var(--sf-text);
}

body.sf-theme-light .sf-account-page .sf-account-hero__copy p,
body.sf-theme-light .sf-account-page .woocommerce-MyAccount-navigation-link a,
body.sf-theme-light .sf-account-page .woocommerce-MyAccount-content p,
body.sf-theme-light .sf-account-page .woocommerce-MyAccount-content small {
  color:var(--sf-muted);
}

body.sf-theme-light .sf-account-page input,
body.sf-theme-light .sf-account-page select,
body.sf-theme-light .sf-account-page textarea {
  border-color:color-mix(in srgb, var(--sf-border) 20%, transparent);
  background:color-mix(in srgb, var(--sf-surface) 98%, transparent);
  color:var(--sf-text);
}

body.sf-theme-light .sf-page-cart .sf-frontend-shell {
  background:radial-gradient(circle at top left, color-mix(in srgb, var(--sf-brand) 12%, transparent), transparent 28%),
    linear-gradient(180deg, var(--sf-bg) 0%, var(--sf-bg) 100%);
}

body.sf-theme-light .sf-cart-page {
  --sf-cart-surface:var(--sf-surface);
  --sf-cart-card:var(--sf-surface);
  --sf-cart-border:var(--sf-border);
  --sf-cart-text:var(--sf-text);
  --sf-cart-muted:var(--sf-muted);
  --sf-cart-accent:var(--sf-brand);
  background:radial-gradient(circle at top left, color-mix(in srgb, var(--sf-brand) 12%, transparent), transparent 28%),
    linear-gradient(180deg, var(--sf-bg) 0%, var(--sf-bg) 100%);
  color: var(--sf-cart-text);
}

body.sf-theme-light .sf-cart-page .sf-cart-hero,
body.sf-theme-light .sf-cart-page .sf-cart-main-card,
body.sf-theme-light .sf-cart-page .sf-cart-trust-card,
body.sf-theme-light .sf-cart-page .shop_table tbody tr,
body.sf-theme-light .sf-cart-page .shop_table tbody td.actions,
body.sf-theme-light .sf-cart-page .woocommerce-message,
body.sf-theme-light .sf-cart-page .woocommerce-info,
body.sf-theme-light .sf-cart-page .woocommerce-error {
  border-color: var(--sf-cart-border);
  background: var(--sf-cart-surface);
  box-shadow: 0 22px 48px rgba(15, 23, 42, 0.08);
  color: var(--sf-cart-text);
}

body.sf-theme-light .sf-cart-page .sf-cart-hero__mini-card,
body.sf-theme-light .sf-cart-page .shop_table tbody tr {
  background: var(--sf-cart-card);
}

body.sf-theme-light .sf-cart-page .sf-cart-hero__mini-card.is-accent {
  background:linear-gradient(135deg, color-mix(in srgb, var(--sf-brand) 12%, transparent), color-mix(in srgb, var(--sf-brand) 5%, transparent) 58%, color-mix(in srgb, var(--sf-surface) 72%, transparent));
}

body.sf-theme-light .sf-cart-page .sf-cart-hero__copy p,
body.sf-theme-light .sf-cart-page .sf-cart-hero__mini-card span,
body.sf-theme-light .sf-cart-page .sf-cart-trust-card span,
body.sf-theme-light .sf-cart-page .product-name dl.variation,
body.sf-theme-light .sf-cart-page .product-name .wc-item-meta {
  color:var(--sf-muted);
}

body.sf-theme-light .sf-cart-page .shop_table thead th,
body.sf-theme-light .sf-cart-page .product-remove a {
  color:var(--sf-muted) !important;
}

body.sf-theme-light .sf-cart-page .product-name a,
body.sf-theme-light .sf-cart-page .product-price,
body.sf-theme-light .sf-cart-page .product-subtotal,
body.sf-theme-light .sf-cart-page .shop_table tbody td {
  color:var(--sf-text);
}

body.sf-theme-light .sf-cart-page .quantity .qty,
body.sf-theme-light .sf-cart-page .coupon #coupon_code {
  border-color:color-mix(in srgb, var(--sf-border) 20%, transparent);
  background:color-mix(in srgb, var(--sf-surface) 98%, transparent);
  color:var(--sf-text);
}

body.sf-theme-light .sf-page-checkout .sf-frontend-shell {
  background:radial-gradient(circle at top left, color-mix(in srgb, var(--sf-brand) 12%, transparent), transparent 28%),
    radial-gradient(circle at top right, color-mix(in srgb, var(--sf-bg) 64%, transparent), transparent 24%),
    linear-gradient(180deg, var(--sf-bg) 0%, var(--sf-bg) 100%);
}

body.sf-theme-light .sf-checkout {
  --sf-checkout-surface:var(--sf-surface);
  --sf-checkout-card:var(--sf-surface);
  --sf-checkout-card-soft:var(--sf-surface-alt);
  --sf-checkout-border:var(--sf-border);
  --sf-checkout-border-strong:var(--sf-border);
  --sf-checkout-text:var(--sf-text);
  --sf-checkout-muted:var(--sf-muted);
  --sf-checkout-subtle:var(--sf-muted);
  --sf-checkout-accent:var(--sf-brand);
  --sf-checkout-accent-soft:var(--sf-brand-soft);
  --sf-checkout-success:var(--sf-success);
  --sf-checkout-warning:var(--sf-warning);
  --sf-checkout-danger:var(--sf-error);
  --sf-checkout-input-bg:var(--sf-surface);
  --sf-checkout-input-border:var(--sf-border);
  --sf-checkout-input-text:var(--sf-text);
  --sf-checkout-placeholder:var(--sf-muted);
  --sf-checkout-shadow: 0 22px 48px rgba(15, 23, 42, 0.08);
}

body.sf-theme-light .sf-checkout-page {
  color: var(--sf-checkout-text);
}

body.sf-theme-light .sf-checkout .sf-checkout__row,
body.sf-theme-light .sf-checkout .sf-checkout__service-shell,
body.sf-theme-light .sf-checkout .sf-checkout__card,
body.sf-theme-light .sf-checkout .sf-checkout__summary-card,
body.sf-theme-light .sf-checkout-page .woocommerce-message,
body.sf-theme-light .sf-checkout-page .woocommerce-info,
body.sf-theme-light .sf-checkout-page .woocommerce-error,
body.sf-theme-light .sf-checkout-page .payment_box {
  border-color: var(--sf-checkout-border);
  background: var(--sf-checkout-surface);
  box-shadow: var(--sf-checkout-shadow);
  color: var(--sf-checkout-text);
}

body.sf-theme-light .sf-checkout .sf-checkout__row .sf-checkout__service-shell,
body.sf-theme-light .sf-checkout .sf-checkout__row .sf-checkout__card,
body.sf-theme-light .sf-checkout .sf-checkout__row .sf-checkout__summary-card {
  background: var(--sf-checkout-card);
}

body.sf-theme-light .sf-checkout .sf-checkout__eyebrow,
body.sf-theme-light .sf-checkout .sf-checkout__service-badge {
  color:var(--sf-brand);
}

body.sf-theme-light .sf-checkout .sf-checkout__eyebrow::before {
  background:var(--sf-brand);
  box-shadow: 0 0 0 8px color-mix(in srgb, var(--sf-brand) 12.0%, transparent);
}

body.sf-theme-light .sf-checkout input,
body.sf-theme-light .sf-checkout select,
body.sf-theme-light .sf-checkout textarea,
body.sf-theme-light .sf-checkout-page .select2-selection,
body.sf-theme-light .sf-checkout-page .input-text {
  border-color: var(--sf-checkout-input-border) !important;
  background: var(--sf-checkout-input-bg) !important;
  color: var(--sf-checkout-input-text) !important;
}

body.sf-theme-light .sf-checkout input::placeholder,
body.sf-theme-light .sf-checkout textarea::placeholder {
  color: var(--sf-checkout-placeholder);
}

body.sf-theme-light .sf-checkout label,
body.sf-theme-light .sf-checkout .sf-checkout__pickup-note,
body.sf-theme-light .sf-checkout .sf-checkout__summary-meta-card,
body.sf-theme-light .sf-checkout .woocommerce-shipping-totals,
body.sf-theme-light .sf-checkout .woocommerce-checkout-review-order-table th {
  color:var(--sf-muted);
}

body.sf-theme-light .sf-checkout .woocommerce-checkout-review-order-table td,
body.sf-theme-light .sf-checkout .woocommerce-checkout-review-order-table strong,
body.sf-theme-light .sf-checkout .woocommerce-checkout-review-order-table bdi,
body.sf-theme-light .sf-checkout .sf-checkout__service-head h2,
body.sf-theme-light .sf-checkout .sf-checkout__card-head h3,
body.sf-theme-light .sf-checkout .sf-checkout__pickup-copy,
body.sf-theme-light .sf-checkout .sf-checkout__service-card-copy,
body.sf-theme-light .sf-checkout .sf-checkout__summary-card {
  color:var(--sf-text);
}

body.sf-theme-light .sf-checkout #payment,
body.sf-theme-light .sf-checkout #payment .payment_methods > li,
body.sf-theme-light .sf-checkout .sf-checkout__service-card {
  border-color:color-mix(in srgb, var(--sf-border) 20%, transparent);
  background:color-mix(in srgb, var(--sf-surface) 98%, transparent);
  color:var(--sf-text);
}

body.sf-theme-light .sf-checkout .sf-checkout__service-card.is-active {
  border-color:var(--sf-checkout-accent, var(--sf-brand));
  background:linear-gradient(135deg, var(--sf-checkout-accent-soft, color-mix(in srgb, var(--sf-brand-soft) 12%, transparent)), var(--sf-checkout-card, var(--sf-brand-soft)) 46%);
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.1);
}

body.sf-theme-light.single-product,
body.single-product.sf-theme-light {
  background:var(--sf-bg);
  color:var(--sf-text);
}

body.sf-theme-light .sf-page-product .sf-frontend-shell,
body.single-product.sf-theme-light .sf-frontend-shell {
  background:radial-gradient(circle at top left, color-mix(in srgb, var(--sf-brand) 12%, transparent), transparent 26%),
    radial-gradient(circle at top right, color-mix(in srgb, var(--sf-bg) 74%, transparent), transparent 24%),
    linear-gradient(180deg, var(--sf-bg) 0%, var(--sf-bg) 100%);
}

/* The homepage shell remains the shared owner of header/main/footer height. */
body.sf-page-home .sf-frontend-shell {
  display: flex;
  min-height: 100vh;
  min-height: 100svh;
  min-height: 100dvh;
  flex-direction: column;
}

/* Shared customer interaction states. Component layout stays in its own stylesheet. */
body.swefood-frontend:not(.swefood-frontend--branch-manager){color:var(--sf-text);background:var(--sf-bg)}
body.swefood-frontend :is(input,select,textarea){accent-color:var(--sf-brand)}
body.swefood-frontend :is(a,button,input,select,textarea):focus-visible{outline:2px solid var(--sf-focus-ring);outline-offset:3px}
body.swefood-frontend :is(.sf-home-button--primary,.sf-home-hero-v2__button--primary,.sf-home-product-card__cta,.sf-home-hero-product__add,.sf-home-visit-v1__button.is-primary,.sf-card__add,.sf-menu__search-submit,.sf-account-page .button,.sf-account-page .woocommerce-Button,.sf-account-page .woocommerce-button,.sf-cart-main-card .button,.sf-cart-main-card .checkout-button,.sf-cart-main-card .wc-block-cart__submit-button,.sf-checkout #place_order,.sf-checkout .button,.sf-purchase-card__submit,.sf-related-card__cta,.sf-review-form__submit,.sf-store-review-form__submit):is(:hover,:focus-visible){background:var(--sf-brand-hover);color:var(--sf-brand-hover-contrast)}
body.swefood-frontend .woocommerce-message{background:var(--sf-success-soft);color:var(--sf-text);border-color:var(--sf-success)}
body.swefood-frontend .woocommerce-message::before{color:var(--sf-success)}
body.swefood-frontend .woocommerce-error{background:var(--sf-error-soft);color:var(--sf-text);border-color:var(--sf-error)}
body.swefood-frontend .woocommerce-error::before{color:var(--sf-error)}
body.swefood-frontend .woocommerce-info{background:var(--sf-brand-soft);color:var(--sf-text);border-color:var(--sf-brand)}
body.swefood-frontend .woocommerce-info::before{color:var(--sf-brand)}
body.swefood-frontend .sf-card__badge--sale{background:var(--sf-error);color:var(--sf-error-contrast)}
body.swefood-frontend .sf-card__badge--new{background:var(--sf-brand);color:var(--sf-brand-contrast)}
.sf-home-live-promo-card:is(.is-blue,.is-green,.is-orange){color:var(--sf-brand-contrast)}
.sf-home-live-promo-card:is(.is-blue,.is-green,.is-orange) :is(h3,p,span){color:inherit}
