.gallery-main{position:relative;display:block;width:100%;border:0;background:#fff;cursor:zoom-in;padding:0;border-radius:12px;overflow:hidden}
.gallery-main img{display:block;width:100%;height:430px;object-fit:contain}
.gallery-main span{position:absolute;right:12px;bottom:12px;padding:7px 11px;border-radius:20px;background:#07145bcc;color:#fff;font-weight:800;font-size:.78rem}
.gallery-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px;max-height:150px;overflow:auto}
.gallery-thumbs button{border:2px solid transparent;border-radius:9px;background:#fff;padding:4px;cursor:pointer}
.gallery-thumbs button.selected{border-color:var(--pink)}
.gallery-thumbs img{width:100%;height:62px;object-fit:contain}
.variant-picker button{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.variant-picker button b{font-size:.78rem;color:var(--blue)}
.variant-picker button.selected b{color:var(--pink)}
.stock-message{margin:8px 0 0;color:#087a45;font-weight:750;font-size:.85rem}
.stock-message.error{color:#b42318}
.primary:disabled{cursor:not-allowed;opacity:.45;filter:grayscale(.3)}
.image-dialog{width:min(94vw,1400px);height:min(94vh,1000px);padding:22px;border:0;border-radius:18px;background:#fff}
.image-dialog::backdrop{background:#050c3de8}
.image-dialog img{width:100%;height:100%;object-fit:contain}
.image-dialog .icon-button{position:absolute;right:12px;top:6px;z-index:2;background:#fff;border-radius:50%;width:46px;height:46px}
@media(max-width:760px){.gallery-main img{height:280px}.gallery-thumbs{grid-template-columns:repeat(4,1fr)}.gallery-thumbs img{height:52px}}

/* Ficha visual alineada al render aprobado */
.product-dialog{max-width:1440px;width:calc(100% - 36px);max-height:94dvh;overflow:auto;border-radius:16px}
.detail{grid-template-columns:minmax(0,1.15fr) minmax(430px,.85fr);min-height:0}
.detail-media{display:grid;grid-template-columns:92px minmax(0,1fr);grid-template-rows:auto;padding:24px;gap:14px;align-items:start}
.detail-media .gallery-main{grid-column:2;grid-row:1;background:#fff;border:1px solid #d8e6f7}
.detail-media .gallery-main img{height:min(64vh,650px)}
.gallery-thumbs{grid-column:1;grid-row:1;display:flex;flex-direction:column;margin:0;max-height:min(64vh,650px);overflow-y:auto}
.gallery-thumbs img{height:76px}
.detail-copy{padding:34px 38px 24px}
.sku-badge{display:inline-flex;align-items:center;padding:11px 18px;border-radius:10px;background:#eaf4ff;color:#075ed1;font-size:1.05rem;font-weight:800}
.detail-category{color:var(--blue);font-weight:800;margin:18px 0 4px}
.detail-copy h2{font-size:clamp(2rem,3vw,3rem);margin:4px 40px 10px 0;letter-spacing:-.035em}
.price-panel{display:grid;grid-template-columns:1fr 190px;gap:2px 22px;align-items:center;margin:22px 0;padding:18px 22px;border-radius:13px;background:linear-gradient(110deg,#fff1fb,#f5eaff)}
.price-panel small{grid-column:1;color:var(--pink);font-weight:850;text-transform:uppercase}
.price-panel strong{grid-column:1;color:#bd00a7;font-size:2rem}
.price-panel span{grid-column:2;grid-row:1/3;padding-left:18px;border-left:1px solid #ddc7e9;color:var(--muted);font-size:.82rem}
.benefit-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.benefit-row div{display:flex;flex-direction:column;padding:12px 14px;border-radius:11px;background:#eef7ff}
.benefit-row b{color:var(--blue)}.benefit-row span{font-size:.78rem;color:var(--muted)}
.product-extra{grid-column:1/-1;padding:0 24px 30px;background:#fff}
.attribute-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.attribute-strip div{padding:18px;border-radius:12px;background:#eef7ff}
.attribute-strip small{display:block;color:var(--blue);font-weight:800}.attribute-strip strong{display:block;margin-top:4px}
.description-card{margin-top:14px;padding:18px 24px;border:1px solid var(--line);border-radius:12px}.description-card h3,.description-card p{margin:0}.description-card p{margin-top:8px;color:var(--muted)}
.product-bottom{display:grid;grid-template-columns:.9fr 1.4fr;gap:26px;margin-top:20px}.product-bottom h3{color:var(--navy)}
.faq details{border:1px solid var(--line);border-radius:9px;padding:10px 13px;margin:8px 0}.faq summary{cursor:pointer;font-weight:700}.faq p{color:var(--muted)}
.related>div{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.related button{border:1px solid var(--line);border-radius:11px;background:#fff;text-align:left;padding:9px;color:var(--navy);cursor:pointer}.related img{width:100%;height:105px;object-fit:contain;background:#f6f9fd}.related span,.related strong,.related em{display:block}.related span{font-size:.72rem;color:var(--muted)}.related strong{font-size:.8rem;min-height:2.4em}.related em{font-style:normal;color:var(--pink);font-weight:800;font-size:.78rem}
@media(max-width:980px){.detail{grid-template-columns:1fr}.product-extra{grid-column:1}.attribute-strip{grid-template-columns:1fr 1fr}.product-bottom{grid-template-columns:1fr}.detail-media .gallery-main img{height:460px}}
@media(max-width:620px){.product-dialog{width:calc(100% - 16px)}.detail-media{grid-template-columns:1fr;padding:12px}.detail-media .gallery-main{grid-column:1;grid-row:1}.gallery-thumbs{grid-column:1;grid-row:2;flex-direction:row;max-height:none}.detail-copy{padding:24px 18px}.price-panel{grid-template-columns:1fr}.price-panel span{grid-column:1;grid-row:auto;border:0;padding:8px 0 0}.attribute-strip,.related>div{grid-template-columns:1fr 1fr}.benefit-row{grid-template-columns:1fr}}

/* Miniaturas debajo de la imagen principal */
.detail-media{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto}
.detail-media .gallery-main{grid-column:1;grid-row:1}
.gallery-thumbs{grid-column:1;grid-row:2;display:grid;grid-template-columns:repeat(6,minmax(72px,1fr));max-height:150px;overflow-x:auto;overflow-y:hidden;margin-top:0}
.gallery-thumbs img{height:92px}
.price-panel small b{display:block}.price-panel small b+ b{margin-top:3px}

/* Catálogo inspirado en el render aprobado */
.family-showcase{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.family-card{min-height:180px;grid-template-columns:42% 1fr;border-radius:18px}
.family-card img{padding:18px}.family-card div{display:flex;flex-direction:column;justify-content:center;padding:24px}
.family-card strong{font-size:1.15rem}.family-card small{font-size:1rem}.family-card em{font-size:1rem}
.catalog-toolbar{padding:22px;border:1px solid #e0edfb;border-radius:16px;background:#fbfdff}
.filter-row label{min-height:54px;flex:1;justify-content:space-between;background:#fff;font-size:1rem}
.filter-row label:first-child,.filter-row label:nth-child(2){border-color:#bcd7f7}
.product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.product-card{border-radius:15px;position:relative}.product-card .visual{aspect-ratio:1.05;background:#fff}
.product-card .favorite{position:absolute;right:12px;top:10px;z-index:2;color:var(--blue);font-size:1.4rem}
.product-copy .sku{color:var(--blue);font-weight:800;font-size:.76rem}.product-copy h2{min-height:auto;margin:5px 0 6px}
.card-desc{color:var(--muted);font-size:.82rem;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.5em;margin:0 0 10px}
.color-summary{display:flex;align-items:center;gap:6px;margin:8px 0}.color-summary i{width:16px;height:16px;border-radius:50%;border:1px solid #cbd8e8;background:#edf3fb}.color-summary i:nth-child(2n){background:#24344d}.color-summary i:nth-child(3n){background:#1f76d2}.color-summary small{color:var(--muted);margin-left:3px}
.product-meta{align-items:center;text-align:center}.product-meta strong{font-size:1.15rem}.product-meta span{font-size:.7rem;font-weight:800;color:var(--muted)}
.product-card:after{content:"Ver producto";border-radius:10px;margin-top:3px}
@media(max-width:1050px){.product-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.family-showcase,.product-grid{grid-template-columns:repeat(2,1fr)}.gallery-thumbs{grid-template-columns:repeat(6,82px)}}
@media(max-width:500px){.family-showcase,.product-grid{grid-template-columns:1fr}.catalog-toolbar{padding:14px}.filter-row label{min-width:240px}}
