.hero-copy .button { margin-top: 30px; }
.store-buttons { gap: 12px; }
.store-buttons .store-badge { appearance: none; display: inline-flex; align-items: center; gap: 12px; min-width: 190px; min-height: 68px; padding: 10px 17px; border: 1px solid #52525b; border-radius: 13px; background: #101824; color: #fff; text-align: left; font-family: inherit; cursor: not-allowed; }
.store-badge svg { flex: 0 0 30px; width: 30px; height: 30px; }
.store-badge .store-copy { display: flex; flex-direction: column; gap: 2px; }
.store-badge .store-copy small { display: block; margin: 0; color: #d3d5db; font-size: 8px; font-weight: 500; letter-spacing: .11em; }
.store-badge .store-copy strong { color: #fff; font-size: 20px; font-weight: 600; letter-spacing: -.04em; white-space: nowrap; }
@media (max-width: 460px) { .store-buttons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); } .store-buttons .store-badge { min-width: 0; padding: 10px; gap: 8px; } .store-badge svg { width: 25px; height: 25px; flex-basis: 25px; } .store-badge .store-copy strong { font-size: 16px; } .store-badge .store-copy small { font-size: 7px; letter-spacing: .06em; } }

.hero-copy .download-button { margin-top: 30px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 62px; padding: 0 29px; border-radius: 999px; background: #e51c36; color: #fff; font-size: 15px; font-weight: 700; letter-spacing: 0; text-transform: none; transition: background .2s, transform .2s; }
.hero-copy .download-button:hover { background: #c80f29; transform: translateY(-2px); }
.download-button svg { width: 23px; height: 23px; }
.app-captures { min-width: 0; }
.capture-grid { justify-content: flex-start; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; padding: 28px 15px 18px; scrollbar-width: thin; scrollbar-color: #e21727 #241b1c; }
.capture-grid:focus-visible { outline: 2px solid #f64a5a; outline-offset: 4px; }
.capture-grid figure { scroll-snap-align: start; }
.capture-grid figure:nth-child(2) { transform: none; }
.map-card { position: relative; margin-top: 54px; overflow: hidden; min-height: 380px; background: #21191a; border: 1px solid #433638; }
.map-card iframe { display: block; width: 100%; height: 380px; border: 0; }
.map-link { position: absolute; right: 18px; bottom: 18px; background: #f4f0e9; color: #111; padding: 15px 18px; font-size: 10px; font-weight: 700; letter-spacing: .1em; }
.map-link:hover { background: #e21727; color: white; }
@media (max-width: 760px) { .capture-grid figure { width: 43%; } .map-card { min-height: 300px; margin-top: 35px; } .map-card iframe { height: 300px; } }

.hero-bottom, .section-label { justify-content: flex-end; }
.app-download { display: flex; flex-direction: column; align-items: center; gap: 22px; text-align: center; }
.app-download > div:first-child { display: flex; flex-direction: column; align-items: center; }
.app-download p:not(.overline) { max-width: 480px; }
.app-download .store-buttons { display: flex; justify-content: center; gap: 14px; margin-top: 0; }
.app-download .store-badge { background: #d91c34; border-color: #f03a52; }
.app-download .store-badge:nth-child(2) { background: #9e1527; border-color: #d92a42; }
@media (max-width: 460px) { .app-download .store-buttons { display: flex; flex-wrap: nowrap; width: 100%; gap: 8px; } .app-download .store-badge { flex: 1 1 0; } }

/* Un espacio propio para la descarga, sin perder la identidad del club. */
.app-download {
  position: relative;
  overflow: hidden;
  margin-top: 64px;
  padding: 62px 32px 66px;
  border: 1px solid #74303a;
  border-radius: 20px;
  background: radial-gradient(ellipse at 50% 0%, #72202b 0%, #3d141b 45%, #1b1013 100%);
}
.app-download .overline { color: #ff8b98; }
.app-download p:not(.overline) { color: #e2c8ca; }
.app-download .store-buttons { position: relative; }
@media (max-width: 760px) {
  .app-download { margin-top: 40px; padding: 44px 20px 48px; border-radius: 16px; }
}

/* Acerca el inicio de la sección de la app a la franja animada. */
.app-section { padding-top: 32px; }
.app-section .app-intro { padding-top: 20px; }
@media (max-width: 760px) {
  .app-section { padding-top: 26px; }
  .app-section .app-intro { padding-top: 12px; }
}
