/* FraVEO Datos · estilos base. Cada tema hijo cambia solo las variables de :root.
   Regla de marca: tarjetas SIEMPRE con bordes redondeados. */
:root{--fv-acento:#FF6B1A;--fv-oscuro:#0B1B3F;--fv-texto:#22303F;--fv-suave:#677487;--fv-linea:#E6EBF2;--fv-radio:18px}

.fv-ejemplo{background:#FFF4CC;color:#7A5200;text-align:center;font-size:13px;font-weight:700;padding:8px 16px;border-bottom:1px solid #F0D98A}

/* Tabla de precios */
.fv-tabla{overflow-x:auto;margin:1.5em 0}
.fv-tabla table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--fv-linea);border-radius:var(--fv-radio);overflow:hidden;font-size:15px}
.fv-tabla th,.fv-tabla td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--fv-linea)}
.fv-tabla th{background:var(--fv-oscuro);color:#fff;font-weight:700}
.fv-tabla tr:last-child td{border-bottom:0}
.fv-tabla .fv-n{font-weight:800;color:var(--fv-oscuro)}
.fv-nota{font-size:13px;color:var(--fv-suave);margin-top:10px}

/* Calculadora */
.fv-calc{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;background:#fff;border:1px solid var(--fv-linea);border-radius:24px;padding:26px;box-shadow:0 24px 50px -28px rgba(11,27,63,.45)}
.fv-f{margin-bottom:16px}
.fv-f label{display:flex;justify-content:space-between;font-size:13px;font-weight:800;color:var(--fv-suave);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}
.fv-f label b{color:var(--fv-texto);text-transform:none}
.fv-dg{display:flex;flex-wrap:wrap;gap:8px}
.fv-dg button{border:2px solid var(--fv-linea);background:#fff;border-radius:999px;padding:8px 14px;font-weight:700;font-size:13px;cursor:pointer;color:var(--fv-texto)}
.fv-dg button.on{border-color:var(--fv-acento);background:#FFF1E8;color:#C2410C}
.fv-f input[type=range]{width:100%;accent-color:var(--fv-acento)}
.fv-res{background:var(--fv-oscuro);color:#fff;border-radius:20px;padding:24px;text-align:center}
.fv-res small{opacity:.75}
.fv-tot{font-size:46px;font-weight:800;color:#FFD08A;line-height:1.1;margin:6px 0}
.fv-pd{opacity:.85;margin-bottom:14px}
.fv-btn{display:block;background:var(--fv-acento);color:#fff!important;border-radius:999px;padding:13px 20px;font-weight:800;text-decoration:none}
.fv-res .fv-n{font-size:12px;opacity:.65;margin-top:10px}

/* Tarjetas de destino */
.fv-destinos{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.fv-dc{position:relative;display:flex;flex-direction:column;justify-content:flex-end;height:300px;border-radius:var(--fv-radio);overflow:hidden;color:#fff;text-decoration:none;padding:16px;background:linear-gradient(160deg,#5B8DEF,#1B2A4E)}
.fv-dc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fv-dc:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.75))}
.fv-dc>span{position:relative;z-index:2}
.fv-badge{position:absolute!important;top:12px;left:12px;font-size:11px;font-weight:800;border-radius:999px;padding:5px 10px;color:#fff}
.fv-badge.req{background:#E5372B}.fv-badge.rec{background:#1257F5}.fv-badge.ok{background:#16A34A}
.fv-dc-txt b{display:block;font-size:19px}
.fv-dc-txt small{font-size:13px;opacity:.9}

.fv-promos{display:flex;flex-wrap:wrap;gap:10px}
.fv-promos span{background:#FFF1E8;color:#C2410C;border-radius:999px;padding:6px 14px;font-weight:700;font-size:14px}

@media(max-width:900px){.fv-calc{grid-template-columns:1fr}.fv-destinos{grid-template-columns:1fr 1fr}}
