/* Páginas legales de acomerpe.com: mismo sistema visual que la landing (rojo #D7141A, Bricolage + Figtree) */
:root {
  --rojo: #D7141A; --rojo-hondo: #A50E13; --blanco: #FFFFFF; --tinta: #1A1416; --papel: #F4F3F1;
  --gris: #6E676A; --linea: #E4E1DF; --aji: #F7B500;
  --display: 'Bricolage Grotesque', system-ui, sans-serif;
  --body: 'Figtree', system-ui, sans-serif;
  --mono: 'JetBrains Mono', ui-monospace, monospace;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--blanco); color: var(--tinta); font: 17px/1.65 var(--body); -webkit-font-smoothing: antialiased; }
a { color: var(--rojo); text-underline-offset: 3px; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid rgba(215,20,26,.35); outline-offset: 2px; }
.wrap { width: min(1120px, 100% - 32px); margin-inline: auto; }

.cab { background: var(--rojo); color: var(--blanco); }
.cab .wrap { display: flex; align-items: center; gap: 16px; padding: 16px 0; }
.marca { display: flex; align-items: center; gap: 10px; color: inherit; text-decoration: none; font: 800 24px var(--display); letter-spacing: -.03em; }
.marca img { width: 40px; height: 40px; }
.marca i { font-style: normal; }
.cab .volver { margin-left: auto; color: var(--blanco); font-weight: 700; text-decoration: none; padding: 9px 16px; border: 2px solid rgba(255,255,255,.7); border-radius: 10px; }
.cab .volver:hover { background: rgba(255,255,255,.12); }

.doc { width: min(74ch, 100% - 32px); margin: 0 auto; padding: 48px 0 72px; }
.doc h1 { font: 800 clamp(34px, 5vw, 52px)/1.05 var(--display); letter-spacing: -.03em; margin: 0 0 12px; }
.doc .version { display: inline-block; font: 600 14px var(--mono); color: var(--gris); background: var(--papel); padding: 4px 10px; border-radius: 8px; }
.doc .intro { font-size: 19px; margin: 22px 0 8px; }
.doc h2 { font: 800 24px/1.2 var(--display); letter-spacing: -.02em; margin: 44px 0 10px; scroll-margin-top: 20px; }
.doc h3 { font-size: 18px; margin: 24px 0 6px; }
.doc ul { padding-left: 1.2em; }
.doc li { margin: 4px 0; }
.indice { background: var(--papel); border-radius: 14px; padding: 16px 20px; margin: 26px 0 0; }
.indice b { display: block; margin-bottom: 6px; }
.indice ol { margin: 0; padding-left: 1.2em; columns: 2; column-gap: 28px; }
.indice a { color: var(--tinta); }
.tabla { width: 100%; overflow-x: auto; margin: 14px 0; }
.doc table { border-collapse: collapse; width: 100%; font-size: 15px; min-width: 560px; }
.doc th, .doc td { text-align: left; vertical-align: top; padding: 10px 12px; border-bottom: 1px solid var(--linea); }
.doc th { background: var(--papel); font-weight: 700; }
.nota { border-left: 4px solid var(--rojo); background: #FFF6F6; padding: 12px 16px; border-radius: 0 10px 10px 0; margin: 18px 0; }
/* Marcadores visibles de lo que falta completar o revisar: se quitan al completar el texto */
.completar, .verificar { font: 600 .85em var(--mono); padding: 1px 6px; border-radius: 6px; }
.completar { background: #FFF1C2; color: #6B4A00; }
.verificar { background: #E3EEFF; color: #0B3D91; }
.doc .fin { margin-top: 48px; padding-top: 18px; border-top: 1px solid var(--linea); color: var(--gris); }

.pie { background: var(--tinta); color: #E9E5E6; font-size: 15px; }
.pie .wrap { display: flex; flex-wrap: wrap; gap: 10px 24px; align-items: center; padding: 26px 0; }
.pie a { color: inherit; }
.pie .titular { width: 100%; opacity: .75; font-size: 13.5px; }
.libro-link { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; text-decoration: none; }
.libro-link svg { width: 26px; height: 26px; }

/* Libro de reclamaciones */
.form-libro { display: grid; gap: 22px; margin-top: 28px; }
.form-libro fieldset { border: 1px solid var(--linea); border-radius: 14px; padding: 16px 18px 18px; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 14px; }
.form-libro legend { font: 800 17px var(--display); padding: 0 6px; }
.form-libro label { display: grid; gap: 5px; font-weight: 700; font-size: 14.5px; }
.form-libro label small { font-weight: 500; color: var(--gris); }
.form-libro .full { grid-column: 1 / -1; }
.form-libro input:not([type=checkbox]):not([type=radio]), .form-libro select, .form-libro textarea {
  font: 16px var(--body); padding: 11px 13px; border: 1.5px solid #DCD6D4; border-radius: 10px; background: #fff; color: var(--tinta); width: 100%; }
.form-libro textarea { min-height: 110px; resize: vertical; }
.tipo { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.tipo label { display: flex; gap: 10px; align-items: flex-start; border: 1.5px solid #DCD6D4; border-radius: 12px; padding: 12px; font-weight: 500; cursor: pointer; }
.tipo label:has(input:checked) { border-color: var(--rojo); background: #FFF6F6; }
.tipo b { display: block; }
.check { display: flex !important; gap: 10px; align-items: flex-start; font-weight: 500 !important; font-size: 14.5px !important; min-height: 44px; cursor: pointer; }
.check input { width: 20px; height: 20px; margin: 2px 0 0; flex-shrink: 0; accent-color: var(--rojo); }
.btn-enviar { justify-self: start; background: var(--rojo); color: #fff; border: 0; border-radius: 12px; padding: 15px 28px; font: 800 17px var(--body); cursor: pointer; }
.btn-enviar:disabled { opacity: .6; cursor: wait; }
.error { background: #FDECEC; color: #9E0B10; padding: 10px 14px; border-radius: 10px; font-weight: 600; margin: 0; }
.hoja { border: 2px solid var(--tinta); border-radius: 14px; padding: 20px 22px; margin-top: 28px; font-size: 15.5px; }
.hoja h2 { margin-top: 0 !important; }
.hoja dl { display: grid; grid-template-columns: max-content 1fr; gap: 6px 16px; margin: 12px 0; }
.hoja dt { font-weight: 700; }
.hoja dd { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.hoja .num { font: 700 22px var(--mono); color: var(--rojo); }

@media (max-width: 620px) {
  body { font-size: 16px; }
  .doc { padding-top: 32px; }
  .indice ol { columns: 1; }
  .form-libro fieldset, .tipo { grid-template-columns: 1fr; }
  .hoja dl { grid-template-columns: 1fr; }
  .cab .volver { padding: 8px 12px; font-size: 14px; }
}
