/* Fanclub: identidad propia de grada, aislada del resto del sitio. */
.wp-site-blocks > .blt-page--fanclub,
.wp-site-blocks > .blt-page--fanclub + footer.wp-block-template-part { margin-block-start:0; }
.blt-page--fanclub { background:#fff; margin-block-end:0; padding-block:0; }
.blt-page--fanclub.is-layout-flow > .wp-block-basket-las-torres-theme-fanclub-landing { margin-block:0; }
.blt-page--fanclub > .wp-block-basket-las-torres-theme-fanclub-landing { margin:0; max-width:none; }
.blt-fanclub { --fan-ink:#160b22; --fan-deep:#2f1245; --fan-purple:#652a89; --fan-gold:#e0bd74; --fan-paper:#faf8fb; color:var(--blt-black); overflow:clip; }
.blt-fanclub__section { padding-block:clamp(4.5rem,7.5vw,7.5rem); scroll-margin-top:calc(82px + 1rem); }
.blt-fanclub .blt-eyebrow { color:var(--fan-purple); font-size:.7rem; font-weight:900; letter-spacing:.16em; margin:0 0 .9rem; text-transform:uppercase; }
.blt-fanclub h2 { color:var(--fan-ink); font-family:var(--blt-display); font-size:clamp(2.8rem,5vw,5.25rem); font-weight:900; letter-spacing:-.07em; line-height:.88; margin:0; text-wrap:balance; }

/* Hero: fotografía real o escenario de marca con energía de grada. */
.blt-fanclub__hero { align-items:center; background:var(--fan-ink); color:#fff; display:flex; isolation:isolate; min-height:clamp(650px,82svh,850px); overflow:hidden; position:relative; }
.blt-fanclub__hero::after { background:linear-gradient(90deg,rgba(18,7,29,.98) 0%,rgba(37,13,54,.88) 48%,rgba(37,13,54,.34) 75%,rgba(18,7,29,.18)); content:""; inset:0; position:absolute; z-index:-1; }
.blt-fanclub__hero-media { background:var(--fan-deep); inset:0; overflow:hidden; position:absolute; z-index:-2; }
.blt-fanclub__hero-media::before,.blt-fanclub__hero-media::after { border:1px solid rgba(224,189,116,.28); border-radius:50%; content:""; position:absolute; right:8%; top:50%; transform:translateY(-50%); }
.blt-fanclub__hero-media::before { height:min(66vw,760px); width:min(66vw,760px); }
.blt-fanclub__hero-media::after { height:min(44vw,510px); width:min(44vw,510px); }
.blt-fanclub__hero-image { height:100%; object-fit:cover; object-position:center; width:100%; }
.blt-fanclub__hero.has-image .blt-fanclub__hero-media::before,.blt-fanclub__hero.has-image .blt-fanclub__hero-media::after { display:none; }
.blt-fanclub__hero-inner { align-items:center; display:grid; gap:clamp(2rem,5vw,5rem); grid-template-columns:minmax(0,1fr) minmax(260px,.62fr); padding-block:clamp(5rem,8vw,8rem); position:relative; width:100%; z-index:1; }
.blt-fanclub__hero-copy { max-width:820px; }
.blt-fanclub__hero .blt-eyebrow { align-items:center; color:var(--fan-gold); display:flex; gap:.75rem; }
.blt-fanclub__hero .blt-eyebrow::before { background:currentColor; content:""; height:2px; width:3rem; }
.blt-fanclub__hero h1 { color:#fff; font-family:var(--blt-display); font-size:clamp(4.3rem,8.3vw,8.6rem); font-weight:900; letter-spacing:-.085em; line-height:.78; margin:0; max-width:8.5ch; text-wrap:balance; }
.blt-fanclub__hero-copy > p:not(.blt-eyebrow) { color:rgba(255,255,255,.82); font-size:clamp(1.05rem,1.6vw,1.32rem); line-height:1.58; margin:1.6rem 0 0; max-width:46ch; }
.blt-fanclub__hero .blt-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:2.2rem; }
.blt-fanclub__hero .blt-button { min-width:180px; }
.blt-fanclub__hero .blt-button--ghost { background:rgba(255,255,255,.04); border-color:rgba(255,255,255,.62); color:#fff; }
.blt-fanclub__hero .blt-button--ghost:hover { background:#fff; color:var(--fan-deep); }
.blt-fanclub__hero-mark { align-items:center; aspect-ratio:1; border:1px solid rgba(255,255,255,.24); border-radius:50%; display:flex; flex-direction:column; justify-content:center; justify-self:end; max-width:430px; position:relative; width:100%; }
.blt-fanclub__hero-mark::before,.blt-fanclub__hero-mark::after { border:1px solid rgba(224,189,116,.38); border-radius:50%; content:""; position:absolute; }
.blt-fanclub__hero-mark::before { inset:8%; }.blt-fanclub__hero-mark::after { inset:20%; }
.blt-fanclub__hero-mark span { color:var(--fan-gold); font-size:.65rem; font-weight:900; letter-spacing:.28em; position:relative; text-transform:uppercase; z-index:1; }
.blt-fanclub__hero-mark b { color:#fff; font-family:var(--blt-display); font-size:clamp(4rem,8vw,7.8rem); letter-spacing:-.08em; line-height:.78; position:relative; z-index:1; }

.blt-fanclub__chant { background:var(--fan-gold); color:var(--fan-ink); overflow:hidden; }
.blt-fanclub__chant-track { align-items:center; display:flex; gap:clamp(1rem,3vw,3rem); justify-content:center; min-height:64px; padding:.75rem var(--blt-gutter); }
.blt-fanclub__chant span { font-family:var(--blt-display); font-size:clamp(1rem,2vw,1.45rem); font-weight:900; letter-spacing:-.02em; text-transform:uppercase; white-space:nowrap; }
.blt-fanclub__chant i { background:var(--fan-purple); border-radius:50%; height:7px; width:7px; }

/* Relato sin inventar historia: texto oficial y una sola imagen protagonista. */
.blt-fanclub__about { background:#fff; }
.blt-fanclub__about-grid { align-items:center; display:grid; gap:clamp(3rem,7vw,7.5rem); grid-template-columns:minmax(0,.88fr) minmax(380px,1.12fr); }
.blt-fanclub__about-copy { max-width:620px; }
.blt-fanclub__about-copy h2 { max-width:10ch; }
.blt-fanclub__lead { color:#4d4652; font-size:clamp(1.05rem,1.45vw,1.25rem); line-height:1.65; margin:1.35rem 0 0; max-width:46ch; }
.blt-fanclub__prose { border-left:3px solid var(--fan-gold); color:var(--blt-muted); font-size:.95rem; line-height:1.8; margin-top:1.7rem; max-width:58ch; padding-left:1.2rem; }
.blt-fanclub__prose > :first-child { margin-top:0; }.blt-fanclub__prose > :last-child { margin-bottom:0; }
.blt-fanclub__pending { border-left:3px solid var(--fan-gold); color:var(--blt-muted); font-size:.88rem; line-height:1.65; margin:1.7rem 0 0; max-width:53ch; padding-left:1rem; }
.blt-fanclub__about-visual { align-items:flex-end; aspect-ratio:5 / 4.7; background:var(--fan-deep); color:#fff; display:flex; isolation:isolate; overflow:hidden; padding:clamp(1.4rem,3vw,2.5rem); position:relative; }
.blt-fanclub__about-visual::before { border:1px solid rgba(224,189,116,.45); border-radius:50%; content:""; height:85%; position:absolute; right:-27%; top:-30%; width:85%; }
.blt-fanclub__about-visual::after { background:linear-gradient(0deg,rgba(18,7,29,.62),transparent 55%); content:""; inset:0; position:absolute; z-index:1; }
.blt-fanclub__about-image { height:100%; inset:0; object-fit:cover; position:absolute; transition:transform .55s ease; width:100%; }
.blt-fanclub__about-visual:hover .blt-fanclub__about-image { transform:scale(1.025); }
.blt-fanclub__about-visual > span { color:rgba(255,255,255,.16); font-family:var(--blt-display); font-size:clamp(7rem,16vw,15rem); font-weight:900; letter-spacing:-.1em; line-height:.62; position:relative; z-index:2; }
.blt-fanclub__about-visual > p { color:#fff; font-family:var(--blt-display); font-size:clamp(1.4rem,2.5vw,2.3rem); font-weight:900; line-height:.9; margin:0 0 0 auto; max-width:8ch; position:relative; text-align:right; z-index:2; }

/* Los partidos son una convocatoria, no un duplicado del archivo. */
.blt-fanclub__matches { background:var(--fan-paper); position:relative; }
.blt-fanclub__matches::before { color:rgba(101,42,137,.035); content:"LOCAL"; font-family:var(--blt-display); font-size:clamp(8rem,24vw,25rem); font-weight:900; left:-.04em; line-height:.7; pointer-events:none; position:absolute; top:.18em; }
.blt-fanclub__matches .blt-shell { position:relative; }
.blt-fanclub__heading { align-items:end; border-bottom:1px solid rgba(47,18,69,.16); display:flex; gap:2rem; justify-content:space-between; margin-bottom:clamp(2rem,4vw,3.5rem); padding-bottom:1.4rem; }
.blt-fanclub__heading > p { color:var(--blt-muted); font-size:.86rem; line-height:1.5; margin:0; max-width:33ch; }
.blt-fanclub__match-grid { display:grid; gap:clamp(1rem,2vw,1.45rem); grid-template-columns:repeat(2,minmax(0,1fr)); }
/* Variante exclusiva de Fanclub: conserva los datos y el marcado de Core,
   pero les da una lectura de convocatoria más clara y resistente a nombres largos. */
.blt-fanclub__match-grid .blt-match-card { background:linear-gradient(145deg,#45205f 0%,var(--fan-deep) 58%,var(--fan-ink) 100%); border:1px solid rgba(224,189,116,.52); border-radius:18px; box-shadow:0 14px 32px rgba(22,11,34,.16); color:#fff; isolation:isolate; min-width:0; overflow:hidden; position:relative; transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease; }
.blt-fanclub__match-grid .blt-match-card::before { border:1px solid rgba(224,189,116,.18); border-radius:50%; content:""; height:210px; pointer-events:none; position:absolute; right:-102px; top:-116px; width:210px; }
.blt-fanclub__match-grid .blt-match-card:hover { border-color:var(--fan-gold); box-shadow:0 19px 38px rgba(22,11,34,.27); transform:translateY(-3px); }
.blt-fanclub__match-grid .blt-match-card__top { align-items:center; background:rgba(0,0,0,.12); border-bottom:1px solid rgba(255,255,255,.16); display:flex; flex-wrap:wrap; gap:.5rem .7rem; padding:.9rem 1.1rem; position:relative; z-index:1; }
.blt-fanclub__match-grid .blt-match-card__competition { color:rgba(255,255,255,.78); flex:1 1 100%; font-size:.64rem; letter-spacing:.095em; line-height:1.45; min-width:0; overflow-wrap:normal; text-transform:uppercase; }
.blt-fanclub__match-grid .blt-match-card__round { background:rgba(255,255,255,.1); border:1px solid rgba(224,189,116,.42); border-radius:100px; color:var(--fan-gold); display:inline-flex; flex:0 0 auto; font-size:.61rem; font-weight:900; letter-spacing:.075em; line-height:1; padding:.45rem .6rem; text-transform:uppercase; white-space:nowrap; }
.blt-fanclub__match-grid .blt-status { background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.2); color:#fff; margin-left:auto; padding:.45rem .6rem; }
.blt-fanclub__match-grid .blt-match-card__fixture { color:#fff; display:block; padding:clamp(1.25rem,2.3vw,1.75rem) clamp(1rem,2.3vw,1.45rem); position:relative; z-index:1; }
.blt-fanclub__match-grid .blt-match-card__fixture:hover { color:#fff; }
.blt-fanclub__match-grid .blt-match-card__fixture:focus-visible { outline:3px solid var(--fan-gold); outline-offset:-5px; }
.blt-fanclub__match-grid .blt-match-card__teams { align-items:start; gap:clamp(.45rem,1.5vw,.9rem); grid-template-columns:minmax(0,1fr) 54px minmax(0,1fr); min-width:0; }
.blt-fanclub__match-grid .blt-match-card__team,.blt-fanclub__match-grid .blt-match-card__team--away { align-items:center; flex-direction:column; gap:.65rem; min-width:0; text-align:center; }
.blt-fanclub__match-grid .blt-match-card__team-info { align-items:center; flex:0 1 auto; gap:.36rem; min-width:0; width:100%; }
.blt-fanclub__match-grid .blt-match-card__team-info small { color:var(--fan-gold); font-size:.58rem; letter-spacing:.12em; }
.blt-fanclub__match-grid .blt-match-card__team-name,.blt-fanclub__match-grid > .blt-match-card:only-child .blt-match-card__team-name { color:#fff; font-size:clamp(.94rem,1.5vw,1.22rem); line-height:1.2; max-width:100%; overflow-wrap:normal; text-wrap:balance; white-space:normal; word-break:normal; }
.blt-fanclub__match-grid .blt-match-card__badge { background:rgba(255,255,255,.97); border:1px solid rgba(224,189,116,.78); border-radius:14px; flex:0 0 clamp(56px,5vw,64px); height:clamp(56px,5vw,64px); padding:.45rem; width:clamp(56px,5vw,64px); }
.blt-fanclub__match-grid .blt-match-card__badge--initial { color:var(--fan-purple); font-size:1.2rem; padding:0; }
.blt-fanclub__match-grid .blt-match-card__score,.blt-fanclub__match-grid > .blt-match-card:only-child .blt-match-card__score { align-self:center; background:rgba(255,255,255,.09); border:1px solid rgba(224,189,116,.72); border-radius:50%; color:var(--fan-gold); font-size:1rem; height:54px; min-height:54px; min-width:54px; padding:0; width:54px; }
.blt-fanclub__match-grid .blt-match-card__versus { color:var(--fan-gold); font-size:.9rem; font-weight:900; letter-spacing:.08em; }
.blt-fanclub__match-grid .blt-match-card__meta { background:rgba(0,0,0,.15); border-top:1px solid rgba(255,255,255,.16); color:rgba(255,255,255,.75); display:grid; gap:.65rem 1rem; grid-template-columns:minmax(0,1fr) auto; margin-top:auto; padding:.9rem 1.1rem 1rem; position:relative; z-index:1; }
.blt-fanclub__match-grid .blt-match-card__meta time { color:var(--fan-gold); font-size:.7rem; font-variant-numeric:tabular-nums; font-weight:900; letter-spacing:.04em; min-width:0; text-transform:uppercase; }
.blt-fanclub__match-grid .blt-match-card__venue { border-top:1px solid rgba(255,255,255,.14); color:rgba(255,255,255,.86); font-size:.73rem; grid-column:1 / -1; line-height:1.4; min-width:0; overflow-wrap:normal; padding-top:.65rem; word-break:normal; }
.blt-fanclub__match-grid .blt-match-card__detail-link { align-self:start; color:#fff; font-size:.7rem; font-weight:900; grid-column:2; grid-row:1; text-decoration-color:rgba(224,189,116,.72); text-underline-offset:.22em; white-space:nowrap; }
.blt-fanclub__match-grid .blt-match-card__detail-link:hover { color:var(--fan-gold); }.blt-fanclub__match-grid .blt-match-card__detail-link:focus-visible { outline:2px solid var(--fan-gold); outline-offset:3px; }
.blt-fanclub__empty { align-items:center; background:#fff; border-left:5px solid var(--fan-gold); display:grid; gap:1.3rem; grid-template-columns:auto minmax(0,1fr); max-width:840px; padding:clamp(1.3rem,3vw,2.3rem); }
.blt-fanclub__empty > span { color:rgba(101,42,137,.14); font-family:var(--blt-display); font-size:4.5rem; font-weight:900; line-height:.8; }
.blt-fanclub__empty strong { color:var(--fan-deep); font-family:var(--blt-display); font-size:1.45rem; }
.blt-fanclub__empty p { color:var(--blt-muted); font-size:.85rem; line-height:1.55; margin:.35rem 0 0; }

/* Mosaico exclusivamente fotográfico. */
.blt-fanclub__gallery { background:var(--fan-ink); color:#fff; }
.blt-fanclub__gallery .blt-eyebrow { color:var(--fan-gold); }
.blt-fanclub__gallery h2 { color:#fff; }
.blt-fanclub__gallery .blt-fanclub__heading { border-color:rgba(255,255,255,.18); }
.blt-fanclub__gallery .blt-fanclub__heading > p { color:rgba(255,255,255,.66); }
.blt-fanclub__gallery-grid { display:grid; gap:.65rem; grid-auto-rows:minmax(210px,25vw); grid-template-columns:repeat(12,minmax(0,1fr)); }
.blt-fanclub__gallery-item { grid-column:span 4; margin:0; min-width:0; overflow:hidden; }
.blt-fanclub__gallery-item:first-child { grid-column:span 8; grid-row:span 2; }
.blt-fanclub__gallery-item:nth-child(4n) { grid-column:span 5; }.blt-fanclub__gallery-item:nth-child(4n + 1):not(:first-child) { grid-column:span 7; }
.blt-fanclub__gallery-item a { color:#fff; display:block; height:100%; overflow:hidden; position:relative; text-decoration:none; }
.blt-fanclub__gallery-item a::after { background:linear-gradient(180deg,transparent 35%,rgba(18,7,29,.9)); content:""; inset:0; position:absolute; }
.blt-fanclub__gallery-item img { height:100%; object-fit:cover; transition:transform .55s ease; width:100%; }
.blt-fanclub__gallery-item a:hover img { transform:scale(1.04); }
.blt-fanclub__gallery-item a:focus-visible { outline:3px solid var(--fan-gold); outline-offset:4px; }
.blt-fanclub__gallery-item a > span { bottom:0; display:flex; flex-direction:column; left:0; padding:clamp(1rem,2.3vw,2rem); position:absolute; right:0; z-index:1; }
.blt-fanclub__gallery-item small { color:var(--fan-gold); font-size:.62rem; font-style:normal; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.blt-fanclub__gallery-item strong { font-family:var(--blt-display); font-size:clamp(1.35rem,2.6vw,2.5rem); letter-spacing:-.05em; line-height:.92; margin-top:.35rem; }
.blt-fanclub__gallery-item em { color:rgba(255,255,255,.72); font-size:.76rem; font-style:normal; line-height:1.45; margin-top:.45rem; max-width:45ch; }
.blt-fanclub__gallery-empty { border:1px solid rgba(255,255,255,.2); max-width:780px; padding:clamp(1.5rem,3vw,2.5rem); }
.blt-fanclub__gallery-empty > span { border:1px solid rgba(224,189,116,.55); border-radius:50%; display:block; height:52px; margin-bottom:1.2rem; position:relative; width:52px; }
.blt-fanclub__gallery-empty > span::after { background:var(--fan-gold); border-radius:50%; content:""; height:10px; left:20px; position:absolute; top:20px; width:10px; }
.blt-fanclub__gallery-empty strong { color:#fff; font-family:var(--blt-display); font-size:1.55rem; }
.blt-fanclub__gallery-empty p { color:rgba(255,255,255,.66); font-size:.86rem; line-height:1.55; margin:.45rem 0 0; }

/* Instagram: publicaciones reales en un carrusel de marcos tipo smartphone.
   La sección ni siquiera se renderiza hasta que la API oficial sincroniza datos. */
.blt-fanclub__instagram { --fan-instagram-gap:clamp(.9rem,1.8vw,1.35rem); background:#f4eef7; overflow:hidden; }
.blt-fanclub__instagram .blt-fanclub__heading { border-color:rgba(47,18,69,.16); }
.blt-fanclub__instagram .blt-fanclub__heading > p { color:#756b7e; max-width:37ch; }
.blt-fanclub__instagram-carousel { min-width:0; }
.blt-fanclub__instagram-viewport { margin-inline:-.25rem; overflow-x:auto; overscroll-behavior-x:contain; padding:.25rem .25rem 1rem; scrollbar-color:rgba(101,42,137,.38) transparent; scrollbar-width:thin; scroll-behavior:smooth; scroll-snap-type:x mandatory; }
.blt-fanclub__instagram-viewport:focus-visible { outline:3px solid var(--fan-gold); outline-offset:4px; }
.blt-fanclub__instagram-viewport.is-dragging { cursor:grabbing; scroll-snap-type:none; user-select:none; }
.blt-fanclub__instagram-track { display:grid; gap:var(--fan-instagram-gap); grid-auto-columns:minmax(280px,calc((100% - (var(--fan-instagram-gap) * 2)) / 3.25)); grid-auto-flow:column; list-style:none; margin:0; padding:0; }
.blt-fanclub__instagram-phone { background:#fff; border:4px solid var(--fan-ink); border-radius:26px; box-shadow:0 16px 32px rgba(41,19,59,.11); color:var(--fan-ink); display:flex; flex-direction:column; min-height:clamp(500px,42vw,620px); min-width:0; overflow:hidden; scroll-snap-align:start; scroll-snap-stop:always; }
.blt-fanclub__instagram-phone-head { align-items:center; border-bottom:1px solid rgba(47,18,69,.13); display:flex; gap:.7rem; min-height:72px; padding:.85rem .95rem; }
.blt-fanclub__instagram-avatar { align-items:center; background:var(--fan-purple); border-radius:50%; color:#fff; display:flex; flex:0 0 38px; height:38px; justify-content:center; width:38px; }
.blt-fanclub__instagram-avatar .blt-footer-meta__social-icon { height:21px; width:21px; }
.blt-fanclub__instagram-phone-head > span:nth-child(2) { display:flex; flex:1 1 auto; flex-direction:column; min-width:0; }
.blt-fanclub__instagram-phone-head strong { font-size:.88rem; font-weight:850; line-height:1.15; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.blt-fanclub__instagram-phone-head small { color:var(--blt-muted); font-size:.76rem; line-height:1.2; }
.blt-fanclub__instagram-brand { color:var(--fan-purple); display:block; flex:0 0 auto; }
.blt-fanclub__instagram-brand .blt-footer-meta__social-icon { height:25px; width:25px; }
.blt-fanclub__instagram-media { background:var(--fan-deep); flex:1 1 auto; min-height:0; overflow:hidden; position:relative; }
.blt-fanclub__instagram-media img,.blt-fanclub__instagram-media video { display:block; height:100%; min-height:280px; object-fit:cover; width:100%; }
.blt-fanclub__instagram-media video { background:var(--fan-ink); }
.blt-fanclub__instagram-phone-body { border-top:1px solid rgba(47,18,69,.1); display:flex; flex:0 0 auto; flex-direction:column; gap:.7rem; min-height:132px; padding:.85rem .95rem 1rem; }
.blt-fanclub__instagram-phone-actions { align-items:center; color:var(--fan-ink); display:flex; font-size:1.45rem; gap:.8rem; line-height:1; }
.blt-fanclub__instagram-phone-actions span:last-child { margin-left:auto; }
.blt-fanclub__instagram-phone-body p { color:#5e5666; display:-webkit-box; font-size:.77rem; line-height:1.45; margin:0; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.blt-fanclub__instagram-phone-body a { align-self:flex-start; color:var(--fan-purple); font-size:.78rem; font-weight:900; margin-top:auto; text-decoration:none; }
.blt-fanclub__instagram-phone-body a:hover { color:var(--fan-deep); text-decoration:underline; text-underline-offset:.2em; }
.blt-fanclub__instagram-phone-body a:focus-visible { outline:2px solid var(--fan-gold); outline-offset:3px; }
.blt-fanclub__instagram-controls { align-items:center; display:flex; gap:1rem; justify-content:flex-end; margin-top:1rem; }
.blt-fanclub__instagram-control { align-items:center; appearance:none; background:transparent; border:1px solid rgba(47,18,69,.18); border-radius:50%; color:var(--fan-purple); cursor:pointer; display:inline-flex; font:inherit; font-size:1.35rem; height:46px; justify-content:center; line-height:1; padding:0; transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease; width:46px; }
.blt-fanclub__instagram-control:hover:not(:disabled) { background:var(--fan-purple); border-color:var(--fan-purple); color:#fff; transform:translateY(-1px); }
.blt-fanclub__instagram-control:disabled { cursor:default; opacity:.35; }
.blt-fanclub__instagram-indicators { align-items:center; display:flex; gap:.38rem; margin-right:auto; }
.blt-fanclub__instagram-indicators button { align-items:center; appearance:none; background:transparent; border:0; cursor:pointer; display:flex; height:34px; justify-content:center; min-width:22px; padding:0; }
.blt-fanclub__instagram-indicators button span { background:rgba(101,42,137,.24); border-radius:100px; display:block; height:8px; transition:background-color .18s ease,width .18s ease; width:8px; }
.blt-fanclub__instagram-indicators button:hover span,.blt-fanclub__instagram-indicators button[aria-current="true"] span { background:var(--fan-purple); width:22px; }
.blt-fanclub__instagram-indicators button:focus-visible { outline:2px solid var(--fan-gold); outline-offset:2px; }
.blt-fanclub__instagram-profile { margin:1.1rem 0 0; }
.blt-fanclub__instagram-profile a { color:var(--fan-purple); font-size:.78rem; font-weight:900; text-decoration:none; }
.blt-fanclub__instagram-profile a:hover { color:var(--fan-deep); text-decoration:underline; text-underline-offset:.2em; }

/* Revelado progresivo: el contenido nunca depende de JavaScript para verse. */
.blt-fanclub.is-motion-ready [data-blt-fan-reveal] { opacity:0; transform:translateY(20px); transition:opacity .5s ease var(--blt-fan-delay,0ms),transform .5s ease var(--blt-fan-delay,0ms); }
.blt-fanclub.is-motion-ready [data-blt-fan-reveal].is-visible { opacity:1; transform:none; }

@media (max-width:1080px) {
  .blt-fanclub__hero-inner { grid-template-columns:minmax(0,1fr) minmax(220px,.5fr); }
  .blt-fanclub__about-grid { gap:3.5rem; grid-template-columns:minmax(0,1fr) minmax(340px,.9fr); }
}
@media (max-width:900px) {
  .blt-fanclub__hero-inner,.blt-fanclub__about-grid { grid-template-columns:1fr; }
  .blt-fanclub__hero-mark { display:none; }
  .blt-fanclub__hero-copy { max-width:740px; }
  .blt-fanclub__about-visual { aspect-ratio:16 / 10; }
  .blt-fanclub__match-grid { grid-template-columns:1fr; }
  .blt-fanclub__instagram-track { grid-auto-columns:minmax(280px,calc((100% - var(--fan-instagram-gap)) / 2.25)); }
}
@media (max-width:720px) {
  .blt-fanclub__section { padding-block:4rem; scroll-margin-top:80px; }
  .blt-fanclub__hero { min-height:620px; }
  .blt-fanclub__hero::after { background:rgba(22,7,34,.72); }
  .blt-fanclub__hero-inner { padding-block:4.5rem 5.5rem; }
  .blt-fanclub__hero h1 { font-size:clamp(3.7rem,17vw,5.7rem); }
  .blt-fanclub__hero .blt-actions { display:grid; width:100%; }
  .blt-fanclub__hero .blt-button { width:100%; }
  .blt-fanclub__chant-track { justify-content:flex-start; overflow-x:auto; }
  .blt-fanclub__about-visual { aspect-ratio:4 / 3; }
  .blt-fanclub__heading { align-items:flex-start; flex-direction:column; gap:.85rem; }
  .blt-fanclub__gallery-grid { grid-auto-rows:260px; grid-template-columns:1fr; }
  .blt-fanclub__gallery-item,.blt-fanclub__gallery-item:first-child,.blt-fanclub__gallery-item:nth-child(4n),.blt-fanclub__gallery-item:nth-child(4n + 1):not(:first-child) { grid-column:1; grid-row:auto; }
  .blt-fanclub__gallery-item:first-child { min-height:340px; }
  .blt-fanclub__match-grid .blt-match-card__top { padding:.85rem 1rem; }
  .blt-fanclub__match-grid .blt-match-card__fixture { padding:1.15rem 1rem 1.25rem; }
  .blt-fanclub__match-grid .blt-match-card__teams { gap:.45rem; grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr); }
  .blt-fanclub__match-grid .blt-match-card__badge { flex-basis:52px; height:52px; width:52px; }
  .blt-fanclub__match-grid .blt-match-card__score,.blt-fanclub__match-grid > .blt-match-card:only-child .blt-match-card__score { height:48px; min-height:48px; min-width:48px; width:48px; }
  .blt-fanclub__match-grid .blt-match-card__team-name,.blt-fanclub__match-grid > .blt-match-card:only-child .blt-match-card__team-name { font-size:clamp(.88rem,3.8vw,1.04rem); }
  .blt-fanclub__match-grid .blt-match-card__meta { padding:.85rem 1rem .95rem; }
  .blt-fanclub__instagram { --fan-instagram-gap:.85rem; }
  .blt-fanclub__instagram-track { grid-auto-columns:minmax(260px,84vw); }
  .blt-fanclub__instagram-phone { border-radius:23px; min-height:520px; }
  .blt-fanclub__instagram-media img,.blt-fanclub__instagram-media video { min-height:285px; }
  .blt-fanclub__instagram-controls { gap:.65rem; }
  .blt-fanclub__instagram-control { height:42px; width:42px; }
}
@media (max-width:430px) {
  .blt-fanclub__hero { min-height:590px; }
  .blt-fanclub__chant-track { gap:1rem; }
  .blt-fanclub__chant span { font-size:.95rem; }
  .blt-fanclub__about-visual { aspect-ratio:1; }
  .blt-fanclub__empty { align-items:start; grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) {
  .blt-fanclub.is-motion-ready [data-blt-fan-reveal] { opacity:1; transform:none; transition:none; }
  .blt-fanclub__about-image,.blt-fanclub__gallery-item img,.blt-fanclub .blt-match-card { transition:none; }
  .blt-fanclub__about-visual:hover .blt-fanclub__about-image,.blt-fanclub__gallery-item a:hover img,.blt-fanclub .blt-match-card:hover { transform:none; }
  .blt-fanclub__instagram-viewport { scroll-behavior:auto; }
  .blt-fanclub__instagram-control,.blt-fanclub__instagram-indicators button span { transition:none; }
  .blt-fanclub__instagram-control:hover:not(:disabled) { transform:none; }
}
