/* Estilos mínimos del plugin: funcionan con cualquier tema; el tema Vuelosfera los afina. */
.vf-tp{position:relative;margin:1rem 0;border-radius:14px}
.vf-tp-cargando{position:absolute;inset:0;display:grid;place-items:center;font:500 .9rem/1 system-ui,sans-serif;color:#6b7280;background:linear-gradient(90deg,#f3f4f6 0%,#fafafa 50%,#f3f4f6 100%);background-size:200% 100%;border-radius:14px;animation:vf-brillo 1.4s linear infinite}
@keyframes vf-brillo{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.vf-tp-cargando{animation:none}}
.vf-extras{margin-top:2.5rem}
.vf-bloque{margin:2.5rem 0}
.vf-bloque h2{margin-bottom:.5rem}
.vf-aviso,.vf-nota-precio{font-size:.82rem;color:#6b7280;line-height:1.5}
.vf-tabla-wrap{overflow-x:auto;border:1px solid #e5e7eb;border-radius:14px}
.vf-tabla{width:100%;border-collapse:collapse;font-size:.95rem;margin:0}
.vf-tabla th,.vf-tabla td{padding:.7rem .9rem;text-align:left;border-bottom:1px solid #f0f0f0;white-space:nowrap}
.vf-tabla thead th{background:#0f1b33;color:#fff;font-weight:600}
.vf-tabla .vf-num{font-weight:700;font-variant-numeric:tabular-nums}
.vf-tabla tr.vf-mejor td{background:#ecfdf5}
.vf-tabla tr.vf-mejor .vf-num{color:#15803d}
.vf-btn-mini{display:inline-block;padding:.35rem .8rem;border-radius:999px;background:#dd3232;color:#fff!important;font-weight:600;font-size:.85rem;text-decoration:none}
.vf-grid-rutas{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}
.vf-card-ruta{display:flex;flex-direction:column;border-radius:16px;overflow:hidden;background:#fff;border:1px solid #e5e7eb;text-decoration:none;color:inherit}
.vf-card-media{aspect-ratio:16/10;overflow:hidden;background:#e5e7eb}
.vf-card-img{width:100%;height:100%;object-fit:cover;display:block}
.vf-card-body{display:flex;flex-direction:column;gap:.25rem;padding:.9rem 1rem 1.1rem}
.vf-card-iata{font:700 .75rem/1 ui-monospace,monospace;letter-spacing:.12em;color:#dd3232}
.vf-card-iata i{font-style:normal;opacity:.6}
.vf-card-tit{font-weight:700;font-size:1.05rem}
.vf-card-precio{font-size:.9rem;color:#4b5563}
.vf-ofertas{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.8rem}
.vf-oferta{display:grid;gap:.2rem;padding:1rem;border-radius:14px;border:1px solid #e5e7eb;background:#fff;text-decoration:none;color:inherit}
.vf-oferta-ruta{font:700 .72rem/1 ui-monospace,monospace;letter-spacing:.1em;color:#dd3232}
.vf-oferta-dest{font-weight:700;font-size:1.1rem}
.vf-oferta-fecha{font-size:.85rem;color:#6b7280}
.vf-oferta-precio{font-size:1.35rem;font-weight:800}
.vf-card-ph{display:flex;flex-direction:column;justify-content:flex-end;height:100%;padding:1rem;color:#fff;font-weight:600;background:radial-gradient(120% 90% at 85% 10%,#e700ac55,transparent 60%),linear-gradient(135deg,#0f1b33,#3b1631 60%,#dd3232)}
.vf-card-ph b{font:800 2.4rem/1 ui-monospace,monospace;letter-spacing:.06em;opacity:.9}
.vf-datos td{white-space:normal}.vf-datos th{width:34%;color:#0f1b33;background:#f8fafc}
.vf-faq{border:1px solid #e5e7eb;border-radius:12px;padding:.8rem 1rem;margin:.6rem 0}.vf-faq summary{font-weight:700;cursor:pointer}.vf-faq p{margin:.6rem 0 0}
/* Barra de administración sobre la cabecera fija del tema Vuelosfera (solo con sesión iniciada). */
.admin-bar .cab{top:32px}
@media (max-width:782px){.admin-bar .cab{top:46px}}
@media (max-width:600px){.admin-bar .cab{top:0}}
