:root{--sauvi-green:#0E7A4B;--sauvi-green-dark:#0F3D2E;--sauvi-lime:#22C55E;--sauvi-red:#E5534B;--sauvi-ink:#1F2933;--sauvi-muted:#66756f;--sauvi-line:#dfe9e4;--sauvi-bg:#F7F9F2;--sauvi-card:#fff;--sauvi-shadow:0 16px 48px rgba(15,64,44,.12)}
.sauvi-panel,.sauvi-product-finder,.sauvi-account,.sauvi-personalized,.sauvi-newsletter,.sauvi-basket-index,.sauvi-retailer-portal,.sauvi-install-card,.sauvi-coverage{box-sizing:border-box;color:var(--sauvi-ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.sauvi-panel *,.sauvi-product-finder *,.sauvi-account *,.sauvi-personalized *,.sauvi-newsletter *,.sauvi-basket-index *,.sauvi-retailer-portal *,.sauvi-install-card *{box-sizing:border-box}.sauvi-panel{padding:24px;border:1px solid var(--sauvi-line);border-radius:20px;background:#fff;box-shadow:0 8px 28px rgba(15,64,44,.06)}.sauvi-kicker{display:block;margin-bottom:7px;color:var(--sauvi-green);font-size:11px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.sauvi-section-head{margin-bottom:20px}.sauvi-section-head h2{margin:0 0 7px;color:var(--sauvi-ink);font-size:clamp(26px,3vw,40px);line-height:1.08;letter-spacing:-.035em}.sauvi-section-head p{max-width:760px;margin:0;color:var(--sauvi-muted);line-height:1.65}.sauvi-panel h2,.sauvi-panel h3{margin-top:0}.sauvi-help{color:var(--sauvi-muted);font-size:12px;line-height:1.55}.sauvi-notice{margin:14px 0;padding:12px 15px;border-radius:12px;background:#edf8f3;color:#086041}.sauvi-notice.is-error{background:#fff0f1;color:#9c2231}.sauvi-status{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eef2f0;font-size:11px;font-weight:750}.sauvi-status.is-complete,.sauvi-status.is-review{color:#086041;background:#e8f7f0}.sauvi-status.is-failed{color:#9c2231;background:#fff0f1}

/* Stronger product imagery inside the existing Sauvi/FSE cards. */
.fse-card-image.is-product{padding:4px;background:radial-gradient(circle at 50% 46%,#fff 0,#fff 45%,#eff5f2 100%)}.fse-card-image.is-product .fse-offer-image{position:relative;z-index:1;width:96%;height:96%;padding:3px;object-fit:contain;object-position:center;filter:drop-shadow(0 10px 13px rgba(20,44,34,.18))}.fse-card-image-backdrop{position:absolute;inset:-18px;background-position:center;background-size:cover;filter:blur(23px);opacity:.12;transform:scale(1.14)}.fse-card-image.is-panel .fse-offer-image,.fse-card-image.is-flyer .fse-offer-image{width:100%;height:100%;padding:0;object-fit:cover}.fse-special-card{isolation:isolate}.fse-special-card .fse-card-image{min-height:230px}.fse-card-actions{grid-template-columns:minmax(0,1fr) auto auto!important}.sauvi-watch-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 11px;border:1px solid #c9d9d1;border-radius:11px;color:var(--sauvi-green);font:inherit;font-size:11px;font-weight:800;background:#fff;cursor:pointer;transition:.18s}.sauvi-watch-button:hover,.sauvi-watch-button.is-watching{border-color:var(--sauvi-green);color:#fff;background:var(--sauvi-green)}.fse-featured-actions .sauvi-watch-button{min-height:36px}.fse-search-field{z-index:5}.sauvi-autocomplete{position:absolute;z-index:999;left:0;right:0;top:calc(100% + 7px);max-height:360px;overflow:auto;border:1px solid var(--sauvi-line);border-radius:14px;background:#fff;box-shadow:var(--sauvi-shadow)}.sauvi-autocomplete a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;border-bottom:1px solid #edf2ef;color:var(--sauvi-ink)!important;text-decoration:none!important}.sauvi-autocomplete a:last-child{border-bottom:0}.sauvi-autocomplete a:hover{background:#f1f9f5}.sauvi-autocomplete span,.sauvi-autocomplete small{display:block}.sauvi-autocomplete small{margin-top:2px;color:var(--sauvi-muted);font-size:10px}.sauvi-autocomplete b{flex:0 0 auto;color:var(--sauvi-green);font-size:12px}

/* Product finder */
.sauvi-product-finder{margin:24px 0;padding:clamp(22px,4vw,42px);border:1px solid var(--sauvi-line);border-radius:26px;background:linear-gradient(135deg,#fff,#f3faf6);box-shadow:var(--sauvi-shadow)}.sauvi-finder-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.sauvi-finder-search input,.sauvi-photo-search input,.sauvi-retailer-form input,.sauvi-retailer-form select,.sauvi-account input,.sauvi-account select{width:100%;min-height:48px;padding:10px 13px;border:1px solid #cedbd4;border-radius:12px;background:#fff}.sauvi-finder-search .button,.sauvi-photo-search .button,.sauvi-retailer-form .button,.sauvi-account .button,.sauvi-newsletter .button,.sauvi-list-tools .button,.sauvi-install-card .button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border:0;border-radius:12px;color:#fff!important;font-weight:800;text-decoration:none!important;background:var(--sauvi-green);cursor:pointer}.sauvi-photo-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin-top:14px;padding:16px;border:1px dashed #b8d3c6;border-radius:16px;background:#fff}.sauvi-photo-search label strong,.sauvi-photo-search label small{display:block}.sauvi-photo-search label small{margin:3px 0 9px;color:var(--sauvi-muted);font-size:11px}.sauvi-finder-status{min-height:24px;margin:12px 0;color:var(--sauvi-muted);font-size:13px}.sauvi-finder-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.sauvi-finder-card{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;padding:13px;border:1px solid var(--sauvi-line);border-radius:16px;background:#fff}.sauvi-finder-card img,.sauvi-product-placeholder{grid-row:1/3;width:72px;height:72px;border-radius:13px;object-fit:contain;background:#f0f5f2}.sauvi-product-placeholder{display:grid;place-items:center;color:#fff;font-size:28px;font-weight:900;background:var(--sauvi-green)}.sauvi-finder-card strong,.sauvi-finder-card small,.sauvi-finder-card b{display:block}.sauvi-finder-card small{margin:3px 0;color:var(--sauvi-muted);font-size:11px}.sauvi-finder-card b{color:var(--sauvi-green);font-size:12px}.sauvi-finder-actions{grid-column:2;display:flex;gap:7px}.sauvi-finder-actions .button,.sauvi-finder-actions button{min-height:34px;padding:0 11px;font-size:11px}.sauvi-empty-state{grid-column:1/-1;padding:22px;border:1px dashed #bed0c7;border-radius:15px;color:var(--sauvi-muted);text-align:center}

/* Account, savings and household UI */
.sauvi-account{margin:24px 0}.sauvi-auth-grid,.sauvi-account-grid,.sauvi-portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.sauvi-auth-card{padding:28px;border:1px solid var(--sauvi-line);border-radius:24px;background:#fff;box-shadow:0 12px 38px rgba(15,64,44,.08)}.sauvi-auth-card.is-primary{color:#fff;background:linear-gradient(135deg,var(--sauvi-green-dark),var(--sauvi-green))}.sauvi-auth-card.is-primary h2,.sauvi-auth-card.is-primary .sauvi-kicker{color:#fff}.sauvi-auth-card form,.sauvi-panel form{display:grid;gap:12px}.sauvi-auth-card label,.sauvi-panel label,.sauvi-retailer-form label{display:grid;gap:5px;font-size:12px;font-weight:750}.sauvi-inline-check,.sauvi-check{display:flex!important;align-items:center;gap:8px}.sauvi-inline-check input,.sauvi-check input{width:auto;min-height:0}.sauvi-account-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;padding:27px;border-radius:24px;color:#fff;background:linear-gradient(125deg,var(--sauvi-green-dark),var(--sauvi-green))}.sauvi-account-hero h2{margin:0;color:#fff;font-size:34px}.sauvi-account-hero p{margin:5px 0 0;color:rgba(255,255,255,.78)}.sauvi-account-hero .button.is-light{color:var(--sauvi-green)!important;background:#fff}.sauvi-savings-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.sauvi-savings-cards article{padding:19px;border:1px solid var(--sauvi-line);border-radius:17px;background:#fff}.sauvi-savings-cards span,.sauvi-savings-cards strong,.sauvi-savings-cards small{display:block}.sauvi-savings-cards span{color:var(--sauvi-muted);font-size:11px;font-weight:750}.sauvi-savings-cards strong{margin:5px 0;color:var(--sauvi-green);font-size:28px}.sauvi-savings-cards small{color:var(--sauvi-muted);font-size:9px}.sauvi-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.sauvi-choice-grid label{display:flex;align-items:center;gap:6px}.sauvi-choice-grid input{width:auto;min-height:0}.sauvi-clean-list{margin:0;padding:0;list-style:none}.sauvi-clean-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #edf2ef}.sauvi-clean-list li:last-child{border-bottom:0}.sauvi-clean-list strong,.sauvi-clean-list small{display:block}.sauvi-clean-list small{color:var(--sauvi-muted);font-size:10px}.sauvi-text-button{border:0;color:var(--sauvi-green);font-weight:750;background:transparent;cursor:pointer}.sauvi-notifications .is-unread{padding-left:10px;border-left:3px solid var(--sauvi-green)}.sauvi-household{padding:12px;border:1px solid var(--sauvi-line);border-radius:13px}.sauvi-household>small{display:block;color:var(--sauvi-muted)}

/* Smart list extension */
.sauvi-list-tools{margin:0 0 14px;padding:14px;border:1px solid #dce9e3;border-radius:15px;background:linear-gradient(135deg,#f7fbf9,#edf8f3)}.sauvi-budget-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.sauvi-budget-row label{display:grid;gap:4px;font-size:11px;font-weight:800}.sauvi-budget-row input,.sauvi-optimizer input,.sauvi-optimizer select{width:100%;min-height:42px;padding:8px 10px;border:1px solid #cbd9d2;border-radius:10px;background:#fff}.sauvi-budget-row [data-sauvi-budget-status]{min-width:105px;padding:9px 11px;border-radius:11px;text-align:right;background:#fff}.sauvi-budget-row [data-sauvi-budget-status] strong,.sauvi-budget-row [data-sauvi-budget-status] span{display:block}.sauvi-budget-row [data-sauvi-budget-status] strong{font-size:17px}.sauvi-budget-row .is-under{color:#0E7A4B}.sauvi-budget-row .is-over{color:#b52838}.sauvi-optimizer{margin-top:12px;padding-top:10px;border-top:1px solid #dbe7e1}.sauvi-optimizer summary{font-weight:850;cursor:pointer}.sauvi-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sauvi-optimizer-results{margin-top:12px}.sauvi-optimizer-cards{display:grid;gap:8px}.sauvi-optimizer-cards article{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:10px;border:1px solid #dce6e1;border-radius:11px;background:#fff}.sauvi-optimizer-cards article span,.sauvi-optimizer-cards article small,.sauvi-optimizer-cards article b{display:block}.sauvi-optimizer-cards article strong{grid-row:1/3;grid-column:2;align-self:center;color:var(--sauvi-green)}.sauvi-optimizer-cards article small{color:var(--sauvi-muted);font-size:9px}.sauvi-optimizer-cards article b{grid-column:1/-1;margin-top:4px;font-size:9px}.sauvi-list-account-tools{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.sauvi-list-account-tools .button{min-height:39px;padding:0 9px;font-size:10px}.sauvi-list-account-tools .is-secondary{border:1px solid var(--sauvi-green);color:var(--sauvi-green)!important;background:#fff}.sauvi-signin-nudge{margin:10px 0 0;color:var(--sauvi-muted);font-size:10px}.sauvi-signin-nudge a{color:var(--sauvi-green);font-weight:800}.sauvi-toast{position:fixed;z-index:1000001;left:50%;bottom:24px;max-width:min(420px,calc(100% - 32px));padding:12px 17px;border-radius:999px;color:#fff;font-size:13px;font-weight:750;text-align:center;background:#0F3D2E;box-shadow:0 15px 40px rgba(0,0,0,.25);opacity:0;transform:translate(-50%,15px);pointer-events:none;transition:.2s}.sauvi-toast.is-visible{opacity:1;transform:translate(-50%,0)}

/* Personalisation, basket index, newsletter and freshness */
.sauvi-personalized{margin:25px 0;padding:28px;border-radius:24px;background:linear-gradient(135deg,#eef9f3,#fff);border:1px solid #d6e9df}.sauvi-mini-deal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.sauvi-mini-deal-grid a{display:grid;gap:3px;padding:14px;border:1px solid var(--sauvi-line);border-radius:14px;color:var(--sauvi-ink)!important;text-decoration:none!important;background:#fff}.sauvi-mini-deal-grid span{color:var(--sauvi-muted);font-size:10px}.sauvi-mini-deal-grid b{color:var(--sauvi-green);font-size:18px}.sauvi-newsletter{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:24px;align-items:center;margin:24px 0;padding:30px;border-radius:24px;color:#fff;background:linear-gradient(125deg,#0F3D2E,#0E7A4B)}.sauvi-newsletter h2{margin:0 0 6px;color:#fff}.sauvi-newsletter p{margin:0;color:rgba(255,255,255,.76)}.sauvi-newsletter .sauvi-kicker{color:var(--sauvi-lime)}.sauvi-newsletter form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.sauvi-newsletter input{min-height:48px;padding:10px 13px;border:0;border-radius:12px}.sauvi-newsletter .button{color:#173a2c!important;background:var(--sauvi-lime)}.sauvi-newsletter small{grid-column:1/-1}.sauvi-basket-index{margin:25px 0}.sauvi-index-table{overflow:hidden;border:1px solid var(--sauvi-line);border-radius:18px;background:#fff}.sauvi-index-table header,.sauvi-index-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(130px,.7fr) minmax(120px,.5fr);gap:12px;align-items:center;padding:13px 17px}.sauvi-index-table header{color:#fff;font-size:11px;font-weight:800;background:#153a2c}.sauvi-index-row{border-top:1px solid #edf2ef}.sauvi-index-row.is-leading{background:#eff9f4}.sauvi-index-row>span:first-child{display:flex;align-items:center;gap:10px;font-weight:800}.sauvi-index-row>span:first-child b{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;color:#fff;background:var(--sauvi-green)}.sauvi-index-row small{display:block;color:var(--sauvi-muted);font-size:9px}.sauvi-index-row>strong{text-align:right;color:var(--sauvi-green);font-size:18px}.sauvi-install-card{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:20px 0;padding:24px;border:1px solid var(--sauvi-line);border-radius:20px;background:#fff;box-shadow:0 8px 28px rgba(15,64,44,.07)}.sauvi-install-card h3{margin:0 0 5px}.sauvi-install-card p{margin:0;color:var(--sauvi-muted)}.sauvi-install-card>small{color:var(--sauvi-muted)}

/* Retailer portal and tables */
.sauvi-retailer-portal{margin:24px 0}.sauvi-retailer-form{display:grid;gap:13px}.sauvi-file-field{padding:13px;border:1px dashed #b9cfc4;border-radius:13px;background:#f7faf8}.sauvi-checklist{margin:0;padding-left:20px}.sauvi-checklist li{margin:8px 0;color:var(--sauvi-muted)}.sauvi-responsive-table{overflow:auto}.sauvi-responsive-table table{width:100%;border-collapse:collapse}.sauvi-responsive-table th,.sauvi-responsive-table td{padding:11px;border-bottom:1px solid var(--sauvi-line);text-align:left;white-space:nowrap}.sauvi-responsive-table th{font-size:10px;text-transform:uppercase;color:var(--sauvi-muted)}

/* WoodMart integration: preserve theme typography/buttons while preventing product-grid inheritance. */
.sauvi-on-woodmart .fse-public-wrap,.sauvi-on-woodmart .sauvi-account,.sauvi-on-woodmart .sauvi-product-finder{--wd-primary-color:var(--sauvi-green)}.sauvi-on-woodmart .fse-special-card.product-grid-item{display:flex}.sauvi-on-woodmart .fse-special-card .wd-entities-title{font:inherit}.sauvi-on-woodmart .fse-public-wrap a,.sauvi-on-woodmart .sauvi-account a{transition:.18s}.sauvi-on-woodmart .woocommerce-MyAccount-content .sauvi-account{margin-top:0}.sauvi-on-woodmart .fse-card-image img{max-width:none}.sauvi-on-woodmart .fse-filters select{appearance:auto}.sauvi-on-woodmart .fse-public-wrap button,.sauvi-on-woodmart .sauvi-account button{line-height:1.2;text-transform:none}.sauvi-on-woodmart .fse-specials-grid:before,.sauvi-on-woodmart .fse-specials-grid:after{display:none}

@media(max-width:900px){.sauvi-savings-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.sauvi-auth-grid,.sauvi-account-grid,.sauvi-portal-grid{grid-template-columns:1fr}.sauvi-newsletter{grid-template-columns:1fr}.fse-card-actions{grid-template-columns:1fr 1fr!important}.fse-card-actions .fse-add-list{grid-column:1/-1}}
@media(max-width:640px){.sauvi-finder-search,.sauvi-photo-search,.sauvi-newsletter form{grid-template-columns:1fr}.sauvi-finder-results{grid-template-columns:1fr}.sauvi-savings-cards{grid-template-columns:1fr 1fr}.sauvi-account-hero,.sauvi-install-card{align-items:flex-start;flex-direction:column}.sauvi-field-grid,.sauvi-list-account-tools{grid-template-columns:1fr}.sauvi-index-table header,.sauvi-index-row{grid-template-columns:minmax(0,1fr) auto}.sauvi-index-table header span:nth-child(2),.sauvi-index-row>span:nth-child(2){display:none}.sauvi-product-finder{padding:20px}.fse-special-card .fse-card-image{min-height:245px}}
@media(max-width:420px){.sauvi-savings-cards{grid-template-columns:1fr}.sauvi-choice-grid{grid-template-columns:1fr}.fse-card-actions{grid-template-columns:1fr!important}.sauvi-budget-row{grid-template-columns:1fr}.sauvi-budget-row [data-sauvi-budget-status]{text-align:left}}

/* Sauvi 4.0 typography and brand colors. */
.sauvi-panel,.sauvi-product-finder,.sauvi-account,.sauvi-personalized,.sauvi-newsletter,.sauvi-basket-index,.sauvi-retailer-portal,.sauvi-install-card,.sauvi-coverage{--sauvi-green:#0E7A4B;--sauvi-green-dark:#0F3D2E;--sauvi-lime:#22C55E;--sauvi-red:#E5534B;--sauvi-ink:#1F2933;--sauvi-bg:#F7F9F2;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.sauvi-panel h1,.sauvi-panel h2,.sauvi-panel h3,.sauvi-product-finder h1,.sauvi-product-finder h2,.sauvi-account h1,.sauvi-account h2,.sauvi-personalized h2,.sauvi-newsletter h2,.sauvi-basket-index h2,.sauvi-retailer-portal h2,.sauvi-install-card h2,.sauvi-panel button,.sauvi-account button,.sauvi-newsletter button{font-family:Poppins,Inter,system-ui,sans-serif}

/* Sauvi 5.4.1 — protect legacy dark modules from broad theme heading rules. */
@media screen{
 .sauvi-auth-card.is-primary h2,
 .sauvi-auth-card.is-primary .sauvi-kicker,
 .sauvi-account-hero h2,
 .sauvi-newsletter h2{color:#fff!important}
}
