/* Secciones de la cotización del cliente (comparte tokens con estilo.css) */
.doc-h .hero-tag{background:var(--surface);color:var(--accent-ink);justify-self:start;margin-top:4px}
.doc-h h1{font-size:clamp(24px,5.5vw,34px);margin-top:6px;line-height:1.15}
.sec{padding:24px 22px;border-top:1px solid var(--line);display:grid;gap:16px;min-width:0}
.sec h2{margin-top:-6px}
.kicker{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink);font-weight:700}
.sec h3{font-size:17px;margin-top:6px}
.sec p{margin:0}
.ulc{margin:0;padding-left:18px;display:grid;gap:6px}
.ulc li::marker{color:var(--accent)}
.muted{color:var(--ink-2)}
.about{display:grid;grid-template-columns:minmax(0,200px) minmax(0,1fr);gap:22px;align-items:start}
.about .foto{width:100%;height:auto;border-radius:12px;background:var(--accent-soft)}
.about > div{display:grid;gap:10px;min-width:0}
.about .role{font-weight:600;color:var(--accent-ink);font-size:14px;margin-top:-6px}
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tags span{background:var(--accent-soft);color:var(--accent-ink);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600}
.acc{border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden}
.acc summary{cursor:pointer;padding:13px 15px;font-weight:700;color:var(--accent-ink);list-style:none;display:flex;justify-content:space-between;gap:10px;align-items:center}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";font-size:20px;line-height:1;color:var(--accent)}
.acc[open] summary::after{content:"−"}
.accb{padding:0 15px 15px;display:grid;gap:10px;font-size:14.5px}
.accb h5{margin:10px 0 4px;font-size:14px;font-family:var(--f-display);color:var(--ink)}
.accb h5:first-child{margin-top:0}
.fcols{column-count:2;column-gap:28px}
.fcols h5{break-after:avoid}
.fcols > h5 + .ulc{margin-bottom:12px}
.fcols .ulc{break-inside:auto}
.nota{background:var(--gold-soft);color:var(--gold-ink);border-radius:12px;padding:12px 14px;font-size:14px}
.nota b{color:var(--gold-ink)}
.objs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.obj{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:14px;display:grid;gap:6px}
.obj .n{font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--accent-ink)}
.obj h4{margin:0;font-family:var(--f-display);font-size:16px;font-weight:700;color:var(--accent-ink);line-height:1.25}
.obj p{font-size:14.5px}
.mods{display:grid;gap:8px}
.mod{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px 14px;font-size:14.5px}
.mod .mi{font-family:var(--f-display);font-weight:700;color:var(--accent);min-width:26px}
.mod h4{margin:0 0 2px;font-family:var(--f-display);font-size:15.5px;font-weight:700;color:var(--accent-ink);line-height:1.25}
.mod p{margin:0}
.inc{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.ic{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:16px;display:grid;gap:8px;align-content:start;min-width:0}
.ic h4{margin:0;font-family:var(--f-display);font-size:16px}
.ic p{margin:0;font-size:14px;color:var(--ink-2)}
.cond{justify-self:start;background:var(--blue-soft);color:var(--blue);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}
.table-scroll{overflow-x:auto;min-width:0;border-radius:12px;border:1px solid var(--line)}
.tabla{width:100%;min-width:560px;border-collapse:collapse;font-size:14.5px}
.tabla th{background:var(--accent);color:#fff;text-align:left;padding:10px 12px;font-weight:600}
.tabla td{padding:10px 12px;border-top:1px solid var(--line)}
.tabla td:first-child{font-weight:600}
.totf{border-top:1px solid var(--line);padding-top:8px;margin-top:4px}
.dgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.dcard{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:16px;display:grid;gap:8px;align-content:start;min-width:0;font-size:14.5px}
.dcard h4{margin:0;font-family:var(--f-display);font-size:16px}
.pm{display:flex;flex-wrap:wrap;gap:8px}
.pm span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:13.5px;font-weight:600}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.step{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:16px;display:grid;gap:6px;align-content:start;font-size:14.5px}
.step h4{margin:0;font-family:var(--f-display);font-size:16px}
.step p{color:var(--ink-2)}
.sn{width:30px;height:30px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:700}
.cbox{background:var(--accent-soft);border-radius:12px;padding:18px;display:grid;gap:14px}
.cbox h3{margin:0}
.cbox p{margin-top:4px;color:var(--ink-2)}
.cbtns{display:flex;flex-wrap:wrap;gap:8px}
.btn-wa{background:#E7F3EC;color:#23663F;border:1px solid #BFDDCB}
.btn-wa:hover{background:#D8EBDF}
.btn-x2{padding:12px 20px;font-size:15px}
.cta{border-top:1px solid var(--line);padding:22px;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center}
.cta .btn{text-align:center;white-space:normal}
.pie{padding:16px 22px 22px;font-size:12.5px;color:var(--ink-2);text-align:center;border-top:1px solid var(--line)}
.pie a{color:var(--accent-ink)}
@media (max-width:620px){
  .about{grid-template-columns:minmax(0,1fr)}
  .about .foto{max-width:220px}
  .fcols{column-count:1}
  .sec{padding:20px 16px}
  .doc-h{padding:20px 16px}
}
@media print{
  .sec{break-inside:auto}
  .acc{break-inside:avoid}
  .acc summary::after{display:none}
  .ic,.obj,.step,.dcard,.cbox,.mod{break-inside:avoid}
  .cta{display:none}
}

/* Boleta de honorarios: se muestra al presionar el botón (sin JavaScript) */
.tog{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.bolwrap{display:grid;gap:12px;margin-top:6px}
.bol-btn{justify-self:start;cursor:pointer}
.tog:focus-visible + .bol-btn{outline:2px solid var(--accent);outline-offset:2px}
.bol{display:none}
.tog:checked ~ .bol{display:grid;gap:10px}
.btn-t{background:var(--accent);color:#fff}
.btn-t:hover{filter:brightness(.92)}
.tabla-bol th:last-child,.tabla-bol td:last-child{text-align:right}

/* Diseño sobrio: morado principal, acentos suaves solo en el borde superior de las tarjetas */
.objs{grid-template-columns:minmax(0,1fr)}
.objs.c4{grid-template-columns:repeat(2,minmax(0,1fr))}
.objs .obj,.inc .ic{background:#fff;border:1px solid var(--line);border-top:3px solid var(--c,#D9CCEB)}
.objs .obj:nth-child(4n+1),.inc .ic:nth-child(4n+1){--c:#C4AEE3}
.objs .obj:nth-child(4n+2),.inc .ic:nth-child(4n+2){--c:#E8D48F}
.objs .obj:nth-child(4n+3),.inc .ic:nth-child(4n+3){--c:#9ED2E4}
.objs .obj:nth-child(4n),.inc .ic:nth-child(4n){--c:#A9D8BC}
.inc.c2{grid-template-columns:repeat(2,minmax(0,1fr))}
.inc.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.inc.impar .ic:last-child{grid-column:1/-1}
.ic.cupon{background:#FBFEFC;border:1px dashed var(--mint-bd);border-top:3px dashed var(--mint-bd)}
.cup-k{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mint-ink)}
.ic.cupon .btn{justify-self:start;margin-top:4px}
.dgrid{align-items:start}
.steps{align-items:stretch}
.dcard,.step{background:#fff;padding:12px 14px;gap:6px}
.step .sn{background:var(--accent);color:#fff}
.pm span{background:#fff;color:var(--ink);border:1px solid var(--line)}
.tabla-bol th{background:var(--mint-soft);color:var(--mint-ink)}
.afinar{flex-basis:100%;display:grid;justify-items:center;gap:8px;margin-top:4px;padding-top:14px;border-top:1px dashed var(--line)}
.afinar p{margin:0;font-size:13px;color:var(--ink-2)}
.afinar-btns{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.afinar .btn{padding:7px 14px;font-size:13px}
@media (max-width:620px){
  .objs,.inc.c2,.inc.c3{grid-template-columns:minmax(0,1fr)}
  .inc.impar .ic:last-child{grid-column:auto}
}

/* Módulos: título en negrita y descripción pequeña debajo */
.mod{align-items:flex-start}
.mod h4{font-size:15.5px;font-weight:700;color:var(--accent-ink);margin:0}
.mod p{font-size:13px;color:var(--ink-2);line-height:1.45;margin:3px 0 0}

.cup-img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:10px;margin:0 0 4px}
.cup-txt{display:grid;gap:8px;font-size:14.5px;color:var(--ink-2)}
.cup-txt p{margin:0}

/* Animación de aparición al hacer scroll (solo si JavaScript corre; ver CSM.animar) */
html.js-anim .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
html.js-anim .reveal.reveal-left{transform:translateX(-28px)}
html.js-anim .reveal.reveal-right{transform:translateX(28px)}
html.js-anim .reveal.visible{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){ html.js-anim .reveal{opacity:1;transform:none;transition:none} }

/* Títulos de tarjetas en semi negrita (Figtree 600, legible) */
.obj h4,.mod h4,.ic h4,.step h4,.dcard h4{font-family:var(--f-body);font-weight:600}

/* Objetivos que no son 4: filas en lugar de tarjetas */
.objs.filas{grid-template-columns:minmax(0,1fr);gap:8px}
.objs.filas .obj{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;align-items:start;background:#fff;border:1px solid var(--line);border-left:4px solid var(--c,#D9CCEB);border-radius:12px;padding:12px 16px}
.objs.filas .obj .n{grid-row:auto}
.objs.filas .obj p{margin:0}
/* Cupones: bloque propio debajo de las demás tarjetas */
.cup-grupo{display:grid;gap:10px;margin-top:4px}
.cup-grupo-t{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mint-ink)}
.cupones{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}

/* Cupones compactos */
.cupones{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}
.cupones .ic.cupon{padding:12px 14px;gap:6px;align-content:start}
.cupones .ic.cupon h4{font-size:15px}
.cupones .cup-img{max-height:96px;aspect-ratio:auto;height:96px;object-fit:cover;margin:0}
.cupones .ic.cupon .btn{padding:6px 12px;font-size:13px}
.cupones .ic.cupon p{font-size:13.5px}

/* Exportar PDF: hoja A4 completa, con colores, boleta visible y sin cortes */
@page{size:A4;margin:14mm 12mm}
@media print{
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  html.js-anim .reveal,html.js-anim .reveal.reveal-left,html.js-anim .reveal.reveal-right{opacity:1!important;transform:none!important;transition:none!important}
  body{background:#fff;padding:0}
  .no-imprimir,.cta,.bol-btn,.tog,.copy a[href^="https://wa"]{display:none!important}
  .bolwrap{display:grid;gap:10px}
  .bol{display:grid!important;gap:10px}
  .table-scroll{overflow:visible!important;border:0}
  .tabla{min-width:0!important;width:100%}
  .tabla tr,.ic,.obj,.mod,.step,.dcard,.acc,.inc,.steps,.dgrid,.objs,.cup-grupo,.cupones,.pm,.tags,.doc-meta{break-inside:avoid}
  h2,h3,h4,.kicker{break-after:avoid}
  .sec{break-inside:auto;padding:18px 0}
  .cup-img{max-height:none;height:auto}
  .acc summary{break-after:avoid}
  a{color:inherit;text-decoration:none}
}
