/* 原设计保持不变；此文件只覆盖已确认的功能与兼容问题。 */
:root { --font-body: var(--font-main); }
[hidden] { display: none !important; }
button, a, [role="button"] { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }
:focus-visible { outline: 3px solid #ffb900 !important; outline-offset: 5px; }
.skip-link { position: absolute; top: -100px; left: 16px; z-index: 100000; padding: 12px 20px; color: #fff; background: #010b37; border-radius: 8px; }
.skip-link:focus { top: 12px; }
.local-copy-note { background: #f4f7fb; border-bottom: 1px solid #d9e5f0; color: #123854; padding: 10px 0; font-size: .8rem; line-height: 1.5; }
.local-copy-note a, .currency-note a { text-decoration: underline; text-underline-offset: 3px; }
.local-copy-note a { font-weight: 700; }
.currency-note { margin: 30px auto 0; max-width: 940px; background: rgba(1,11,55,.15); border-radius: 12px; padding: 16px 20px; color: white; font-size: .82rem; line-height: 1.65; }
.currency-note a { display: inline-block; margin-top: 6px; }
.hero-equivalence { margin-top: 8px; font-size: .8rem; line-height: 1.5; color: white; }
.prize-amount { flex-wrap: nowrap; max-width: 100%; }
.prize-number { font-size: clamp(2.4rem, 5.3vw, 5.4rem); letter-spacing: -1.5px; white-space: nowrap; }
.prize-currency { font-size: clamp(1.5rem, 2.6vw, 2.8rem); }
.premio-monto { font-size: clamp(1.2rem, 2.5vw, 2.35rem); letter-spacing: -1px; white-space: nowrap; }
.premio-card { opacity: 1; transform: none; min-width: 0; }
.premio-card.animate-card { animation: none; }
.hero-woman, .cta-woman, .hero-prize, .hero-cta-group, .cta-text, .cta-right { opacity: 1; }
.hero-woman, .cta-woman { animation: none; }
.premios-panel { animation: none; scale: 1; }
.pasos-footnote { opacity: 1; }
.paso-card:hover .paso-card-inner { transform: none; }
.paso-card.flipped .paso-card-inner, .paso-card.flipped:hover .paso-card-inner { transform: rotateY(180deg); }
.paso-front, .paso-back { -webkit-backface-visibility: hidden; backface-visibility: hidden; }
.paso-back { overflow-wrap: anywhere; }
.ganadores-modal[aria-hidden="true"], .video-modal[aria-hidden="true"] { display: none; }
.ganadores-modal-card { max-width: 440px; max-height: 90dvh; overflow-y: auto; }
.ganadores-modal-description { color: #444; font-size: .94rem; line-height: 1.6; margin-bottom: 18px; }
.ganadores-modal .official-results-link { display: block; color: #0a6cb7; text-decoration: underline; font-weight: 700; margin: 0 0 20px; }
.video-modal-content { max-height: 76dvh; }
.video-fallback { text-align: center; color: white; margin-top: 16px; font-size: .9rem; }
.video-fallback a { text-decoration: underline; }
.video-close-btn { min-width: 44px; min-height: 44px; }
.header-scrolled { box-shadow: 0 4px 24px rgba(0,0,0,.15); }
.reveal-once { animation: repairReveal .45s ease-out both; }
@keyframes repairReveal { from { opacity: .5; translate: 0 12px; } to { opacity: 1; translate: 0 0; } }
.footer-link, .saber-card-text a, .bord.text a { overflow-wrap: anywhere; }

/* 无JS仍可阅读两个标签页的内容和步骤详情。 */
html:not(.js-ready) .premios-panel.hidden,
html:not(.js-ready) .ganadores-panel.hidden { display: block !important; margin-top: 28px; }
html:not(.js-ready) .paso-card { height: auto; cursor: default; }
html:not(.js-ready) .paso-card-inner { transform: none; }
html:not(.js-ready) .paso-front,
html:not(.js-ready) .paso-back { position: relative; transform: none; }
html:not(.js-ready) .paso-front { min-height: 330px; }
html:not(.js-ready) .paso-back { padding: 24px; margin-top: 12px; }
html:not(.js-ready) .paso-back .paso-number { display: none; }

/* 桌面过渡宽度：原提示绝对定位会裁切，把它放回CTA布局内。 */
@media (min-width: 1081px) and (max-width: 1320px) {
  .hero-cta-group { flex-direction: column; align-items: flex-start; }
  .hero-cta-hint { position: static; transform: none; width: auto; margin: 10px 0 0; }
}
@media (max-width: 1080px) {
  .prize-number { font-size: clamp(2.05rem, 8.9vw, 3.7rem); letter-spacing: -1px; }
  .prize-currency { font-size: clamp(1.3rem, 5vw, 2rem); }
  .prize-amount { justify-content: center; gap: 6px; }
  .premio-monto { font-size: clamp(1.05rem, 4.6vw, 1.75rem); letter-spacing: -.6px; }
  .hero-equivalence { text-align: center; }
  .currency-note { padding: 14px; margin-top: 24px; }
  .local-copy-note { font-size: .75rem; }
}
@media (max-width: 360px) {
  .premios-tabs .tab-btn { font-size: .72rem; padding: 12px 6px; }
  .premio-card { padding-inline: 6px; }
  .cta-woman { width: 48%; }
  .cta-logo { max-width: 140px; }
  .btn-participa-ya { font-size: .95rem; padding-inline: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .premio-card, .hero-woman, .cta-woman, .cta-text, .cta-right, .hero-prize, .hero-cta-group, .pasos-footnote, .reveal-once { opacity: 1 !important; translate: none !important; }
  .confetti-piece { display: none; }
  .premios-panel { scale: 1 !important; }
}
