/* PDP Header · To-be — Figma 3946:1614. Semantic aliases resolve the approved library tokens. */
.tb-pdp,.tb-sticky{--text-body:#3a5b39;--text-secondary:#57534c;--background-default:#fef9eb;--background-warm:#f8eccb;--background-callback-soft:#fdf3d8;--color-border-brand:#8aad86;--color-border-selected:#3a5b39;--color-border-default:#bdb7a5;--color-border-subtle:#d8d2c0;--commerce-product-card-border:#e7e9c9;--commerce-product-card-border-hover:#bfcd89;--selection-option-surface-selected:#fff3d2;--action-primary-surface:#f7c15e;--action-primary-content:#2f4a2e;--heading-product-color:#234927;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-50:50px;--radius-button:6px;--radius-input-focus:8px;--radius-product-image:10px;--body-sm:14px;--body-sm-line:20px;font-family:Manrope,sans-serif;color:var(--text-body);background:var(--background-default);font-size:var(--body-sm);line-height:var(--body-sm-line)}
.tb-pdp *, .tb-sticky *{box-sizing:border-box}.tb-pdp a,.tb-sticky a{color:inherit}.tb-pdp button,.tb-sticky button,.tb-pdp input,.tb-sticky input,.tb-sticky select{font:inherit;color:inherit;letter-spacing:normal;text-transform:none}.tb-pdp button,.tb-sticky button{cursor:pointer}.tb-pdp button:disabled{opacity:.4;cursor:default}.tb-pdp :focus-visible,.tb-sticky :focus-visible{outline:2px solid var(--color-border-selected);outline-offset:var(--space-xs)}.tb-pdp .tb-icon,.tb-sticky .tb-icon{display:block;flex:none;max-width:none;width:auto;height:auto;object-fit:contain}.tb-pdp [hidden],.tb-sticky[hidden]{display:none!important}.tb-pdp p{margin:0}/* Breadcrumb Desktop 1593:364 / Mobile 1593:370. Surface and separator are unbound source values. */
.tb-breadcrumb{--breadcrumb-home-surface:#edf0d1;--breadcrumb-separator-text:#8c967d;display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--page-inset) 0;font-size:14px;font-weight:500;line-height:21px;flex-wrap:wrap}
.tb-breadcrumb a{text-decoration:none;white-space:nowrap}.tb-breadcrumb a:hover{text-decoration:underline;text-underline-offset:3px}.tb-breadcrumb-home{display:flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:4px;background:var(--breadcrumb-home-surface)}.tb-breadcrumb-separator{font-size:12px;line-height:18px;color:var(--breadcrumb-separator-text)}
.tb-header{display:grid;grid-template-columns:640px minmax(0,1fr);gap:var(--space-50);padding:20px var(--page-inset) var(--space-xl);width:100%;margin:0 auto}.tb-gallery{display:flex;flex-direction:column;gap:var(--space-md);min-width:0}.tb-main{position:relative;aspect-ratio:1;overflow:hidden;border:1px solid var(--color-border-brand);border-radius:var(--radius-product-image)}.tb-media{width:100%;height:100%;overflow:hidden}.tb-pdp [data-local-slide]{display:none!important;width:100%!important;height:100%;margin:0!important;transform:none!important}.tb-pdp [data-local-slide].is-selected{display:block!important}.tb-pdp [data-local-slide]>img{width:100%;height:100%;display:block;object-fit:contain}.tb-main>.product__thumb-arrow{display:flex!important;align-items:center;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;padding:0;border:2px solid var(--color-border-selected);border-radius:20px;background:var(--background-default);z-index:1}.tb-main>.product__thumb-arrow--prev{left:var(--space-md);right:auto}.tb-main>.product__thumb-arrow--next{right:var(--space-md);left:auto}.tb-thumbnails{display:flex;gap:12px;width:100%;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain}.tb-thumbnails::-webkit-scrollbar{display:none}.tb-thumbnails button{padding:0;width:90px;height:90px;flex:0 0 90px;border:1px solid var(--commerce-product-card-border-hover);border-radius:var(--radius-input-focus);overflow:hidden;background:transparent}.tb-thumbnails button.is-active{border-color:var(--color-border-selected)}.tb-thumbnails img{display:block;width:100%;height:100%;object-fit:contain}.tb-info,.tb-form{display:flex;flex-direction:column;gap:20px;min-width:0}.tb-title-block{display:flex;flex-direction:column;gap:12px}.tb-pdp h1{font-family:Moret,Georgia,serif;font-size:30px;line-height:36px;font-weight:400;color:var(--heading-product-color);letter-spacing:0;margin:0;text-transform:none}.tb-rating{display:flex;gap:10px;align-items:center;text-decoration:none;min-height:28px;font-size:12px}.tb-stars{display:flex;gap:5px;align-items:center}.tb-last-star{display:block;clip-path:inset(0 20% 0 0)}.tb-pdp .tb-price{font-family:Manrope,sans-serif;font-weight:600;font-size:20px;line-height:24px;color:var(--text-body);margin:0}.tb-form{margin:0;padding:0}.tb-promotion{background:var(--background-warm);border-radius:var(--radius-button);padding:var(--space-sm) 12px}.tb-options{padding:0;margin:0;border:0;min-width:0}.tb-options legend{font-size:var(--body-sm);font-weight:600;line-height:var(--body-sm-line);margin:0 0 var(--space-sm);padding:0;text-transform:none;letter-spacing:0;float:none}.tb-options>div{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.tb-options label{position:relative;margin:0;letter-spacing:0;text-transform:none;font-weight:400}.tb-options input{position:absolute;opacity:0;width:1px;height:1px}.tb-options label>span{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);height:30px;padding:0 12px;font-size:13px;border:1px solid var(--color-border-brand);border-radius:var(--radius-button);cursor:pointer;white-space:nowrap}.tb-options input:checked+span{background:var(--selection-option-surface-selected);border-color:var(--color-border-selected)}.tb-options input:focus-visible+span{outline:2px solid var(--color-border-selected);outline-offset:2px}.tb-guidance{padding:12px var(--space-md);border-radius:var(--radius-button);background:var(--background-warm);font-size:12px;line-height:16px}.tb-guidance p+p{margin-top:var(--space-xs)}.tb-guidance a{display:inline-block;margin-top:var(--space-sm);text-decoration:underline;text-underline-offset:3px;min-height:24px}.tb-stock{position:relative;display:flex;align-items:center;gap:var(--space-sm);font-size:16px;line-height:24px;min-width:0}.tb-delivery-message{display:flex;flex-wrap:wrap;align-items:center;min-width:0;overflow-wrap:anywhere}.tb-delivery-date{font-size:inherit;line-height:inherit;font-weight:700;max-width:100%}.tb-delivery-info{flex:0 0 16px}.tb-delivery-info summary{display:flex;align-items:center;justify-content:center;width:16px;height:24px;cursor:pointer;list-style:none}.tb-delivery-info summary::-webkit-details-marker{display:none}.tb-delivery-info summary:focus-visible{outline:2px solid var(--color-border-selected);outline-offset:4px}.tb-info-icon{display:block;position:relative;width:16px;height:16px;mask:url(/figma/pdp-tobe/4925f.svg) center/16px 16px no-repeat}.tb-info-icon img{position:absolute;left:.476px;top:.476px;max-width:none}.tb-delivery-popover{position:absolute;z-index:5;top:calc(100% + 8px);right:0;width:min(100%,360px);padding:var(--space-md);border:1px solid var(--color-border-brand);border-radius:var(--radius-button);background:var(--background-default);box-shadow:0 4px 12px #00000014;font-size:14px;line-height:20px}.tb-delivery-popover p{margin:var(--space-sm) 0 0}.tb-delivery-info:not([open]) .tb-delivery-popover{display:none}.tb-purchase{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md)}.tb-quantity{display:grid;grid-template-columns:40px 40px 40px;flex:none;width:120px;height:50px;border:1px solid var(--color-border-brand);border-radius:var(--radius-button);overflow:hidden}.tb-quantity button{position:static!important;display:flex;justify-content:center;align-items:center;width:auto;height:48px;padding:0;border:0;background:transparent;transform:none}.tb-quantity input{width:40px;min-width:0;height:48px;margin:0;padding:0;border:0;background:transparent;text-align:center;appearance:textfield;font-size:20px}.tb-quantity input::-webkit-inner-spin-button{appearance:none}.tb-cart{border:0!important;border-radius:var(--radius-button);height:50px;min-width:156px;flex:1;max-width:600px;background:var(--action-primary-surface);color:var(--action-primary-content)!important;font-size:20px!important;line-height:22px;font-weight:600!important;padding:0 var(--space-lg)}.tb-pdp .tb-installments{display:flex;gap:var(--space-xs);flex-wrap:wrap;align-items:center;font-size:14px;line-height:20px;margin:0}.tb-installments button{border:0;background:transparent;text-decoration:underline;padding:0;font-size:12px}.tb-reassurance{display:flex;justify-content:space-between;gap:var(--space-sm);font-size:12px}.tb-reassurance a{text-decoration:underline;text-underline-offset:3px}.tb-details{width:100%;border-top:1px solid var(--commerce-product-card-border)}.tb-detail{padding:var(--space-md) 0;border-bottom:1px solid var(--commerce-product-card-border);scroll-margin-top:var(--space-lg)}.tb-detail summary{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);font-family:Moret,Georgia,serif;font-size:24px;line-height:29px;list-style:none;cursor:pointer}.tb-detail summary::-webkit-details-marker{display:none}.tb-expand{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex:none}.tb-detail .tb-minus{display:none}.tb-detail[open] .tb-plus{display:none}.tb-detail[open] .tb-minus{display:block}.tb-detail-body{display:flex;flex-direction:column;gap:var(--space-md);padding-top:var(--space-md);font-size:var(--body-sm);line-height:var(--body-sm-line)}.tb-detail-body a{text-decoration:underline;text-underline-offset:3px}.tb-detail-body ul{margin:0;padding-left:20px}.tb-benefits{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}/* Sticky Add to Cart: Desktop 5722:4537 / Mobile 5722:19622. Fixed control geometry from source. */
.tb-sticky{position:fixed;bottom:0;left:0;right:0;z-index:50;min-height:78px;padding:12px var(--page-inset);border-top:1px solid var(--color-border-subtle);box-shadow:0 -4px 12px #00000014;display:flex;align-items:center;gap:var(--space-lg)}
.tb-sticky-product{display:flex;align-items:center;gap:var(--space-md);flex:1;min-width:0}
.tb-sticky-product>img{width:54px;height:54px;flex:none;object-fit:contain;border-radius:var(--radius-product-image)}
.tb-sticky-detail{display:flex;flex-direction:column;gap:var(--space-xs);min-width:0;flex:1}
.tb-sticky-title{font-family:Moret,Georgia,serif;font-size:16px;line-height:24px;font-weight:400}
.tb-sticky-options{display:flex;gap:var(--space-sm);min-width:0}
.tb-sticky label{display:flex;flex-direction:column;gap:var(--space-sm);letter-spacing:0;text-transform:none;margin:0;min-width:0;font-size:var(--body-sm);line-height:var(--body-sm-line);font-weight:600}
.tb-sticky-options>label{flex:0 1 220px}
.tb-sticky-options>label>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.tb-sticky select{appearance:none;width:100%;height:24px;min-width:0;margin:0;padding:0 32px 0 12px;border:1px solid var(--color-border-default);border-radius:var(--radius-input-focus);background:var(--background-default) url(/figma/pdp-tobe/sticky-caret.svg) right 8px center/16px 16px no-repeat;font-size:12px;line-height:16px;font-weight:400;text-align:left;text-overflow:ellipsis}
.tb-sticky #tb-sticky-price{flex:none;font-size:20px;line-height:24px;font-weight:600;white-space:nowrap}
.tb-sticky-stepper{display:flex;align-items:center;flex:0 0 120px;height:42px;border:1px solid var(--color-border-brand);border-radius:var(--radius-button);overflow:hidden}
.tb-sticky-stepper button,.tb-sticky-stepper input{flex:1;min-width:0;width:0;height:40px;padding:0;margin:0;border:0;border-radius:0;background:transparent;font-size:var(--body-sm);line-height:var(--body-sm-line);text-align:center}
.tb-sticky-stepper button{display:flex;align-items:center;justify-content:center}
.tb-sticky-stepper button:disabled{opacity:.4;cursor:default}
.tb-sticky-stepper img{width:12px;height:12px;object-fit:contain}
.tb-sticky-stepper input{appearance:textfield}.tb-sticky-stepper input::-webkit-inner-spin-button{appearance:none}
.tb-sticky .tb-sticky-mobile-qty{display:none}
.tb-sticky .tb-cart{flex:0 0 auto;min-width:156px;max-width:none;height:40px;padding:0 var(--space-lg);font-size:var(--body-sm)!important;line-height:var(--body-sm-line);font-weight:700!important}
.tb-sticky-visible{padding-bottom:var(--sticky-purchase-height,94px)}

@media(min-width:1024px) and (max-width:1519px){.tb-header{grid-template-columns:minmax(0,640px) minmax(0,1fr)}}
@media(min-width:768px) and (max-width:1350px){.tb-header{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-xl)}}
@media(max-width:767px){.tb-breadcrumb{padding:var(--space-md);font-size:12px;line-height:18px}.tb-header{display:flex;flex-direction:column;padding:0;gap:20px}.tb-gallery{width:100%;gap:var(--space-sm)}.tb-main{width:100%;border:0;border-radius:0}.tb-main>.product__thumb-arrow{display:none!important}.tb-thumbnails{padding:0 var(--space-md);gap:var(--space-sm)}.tb-thumbnails button{width:56px;height:56px;flex-basis:56px}.tb-info{padding:0 var(--space-md) var(--space-md);width:100%}.tb-title-block{gap:12px}.tb-options label>span{min-height:44px;height:auto}.tb-cart{min-width:0}.tb-benefits{grid-template-columns:1fr}.tb-sticky{min-height:94px;padding:12px var(--space-md);gap:var(--space-sm);align-items:flex-end}
.tb-sticky-product,.tb-sticky-detail,.tb-sticky-options{display:contents}
.tb-sticky-product>img,.tb-sticky-title,.tb-sticky .tb-sticky-glazing,.tb-sticky #tb-sticky-price,.tb-sticky-stepper{display:none}
.tb-sticky .tb-sticky-size{flex:1;min-width:0}
.tb-sticky-options>label>span{position:static;width:auto;height:auto;overflow:visible;clip-path:none}
.tb-sticky select{height:40px;font-size:var(--body-sm);line-height:var(--body-sm-line)}
.tb-sticky .tb-sticky-mobile-qty{display:flex;flex:0 0 56px}
.tb-sticky-mobile-qty select{padding:0 14px 0 2px;text-align:center;background-position:right 3px center}
.tb-sticky .tb-cart{min-width:128px;flex:0 0 128px;padding:0 var(--space-lg)}
.tb-reassurance{flex-wrap:wrap}.tb-pdp h1{font-size:30px;line-height:36px}}

.tb-header{align-items:start}.tb-main{flex:none!important;margin:0!important;width:100%!important;min-height:0!important}.tb-media{position:absolute;inset:0}.tb-options input:not(:checked)+span>.tb-icon{visibility:hidden}

.tb-installments .tb-shop-mark{display:inline-flex;flex:none;align-items:center}
.tb-installments .tb-shop-logo{width:76px;height:22px;display:block;max-width:none}
@media(max-width:767px){.tb-installments .tb-shop-logo{width:48px;height:14px}}.tb-shipping-icon{display:flex;width:20px;height:20px;flex:0 0 20px;align-items:center;justify-content:center}.tb-shipping-icon img{width:auto;height:auto;max-width:none;transform:scale(.625)}.tb-detail-body .tb-benefits{padding:0;list-style:none;gap:16px 24px}.tb-benefits li{display:flex;gap:16px;align-items:center;min-width:0}.tb-benefits li>span{display:flex;align-items:center;justify-content:center;padding:12px;border:1px solid var(--color-border-selected);border-radius:999px;flex:none}.tb-benefits a{font-weight:600}/* Complete Your Setup V2: source 6274:1017; quantity states 6327:1115 / 6485:1566. */
.tb-setup{--setup-action-surface:#e0e8c0;--setup-border:#e0e8c0;--setup-text-secondary:#78736a;display:flex;flex-direction:column;gap:20px}
.tb-setup-heading{display:flex;flex-direction:column;gap:10px}.tb-setup h2{font-family:Moret,Georgia,serif;font-size:24px;line-height:29px;font-weight:400;margin:0;color:var(--text-body)}
.tb-setup-heading p{font-size:16px;line-height:24px;color:var(--setup-text-secondary)}.tb-setup>p{font-size:12px;line-height:16px;color:var(--setup-text-secondary)}
.tb-setup-list{border:1px solid var(--setup-border);border-radius:16px;overflow:hidden}
.tb-setup-row{position:relative;display:flex;align-items:center;gap:16px;padding:16px}.tb-setup-row+.tb-setup-row{border-top:1px solid var(--setup-border)}.tb-setup-row[data-selected=true]{background:var(--selection-option-surface-selected)}
.tb-pdp .tb-addon-select{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent;z-index:1;border-radius:0}.tb-pdp .tb-addon-select:focus-visible{outline-offset:-3px}
.tb-addon-image{width:52px;height:52px;object-fit:contain;border:1px solid transparent;border-radius:8px;flex:none}.tb-setup-row[data-selected=true] .tb-addon-image{border-color:var(--color-border-selected)}
.tb-addon-name{flex:1;min-width:0;font-size:14px;font-weight:600;line-height:20px}.tb-addon-action{display:flex;gap:12px;align-items:center;flex:none}.tb-addon-price{font-size:16px;line-height:24px;white-space:nowrap}
.tb-addon-controls{position:relative;z-index:2;display:flex;align-items:center;justify-content:flex-end;flex:none;width:96px;height:48px;border-radius:999px}
.tb-addon-controls button{display:flex;flex:none;width:48px;height:48px;border:0;border-radius:999px;background:var(--setup-action-surface);align-items:center;justify-content:center;padding:0}.tb-addon-controls button img{width:24px;height:24px}
.tb-setup-row[data-selected=true] .tb-addon-controls{justify-content:center;background:var(--background-default);box-shadow:inset 0 0 0 1px var(--color-border-brand)}
.tb-setup-row[data-selected=true] .tb-addon-controls button{width:40px;background:transparent}.tb-addon-controls button:disabled{opacity:.4;cursor:default}.tb-addon-controls output{display:flex;align-items:center;justify-content:center;flex:none;width:16px;height:48px;text-align:center;font-size:16px;font-weight:700;line-height:24px}

@media(max-width:767px){.tb-setup-row{gap:8px;padding:16px 8px}.tb-addon-image{width:40px;height:40px}.tb-addon-action{flex-direction:column;align-items:flex-end;gap:8px}.tb-addon-controls button{height:48px}}

/* Keep one vertical scroll owner. The retained body overflow-x:hidden otherwise
   creates a nested scroll container when the root clips horizontally. */
html:has(.tb-pdp){overflow-x:hidden;overflow-y:auto}
body:has(.tb-pdp){overflow-x:clip;overflow-y:visible}

/* PDP Stock and delivery: Mobile 8642:2765; allow long dates to wrap without clipping. */
@media(max-width:767px){.tb-stock{font-size:var(--body-sm);line-height:var(--body-sm-line)}.tb-delivery-message{flex:1}.tb-delivery-info summary{height:24px}}

/* Callback V5: Desktop 7691:45449 / 7691:45481, Mobile 7691:45513.
   Follow current rendered masters; their solid-CTA description is stale. */
.tb-callback{padding:var(--space-md) var(--space-md) var(--space-xs);background:var(--background-callback-soft);min-width:0}
.tb-callback-intro{display:flex;align-items:flex-start;gap:12px;min-width:0}
.tb-advisor{position:relative;display:block;flex:0 0 48px;width:48px;height:48px}
.tb-advisor-portrait{display:block;width:48px;height:48px;border-radius:50%}
.tb-advisor-ring,.tb-advisor-online{position:absolute;left:36px;top:36px;max-width:none}
.tb-advisor-center{position:absolute;left:39.5px;top:39.5px;max-width:none}
.tb-callback-copy{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-sm);min-width:0}
.tb-callback-text{display:flex;flex-direction:column;gap:var(--space-xs);font-size:14px;line-height:20px;color:var(--text-body)}
.tb-callback-text strong{font-size:inherit;line-height:inherit;font-weight:700}
.tb-callback-actions{display:flex;align-items:center;gap:var(--space-xl)}
.tb-callback-actions a,.tb-callback-actions button{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-sm);height:40px;min-height:40px;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--text-secondary);font-family:Manrope,sans-serif;font-size:14px;font-weight:400;line-height:20px;text-transform:none;letter-spacing:0;cursor:pointer;white-space:nowrap}
.tb-callback-actions a{width:128px;text-decoration:none}.tb-callback-actions button{width:149px}
.tb-callback-actions span{text-decoration:underline;text-underline-offset:2px}
.tb-callback-actions img{display:block;width:20px;height:20px;flex:0 0 20px}
.tb-callback-actions :is(a,button):focus-visible{outline:2px solid var(--color-border-selected);outline-offset:2px}
@media(max-width:767px){.tb-callback-copy{flex:1}.tb-callback-text strong{font-size:16px;line-height:22px}.tb-callback-actions{flex-direction:column;align-items:flex-start;gap:0;width:100%}.tb-callback-actions a,.tb-callback-actions button{height:44px;min-height:44px;width:100%}}
