/* Club Pato — Club Social y Campo de Pato
   Paleta tomada del sitio actual: naranja de marca, negro, amarillo y magenta de acento */

:root{
  --naranja: #E07B34;
  --naranja-oscuro: #C8692A;
  --negro: #1B1B1B;
  --amarillo: #F4D520;
  --magenta: #E5279B;
  --gris: #EDEDED;
  --blanco: #FFFFFF;
  --texto: #1B1B1B;

  --serif: "Lora", Georgia, serif;
  --sans: "Work Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

*{ box-sizing: border-box; }

html{ scroll-behavior: smooth; }

body{
  margin: 0;
  font-family: var(--serif);
  color: var(--texto);
  background: var(--blanco);
  line-height: 1.6;
}

h1, h2, h3{
  font-family: var(--serif);
  margin: 0;
}

a{ color: inherit; text-decoration: none; }

/* ---------- TOPBAR ---------- */

.topbar{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22px 6vw;
  flex-wrap: wrap;
  gap: 20px;
}

.logo{
  display: flex;
  align-items: center;
  gap: 12px;
}

.logo__mark{ width: 52px; height: auto; }

.logo__text{
  font-family: var(--serif);
  font-weight: 700;
  font-size: 1.3rem;
  color: var(--naranja);
}

.nav{
  display: flex;
  align-items: center;
  gap: 28px;
  font-family: var(--sans);
  font-size: 1rem;
}

.nav a{
  color: var(--negro);
}

.nav a:hover{ color: var(--naranja); }

.nav__cta{
  background: var(--negro);
  color: var(--blanco) !important;
  padding: 10px 20px;
  border-radius: 999px;
  font-weight: 500;
}

.nav__cta:hover{ background: var(--naranja); }

/* ---------- BANNER ---------- */

.banner{
  position: relative;
  margin: 10px 6vw 0;
  background: var(--naranja);
  min-height: 220px;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.banner__stripes{
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 60px;
  background: repeating-linear-gradient(
    -45deg,
    var(--negro) 0 10px,
    transparent 10px 20px
  );
}

.banner__body{
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 40px 40px 40px 90px;
}

.banner__play{
  width: 40px; height: 40px;
  fill: var(--amarillo);
  flex-shrink: 0;
}

.banner__headline{
  font-family: var(--sans);
  font-size: clamp(1.5rem, 3vw, 2.1rem);
  color: var(--blanco);
  line-height: 1.25;
  margin: 0 0 14px;
}

.banner__tag{
  display: inline-block;
  background: var(--magenta);
  color: var(--amarillo);
  font-family: var(--sans);
  font-weight: 600;
  font-size: 1.3rem;
  padding: 8px 18px;
  margin: 0;
}

.banner__pill{
  margin-left: auto;
  margin-right: 40px;
  background: var(--negro);
  color: var(--blanco);
  font-family: var(--sans);
  font-weight: 600;
  font-size: 0.85rem;
  letter-spacing: 0.02em;
  padding: 14px 26px;
  border-radius: 999px;
  white-space: nowrap;
}

.banner__pill:hover{ background: var(--naranja-oscuro); }

/* ---------- INTRO ---------- */

.intro{
  padding: 56px 6vw 10px;
}

.intro h1{
  font-size: clamp(1.8rem, 4vw, 2.6rem);
  font-weight: 700;
}

.intro__black{ color: var(--negro); }

.intro h1 em{
  color: var(--naranja);
  font-style: italic;
  font-weight: 500;
}

/* ---------- HISTORIA ---------- */

.historia{
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 24px;
  padding: 40px 6vw 70px;
}

.historia__year{
  font-size: clamp(3rem, 7vw, 4.6rem);
  font-weight: 700;
  color: var(--naranja);
  line-height: 1;
}

.historia__body h2{
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--negro);
  margin-bottom: 18px;
}

.historia__body p{
  max-width: 62ch;
  margin: 0 0 16px;
  font-size: 1.05rem;
}

.historia__body strong{ color: var(--naranja); }

/* ---------- ACTIVIDADES ---------- */

.actividades{
  padding: 20px 6vw 70px;
}

.actividades h2, .verano h2{
  font-size: 1.7rem;
  font-weight: 700;
  color: var(--negro);
  margin-bottom: 16px;
}

.actividades__intro{
  max-width: 62ch;
  margin: 0 0 34px;
  font-size: 1.02rem;
}

.actividades__grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

.verano{
  padding: 10px 6vw 70px;
  background: var(--gris);
}

.verano .actividades__grid--verano{
  grid-template-columns: repeat(2, 1fr);
}

.verano .actividad-card__ph{
  background: var(--blanco);
}

.actividad-card__ph{
  height: 160px;
  background: var(--gris);
  border: 1px dashed #c9c9c9;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  overflow: hidden;
}

.actividad-card__ph img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.actividad-card__ph:has(img){
  border: none;
}

.actividad-card__ph span{
  font-family: var(--sans);
  font-size: 0.82rem;
  color: #8a8a8a;
}

.actividad-card h3{
  color: var(--naranja);
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 10px;
}

.actividad-card p{
  margin: 0 0 14px;
  font-size: 0.98rem;
}

.actividad-card strong{ color: var(--negro); }

.link-arrow{
  color: var(--naranja);
  border-bottom: 1px solid var(--naranja);
  font-weight: 600;
  font-size: 0.95rem;
}

.link-arrow:hover{ color: var(--naranja-oscuro); border-color: var(--naranja-oscuro); }

/* ---------- INSTALACIONES ---------- */

.instalaciones{
  background: var(--gris);
  margin: 0 6vw;
  padding: 34px 36px;
}

.instalaciones p{
  max-width: 70ch;
  margin: 0 0 20px;
  font-size: 1.05rem;
}

.instalaciones strong{ color: var(--negro); }

.instalaciones__links{
  display: flex;
  gap: 32px;
}

.instalaciones__links a{
  color: var(--naranja);
  border-bottom: 1px solid var(--naranja);
  font-weight: 600;
}

.instalaciones__links a:hover{ color: var(--naranja-oscuro); border-color: var(--naranja-oscuro); }

/* ---------- UBICACION ---------- */

.ubicacion{
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 40px;
  padding: 80px 6vw;
  align-items: center;
}

.ubicacion__info h2{
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--negro);
  margin-bottom: 16px;
}

.ubicacion__info p{ margin: 0 0 10px; }

.ubicacion__nota{
  font-size: 0.88rem;
  color: var(--naranja);
}

.ubicacion__map{ border: 1px solid #e2e2e2; }

.ubicacion__map iframe{
  width: 100%;
  height: 320px;
  border: 0;
  display: block;
}

/* ---------- CTA ---------- */

.cta{
  padding: 20px 6vw 90px;
}

.cta__text{
  color: var(--naranja);
  font-size: clamp(1.5rem, 3.4vw, 2.1rem);
  font-weight: 700;
  max-width: 18ch;
  margin: 0 0 30px;
}

.cta__pill{
  display: inline-block;
  background: var(--naranja);
  color: var(--blanco);
  font-family: var(--sans);
  font-weight: 600;
  padding: 16px 34px;
  border-radius: 999px;
}

.cta__pill:hover{ background: var(--naranja-oscuro); }

/* ---------- FOOTER ---------- */

.footer{
  background: var(--negro);
  color: var(--blanco);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  padding: 50px 6vw;
}

.footer p{
  margin: 0 0 8px;
  font-size: 0.95rem;
  color: rgba(255,255,255,0.82);
}

.footer a{ border-bottom: 1px solid rgba(255,255,255,0.35); }
.footer a:hover{ border-bottom-color: var(--naranja); color: var(--naranja); }

.footer__title{
  font-weight: 700;
  color: var(--naranja);
  font-size: 1.1rem;
}

.footer__label{
  color: var(--naranja);
  font-family: var(--sans);
  font-size: 0.82rem;
  letter-spacing: 0.02em;
  margin-bottom: 10px;
}

.footer__social{ display: flex; gap: 14px; }

.footer__social svg{
  width: 30px; height: 30px;
  fill: none;
  stroke: var(--naranja);
  stroke-width: 1.4;
}

.footer__social a:hover svg{ stroke: var(--blanco); }

/* ---------- RESPONSIVE ---------- */

@media (max-width: 900px){
  .actividades__grid{ grid-template-columns: 1fr; }
  .historia{ grid-template-columns: 1fr; }
  .ubicacion{ grid-template-columns: 1fr; }
  .footer{ grid-template-columns: 1fr; }
  .banner__pill{ margin: 20px auto 0; }
  .banner__body{ flex-wrap: wrap; padding: 30px 24px 30px 74px; }
  .nav{ gap: 16px; font-size: 0.9rem; flex-wrap: wrap; }
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior: auto; }
}
