/* =====================================================================
   Costa da Morte CLUB — estilos propios de la comunidad
   ===================================================================== */

/* ---------- Hero con imagen de fondo y overlay ---------- */
.club-hero{
  position:relative;
  min-height:clamp(540px,82vh,760px);
  display:flex;
  align-items:flex-end;
  color:#fff;
  overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.club-hero__bg{
  position:absolute;inset:0;
  background:#0d1e35 center/cover no-repeat;
  transform:scale(1.04);
}
.club-hero__bg::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(11,24,40,.55) 0%,rgba(11,24,40,.58) 45%,rgba(8,16,30,.92) 100%);
}
.club-hero__inner{
  position:relative;z-index:2;color:#fff;
  width:100%;max-width:var(--max);
  margin:0 auto;padding:0 var(--gutter) clamp(40px,7vh,80px);
}
.club-hero .eyebrow{
  font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--c-gold);font-weight:700;margin:0 0 16px;
  display:flex;align-items:center;gap:10px;
}
.club-hero h1{
  font-family:var(--font-display);color:#fff;
  font-size:clamp(2.6rem,3rem + 2.4vw,5.4rem);
  line-height:1.02;margin:0 0 18px;max-width:18ch;
  text-shadow:0 2px 34px rgba(0,0,0,.55);
}
.club-hero h1 em{color:var(--c-gold);font-style:italic}
.club-hero p{
  font-size:clamp(1.08rem,1rem + .4vw,1.34rem);
  max-width:54ch;color:rgba(255,255,255,.92);margin:0 0 26px;
}
.club-hero .cta-row .btn-ghost{
  background:rgba(255,255,255,.10);color:#fff;border-color:rgba(255,255,255,.45);
  backdrop-filter:blur(4px);
}
.club-hero .cta-row .btn-ghost:hover{background:rgba(255,255,255,.18)}

/* ---------- Stats / cifras ---------- */
.club-stats{
  background:var(--c-dark);color:#fff;
}
.club-stats__grid{
  max-width:var(--max);margin:0 auto;padding:clamp(34px,5vw,56px) var(--gutter);
  display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center;
}
.club-stats__item .num{
  font-family:var(--font-display);font-size:clamp(2rem,1.6rem + 1.6vw,3.1rem);
  color:var(--c-gold);line-height:1;display:block;margin-bottom:8px;
}
.club-stats__item .lbl{font-size:.92rem;color:rgba(255,255,255,.78)}

/* ---------- Manifiesto ---------- */
.manifesto{
  background:var(--gradient-atlantic);color:#fff;
}
.manifesto__inner{
  max-width:860px;margin:0 auto;padding:clamp(48px,8vw,96px) var(--gutter);text-align:center;
}
.manifesto .section-kicker{color:var(--c-gold)}
.manifesto h2{font-size:clamp(1.8rem,1.4rem + 1.8vw,2.9rem);line-height:1.12;margin:0 0 22px}
.manifesto p{font-size:clamp(1.05rem,1rem + .3vw,1.24rem);line-height:1.7;color:rgba(255,255,255,.88);margin:0 auto 18px;max-width:64ch}
.manifesto p strong{color:#fff}

/* ---------- Niveles de membresía ---------- */
.tiers-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px;align-items:stretch;
}
.tier-card{
  display:flex;flex-direction:column;
  background:linear-gradient(155deg,var(--c-surface),var(--c-surface-2));
  border:1px solid var(--c-border);border-radius:var(--radius-lg);
  padding:28px 24px;box-shadow:var(--shadow-sm);position:relative;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.tier-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:rgba(26,92,74,.4)}
.tier-card.is-featured{
  border-color:var(--c-gold);box-shadow:0 22px 50px rgba(196,130,10,.22);
}
.tier-card.is-featured::before{
  content:'Más popular';position:absolute;top:-12px;left:50%;transform:translateX(-50%);
  background:var(--c-gold);color:#1a1205;font:800 .72rem/1 var(--font-body);
  letter-spacing:.1em;text-transform:uppercase;padding:7px 14px;border-radius:999px;
}
.tier-card__name{font-family:var(--font-display);font-size:1.5rem;color:var(--c-navy);margin:0 0 4px}
.tier-card__tagline{font-size:.9rem;color:var(--c-ink-soft);margin:0 0 18px}
.tier-card__price{font-family:var(--font-display);font-size:2.6rem;color:var(--c-emerald);line-height:1;margin:0 0 4px}
.tier-card__price span{font-family:var(--font-body);font-size:1rem;color:var(--c-ink-soft);font-weight:500}
.tier-card__list{list-style:none;padding:0;margin:18px 0 24px;flex:1}
.tier-card__list li{padding:8px 0 8px 28px;position:relative;font-size:.95rem;line-height:1.5;border-bottom:1px solid var(--c-border)}
.tier-card__list li:last-child{border-bottom:0}
.tier-card__list li::before{content:'✦';position:absolute;left:0;top:8px;color:var(--c-gold);font-weight:700}
.tier-card .btn{width:100%}

/* ---------- Merch ---------- */
.merch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px}
.merch-card{
  background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);
  overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .25s ease,box-shadow .25s ease;
}
.merch-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.merch-card__media{position:relative;height:230px;background:#13243a center/cover no-repeat}
.merch-card__media::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(8,16,30,.45))}
.merch-card__soon{
  position:absolute;top:14px;left:14px;z-index:2;
  background:rgba(8,16,30,.78);color:#fff;border:1px solid rgba(255,255,255,.4);
  font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;
  padding:6px 12px;border-radius:999px;
}
.merch-card__body{padding:20px}
.merch-card__body h3{margin:0 0 6px;font-size:1.2rem}
.merch-card__body p{margin:0 0 16px;font-size:.92rem;color:var(--c-ink-soft)}

/* ---------- Captación / unirme ---------- */
.join-section{background:var(--gradient-atlantic);color:#fff}
.join-inner{
  max-width:var(--max);margin:0 auto;padding:clamp(44px,7vw,88px) var(--gutter);
  display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,5vw,64px);align-items:center;
}
.join-copy .section-kicker{color:var(--c-gold)}
.join-copy h2{font-size:clamp(1.8rem,1.4rem + 1.6vw,2.7rem);line-height:1.12;margin:0 0 18px}
.join-copy ul{list-style:none;padding:0;margin:20px 0 0}
.join-copy li{padding:9px 0 9px 30px;position:relative;color:rgba(255,255,255,.9);line-height:1.5}
.join-copy li::before{content:'✦';position:absolute;left:0;top:9px;color:var(--c-gold)}
.join-card{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);
  border-radius:var(--radius-lg);padding:clamp(24px,3vw,36px);box-shadow:var(--shadow-deep);
}
.join-form label{display:block;font-size:.85rem;font-weight:600;color:rgba(255,255,255,.85);margin:14px 0 6px}
.join-form input[type=text],
.join-form input[type=email]{
  width:100%;padding:13px 15px;border-radius:12px;border:1px solid rgba(255,255,255,.25);
  background:rgba(255,255,255,.95);color:var(--c-ink);font:500 1rem var(--font-body);
}
.join-form input:focus{outline:3px solid rgba(196,130,10,.5);outline-offset:1px}
.join-form .check-row{display:flex;gap:10px;align-items:flex-start;margin-top:16px;font-size:.84rem;color:rgba(255,255,255,.82);line-height:1.45}
.join-form .check-row input{margin-top:3px}
.join-form .check-row a{color:var(--c-gold);text-decoration:underline}
.join-form .btn--gold{width:100%;margin-top:20px;font-size:1.02rem;padding:14px}
.form-feedback{margin-top:14px;font-size:.9rem;padding:11px 14px;border-radius:12px}
.form-feedback.is-ok{background:rgba(26,92,74,.28);border:1px solid rgba(120,220,180,.4);color:#d7fff0}
.form-feedback.is-err{background:rgba(180,40,40,.22);border:1px solid rgba(255,140,140,.4);color:#ffd9d9}
.form-feedback[hidden]{display:none}

/* ---------- Redes sociales ---------- */
.social-band{text-align:center}
.social-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:24px}
.social-btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:13px 22px;border-radius:999px;text-decoration:none;font-weight:700;
  border:1px solid var(--c-border-strong);color:var(--c-navy);background:var(--c-surface);
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
.social-btn:hover{transform:translateY(-2px);border-color:var(--c-gold)}
.social-btn.is-soon{opacity:.55;cursor:default}
.social-btn.is-soon::after{content:'· pronto';font-weight:500;font-size:.8rem;color:var(--c-ink-soft)}
.social-btn svg{width:20px;height:20px;fill:currentColor}

/* ---------- Travel CTA band ---------- */
.travel-band{background:var(--c-dark-2);color:#fff}
.travel-band__inner{
  max-width:var(--max);margin:0 auto;padding:clamp(40px,6vw,72px) var(--gutter);
  display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;
}
.travel-band h2{font-size:clamp(1.6rem,1.3rem + 1.2vw,2.3rem);margin:0 0 12px;color:#fff}
.travel-band p{color:rgba(255,255,255,.82);margin:0;max-width:56ch}
.travel-band .btn--gold{white-space:nowrap}

/* ---------- Footer redes inline ---------- */
.footer-social{display:flex;gap:12px;margin-top:12px}
.footer-social a{color:var(--c-ink-soft);text-decoration:none;font-size:.9rem}
.footer-social a:hover{color:var(--c-emerald)}

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .join-inner{grid-template-columns:1fr}
  .travel-band__inner{grid-template-columns:1fr}
}
@media (max-width:860px){
  .club-stats__grid{grid-template-columns:repeat(2,1fr);gap:28px 16px}
  .tiers-grid{grid-template-columns:1fr}
  .merch-grid{grid-template-columns:1fr}
}
