/* ===== Estilo "web de club grande": claro, editorial, con portada de noticias ===== */
body{background:#fff}

/* ---- barra superior ---- */
.utility{background:var(--navy);color:#fff;font-size:.85rem}
.utility-in{width:min(1280px,94vw);margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.45rem 0}
.utility-promo{display:flex;align-items:center;gap:.6rem;background:rgba(255,255,255,.1);border-radius:999px;padding:.3rem .5rem .3rem .9rem;font-weight:600}
.utility-promo button{background:var(--red);color:#fff;font-weight:800;font-size:.72rem;letter-spacing:.08em;padding:.3rem .8rem;border-radius:999px}
.utility-promo .dot{width:8px;height:8px;border-radius:50%;background:#FF5A60;animation:pulse 1.4s infinite}
.utility-right{display:flex;align-items:center;gap:1rem}
.utility-link{color:#fff;text-decoration:none;font-weight:600}
.btn-socio{background:var(--red);color:#fff;font-weight:800;padding:.4rem 1rem;border-radius:6px;font-size:.8rem;letter-spacing:.04em}
.demo-chip{background:var(--gold);color:var(--wine);font-weight:900;font-size:.65rem;letter-spacing:.12em;padding:.2rem .5rem;border-radius:4px}

/* ---- menú blanco ---- */
.topbar{background:#fff!important;border-bottom:3px solid var(--red);backdrop-filter:none;box-shadow:0 6px 20px -16px rgba(0,0,0,.4)}
.topbar .brand{color:var(--navy)}
.topbar .brand b{color:var(--navy)}
.topbar .brand small{color:var(--red-d);letter-spacing:.18em}
.nav a{color:var(--navy);text-transform:uppercase;font-family:var(--display);font-weight:600;font-size:.92rem;letter-spacing:.04em}
.nav a:hover,.nav a.active{color:var(--red)}
.burger span{background:var(--navy)}

/* ---- portada ---- */
.cover{position:relative;min-height:min(82vh,760px);display:flex;align-items:flex-end;overflow:hidden;color:#fff;padding:0 0 9rem}
.cover-media{position:absolute;inset:0}
.cover-media img{width:100%;height:100%;object-fit:cover;object-position:center 60%;transform:scale(1.05);animation:kenburns 18s ease-in-out infinite alternate}
@keyframes kenburns{to{transform:scale(1.14) translate(-2%,1%)}}
.cover-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,4,10,.15) 0%,rgba(20,4,10,.35) 40%,rgba(20,4,10,.92) 100%),linear-gradient(90deg,rgba(38,43,92,.55),transparent 60%)}
.cover-sash{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.cover-sash i{position:absolute;top:-20%;height:140%;transform:skewX(-27deg);transform-origin:bottom;opacity:.85}
.cover-sash i:nth-child(1){right:22%;width:10px;background:#fff}
.cover-sash i:nth-child(2){right:calc(22% - 150px);width:130px;background:var(--red)}
.cover-sash i:nth-child(3){right:calc(22% - 172px);width:10px;background:#fff}
.cover-in{position:relative;z-index:2}
.cat{display:inline-block;background:var(--red);color:#fff;font-weight:800;font-size:.75rem;letter-spacing:.14em;padding:.35rem .8rem;margin-bottom:1rem}
.cover h1{font-family:var(--display);text-transform:uppercase;font-size:clamp(2.6rem,7vw,5.6rem);line-height:.95;max-width:900px;text-shadow:0 6px 30px rgba(0,0,0,.5)}
.cover-lead{font-size:1.2rem;max-width:620px;margin-top:1rem;color:#F1E6E0}
.cover-ctas{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.6rem}

/* ---- noticias bajo portada ---- */
.top-news{margin-top:-6.5rem;position:relative;z-index:5;padding-bottom:2.5rem}
.top-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.news-card{display:flex;flex-direction:column;background:#fff;text-decoration:none;color:var(--ink);box-shadow:0 18px 40px -22px rgba(20,4,10,.55);transition:transform .25s,box-shadow .25s;overflow:hidden;border-radius:4px}
.news-card:hover{transform:translateY(-6px);box-shadow:0 26px 50px -22px rgba(20,4,10,.65)}
.nc-media{aspect-ratio:16/9;overflow:hidden;background:var(--wine)}
.nc-media>img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.news-card:hover .nc-media>img{transform:scale(1.07)}
.nc-brand{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,var(--wine) 0 45%,var(--red) 45% 60%,var(--wine) 60%)}
.nc-brand img{height:62%;filter:drop-shadow(0 10px 18px rgba(0,0,0,.5))}
.nc-body{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.35rem;flex:1}
.nc-cat{font-weight:800;font-size:.7rem;letter-spacing:.14em;color:var(--red-d)}
.nc-body h3{font-family:var(--display);text-transform:uppercase;font-size:1.25rem;line-height:1.1}
.nc-body p{font-size:.95rem;color:var(--body)}
.nc-meta{margin-top:auto;font-size:.78rem;color:var(--muted);font-weight:600}

/* ---- auspiciadores ---- */
.sponsors{background:#fff;padding:1.4rem 0;border-top:1px solid #eee;border-bottom:1px solid #eee}
.sponsors-title,.section-kicker{font-weight:800;font-size:.75rem;letter-spacing:.2em;color:var(--muted);margin-bottom:.8rem}
.section-kicker.light{color:var(--gold)}
.sponsors-row{display:flex;gap:1rem;flex-wrap:wrap}
.sponsor{flex:1;min-width:150px;height:64px;border:2px dashed #DCD2C8;border-radius:8px;color:#A3958C;font-family:var(--display);text-transform:uppercase;letter-spacing:.06em;transition:.2s}
.sponsor:hover{border-color:var(--red);color:var(--red)}

/* ---- historias ---- */
.stories{padding:2rem 0 1rem;background:#fff}
.stories-row{display:flex;gap:1.3rem;overflow-x:auto;padding:.4rem .2rem 1rem;scrollbar-width:none}
.story{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:.35rem;text-decoration:none;color:var(--navy);position:relative;width:92px}
.story-ring{width:84px;height:84px;border-radius:50%;padding:3px;background:conic-gradient(var(--red),var(--gold),var(--navy),var(--red));transition:transform .2s}
.story:hover .story-ring{transform:scale(1.07) rotate(8deg)}
.story.seen .story-ring{background:#ddd}
.story-in{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;background:#fff;border:3px solid #fff;overflow:hidden}
.story-in img{width:100%;height:100%;object-fit:cover}
.story-ico{font-size:2rem}
.story-new{position:absolute;top:66px;background:var(--red);color:#fff;font-weight:900;font-size:.58rem;letter-spacing:.1em;padding:.1rem .4rem;border-radius:3px}
.story.seen .story-new{display:none}
.story-t{font-weight:700;font-size:.82rem;margin-top:.3rem}

/* ---- encabezados de sección ---- */
.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.2rem;border-bottom:2px solid #eee;padding-bottom:.6rem}
.section-head .title{margin:0}
.more{color:var(--red-d);font-weight:800;text-decoration:none;font-size:.9rem;letter-spacing:.04em}

/* ---- calendario ---- */
.match{background:#fff;padding:3rem 0 3.5rem}
.match-card{margin-top:0;border-radius:6px}
.rail-wrap{position:relative}
.rail{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.4rem .2rem 1rem;scrollbar-width:none}
.rail::-webkit-scrollbar,.stories-row::-webkit-scrollbar{display:none}
.rail-btn{position:absolute;top:40%;z-index:3;width:42px;height:42px;border-radius:50%;background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.2);font-size:1.6rem;color:var(--navy);line-height:1}
.rail-btn.prev{left:-14px}.rail-btn.next{right:-14px}
.fixture{flex:0 0 290px;scroll-snap-align:start;background:#fff;border:1px solid #E6E1DA;border-radius:6px;padding:1.1rem;text-align:center;transition:.2s}
.fixture:hover{border-color:var(--navy);transform:translateY(-4px)}
.fixture.next{border-top:5px solid var(--red)}
.fx-comp{font-weight:800;font-size:.72rem;letter-spacing:.14em;color:var(--muted)}
.fx-teams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.4rem;margin:.9rem 0}
.fx-teams img,.fx-rival{width:54px;height:56px;object-fit:contain;margin:0 auto .3rem;display:grid;place-items:center}
.fx-rival{border-radius:50%;background:var(--cream-2);border:2px dashed #CDBFB2;color:var(--muted);font-family:var(--display);font-size:1.4rem;width:52px;height:52px}
.fx-teams b{font-family:var(--display);text-transform:uppercase;font-size:.9rem;color:var(--navy);display:block;line-height:1.1}
.fx-vs{font-family:var(--display);color:var(--red);font-size:1.1rem}
.fx-date{font-weight:800;color:var(--navy);text-transform:capitalize}
.fx-place{font-size:.85rem;color:var(--muted)}
.fx-actions{margin-top:.8rem}

/* ---- secciones existentes, a tono claro ---- */
.how{background:var(--cream)}
.title{font-style:normal}

/* ---- socio ---- */
.socio-band{background:linear-gradient(110deg,var(--navy) 0%,#1A1E48 60%,var(--red-d) 60%,var(--red) 100%);color:#fff;padding:2.6rem 0}
.socio-in{display:flex;align-items:center;gap:1.6rem;flex-wrap:wrap}
.socio-crest{width:80px}
.socio-in h2{font-family:var(--display);text-transform:uppercase;font-size:2rem}
.socio-in p{color:#DCDDEB;max-width:560px}
.socio-in .btn{margin-left:auto}

/* ---- actualidad ---- */
.news{background:#fff;padding:4rem 0}
.news-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.news-card.big{grid-column:span 2;grid-row:span 2}
.news-card.big .nc-media{aspect-ratio:auto;flex:1;min-height:260px}
.news-card.big h3{font-size:1.8rem}

/* ---- banner sorteo ---- */
.contest{background:radial-gradient(120% 120% at 0% 0%,#4A1018,var(--wine));color:#fff;padding:3rem 0}
.contest-in{display:flex;align-items:center;gap:2rem;flex-wrap:wrap}
.contest h2{font-family:var(--display);text-transform:uppercase;font-size:clamp(1.6rem,3.4vw,2.4rem);line-height:1.05}
.contest p{color:var(--soft)}
.contest .btn{margin-left:auto}
.contest-shirt{width:120px;height:120px;border-radius:24px;background:linear-gradient(135deg,#fff 0 40%,var(--red) 40% 62%,#fff 62%);display:grid;place-items:center;box-shadow:0 14px 30px rgba(0,0,0,.4);transform:rotate(-8deg);animation:wiggle 3s ease-in-out infinite}
.contest-shirt span{font-family:var(--display);font-size:2.4rem;color:var(--navy)}
@keyframes wiggle{50%{transform:rotate(6deg) scale(1.05)}}

/* ---- jugadores estilo club ---- */
.pc-first{display:block;font-size:.78rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.pc-body h3{font-size:1.3rem}
.squad{background:#fff}

/* ---- responsive ---- */
@media (max-width:980px){
  .news-grid{grid-template-columns:repeat(2,1fr)}
  .top-news-grid{grid-template-columns:1fr 1fr}
  .top-news-grid .news-card:nth-child(3){display:none}
}
@media (max-width:860px){
  .utility-promo{font-size:.75rem}
  .utility-link,.demo-chip{display:none}
  .nav{background:#fff}
  .nav a{border-bottom:1px solid #eee}
  .cover{min-height:78vh;padding-bottom:7rem}
  .cover-sash i:nth-child(2){width:80px}
  .socio-in .btn,.contest .btn{margin-left:0}
}
@media (max-width:540px){
  .utility-in{flex-direction:column;align-items:stretch;gap:.4rem}
  .utility-right{justify-content:space-between}
  .top-news-grid,.news-grid{grid-template-columns:1fr}
  .top-news-grid .news-card:nth-child(3){display:flex}
  .news-card.big{grid-column:auto}
  .fixture{flex-basis:80%}
  .rail-btn{display:none}
}
.news-card.big .nc-body{flex:0 0 auto}
.fx-date{text-transform:none}
@media (max-width:540px){
  .utility-promo{display:none}
  .utility-in{flex-direction:row;justify-content:flex-end}
}
