/* TuWebLocal — generador de carta de porte (a1 · 2026-10-05). Complementa twl-gen.a1.css */
.twl-cp-modo{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin:0 0 1rem}
.twl-cp-modo .twl-gen__op>span{width:100%;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.7rem .85rem;box-sizing:border-box;height:100%}
.twl-cp-modo .twl-gen__op>span small{font-size:.78rem;line-height:1.3}
.twl-cp-sub{font-size:.8rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#5c6f7b;margin:.3rem 0 .6rem}
.twl-cp-sub:first-child{margin-top:0}
.twl-cp-filas{display:grid;gap:.7rem;margin:0 0 .7rem}
.twl-cp-fila{border:1px solid #dbe8f1;background:#f8fbfd;border-radius:14px;padding:.75rem .8rem .1rem}
.twl-cp-fila__top{display:flex;justify-content:space-between;align-items:center;margin:0 0 .5rem;min-height:28px}
.twl-cp-fila__n{font-size:.8rem;font-weight:800;color:#0d4ba0;letter-spacing:.04em;text-transform:uppercase}
.twl-cp-fila__x{border:0;background:none;color:#8a1f12;font:inherit;font-size:.82rem;font-weight:700;cursor:pointer;padding:.3rem .4rem;border-radius:8px}
.twl-cp-fila__x:hover{background:#fdecea}
.twl-cp-fila__x[hidden]{display:none}
.twl-cp-fila__nums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 .6rem}
.twl-cp-fila .twl-gen__f{margin-bottom:.7rem}
.twl-cp-fila .twl-gen__f>span{font-size:.8rem}
.twl-cp-fila input{background:#fff}
.twl-cp-add{width:100%;border:1.5px dashed #9cc3ea;background:#fff;color:#0d4ba0;border-radius:12px;min-height:46px;font:inherit;font-weight:800;font-size:.92rem;cursor:pointer;margin:0 0 1rem}
.twl-cp-add:hover{border-color:#176be0;background:#eef6fe}
.twl-cp-add[disabled]{opacity:.55;cursor:not-allowed}
.twl-cp-check{display:flex;gap:.55rem;align-items:flex-start;font-size:.9rem;font-weight:700;color:#102a43;margin:0 0 .9rem;cursor:pointer;line-height:1.4}
.twl-cp-check input{width:20px;height:20px;margin:.05rem 0 0;flex:none;accent-color:#176be0}
.twl-cp-check small{display:block;font-weight:500;color:#5c6f7b;font-size:.8rem}
.twl-cp-total{display:flex;justify-content:space-between;align-items:center;background:#eef6fb;border-radius:12px;padding:.6rem .85rem;font-size:.9rem;color:#41545f;margin:-.2rem 0 1rem}
.twl-cp-total strong{color:#102a43;font-size:1.05rem}
.twl-gen__f textarea{width:100%;box-sizing:border-box;min-height:84px;resize:vertical}
@media (max-width:640px){
  .twl-cp-modo{grid-template-columns:1fr}
  .twl-cp-fila__nums{grid-template-columns:1fr 1fr}
}

/* Vista previa: hoja A4 en miniatura (los cqi de dentro miden el ancho de .twl-cp; su propio padding y borde no pueden usar cqi) */
.twl-cp{container-type:inline-size;width:100%;max-width:440px;min-height:0;aspect-ratio:210/297;box-sizing:border-box;background:#fff;border-radius:6px;box-shadow:0 1px 2px rgba(16,42,67,.08),0 12px 32px rgba(16,42,67,.14);padding:clamp(12px,4vw,18px) clamp(12px,4vw,18px) clamp(9px,3vw,13px);border-top:6px solid #c0392b;display:flex;flex-direction:column;gap:clamp(5px,1.6vw,7px);color:#102a43;font-family:Montserrat,Arial,sans-serif;overflow:hidden}
@supports not (aspect-ratio:1){.twl-cp{min-height:560px}}
.twl-cp__head{display:flex;gap:2.5cqi;align-items:flex-start}
.twl-cp__ht{flex:1;min-width:0}
.twl-cp__ht strong{display:block;font-size:4.6cqi;line-height:1.1;font-weight:800;letter-spacing:-.01em}
.twl-cp__ht span{display:block;font-size:2.3cqi;color:#5c6f7b;margin-top:.6cqi;line-height:1.3}
.twl-cp__hn{display:flex;flex-direction:column;align-items:flex-end;gap:1cqi;flex:none}
.twl-cp__num{font-size:2.7cqi;font-weight:800;white-space:nowrap}
.twl-cp__ej{font-size:2.1cqi;font-weight:700;color:#fff;background:#c0392b;border-radius:99px;padding:.5cqi 2cqi;white-space:nowrap}
.twl-cp__qr{width:13cqi;height:13cqi;flex:none;display:flex;align-items:center;justify-content:center;font-size:2cqi;color:#7a8b96}
.twl-cp__qr img{width:100%;height:100%;image-rendering:pixelated;display:block}
.twl-cp__qr--off{display:none}
.twl-cp__g{display:grid;grid-template-columns:1fr 1fr;border-top:.3cqi solid #c0392b;border-left:.3cqi solid #c0392b}
.twl-cp__b{border-right:.3cqi solid #c0392b;border-bottom:.3cqi solid #c0392b;padding:1cqi 1.3cqi;min-height:9cqi;min-width:0;display:flex;flex-direction:column;gap:.5cqi}
.twl-cp__l{font-size:1.85cqi;line-height:1.25;color:#5c6f7b;display:flex;gap:.8cqi;align-items:flex-start}
.twl-cp__nb{font-style:normal;font-weight:800;color:#fff;background:#c0392b;min-width:2.8cqi;text-align:center;border-radius:.4cqi;flex:none}
.twl-cp__v{font-size:2.35cqi;line-height:1.3;font-weight:600;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.twl-cp__v--vacio{color:#c3ced6;font-weight:500}
.twl-cp__t{width:100%;border-collapse:collapse;font-size:2.15cqi;table-layout:fixed}
.twl-cp__t th,.twl-cp__t td{border:.3cqi solid #c0392b;padding:.7cqi 1cqi;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.twl-cp__t th{background:#f4f7fa;color:#41545f;font-weight:700;font-size:1.85cqi}
.twl-cp__t th:nth-child(1),.twl-cp__t th:nth-child(4),.twl-cp__t th:nth-child(5){width:13%}
.twl-cp__t th:nth-child(2){width:16%}
.twl-cp__t td{height:3.2cqi;font-weight:600}
.twl-cp__tot td{background:#f4f7fa;font-weight:800}
.twl-cp__tot td:nth-child(3){text-align:right}
.twl-cp__adr{margin:0;font-size:2.2cqi;font-weight:700;color:#8a1f12;background:#fdecea;border-radius:.8cqi;padding:.8cqi 1.4cqi}
.twl-cp__fz{display:grid;grid-template-columns:repeat(3,1fr);border-top:.3cqi solid #c0392b;border-left:.3cqi solid #c0392b;flex:1;min-height:16cqi}
.twl-cp__b--firma .twl-cp__v{display:none}
.twl-cp__pie{margin:0;font-size:1.75cqi;line-height:1.35;color:#7a8b96}
/* Modo CMR: azul de la marca */
.twl-cp--cmr{border-top-color:#176be0}
.twl-cp--cmr .twl-cp__g,.twl-cp--cmr .twl-cp__b,.twl-cp--cmr .twl-cp__t th,.twl-cp--cmr .twl-cp__t td,.twl-cp--cmr .twl-cp__fz{border-color:#176be0}
.twl-cp--cmr .twl-cp__nb,.twl-cp--cmr .twl-cp__ej{background:#176be0}
.twl-cp-prevnota{font-size:.8rem;line-height:1.45;color:#5c6f7b;margin:.9rem 0 0;text-align:center}
.twl-cp-prevnota strong{color:#102a43}

/* Secciones de contenido */
.twl-cp-datos{list-style:none;margin:1.2rem 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.twl-cp-datos li{position:relative;background:#fff;border:1px solid #dbe8f1;border-radius:12px;padding:.7rem .85rem .7rem 2.6rem;font-size:.93rem;line-height:1.45;color:#41545f}
.twl-cp-datos li strong{color:#102a43}
.twl-cp-datos li::before{content:"✓";position:absolute;left:.8rem;top:.68rem;width:1.3rem;height:1.3rem;border-radius:50%;background:#e5f5ec;color:#14532d;font-weight:800;font-size:.8rem;display:flex;align-items:center;justify-content:center}
.twl-cp-datos li.op::before{content:"+";background:#eef6fe;color:#0d4ba0}
.twl-cp-leyenda{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;font-size:.84rem;color:#5c6f7b;margin:.8rem 0 0}
.twl-cp-leyenda span::before{display:inline-flex;margin-right:.35rem;width:1.1rem;height:1.1rem;border-radius:50%;align-items:center;justify-content:center;font-weight:800;font-size:.72rem;vertical-align:-.1rem}
.twl-cp-leyenda .o::before{content:"✓";background:#e5f5ec;color:#14532d}
.twl-cp-leyenda .p::before{content:"+";background:#eef6fe;color:#0d4ba0}
.twl-cp-tabs{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin:1.4rem 0 0}
.twl-cp-tab{background:#fff;border:1px solid #dbe8f1;border-radius:16px;padding:1.2rem 1.25rem}
.twl-cp-tab h3{margin:0 0 .3rem;font-size:1.05rem;color:#102a43}
.twl-cp-tab p.k{margin:0 0 .3rem;font-size:.8rem;font-weight:700;color:#5c6f7b}
.twl-cp-tab .twl-cp-datos{grid-template-columns:1fr;margin-top:.8rem}
.twl-cp-ej{display:grid;grid-template-columns:repeat(3,1fr);gap:.9rem;margin:1.3rem 0 0}
.twl-cp-ej div{background:#fff;border:1px solid #dbe8f1;border-top:5px solid var(--c);border-radius:14px;padding:1rem 1.05rem}
.twl-cp-ej b{display:block;color:#102a43;font-size:.98rem;margin:0 0 .25rem}
.twl-cp-ej p{margin:0;font-size:.9rem;line-height:1.5;color:#41545f}
.twl-cp-cmp{width:100%;border-collapse:separate;border-spacing:0;margin:1.3rem 0 0;font-size:.92rem;background:#fff;border:1px solid #dbe8f1;border-radius:14px;overflow:hidden}
.twl-cp-cmp th,.twl-cp-cmp td{padding:.75rem .85rem;text-align:left;vertical-align:top;border-bottom:1px solid #e6eef4;line-height:1.45;color:#41545f}
.twl-cp-cmp thead th{background:#eef6fb;color:#102a43;font-size:.85rem}
.twl-cp-cmp tbody th{color:#102a43;font-weight:700;width:24%}
.twl-cp-cmp tr:last-child th,.twl-cp-cmp tr:last-child td{border-bottom:0}
.twl-cp-cmpw{overflow-x:auto;-webkit-overflow-scrolling:touch}
.twl-cp-tabs{align-items:start}
/* Ilustración de la oferta: tres documentos que salen de un solo alta */
.twl-cp-docs{position:relative;width:132px;height:140px}
.twl-cp-docs span{position:absolute;width:104px;height:88px;background:#fff;border:1px solid #dbe8f1;border-top:6px solid var(--c);border-radius:8px;box-shadow:0 8px 20px rgba(16,42,67,.15);padding:7px 9px 0;box-sizing:border-box;display:flex;flex-direction:column;gap:6px}
.twl-cp-docs span:nth-child(1){left:28px;top:0}
.twl-cp-docs span:nth-child(2){left:14px;top:26px}
.twl-cp-docs span:nth-child(3){left:0;top:52px}
.twl-cp-docs b{font-size:.62rem;line-height:1.15;color:#102a43;font-weight:800}
.twl-cp-docs i{display:block;height:5px;border-radius:3px;background:#e6eef4}
.twl-cp-docs i:nth-of-type(2){width:75%}
.twl-cp-docs i:nth-of-type(3){width:55%}
@media (max-width:760px){
  .twl-cp-datos,.twl-cp-tabs,.twl-cp-ej{grid-template-columns:1fr}
  .twl-cp-cmp{min-width:560px}
}
