/*!
 * Shop · single de producto
 * Galería scroll-snap (sin recorte) + caja de compra + barra "Comprar" fija en mobile.
 */

.mbs-pdp{display:grid;gap:22px;padding:14px 0 8px}
.mbs-pdp__gallery{margin-inline:calc(var(--gutter)*-1)}    /* a sangre en mobile */
@media (min-width:900px){
  .mbs-pdp{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:64px;align-items:start;padding-top:24px}
  .mbs-pdp__gallery{margin-inline:0;position:sticky;top:92px}
}

/* ═════════════ Galería ═════════════ */
.mbs-gal{position:relative}
.mbs-gal__badges{position:absolute;top:0;left:0;z-index:2}
.mbs-gal__badges .mbs-badge{top:14px;left:calc(var(--gutter) + 0px)}
@media (min-width:900px){.mbs-gal__badges .mbs-badge{left:14px}}
.mbs-gal__track{display:flex;margin:0;padding:0;list-style:none;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.mbs-gal__track::-webkit-scrollbar{display:none}
.mbs-gal__slide{flex:0 0 100%;display:grid;place-items:center;aspect-ratio:1/1;padding:8%;scroll-snap-align:center;background:var(--surface)}
.mbs-gal__slide .mbs-img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
@media (min-width:900px){.mbs-gal__track{border-radius:var(--r-l)}.mbs-gal__slide{aspect-ratio:4/5;max-height:min(700px,calc(100svh - 200px));padding:9%}}

.mbs-gal__count{position:absolute;right:14px;bottom:14px;padding:5px 11px;border-radius:999px;background:rgba(255,255,255,.9);font-size:12px;font-variant-numeric:tabular-nums;color:var(--ink-2)}
.mbs-gal__dots{position:absolute;left:0;right:0;bottom:16px;display:flex;justify-content:center;gap:6px;pointer-events:none}
.mbs-gal__dot{width:6px;height:6px;border-radius:50%;background:rgba(10,10,10,.22);transition:background-color 200ms ease,transform 200ms var(--ease-out)}
.mbs-gal__dot.is-on{background:var(--ink);transform:scale(1.25)}
.mbs-gal__count{display:none}
.mbs-gal__thumbs{display:none}
@media (min-width:900px){
  .mbs-gal__dots{display:none}
  .mbs-gal__count{display:block}
  .mbs-gal__thumbs{display:flex;gap:10px;margin-top:12px}
  .mbs-gal__thumb{width:68px;aspect-ratio:4/5;padding:4px;border:1.5px solid transparent;border-radius:var(--r-s);background:var(--surface);cursor:pointer;overflow:hidden;opacity:.7;transition:opacity 160ms ease,border-color 160ms ease}
  .mbs-gal__thumb.is-on{opacity:1;border-color:var(--ink)}
  .mbs-gal__thumb .mbs-img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
}

/* ═════════════ Caja de compra ═════════════ */
.mbs-buy__title{margin:6px 0 10px;font-size:clamp(32px,8.6vw,44px);line-height:1.05;letter-spacing:-.025em;text-wrap:balance}
.mbs-buy__short{margin-top:18px;padding-left:16px;border-left:2px solid var(--ink);font-size:clamp(18px,4.8vw,20px);line-height:1.5;color:var(--ink)}
@media (min-width:900px){.mbs-buy__short{font-size:20px}}
.mbs-buy__pub{display:flex;align-items:center;gap:7px;margin:0 0 12px;font-size:13.5px;color:var(--ink-3)}
.mbs-buy__pub .mbs-icon{width:16px;height:16px}
.mbs-buy__box{margin-top:22px}
.mbs-buy__form,.mbs-buy__wc form.cart{margin:0}

.mbs-buy__row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:stretch}
.mbs-buy__row .mbs-btn{min-height:50px}
.mbs-buy__buy{display:none}                    /* mobile: "Comprar" vive en la barra fija */
.mbs-buy__add{grid-column:2}
@media (min-width:900px){
  .mbs-buy__buy{display:inline-flex;grid-column:2;min-height:54px;font-size:16px}
  .mbs-buy__add{grid-column:1/-1}
  .mbs-buy__row .quantity{height:54px}
}
.mbs-buy__row .single_add_to_cart_button.disabled{opacity:.45;cursor:not-allowed}

/* Variaciones (productos variables) */
.mbs-buy .variations{width:100%;margin:0 0 18px;border:0;border-collapse:collapse}
.mbs-buy .variations :is(th,td){display:block;padding:0;text-align:left}
.mbs-buy .variations tr+tr{display:block;margin-top:14px}
.mbs-buy .variations label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:var(--ink-2)}
.mbs-buy .variations select{width:100%;min-height:50px;padding:0 42px 0 14px;border:1.5px solid var(--line-2);border-radius:var(--r-s);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%230a0a0a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center;-webkit-appearance:none;appearance:none;font:400 16px var(--font-body);color:var(--ink)}
.mbs-buy .variations select:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(10,10,10,.08)}
.mbs-buy .reset_variations{display:inline-block;margin-top:8px;font-size:12.5px;color:var(--ink-3)}
.mbs-buy .single_variation_wrap{display:grid;gap:14px}
.mbs-buy .woocommerce-variation-price .price{font-size:20px;font-weight:600}
.mbs-buy .woocommerce-variation-description{font-size:14px;color:var(--ink-2)}
.mbs-buy .woocommerce-variation-availability{font-size:13px;color:var(--ink-3)}

.mbs-soldout{display:flex;align-items:center;gap:10px;padding:14px 16px;border:1px solid var(--line-2);border-radius:var(--r-s);background:var(--surface);font-size:14.5px}
.mbs-soldout .mbs-icon{color:var(--ink-3)}

.mbs-buy__extras:empty{display:none}
.mbs-buy__extras{margin-top:18px;font-size:14px}

/* ═════════════ Acordeones ═════════════ */
.mbs-acc{margin-top:26px;border-bottom:1px solid var(--line)}
.mbs-acc__item{border-top:1px solid var(--line)}
.mbs-acc__item summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:0 2px;list-style:none;cursor:pointer;font-size:15px;font-weight:500}
.mbs-acc__item summary::-webkit-details-marker{display:none}
.mbs-acc__item summary .mbs-icon{transition:transform 220ms var(--ease-out)}
.mbs-acc__item[open] summary .mbs-icon{transform:rotate(180deg)}
.mbs-acc__body{padding:0 2px 22px;font-size:15px;color:var(--ink-2)}
.mbs-acc__item[open] .mbs-acc__body{animation:mbs-rise 260ms var(--ease-out)}
.mbs-acc__body table{width:100%;border-collapse:collapse;font-size:14px}
.mbs-acc__body :is(th,td){padding:8px 0;border-bottom:1px solid var(--line);text-align:left;font-weight:400}
.mbs-acc__body th{width:40%;color:var(--ink-3)}
.mbs-acc__body td p{margin:0}

.mbs-related{margin-top:64px}

/* ═════════════ Barra fija de mobile: precio + Comprar ═════════════ */
.mbs-buybar{position:fixed;left:0;right:0;bottom:0;z-index:35;display:flex;align-items:center;gap:16px;padding:12px var(--gutter) calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);box-shadow:0 -10px 30px rgba(0,0,0,.06);animation:mbs-bar-in 360ms var(--ease-drawer) backwards}
@keyframes mbs-bar-in{from{transform:translateY(100%)}}
.mbs-buybar__price{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.2}
.mbs-buybar__label{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.mbs-buybar__price strong{font-size:19px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mbs-buybar__price del{font-size:13px;font-weight:400;color:var(--ink-3);margin-right:6px}
.mbs-buybar__price ins{text-decoration:none}
.mbs-buybar__btn{flex:1.3;min-width:150px;max-width:260px;min-height:52px;font-size:16px}
@media (min-width:900px){.mbs-buybar{display:none}}

/* ═════════════ Formas de entrega ═════════════ */
.mbs-delivery{margin-top:22px;padding:16px;border:1px solid var(--line);border-radius:var(--r-m)}
.mbs-delivery__title{margin:0 0 14px;font:600 12px/1 var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.mbs-delivery__list{display:grid;gap:14px}
.mbs-delivery__item{display:flex;align-items:flex-start;gap:12px}
.mbs-delivery__ico{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;background:var(--surface)}
.mbs-delivery__ico .mbs-icon{width:20px;height:20px}
.mbs-delivery__txt{display:grid;gap:2px;font-size:13.5px;line-height:1.4;color:var(--ink-3)}
.mbs-delivery__txt strong{font-size:15px;font-weight:600;color:var(--ink)}

/* "Forma de entrega" como <fieldset>: mismo marco que .mbs-delivery, sin el margen/padding de fieldset/legend por defecto. */
fieldset.mbs-delivery{margin:22px 0 0;padding:16px;display:grid;gap:10px}
fieldset.mbs-delivery .mbs-delivery__title{margin:0 0 4px;padding:0;width:100%}

/* ═════════════ Selector "Retiro en evento" ═════════════ */
.mbs-event__opt{display:grid;grid-template-columns:18px 38px 1fr auto;align-items:center;gap:12px;padding:12px;border:1.5px solid var(--line-2);border-radius:var(--r-s);cursor:pointer;transition:border-color 160ms ease,background-color 160ms ease}
.mbs-event__opt input{margin:0;width:18px;height:18px;accent-color:var(--ink)}
.mbs-event__opt-ico{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;background:var(--surface);overflow:hidden}
.mbs-event__opt-ico .mbs-icon{width:20px;height:20px}
.mbs-event__opt-ico img{display:block;width:100%;height:100%;object-fit:contain;padding:4px}
.mbs-event__opt-txt{display:grid;gap:2px;min-width:0;font-size:13.5px;line-height:1.4;color:var(--ink-3)}
.mbs-event__opt-txt strong{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:15px;font-weight:600;color:var(--ink)}
.mbs-event__tag{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:999px;background:var(--accent);color:var(--ink);font:600 10.5px/1 var(--font-body);letter-spacing:.03em;white-space:nowrap}
.mbs-event__opt-price{font-size:14px;font-weight:600;color:var(--ink);white-space:nowrap;text-align:right}
.mbs-event__opt:has(input:checked){border-color:var(--ink);background:var(--surface)}
.mbs-event__opt--special:has(input:checked){box-shadow:0 0 0 1px var(--ink)}
@media (max-width:420px){.mbs-event__opt{grid-template-columns:18px 38px 1fr}.mbs-event__opt-price{grid-column:2/4;justify-self:start;margin-top:2px}}

/* ═════════════ Video del prólogo (miniatura → reproductor al tocar) ═════════════ */
.mbs-videosec{margin-top:26px}
.mbs-videosec__title{margin-bottom:12px;font:500 20px/1.2 var(--font-display);letter-spacing:-.015em}
.mbs-video{position:relative;aspect-ratio:16/9;border-radius:var(--r-m);background:#000;overflow:hidden}
.mbs-video__poster{position:absolute;inset:0;display:block}
.mbs-video__poster img{display:block;width:100%;height:100%;object-fit:cover;opacity:.92;transition:opacity 200ms ease}
.mbs-video__play{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;background:var(--accent);color:var(--ink);box-shadow:0 8px 24px rgba(0,0,0,.35);transition:transform 200ms var(--ease-out)}
.mbs-video__play .mbs-icon{width:26px;height:26px;margin-left:3px;fill:currentColor;stroke:none}
.mbs-video__poster:active .mbs-video__play{transform:scale(.94)}
@media (hover:hover) and (pointer:fine){.mbs-video__poster:hover .mbs-video__play{transform:scale(1.07)}.mbs-video__poster:hover img{opacity:1}}
.mbs-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ═════════════ Sobre el autor ═════════════ */
.mbs-author{display:flex;align-items:center;gap:22px;margin-top:56px;padding:22px;border:1px solid var(--line);border-radius:var(--r-l);background:#fff}
.mbs-author__photo{display:block;flex:none;width:84px;height:84px;border:1px solid #000;border-radius:50%;background:var(--surface);overflow:hidden}
.mbs-author__photo img{display:block;width:100%;height:100%;object-fit:cover}
.mbs-author__name{margin:4px 0 8px;font-size:24px}
.mbs-author__bio{max-width:62ch;font-size:15px;line-height:1.55;color:var(--ink-2)}
@media (max-width:599px){.mbs-author{flex-direction:column;align-items:flex-start;gap:16px}}
@media (min-width:900px){.mbs-author{gap:32px;padding:32px 36px}.mbs-author__photo{width:112px;height:112px}.mbs-author__name{font-size:28px}}

/* ═════════════ Noticias sobre el libro (franja antes del footer) ═════════════ */
.mbs-news{margin-top:72px;padding:44px 0 52px;background:var(--surface)}
.mbs-producto:has(.mbs-news) .mbs-footer{margin-top:0}
.mbs-news__list{display:grid;gap:12px}
.mbs-news__card{display:grid;grid-template-columns:104px minmax(0,1fr);gap:14px;padding:10px;border-radius:var(--r-m);background:#fff;color:inherit;text-decoration:none;transition:transform 220ms var(--ease-out),box-shadow 220ms ease}
.mbs-news__card:active{transform:scale(.985)}
.mbs-news__media{display:grid;place-items:center;aspect-ratio:1;border-radius:var(--r-s);background:var(--surface-2);color:var(--ink-3);overflow:hidden}
.mbs-news__media img{display:block;width:100%;height:100%;object-fit:cover}
.mbs-news__media .mbs-icon{width:28px;height:28px}
.mbs-news__body{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;padding:2px 4px 2px 0}
.mbs-news__date{font-size:12px;letter-spacing:.03em;color:var(--ink-3)}
.mbs-news__title{font:500 16.5px/1.3 var(--font-display);letter-spacing:-.01em;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.mbs-news__more{display:inline-flex;align-items:center;gap:6px;margin-top:auto;font-size:13px;font-weight:500}
.mbs-news__more .mbs-icon{width:14px;height:14px;transition:transform 200ms var(--ease-out)}
@media (hover:hover) and (pointer:fine){.mbs-news__card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(0,0,0,.08)}.mbs-news__card:hover .mbs-news__more .mbs-icon{transform:translateX(3px)}}
@media (min-width:768px){
  .mbs-news{padding:60px 0 68px}
  .mbs-news__list{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
  .mbs-news__card{display:flex;flex-direction:column;gap:14px;padding:12px}
  .mbs-news__media{aspect-ratio:16/10}
  .mbs-news__body{flex:1;padding:0 6px 6px}
  .mbs-news__title{font-size:19px}
}

@media (prefers-reduced-motion:reduce){
  .mbs-news__card:active,.mbs-video__poster:active .mbs-video__play{transform:none}
  .mbs-buybar{animation:mbs-fade 200ms ease-out backwards}
  .mbs-acc__item summary .mbs-icon{transition:none}
  .mbs-acc__item[open] .mbs-acc__body{animation:none}
}
