/* Herramientas gratis: generador de fixture y planilla para imprimir */
.herr { padding: 40px 0 88px; }
.herr-head { margin-bottom: 28px; }
.herr-head h1 { font-size: clamp(2.3rem, 6.5vw, 3.6rem); margin-top: 6px; }
.herr-head .lead { max-width: 640px; }
.sello-gratis { display: inline-flex; gap: 8px; flex-wrap: wrap; margin-top: 16px; }
.sello-gratis span { padding: 5px 12px; border-radius: 99px; border: 1px solid var(--borde); background: var(--card); font-size: .85rem; color: var(--suave); }
.sello-gratis span::before { content: "✓ "; color: var(--verde); font-weight: 700; }

.herr-panel { padding: 24px; border-radius: 22px; background: var(--card); border: 1px solid var(--borde); }
.herr-form { display: grid; gap: 16px; }
.herr-form label { display: grid; gap: 6px; font-size: .9rem; font-weight: 600; }
.herr-form label small { font-weight: 400; color: var(--suave); }
.herr-form input[type=text], .herr-form textarea, .herr-form select {
  width: 100%; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--borde);
  background: var(--bg-2); color: var(--texto); font: inherit; font-size: 1rem;
}
.herr-form textarea { min-height: 220px; resize: vertical; line-height: 1.5; }
.herr-form input:focus, .herr-form textarea:focus, .herr-form select:focus { outline: 2px solid var(--verde); outline-offset: 1px; border-color: transparent; }
.herr-fila { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.herr-checks { display: flex; flex-wrap: wrap; gap: 10px 22px; }
.herr-checks label { display: flex; align-items: center; gap: 8px; font-weight: 500; cursor: pointer; }
.herr-checks input { width: 18px; height: 18px; accent-color: var(--verde); }
.herr-acciones { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.herr-meta { font-size: .9rem; color: var(--suave); }
.link-boton { background: none; border: 0; padding: 0; color: var(--violeta-2); font: inherit; font-size: .9rem; cursor: pointer; text-decoration: underline; }
.herr-aviso { padding: 12px 16px; border-radius: 12px; background: rgba(255, 77, 106, .12); border: 1px solid rgba(255, 77, 106, .4); }

/* Resultado del fixture */
.fx-salida { margin-top: 32px; }
.fx-salida-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.fx-salida-head h2 { font-size: clamp(1.9rem, 4.5vw, 2.6rem); }
.fx-salida-head p { color: var(--suave); margin-top: 6px; }
.fx-botones { display: flex; flex-wrap: wrap; gap: 10px; }
.btn-wsp { background: var(--wsp); color: #062b14; }
.fx-fechas { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
.fx-fecha { padding: 16px 18px; border-radius: 16px; background: var(--card); border: 1px solid var(--borde); break-inside: avoid; }
.fx-fecha h3 { font-family: var(--titulo); text-transform: uppercase; font-size: 1.3rem; letter-spacing: .3px; }
.fx-fecha h3 small { font-family: Inter, sans-serif; text-transform: none; font-size: .78rem; color: var(--suave); font-weight: 500; margin-left: 6px; }
.fx-fecha ol { list-style: none; padding: 0; margin: 10px 0 0; display: grid; gap: 6px; }
.fx-fecha li { display: grid; grid-template-columns: 1fr auto 1fr; gap: 8px; align-items: center; font-size: .95rem; }
.fx-loc { text-align: right; }
.fx-vs { font-size: .75rem; color: var(--suave); text-transform: uppercase; }
.fx-libre { margin-top: 10px; font-size: .88rem; color: var(--suave); }
.fx-titulo-imp { display: none; }

.herr-cta { margin-top: 28px; }
.herr-info { margin-top: 64px; }

/* Planilla */
.pl-grid { display: grid; grid-template-columns: 360px 1fr; gap: 28px; align-items: start; }
.pl-grid > * { min-width: 0; }
.pl-vista { position: sticky; top: 90px; }
.pl-vista > p { font-size: .88rem; color: var(--suave); margin-bottom: 10px; }
.pl-escala { overflow: hidden; border-radius: 6px; box-shadow: var(--sombra); }
.pl-hoja { transform-origin: top left; }
.pl-pdf { font-size: .92rem; color: var(--suave); }
.pl-pdf a { color: var(--violeta-2); }

.planilla-hoja {
  --fila: 6.2mm;
  width: 210mm; min-height: 297mm; padding: 10mm; background: #fff; color: #111;
  font: 9.5pt/1.3 Inter, Arial, sans-serif; display: flex; flex-direction: column; gap: 3mm;
}
.planilla-hoja h2 { font-size: 20pt; color: #111; }
.ph-head { display: flex; justify-content: space-between; gap: 6mm; border-bottom: 2px solid #111; padding-bottom: 3mm; }
.ph-liga { font-weight: 700; font-size: 11pt; min-height: 1.3em; }
.ph-datos { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5mm 6mm; font-size: 9pt; min-width: 105mm; }
.ph-datos span { border-bottom: 1px solid #999; white-space: nowrap; overflow: hidden; }
.ph-marcador { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 6mm; padding: 2mm 0; }
.ph-marcador > div:not(.ph-goles) { display: grid; gap: 1mm; text-align: center; }
.ph-marcador span { font-size: 8pt; text-transform: uppercase; color: #555; letter-spacing: .5px; }
.ph-marcador b { font-size: 13pt; border-bottom: 1px solid #999; min-height: 1.4em; }
.ph-goles { display: flex; align-items: center; gap: 3mm; }
.ph-goles i { width: 15mm; height: 12mm; border: 2px solid #111; border-radius: 2mm; }
.ph-goles em { font-style: normal; font-size: 14pt; }
.ph-pt { text-align: center; font-size: 9pt; }
.ph-eq-head { display: flex; gap: 3mm; align-items: baseline; margin-bottom: 1mm; }
.ph-eq-head span { font-size: 8pt; text-transform: uppercase; background: #111; color: #fff; padding: .5mm 2mm; border-radius: 1mm; }
.ph-eq-head b { font-size: 11pt; flex: 1; border-bottom: 1px solid #999; }
.planilla-hoja table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.planilla-hoja th, .planilla-hoja td { border: 1px solid #777; padding: 0 1.5mm; height: var(--fila); font-size: 8pt; }
.planilla-hoja th { background: #eee; text-align: left; height: 5mm; }
.planilla-hoja .c-n { width: 10mm; } .planilla-hoja .c-doc { width: 30mm; } .planilla-hoja .c-g { width: 18mm; } .planilla-hoja .c-t { width: 13mm; }
.ph-dt { font-size: 8.5pt; margin-top: 1.5mm; }
.ph-obs { flex: 1; min-height: 18mm; border: 1px solid #777; border-radius: 1.5mm; padding: 1.5mm 2mm; font-size: 8pt; color: #555; }
.ph-firmas { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8mm; padding-top: 10mm; }
.ph-firmas div { border-top: 1px solid #111; text-align: center; font-size: 8.5pt; padding-top: 1mm; }
.ph-pie { text-align: right; font-size: 7pt; color: #888; }

@media (max-width: 900px) {
  .pl-grid { grid-template-columns: 1fr; }
  .pl-vista { position: static; }
}
@media (max-width: 560px) {
  .herr { padding-top: 28px; }
  .herr-panel { padding: 18px; }
  .herr-fila { grid-template-columns: 1fr; }
  .herr-acciones .btn, .fx-botones .btn { flex: 1 1 auto; }
}

@media print {
  @page { size: A4; margin: 10mm; }
  :root { color-scheme: light; }
  html, body { background: #fff !important; color: #111 !important; }
  .nav, .pie, .migas, .herr-head, .herr-panel, .herr-cta, .herr-info, .nota-cta, .fx-botones, .fx-salida-head p, .no-imprimir { display: none !important; }
  .herr { padding: 0; }
  .fx-salida { margin: 0; }
  .fx-titulo-imp { display: block; font-size: 18pt; color: #111; margin-bottom: 4mm; }
  .fx-salida-head { margin-bottom: 4mm; }
  .fx-salida-head h2:not(.fx-titulo-imp) { display: none; }
  .fx-fechas { grid-template-columns: repeat(3, 1fr); gap: 3mm; }
  .fx-fecha { background: #fff; border: 1px solid #999; color: #111; padding: 2.5mm 3mm; border-radius: 2mm; }
  .fx-fecha h3 { font-size: 12pt; }
  .fx-fecha li { font-size: 9pt; }
  .fx-vs, .fx-libre, .fx-fecha h3 small { color: #555; }
  .fx-imp-pie { display: block !important; margin-top: 4mm; font-size: 8pt; color: #888; text-align: right; }
  /* planilla */
  .wrap { width: auto !important; }
  .pl-grid { display: block; }
  .pl-vista > p { display: none; }
  .pl-escala { box-shadow: none; height: auto !important; overflow: visible; border-radius: 0; }
  .pl-hoja { transform: none !important; }
  .planilla-hoja { width: auto; min-height: 0; height: 275mm; padding: 0; overflow: hidden; }
}
.fx-imp-pie { display: none; }
