/* ============================================================
   Notaría 47 — Formatos rellenables (hoja de documento legal)
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,500;0,600;1,400&family=Mulish:wght@400;500;600;700;800&display=swap');

:root{
  --navy:#0f1c33; --navy2:#14213d; --gold:#b8964f; --goldD:#9c7c39; --gold100:#f3ead7;
  --ink:#1a1f29; --muted:#6f7585; --line:#c9cdd6; --bg:#e7e9ee;
}
*{box-sizing:border-box;}
html,body{margin:0;}
body{
  font-family:"Lora",Georgia,serif; color:var(--ink); background:var(--bg);
  -webkit-font-smoothing:antialiased; line-height:1.6;
}

/* Barra de acciones (no se imprime) */
.toolbar{
  position:sticky; top:0; z-index:50; background:var(--navy);
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:14px 22px; font-family:"Mulish",sans-serif;
}
.toolbar .left{display:flex;align-items:center;gap:14px;color:#fff;font-size:14px;}
.toolbar a.back{color:rgba(255,255,255,0.8);text-decoration:none;font-weight:600;font-size:14px;}
.toolbar a.back:hover{color:var(--gold);}
.toolbar .actions{display:flex;gap:10px;}
.btn{
  font-family:"Mulish",sans-serif;font-weight:700;font-size:14px;border:0;cursor:pointer;
  padding:11px 20px;border-radius:8px;display:inline-flex;align-items:center;gap:8px;transition:all .2s;
}
.btn-gold{background:var(--gold);color:var(--navy);}
.btn-gold:hover{background:#caa863;}
.btn-ghost{background:rgba(255,255,255,0.12);color:#fff;}
.btn-ghost:hover{background:rgba(255,255,255,0.22);}
.btn svg{width:16px;height:16px;}

.hint{
  font-family:"Mulish",sans-serif;font-size:13.5px;color:var(--navy2);
  background:var(--gold100);border:1px solid #e6d6ad;border-radius:8px;
  max-width:820px;margin:18px auto -6px;padding:12px 18px;display:flex;gap:10px;align-items:center;
}
.hint svg{width:18px;height:18px;color:var(--goldD);flex:none;}

/* Hoja */
.sheet{
  background:#fff; max-width:820px; margin:24px auto; padding:54px 64px 60px;
  box-shadow:0 18px 50px rgba(15,28,51,0.16); border-radius:2px;
}
.doc-head{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:2px solid var(--navy);padding-bottom:18px;margin-bottom:8px;}
.doc-head img{height:66px;width:auto;}
.doc-head .org{font-family:"Mulish",sans-serif;text-align:right;}
.doc-head .org b{display:block;color:var(--navy);font-size:13.5px;font-weight:800;letter-spacing:0.02em;}
.doc-head .org span{font-size:12px;color:var(--muted);}
.doc-title{font-family:"Mulish",sans-serif;text-align:center;color:var(--navy);font-weight:800;letter-spacing:0.16em;text-transform:uppercase;font-size:15px;margin:22px 0 26px;}
.doc-title .sub{display:block;font-weight:600;letter-spacing:0.04em;text-transform:none;color:var(--goldD);font-size:13px;margin-top:6px;}

.sheet p{margin:0 0 14px;text-align:justify;font-size:15px;}
.sheet ol,.sheet ul{margin:0 0 14px;padding-left:22px;}
.sheet li{margin-bottom:7px;font-size:15px;}
.q{margin:0 0 16px;font-size:15px;}
.q b{color:var(--navy2);}

/* Campos rellenables */
.fld{
  font-family:"Mulish",sans-serif;font-size:14.5px;color:var(--navy2);
  border:0;border-bottom:1.5px solid var(--navy);background:transparent;
  padding:2px 8px;min-width:90px;outline:none;
}
.fld:focus{border-bottom-color:var(--gold);background:#faf7ee;}
.fld.lg{min-width:280px;}
.fld.md{min-width:170px;}
.fld.sm{width:70px;text-align:center;}
.fld.yn{width:90px;text-align:center;text-transform:uppercase;font-weight:700;}
textarea.fld{display:block;width:100%;border:1.5px solid var(--line);border-radius:6px;min-height:64px;resize:vertical;margin-top:6px;line-height:1.5;}
textarea.fld:focus{border-color:var(--gold);}

/* Firmas */
.signs{display:flex;gap:48px;margin-top:54px;}
.sign{flex:1;text-align:center;}
.sign .lineit{border-top:1.5px solid var(--navy);padding-top:8px;font-family:"Mulish",sans-serif;}
.sign b{display:block;color:var(--navy);font-size:14px;font-weight:700;}
.sign span{font-size:12.5px;color:var(--muted);}

.doc-foot{margin-top:40px;border-top:1px solid var(--line);padding-top:14px;font-family:"Mulish",sans-serif;font-size:11.5px;color:var(--muted);text-align:center;line-height:1.5;}

@media (max-width:680px){
  .sheet{padding:34px 26px 40px;margin:14px;}
  .doc-head{flex-direction:column;align-items:flex-start;gap:12px;}
  .doc-head .org{text-align:left;}
  .signs{flex-direction:column;gap:40px;}
  .toolbar{flex-direction:column;align-items:stretch;gap:10px;}
  .toolbar .actions{justify-content:stretch;}
  .toolbar .actions .btn{flex:1;justify-content:center;}
}

/* Impresión / PDF */
@page{ size:Letter; margin:14mm 16mm; }
@media print{
  body{background:#fff;}
  .toolbar,.hint{display:none !important;}
  .sheet{box-shadow:none;margin:0;max-width:none;padding:0;border-radius:0;}
  .fld{background:transparent !important;}
  textarea.fld{border-color:#999;}
  .doc-head{break-inside:avoid;}
  .signs{break-inside:avoid;}
  .fsec{break-inside:avoid;}
  .person{break-inside:avoid;}
}

/* ===== Formularios de datos (label : campo) ===== */
.fsec{
  font-family:"Mulish",sans-serif;font-weight:800;font-size:12.5px;letter-spacing:0.1em;text-transform:uppercase;
  color:#fff;background:var(--navy);padding:9px 14px;border-radius:4px;margin:26px 0 14px;display:flex;align-items:center;gap:10px;
}
.fsec .nn{color:var(--gold);}
.fintro{font-family:"Mulish",sans-serif;font-size:13.5px;color:var(--ink);background:var(--gold100);border:1px solid #e6d6ad;border-radius:6px;padding:12px 16px;margin-bottom:6px;text-align:justify;}

.frow{display:grid;grid-template-columns:230px 1fr;align-items:center;gap:12px;padding:8px 2px;border-bottom:1px dotted var(--line);}
.frow > label{font-family:"Mulish",sans-serif;font-size:12.5px;font-weight:700;color:var(--navy2);letter-spacing:0.01em;line-height:1.35;}
.frow > label small{display:block;font-weight:500;color:var(--muted);font-size:11px;text-transform:none;letter-spacing:0;}
.frow .fld{width:100%;min-width:0;font-size:14px;border-bottom:1px solid var(--navy);padding:5px 6px;}
.fgrid2{display:grid;grid-template-columns:1fr 1fr;gap:0 36px;}
.fgrid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 28px;}
/* Dentro de columnas, apilar etiqueta sobre el campo para que el campo tenga ancho usable */
.fgrid2 .frow, .fgrid3 .frow{grid-template-columns:1fr;align-items:start;gap:3px;}
.fgrid2 .frow > label, .fgrid3 .frow > label{padding-top:2px;}
@media (max-width:680px){ .fgrid2,.fgrid3{grid-template-columns:1fr;} .frow{grid-template-columns:1fr;gap:3px;align-items:start;} }

/* opciones tipo casilla / radio */
.fopts{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;}
.fopt{font-family:"Mulish",sans-serif;font-size:13px;color:var(--ink);display:inline-flex;align-items:center;gap:7px;cursor:pointer;}
.fopt input{width:16px;height:16px;accent-color:var(--gold);cursor:pointer;}

/* línea numerada para listas de opciones (denominaciones, socios) */
.flist{display:grid;gap:9px;margin:4px 0 6px;}
.flist .fline{display:grid;grid-template-columns:26px 1fr;align-items:center;gap:10px;}
.flist .fline .ix{font-family:"Mulish",sans-serif;font-weight:700;color:var(--goldD);font-size:13px;}
.flist .fline .fld{width:100%;min-width:0;border-bottom:1px solid var(--navy);padding:5px 6px;}

/* bloque de persona (socio / testigo) */
.person{border:1px solid var(--line);border-radius:8px;padding:16px 18px;margin-bottom:14px;}
.person .ptag{font-family:"Mulish",sans-serif;font-weight:800;font-size:12px;letter-spacing:0.08em;text-transform:uppercase;color:var(--goldD);margin-bottom:8px;}

/* requisitos checklist */
.reqs{display:grid;gap:2px;margin:6px 0 4px;counter-reset:r;}
.req{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:start;padding:11px 6px;border-bottom:1px solid var(--line);}
.req input{width:18px;height:18px;margin-top:2px;accent-color:var(--gold);cursor:pointer;flex:none;}
.req .rt{font-size:14.5px;}
.req .rt b{color:var(--navy2);}
.fnote{font-family:"Mulish",sans-serif;font-size:12.5px;color:var(--muted);margin-top:14px;line-height:1.55;}
.fnote strong{color:var(--goldD);}
