/* Reference layout remains in style.css, unchanged. Additions cover the independent player. */
button:focus-visible, a:focus-visible, input:focus-visible { outline: 3px solid #d89f55; outline-offset: 4px; }
/* Spanish labels are page text over the original gold footer, leaving every photo intact. */
.ba-localized-slide { margin: 0; container-type: inline-size; }
.ba-slide-photo { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.ba-caption-band { position: absolute; inset: auto 0 0; height: var(--caption-height); background: linear-gradient(110deg, #93600d 0%, #d7a332 20%, #f2cd67 37%, #ad7a15 54%, #dfb242 78%, #a47312 100%); border-top: 1px solid #f9db80; color: #fff; font-size: var(--caption-size); font-weight: 800; letter-spacing: 0.12em; line-height: 1; }
.ba-caption-before, .ba-caption-after { position: absolute; top: 50%; transform: translate(-50%, -50%); white-space: nowrap; text-shadow: 0 1px 2px #6e490455; }
.ba-caption-before { left: 25%; }
.ba-caption-after { left: 75%; }
.ba-caption-arrow { position: absolute; width: 16%; height: 70%; left: 42%; top: 15%; color: #fadd7c; filter: drop-shadow(0 1px 1px #69450488); }
.player-panel { padding: 1rem; }
.mx-player { position: relative; width: 100%; max-width: 400px; aspect-ratio: 9 / 16; margin: 0 auto; background: #f9b326; color: #080808; overflow: hidden; }
.mx-player video { width: 100%; height: 100%; object-fit: contain; background: #000; }
.mx-player-cover { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1rem; padding: 1.25rem; text-align: center; }
.mx-player-cover strong { font-size: 1.2rem; }
.mx-play { display: flex; align-items: center; justify-content: center; gap: 0.75rem; border: 0; background: transparent; color: #080808; font-size: 0.9rem; font-weight: 700; padding: 0.35rem; }
.mx-play span { display: inline-grid; place-items: center; border: 2px solid currentColor; border-radius: 50%; width: 34px; height: 34px; font-size: 24px; }
#playerNotice { font-size: 0.9rem; margin-top: 0.75rem; }
.mx-checkout { text-align: center; margin: 1.35rem auto; }
.mx-buy { display: inline-block; background: #1b9b32; border-radius: 12px; padding: 1rem 1.5rem; color: white; text-decoration: none; font-size: 1.1rem; font-weight: 700; transition: transform 0.2s; }
.mx-buy:hover { transform: translateY(-2px); }
#checkoutNotice { margin-top: 1rem; color: var(--text-dim); font-size: 0.9rem; }
.review-panel { position: fixed; bottom: 12px; left: 12px; z-index: 50; background: #fff; border: 1px solid #d8d8d8; box-shadow: 0 4px 24px #0002; border-radius: 12px; padding: 12px; width: 215px; max-height: 45vh; overflow: auto; font-size: 12px; }
.review-panel summary { cursor: pointer; font-weight: 700; }
.review-panel p { margin: 8px 0; line-height: 1.4; color: #666; }
.review-panel nav { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; }
.review-panel button { background: #faf6ef; border: 1px solid #eee4d5; border-radius: 5px; padding: 5px; font-size: 11px; text-align: left; color: #222; }
.review-panel [data-result], .review-panel [data-buy] { margin: 4px 4px 0 0; }
@media (max-width: 480px) { .mx-player-cover strong { font-size: 1rem; } .mx-play { font-size: 0.8rem; } .review-panel { width: 180px; } }
