/* Cotizador Divina — Sure Service. Todo bajo .ss-franq para no chocar con Divi. */
.ss-franq{
  --marino:#1a2856; --marino-2:#2d3f7a; --oro:#c8a415; --oro-2:#b8940f;
  --papel:#ffffff; --tinta:#191f33; --nube:#eef1f8; --nube-2:#e2e7f3;
  --linea:#d7dcec; --suave:#5b6580; --musgo:#2e7d5b; --rubi:#c0392b;
  --sombra:0 18px 50px -20px rgba(26,40,86,.4);
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --display:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --radio:16px;
  font-family:var(--sans); color:var(--tinta); line-height:1.55; max-width:1040px;
  margin:0 auto; padding:8px 0 72px;
  scroll-margin-top:200px; /* deja hueco bajo el menú fijo de Divi al cambiar de paso */
}
@media (prefers-color-scheme:dark){
  .ss-franq{
    --papel:#141a30; --tinta:#eef1fb; --nube:#1b2242; --nube-2:#232c50;
    --linea:#2c3560; --suave:#9aa4c4; --sombra:0 18px 50px -20px rgba(0,0,0,.7);
  }
}
:root[data-theme="dark"] .ss-franq{
  --papel:#141a30; --tinta:#eef1fb; --nube:#1b2242; --nube-2:#232c50;
  --linea:#2c3560; --suave:#9aa4c4; --sombra:0 18px 50px -20px rgba(0,0,0,.7);
}
:root[data-theme="light"] .ss-franq{
  --papel:#ffffff; --tinta:#191f33; --nube:#eef1f8; --nube-2:#e2e7f3;
  --linea:#d7dcec; --suave:#5b6580; --sombra:0 18px 50px -20px rgba(26,40,86,.4);
}

.ss-franq *{box-sizing:border-box}
.ss-franq [hidden]{display:none !important}
/* Ocultar el hero full-width al abrir el cotizador (vence a display:flex !important) */
.ss-emp .ss-hero-fw.ssf-hide{display:none !important}
.ss-franq .ssf-quoter{
  background:var(--papel); border:1px solid var(--linea); border-radius:var(--radio);
  box-shadow:var(--sombra); overflow:hidden;
}

/* Cabecera con pasos */
.ss-franq .ssf-head{padding:20px 26px; border-bottom:1px solid var(--linea); background:var(--nube)}
.ss-franq .ssf-steps{display:flex; gap:6px; align-items:center; flex-wrap:wrap}
.ss-franq .ssf-st{display:flex; align-items:center; gap:9px; flex:1; min-width:110px}
.ss-franq .ssf-dot{
  width:26px; height:26px; border-radius:50%; display:grid; place-items:center; font-size:12.5px;
  font-weight:700; background:var(--nube-2); color:var(--suave); border:1px solid var(--linea); flex:none;
}
.ss-franq .ssf-st.ssf-done .ssf-dot{background:var(--musgo); color:#fff; border-color:var(--musgo)}
.ss-franq .ssf-st.ssf-active .ssf-dot{background:var(--marino); color:#fff; border-color:var(--marino)}
.ss-franq .ssf-lbl{font-size:12.5px; font-weight:600; color:var(--suave)}
.ss-franq .ssf-st.ssf-active .ssf-lbl,.ss-franq .ssf-st.ssf-done .ssf-lbl{color:var(--tinta)}
.ss-franq .ssf-bar{height:2px; background:var(--linea); flex:1; min-width:12px}
.ss-franq .ssf-st.ssf-done + .ssf-bar{background:var(--musgo)}
.ss-franq .ssf-prog{margin:10px 0 0; font-size:12.5px; color:var(--oro-2); font-weight:600}

/* Cuerpo */
.ss-franq .ssf-body{padding:30px 26px; position:relative}
.ss-franq .ssf-screen{display:none; animation:ssdfade .4s ease}
.ss-franq .ssf-screen.ssf-on{display:block}
@keyframes ssdfade{from{opacity:0; transform:translateY(8px)} to{opacity:1; transform:none}}
.ss-franq .ssf-h2{font-family:var(--display); font-size:26px; margin:0 0 4px; letter-spacing:-.01em; color:var(--tinta)}
.ss-franq .ssf-sub{color:var(--suave); margin:0 0 24px; font-size:14.5px}

/* Campos */
.ss-franq .ssf-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:16px 18px}
.ss-franq .ssf-field{display:flex; flex-direction:column; gap:6px; position:relative}
.ss-franq .ssf-field.ssf-full{grid-column:1/-1}
.ss-franq .ssf-field label{font-size:12.5px; font-weight:600}
.ss-franq .ssf-field label .ssf-opt{color:var(--suave); font-weight:500}
/* Aviso bajo un campo: explica una condición del producto sin parecer error. */
.ss-franq .ssf-field .ssf-hint{font-size:12.5px; line-height:1.45; color:var(--suave);
  border-left:3px solid var(--oro); padding-left:10px; margin-top:2px}

.ss-franq .ssf-field input,.ss-franq .ssf-field select{
  font:inherit; font-size:15px; padding:12px 14px; border:1.5px solid var(--linea);
  border-radius:11px; background:var(--papel); color:var(--tinta); width:100%;
  transition:border-color .15s, box-shadow .15s;
}
.ss-franq .ssf-field input:focus,.ss-franq .ssf-field select:focus{
  outline:none; border-color:var(--oro); box-shadow:0 0 0 3px rgba(200,164,21,.18);
}
.ss-franq .ssf-seg{display:flex; gap:10px}
.ss-franq .ssf-seg label{flex:1; cursor:pointer; margin:0}
.ss-franq .ssf-seg input{position:absolute; opacity:0; pointer-events:none}
.ss-franq .ssf-box{display:flex; flex-direction:column; gap:3px; padding:14px; border:1.5px solid var(--linea); border-radius:12px; transition:.15s; height:100%}
.ss-franq .ssf-box b{font-size:14.5px}
.ss-franq .ssf-box small{font-size:12px; color:var(--suave)}
.ss-franq .ssf-seg input:checked + .ssf-box{border-color:var(--oro); background:linear-gradient(0deg,rgba(200,164,21,.08),transparent)}
.ss-franq .ssf-seg input:focus-visible + .ssf-box{box-shadow:0 0 0 4px rgba(26,40,86,.14)}

/* Autocompletado de municipio */
.ss-franq .ssf-auto{list-style:none; margin:4px 0 0; padding:6px; position:absolute; top:100%; left:0; right:0; z-index:20;
  background:var(--papel); border:1px solid var(--linea); border-radius:11px; box-shadow:var(--sombra); max-height:220px; overflow:auto}
.ss-franq .ssf-auto li{padding:9px 11px; border-radius:8px; cursor:pointer; font-size:14px}
.ss-franq .ssf-auto li:hover,.ss-franq .ssf-auto li.ssf-hi{background:var(--nube)}

/* Pie y botones */
.ss-franq .ssf-foot{display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:28px; flex-wrap:wrap}
.ss-franq .ssf-foot.ssf-center{justify-content:center}
.ss-franq .ssf-btn{font:inherit; font-weight:700; font-size:15px; border-radius:12px; padding:13px 24px; cursor:pointer; border:0;
  transition:transform .15s, box-shadow .15s; text-decoration:none; display:inline-block; text-align:center}
.ss-franq .ssf-btn.ssf-primary{background:var(--marino); color:#fff; box-shadow:0 12px 26px -12px rgba(26,40,86,.8)}
.ss-franq .ssf-btn.ssf-gold{background:var(--oro); color:var(--marino); box-shadow:0 12px 26px -12px rgba(200,164,21,.8)}
.ss-franq .ssf-btn.ssf-ghost{background:transparent; color:var(--suave); border:1.5px solid var(--linea)}
.ss-franq .ssf-btn:hover{transform:translateY(-2px)}
.ss-franq .ssf-btn[disabled]{opacity:.6; cursor:wait; transform:none}
.ss-franq .ssf-reassure{font-size:12.5px; color:var(--suave); display:flex; align-items:center; gap:7px; margin:0}
.ss-franq .ssf-reassure.ssf-center{justify-content:center; margin-top:14px}

/* Resultado / planes */
.ss-franq .ssf-result-head{text-align:center; margin-bottom:26px}
.ss-franq .ssf-tag{display:inline-flex; gap:7px; align-items:center; background:rgba(46,125,91,.12); color:var(--musgo);
  font-weight:700; font-size:13px; padding:6px 14px; border-radius:999px; margin-bottom:12px}
.ss-franq .ssf-plans{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; align-items:start}
.ss-franq .ssf-plan{border:1.5px solid var(--linea); border-radius:16px; padding:22px 20px; background:var(--papel);
  position:relative; display:flex; flex-direction:column; gap:14px; transition:.2s}
.ss-franq .ssf-plan:hover{transform:translateY(-3px); box-shadow:var(--sombra)}
.ss-franq .ssf-plan.ssf-best{border-color:var(--oro); box-shadow:0 20px 44px -22px rgba(200,164,21,.55)}
.ss-franq .ssf-ribbon{position:absolute; top:-12px; left:50%; transform:translateX(-50%); background:var(--oro);
  color:var(--marino); font-size:11.5px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; padding:5px 14px; border-radius:999px; white-space:nowrap}
.ss-franq .ssf-plan h3{margin:0; font-size:17px; font-family:var(--display)}
.ss-franq .ssf-price{font-family:var(--display); font-size:34px; font-weight:700; line-height:1; font-variant-numeric:tabular-nums}
.ss-franq .ssf-price span{font-size:15px; color:var(--suave)}
.ss-franq .ssf-permo{font-size:12.5px; color:var(--suave); margin-top:-8px}
.ss-franq .ssf-plan ul{list-style:none; margin:0; padding:0; display:grid; gap:9px; font-size:13.5px}
.ss-franq .ssf-plan li{display:flex; gap:9px; align-items:flex-start}
.ss-franq .ssf-plan li::before{content:"✓"; color:var(--musgo); font-weight:800; flex:none}

.ss-franq .ssf-safebar{display:flex; justify-content:center; gap:24px; flex-wrap:wrap; margin-top:26px; font-size:12.5px; color:var(--suave)}

/* Recuadro dorado de resumen del plan elegido (paso 4) */
.ss-franq .ssf-elegido{
  display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap;
  border:1.5px solid var(--oro); border-radius:16px; padding:18px 22px; margin:6px 0 22px;
  background:linear-gradient(0deg,rgba(200,164,21,.1),transparent);
  box-shadow:0 18px 40px -22px rgba(200,164,21,.6);
}
.ss-franq .ssf-el-tag{display:inline-block; background:var(--oro); color:var(--marino);
  font-size:11px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; padding:4px 12px; border-radius:999px; margin-bottom:8px}
.ss-franq .ssf-el-info h3{margin:0; font-family:var(--display); font-size:20px; color:var(--tinta)}
.ss-franq .ssf-el-precio{text-align:right}
.ss-franq .ssf-el-precio .ssf-price{font-size:30px}

/* Éxito */
.ss-franq .ssf-ok{text-align:center; padding:14px 0}
.ss-franq .ssf-seal{width:76px; height:76px; border-radius:50%; background:linear-gradient(135deg,var(--musgo),#3fa06f);
  color:#fff; display:grid; place-items:center; font-size:38px; margin:0 auto 18px; box-shadow:0 14px 30px -12px rgba(46,125,91,.7)}
.ss-franq .ssf-poliza{display:inline-block; margin:14px 0 20px; font-family:var(--display); font-size:22px;
  background:var(--nube); border:1px dashed var(--linea); padding:12px 22px; border-radius:12px; letter-spacing:.04em}

/* Error */
.ss-franq .ssf-error{margin-top:18px; padding:13px 16px; border-radius:11px; background:rgba(192,57,43,.1);
  border:1px solid rgba(192,57,43,.4); color:var(--rubi); font-size:14px}

/* Botones de documentos en la pantalla de éxito */
.ss-franq .ssf-ok-docs{display:flex; gap:10px; justify-content:center; flex-wrap:wrap}

/* Tarjeta de documento legal (PDF) */
.ss-franq .ssf-doc{display:flex; align-items:center; gap:12px;
  padding:14px 16px; border:1px solid var(--linea); border-radius:12px; background:var(--papel);
  color:var(--tinta); text-decoration:none; font-size:13.5px; font-weight:600; line-height:1.35;
  transition:border-color .15s, transform .15s, box-shadow .15s}
.ss-franq .ssf-doc:hover{border-color:var(--oro); transform:translateY(-2px); box-shadow:var(--sombra)}
.ss-franq .ssf-doc-ico{flex:none; color:var(--oro-2); display:grid; place-items:center}
.ss-franq .ssf-doc-txt{display:block}
.ss-franq .ssf-doc-pie{display:block; margin-top:3px; font-size:12px; font-weight:600; color:var(--suave)}

/* Sección de coberturas */
.ss-franq .ssf-cov{margin-top:44px}
.ss-franq .ssf-cov-title{font-family:var(--sans); font-size:1.9rem; font-weight:800; letter-spacing:-.02em; line-height:1.15; margin:0 0 8px; text-align:left; color:var(--marino)}
.ss-franq .ssf-cov-sub{color:var(--suave); text-align:left; margin:0 0 26px; font-size:15px}
.ss-franq .ssf-cov-h3{font-family:var(--display); font-size:19px; margin:26px 0 12px; color:var(--marino)}
.ss-franq .ssf-cov-scroll{overflow-x:auto; border:1px solid var(--linea); border-radius:14px}
.ss-franq .ssf-cov-table{width:100%; border-collapse:collapse; font-size:13.5px; min-width:640px}
.ss-franq .ssf-cov-table th,.ss-franq .ssf-cov-table td{padding:12px 14px; text-align:center; border-bottom:1px solid var(--linea)}
.ss-franq .ssf-cov-table thead th{background:linear-gradient(135deg,var(--marino),var(--marino-2)); color:#fff;
  font-size:11.5px; text-transform:uppercase; letter-spacing:.03em; font-weight:700; vertical-align:bottom}
.ss-franq .ssf-cov-table thead th.ssf-cov-cab{background:var(--marino)}
.ss-franq .ssf-cov-table tbody th{text-align:left; font-weight:600; color:var(--tinta); background:var(--nube)}
.ss-franq .ssf-cov-table tbody tr:last-child th,.ss-franq .ssf-cov-table tbody tr:last-child td{border-bottom:0}
.ss-franq .ssf-cov-si{color:var(--musgo); font-weight:800; font-size:16px}
.ss-franq .ssf-cov-no{color:var(--linea); font-weight:800}
.ss-franq .ssf-cov-op{color:var(--oro-2); font-weight:700; font-size:11.5px; text-transform:uppercase; letter-spacing:.02em}

/* Portada (hero) estilo landing, con imagen de fondo y overlay marino */
.ss-franq .ssf-intro{
  background:linear-gradient(rgba(26,40,86,.62),rgba(26,40,86,.72)),
    url(hero-caravanas.jpg) center/cover no-repeat;
  color:#fff; border-radius:22px; padding:76px 46px; box-shadow:var(--sombra); overflow:hidden;
}
.ss-franq .ssf-intro-eyebrow{display:inline-block; color:var(--oro); font-size:.75rem; font-weight:600;
  letter-spacing:.18em; text-transform:uppercase; margin-bottom:18px;
  border-bottom:2px solid var(--oro); padding-bottom:5px}
.ss-franq .ssf-intro-title{font-family:var(--display); font-weight:800; font-size:clamp(1.9rem,4vw,2.8rem);
  line-height:1.12; letter-spacing:-.02em; margin:0 0 16px; color:#fff; max-width:720px; text-wrap:balance}
.ss-franq .ssf-intro-lead{font-size:1.08rem; color:#cfd6e6; max-width:650px; line-height:1.6; margin:0 0 30px}
.ss-franq .ssf-intro-cta-wrap{display:flex; flex-direction:column; align-items:flex-start; gap:10px}
.ss-franq .ssf-cta{background:var(--oro); color:var(--marino); font-weight:800; font-size:18px;
  border:0; border-radius:14px; padding:18px 44px; cursor:pointer;
  box-shadow:0 14px 34px -10px rgba(200,164,21,.85); transition:transform .15s, box-shadow .15s}
.ss-franq .ssf-cta:hover{transform:translateY(-2px) scale(1.02); box-shadow:0 20px 42px -10px rgba(200,164,21,.95)}
.ss-franq .ssf-cta-note{font-size:12.5px; color:#c3ccdf}
.ss-franq .ssf-intro-trust{display:flex; flex-wrap:wrap; gap:10px 24px; margin-top:28px;
  font-size:13.5px; color:#dbe1ee; font-weight:600}
.ss-franq .ssf-cta-final{text-align:center; margin:44px 0 8px; display:flex; flex-direction:column; align-items:center; gap:9px}
.ss-franq .ssf-cta-final .ssf-cta-note{color:var(--suave)}

/* ---- Secciones editoriales (mismo lenguaje que las landings ss-*) ---- */
.ss-franq .ssf-ic{vertical-align:-3px}
.ss-franq .ssf-kicker{display:block;font-size:11.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--oro-2);margin:0 0 10px}
.ss-franq .ssf-kicker::before{content:"";display:inline-block;width:22px;height:2px;background:var(--oro);margin-right:10px;vertical-align:4px}
.ss-franq .ssf-kicker-luz{color:var(--oro)}
.ss-franq .ssf-intro-texto{max-width:760px;margin:0;text-align:left;color:var(--suave);font-size:15.5px;line-height:1.7}

/* Banda de datos: cifra grande + etiqueta, con filetes (como la home) */
.ss-franq .ssf-stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:34px;border-top:1px solid var(--linea);border-bottom:1px solid var(--linea);padding:26px 0}
.ss-franq .ssf-stat{text-align:center;padding:0 18px;border-right:1px solid var(--linea)}
.ss-franq .ssf-stat:last-child{border-right:0}
.ss-franq .ssf-stat-big{display:block;font-family:var(--display);font-size:27px;font-weight:700;color:var(--marino);line-height:1.1}
.ss-franq .ssf-stat-lbl{display:block;margin-top:6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--suave);font-weight:600}

/* Banda azul marino de coberturas (patrón ss-section-navy de la web) */
.ss-franq .ssf-navy{margin-top:56px;background:linear-gradient(135deg,var(--marino) 0%,var(--marino-2) 100%);border-radius:22px;padding:46px 44px;color:#fff}
.ss-franq .ssf-navy-title{font-size:1.9rem;font-weight:800;letter-spacing:-.02em;line-height:1.15;color:#fff;margin:0 0 8px}
.ss-franq .ssf-navy-sub{color:#b0bec5;margin:0 0 30px;font-size:15px;max-width:640px}
.ss-franq .ssf-navy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px 34px}
.ss-franq .ssf-navy-item{display:flex;gap:14px;align-items:flex-start}
.ss-franq .ssf-navy-ico{flex:none;width:30px;height:30px;border:1px solid rgba(200,164,21,.55);border-radius:50%;display:grid;place-items:center;color:var(--oro)}
.ss-franq .ssf-navy-item h3{margin:0 0 4px;font-size:15.5px;font-weight:700;color:#fff}
.ss-franq .ssf-navy-item p{margin:0;font-size:13.5px;color:#b0bec5;line-height:1.55}

/* Pasos: numeración editorial sobre filete marino */
.ss-franq .ssf-pasos{margin-top:56px}
.ss-franq .ssf-pasos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin-top:10px}
.ss-franq .ssf-paso{border-top:2px solid var(--marino);padding-top:18px}
.ss-franq .ssf-paso-num{font-family:var(--display);font-size:38px;font-weight:700;color:var(--oro);line-height:1;margin-bottom:10px}
.ss-franq .ssf-paso h3{margin:0 0 6px;font-size:16px;font-weight:700;color:var(--tinta)}
.ss-franq .ssf-paso p{margin:0;font-size:13.5px;color:var(--suave);line-height:1.6}

/* Casos de uso: lista editorial numerada, sin cajas */
.ss-franq .ssf-casos{margin-top:56px}
.ss-franq .ssf-casos-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px 40px;margin-top:10px}
.ss-franq .ssf-caso{border-top:1px solid var(--linea);padding-top:16px;display:grid;grid-template-columns:52px 1fr}
.ss-franq .ssf-caso-num{grid-row:1/3;font-family:var(--display);font-size:26px;font-weight:700;color:var(--oro);line-height:1.2}
.ss-franq .ssf-caso h3{margin:0 0 5px;font-size:16px;font-weight:700;color:var(--tinta)}
.ss-franq .ssf-caso p{margin:0;font-size:13.5px;color:var(--suave);line-height:1.6}

/* Por qué Sure Service */
.ss-franq .ssf-porque{margin-top:56px}
.ss-franq .ssf-porque-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px 40px;margin-top:10px}
.ss-franq .ssf-porque-item{border-left:2px solid var(--oro);padding:2px 0 2px 18px}
.ss-franq .ssf-porque-item h3{margin:0 0 5px;font-size:15.5px;font-weight:700;color:var(--marino)}
.ss-franq .ssf-porque-item p{margin:0;font-size:13.5px;color:var(--suave);line-height:1.6}

/* FAQ: acordeón con filetes, sin cajas */
.ss-franq .ssf-faq{margin-top:56px}
.ss-franq .ssf-faq-list{margin-top:8px;border-top:1px solid var(--linea)}
.ss-franq .ssf-faq-item{border-bottom:1px solid var(--linea)}
.ss-franq .ssf-faq-item summary{cursor:pointer;padding:17px 34px 17px 2px;font-weight:600;font-size:15px;color:var(--tinta);list-style:none;position:relative}
.ss-franq .ssf-faq-item summary::-webkit-details-marker{display:none}
.ss-franq .ssf-faq-item summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-52%);color:var(--oro-2);font-size:22px;font-weight:400;transition:transform .25s ease}
.ss-franq .ssf-faq-item[open] summary::after{transform:translateY(-52%) rotate(45deg)}
.ss-franq .ssf-faq-a{padding:0 34px 18px 2px;font-size:14px;color:var(--suave);line-height:1.65}

/* Enlaces cruzados: texto subrayado en oro, sin botones */
.ss-franq .ssf-cross{margin-top:56px}
.ss-franq .ssf-cross-links{display:flex;flex-wrap:wrap;gap:14px 34px;margin-top:8px}
.ss-franq .ssf-cross-links a{color:var(--marino);text-decoration:none;font-weight:700;font-size:15px;border-bottom:2px solid var(--oro);padding-bottom:3px;transition:color .15s}
.ss-franq .ssf-cross-links a::after{content:" \2192"}
.ss-franq .ssf-cross-links a:hover{color:var(--oro-2)}

/* Aviso (motor de tarificación pendiente) */
.ss-franq .ssf-aviso{margin-top:20px;padding:16px 18px;border-radius:12px;background:rgba(200,164,21,.1);border:1px solid rgba(200,164,21,.4);color:var(--tinta);font-size:14.5px;line-height:1.55}
.ss-franq .ssf-aviso a{color:var(--oro-2);font-weight:700}

/* Confianza en hero y barra de garantías, sin emojis */
.ss-emp .ssf-hero-trust{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:26px;font-size:.85rem;color:#dbe1ee;font-weight:600}
.ss-emp .ssf-hero-trust span{display:inline-flex;align-items:center;gap:12px}
.ss-emp .ssf-hero-trust span+span::before{content:"";width:4px;height:4px;border-radius:50%;background:#c8a415;display:inline-block}
.ss-franq .ssf-safebar span+span::before{content:"\00B7";color:var(--oro);margin-right:10px;font-weight:700}

/* Acento serif cursiva en titulares (toque editorial de marca) */
.ss-emp .ssf-acc,.ss-franq .ssf-acc{font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;font-style:italic;font-weight:500;color:#c8a415;letter-spacing:0}

/* Línea editorial corta bajo el nombre de cada plan */
.ss-franq .ssf-plan-tag{font-size:12.5px;color:var(--suave);margin-top:-8px;line-height:1.4}
.ss-franq .ssf-plans-two{grid-template-columns:repeat(2,1fr);max-width:760px;margin-left:auto;margin-right:auto}
.ss-franq .ssf-plans-nota{grid-column:1/-1;font-size:13px;color:var(--suave);background:var(--nube);border:1px solid var(--linea);border-radius:10px;padding:10px 14px}

/* Foco visible en botones y acordeones (accesibilidad) */
.ss-franq .ssf-btn:focus-visible{outline:3px solid rgba(200,164,21,.55);outline-offset:2px}
.ss-franq .ssf-faq-item summary:focus-visible{outline:2px solid rgba(200,164,21,.55);outline-offset:2px;border-radius:6px}

/* Tablas comparativas: primera columna fija al hacer scroll lateral */
.ss-franq .ssf-cov-table thead th.ssf-cov-cab,.ss-franq .ssf-cov-table tbody th{position:sticky;left:0;z-index:2}

/* Barra CTA fija en móvil */
.ss-franq .ssf-mobilecta{display:none}
body.ssf-form-open .ss-franq .ssf-mobilecta{display:none !important}

@media (max-width:820px){
  .ss-franq .ssf-stats{grid-template-columns:repeat(2,1fr); gap:18px 0}
  .ss-franq .ssf-stat:nth-child(2){border-right:0}
  .ss-franq .ssf-navy{padding:32px 24px}
  .ss-franq .ssf-navy-grid{grid-template-columns:1fr}
  .ss-franq .ssf-porque-grid{grid-template-columns:1fr}
  .ss-franq .ssf-grid{grid-template-columns:1fr}
  .ss-franq .ssf-plans{grid-template-columns:1fr}
  .ss-franq .ssf-pasos-grid,.ss-franq .ssf-casos-grid{grid-template-columns:1fr}
  .ss-franq .ssf-lbl{display:none}
  .ss-franq .ssf-st{min-width:0}
  .ss-franq .ssf-intro{padding:48px 26px}
  .ss-franq .ssf-doc{min-width:0}
  .ss-franq .ssf-mobilecta{display:block;position:fixed;left:0;right:0;bottom:0;z-index:80;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:var(--papel);border-top:1px solid var(--linea);box-shadow:0 -10px 30px -14px rgba(26,40,86,.4)}
  .ss-franq .ssf-mobilecta .ssf-btn{width:100%}
}
@media (prefers-reduced-motion:reduce){.ss-franq *{animation:none!important; transition:none!important}}

/* Selector de tipo de tomador: particular o empresa. Esquinas rectas, como
   el resto de componentes editoriales del sitio. */
.ss-franq .ssf-tipos{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 24px}
.ss-franq .ssf-tipo{position:relative;cursor:pointer}
.ss-franq .ssf-tipo input{position:absolute;opacity:0;width:0;height:0}
.ss-franq .ssf-tipo span{
  display:block;padding:16px 18px;border:1.5px solid var(--linea);
  background:var(--papel);transition:border-color .15s,background .15s;
}
.ss-franq .ssf-tipo strong{display:block;font-size:15px;color:var(--tinta)}
.ss-franq .ssf-tipo small{display:block;font-size:12.5px;color:var(--suave);margin-top:3px}
.ss-franq .ssf-tipo input:checked + span{border-color:var(--oro);background:#fffdf5}
.ss-franq .ssf-tipo input:focus-visible + span{outline:2px solid var(--marino);outline-offset:2px}
@media(max-width:560px){.ss-franq .ssf-tipos{grid-template-columns:1fr}}

/* Pantallas de resultado: son el momento en que el cliente necesita leer sin
   esfuerzo, así que el cuerpo va más grande que en el resto del formulario. */
.ss-franq .ssf-ok{text-align:center;padding:16px 8px 8px;max-width:640px;margin:0 auto}
.ss-franq .ssf-ok-icon{color:var(--musgo);margin:0 0 18px}
.ss-franq .ssf-ko .ssf-ok-icon{color:var(--rubi)}
.ss-franq .ssf-ok-title{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:800;color:var(--marino);
  letter-spacing:-.02em;line-height:1.15;margin:0 0 14px}
.ss-franq .ssf-ok-lead{font-size:1.12rem;line-height:1.6;color:var(--tinta);margin:0 0 22px}
.ss-franq .ssf-ok-datos{background:var(--nube);padding:18px 20px;margin:0 0 22px;text-align:left}
.ss-franq .ssf-ok-datos dt{font-size:.8rem;color:var(--suave);letter-spacing:.04em;text-transform:uppercase}
.ss-franq .ssf-ok-datos dd{margin:2px 0 14px;font-size:1.02rem;color:var(--tinta);font-weight:600}
.ss-franq .ssf-ok-datos dd:last-child{margin-bottom:0}
.ss-franq .ssf-ok-nota{font-size:.95rem;line-height:1.6;color:var(--suave);margin:0 0 16px}
.ss-franq .ssf-ok-docs{display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:center;margin-top:22px}
.ss-franq .ssf-ok-docs a{color:var(--marino);font-weight:700;font-size:.95rem;
  border-bottom:2px solid var(--oro);padding-bottom:3px;text-decoration:none}
.ss-franq .ssf-foot.ssf-center{justify-content:center}

/* Documentación al pie de la landing */
.ss-franq .ssf-docs{margin-top:48px}
.ss-franq .ssf-docs-list{display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr));
  gap:14px; margin-top:18px}

/* Listas de exclusiones: mismo aire que los párrafos del contenido. */
.ss-franq .ssf-lista{margin:0 0 22px;padding-left:20px}
.ss-franq .ssf-lista li{margin-bottom:8px;line-height:1.6;color:var(--tinta)}

/* Comparativa con el mostrador */
.ss-franq .ssf-comparativa .ssf-tabla td:nth-child(3){color:var(--marino)}
.ss-franq .ssf-comparativa .ssf-tabla td:last-child{color:var(--musgo);font-weight:700}
.ss-franq .ssf-nota{font-size:12.5px;color:var(--suave)}

/* Cuándo llega la póliza. Es una promesa con hora concreta, no una advertencia:
   por eso va en tono informativo y no en rojo de alerta. */
.ss-franq .ssf-entrega{background:var(--nube); border-left:3px solid var(--oro);
  border-radius:0 10px 10px 0; padding:14px 16px; margin:18px 0 0}
.ss-franq .ssf-entrega-t{margin:0; font-size:14.5px; color:var(--tinta)}
.ss-franq .ssf-entrega-d{margin:4px 0 0; font-size:13px; color:var(--suave)}
/* Esto otro sí es una advertencia, y solo aparece cuando la póliza llegaría
   después de que el cliente recoja el coche. */
.ss-franq .ssf-alerta{background:rgba(192,57,43,.07); border:1.5px solid var(--rubi);
  border-radius:12px; padding:14px 16px; margin:14px 0 0; font-size:14px; line-height:1.55; color:var(--tinta)}
/* La aceptación de cuándo empieza la cobertura limita un derecho del asegurado,
   así que va destacada y separada de la aceptación genérica de condiciones. */
/* Aceptaciones. Cada una en su línea: son dos decisiones distintas y el cliente
   tiene que poder distinguirlas de un vistazo. Sin esto los <label> se colocan
   en línea, uno detrás de otro, y parecen un solo párrafo. */
.ss-franq .ssf-legal{margin:18px 0 0; padding:16px 18px; background:var(--nube);
  border:1px solid var(--linea); border-radius:12px}
.ss-franq .ssf-check{display:flex; align-items:flex-start; gap:11px; cursor:pointer;
  font-size:13.5px; line-height:1.55; color:var(--suave)}
.ss-franq .ssf-check input[type=checkbox]{flex:none; width:18px; height:18px; margin:1px 0 0;
  accent-color:var(--marino); cursor:pointer}
.ss-franq .ssf-check a{color:var(--marino); font-weight:600}
.ss-franq .ssf-check-clave{margin-top:14px; padding-top:14px; border-top:1px solid var(--linea)}
.ss-franq .ssf-check-clave span{color:var(--tinta)}
/* Nota informativa bajo las casillas. Esquinas rectas: la guía de estilo
   prohíbe el border-radius en cajas informativas. */
.ss-franq .ssf-consent-nota{margin:12px 0 0; padding-top:12px;
  border-top:1px solid var(--linea); font-size:12.5px; line-height:1.5;
  color:var(--suave)}
.ss-franq .ssf-consent-capa1{margin:9px 0 0; font-size:11.5px; line-height:1.5; color:var(--suave)}
.ss-franq .ssf-consent-capa1 strong{color:var(--tinta); font-weight:600}
.ss-franq .ssf-consent-capa1 a{color:var(--marino)}

/* ── Justificante de contratación ──────────────────────────────────────────
   Documento, no landing: fondo neutro, datos en tabla y pensado para que al
   imprimirlo salga limpio, porque mucha gente lo va a llevar en papel. */
.ss-franq.ssf-just{max-width:820px}
.ss-franq .ssf-just-doc{background:var(--papel); border:1px solid var(--linea);
  border-radius:var(--radio); padding:34px 38px; box-shadow:var(--sombra)}
.ss-franq .ssf-just-head{display:flex; justify-content:space-between; align-items:flex-start;
  gap:20px; flex-wrap:wrap; padding-bottom:18px; border-bottom:2px solid var(--marino)}
.ss-franq .ssf-just-marca{margin:0; font-weight:800; color:var(--marino); font-size:16px}
.ss-franq .ssf-just-sub{margin:3px 0 0; font-size:12.5px; color:var(--suave)}
.ss-franq .ssf-just-ref{text-align:right}
.ss-franq .ssf-just-ref span{display:block; font-size:11px; text-transform:uppercase;
  letter-spacing:.08em; color:var(--suave)}
.ss-franq .ssf-just-ref strong{font-size:19px; color:var(--marino); letter-spacing:.02em}

.ss-franq .ssf-just-estado{display:flex; align-items:center; gap:12px; margin:22px 0 0;
  padding:14px 16px; border-radius:12px; background:rgba(46,125,91,.1); color:var(--musgo)}
.ss-franq .ssf-just-estado strong{display:block; font-size:15.5px}
.ss-franq .ssf-just-estado span{font-size:13px; color:var(--suave)}

.ss-franq .ssf-just-aviso{margin:16px 0 0; padding:14px 16px; font-size:14px; line-height:1.6;
  background:var(--nube); border-left:3px solid var(--oro); border-radius:0 10px 10px 0}
.ss-franq .ssf-just-h2{font-family:var(--display); font-size:22px; margin:26px 0 14px; color:var(--tinta)}

.ss-franq .ssf-just-tabla{width:100%; border-collapse:collapse; font-size:14px}
.ss-franq .ssf-just-tabla th{text-align:left; font-weight:600; color:var(--suave);
  padding:9px 14px 9px 0; width:38%; vertical-align:top; border-bottom:1px solid var(--linea)}
.ss-franq .ssf-just-tabla td{padding:9px 0; color:var(--tinta); border-bottom:1px solid var(--linea)}
.ss-franq .ssf-just-tabla tr.ssf-just-sep th,.ss-franq .ssf-just-tabla tr.ssf-just-sep td{padding-top:18px}
.ss-franq .ssf-just-tabla tr.ssf-just-total th,.ss-franq .ssf-just-tabla tr.ssf-just-total td{
  font-weight:800; color:var(--marino); font-size:15.5px; border-bottom:0; padding-top:14px}

.ss-franq .ssf-just-cajas{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:18px; margin-top:26px}
.ss-franq .ssf-just-cajas h3{margin:0 0 6px; font-size:14.5px; color:var(--marino)}
.ss-franq .ssf-just-cajas p{margin:0; font-size:13.5px; line-height:1.6; color:var(--suave)}
.ss-franq .ssf-just-docs{display:flex; flex-wrap:wrap; gap:12px 26px; margin-top:24px;
  padding-top:18px; border-top:1px solid var(--linea)}
.ss-franq .ssf-just-docs a{color:var(--marino); font-weight:700; font-size:14px;
  text-decoration:none; border-bottom:2px solid var(--oro); padding-bottom:2px}
.ss-franq .ssf-just-pie{margin:22px 0 0; font-size:12.5px; line-height:1.6; color:var(--suave)}
.ss-franq .ssf-just-acciones{display:flex; gap:12px; flex-wrap:wrap; margin-top:22px; justify-content:center}

@media print{
  /* Al imprimir solo debe salir el justificante. Sin esto se lleva por delante
     el menú de Divi, la barra lateral del blog y el pie, y el cliente acaba con
     cuatro folios de los que uno es su documento. Se oculta todo por
     visibilidad y se rescata solo este bloque: funciona con cualquier tema,
     sin tener que ir persiguiendo los identificadores de Divi. */
  body *{visibility:hidden !important}
  .ss-franq.ssf-just, .ss-franq.ssf-just *{visibility:visible !important}
  .ss-franq.ssf-just{position:absolute !important; left:0; top:0; width:100%;
    max-width:none; margin:0; padding:0}
  .ss-franq .ssf-just-acciones{display:none !important}
  .ss-franq .ssf-just-doc{border:0; box-shadow:none; padding:0; background:#fff}
  .ss-franq .ssf-just-estado{background:transparent; border:1px solid #999; color:#000}
  .ss-franq .ssf-just-doc, .ss-franq .ssf-just-tabla td, .ss-franq .ssf-just-tabla th{color:#000}
  /* Que no parta la tabla de datos ni las cajas entre dos hojas. */
  .ss-franq .ssf-just-tabla, .ss-franq .ssf-just-cajas>div{break-inside:avoid; page-break-inside:avoid}
  @page{margin:14mm}
}

/* Campo con un dato que no cuadra. */
.ss-franq .ssf-field.ssf-mal input,.ss-franq .ssf-field.ssf-mal select{
  border-color:var(--rubi); background:rgba(192,57,43,.04)}
.ss-franq .ssf-field.ssf-mal label{color:var(--rubi)}

/* Formulario de pago incrustado. Va debajo del resumen, dentro de la misma
   pantalla, para que el cliente no pierda de vista lo que está contratando. */
.ss-franq .ssf-pago{margin-top:26px; padding-top:24px; border-top:2px solid var(--linea)}
.ss-franq .ssf-pago-head{display:flex; align-items:baseline; justify-content:space-between;
  gap:14px; flex-wrap:wrap; margin-bottom:16px}
.ss-franq .ssf-pago-head h3{margin:0; font-family:var(--display); font-size:20px; color:var(--tinta)}
.ss-franq .ssf-pago-volver{background:none; border:0; padding:0; cursor:pointer; font:inherit;
  font-size:13.5px; font-weight:600; color:var(--marino); text-decoration:underline;
  text-underline-offset:3px; text-decoration-color:var(--oro)}
.ss-franq .ssf-pago-volver:hover{color:var(--oro-2)}
.ss-franq .ssf-pago-seguro{display:flex; align-items:center; justify-content:center; gap:8px;
  margin:18px 0 0; font-size:12.5px; color:var(--suave)}
.ss-franq .ssf-pago-seguro svg{flex:none; color:var(--musgo)}
