/* Mobile corrections shared by the public pages and member area. */
.mp-link { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 18px; border-radius: 10px; font-weight: 600; }
.mp-link-pending { background: #fff0de; color: #8a3c00; border: 1px solid #d77a1e; }
.mp-link-connected { background: #e5f4ed; color: #17633e; border: 1px solid #75b493; }
.competition-cards { display: none; }
.competition-card { background: #fff; border: 1px solid #dce5ec; border-top: 4px solid #196b8b; border-radius: 12px; padding: 20px; text-align: left; }
.competition-card h2 { font-size: 1.25rem; color: #173d53; margin: 8px 0 16px; }
.competition-card .eyebrow { color: #196b8b; font-size: .8rem; font-weight: 600; text-transform: uppercase; }
.competition-card dl { display: grid; grid-template-columns: 80px 1fr; gap: 6px 12px; margin-bottom: 20px; font-size: .95rem; }
.competition-card dt { color: #687984; font-weight: 400; }
.competition-card dd { margin: 0; overflow-wrap: anywhere; }
.competition-card .btn { display: block; white-space: normal; }
.competition-pending { display: block; padding: 12px; background: #eef2f5; color: #526370; border-radius: 8px; text-align: center; font-size: .9rem; }
.competition-empty { padding: 24px; background: #fff; border-radius: 12px; text-align: center; }
.competition-invitation { padding: 24px; border-radius: 12px; background: #e6f0f6; margin: 24px 0; }
.profile-actions { margin: 32px auto 0; max-width: 480px; padding: 0 16px; }
.profile-actions .btn { width: 100%; min-height: 48px; white-space: normal; }
@media (max-width: 767px) {
  body { zoom: 1; font-size: 1rem; line-height: 1.55; }
  body main { min-width: 0; }
  body .rd-navbar-wrap { width: 100%; }
  .float-wa { width: 48px; height: 48px; right: 16px; bottom: 16px; font-size: 30px; }
  .mobile-home .home-hero { height: calc(100vh - 80px); height: calc(100svh - 80px); min-height: 430px; }
  .mobile-home .home-hero .swiper-slide { display: flex; align-items: center; justify-content: center; background-size: cover !important; background-position: center !important; }
  .mobile-home .home-hero .container { margin-top: 0; padding: 0 24px 56px; }
  .mobile-home .home-hero .swiper-slide-caption { padding: 0; text-align: center; }
  .mobile-home .home-hero .swiper-slide-caption:hover { opacity: 1; }
  .mobile-home .home-hero h1 { font-size: clamp(2.4rem, 10vw, 3.6rem); line-height: 1.15; }
  .mobile-home .home-hero h3 { font-size: 1.1rem; margin-bottom: 20px; }
  .mobile-home .home-hero .cta-section { bottom: 24px; width: 100%; }
  .mobile-home .slide-overlay { background: linear-gradient(180deg, rgba(15,31,37,.18), rgba(15,31,37,.5)); }
  .sponsor-carousel { padding: 32px 20px !important; }
  .sponsor-header { flex-direction: column; align-items: flex-start; gap: 16px; }
  .sponsor-header h2 { font-size: 1.35rem; }
  .sponsor-header .btn { font-size: .95rem; padding: 10px 16px; }
  .footer-classic .footer-classic-main { padding: 36px 0 76px; }
  .footer-classic .row-50 { row-gap: 24px; margin-top: 0; }
  .footer-classic .row-50 > * { margin-top: 0; }
  body .footer-classic .footer-classic-info { flex-direction: column; align-items: center; text-align: center; gap: 16px; }
  .footer-classic .unit-left { margin: 0; }
  .footer-classic .secciones-footer { display: grid !important; grid-template-columns: 1fr 1fr; gap: 16px; padding: 0 15px; text-align: left; }
  .footer-classic .secciones-footer > * { width: 100%; padding: 0; align-content: start; align-self: start; }
  .footer-classic .secciones-footer a { display: block; padding: 7px 0; line-height: 1.4; }
  .page-header .rd-navbar-fixed .rd-navbar-main { height: calc(100dvh - 80px); }
  .footer-classic .secciones-footer br { display: none; }
  .footer-classic .footer p { padding: 0 20px; font-size: .85rem !important; }
  .mobile-play .title-section { height: auto; min-height: 0; padding: 32px 20px; justify-content: center; }
  .mobile-play .title-section h1 { font-size: 2.1rem; }
  .mobile-play #footgolfTabs { display: grid; gap: 10px; border: 0; margin-bottom: 24px !important; }
  .mobile-play #footgolfTabs .nav-item { margin: 0 !important; }
  .mobile-play #footgolfTabs .nav-link { border-radius: 10px; padding: 14px 16px; }
  .mobile-play .lead { font-size: 1rem; text-align: left !important; }
  .mobile-play .tab-content .btn { margin: 6px 0; width: 100%; white-space: normal; }
  .mobile-play .play-gallery { display: grid !important; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0; }
  .mobile-play .play-gallery > div { max-width: 100%; padding: 0; margin: 0 !important; }
  .mobile-play .play-gallery img { width: 100%; height: 160px !important; object-fit: cover; }
  .mobile-competition .competition-title { height: auto; padding: 32px 16px 8px; }
  .mobile-competition .competition-title h1 { font-size: 2rem; }
  .mobile-competition .competition-section { padding-top: 24px !important; }
  .mobile-competition .competition-search .input-group { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .mobile-competition .competition-search input { grid-column: 1 / -1; width: 100%; min-height: 48px; border-radius: 8px !important; font-size: 16px; }
  .mobile-competition .competition-search .btn { min-height: 44px; border-radius: 8px !important; margin: 0; }
  .mobile-competition .competition-table { display: none; }
  .mobile-competition .competition-cards { display: grid; gap: 16px; }
  .mobile-leaderboard .heading-component-inner { flex-direction: column; align-items: stretch; gap: 16px; }
  .mobile-leaderboard .heading-component-aside { margin: 0; }
  .mobile-leaderboard .heading-component-aside ul { display: flex; flex-wrap: wrap; gap: 10px; }
  .mobile-leaderboard #search-input { width: 100%; min-height: 44px; font-size: 16px; }
  .mobile-leaderboard .heading-component-aside li { width: 100%; margin-left: 0; }
  .mobile-leaderboard .heading-component-aside .select2-container { width: 100% !important; }
  .mobile-leaderboard .table-responsive { border-radius: 10px; background: #fff; }
  .mobile-leaderboard .table { font-size: .9rem; white-space: nowrap; }
  .mobile-leaderboard .table thead { background: #196b8b; }
  .mobile-leaderboard .table th, .mobile-leaderboard .table td { padding: 12px 10px; }
  .mobile-payment .section { padding: 28px 0 48px; }
  .mobile-payment .container-membresia { display: grid; gap: 20px; width: 100%; margin: auto; }
  .mobile-payment .container-membresia > div { width: 100% !important; min-width: 0; padding: 20px; background: #fff; border: 1px solid #dde5ec; border-radius: 14px; }
  .mobile-payment .container-membresia .p-4 { padding: 0 !important; }
  .mobile-payment h1 { font-size: 1.7rem; }
  .mobile-payment .lead { font-size: 1rem; }
  .mobile-payment .form-check { padding: 14px 12px 14px 32px; background: #f4f8fb; border: 1px solid #dce5ec; border-radius: 10px; }
  .mobile-payment .form-check-input { margin-top: 7px; }
  .mobile-payment #msg-mercadopago, .mobile-payment #msg-prompt_cash { margin-left: -20px; margin-top: 16px; }
  .mobile-payment iframe { max-width: 100% !important; }
  .mobile-payment .btn { width: 100%; white-space: normal; }
  .mobile-edit .section { padding: 28px 0 48px; }
  .mobile-edit .col-lg-6 { padding: 0 16px; }
  .mobile-edit .row-50 { row-gap: 24px; margin-top: 0; }
  .mobile-edit .row-50 > * { margin-top: 0; }
  .mobile-edit input:not([type=checkbox]):not([type=radio]), .mobile-edit select, .mobile-edit .select2-container { width: 100% !important; max-width: 100%; font-size: 16px; }
  .mobile-edit input:not([type=file]), .mobile-edit select { min-height: 44px; }
  .mobile-edit .btn { min-height: 46px; white-space: normal; padding: 12px 16px; border-radius: 8px; }
  .mobile-edit .modal-body .btn { width: 100%; background: #196b8b; color: #fff; border-color: #196b8b; margin-top: 16px; }
  .mobile-edit .modal-title { font-size: 1.2rem; }
  .mobile-edit .modal-dialog { margin: 12px; }
  .mobile-account .container-perfil { flex-direction: column; align-items: center; gap: 20px; }
  .mobile-account .container-name { padding: 0; }
  .mobile-account .mp-link { width: 100%; white-space: normal; }
}
