
/* Mejora exclusivamente visual del detalle de producto para clientes. */
.product-detail-sheet{background:#fff;border-radius:26px 26px 0 0;width:100%;max-height:94dvh;overflow-y:auto;overscroll-behavior:contain;padding-bottom:calc(12px + env(safe-area-inset-bottom));box-shadow:0 -18px 55px rgba(15,25,35,.22)}
.product-detail-media{position:relative;width:100%;height:min(42vh,360px);min-height:245px;border-radius:26px 26px 0 0;overflow:hidden;background:#f4f6f5;display:flex;align-items:center;justify-content:center}
.product-detail-media img{width:100%;height:100%;object-fit:contain;background:#f7f8f7;display:block}
.product-detail-close{position:absolute;top:12px;right:12px;width:38px;height:38px;border:1px solid rgba(255,255,255,.34);border-radius:50%;background:rgba(15,25,35,.62);color:#fff;font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;backdrop-filter:blur(8px);box-shadow:0 5px 16px rgba(0,0,0,.18);z-index:3}
.product-detail-count{position:absolute;left:12px;bottom:12px;background:rgba(15,25,35,.68);color:#fff;border:1px solid rgba(255,255,255,.20);border-radius:999px;padding:5px 9px;font-size:9px;font-weight:900;letter-spacing:.03em;backdrop-filter:blur(8px)}
.product-detail-thumbs{display:flex;gap:8px;padding:10px 16px 2px;overflow-x:auto;scrollbar-width:none;background:#fff}
.product-detail-thumbs::-webkit-scrollbar{display:none}
.product-detail-thumb{width:58px;height:58px;flex:0 0 58px;border:1px solid var(--gris2);border-radius:13px;background:#fff;padding:3px;overflow:hidden;cursor:pointer;transition:.15s ease}
.product-detail-thumb.on{border:2px solid var(--verde);box-shadow:0 0 0 3px rgba(6,75,43,.08)}
.product-detail-thumb img{width:100%;height:100%;object-fit:cover;border-radius:9px;display:block}
.product-detail-body{padding:14px 16px calc(28px + env(safe-area-inset-bottom))}
.product-detail-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:7px}
.product-detail-name{font-size:19px;font-weight:950;color:var(--texto);line-height:1.18;letter-spacing:-.025em}
.product-detail-desc-wrap{background:#f8faf9;border:1px solid #e6ece8;border-radius:15px;padding:11px 12px;margin:10px 0 11px}
.product-detail-desc-label{font-size:8.5px;color:var(--texto3);font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}
.product-detail-desc{font-size:11.5px;color:var(--texto2);line-height:1.55;font-weight:650;white-space:pre-line}
.product-detail-meta{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:11px}
.product-detail-pricebox{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:13px;padding-top:13px;border-top:1px solid #edf1ef}
.product-detail-price-main{font-size:25px!important;font-weight:950!important;line-height:1.05}
.product-detail-action{flex:1;min-height:48px;border-radius:15px!important;box-shadow:0 8px 18px rgba(6,75,43,.18)!important}
.product-detail-selection{display:none;background:#eef8f2;border:1px solid #cfe8da;border-radius:13px;padding:9px 10px;margin:-2px 0 11px;color:var(--verde2);font-size:10.5px;font-weight:800;line-height:1.4}
.product-detail-selection.show{display:block}
.product-detail-selection b{font-weight:950}
.product-detail-sheet .prod-opciones-box{background:#fff;border:1px solid #e3e9e5;border-radius:17px;padding:13px;margin-bottom:12px;box-shadow:0 3px 13px rgba(15,35,25,.04)}
.product-detail-sheet .prod-opciones-intro{font-size:10px;color:var(--texto3);font-weight:750;margin-bottom:12px}
.product-detail-sheet .prod-opcion-grupo{margin-bottom:14px}
.product-detail-sheet .prod-opcion-label{font-size:11.5px;margin-bottom:8px;gap:7px}
.product-detail-sheet .prod-opcion-label .req-tag{font-size:8px;padding:2px 7px;background:#fff1f1;color:#b42318}
.product-detail-sheet .prod-opcion-row{gap:8px}
.product-detail-sheet .prod-opcion-btn{min-height:38px;padding:8px 12px;border-radius:12px;font-size:11px;background:#fff;border:1.5px solid #dfe5e1;box-shadow:0 1px 4px rgba(15,35,25,.03)}
.product-detail-sheet .prod-opcion-btn.selected{border-color:var(--verde);background:var(--verde3);color:var(--verde2);box-shadow:0 0 0 3px rgba(6,75,43,.07)}
.product-option-swatch{width:13px;height:13px;border-radius:50%;border:1px solid rgba(15,25,35,.18);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);flex:none}
@media(max-width:430px){.product-detail-media{height:300px;min-height:250px}.product-detail-body{padding-left:13px;padding-right:13px}.product-detail-name{font-size:17px}.product-detail-price-main{font-size:23px!important}.product-detail-pricebox{align-items:center}.product-detail-action{min-height:46px}}

/* Selectores modernos de Talla y Color para la categoría Tienda (ropa,
   calzado, electrodomésticos, etc.) — antes usaban el mismo botón-píldora
   genérico que cualquier otra opción, sin distinción visual. */
.talla-opcion-row{display:flex;gap:8px;flex-wrap:wrap}
.talla-btn{min-width:42px;height:42px;padding:0 10px;border-radius:12px;border:1.5px solid #dfe5e1;background:#fff;font-size:12.5px;font-weight:850;color:var(--texto);cursor:pointer;font-family:inherit;transition:border-color .12s ease,background .12s ease,color .12s ease,transform .08s ease;box-shadow:0 1px 4px rgba(15,35,25,.03)}
.talla-btn:active{transform:scale(.93)}
.talla-btn.selected{border-color:var(--verde);background:var(--verde);color:#fff;box-shadow:0 4px 14px rgba(6,75,43,.28)}
.color-opcion-row{display:flex;gap:13px;flex-wrap:wrap}
.color-swatch-btn{display:flex;flex-direction:column;align-items:center;gap:5px;background:none;border:none;cursor:pointer;padding:2px;font-family:inherit;max-width:56px}
.color-swatch-circle{width:34px;height:34px;border-radius:50%;border:1.5px solid rgba(15,25,35,.14);box-shadow:inset 0 0 0 2px #fff;display:flex;align-items:center;justify-content:center;position:relative;transition:box-shadow .15s ease}
.color-swatch-circle i{opacity:0;transform:scale(.5);color:#fff;font-size:12px;filter:drop-shadow(0 0 1.5px rgba(0,0,0,.85));transition:all .15s ease}
.color-swatch-btn.selected .color-swatch-circle{box-shadow:inset 0 0 0 2px #fff,0 0 0 2px var(--verde)}
.color-swatch-btn.selected .color-swatch-circle i{opacity:1;transform:scale(1)}
.color-swatch-btn:active .color-swatch-circle{transform:scale(.92)}
.color-swatch-label{font-size:9px;font-weight:800;color:var(--texto2);text-align:center;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:56px}
.product-detail-desc.clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.product-detail-desc.clamp.expandido{display:block;-webkit-line-clamp:unset;overflow:visible}
.product-detail-desc-toggle{background:none;border:none;color:var(--verde2);font-weight:900;font-size:11px;padding:7px 0 0;margin:0;cursor:pointer;font-family:inherit}
