/* Layout-only rhythm, shared across customer surfaces. */
:root{--space-1:8px;--space-2:12px;--space-3:16px;--space-4:24px;--space-5:32px;--space-6:48px;--space-7:64px;--space-8:96px;--content-width:1320px;--page-gutter:clamp(16px,4vw,48px);--floating-bottom:16px;--box-height:0px}
.wrap,.member-shell,.payment-shell{max-width:var(--content-width);padding-inline:var(--page-gutter);margin-inline:auto;min-width:0}
.section{padding-block:var(--space-7)}
h2{line-height:1.12}h3{line-height:1.4}p{line-height:1.7}
.product-grid:not(.browse-list){grid-template-columns:repeat(4,minmax(0,1fr));column-gap:var(--space-4);row-gap:var(--space-2)}
.product-grid:not(.browse-list)>.browse-card{display:grid;grid-row:span 8;grid-template-rows:subgrid;min-width:0;padding-bottom:var(--space-5)}
.product-grid:not(.browse-list) .browse-info{display:contents}
.product-grid:not(.browse-list) .product-photo{aspect-ratio:4/3;width:100%;align-self:start;border-radius:4px}
.product-grid:not(.browse-list) .product-photo img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover}
.product-grid:not(.browse-list) .browse-badge{margin:0;line-height:1.5;font-size:12px}
.product-grid:not(.browse-list) h3{margin:0;min-height:0;font-size:16px;line-height:1.45;align-self:start}
.product-grid:not(.browse-list) .unit{margin:0;min-height:0;font-size:13px;line-height:1.6;overflow-wrap:normal}
.browse-card .supplier-badges{gap:8px;align-content:start;align-items:start}
.browse-card .supplier-badges span,.browse-card .recommend-badge{font-size:11px;line-height:1.5;padding:4px 8px;white-space:normal;word-break:normal;max-width:100%}
.browse-card .supplier-badges small{font-size:11px;line-height:1.5}
.browse-card [data-ice-rating]{font-size:12px;line-height:1.5;align-self:start}
.product-grid:not(.browse-list) .product-price{margin:0;align-self:end;align-items:center;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;min-height:56px}
.browse-card .product-price strong{font-size:22px;font-weight:500;line-height:1.2;white-space:nowrap;font-variant-numeric:tabular-nums}
.browse-card .product-price small{font-size:11px;line-height:1.5;margin-top:4px}
.browse-quantity button{min-height:44px;min-width:36px}
.browse-card>.demand-progress{margin:0;display:flex;flex-direction:column;justify-content:space-between;gap:12px;font-size:12px;line-height:1.5;padding-top:12px;border-top:1px solid var(--line);font-variant-numeric:tabular-nums}
.browse-card>.demand-progress progress{margin:0;width:100%;height:5px}
.browse-list .browse-card>.demand-progress{grid-column:2/-1}
.browse-list .unit{display:block;-webkit-line-clamp:unset;overflow:visible}
.browse-toolbar,.catalogue-tools{gap:16px}.browse-toolbar label{display:flex;gap:8px;align-items:center;min-width:0}.browse-toolbar select{min-width:0;max-width:100%}
#uni .uni-delivery{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:48px;align-items:start}
#uni .uni-delivery h2{margin:0 0 24px}#uni .uni-delivery>div>p{max-width:52ch;margin-bottom:24px}
.delivery-policies{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.delivery-policies>p,.delivery-policies>a{grid-column:1/-1}
.delivery-policies article{padding:24px;background:#eeeee2;border-top:2px solid #345442;min-width:0}.delivery-policies h3{font-size:14px;margin:0 0 16px;font-weight:600}.delivery-policies dl{margin:0}.delivery-policies dl>div{border-top:1px solid #d7d8ca;padding-block:12px}.delivery-policies dt{font-size:12px;color:var(--muted)}.delivery-policies dd{font-size:18px;margin:4px 0 0;color:var(--ink);font-variant-numeric:tabular-nums}
#uni .uni-products{align-items:stretch}#uni .uni-product{display:flex;flex-direction:column;gap:12px}#uni .uni-product h3,#uni .uni-product p{margin:0}#uni .uni-product .uni-progress{margin-top:auto}#uni .uni-action{margin-top:12px}.uni-product-image img{aspect-ratio:4/3;object-fit:cover}.uni-product-image{margin:0}.uni-product-image figcaption{min-height:3.2em}
.uni-source{padding-block:64px;margin-top:32px;border-top:1px solid var(--line)}.uni-source>h3{margin-bottom:16px}.uni-source>p{max-width:65ch;margin-top:12px}
footer.wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px;padding-block:48px!important;border-top:1px solid var(--line);align-items:start;margin-top:32px}
footer nav{display:flex;flex-direction:column;gap:12px;align-items:flex-start}footer p{margin:0 0 12px}footer .story-link{margin:0}footer a{line-height:1.6}footer .ice-brand-line{max-width:38ch}footer .ice-brand{max-width:100%}
footer.wrap:not(.uni-footer)>.ice-brand-line,footer.wrap:not(.uni-footer)>.story-link{grid-column:1/-1}footer.wrap:not(.uni-footer)>div{min-width:0}
.member-shell .member-card,.payment-card{margin-block:24px;padding:24px;border-color:var(--line)}.member-shell h2,.payment-card h2{line-height:1.3}.account-navigation,.payment-heading{flex-wrap:wrap;gap:16px}input,select,textarea{max-width:100%}
#selection-summary{bottom:var(--floating-bottom);right:16px;max-width:min(620px,calc(100vw - 32px));gap:16px;padding:16px;z-index:60}
body:has(#selection-summary:not([hidden])){padding-bottom:calc(var(--box-height) + 48px)}
body>.ice-support:not(.ice-support-inline),.whatsapp-float{bottom:calc(var(--floating-bottom) + var(--box-height) + 16px)!important;right:16px;z-index:65}
body:has(dialog[open])>.ice-support,body:has(dialog[open])>.whatsapp-float{display:none}
#toast{bottom:calc(var(--floating-bottom) + var(--box-height) + 80px)!important}
@media(max-width:1100px){.product-grid:not(.browse-list){grid-template-columns:repeat(3,minmax(0,1fr))}#uni .uni-delivery{grid-template-columns:1fr;gap:32px}}
@media(max-width:800px){.product-grid:not(.browse-list){grid-template-columns:repeat(2,minmax(0,1fr))}.section{padding-block:48px}footer.wrap{grid-template-columns:1fr 1fr}.footer-story{grid-column:1/-1}.section-heading{gap:24px;flex-wrap:wrap}}
@media(max-width:480px){.product-grid:not(.browse-list){grid-template-columns:1fr}.delivery-policies{grid-template-columns:1fr}footer.wrap{grid-template-columns:1fr;gap:24px}.uni-source{padding-block:48px;margin-top:24px}.browse-toolbar{align-items:stretch}.browse-toolbar label{width:100%;justify-content:space-between}.browse-list .product-price{flex-wrap:wrap}.catalogue-tools{flex-wrap:wrap}.search,.search input{width:100%}.filters{flex-wrap:wrap}.pack-legend{flex-wrap:wrap;gap:12px}.member-shell .member-card,.payment-card{padding:16px}#selection-summary{left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));max-width:none;border-radius:8px;padding:12px;gap:8px}#selection-summary strong{font-size:13px}#selection-summary small{font-size:11px}#selection-summary button{padding:12px 8px;font-size:12px}.uni-header{gap:12px}.uni-header img{width:96px}}
@supports not (grid-template-rows:subgrid){.product-grid:not(.browse-list)>.browse-card{display:flex;flex-direction:column;gap:12px}.product-grid:not(.browse-list) .browse-info{display:flex;flex:1;flex-direction:column;gap:12px}.product-grid:not(.browse-list) .product-price{margin-top:auto}}
footer .plain{margin:0;padding:0;text-align:left;line-height:1.6}footer .ice-brand{display:inline-block;margin-bottom:16px}.footer-story>p:last-child{font-size:11px}
footer nav a{padding:0;display:inline-block;min-height:24px}footer nav p{margin:0}footer nav{row-gap:16px}
footer [hidden]{display:none!important}
/* Product intent, image roles and separate review actions. */
.product-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:16px;margin-block:24px}.product-gallery figure{margin:0;min-width:0}.product-gallery img,#product-detail .product-gallery img,.uni-detail .product-gallery img{width:100%;height:260px;object-fit:contain;background:#eeeee2;float:none}.product-gallery figcaption{font-size:12px;line-height:1.6;margin-top:8px}.product-gallery>p{grid-column:1/-1;font-size:13px}.product-purchase{padding:24px;background:#eeeee2;margin:24px 0}.product-purchase h3{margin-top:0}.product-purchase .browse-quantity{justify-content:flex-start}.detail-demand{margin-top:16px}.ice-reviews{border-top:1px solid var(--line);margin-top:32px;padding-top:24px;clear:both}.write-review{display:inline-block;margin-top:16px}.product-purchase progress{width:100%}.preparation-info{margin-block:24px}.browse-quantity.is-empty button:last-child{white-space:normal;min-height:44px}.voice-shell [hidden]{display:none!important}
#preparation-filter{margin:16px 0}#preparation-filter label{display:flex;align-items:center;gap:12px;flex-wrap:wrap}#preparation-filter select{max-width:100%;min-height:44px}
.product-gallery:has(figure:only-of-type){grid-template-columns:1fr}
