
.hcid-cot{
  --ink:#13293D; --steel:#5B6B78; --line:#D6DDE3; --surface:#F4F6F8; --paper:#FFFFFF;
  --amber:#F2B705; --ok:#1E7A4C; --warn:#9A3412;
  font-family:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;
  color:var(--ink); max-width:1040px; margin:0 auto; padding:24px 16px; box-sizing:border-box;
  line-height:1.5; font-size:16px;
}
.hcid-cot *{box-sizing:border-box}
.hcid-cot .hc-head{margin:0 0 24px}
.hcid-cot .hc-title{font-size:clamp(28px,4.4vw,44px); line-height:1.05; font-weight:800; font-stretch:80%; margin:0 0 10px; letter-spacing:-.01em}
.hcid-cot .hc-sub{margin:0; color:var(--steel); max-width:62ch}
.hcid-cot .hc-grid{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; align-items:start}
@media (max-width:820px){ .hcid-cot .hc-grid{grid-template-columns:1fr} }

.hcid-cot form{background:var(--surface); border:1px solid var(--line); border-radius:6px; padding:22px}
.hcid-cot .hc-field{margin:0 0 20px}
.hcid-cot label.hc-lbl{display:block; font-weight:700; margin:0 0 6px}
.hcid-cot .hc-help{display:block; font-size:14px; color:var(--steel); margin-top:6px}
.hcid-cot .hc-money{position:relative}
.hcid-cot .hc-money span{position:absolute; left:14px; top:50%; transform:translateY(-50%); color:var(--steel); font-weight:600}
.hcid-cot input[type=text]{width:100%; font:inherit; font-size:20px; font-weight:600; font-variant-numeric:tabular-nums;
  padding:12px 14px 12px 30px; border:1px solid var(--line); border-radius:4px; background:var(--paper); color:var(--ink)}
.hcid-cot input[type=text]:focus{outline:3px solid var(--amber); outline-offset:1px; border-color:var(--ink)}
.hcid-cot .hc-chips{display:flex; flex-wrap:wrap; gap:6px; margin-top:8px}
.hcid-cot .hc-chips button{font:inherit; font-size:14px; padding:5px 10px; border:1px solid var(--line); border-radius:999px; background:var(--paper); color:var(--ink); cursor:pointer}
.hcid-cot .hc-chips button:hover,.hcid-cot .hc-chips button:focus-visible{border-color:var(--ink); outline:none}
.hcid-cot .hc-check{display:flex; gap:12px; align-items:flex-start; padding:14px; border:1px solid var(--line); border-radius:4px; background:var(--paper); cursor:pointer}
.hcid-cot .hc-check input{width:20px; height:20px; margin:2px 0 0; accent-color:var(--ink); flex:none}
.hcid-cot .hc-check b{display:block}
.hcid-cot .hc-err{color:var(--warn); font-size:14px; font-weight:600; margin-top:6px; min-height:0}

.hcid-cot .hc-res{background:var(--paper); border:2px solid var(--ink); border-radius:6px; overflow:hidden; position:sticky; top:16px}
.hcid-cot .hc-res-top{padding:22px 22px 18px; border-bottom:1px dashed var(--line)}
.hcid-cot .hc-k{font-size:14px; color:var(--steel); margin:0}
.hcid-cot .hc-total{font-size:clamp(40px,6vw,58px); font-weight:800; font-stretch:78%; line-height:1; margin:6px 0 0; font-variant-numeric:tabular-nums;
  display:inline-block; background:linear-gradient(transparent 62%, var(--amber) 62%, var(--amber) 92%, transparent 92%); padding:0 4px; margin-left:-4px}
.hcid-cot .hc-total small{font-size:.38em; font-weight:700; font-stretch:100%; margin-left:6px; color:var(--steel)}
.hcid-cot .hc-band{margin:14px 0 0; font-size:15px}
.hcid-cot .hc-band strong{font-variant-numeric:tabular-nums}
.hcid-cot table{width:100%; border-collapse:collapse; font-variant-numeric:tabular-nums}
.hcid-cot td{padding:9px 22px; border-bottom:1px solid var(--surface)}
.hcid-cot td:last-child{text-align:right; font-weight:600}
.hcid-cot tr.hc-sum td{font-weight:800; border-top:1px solid var(--line)}
.hcid-cot .hc-actions{padding:18px 22px 22px}
.hcid-cot .hc-wa{display:flex; justify-content:center; align-items:center; gap:10px; width:100%; padding:14px 18px; border-radius:4px; border:0;
  background:var(--ink); color:#fff; font:inherit; font-weight:700; font-size:17px; text-decoration:none; cursor:pointer}
.hcid-cot .hc-wa:hover{background:#0c1c2b}
.hcid-cot .hc-wa:focus-visible{outline:3px solid var(--amber); outline-offset:2px}
.hcid-cot .hc-wa svg{width:20px; height:20px; flex:none}
.hcid-cot .hc-fine{font-size:13px; color:var(--steel); margin:12px 0 0}
.hcid-cot .hc-empty{padding:28px 22px; color:var(--steel)}
.hcid-cot .hc-out{padding:22px; border-left:6px solid var(--warn)}
.hcid-cot .hc-out p{margin:0 0 14px}
.hcid-cot [hidden]{display:none !important}
@media (prefers-reduced-motion:no-preference){ .hcid-cot .hc-total{transition:opacity .15s} }

.hcid-cot .hc-excl{margin-top:24px; border:1px solid var(--line); border-left:6px solid var(--warn); border-radius:4px; background:var(--paper)}
.hcid-cot .hc-excl summary{cursor:pointer; padding:14px 18px; font-weight:700; list-style-position:inside}
.hcid-cot .hc-excl summary:focus-visible{outline:3px solid var(--amber); outline-offset:2px}
.hcid-cot .hc-excl[open] summary{border-bottom:1px solid var(--line)}
.hcid-cot .hc-excl p{margin:14px 18px 6px; color:var(--steel)}
.hcid-cot .hc-excl ul{margin:0 18px 16px; padding-left:20px}
.hcid-cot .hc-excl li{margin:4px 0}
.hcid-cot textarea{width:100%; font:inherit; font-size:16px; padding:12px 14px; border:1px solid var(--line); border-radius:4px; background:var(--paper); color:var(--ink); resize:vertical}
.hcid-cot textarea:focus{outline:3px solid var(--amber); outline-offset:1px; border-color:var(--ink)}
.hcid-cot .hc-loading{opacity:.45}

.hcid-cot select{width:100%; font:inherit; font-size:17px; padding:12px 14px; border:1px solid var(--line); border-radius:4px; background:var(--paper); color:var(--ink)}
.hcid-cot select:focus{outline:3px solid var(--amber); outline-offset:1px; border-color:var(--ink)}
.hcid-cot input.hc-num{padding-left:14px}
.hcid-cot .hc-row2{display:grid; grid-template-columns:1fr 1fr; gap:14px}
@media (max-width:520px){ .hcid-cot .hc-row2{grid-template-columns:1fr} }
/* Asistente */
.hcid-cot .ha-wrap{max-width:760px}
.hcid-cot .ha-q{font-size:clamp(22px,3vw,28px); font-weight:800; font-stretch:85%; line-height:1.15; margin:0 0 6px}
.hcid-cot .ha-hint{margin:0 0 18px; color:var(--steel)}
.hcid-cot .ha-opts{display:grid; gap:10px; margin:0; padding:0; list-style:none}
.hcid-cot .ha-opt{display:block; width:100%; text-align:left; font:inherit; color:var(--ink); background:var(--paper); border:1px solid var(--line); border-left:6px solid var(--line); border-radius:4px; padding:14px 18px; cursor:pointer}
.hcid-cot .ha-opt b{display:block; font-size:17px}
.hcid-cot .ha-opt span{display:block; color:var(--steel); font-size:15px; margin-top:2px}
.hcid-cot .ha-opt:hover{border-left-color:var(--amber); border-color:var(--ink)}
.hcid-cot .ha-opt:focus-visible{outline:3px solid var(--amber); outline-offset:2px}
.hcid-cot .ha-trail{display:flex; flex-wrap:wrap; gap:8px; margin:0 0 18px; font-size:14px; color:var(--steel)}
.hcid-cot .ha-back{font:inherit; font-size:15px; background:none; border:0; color:var(--ink); text-decoration:underline; cursor:pointer; padding:0; margin:16px 0 0}
.hcid-cot .ha-end{border:2px solid var(--ink); border-radius:6px; padding:22px; background:var(--paper)}
.hcid-cot .ha-end h3{font-size:24px; font-weight:800; font-stretch:85%; margin:0 0 8px}
.hcid-cot .ha-end p{margin:0 0 16px}
.hcid-cot a.hc-btn2{display:inline-flex; justify-content:center; align-items:center; gap:10px; padding:14px 22px; border-radius:4px; background:var(--amber); color:var(--ink); font-weight:800; text-decoration:none}
.hcid-cot a.hc-btn2:focus-visible{outline:3px solid var(--ink); outline-offset:2px}
.hcid-cot .ha-q:focus,.hcid-cot .ha-end h3:focus{outline:none}
.hcid-cot .ha-end .hc-fine{margin-top:14px}
/* Comparativo de aseguradoras */
.hcid-cot [id$="-multi"]{padding:16px}
.hcid-cot .hc-card{border:1px solid var(--line); border-radius:6px; padding:16px 18px; margin:0 0 14px; background:var(--paper)}
.hcid-cot .hc-card.hc-best{border:2px solid var(--ink)}
.hcid-cot .hc-card-h{display:flex; justify-content:space-between; align-items:center; gap:10px; margin:0 0 6px}
.hcid-cot .hc-aseg{font-weight:800; font-size:18px; font-stretch:85%; letter-spacing:.01em}
.hcid-cot .hc-tag{font-size:13px; font-weight:700; background:var(--amber); color:var(--ink); padding:3px 9px; border-radius:999px}
.hcid-cot .hc-card .hc-total{font-size:clamp(34px,4.6vw,44px)}
.hcid-cot .hc-mini{font-size:14px; color:var(--steel); margin:8px 0 0; font-variant-numeric:tabular-nums}
.hcid-cot .hc-card .hc-band{font-size:14px; margin:8px 0 14px}
.hcid-cot .hc-card .hc-wa{font-size:16px; padding:12px 16px}
.hcid-cot .hc-wa-alt{background:var(--paper); color:var(--ink); border:2px solid var(--ink)}
.hcid-cot .hc-wa-alt:hover{background:var(--surface)}
.hcid-cot .hc-card-msg{margin:4px 0 14px; font-size:15px}
.hcid-cot .hc-multi-fine{margin:4px 2px 0}

/* Buscador de actividades */
.hcid-cot .hc-combo{position:relative}
.hcid-cot input.hc-q{padding-left:14px; font-size:17px; font-weight:500}
.hcid-cot .hc-list{position:absolute; z-index:20; left:0; right:0; top:calc(100% + 4px); max-height:300px; overflow:auto; margin:0; padding:4px 0; list-style:none;
  background:var(--paper); border:1px solid var(--ink); border-radius:4px; box-shadow:0 8px 24px rgba(19,41,61,.15)}
.hcid-cot .hc-list li{padding:9px 14px; cursor:pointer; font-size:15px; line-height:1.35}
.hcid-cot .hc-list li:hover,.hcid-cot .hc-list li.hc-on{background:var(--surface); box-shadow:inset 4px 0 0 var(--amber)}
.hcid-cot .hc-list li.hc-otro{font-weight:700; border-bottom:1px solid var(--line)}

/* v2.5: fotos y logos */
.hcid-cot .hc-hero{position:relative; min-height:260px; display:flex; align-items:flex-end; border-radius:8px; overflow:hidden;
  background-size:cover; background-position:center; padding:28px; color:#fff}
.hcid-cot .hc-hero::before{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(19,41,61,.45) 0%, rgba(19,41,61,.7) 50%, rgba(19,41,61,.94) 100%)}
.hcid-cot .hc-hero-in{position:relative; max-width:720px}
.hcid-cot .hc-hero .hc-title{color:#fff; text-shadow:0 2px 12px rgba(0,0,0,.35)}
.hcid-cot .hc-hero .hc-sub{color:rgba(255,255,255,.92); font-size:17px}
.hcid-cot .hc-hero .hc-title::after{content:""; display:block; width:64px; height:5px; background:var(--amber); margin-top:12px; border-radius:2px}
@media (max-width:620px){ .hcid-cot .hc-hero{min-height:200px; padding:20px} }
.hcid-cot .hc-logo{height:48px; width:auto; display:block}
.hcid-cot .hc-wordmark{display:inline-flex; flex-direction:column; line-height:1; font-weight:900; font-size:24px; letter-spacing:.02em}
.hcid-cot .hc-wordmark small{font-size:11px; font-weight:600; letter-spacing:.42em; margin-top:2px}
.hcid-cot .hc-afirme{color:#fff; background:#009a3e; padding:6px 12px 5px; border-radius:6px}
.hcid-cot .hc-card-h{min-height:44px}
/* Asistente en mosaico con fotos */
.hcid-cot .ha-wrap{max-width:1040px}
.hcid-cot .ha-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:14px}
.hcid-cot .ha-opt.ha-img{display:flex; flex-direction:column; height:100%; padding:0; overflow:hidden; border-left:1px solid var(--line); border-bottom:5px solid var(--line); border-radius:6px; transition:transform .15s, box-shadow .15s}
.hcid-cot .ha-opt.ha-img:hover{border-color:var(--ink); border-bottom-color:var(--amber); transform:translateY(-2px); box-shadow:0 10px 24px rgba(19,41,61,.14)}
.hcid-cot .ha-opt img,.hcid-cot .ha-opt .ha-ph{display:block; width:100%; height:140px; object-fit:cover; flex:none; margin:0}
.hcid-cot .ha-opt .ha-ph{background:linear-gradient(135deg,var(--ink),#24496b); color:var(--amber); font-size:64px; font-weight:800; line-height:140px; text-align:center}
.hcid-cot .ha-opt .ha-txt{display:block; padding:12px 16px 14px; margin:0; color:var(--ink); font-size:inherit}
@media (prefers-reduced-motion:reduce){ .hcid-cot .ha-opt.ha-img{transition:none} .hcid-cot .ha-opt.ha-img:hover{transform:none} }
.hcid-cot .ha-txt{display:block}
.hcid-cot .ha-end{max-width:760px}
.hcid-cot .ha-end-img{display:block; width:calc(100% + 44px); max-width:none; height:220px; object-fit:cover; object-position:center 30%; margin:-22px -22px 18px; border-radius:4px 4px 0 0}

.hcid-cot .hc-res-logo{display:flex; align-items:center; gap:12px; margin:0 0 14px; padding:0 0 12px; border-bottom:1px solid var(--surface)}
.hcid-cot .hc-res-logo span{font-size:13px; color:var(--steel)}
.hcid-cot .hc-logo[src*="logo-gnp"]{height:38px; max-width:150px}

/* Envío del comparativo */
.hcid-cot .hc-send{margin:14px 0 6px; display:grid; gap:10px}
.hcid-cot .hc-send-btn{background:#1f8f4e}
.hcid-cot .hc-send-btn:hover{background:#17733e}
.hcid-cot .hc-send-form{border:2px solid var(--ink); border-radius:6px; padding:16px; background:var(--paper)}
.hcid-cot .hc-send-form .hc-field{margin-bottom:12px}
.hcid-cot .hc-send-t{margin:0 0 12px; font-size:15px}
.hcid-cot .hc-send-form .hc-in{font-size:17px; font-weight:500}
.hcid-cot .hc-hp{position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; opacity:0}
.hcid-cot .hc-send-form .hc-check{margin:4px 0 10px}
.hcid-cot .hc-send-done{display:grid; gap:10px}
.hcid-cot .hc-send-ok{margin:0; font-weight:600; font-size:16px}
.hcid-cot .hc-go{background:#1f8f4e}
.hcid-cot .hc-go:hover{background:#17733e}

/* Título del seguro sobre la foto del asistente */
.hcid-cot .ha-opt .ha-media{position:relative; display:block; margin:0; padding:0; color:inherit}
.hcid-cot .ha-opt .ha-title{position:absolute; left:0; right:0; bottom:0; display:block; margin:0; padding:30px 14px 10px;
  background:linear-gradient(180deg,rgba(19,41,61,0) 0%,rgba(19,41,61,.78) 45%,rgba(19,41,61,.95) 100%);
  color:#fff; font-size:19px; font-weight:800; line-height:1.15; letter-spacing:.2px; text-shadow:0 1px 2px rgba(0,0,0,.35)}
.hcid-cot .ha-opt .ha-title::after{content:""; display:block; width:38px; height:3px; margin-top:6px; background:var(--amber); border-radius:2px}
.hcid-cot .ha-opt .ha-txt b{font-size:15px}
.hcid-cot .ha-opt .ha-ph{display:flex; justify-content:center; align-items:flex-start; padding-top:16px; box-sizing:border-box; line-height:1}

.hcid-cot .ha-opt .ha-ph .ha-ico{display:block; width:60px; height:60px; margin:0}

/* Campos de cantidad: vacío = pendiente (borde punteado ámbar), lleno = palomita verde */
.hcid-cot .hc-money.hc-vacio input{border:2px dashed var(--amber); background:#FFFBEB}
.hcid-cot .hc-money.hc-vacio span{visibility:hidden}
.hcid-cot .hc-money input::placeholder{color:#8A96A0; font-weight:400; font-style:italic; font-size:17px; opacity:1}
.hcid-cot .hc-money.hc-vacio input{padding-left:14px}
.hcid-cot .hc-ok-ico{position:absolute; right:14px; top:50%; width:22px; height:22px; margin-top:-11px; border-radius:50%; background:var(--ok); display:none}
.hcid-cot .hc-ok-ico::after{content:""; position:absolute; left:8px; top:4px; width:5px; height:10px; border:solid #fff; border-width:0 2.5px 2.5px 0; transform:rotate(45deg)}
.hcid-cot .hc-money:not(.hc-vacio) .hc-ok-ico{display:block}
.hcid-cot .hc-empty-t{margin:0 0 8px; font-weight:600; color:var(--ink)}
.hcid-cot .hc-empty-l{margin:0; padding-left:20px}
.hcid-cot .hc-empty-l li{margin:4px 0}
.hcid-cot .hc-money input{padding-right:44px}
