/* V30: apresentação apenas; preços, composição e validações permanecem no app. */
.product-content h3,.featured-product-copy h3,.suggestion-copy>strong,
#productDetailTitle,#modalTitle,.pedido-item-copy h3{ text-transform:uppercase; }

.promo-builder-panel{display:flex;flex-direction:column;width:min(880px,96vw);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow:hidden}
.promo-builder-header{position:relative;flex:0 0 auto;padding:14px 64px 12px 18px}
.promo-builder-header h2{font-size:1.35rem;margin:3px 0}
.promo-builder-header p{margin:3px 0 0;font-size:.75rem;line-height:1.3}
.promo-builder-close{width:44px;height:44px;top:10px;right:10px}
.promo-builder-body{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding:14px 18px}
.promo-builder-footer{flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,1fr);gap:6px 14px;padding:10px 18px max(10px,env(safe-area-inset-bottom));border-top:1px solid #cddaea;background:#fff}
.promo-builder-footer .promo-builder-validation{grid-column:1/-1;min-height:0;margin:0;padding:0;font-size:.72rem;line-height:1.3}
.promo-builder-footer .promo-builder-total{margin:0;padding:0;gap:8px;border:0;align-items:center}
.promo-builder-footer .promo-builder-total strong{font-size:1.25rem}
.promo-builder-footer .promo-builder-total small{font-size:.65rem}
.promo-builder-footer .promo-builder-add{width:100%;min-height:44px;margin:0;padding:9px;font-size:.78rem}
.promo-builder-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.promo-builder-item{padding:10px;min-width:0}
.promo-builder-quantity-options{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:7px}
.promo-builder-item-quantity button{min-width:44px;min-height:44px}
body:has(#promoBuilderModal.is-open) .pedido-toast{top:8px;bottom:auto;max-width:calc(100vw - 100px);pointer-events:none}

.pedido-body{padding:10px 14px}
.pedido-items{gap:7px}
.pedido-item{padding:8px;gap:6px 10px}
.pedido-item-copy h3{margin:3px 0;font-size:.78rem;line-height:1.25;overflow-wrap:anywhere}
.pedido-item-total{padding-top:5px;margin-top:0}
.pedido-item-quantity button{min-width:40px;min-height:40px}
.pedido-item-total button{min-height:40px}
.pedido-finalizacao{margin-top:8px;gap:7px}
.pedido-valores{padding:10px}
.pedido-opcional,.pedido-estado{margin-top:7px;padding:8px}
.pedido-frete,.pedido-cupom,.pedido-total{margin-top:8px;padding-top:8px}
.pedido-estado select,.pedido-cupom-controles button{min-height:44px}
.pedido-promotion-composition{margin-top:4px;line-height:1.3}
.pedido-kit-visual,.pedido-duo-visual{background:#f7f2e5;align-self:start}
.pedido-kit-visual .promo-builder-ampoule-arrangement{height:100%;padding:3px;box-sizing:border-box}
.pedido-kit-visual .promo-builder-ampoule-row{gap:0}
.pedido-item-image.pedido-kit-visual img{width:auto;height:21px;max-width:7px;object-fit:contain;border-radius:0}
.pedido-kit-visual .is-count-1 img,.pedido-kit-visual .is-count-2 img{max-width:18px;height:39px}
.pedido-item-image.pedido-duo-visual img{width:100%;height:100%;object-fit:contain}

@media(min-width:701px){
 .product-grid.is-view-compact{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
 .product-grid.is-view-compact .product-card{display:flex;flex-direction:column;grid-template-columns:none}
 .product-grid.is-view-compact .product-media-button{height:145px;min-height:0;padding:7px}
 .product-grid.is-view-compact .product-content{padding:9px;flex:1}
 .product-grid.is-view-compact .product-content h3{display:block;overflow:visible;-webkit-line-clamp:unset;min-height:0;font-size:.78rem;line-height:1.25;margin:0 0 4px}
 .product-grid.is-view-compact .product-presentation{font-size:.66rem}
 .product-grid.is-view-compact .product-meta,.product-grid.is-view-compact .product-description,.product-grid.is-view-compact .product-type{display:none}
 .product-grid.is-view-compact .product-footer{margin-top:7px;padding-top:7px}
 .product-grid.is-view-compact .product-price strong{font-size:1rem}
 .product-grid.is-view-compact .product-actions{margin-top:auto;padding-top:7px;gap:4px}
 .product-grid.is-view-compact .product-actions button{min-height:36px;padding:5px 3px;font-size:.62rem}
}
@media(max-width:700px){
 .promo-builder-panel{width:calc(100vw - 12px);max-height:calc(100vh - 12px);max-height:calc(100dvh - 12px)}
 .promo-builder-header{padding:10px 58px 9px 12px}
 .promo-builder-header h2{font-size:1.1rem}
 .promo-builder-header p{font-size:.66rem}
 .promo-builder-body{padding:10px}
 .promo-builder-items{grid-template-columns:1fr;gap:6px}
 .promo-builder-quantity{padding:8px}
 .promo-builder-quantity-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
 .promo-builder-quantity-option{min-height:112px;padding:5px 2px;grid-template-rows:64px auto auto}
 .promo-builder-quantity-option b,.promo-builder-quantity-option>span{font-size:.57rem}
 .promo-builder-quantity-option .promo-builder-ampoule-arrangement{height:64px}
 .promo-builder-quantity-option .promo-builder-ampoule-row{gap:0}
 .promo-builder-quantity-option .promo-builder-ampoule{max-width:11px;object-fit:contain}
 .promo-builder-footer{grid-template-columns:minmax(105px,.75fr) minmax(0,1fr);gap:5px 8px;padding:8px 10px max(8px,env(safe-area-inset-bottom))}
 .promo-builder-footer .promo-builder-total{display:grid;gap:1px}
 .promo-builder-footer .promo-builder-total>span{font-size:.65rem}
 .promo-builder-footer .promo-builder-total strong{font-size:1.1rem}
 .promo-builder-footer .promo-builder-validation{font-size:.65rem}
 .promo-builder-footer .promo-builder-add{font-size:.7rem}
 .pedido-body{padding:8px}
 .pedido-item{grid-template-columns:52px minmax(0,1fr) auto;grid-template-areas:'image copy copy' 'total total quantity';padding:7px;gap:5px 8px}
 .pedido-item-copy{grid-column:2/-1;grid-row:1}
 .pedido-item-copy h3{font-size:.72rem}
 .pedido-item-quantity{grid-column:3;grid-row:2;justify-self:end}
 .pedido-item-quantity button{min-width:44px;min-height:44px}
 .pedido-item-total{grid-column:1/3;grid-row:2;display:flex;gap:5px;justify-content:space-between;align-items:center}
}
@media(max-height:480px){
 .promo-builder-header{padding-top:6px;padding-bottom:6px}
 .promo-builder-header .eyebrow{font-size:.55rem}
 .promo-builder-header h2{font-size:1rem;margin:0}
 .promo-builder-header p{font-size:.6rem;margin:1px 0}
 .promo-builder-footer{padding-top:5px;padding-bottom:max(5px,env(safe-area-inset-bottom));gap:3px 8px}
 .promo-builder-footer .promo-builder-validation{font-size:.6rem}
}
