.bp-gal__main{position:relative}
.bp-gal__badge{position:absolute;left:16px;top:16px;z-index:2}
.b-visual .bp-gal__badge{left:20px;top:20px}
.bp-gal__thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:10px}
.bp-gal__thumb{padding:0;border:2px solid transparent;border-radius:14px;overflow:hidden;background:var(--b-agua);aspect-ratio:1/1;cursor:pointer}
.bp-gal__thumb img{width:100%;height:100%;object-fit:cover}
.bp-gal__thumb.is-active{border-color:var(--b-azul)}
.bp-badges{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.bp-badges li{display:inline-flex;align-items:center;gap:8px;padding:7px 12px 7px 8px;border-radius:999px;background:#fff;font-size:13px;font-weight:700;color:var(--b-tinta)}
.bp-badges__ico{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--b-agua);color:var(--b-azul)}
.bp-chips{display:flex;flex-wrap:wrap;gap:8px}
.bp-chip{position:relative;cursor:pointer}
.bp-chip input{position:absolute;opacity:0;pointer-events:none}
.bp-chip span{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;border:1.5px solid var(--b-suave);font-weight:700;font-size:15px}
.bp-chip input:checked+span{border:2px solid var(--b-azul);background:#fff;color:var(--b-azul)}
.bp-chip input:focus-visible+span{outline:3px solid var(--b-azul);outline-offset:3px}
.bp-chip input:disabled+span{opacity:.45;cursor:not-allowed}
.bp-save{min-height:22px;padding:2px 8px;font-size:10.5px;margin-left:6px;vertical-align:middle}
.bp-price{font-weight:800;font-size:30px;letter-spacing:-.02em}
.bp-buy{display:flex;gap:10px;align-items:stretch}
.bp-qty input{width:84px;height:56px;border-radius:999px;text-align:center}
.bp-buy__btn{flex:1;min-height:56px;font-size:17px}
.bp-sticky{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px max(16px,env(safe-area-inset-left)) calc(10px + env(safe-area-inset-bottom));background:var(--b-crema);border-top:1px solid var(--b-linea);box-shadow:0 -10px 30px rgba(11,27,58,.08);transform:translateY(110%);transition:transform .25s ease}
.bp-sticky.is-on{transform:none}
.bp-sticky__in{max-width:1240px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px}
.bp-sticky__name{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bp-sticky__name i{font-family:var(--b-serif);font-size:19px}
@media (min-width:861px){.bp-sticky{display:none}}
@media (prefers-reduced-motion:reduce){.bp-sticky{transition:none}}