@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Montserrat:wght@500;700;900&display=swap');
:root{--pink:#a50044;--hot:#edbb00;--purple:#071f46;--blue:#004d98;--yellow:#071f46;--cream:#fff;--ink:#071f46}*{box-sizing:border-box}body{font-family:Montserrat,Arial,sans-serif;background:#06162e;color:#071f46}body:before{background:linear-gradient(90deg,#004d98 0 48%,#fff 52% 100%);opacity:.22}main{background:#fff}h1,h2,h3,.overline,.button,.pill{font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.025em}.match-hero{background:linear-gradient(180deg,rgba(3,18,48,.12),#06162e 72%),url('clasico-fiesta.png') center top/cover;color:#fff;padding-top:48px}.match-hero .overline{color:#ffe27a;text-shadow:0 2px 8px #000}.match-hero h1{font-size:clamp(3.5rem,14vw,6.5rem);line-height:.8;color:#fff;text-shadow:0 4px 18px #000}.match-hero h1 span{display:inline-block;color:#071f46}.match-hero h1 .mateo-name{color:#fff}.match-hero h1 small{display:inline-block;margin:0 .12em;color:#fff;font-size:.55em}.match-hero h1 b{display:block;margin:18px auto 10px;padding:10px 20px;border-radius:12px;background:linear-gradient(90deg,#a50044,#004d98 48%,#fff 52%,#071f46);color:#071f46;font-size:.36em;text-shadow:none;box-shadow:0 7px 0 #020b19}.match-art{width:min(92%,580px);max-height:420px;object-fit:cover;object-position:center 42%;border:5px solid #fff;border-radius:28px;box-shadow:0 20px 40px #0008;margin:18px auto;display:block}.brothers{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:620px;margin:26px auto}.player-card{padding:18px;border-radius:24px;border:3px solid #fff;box-shadow:0 12px 25px #0005}.player-card h2{font-size:2.8rem;color:#fff}.player-card p{margin:5px 0;font-size:.9rem}.player-card.barca{background:linear-gradient(145deg,#a50044,#004d98)}.player-card.madrid{background:linear-gradient(145deg,#fff,#e8dba6);color:#071f46}.player-card.madrid h2{color:#071f46}.photo-space{aspect-ratio:1;border:3px dashed currentColor;border-radius:50%;display:grid;place-content:center;gap:6px;background:#ffffff22}.photo-space span{font-size:2.5rem}.photo-space b{font-size:.8rem}.welcome{color:#fff}.countdown div{background:linear-gradient(145deg,#004d98,#a50044)}.countdown div:nth-of-type(2){background:linear-gradient(145deg,#fff,#071f46);color:#071f46}.countdown div:nth-of-type(3){background:linear-gradient(145deg,#071f46,#004d98)}.countdown em{color:#071f46}.details{background:linear-gradient(145deg,#fff,#eef3fa)}.details h2 strong{color:#a50044}.pill{background:#071f46;color:#fff}.card h3{color:#004d98}.button{background:#004d98;box-shadow:0 7px 0 #002b57}.calendar{background:#a50044}.map-disabled{opacity:.55;cursor:not-allowed}.map-placeholder,.pending-card{display:flex;align-items:center;gap:14px;max-width:480px;margin:20px auto;padding:18px 22px;border:3px dashed #99a8bd;border-radius:22px;background:#fff;text-align:left}.map-placeholder span,.pending-card span{font-size:2rem}.map-placeholder p,.pending-card p{margin:5px 0}.party{background:linear-gradient(145deg,#071f46,#004d98);color:#fff}.party .overline{color:#071f46}.party h2{color:#fff;text-shadow:0 3px 0 #a50044}.activities article{color:#071f46;border:3px solid #071f46}.pool-alert{background:#fff;color:#071f46;border-color:#071f46}.rsvp{background:linear-gradient(150deg,#a50044,#071f46);color:#fff}.rsvp h2,.rsvp .overline{color:#fff}.pending-card{color:#071f46}.signoff b{color:#071f46}.final-message{background:#fff;color:#071f46}.match-envelope{background:linear-gradient(135deg,#a50044,#004d98 48%,#fff 52%,#071f46);border:5px solid #fff}.match-envelope p,.match-envelope h2{color:#071f46;text-shadow:0 1px 0 #fff}.match-envelope button{background:#071f46}.ball{font-size:4rem}.envelope-screen{background:#06162e}
@media(max-width:520px){.brothers{gap:9px}.player-card{padding:11px}.player-card h2{font-size:2rem}.player-card p{font-size:.72rem}.photo-space b{font-size:.65rem}.match-art{max-height:310px}.match-hero h1 b{font-size:.3em}}
.player-card{position:relative;overflow:hidden}.club-badge{position:absolute;z-index:4;top:10px;right:10px;width:58px;height:58px;object-fit:contain;filter:drop-shadow(0 4px 6px #0007)}.star-photo{width:100%;height:190px;object-fit:cover;object-position:center 25%;border-radius:16px;margin-bottom:12px;border:3px solid currentColor}.player-card.madrid .star-photo{object-position:center 18%}.photo-space{max-width:150px;margin:0 auto}.whatsapp-note{margin:18px auto 28px}.response-options .yes{background:#168b4c}.response-options .no{background:#071f46}.map-button{background:#178144}@media(max-width:520px){.club-badge{width:42px;height:42px}.star-photo{height:125px;border-radius:11px}.photo-space{max-width:105px}.player-card{padding-top:10px}}
.duo-art{display:grid;grid-template-columns:1fr 1fr;position:relative;overflow:hidden;padding:0;background:linear-gradient(90deg,#a50044 0 49%,#fff 51% 100%)}.duo-player{position:relative;margin:0;min-width:0}.duo-player>img{display:block;width:100%;height:390px;object-fit:cover}.messi-duo>img{object-position:center 25%}.ronaldo-duo>img{object-position:center 20%}.duo-player figcaption{position:absolute;left:8px;right:8px;bottom:10px;display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:8px;border-radius:12px;background:rgba(3,18,48,.9);color:#fff;font:700 1rem Montserrat,sans-serif;text-shadow:0 2px 3px #000}.duo-player figcaption img{width:38px;height:38px;object-fit:contain}.versus{position:absolute;z-index:6;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:64px;height:64px;border:4px solid #fff;border-radius:50%;background:#071f46;color:#071f46;font:900 1.6rem 'Bebas Neue',sans-serif;box-shadow:0 8px 20px #0008}.match-hero h1,.match-hero h1 small,.match-hero .welcome,.match-hero .count-label{color:#fff!important}.match-hero h1 span{color:#071f46!important}.match-hero h1 .mateo-name{color:#fff!important}.player-card.barca,.player-card.barca h2,.player-card.barca p,.player-card.barca strong{color:#fff!important}.details .overline,.details h3{color:#00407d}.party p{color:#fff}.activities article p,.activities article h3{color:#071f46}.rsvp-copy,.rsvp .whatsapp-note{color:#fff}@media(max-width:520px){.duo-player>img{height:250px}.duo-player figcaption{font-size:.72rem;gap:4px}.duo-player figcaption img{width:28px;height:28px}.versus{width:48px;height:48px;font-size:1.2rem}}
.match-hero .overline,.match-hero h1 span,.match-hero h1 .mateo-name,.party .overline,.rsvp .overline,.signoff b{color:#fff!important;text-shadow:0 3px 8px #000}.match-envelope{background:linear-gradient(135deg,#8c003a,#00366d 58%,#071f46)}.match-envelope p,.match-envelope h2{color:#fff!important;text-shadow:0 3px 8px #000}.match-envelope button{background:#fff;color:#071f46;box-shadow:0 7px 0 #071f46}.player-card .photo-space{margin-top:26px}.player-card.madrid .photo-space{background:#fff;color:#071f46;border-color:#071f46}
.photo-space.has-photo{width:100%;max-width:none;aspect-ratio:2/3;margin-top:26px;padding:5px;border-style:solid;border-radius:18px;background:#06162e;overflow:hidden}.photo-space.has-photo img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;border-radius:12px}.player-card.madrid .photo-space.has-photo{background:#e9eef5}.creator-credit{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:20px;background:#020b19;color:#fff;font:600 .9rem Montserrat,sans-serif;text-align:center}.creator-credit a{padding:9px 14px;border-radius:999px;background:#168b4c;color:#fff;text-decoration:none;font-weight:800}.creator-credit a:hover{background:#0f6c3a}@media(max-width:520px){.photo-space.has-photo{aspect-ratio:2/3;padding:3px;border-radius:12px}.creator-credit{font-size:.78rem}}

/* Marcos idénticos para que las dos fotografías tengan el mismo tamaño. */
.brothers{align-items:stretch}.player-card{display:flex;flex-direction:column}.player-card .photo-space.has-photo{flex:0 0 auto;width:100%;aspect-ratio:2/3}.player-card .photo-space.has-photo img{object-fit:contain}.player-card h2{margin-top:12px}.player-card p:last-child{margin-top:auto}

/* Confirmación clara y táctil en computadora y celular. */
.guest-field,.response-step{width:min(100%,570px);margin:22px auto;padding:22px;border:2px solid #ffffff80;border-radius:24px;background:#fff;color:#071f46;box-shadow:0 14px 34px #020b1960;text-align:left}.guest-field label,.response-step>strong{display:block;margin-bottom:12px;color:#071f46;font-size:1rem;font-weight:900}.guest-field input{display:block;width:100%;min-height:54px;padding:13px 16px;border:3px solid #004d98;border-radius:14px;background:#fff;color:#071f46;font:700 1rem Montserrat,Arial,sans-serif;outline:none}.guest-field input:focus{border-color:#a50044;box-shadow:0 0 0 4px #edbb0055}.guest-field small{display:block;margin-top:10px;color:#334760;font-size:.82rem;line-height:1.4}.guest-field small.ready{color:#116b3d;font-weight:900}.response-options{display:grid;grid-template-columns:1fr 1fr;gap:14px}.response-options button{display:flex;align-items:center;justify-content:center;width:100%;min-height:56px;padding:14px 18px;border:3px solid #fff;border-radius:15px;color:#fff;font:900 1rem Montserrat,Arial,sans-serif;line-height:1.2;box-shadow:0 6px 0 #020b19;cursor:pointer;transition:transform .18s,box-shadow .18s,filter .18s}.response-options .yes{background:#168b4c}.response-options .no{background:#071f46}.response-options button:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.12)}.response-options button:active:not(:disabled){transform:translateY(4px);box-shadow:0 2px 0 #020b19}.response-options button:focus-visible{outline:4px solid #edbb00;outline-offset:3px}.response-options button:disabled{opacity:.72;color:#fff;background:#64748b;border-color:#dce5ee;box-shadow:none;cursor:not-allowed;filter:none}.whatsapp-note{max-width:570px;font-size:.95rem;line-height:1.5}

@media(max-width:520px){.guest-field,.response-step{padding:17px 14px;border-radius:18px}.response-options{grid-template-columns:1fr}.response-options button{min-height:58px;font-size:.95rem}.player-card .photo-space.has-photo{aspect-ratio:2/3}}

/* Cierre compacto: el pie de página aparece justo después de la información. */
.rsvp{min-height:0;padding-bottom:46px}.rsvp .final-message{margin-bottom:0}.rsvp .signoff{margin-top:34px}.creator-credit{position:relative;z-index:2}
@media(max-width:520px){.rsvp{padding-bottom:34px}.rsvp .final-message{margin-bottom:0}.rsvp .signoff{margin-top:28px}}
