/* Final layout corrections: natural content height, consistent rhythm, no nested card scrolling. */
:root{--space-section:clamp(32px,5vw,64px)}
main>section{padding-top:var(--space-section);padding-bottom:var(--space-section)}
main>section.hero{padding-top:24px;padding-bottom:32px;min-height:0}
.hero .herocopy{padding:24px 6%}.hero .actions{margin:24px 0 8px}.brand-hero{max-width:510px;justify-self:center;width:100%}
main>#seo-entry{padding-top:16px;padding-bottom:24px}#seo-entry h2{margin-bottom:12px}#seo-entry p{margin:0}
main>.offers{padding-top:16px;padding-bottom:24px}.offers .poster-frame{width:min(100%,480px)}
#catalog{padding-top:32px;padding-bottom:24px}.plant-ribbon:last-child{margin-bottom:0}.ribbon-hint{margin-bottom:0}
.product-track{align-items:stretch;padding-bottom:12px}.product-track>.product{height:auto;max-height:none;overflow:visible;min-width:0}
.product-track .productbody{height:auto;min-width:0;flex:1;display:flex;flex-direction:column}.product-track .cardactions{margin-top:auto}
.product-track .visual{height:128px;min-height:128px}.product-track .spec{flex-wrap:wrap;gap:3px 8px;font-size:12px}
.product-track .costlines{font-size:12px;line-height:1.45}.product-track .cardactions button{font-size:12px;min-height:42px}
#estimate{height:auto;min-height:0;overflow:visible;row-gap:24px;margin-bottom:0}
#estimate .calcbox{height:auto;max-height:none;overflow:visible;align-self:start}
#estimate .calcbox select{width:100%;min-width:0;font-size:14px}#calcresult strong{overflow-wrap:anywhere}#calcresult .total{font-size:clamp(22px,3vw,28px);line-height:1.25}
#delivery{margin-top:0;padding-top:var(--space-section);padding-bottom:var(--space-section)}
#delivery .deliverynote{margin-top:18px}.deliverynote a{text-underline-offset:4px;text-decoration:underline}
.contacts-with-logo{min-width:0}.contactgrid>div{min-width:0}.phone span,.work-email span{min-width:0;overflow-wrap:anywhere}.work-email span{word-break:normal}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}input,select,textarea{font-size:16px}button:disabled{opacity:.5;cursor:not-allowed}
#banner-request{overflow:auto;max-height:calc(100dvh - 24px)}
#cart,#detail{max-height:calc(100dvh - 24px);overscroll-behavior:contain}dialog .actions{gap:12px}dialog .button{line-height:1.4}
.mobile-contactbar{display:none}.seo-main h1{letter-spacing:-1px;overflow-wrap:anywhere}.seo-main .seo-specs dd{min-width:0;overflow-wrap:anywhere}.seo-main .seo-card{box-shadow:0 4px 18px #51321d06}
@media(max-width:740px){
 body{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
 header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:12px 5%}
 header .brand{min-width:0;gap:9px}header .brand img{width:56px;height:59px;border-radius:12px}header .brand-name{font-size:18px;white-space:normal}header .brand-name small{font-size:10px;line-height:1.35;margin-top:3px}
 header .cartbtn{font-size:11px;padding:11px 10px;margin:0;white-space:nowrap;min-height:42px}
 header nav{grid-column:1/-1;order:3;width:100%;max-width:100%;min-width:0;overflow-x:auto;justify-content:flex-start;gap:20px;padding:6px 0 8px;font-size:13px;white-space:nowrap;scrollbar-width:thin}
 header nav a{flex-shrink:0;padding:5px 0}
 main>section.hero{padding:12px 5% 24px}.hero .herocopy{padding:12px 0}.hero .actions{gap:16px;margin:22px 0 10px}.hero .actions .button{min-height:46px;font-size:14px}
 .hero .brand-hero{max-width:340px;margin:8px auto 0}.herocopy>p{font-size:16px;line-height:1.6}.herocopy h1{font-size:clamp(40px,11vw,54px)}
 main>#seo-entry{padding:12px 5% 24px}#seo-entry h2{font-size:25px;letter-spacing:-.7px}#seo-entry p{font-size:15px}
 main>.offers{padding:10px 5% 24px}.offercontrols{padding-top:14px}.offerbuttons button{min-width:40px;min-height:40px}.offerdots button{min-height:8px}.offerfootnote{line-height:1.5}
 #catalog{padding:24px 5%}.cataloglayout{gap:20px}.cataloglayout aside{gap:14px;padding:16px}.cataloglayout aside label{font-size:12px}.cataloglayout select{font-size:16px}.catalogtop{gap:12px}.catalogtop select{max-width:160px;font-size:13px}
 .ribbon-head{gap:8px}.ribbon-head h3{font-size:23px}.ribbon-head p{font-size:12px;line-height:1.45}.ribbon-arrows button{height:40px;width:40px}.ribbon-hint{font-size:12px}.plant-ribbon{margin-bottom:28px}
 .product-track>.product{flex-basis:min(290px,82vw);height:auto;max-height:none;overflow:visible}.product-track .visual{height:112px;min-height:112px}.product-track .productbody{padding:12px 14px}.product-track .product h3{font-size:20px;line-height:1.25;margin:6px 0 9px}.product-track .meta{font-size:12px}.product-track .price{font-size:27px}.product-track .price small{font-size:12px}.product-track .pill{font-size:12px;max-width:calc(100% - 16px)}.product-track .pallet{font-size:13px}.product-track .pallet b{font-size:21px}.product-track .cardactions{gap:7px}
 #estimate{padding:28px 5%;row-gap:22px;margin-left:3%;margin-right:3%}#estimate h2{font-size:32px}#estimate p{font-size:14px;line-height:1.6}.calcbox label{font-size:13px}.calcbox input,.calcbox select,#estimate .calcbox select{font-size:16px}.calcbox .costlines{font-size:13px}.calcbox .button{min-height:46px;font-size:14px}.calcbox>small{font-size:12px}
 #delivery{padding:32px 5%}#delivery h2{font-size:32px}.logistics-flow{padding:14px 7px;gap:1px}.flow-step{padding:6px 2px}.flow-step strong{font-size:11px;line-height:1.4}.flow-arrow{font-size:13px}.deliverynote strong{font-size:17px}.deliverynote p,.deliverynote a{font-size:14px}
 #contacts{padding:32px 5%}.contacts-with-logo{grid-template-columns:minmax(0,1fr) 82px;gap:12px}.contacts-with-logo .phone{font-size:clamp(17px,4.8vw,23px)}.contacts-with-logo .work-email{font-size:clamp(14px,3.8vw,18px)}.contacts-with-logo .showroom h3{font-size:17px}.contact-logo{align-self:center}
 .mobile-contactbar{display:grid;grid-template-columns:1fr 1.1fr;gap:10px;position:fixed;z-index:30;bottom:0;left:0;right:0;padding:10px 5% calc(10px + env(safe-area-inset-bottom,0px));background:#faf6eff5;border-top:1px solid #dfd3c3;box-shadow:0 -3px 20px #382c250c;backdrop-filter:blur(12px)}
 .mobile-contactbar a,.mobile-contactbar button{display:flex;align-items:center;justify-content:center;gap:7px;font-size:14px;min-height:46px;padding:10px 12px;border-radius:30px;border:1px solid var(--action-green);font-weight:650}.mobile-contactbar a{background:#eef5ee;color:#106b39}.mobile-contactbar button{background:var(--action-green);color:white}.mobile-contactbar svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
 #toast{bottom:calc(90px + env(safe-area-inset-bottom,0px));max-width:90vw;width:max-content;font-size:13px;text-align:center;padding:12px 18px}
 .seo-main{padding:24px 5% 36px}.seo-main h1{font-size:30px;line-height:1.16}.seo-main .seo-detail{gap:18px}.seo-main .seo-specs{font-size:14px;grid-template-columns:1fr 1.1fr;column-gap:12px}.seo-main .seo-total{padding:16px}.seo-main .seo-card h2{font-size:21px;letter-spacing:-.3px}.seo-main .seo-card .button{min-height:44px}.seo-main table td{white-space:normal}.seo-main section{padding:22px 0}
 footer{padding:24px 5%;gap:15px}footer p{font-size:12px;line-height:1.6}.seo-footer{font-size:14px}
 #banner-request .twocol{grid-template-columns:1fr;gap:0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(max-width:380px){.offercontrols{flex-wrap:wrap;row-gap:12px}.offerbuttons{margin-left:auto}.offerdots{gap:6px}.offerdots button{width:18px}.offerdots button[aria-current=true]{width:28px}}

.cartrow{grid-template-columns:minmax(0,1fr) 85px 100px 28px}.cartrow>span{min-width:0;overflow-wrap:anywhere}
@media(max-width:740px){.cartrow{grid-template-columns:minmax(0,1fr) 65px 26px}.cartrow strong{overflow-wrap:anywhere}}

footer .privacy-footer-link{display:block;flex-basis:100%;font-size:14px;line-height:1.5;margin-top:20px;color:inherit;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}

/* Review edits: natural poster dimensions and no persistent bottom toolbar. */
body{padding-bottom:0!important}
#offers .slideshow{width:min(100%,520px);margin-inline:auto;border-radius:28px;background:transparent}
#offers .poster-slide{background:transparent!important}
#offers .poster-frame{width:100%;max-width:none;border-radius:28px;overflow:hidden}
#offers .poster-frame>img{width:100%;height:auto;object-fit:contain;display:block;border-radius:inherit}
#contact-prompt{width:min(520px,calc(100vw - 32px));max-height:85svh;overflow:auto;border:1px solid #dfd3c3;border-radius:28px;padding:28px;background:var(--cream);color:var(--ink);box-shadow:0 20px 80px #36221640}
#contact-prompt::backdrop{background:#241a1555}
#contact-prompt .close{float:right;position:static;width:36px;height:36px;border:0;border-radius:50%}
#contact-prompt h2{clear:both;font-size:28px;line-height:1.2;margin:15px 0}
#contact-prompt p{font-size:16px;line-height:1.6}
.contact-prompt-actions{display:grid;grid-template-columns:1fr 1.2fr;gap:12px;margin-top:24px}
.contact-prompt-actions .button{text-align:center;padding:14px 12px;font-size:15px;line-height:1.4;white-space:normal}
@media(max-width:380px){.contact-prompt-actions{grid-template-columns:1fr}#contact-prompt{padding:20px}#contact-prompt h2{font-size:25px}}
/* The delivery artwork includes a white studio margin. Crop the entire poster,
   including its live hotspots, inside the rounded slide rather than stretching it. */
#offers .poster-slide:has(img[src*="banner-delivery"]){overflow:hidden;border-radius:28px}
#offers .poster-frame:has(>img[src*="banner-delivery"]){transform:scale(1.045,1.012);transform-origin:center}
