/* ---------- Casillas de consentimiento (checkout y reclamos) ---------- */
.check{display:flex; gap:10px; align-items:flex-start; font-size:.92rem; color:var(--tinta); margin:4px 0 12px; cursor:pointer; line-height:1.4}
.check input{width:18px; height:18px; margin-top:2px; accent-color:var(--verde); flex:0 0 auto}
.check a{color:var(--verde); font-weight:700}
.check.bad span{color:#b3202b}
.lr-link svg{width:18px; height:18px}

/* ---------- Páginas legales ---------- */
.legal-top{display:flex; align-items:center; justify-content:space-between; gap:16px; height:78px}
.legal-top .btn{padding:.6em 1.1em; font-size:.92rem}
.legal{max-width:860px; margin:0 auto; padding:48px 24px 80px}
.legal h1{font-size:clamp(2rem,4.4vw,2.8rem); color:var(--verde); margin-bottom:8px}
.legal .upd{color:var(--tinta-suave); font-size:.95rem; margin:0 0 28px}
.legal h2{font-size:1.35rem; color:var(--verde); margin:34px 0 10px}
.legal h3{font-size:1.1rem; color:var(--tinta); margin:20px 0 6px}
.legal p, .legal li{color:var(--tinta); font-size:1.02rem}
.legal ul{padding-left:1.2em}
.legal li{margin-bottom:6px}
.legal a{color:var(--verde); font-weight:700}
.legal .card-id{background:#fff; border-radius:18px; padding:18px 22px; box-shadow:var(--shadow); margin:10px 0 6px}
.legal .card-id p{margin:4px 0}
.legal .toc{background:var(--verde-suave); border-radius:18px; padding:16px 22px; margin-bottom:10px}
.legal .toc a{font-weight:400}
.legal .note{background:var(--lima-suave); border-radius:14px; padding:14px 18px; font-size:.95rem; color:var(--verde-osc)}
.legal table{width:100%; border-collapse:collapse; background:#fff; border-radius:14px; overflow:hidden; font-size:.95rem}
.legal th,.legal td{padding:10px 12px; text-align:left; border-bottom:1px solid #00000010; vertical-align:top}
.legal th{background:var(--verde-suave); color:var(--verde); font-family:var(--disp)}

/* ---------- Libro de Reclamaciones ---------- */
.lr-sheet{background:#fff; border-radius:24px; box-shadow:var(--shadow); padding:28px; margin-top:18px}
.lr-head{display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; border-bottom:2px solid var(--verde); padding-bottom:14px; margin-bottom:18px}
.lr-head h2{margin:0; font-size:1.3rem}
.lr-meta{font-size:.95rem; color:var(--tinta-suave); text-align:right}
.lr-meta b{color:var(--tinta)}
.lr-prov{background:var(--crema); border-radius:14px; padding:12px 16px; font-size:.95rem; margin-bottom:8px}
.lr-prov p{margin:2px 0}
.lr-sec{font-family:var(--disp); font-weight:800; color:#fff; background:var(--verde); border-radius:10px; padding:8px 14px; margin:22px 0 14px; font-size:1rem}
.lr-grid{display:grid; grid-template-columns:1fr 1fr; gap:0 16px}
.lr-grid .full{grid-column:1/-1}
.lr-sheet textarea{width:100%; padding:.72em .9em; border:1.5px solid #00000018; border-radius:12px; font-family:"Amaranth",sans-serif; font-size:1rem; min-height:110px; resize:vertical; background:#fff; color:var(--tinta)}
.lr-sheet textarea:focus{outline:none; border-color:var(--verde)}
.lr-sheet textarea.bad{border-color:var(--fresa); background:#fff7f7}
.lr-types{display:grid; grid-template-columns:1fr 1fr; gap:12px}
.lr-type{border:1.5px solid #00000018; border-radius:14px; padding:12px 14px; cursor:pointer; display:flex; gap:10px; align-items:flex-start; font-size:.92rem; color:var(--tinta-suave)}
.lr-type b{display:block; color:var(--tinta); font-family:var(--disp); font-size:1rem}
.lr-type input{accent-color:var(--verde); margin-top:4px}
.lr-type:has(input:checked){border-color:var(--verde); background:var(--verde-suave)}
.lr-legal{font-size:.86rem; color:var(--tinta-suave); margin-top:18px; border-top:1px dashed #00000020; padding-top:14px}
.lr-ok{text-align:center; padding:10px 0 4px}
.lr-ok .big{font-size:2.6rem}
.lr-ok h2{margin:6px 0 8px}
.lr-copy dl{display:grid; grid-template-columns:200px 1fr; gap:6px 16px; margin:0; font-size:.95rem}
.lr-copy dt{color:var(--tinta-suave)}
.lr-copy dd{margin:0; color:var(--tinta); white-space:pre-wrap}
.lr-actions{display:flex; gap:12px; flex-wrap:wrap; justify-content:center; margin-top:22px}

@media(max-width:640px){
  .legal{padding:32px 16px 64px}
  .lr-sheet{padding:18px}
  .lr-grid, .lr-types{grid-template-columns:1fr}
  .lr-meta{text-align:left}
  .lr-copy dl{grid-template-columns:1fr}
  .lr-copy dt{margin-top:6px}
  .legal-top .btn .txt{display:none}
}
.print-only{display:none}
/* El margen va dentro del documento: así sale igual aunque el usuario elija "Márgenes: Ninguno" */
@page{size:A4; margin:0}
@media print{
  header.nav, footer, .topbar, .lr-actions, .wa-float, .no-print{display:none !important}
  html, body{width:auto !important; min-width:0 !important; overflow:visible !important; background:#fff !important; font-size:11pt; margin:0 !important}
  .legal{max-width:none; width:auto; margin:0; padding:16mm 16mm 14mm; box-sizing:border-box}
  .legal > h1{display:none}
  .print-only{display:block}
  .lr-print-logo{height:44px; width:auto; margin:0 0 10px}
  .lr-sheet{box-shadow:none; padding:0; margin:0; border-radius:0; max-width:100%}
  .lr-head{flex-wrap:nowrap}
  .lr-head h2{font-size:15pt}
  .lr-meta{font-size:10pt}
  .lr-prov{padding:8px 12px; font-size:10pt; -webkit-print-color-adjust:exact; print-color-adjust:exact}
  .lr-sec{-webkit-print-color-adjust:exact; print-color-adjust:exact; font-size:11pt; margin:14px 0 10px}
  .lr-copy dl{grid-template-columns:42mm 1fr; font-size:10pt; gap:5px 12px}
  .lr-copy dd{word-break:break-word}
  .lr-legal{font-size:9pt}
}
