/* Shared screen constraints: grids may shrink; images never size their text tracks. */
:root{--surface:#fff;--surface-soft:#f6f7f5;--border:#e3e6e0;--text-secondary:#62675f}
main>*{min-width:0}.planner-layout,.guide-grid,.briefing-grid,.calendar-grid,.retailer-grid,.household-grid,.quick-tools,.detail-layout{min-width:0}.planner-layout>*,.guide-grid>*,.briefing-grid>*,.calendar-grid>*,.retailer-grid>*,.household-grid>*,.quick-tools>*{min-width:0}.planner-layout{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.guide-grid,.briefing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.page-heading{margin:4px 0 28px}.page-heading h1{font-size:32px;line-height:1.2;letter-spacing:-.9px}.page-heading p{font-size:15px;line-height:1.6}.page-heading .eyebrow{font-size:10px}.crumb{font-size:12px;margin-bottom:20px}.panel,.planner-aside,.guide-card,.briefing-card,.month-card{border-radius:12px}.panel{padding:28px}.panel h2{font-size:23px}.panel>p,.planner-aside p,.guide-card p,.briefing-card p{font-size:14px;line-height:1.6}.guide-card h3,.briefing-card h2{font-size:21px;line-height:1.3}.guide-card .text-btn,.briefing-card .text-btn{font-size:13px}.planner-aside{background:#f3f6ef}.planner-aside h3{font-size:23px}.planner-aside li{font-size:13px}.steps{max-width:none;margin:22px 0 28px}.step{font-size:13px}.stepper button{min-width:44px;min-height:44px}.count-row small,.toggle-row small,.segmented small{font-size:12px}.count-row strong{font-size:15px}.segmented button{font-size:14px;min-width:0}.planner-actions{gap:12px;flex-wrap:wrap}.check-content{min-width:0}.check-row label{font-size:14px}.check-row small{font-size:12px;overflow-wrap:anywhere}.check-row .text-btn{font-size:12px;flex-shrink:0}.calendar-detail .btn{flex-shrink:0}.month-card strong{font-size:15px}.month-card small{font-size:13px}.month-card span{font-size:12px}.notice{font-size:12px}.prose{max-width:800px}.prose p,.prose li{font-size:15px;color:var(--text-secondary)}.prose h2{font-size:24px}.prose summary{font-size:15px}.briefing-teaser{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.countdown-demo>strong{font-size:clamp(20px,2.5vw,29px);white-space:nowrap}.countdown-demo{min-width:0}.sprite[data-img="pouch"]{background-image:url('assets/family-pouch.webp');background-size:cover;background-position:center}
/* Product overlay follows image / information / retailer action hierarchy. */
dialog{background:#fff;max-width:calc(100vw - 32px);max-height:calc(100dvh - 40px);border-radius:16px;overscroll-behavior:contain;scrollbar-width:thin}dialog::backdrop{background:#111c1766;backdrop-filter:blur(2px)}#deal-dialog{width:1120px;overflow-y:auto;overflow-x:hidden;margin:auto;padding:0;scroll-padding-top:72px}.dialog-top{position:sticky;top:0;display:flex;align-items:center;gap:20px;padding:12px 22px;height:64px;min-height:64px;z-index:5;background:#fff;border-bottom:1px solid var(--border)}.dialog-top>span{font-size:12px;color:var(--text-secondary);margin-left:auto}.detail-back{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:600;min-height:40px;padding:0}.detail-back .icon{transform:rotate(180deg);width:18px}.dialog-top .dialog-close{position:static;width:40px;min-width:40px;min-height:40px;background:#f4f5f2;border:0;margin:0}.deal-body{padding:28px}.detail-layout{display:grid;width:100%;max-width:100%;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr) minmax(0,.9fr);gap:26px;align-items:start}.detail-layout>*{min-width:0;max-width:100%}.detail-media{margin:0;align-self:start}.detail-photo{width:100%;max-width:100%;min-width:0;height:auto;min-height:0;aspect-ratio:1;align-self:start;border-radius:12px;background-color:#f6f5f1;background-size:300% 200%}.image-caption{display:block;text-align:center;font-size:11px;color:#777d75;padding-top:10px}.detail-copy{padding:0;overflow-wrap:anywhere}.detail-store{font-size:13px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-weight:600;color:#60665d}.detail-store .pill{font-size:9px;font-weight:500}.detail-copy h2{font-size:25px;line-height:1.2;letter-spacing:-.5px;margin:13px 0 10px}.detail-copy p{font-size:13px;line-height:1.6;margin:10px 0;color:var(--text-secondary)}.detail-category{display:inline-flex;align-items:center;gap:5px;color:#176b30;font-size:12px;text-decoration:underline;min-height:40px}.detail-category .icon{width:14px}.detail-facts{padding:10px 0;margin:4px 0 16px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.detail-facts>div{display:flex;justify-content:space-between;gap:10px;padding:6px 0;font-size:12px}.detail-facts span{color:var(--text-secondary)}.detail-facts strong{font-size:12px;font-weight:500;text-align:right}.product-info{border-bottom:1px solid var(--border);padding:12px 0}.product-info summary{font-size:13px;font-weight:650;cursor:pointer}.product-info p{font-size:12px;margin-bottom:0}.purchase-panel{padding:20px;border:1px solid var(--border);border-radius:12px;align-self:start;background:#fff}.purchase-panel .price-line{font-size:28px;margin:0 0 8px;flex-wrap:wrap}.purchase-panel .price-line del{font-size:13px}.price-saving{font-size:12px;background:#fff0b7;border-radius:4px;display:inline-block;padding:4px 7px;color:#654e13;font-weight:600}.sample-price{font-size:11px;color:#777d75;line-height:1.5;margin:11px 0 16px}.purchase-panel .btn{width:100%;padding:12px 14px;gap:8px;font-size:14px;min-height:48px;white-space:normal}.purchase-panel .btn .icon{width:18px}.detail-save{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;min-height:44px;margin-top:8px;border:1px solid var(--border);border-radius:24px}.detail-save .icon{width:18px}.detail-save.is-saved{color:#087e30;background:#edf5e9}.detail-save.is-saved .icon{fill:#087e30}.purchase-disclosure{font-size:12px;color:#62675f;line-height:1.5;margin:16px 0 10px}.purchase-panel>small{font-size:10px;line-height:1.5;display:block;color:#7b8078}.detail-related{border-top:1px solid var(--border);padding-top:24px;margin-top:30px}.detail-related .section-head{align-items:center}.detail-related h3{font-size:20px}.detail-related .section-head>span{font-size:11px;color:#73796f}.related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.related-grid .product-photo{aspect-ratio:1.15}.related-grid .product-bottom>span{display:none}.related-grid .product-title{font-size:13px}.related-grid .price-line{font-size:20px}.related-grid .product-meta{font-size:11px}
/* All dialogs have constrained width, predictable scrolling, and accessible close controls. */
#assistant-dialog{width:440px;overflow:hidden}.assistant-box{width:100%;height:min(700px,calc(100dvh - 40px));max-height:calc(100dvh - 40px)}.assistant-top{padding:26px 64px 24px 24px}.assistant-top h2{font-size:23px}.assistant-top .eyebrow{line-height:1.5}.assistant-top p{font-size:12px}.chat-body{padding:20px;min-height:0}.chat-message{font-size:14px}.chat-form{padding:14px;flex-shrink:0}.chat-form input{font-size:16px}.chat-product{min-width:0}.chat-product>span{min-width:0}.chat-product strong{font-size:13px}.chat-product small{font-size:11px}.chat-product>.icon{margin-left:auto}.chat-product .sprite{width:55px;height:55px}.dialog-close{width:40px;min-height:40px;right:14px;top:14px}.assistant-box .dialog-close{background:#fff;color:#252825}#email-dialog{width:480px}.email-box{width:100%;padding:36px;min-width:0}.email-box h2{font-size:28px}.email-box p{font-size:14px}.email-box label{font-size:13px}.email-box .toggle-row{font-size:13px;align-items:start}.email-box input[type=email]{font-size:16px}.email-box .toggle-row input{flex-shrink:0}.email-box>.icon{width:32px;height:32px}.email-box .notice{font-size:12px}.email-box .dialog-close{position:sticky;float:right;top:0;right:0;margin:-20px -20px 0 0}.filter-bar .chip{font-size:12px}
@media(max-width:1050px){.detail-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.purchase-panel{grid-column:2;grid-row:2}.detail-media{grid-row:1/span 2}.detail-copy{grid-column:2}.related-grid{gap:16px}.guide-grid,.briefing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.planner-layout{gap:22px}.calendar-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.page-heading h1{font-size:28px;letter-spacing:-.7px}.page-heading p{font-size:14px}.planner-layout,.guide-grid,.briefing-grid{grid-template-columns:minmax(0,1fr)}.calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{padding:20px}.planner-aside{padding:23px}.panel h2{font-size:22px}.count-row{gap:8px}.stepper{gap:8px}.step{font-size:11px;align-items:center}.step span{flex-shrink:0}.segmented{gap:8px}.segmented button{font-size:12px;padding:12px 8px}.segmented button.selected{padding:11px 7px}.segmented small{font-size:11px}.planner-actions .btn{font-size:13px;gap:8px;padding:12px 16px}.check-row{flex-wrap:wrap;gap:9px}.check-row .check-content{flex-basis:calc(100% - 32px)}.check-row>.text-btn{margin-left:29px;min-height:36px}.check-row label{font-size:14px}.briefing-teaser{grid-template-columns:1fr}.countdown-demo>strong{font-size:26px}.household-tile{min-width:0}.newsletter .btn{white-space:normal;text-align:center}.month-card{padding:16px}.month-card small{font-size:12px}.calendar-detail{padding:23px}.prose table{table-layout:fixed}.prose td,.prose th{overflow-wrap:anywhere}.prose p,.prose li{font-size:14px}.footer-top>div{column-gap:18px}
#deal-dialog{width:calc(100vw - 20px);max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:14px}.dialog-top{height:58px;min-height:58px;padding:9px 13px;gap:10px}.dialog-top>span{display:none}.dialog-top .dialog-close{margin-left:auto}.detail-back{font-size:12px}.deal-body{padding:18px}.detail-layout{grid-template-columns:minmax(0,1fr);gap:20px}.detail-media,.detail-copy,.purchase-panel{grid-column:auto;grid-row:auto}.detail-media{width:min(100%,260px);justify-self:center}.detail-photo{aspect-ratio:1;min-height:0;width:100%;height:auto}.image-caption{font-size:10px}.detail-copy h2{font-size:25px}.detail-copy .detail-description{font-size:14px}.detail-facts{margin-bottom:4px}.detail-copy .product-info{display:block}.purchase-panel{padding:18px}.purchase-panel .btn{font-size:15px}.purchase-panel .price-line{font-size:30px}.purchase-panel>small{font-size:11px}.detail-related{margin-top:24px}.detail-related h3{font-size:18px}.detail-related .section-head>span{display:none}.related-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.related-grid .product-title{font-size:12px}.related-grid .product-meta{font-size:10px}.related-grid .price-line{font-size:19px}.related-grid .price-line del{font-size:10px}.related-grid .product-photo .save{min-height:36px;width:36px}.related-grid .discount{font-size:9px}.related-grid .product-meta .pill{font-size:8px}.related-grid .product-bottom button{font-size:11px}
#assistant-dialog{max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.assistant-box{height:calc(100dvh - 20px);max-height:calc(100dvh - 20px)}.assistant-top{padding:25px 58px 20px 20px}.assistant-top h2{font-size:21px}.chat-body{padding:16px}.chat-form{padding:12px;gap:8px}.chat-form .btn{padding:10px 13px}.chat-product strong{font-size:12px}.chat-product small{font-size:10px}#email-dialog{max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.email-box{padding:28px 22px}.email-box h2{font-size:27px}.email-box .dialog-close{margin:-15px -9px 0 0}}
@media(prefers-reduced-motion:no-preference){dialog[open]{animation:dialog-appear .15s ease-out}@keyframes dialog-appear{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}}
@media print{.planner-layout{display:block}.check-row{break-inside:avoid}.check-row .text-btn{display:none}.panel{padding:0}}
/* Keep product identity and the buying action ahead of secondary details on phones. */
@media(max-width:760px){.detail-layout{gap:14px}.detail-copy{display:contents}.detail-store{order:0}.detail-copy h2{order:1;margin:0}.detail-media{order:2;width:min(100%,210px)}.detail-copy .detail-description{order:3;margin:0}.purchase-panel{order:4}.detail-category{order:5}.detail-facts{order:6}.product-info{order:7}.detail-photo{aspect-ratio:1}.image-caption{padding-top:6px}}
dialog[open]{animation:none}
/* Approved visual direction: clean type, white surfaces and solid action colour. */
:root{--ink:#242529;--green:#0A7D28;--action:#0A7D28;--green-hover:#086521;--action-hover:#086521;--muted:#64686C;--text-secondary:#64686C;--surface:#FFFFFF;--surface-soft:#FFFFFF;--border:#E5E7E8;--line:#E5E7E8}
body,button,input,select,textarea,h1,h2,h3,h4,.brand,.product-title{font-family:'DM Sans',Arial,sans-serif}.eyebrow:before{content:none;display:none}.eyebrow,.side-label{letter-spacing:0;text-transform:none;font-size:12px;font-weight:600;color:#64686C}.campaign-copy>span,.market-promo span,.quick-tools small{letter-spacing:0;text-transform:none;font-size:11px;font-weight:600}.newsletter{background:#FFFFFF;color:#242529;border:1px solid #E5E7E8;border-radius:12px;padding:30px}.newsletter .eyebrow{font-size:13px;letter-spacing:0;font-weight:500;color:#64686C;margin-bottom:10px}.newsletter h2{font-size:26px;line-height:1.25;letter-spacing:-.5px;color:#242529;font-weight:700}.newsletter p{font-size:14px;color:#64686C;margin-top:10px;line-height:1.6}.newsletter .btn,.newsletter .btn.yellow{background:#0A7D28;color:white;font-size:14px}.newsletter .btn:hover{background:#086521}.guide-card,.guide-card:nth-child(2n),.guide-card:nth-child(3n),.quick-tools>a,.quick-tools>a:nth-child(2),.quick-tools>a:nth-child(3),.planner-aside,.market-assistant,.briefing-teaser,.calendar-detail,.saved-summary{background:#FFFFFF;color:#242529;border:1px solid #E5E7E8}.guide-card:hover,.household-tile:hover,.retailer-card:hover{border-color:#0A7D28;background:#fff}.guide-card p,.planner-aside p,.market-assistant p,.briefing-teaser p,.calendar-detail p{color:#64686C}.side-link.active{background:#F2F3F2;color:#242529}.side-link:hover{background:#F6F6F6}.side-label{font-size:12px}.side-divider{margin:15px 10px}.pill.example{background:#FFF7D6;color:#62501E;border-color:#E9DDAA}.notice{background:#FAFAFA;border:1px solid #E5E7E8;color:#64686C}.month-card.active{background:#0A7D28;border-color:#0A7D28}.month-card.active small,.month-card.active span{color:#fff}.assistant-top{background:#0A7D28}.assistant-top .eyebrow{color:#fff}.chat-message{background:#F3F4F3;color:#242529}.chat-message.user{background:#fff}.btn,.helper-fab{background:#0A7D28}.btn:hover,.helper-fab:hover{background:#086521}.btn.light{background:#fff;color:#0A7D28}.category>span,.category:nth-child(n)>span{background:#fff}.footer-top>p{font-family:'DM Sans',Arial,sans-serif}footer{background:#fff;border-top:1px solid #E5E7E8}.helper-fab{box-shadow:0 2px 6px #00000012}.market-assistant h2,.planner-aside h3,.guide-card h3{color:#242529}.segmented button.selected{background:#fff;border-color:#0A7D28}.category-filters .chip.active{background:#242529}
@media(max-width:760px){.newsletter{padding:24px}.newsletter h2{font-size:24px}.newsletter .btn{width:100%;font-size:14px}.page-heading h1{font-size:28px}}
/* Product card text and badges use black, as requested. */
.product-card .price-line,.product-card .price-line del,.product-card .product-title,.product-card .product-meta,.product-card .product-meta>span,.product-card .product-bottom,.product-card .product-bottom>span,.product-card .product-bottom button,.discount,.pill.example,.price-saving,.detail-store{color:#111111}.product-card .product-bottom button:hover{color:#111111;text-decoration:underline}
/* Restrained pastel accents: solid fills confined to category tiles and features. */
:root{--pastel-butter:#FFF2D8;--pastel-peach:#F6E9E2;--pastel-blue:#EAF1F8;--pastel-lilac:#EEEAF6}
.category:nth-child(4n+1)>span{background:var(--pastel-peach)}
.category:nth-child(4n+2)>span{background:var(--pastel-butter)}
.category:nth-child(4n+3)>span{background:var(--pastel-lilac)}
.category:nth-child(4n+4)>span{background:var(--pastel-blue)}
.category:hover>span,.category:focus-visible>span{outline:1px solid #0A7D28;outline-offset:2px}
.quick-tools>a{background:var(--pastel-butter);border:1px solid transparent}
.quick-tools>a:nth-child(2){background:var(--pastel-blue);border-color:transparent}
.quick-tools>a:nth-child(3){background:var(--pastel-lilac);border-color:transparent}
.quick-tools>a:hover,.quick-tools>a:focus-visible{border-color:#0A7D28}
.quick-tools strong,.quick-tools small,.quick-tools em{color:#111111}
.campaign-cover,.pantry-promo{background:#F7ECD9}
.kit-promo{background:var(--pastel-blue)}
.value-promo{background:var(--pastel-lilac)}
.market-promo span,.market-promo h2,.market-promo p,.market-promo b{color:#111111}
.market-promo,.quick-tools>a,.category>span{box-shadow:none;background-image:none}
