/* TuWebLocal — Generador DeCA y páginas de la campaña DeCA (a1 · 2026-09-12) */
.twl-deca{max-width:900px;margin:0 auto;background:#fff;border:1px solid #d8ecf5;border-radius:18px;box-shadow:0 10px 30px rgba(16,42,67,.06);padding:1.6rem 1.7rem}
.twl-deca fieldset{border:0;padding:0;margin:0 0 1.5rem}
.twl-deca legend{font-weight:800;font-size:1.12rem;color:#102a43;margin-bottom:.35rem;padding:0}
.twl-deca legend small{display:block;font-weight:500;font-size:.88rem;color:#5c6f7b;margin-top:.15rem}
.twl-deca label{display:block;font-weight:600;color:#102a43;font-size:.93rem;margin-bottom:.9rem;line-height:1.35}
.twl-deca label > input,.twl-deca label > select,.twl-deca label > textarea{display:block;margin-top:.35rem}
.twl-deca label small{display:block;margin-top:.3rem;font-weight:400;color:#5c6f7b;font-size:.8rem}
.twl-deca .req{color:#c0392b}
.twl-deca input[type=text],.twl-deca input[type=number],.twl-deca input[type=date],.twl-deca select,.twl-deca textarea{padding:.72rem .85rem;border:1px solid #cfe1ea;border-radius:10px;font:inherit;font-size:1rem;background:#fff;color:#213a49;width:100%}
.twl-deca input:focus,.twl-deca select:focus,.twl-deca textarea:focus{outline:none;border-color:#176be0;box-shadow:0 0 0 3px rgba(23,107,224,.15)}
.twl-deca input:disabled{background:#f2f6f9;color:#8a9aa5}
.twl-deca textarea{min-height:84px;resize:vertical}
.twl-deca__grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 1.1rem}
.twl-deca__grid3{display:grid;grid-template-columns:1.2fr 1.2fr .8fr;gap:0 1rem}
.twl-deca__check{position:relative;padding-left:1.8rem;font-weight:500!important;font-size:.9rem!important}
.twl-deca__check input{position:absolute;left:0;top:.2rem;width:1.1rem;height:1.1rem;margin:0;display:inline-block}
.twl-deca__envio{border:1px solid #d8ecf5;border-radius:14px;padding:1rem 1.1rem .4rem;margin-bottom:1rem;background:#fbfdfe}
.twl-deca__envio-cab{display:flex;justify-content:space-between;align-items:center;margin-bottom:.7rem;color:#0d4ba0}
.twl-deca__quitar{background:none;border:1px solid #e3b6b1;color:#c0392b;border-radius:30px;padding:.25rem .8rem;font:inherit;font-size:.82rem;font-weight:700;cursor:pointer}
.twl-deca__vehiculo{background:#eef6fb;border-radius:12px;padding:.8rem .9rem .1rem;margin-bottom:.9rem}
.twl-deca__add{background:#fff;border:2px dashed #9cc7e6;color:#0d4ba0;border-radius:12px;padding:.8rem 1rem;font:inherit;font-weight:700;cursor:pointer;width:100%;margin:.2rem 0 .6rem}
.twl-deca__add:hover{background:#eef6fb}
.twl-deca__sel{background:#f4f9fc;border-radius:12px;padding:.7rem .9rem .1rem;margin-bottom:.8rem}
.twl-deca details{border:1px solid #d8ecf5;border-radius:12px;padding:.6rem .9rem;margin-bottom:1rem;background:#fff}
.twl-deca summary{cursor:pointer;font-weight:700;color:#102a43}
.twl-deca details[open] summary{margin-bottom:.7rem}
.twl-deca__acciones{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;margin-top:.4rem}
.twl-deca__btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.85rem 1.4rem;border-radius:50px;font:inherit;font-weight:700;font-size:1rem;text-decoration:none!important;cursor:pointer;border:2px solid transparent;transition:transform .2s,box-shadow .2s}
.twl-deca__btn:hover{transform:translateY(-2px)}
.twl-deca__btn--pri{background:#176be0;color:#fff!important;box-shadow:0 6px 18px rgba(23,107,224,.3)}
.twl-deca__btn--pri:disabled{opacity:.6;cursor:wait;transform:none}
.twl-deca__btn--wa{background:#25d366;color:#fff!important;box-shadow:0 6px 18px rgba(37,211,102,.3)}
.twl-deca__btn--tel{background:#102a43;color:#fff!important}
.twl-deca__btn--sec{background:#fff;color:#176be0!important;border-color:#176be0}
.twl-deca__btn--sec:hover{background:#eef6fb}
.twl-deca__grande{font-size:1.15rem;padding:1.05rem 2rem}
.twl-deca__contador{font-size:.9rem;color:#41545f;background:#f4f9fc;border-radius:30px;padding:.45rem 1rem;display:inline-block}
.twl-deca__contador.is-pro{background:#e3f6ec;color:#177a4c}
.twl-deca__aviso{border-radius:14px;padding:1rem 1.2rem;margin:1rem 0;background:#eaf7fc;border:1px solid #d1edf9;border-left:6px solid #176be0;color:#213a49;line-height:1.5}
.twl-deca__aviso ul{margin:.5rem 0 0 1.2rem}
.twl-deca__aviso.is-error{background:#fdeeec;border-color:#f3c2bc;border-left-color:#c0392b}
.twl-deca__aviso.is-limite{background:#fff4e5;border-color:#ffe0b2;border-left-color:#ff9800}
.twl-deca__aviso .twl-deca__btn{margin:.5rem .4rem 0 0;font-size:.95rem;padding:.65rem 1.1rem}
.twl-deca__res{background:#f0faf4;border:1px solid #bfe8d2;border-radius:18px;padding:1.5rem 1.6rem;margin:1.5rem 0}
.twl-deca__res-cab{display:flex;gap:1rem;align-items:center;margin-bottom:1rem}
.twl-deca__res-cab h3{margin:0 0 .2rem;font-size:1.3rem;color:#177a4c}
.twl-deca__res-cab p{margin:0;color:#41545f;font-size:.95rem}
.twl-deca__ok{width:46px;height:46px;border-radius:50%;background:#1e9e63;color:#fff;font-size:1.6rem;font-weight:900;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.twl-deca__res-grid{display:grid;grid-template-columns:210px 1fr;gap:1.4rem;align-items:start}
.twl-deca__res-qr{text-align:center;background:#fff;border-radius:14px;padding:.8rem;border:1px solid #d8ecf5}
.twl-deca__res-qr img{width:180px;height:180px;display:block;margin:0 auto}
.twl-deca__url{font-size:.78rem;word-break:break-all;margin:.5rem 0 0}
.twl-deca__res-acc{display:flex;flex-direction:column;gap:.6rem}
.twl-deca__res-acc .twl-deca__btn{width:100%}
.twl-deca__res-nota{background:#fff;border-radius:12px;padding:.9rem 1rem;margin-top:1rem;font-size:.92rem;color:#41545f;line-height:1.5}
.twl-deca__res-acc2{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.9rem}
.twl-deca__res-acc2 .twl-deca__btn{font-size:.92rem;padding:.6rem 1rem}
.twl-deca__hist{margin:1.4rem 0 0}
.twl-deca__hist h3{font-size:1.05rem;margin:0 0 .5rem}
.twl-deca__hist ul{list-style:none;margin:0;padding:0}
.twl-deca__hist li{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;padding:.5rem 0;border-bottom:1px solid #eef3f6;font-size:.9rem;color:#41545f}
.twl-deca__hist li span{flex:1 1 260px}
.twl-deca__hist li a{font-family:monospace;font-weight:700}
.twl-deca__hist button{background:#fff;border:1px solid #cfe1ea;border-radius:20px;padding:.2rem .7rem;font:inherit;font-size:.8rem;cursor:pointer;color:#0d4ba0}
.twl-deca__peq{font-size:.8rem;color:#5c6f7b;margin:.6rem 0 0}
#deca-qr-tmp{position:absolute;left:-9999px;top:0;width:320px;height:320px;overflow:hidden}

/* Barra de contacto grande (teléfono + WhatsApp) */
.twl-contacto-xl{background:#102a43;color:#fff;border-radius:20px;padding:1.8rem 1.6rem;text-align:center;max-width:900px;margin:0 auto}
.twl-contacto-xl h2,.twl-contacto-xl h3{color:#fff;margin:0 0 .4rem;font-size:1.5rem}
.twl-contacto-xl p{color:#cfe1ea;margin:0 0 1.1rem;font-size:1.02rem}
.twl-contacto-xl__tel{display:block;font-size:2.4rem;font-weight:900;letter-spacing:1px;color:#fff;text-decoration:none;margin:.2rem 0 .9rem;line-height:1.1}
.twl-contacto-xl__tel:hover{color:#9cc7e6}
.twl-contacto-xl__btns{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center}
.twl-contacto-xl .twl-deca__btn--tel{background:#fff;color:#102a43!important}
.twl-contacto-xl small{display:block;margin-top:.9rem;color:#9cc7e6;font-size:.85rem}

/* Formulario de alta / contacto */
.twl-alta{max-width:640px;margin:0 auto;background:#fff;border:1px solid #d8ecf5;border-radius:18px;padding:1.5rem 1.6rem;box-shadow:0 10px 30px rgba(16,42,67,.06)}
.twl-alta label{display:block;font-weight:600;color:#102a43;font-size:.93rem;margin-bottom:.9rem;line-height:1.35}
.twl-alta label > input,.twl-alta label > select,.twl-alta label > textarea{display:block;margin-top:.35rem}
.twl-alta input,.twl-alta select,.twl-alta textarea{padding:.72rem .85rem;border:1px solid #cfe1ea;border-radius:10px;font:inherit;font-size:1rem;width:100%}
.twl-alta__priv{position:relative;padding-left:1.7rem;font-weight:400!important;font-size:.85rem!important;color:#41545f!important}
.twl-alta__priv input{position:absolute;left:0;top:.15rem;width:1.05rem;height:1.05rem;margin:0;display:inline-block}
.twl-alta__bot{position:absolute;left:-9999px;opacity:0}
.twl-alta__msg{min-height:1.2em;margin:.6rem 0 0;color:#1f8a4c;font-weight:600}
.twl-alta__msg.is-error{color:#c0392b}

/* Planes DeCA */
.twl-planes{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;max-width:1050px;margin:0 auto}
.twl-plan{background:#fff;border:1px solid #d8ecf5;border-radius:18px;padding:1.6rem 1.5rem;display:flex;flex-direction:column;box-shadow:0 10px 30px rgba(16,42,67,.06);position:relative}
.twl-plan--rec{border:2px solid #176be0;box-shadow:0 18px 40px rgba(23,107,224,.14)}
.twl-plan__badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:#176be0;color:#fff;font-size:.75rem;font-weight:800;letter-spacing:.5px;padding:.3rem .9rem;border-radius:30px;white-space:nowrap}
.twl-plan h3{font-size:1.3rem;margin:0 0 .3rem}
.twl-plan__para{color:#5c6f7b;font-size:.9rem;margin:0 0 .9rem;min-height:2.6em}
.twl-plan__precio{display:flex;align-items:baseline;gap:.35rem;margin-bottom:.2rem}
.twl-plan__precio strong{font-size:2.3rem;color:#0d4ba0;line-height:1}
.twl-plan__precio span{color:#41545f;font-weight:600}
.twl-plan__anual{font-size:.82rem;color:#5c6f7b;margin:0 0 1rem}
.twl-plan ul{list-style:none;margin:0 0 1.3rem;padding:0}
.twl-plan ul li{padding:.36rem 0 .36rem 1.5rem;position:relative;color:#41545f;font-size:.94rem}
.twl-plan ul li::before{content:"✓";position:absolute;left:0;color:#1e9e63;font-weight:800}
.twl-plan ul li.no{color:#8a9aa5}
.twl-plan ul li.no::before{content:"–";color:#b8c4cc}
.twl-plan .twl-deca__btn{margin-top:auto;width:100%}
.twl-planes--2{grid-template-columns:repeat(2,1fr);max-width:820px;text-align:left}
.twl-planes--2 .twl-plan__precio{flex-wrap:nowrap;align-items:baseline}
.twl-planes--2 .twl-plan__precio strong{white-space:nowrap}
.twl-plan__nota{font-size:.78rem;color:#5c6f7b;text-align:center;margin:.6rem 0 0}

/* Tabla comparativa */
.twl-tabla-comp{width:100%;border-collapse:collapse;font-size:.92rem;margin:1rem 0}
.twl-tabla-comp th,.twl-tabla-comp td{border:1px solid #d8ecf5;padding:.6rem .7rem;text-align:left;vertical-align:top}
.twl-tabla-comp th{background:#eef6fb;color:#102a43}
.twl-tabla-comp td{color:#41545f}
.twl-tabla-comp tr.es-twl td{background:#f0faf4;font-weight:600;color:#102a43}
.twl-tabla-wrap{overflow-x:auto}

/* Bloque de pasos */
.twl-pasos3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;max-width:1000px;margin:0 auto}
.twl-pasos3 > div{background:#fff;border:1px solid #d8ecf5;border-radius:16px;padding:1.3rem 1.2rem}
.twl-pasos3 .n{width:38px;height:38px;border-radius:50%;background:#176be0;color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;margin-bottom:.7rem;font-size:1.1rem}
.twl-pasos3 h3{font-size:1.05rem;margin:0 0 .4rem}
.twl-pasos3 p{margin:0;color:#41545f;font-size:.94rem}

@media (max-width:760px){
  .twl-planes--2{grid-template-columns:1fr}
  .twl-tabla-comp th,.twl-tabla-comp td{min-width:9rem}
  .twl-deca{padding:1.1rem 1rem;border-radius:14px}
  .twl-deca__grid2,.twl-deca__grid3{grid-template-columns:1fr;gap:0}
  .twl-deca__res-grid{grid-template-columns:1fr}
  .twl-deca__res-qr{max-width:240px;margin:0 auto}
  .twl-planes,.twl-pasos3{grid-template-columns:1fr}
  .twl-plan--rec{order:-1}
  .twl-contacto-xl__tel{font-size:1.9rem}
  .twl-deca__acciones .twl-deca__btn{width:100%}
}
