/* DSR - Layout responsivo, galeria e miniaturas (somente loja). */
html,body{max-width:100%;overflow-x:hidden}
/* Catálogo da Área Restrita sem tabela ampla nem barra de rolagem lateral */
.admin-main,.erp-panel,.dsr-catalog-cards{min-width:0;max-width:100%}
.erp-panel{overflow:hidden}
.dsr-catalog-cards{display:flex;flex-direction:column}
.dsr-erp-row{display:grid;grid-template-columns:minmax(190px,2.5fr) minmax(100px,1.05fr) minmax(70px,.6fr) minmax(100px,.85fr) minmax(65px,.6fr) minmax(112px,.85fr);gap:12px;align-items:center;padding:16px 20px;border-bottom:1px solid #e6edf5;font-size:13px;color:#486581;max-width:100%;min-width:0}
.dsr-erp-row:last-child{border-bottom:0}.dsr-erp-row:nth-child(even){background:#fbfdff}
.dsr-erp-item{display:flex;gap:12px;align-items:center;min-width:0}
.dsr-erp-thumb{width:58px;height:58px;flex:0 0 58px;border:1px solid #e3eaf5;border-radius:10px;background:#f6faff;display:grid;place-items:center;color:#6c8fb3;overflow:hidden}
.dsr-erp-thumb img{width:100%;height:100%;object-fit:contain;padding:3px}
.dsr-erp-title,.dsr-erp-data{min-width:0;overflow-wrap:anywhere}
.dsr-erp-title strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-weight:800;color:#11385f;line-height:1.42}
.dsr-erp-title small,.dsr-erp-data small{display:block;color:#7d91a4;margin-top:4px;line-height:1.3;font-size:11px}
.dsr-erp-label{display:block;text-transform:uppercase;font-size:10px;font-weight:800;color:#8499ac;letter-spacing:.08em;margin-bottom:5px}
.dsr-erp-edit{display:inline-flex;padding:9px 11px;background:#e6f2ff;border:1px solid #cce2fc;border-radius:8px;color:#095bb2;font-size:12px;font-weight:800;justify-content:center;text-align:center}
@media(max-width:1170px){.dsr-erp-row{grid-template-columns:minmax(210px,2fr) repeat(3,minmax(85px,.7fr));gap:12px}.dsr-erp-data:nth-of-type(2),.dsr-erp-data:nth-of-type(4){grid-column:auto}}
@media(max-width:900px){.dsr-erp-row{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:12px 18px}.dsr-erp-item{grid-column:1/-1}.dsr-erp-label{display:inline;margin-right:6px}}
@media(max-width:540px){.dsr-erp-row{grid-template-columns:1fr 1fr;padding:14px 12px;gap:12px}.dsr-erp-item{gap:9px}.dsr-erp-thumb{width:49px;height:49px;flex-basis:49px}.dsr-erp-title strong{font-size:12px}.dsr-erp-data{font-size:12px}.list-top{flex-wrap:wrap;gap:6px}}
.dsr-photo-form{border:1px solid #e1ecf7;background:#f8fbff;padding:18px;border-radius:14px;margin:16px 0}
.dsr-photo-form button.primary{margin-top:12px}.dsr-current-gallery h3{font-size:17px}
.dsr-editor-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;margin:15px 0}
.dsr-editor-photo{min-width:0;border:1px solid #dbe8f6;background:#fff;border-radius:12px;padding:8px}
.dsr-editor-photo>img{width:100%;height:112px;object-fit:contain;background:#f6faff;border-radius:8px}
.dsr-editor-photo>small{display:block;color:#53708d;line-height:1.3;margin:6px 0}
.dsr-photo-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}
.dsr-photo-actions button{border:1px solid #d3e3f4;background:#eff6fe;color:#135b9f;border-radius:7px;font-size:11px;font-weight:700;padding:6px 3px;cursor:pointer}
.dsr-photo-actions button[value=remove]{color:#a62b39;background:#fff2f2;border-color:#f7d4d8}
/* Vitrine: cartões sempre alinhados e foto completa, sem cortes. */
.product-grid{align-items:stretch}.product-card{display:flex;flex-direction:column;height:100%;min-width:0}
.product-photo{aspect-ratio:1.28!important;background:#fff!important;display:grid;place-items:center;position:relative;overflow:hidden}
.product-photo>img,.product-photo>a>img,.product-photo img{width:100%;height:100%;object-fit:contain!important;object-position:center!important;padding:14px;display:block}
.product-photo .product-placeholder{height:100%}.product-details{display:flex;flex-direction:column;flex:1;min-width:0}
.product-details h3{min-height:3.9em!important;line-height:1.3;max-height:3.9em;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.product-sub{min-height:2.7em;max-height:2.7em;overflow:hidden;line-height:1.35!important}
.product-category{min-height:1.3em}.product-bottom{margin-top:auto!important;min-height:76px;align-items:end}
.market-actions{margin-top:12px}.market-actions>a,.market-actions>button{min-height:42px}
.dsr-photo-count{position:absolute;right:10px;bottom:9px;z-index:2;background:rgba(255,255,255,.94);border:1px solid #d3e4f3;border-radius:8px;font-size:10px;color:#1a5f9e;padding:4px 8px;font-weight:800}
/* Página do produto: foto completa, seleção de ângulos e giro por arraste. */
.detail-photo{background:#fff!important;min-height:350px;touch-action:auto;cursor:default}
.detail-photo>img{height:100%!important;max-height:520px;object-fit:contain!important;object-position:center;padding:20px}
.detail-photo.is-rotating{cursor:grab;touch-action:pan-y}.detail-photo.is-rotating:active{cursor:grabbing}
.dsr-thumb-strip{display:flex;gap:10px;max-width:100%;overflow-x:auto;padding:10px 2px 4px;scrollbar-width:thin}
.dsr-thumb{width:72px;height:72px;flex:0 0 72px;padding:4px;border:2px solid #dae8f7;border-radius:10px;background:#fff;cursor:pointer}
.dsr-thumb.selected{border-color:#126be0;box-shadow:0 0 0 2px #126be020}
.dsr-thumb img{width:100%;height:100%;object-fit:contain}
.dsr-rotate-tools{margin-top:12px;display:flex;flex-direction:column;align-items:start;gap:9px}
.dsr-rotate-btn{background:#e4f2ff;border:1px solid #bdd9f4;border-radius:10px;color:#105ba9;padding:12px 16px;font-weight:800;cursor:pointer}
.dsr-rotate-btn[aria-pressed=true]{background:#126be0;color:#fff}
.dsr-rotate-tools small,.dsr-gallery-tip{font-size:12px;color:#607d97;line-height:1.5}
@media(max-width:700px){.product-photo img{padding:7px}.product-details h3{min-height:3.9em}.product-bottom{min-height:66px}.dsr-thumb{width:58px;height:58px;flex-basis:58px}.detail-photo>img{max-height:360px;padding:10px}}

/* V26 — caixa de mídia fixa e sem recorte, independente da altura original da foto */
.product-grid{align-items:stretch!important;grid-auto-rows:1fr}
.product-card{height:100%;display:flex;flex-direction:column}
.product-photo{display:block!important;position:relative!important;aspect-ratio:1 / 1!important;width:100%!important;height:auto!important;min-height:0!important;background:#fff!important;overflow:hidden!important;isolation:isolate}
.product-photo>img,.product-photo>a>img,.product-photo img:not(.dsr-photo-badge-image){position:absolute!important;inset:10px!important;width:calc(100% - 20px)!important;height:calc(100% - 20px)!important;max-width:none!important;max-height:none!important;padding:0!important;object-fit:contain!important;object-position:50% 50%!important;display:block!important}
.product-photo .product-placeholder{position:absolute!important;inset:0;max-width:100%;height:100%;overflow:hidden}
.product-photo .product-badges,.product-photo .dsr-photo-count{position:absolute;z-index:4}
.product-details{flex:1;display:flex;flex-direction:column}
.product-details h3{height:3.9em;min-height:3.9em!important;max-height:3.9em}
.product-details .market-actions{margin-top:auto!important;padding-top:15px}
.detail-photo{height:clamp(300px,38vw,490px)!important;min-height:0!important;max-height:490px!important;display:flex!important;align-items:center!important;justify-content:center!important;position:relative!important;overflow:hidden!important;background:#fff!important;touch-action:pan-y}
.detail-photo>img,.detail-photo #detailProductImage{position:absolute!important;inset:0!important;margin:auto!important;display:block!important;width:calc(100% - 28px)!important;height:calc(100% - 28px)!important;max-width:none!important;max-height:none!important;padding:0!important;object-fit:contain!important;object-position:center!important;background:transparent!important}
.detail-photo .product-placeholder{width:100%;height:100%;min-height:0;display:flex;align-items:center;justify-content:center}
.detail-photo .detail-product-photo-label{position:absolute;top:10px;left:10px;z-index:5}
.detail-photo model-viewer{width:100%;height:100%;display:block;background:#fff;position:relative;z-index:3}
.dsr-viewer-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}
.dsr-viewer-controls button{border:1px solid #bfdaf5;background:#e8f3ff;color:#0d5dab;border-radius:10px;padding:11px 14px;font-weight:800;cursor:pointer}
.dsr-viewer-controls button[aria-pressed=true]{background:#126be0;color:#fff}
.dsr-viewer-hint{color:#496987;font-size:12px;margin:8px 0 4px;line-height:1.5}
.dsr-thumb img{object-fit:contain!important}
.dsr-checkout{max-width:1040px;margin:35px auto 65px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(270px,.8fr);gap:22px}
.dsr-checkout-card{border:1px solid #dce9f6;background:#fff;border-radius:18px;padding:26px;box-shadow:0 8px 30px #093a6a0b}
.dsr-checkout-card h1{font-size:26px;margin:0 0 12px}.dsr-checkout-card h2{font-size:19px;margin:0 0 12px}
.dsr-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.dsr-form-grid label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:800;color:#25415f}
.dsr-form-grid .full{grid-column:1/-1}
.dsr-form-grid input,.dsr-form-grid textarea{width:100%;padding:13px 12px;border-radius:10px;border:1px solid #cad9e9;background:#fff;font-size:14px;min-width:0;color:#162f4b}
.dsr-form-grid input:focus{outline:2px solid #63a6ee;outline-offset:1px}
.dsr-checkout-summary{background:#f7fbff;border:1px solid #dce9f6;border-radius:12px;padding:16px;font-size:13px}
.dsr-checkout-line{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #dde9f4;padding:11px 0}
.dsr-checkout-line:last-child{border:0}
.dsr-checkout-notice{color:#586f86;font-size:12px;line-height:1.6;margin-top:12px}
.dsr-checkout-error{padding:12px 14px;border-radius:10px;background:#fff1f1;border:1px solid #ffcccc;color:#a22831;margin:10px 0}
.dsr-order-action{border:0;width:100%;border-radius:10px;background:#126be0;color:#fff;font-size:14px;font-weight:850;padding:15px;cursor:pointer;margin-top:18px}
.dsr-order-print{display:inline-flex;margin-top:15px;padding:11px 16px;border:1px solid #bad6f5;border-radius:8px;color:#07569c;font-weight:800}
.dsr-orders-row{border-bottom:1px solid #e3edf8;padding:14px 0}.dsr-orders-row:last-child{border:0}
@media(max-width:780px){.dsr-checkout{grid-template-columns:1fr;margin-top:18px}.dsr-checkout-card{padding:18px}}
@media(max-width:520px){.product-photo{aspect-ratio:1/1!important}.product-photo>img,.product-photo img{inset:6px!important;width:calc(100% - 12px)!important;height:calc(100% - 12px)!important}.dsr-form-grid{grid-template-columns:1fr}.dsr-form-grid .full{grid-column:auto}.detail-photo{height:310px!important}}
@media print{.site-header,.top-strip,.site-footer,.dsr-order-print{display:none!important}.dsr-checkout{display:block}.dsr-checkout-card{border:0;box-shadow:none}}

.detail-photo model-viewer[hidden],.detail-photo #detailProductImage[hidden]{display:none!important}
/* Impede que o tema aplique cover ou amplie a imagem ao tocar */
.product-photo img{transform:none!important;filter:none!important}
.detail-photo img{transform:none!important}


/* V27: abertura de detalhes ao tocar na foto do catálogo */
.product-photo>a.dsr-product-image-link{display:block;position:absolute;inset:0;z-index:2;cursor:zoom-in;outline-offset:-4px}
.product-photo>a.dsr-product-image-link img{width:calc(100% - 20px)!important;height:calc(100% - 20px)!important;inset:10px!important;position:absolute!important;object-fit:contain!important;object-position:center!important}
.product-photo>a.dsr-product-image-link:focus-visible{outline:3px solid #0575db;border-radius:12px}
.product-photo .product-badges,.product-photo .dsr-photo-count{pointer-events:none}
/* V27 corrige regra de tema que tornava o modelo 3D visível mesmo com hidden */
.detail-photo [hidden],.dsr-product-modal [hidden],.dsr-product-modal[hidden]{display:none!important}
.detail-photo #detailProductImage[hidden]{display:none!important}
.dsr-open-preview{display:inline-flex;align-items:center;gap:8px;background:#edf6ff;color:#0756a6;border:1px solid #b8d8f6;font-weight:800;border-radius:10px;padding:11px 15px;margin-top:13px;cursor:pointer}
.dsr-open-preview:focus-visible{outline:3px solid #2788ed}
.detail-photo:not(:has(model-viewer:not([hidden]))){cursor:zoom-in}
.detail-photo model-viewer{cursor:grab}
.dsr-purchase-info{border:1px solid #dae9f6;border-radius:14px;padding:18px;margin:24px 0;background:#f8fbff}
.dsr-purchase-info h2{font-size:18px;margin:0 0 12px}
.dsr-purchase-info dl,.dsr-modal-details dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0 15px}
.dsr-purchase-info dl>div,.dsr-modal-details dl>div{background:#fff;border:1px solid #e1ecf7;border-radius:10px;padding:11px;min-width:0}
.dsr-purchase-info dt,.dsr-modal-details dt{font-size:11px;color:#667f98}
.dsr-purchase-info dd,.dsr-modal-details dd{font-size:13px;font-weight:800;color:#0c385f;margin:4px 0 0;overflow-wrap:anywhere}
.dsr-purchase-info p{font-size:12px;color:#58728a;line-height:1.7}
body.dsr-modal-open{overflow:hidden!important}
.dsr-product-modal{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;padding:20px;isolation:isolate}
.dsr-modal-shade{position:absolute;inset:0;background:rgba(5,19,37,.8)}
.dsr-modal-window{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);background:#fff;width:min(1130px,100%);max-height:calc(100dvh - 40px);overflow-y:auto;border-radius:20px;box-shadow:0 23px 95px #05182b88}
.dsr-modal-visual{background:#f7faff;display:flex;flex-direction:column;gap:13px;padding:25px;min-width:0}
.dsr-modal-main-photo{height:clamp(250px,53vh,560px);background:#fff;border:1px solid #e1eaf6;border-radius:16px;position:relative;overflow:hidden}
.dsr-modal-main-photo img,.dsr-modal-main-photo model-viewer{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:contain;object-position:center;padding:12px;background:#fff}
.dsr-modal-main-photo model-viewer{padding:0}
.dsr-modal-tools{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px}
.dsr-modal-tools button{font:700 12px inherit;background:#e6f2ff;color:#155798;border:1px solid #c6dbf3;padding:10px 13px;border-radius:9px;cursor:pointer}
.dsr-modal-tools button[aria-pressed=true]{background:#146bd1;color:#fff}
.dsr-modal-tools span{font-size:12px;color:#4a6a86}
.dsr-modal-hint{font-size:12px;color:#607d96;line-height:1.6;margin:0;text-align:center}
.dsr-modal-details{padding:42px 30px 25px;min-width:0}
.dsr-modal-details h2{font-size:clamp(19px,2.8vw,29px);line-height:1.25;margin:13px 0}
.dsr-modal-details>p{font-size:13px;color:#617c93;line-height:1.65}
.dsr-modal-price{font-size:28px;color:#074a91;font-weight:900;margin:18px 0 8px}
.dsr-modal-availability{font-size:13px;color:#07835a;font-weight:800}
.dsr-modal-description{max-height:120px;overflow:auto}
.dsr-modal-buy{display:block;background:#126be0;color:#fff;text-align:center;padding:15px 14px;border-radius:10px;font-size:14px;font-weight:900;margin-top:17px;text-decoration:none}
.dsr-modal-note{font-size:11px!important}
.dsr-modal-close{position:absolute;z-index:3;right:13px;top:10px;background:#fff;color:#164568;border:1px solid #d8e5f2;border-radius:10px;font-size:29px;width:39px;height:39px;cursor:pointer}
@media(max-width:760px){.dsr-product-modal{padding:8px}.dsr-modal-window{display:block;max-height:calc(100dvh - 16px);border-radius:13px}.dsr-modal-visual{padding:14px}.dsr-modal-main-photo{height:38vh;min-height:210px}.dsr-modal-details{padding:18px 16px}.dsr-modal-close{right:7px;top:7px}.dsr-modal-details dl,.dsr-purchase-info dl{grid-template-columns:1fr 1fr}}

.dsr-modal-order-summary{margin-top:14px;padding:14px;border:1px solid #ddeaf6;border-radius:12px;background:#f5faff}
.dsr-modal-order-summary h3{font-size:15px;margin:0 0 9px;color:#10395e}
.dsr-modal-order-summary p{margin:6px 0;color:#1f4c77;font-size:12px;line-height:1.45}
.dsr-modal-order-summary small{color:#6a849d;font-size:11px}

/* V28: rotação fotografica real e galeria 3D */
.dsr-gallery-entry{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:13px}
.dsr-gallery-entry .dsr-open-preview{margin-top:0}
.dsr-open-360{display:inline-flex;align-items:center;justify-content:center;border:1px solid #176adb;background:#126be0;color:#fff;font-weight:800;border-radius:10px;padding:11px 15px;cursor:pointer;min-height:43px}
.dsr-open-360:hover{background:#0c53a9}
.dsr-open-360:focus-visible{outline:3px solid #82c2ff;outline-offset:2px}
.dsr-product-modal:not([hidden]){visibility:visible}
.dsr-modal-main-photo img{user-select:none;-webkit-user-drag:none;touch-action:pan-y}
.detail-photo img{user-select:none;-webkit-user-drag:none}
.dsr-viewer-controls button:focus-visible{outline:3px solid #82c2ff;outline-offset:2px}
@media(max-width:520px){.dsr-gallery-entry{display:grid;grid-template-columns:1fr}.dsr-gallery-entry button{width:100%}}
