/* Product sheet: contained image, coherent controls and one scrolling region. */
#productDetailsModal .product-details-dialog{width:min(1000px,100%);max-height:calc(100dvh - 48px);border-color:#ccdbea;background:#f8fafc}
#productDetailsModal .product-details-modal-header{padding:20px 24px;background:#eef4fa;border-color:#ccdbea}
#productDetailsModal .product-details-modal-heading small{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#526b84}
#productDetailsModal .product-details-modal-heading h2{font-size:clamp(18px,2vw,23px);line-height:1.35;color:#18354f}
#productDetailsModal .product-details-modal-content{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:24px;padding:24px;align-items:start;overflow:auto;scrollbar-width:thin}
#productDetailsModal .product-details-modal-preview{padding:16px;border:1px solid #ccdbea;border-radius:16px;background:#fff;align-self:start;min-width:0}
#productDetailsModal .product-details-modal-preview img{height:auto;width:100%;max-height:min(45dvh,350px);object-fit:contain;object-position:center;display:block}
#productDetailsModal .product-details-modal-body{padding:0;overflow:visible;min-width:0}
#productDetailsModal .product-description{font-size:15px;line-height:1.65;color:#40576e;margin:0 0 20px}
#productDetailsModal .options-section{padding:20px;border:1px solid #ccdbea!important;border-radius:16px;background:#fff!important}
#productDetailsModal .options-section>div>span{color:#526b84!important;font-size:12px!important;line-height:1.5}
#productDetailsModal .option-btns,#productDetailsModal .option-btns-cores{gap:8px}
#productDetailsModal .option-chip{padding:10px 14px;min-height:44px;border:1px solid #afc4d8!important;background:#f8fafc!important;color:#183f60!important;border-radius:10px;line-height:1.3;box-shadow:none;transform:none}
#productDetailsModal .option-chip:hover{background:#e3f0fb!important;border-color:#4383b5!important}
#productDetailsModal .option-chip.selected{background:#165e96!important;color:#fff!important;border-color:#165e96!important;outline-color:#76a5ca;outline-offset:2px;box-shadow:none;transform:none}
#productDetailsModal .qty-input-container{gap:4px;border:1px solid #afc4d8!important;background:#f8fafc!important;padding:4px;border-radius:12px}
#productDetailsModal .qty-input{height:40px;border:0!important;background:transparent!important;color:#18354f!important;box-shadow:none;text-align:center}
#productDetailsModal .qty-btn{height:40px;width:40px;flex:none;border:1px solid #ccdbea;background:#fff;color:#16436a;border-radius:8px;font-size:18px}
#productDetailsModal button[onclick^="addSelection"],#productDetailsModal button[id^="acao-cores-"]{min-height:48px;padding:13px 16px!important;background:#165e96!important;color:#fff!important;border:1px solid #165e96!important;border-radius:12px!important;font-size:14px!important;line-height:1.4}
#productDetailsModal button[onclick^="addSelection"]:hover,#productDetailsModal button[id^="acao-cores-"]:hover{background:#104a79!important}
#productDetailsModal .add-all-btn{min-height:48px;background:#ecf4fc!important;color:#16436a!important;border:1px solid #76a5ca!important;border-radius:12px;box-shadow:none;font-size:14px;line-height:1.4;padding:13px 16px}
#productDetailsModal .add-all-btn:hover{background:#d3e9fa!important;transform:none;filter:none}
#productDetailsModal [id^="sels-"]{border-top-color:#ccdbea!important}
@media(prefers-color-scheme:dark){
 #productDetailsModal .product-details-dialog{background:#0e1724;border-color:#365678}
 #productDetailsModal .product-details-modal-header{background:#142339;border-color:#314c68}
 #productDetailsModal .product-details-modal-heading small{color:#a9bfd5}
 #productDetailsModal .product-details-modal-heading h2{color:#ecf4fc}
 #productDetailsModal .product-details-modal-preview{border-color:#314c68}
 #productDetailsModal .product-description{color:#d7e6f4}
 #productDetailsModal .options-section{background:#111d2e!important;border-color:#314c68!important}
 #productDetailsModal .options-section>div>span{color:#a9bfd5!important}
 #productDetailsModal .option-chip{background:#192c42!important;border-color:#45678b!important;color:#ecf4fc!important}
 #productDetailsModal .option-chip:hover{background:#234261!important;border-color:#75b8ed!important}
 #productDetailsModal .option-chip.selected{background:#75b8ed!important;border-color:#75b8ed!important;color:#081d2d!important;outline-color:#4383b5}
 #productDetailsModal .qty-input-container{background:#0e1724!important;border-color:#45678b!important}
 #productDetailsModal .qty-input{color:#ecf4fc!important}
 #productDetailsModal .qty-btn{background:#192c42;color:#ecf4fc;border-color:#45678b}
 #productDetailsModal button[onclick^="addSelection"],#productDetailsModal button[id^="acao-cores-"]{background:#75b8ed!important;color:#081d2d!important;border-color:#75b8ed!important}
 #productDetailsModal button[onclick^="addSelection"]:hover,#productDetailsModal button[id^="acao-cores-"]:hover{background:#a1d1f6!important}
 #productDetailsModal .add-all-btn{background:#1a314b!important;color:#d7edff!important;border-color:#a8733d!important}
 #productDetailsModal .add-all-btn:hover{background:#234261!important}
 #productDetailsModal [id^="sels-"]{border-top-color:#314c68!important}
}
@media(max-width:900px){
 #productDetailsModal .product-details-modal-content{grid-template-columns:minmax(0,1fr);gap:20px}
 #productDetailsModal .product-details-modal-preview img{max-height:210px}
}
@media(max-width:640px){
 #productDetailsModal .product-details-dialog{max-height:calc(100dvh - 20px)}
 #productDetailsModal .product-details-modal-header{padding:14px}
 #productDetailsModal .product-details-modal-content{padding:14px;gap:16px}
 #productDetailsModal .product-details-modal-preview img{max-height:180px}
 #productDetailsModal .options-section{padding:14px}
}

/* Keep the final action visible while long option lists scroll above it. */
#productDetailsModal .product-details-dialog{max-height:calc(100dvh - 32px)}
#productDetailsModal .product-details-modal-header{flex:none}
#productDetailsModal .product-details-modal-content{min-height:0;flex:0 1 auto;scroll-padding:16px}
#productDetailsModal .product-details-modal-footer{flex:none;display:flex;justify-content:flex-end;padding:12px 24px;border-top:1px solid #ccdbea;background:#eef4fa}
#productDetailsModal .product-details-modal-footer[hidden]{display:none!important}
#productDetailsModal .product-details-modal-footer .add-all-btn{width:58%;min-height:46px;margin:0}
#productDetailsModal [id^="sels-"]:empty{display:none}
#productDetailsModal .options-section>div[style*="align-items:center"]{margin:12px 0!important}
#productDetailsModal button[onclick^="addSelection"]{margin-bottom:0!important}
@media(prefers-color-scheme:dark){
 #productDetailsModal .product-details-modal-footer{background:#142339;border-top-color:#314c68}
}
@media(max-height:700px) and (min-width:901px){
 #productDetailsModal .product-details-modal-header{padding:14px 20px}
 #productDetailsModal .product-details-modal-content{padding:16px 20px;gap:20px}
 #productDetailsModal .product-description{margin-bottom:12px}
 #productDetailsModal .options-section{padding:16px}
 #productDetailsModal .options-section>div[style*="margin-bottom"]{margin-bottom:12px!important}
 #productDetailsModal .product-details-modal-preview img{max-height:280px}
}
@media(max-width:900px){
 #productDetailsModal .product-details-modal-footer .add-all-btn{width:100%}
}
@media(max-width:640px){
 #productDetailsModal .product-details-dialog{max-height:calc(100dvh - 20px)}
 #productDetailsModal .product-details-modal-footer{padding:10px 14px}
}

/* Colour catalogue: image canvas separated from zoom and order controls. */
#catalogoViewerModal{background:rgba(5,4,3,.88);padding:0;backdrop-filter:blur(10px)}
#catalogoViewerModal #catalogoModalContent{width:100%;height:100dvh!important;max-height:100dvh;display:flex;flex-direction:column;overflow:hidden;position:relative;border-radius:0;background:#f8fafc!important;color:#18354f;border:1px solid #ccdbea;box-sizing:border-box}
#catalogoViewerModal .color-catalog-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;background:#eef4fa;border-bottom:1px solid #ccdbea;flex:none}
#catalogoViewerModal .color-catalog-header>div:first-child{min-width:0}
#catalogoViewerModal .color-catalog-header small{display:block;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#526b84}
#catalogoViewerModal #catalogoViewerTitle{font-size:18px;line-height:1.4;font-weight:800;margin:2px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#18354f}
.color-catalog-header-actions{display:flex;gap:8px;flex:none}
#catalogoViewerModal button{font:inherit;cursor:pointer;transition:background .15s}
#catalogoViewerModal .zoom-btn,#catalogoViewerModal .color-catalog-zoom-controls button{display:flex;align-items:center;justify-content:center;flex:none;width:40px;height:40px;border:1px solid #afc4d8;border-radius:10px;background:#f8fafc;color:#16436a;font-size:20px}
#catalogoViewerModal button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#catalogoViewerModal #zoomFloatingBar{position:static!important;top:auto!important;bottom:auto!important;left:auto!important;transform:none!important;opacity:1!important;animation:none;flex:none;align-items:center;justify-content:space-between;gap:12px;padding:8px 20px;background:#f8fafc;border-bottom:1px solid #ccdbea;border-radius:0;box-shadow:none;z-index:auto}
.color-catalog-help{font-size:12px;line-height:1.5;color:#526b84}
.color-catalog-zoom-controls{display:flex;align-items:center;gap:8px;flex:none}
#catalogoViewerModal #zoomSlider{width:150px;height:6px;background:#ccdbea!important;border:0!important;accent-color:#165e96;padding:0;margin:0 4px}
#catalogoViewerModal #zoomSlider::-webkit-slider-thumb{background:#165e96;box-shadow:none;width:20px;height:20px}
#zoomFloatingLevel{min-width:46px;text-align:center;font-size:13px;font-weight:800;color:inherit}
#catalogoViewerModal #catalogoContent{position:relative;flex:1;min-height:0;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#e7edf4}
#catalogoViewerModal #imageZoomContainer{width:100%;height:100%;box-sizing:border-box}
#catalogoIframe{width:100%;height:100%;border:0;background:#fff}
#catalogoViewerModal .color-catalog-footer{display:grid;grid-template-columns:minmax(180px,1fr) 156px 110px 180px;align-items:end;gap:16px;padding:12px 20px max(12px,env(safe-area-inset-bottom));flex:none;background:#eef4fa;border-top:1px solid #ccdbea}
.color-catalog-field{min-width:0}
#catalogoViewerModal label{display:block;margin-bottom:6px;font-size:12px;font-weight:800;color:#526b84}
#catalogoViewerModal #catalogoColorCode{width:100%;height:46px;margin:0;padding:10px 12px;border:1px solid #afc4d8!important;border-radius:10px;background:#f8fafc!important;color:#18354f!important;font:inherit;font-size:16px;box-sizing:border-box}
#catalogoViewerModal #catalogoColorCode::placeholder{color:#526b84;opacity:1}
.color-catalog-quantity{display:flex;align-items:center;gap:4px;height:46px;padding:4px;border:1px solid #afc4d8;border-radius:10px;background:#f8fafc;box-sizing:border-box}
#catalogoViewerModal .color-catalog-quantity button{width:36px;height:36px;flex:none;border:1px solid #ccdbea;border-radius:7px;background:#fff;color:#16436a;font-size:18px}
#catalogoViewerModal #catalogoQty{width:0;min-width:0;flex:1;border:0!important;background:transparent!important;color:#18354f!important;text-align:center;font-size:16px;font-weight:800;padding:0;height:36px}
#catalogoViewerModal #catalogoUnidadeDisplay{display:flex;align-items:center;justify-content:center;height:46px;padding:8px;border:1px solid #afc4d8;border-radius:10px;background:#f8fafc;color:#16436a;font-size:13px;font-weight:800;box-sizing:border-box;overflow-wrap:anywhere}
#catalogoViewerModal #addCatalogoToCart{height:46px;padding:10px 16px;border:1px solid #165e96;border-radius:10px;background:#165e96;color:#fff;font-size:14px;font-weight:800}
#catalogoViewerModal #addCatalogoToCart:hover{background:#104a79}
@media(prefers-color-scheme:dark){
 #catalogoViewerModal #catalogoModalContent{background:#0e1724!important;border-color:#314c68;color:#ecf4fc}
 #catalogoViewerModal .color-catalog-header,#catalogoViewerModal .color-catalog-footer{background:#142339;border-color:#314c68}
 #catalogoViewerModal #catalogoViewerTitle{color:#ecf4fc}
 #catalogoViewerModal .color-catalog-header small,#catalogoViewerModal label,.color-catalog-help{color:#a9bfd5}
 #catalogoViewerModal #zoomFloatingBar{background:#0e1724;border-color:#314c68}
 #catalogoViewerModal #catalogoContent{background:#080f19}
 #catalogoViewerModal .zoom-btn,#catalogoViewerModal .color-catalog-zoom-controls button,#catalogoViewerModal .color-catalog-quantity button{background:#1a314b;color:#ecf4fc;border-color:#45678b}
 #catalogoViewerModal #zoomSlider{background:#365678!important;accent-color:#75b8ed}
 #catalogoViewerModal #zoomSlider::-webkit-slider-thumb{background:#75b8ed}
 #catalogoViewerModal #catalogoColorCode{background:#0e1724!important;border-color:#45678b!important;color:#ecf4fc!important}
 #catalogoViewerModal #catalogoColorCode::placeholder{color:#a9bfd5}
 #catalogoViewerModal .color-catalog-quantity,#catalogoViewerModal #catalogoUnidadeDisplay{background:#0e1724;border-color:#45678b;color:#ecf4fc}
 #catalogoViewerModal #catalogoQty{color:#ecf4fc!important}
 #catalogoViewerModal #addCatalogoToCart{background:#75b8ed;border-color:#75b8ed;color:#081d2d}
 #catalogoViewerModal #addCatalogoToCart:hover{background:#a1d1f6}
}
@media(max-width:900px){
 .color-catalog-help{display:none}
 #catalogoViewerModal #zoomFloatingBar{justify-content:center;padding:6px 12px}
 #catalogoViewerModal .color-catalog-footer{grid-template-columns:minmax(0,1fr) 144px;gap:10px;padding:10px 14px max(10px,env(safe-area-inset-bottom))}
 #catalogoViewerModal #catalogoUnidadeDisplay{height:42px}
 #catalogoViewerModal .color-catalog-field:nth-child(3){display:flex;align-items:center;gap:8px}
 #catalogoViewerModal .color-catalog-field:nth-child(3) label{margin:0}
 #catalogoViewerModal .color-catalog-field:nth-child(3) #catalogoUnidadeDisplay{flex:1}
 #catalogoViewerModal .color-catalog-header{padding:10px 14px}
 #catalogoViewerModal #catalogoViewerTitle{font-size:15px}
}
@media(max-width:380px){#catalogoViewerModal #zoomSlider{width:100px}.color-catalog-zoom-controls{gap:5px}#catalogoViewerModal .color-catalog-footer{grid-template-columns:minmax(0,1fr) 126px}#catalogoViewerModal #addCatalogoToCart{padding:8px;font-size:12px}}
