.freteflex { --accent:#126b70; }
.freteflex :focus-visible { outline:3px solid #126b70; outline-offset:4px; }
.freteflex .footer :focus-visible,.freteflex .band :focus-visible { outline-color:#9be0e2; }
.freteflex .eyebrow { display:inline-block; margin-bottom:16px; }
.freteflex .band .eyebrow { color:#9be0e2; }
.freteflex h1 { font-size:clamp(2.6rem,4.6vw,4.6rem); }
.freteflex .hero-grid { grid-template-columns:1.05fr .95fr; gap:40px; }
.freteflex .nav { gap:16px; }
.freteflex .nav-links { gap:12px; }
.freteflex .nav-links a { font-size:.86rem; }
.freteflex .nav-links [aria-current] { color:#126b70; font-weight:800; }
.ff-note { margin-top:24px; }
.ff-tint { background:#eaf1f5; }
.ff-console { margin:0; background:#fff; color:#142033; border:1px solid #ccdce5; border-radius:20px; overflow:hidden; box-shadow:0 24px 60px #0f35571c; min-width:0; }
.ff-console-top { background:#0f3557; color:#fff; padding:18px 22px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; }
.ff-console-body { padding:24px; }
.ff-route { display:flex; justify-content:space-between; gap:16px; border-bottom:1px solid #dbe4ec; padding-bottom:20px; font-size:.85rem; flex-wrap:wrap; }
.ff-route strong { font-size:.95rem; }
.ff-result { margin-top:20px; font-size:.9rem; font-weight:700; }
.ff-ranking { display:grid; gap:10px; }
.ff-ranking>div { display:flex; align-items:center; justify-content:space-between; gap:12px; border:1px solid #dbe4ec; padding:15px; border-radius:12px; font-size:.9rem; }
.ff-ranking small { display:block; color:#526273; margin-top:4px; }
.ff-ranking .ff-best { background:#eaf6f1; border-color:#348065; }
.ff-detail { margin-top:18px; display:grid; gap:5px; font-size:.8rem; color:#526273; }
.ff-detail span { display:flex; justify-content:space-between; }
.ff-console figcaption { background:#f3f6f8; padding:12px 22px; font-size:.75rem; color:#526273; }
.freteflex pre { background:#0a2239; color:#e0f4f5; padding:24px; border-radius:16px; overflow:auto; font-size:.9rem; max-width:100%; }
.freteflex .grid-2>* { min-width:0; }
.ff-price dl>div { display:flex; justify-content:space-between; gap:12px; padding:14px 0; border-bottom:1px solid #dbe4ec; }
.ff-price dd { margin:0; font-weight:800; }
.ff-bars { height:150px; display:flex; gap:12px; align-items:flex-end; border-bottom:1px solid #b4c6d2; margin:25px 0; }
.ff-bars span { flex:1; background:#126b70; border-radius:5px 5px 0 0; }
.ff-faq { max-width:880px; }
.ff-faq details { border-bottom:1px solid #b9ccd6; padding:20px 0; }
.ff-faq summary { cursor:pointer; font-size:1.1rem; font-weight:700; }
.ff-faq details p { margin:14px 0 0; }
.freteflex .ff-consent { display:block; font-weight:400; }
.freteflex .ff-consent input { width:auto; margin-right:6px; accent-color:#126b70; }
.freteflex .ff-consent a { text-decoration:underline; }
.freteflex .whatsapp { background:#12633c; }
.skip-link { position:fixed; top:-100px; left:15px; z-index:100; background:#fff; padding:12px; }
.skip-link:focus { top:10px; }
.freteflex section[id] { scroll-margin-top:120px; }
@media(max-width:1150px) { .freteflex .nav-links { display:none; position:absolute; top:100%; left:0; right:0; background:#fff; padding:20px 4%; flex-direction:column; align-items:flex-start; border-bottom:1px solid #dbe4ec; } .freteflex .nav-links.open { display:flex; } .freteflex .menu-toggle { display:block; } }
@media(max-width:800px) { .freteflex .hero-grid { grid-template-columns:1fr; } .freteflex .grid-4 { grid-template-columns:1fr 1fr; } }
@media(max-width:480px) { .freteflex .grid-4 { grid-template-columns:1fr; } .ff-console-body { padding:16px; } .ff-ranking>div { font-size:.8rem; } .freteflex .hero-actions .btn { width:100%; } .freteflex .section { padding:52px 0; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .freteflex .btn { transition:none; } }


.ff-option-type { display:inline-block; margin-top:6px; padding:2px 10px; border-radius:20px; background:#0f3557; color:#fff; font-size:.72rem; font-weight:800; letter-spacing:.04em; }
.ff-option-fob { background:#126b70; }
