/* =========================================================
   RIDER TÉCNICO — estilos específicos de la página
   Reutiliza los tokens de color/tipografía definidos en styles.css
========================================================= */

.rider-hero{
  background:var(--navy-950);
  padding:170px 0 70px;
  text-align:center;
  background-image:
    radial-gradient(circle at 15% 20%, rgba(127,190,160,.08), transparent 45%),
    radial-gradient(circle at 85% 30%, rgba(226,140,126,.08), transparent 45%);
}
.rider-hero__title{
  font-family:var(--font-display);
  font-weight:600;
  font-size:clamp(2.4rem,5vw,3.6rem);
  color:var(--cream-050);
  margin:10px 0 14px;
}
.rider-hero__subtitle{
  color:var(--gold-400);
  font-size:1.05rem;
  max-width:560px;
  margin:0 auto;
}

.print-btn{
  border:none;
  cursor:pointer;
  font-family:inherit;
}

.rider-section{padding:80px 0;}

.callout{
  background:var(--cream-100);
  border-left:4px solid var(--gold-500);
  border-radius:var(--radius-sm);
  padding:24px 28px;
  margin-bottom:28px;
}
.callout p{color:var(--ink-soft); margin-bottom:10px;}
.callout p:last-child{margin-bottom:0; color:var(--ink);}

.rider-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px;
  align-items:start;
}

.rider-heading{
  font-family:var(--font-display);
  font-size:1.5rem;
  font-weight:600;
  margin-bottom:16px;
  color:var(--gold-400);
}
.rider-block p{color:var(--cream-200); font-size:.98rem;}
.section--cream .rider-block p{color:var(--paper-ink);}
.section--cream .rider-heading{color:var(--navy-800);}

.rider-subheading{
  font-family:var(--font-display);
  font-size:1.15rem;
  font-weight:600;
  margin:28px 0 14px;
  color:var(--navy-800);
}
.rider-subheading--light{color:var(--gold-400);}

.rider-note{
  font-size:.88rem;
  font-style:italic;
  color:var(--paper-ink);
  opacity:.85;
}

/* Check lists */
.check-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px;}
.check-list li{
  position:relative;
  padding-left:26px;
  font-size:.96rem;
  color:var(--paper-ink);
}
.section--navy .check-list li{color:var(--cream-200);}
.check-list li::before{
  content:'';
  position:absolute;
  left:0; top:6px;
  width:14px;height:14px;
  border-radius:50%;
  border:2px solid var(--gold-500);
}
.check-list--cols{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px 32px;
}
.check-list--light li{color:var(--cream-200);}

/* Tables */
.table-wrap{
  overflow-x:auto;
  margin:20px 0 10px;
  border-radius:var(--radius-md);
  border:1px solid var(--cream-200);
}
.rider-table{
  width:100%;
  border-collapse:collapse;
  font-size:.9rem;
  min-width:480px;
}
.rider-table th, .rider-table td{
  padding:12px 16px;
  text-align:left;
  border-bottom:1px solid var(--cream-200);
}
.rider-table th{
  background:var(--navy-900);
  color:var(--gold-400);
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:600;
}
.rider-table tbody tr:nth-child(even){background:var(--cream-100);}
.rider-table tbody tr:last-child td{border-bottom:none;}

.rider-table--dark{border:1px solid var(--navy-800);}
.rider-table--dark th{background:var(--navy-800);}
.rider-table--dark td{border-bottom:1px solid var(--navy-800); color:var(--cream-100);}
.rider-table--dark tbody tr:nth-child(even){background:rgba(255,255,255,.03);}

.rider-table--compact{min-width:220px;}
.rider-table--compact td:last-child{text-align:right; color:var(--gold-400); font-weight:600;}

.light-tables{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.light-tables .table-wrap{margin:0;}

/* Stage plot image */
.stage-plot-frame{
  margin:20px auto 0;
  max-width:560px;
  background:var(--cream-050);
  border:1px solid var(--cream-200);
  border-radius:var(--radius-md);
  padding:24px;
  box-shadow:var(--shadow-soft);
}
.stage-plot-frame img{width:100%;}

/* CTA */
.rider-cta{
  margin-top:56px;
  padding:36px;
  border-radius:var(--radius-md);
  background:var(--navy-900);
  text-align:center;
}
.rider-cta p{color:var(--cream-100); margin-bottom:18px; font-size:1.05rem;}

/* =========================================================
   Responsive
========================================================= */
@media (max-width:900px){
  .rider-grid{grid-template-columns:1fr; gap:32px;}
  .light-tables{grid-template-columns:1fr;}
  .check-list--cols{grid-template-columns:1fr;}
}

@media (max-width:600px){
  .rider-hero{padding:140px 0 50px;}
  .rider-section{padding:56px 0;}
  .callout{padding:20px;}
}

/* =========================================================
   Print styles — for producers who print the rider on-site
========================================================= */
@media print{
  .site-header, .site-footer, .river-progress, .river-divider,
  .nav-overlay, .skip-link, .scroll-cue{display:none !important;}
  body{background:#fff; color:#111;}
  .section--navy{background:#fff !important; color:#111 !important;}
  .section--navy .rider-heading, .section--navy .rider-subheading--light,
  .section-title--light, .eyebrow--light{color:#111 !important;}
  .rider-block p, .check-list li{color:#333 !important;}
  .rider-table--dark th{background:#eee !important; color:#111 !important;}
  .rider-table--dark td{color:#111 !important; border-color:#ccc !important;}
  .rider-hero{background:#fff !important; padding:20px 0;}
  .rider-hero__title, .rider-hero__subtitle{color:#111 !important;}
  .rider-cta{display:none;}
  .reveal, .stagger, .stagger > *{opacity:1 !important; transform:none !important;}
  .section{padding:24px 0;}
  a[href]::after{content:none !important;}
}
