@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700;800&family=Inter:wght@400;500;600;700;800&family=Sacramento&display=swap');
/* === Via Optima Trip Planner · tema claro === */
:root{
  color-scheme:light;
  --navy:#12283C;--navy-d:#0C1C2B;--blue:#1D6FB8;--ora:#E8722C;
  --cream:#F6F7F9;--ivory:#FFFFFF;--sand:#eef2f6;--line:#e7ebf0;
  --gold:#E8722C;--gold-d:#C85E1C;--gold-l:#E8722C;      /* acento naranja Via Optima */
  --route:#1D6FB8;--slate:#5F6B72;--ink:#2b3138;--ink2:#5F6B72;
  --forest:#2e9e5b;--safety:#D1341F;--terra:#C0673A;--card:#fff;
}
*{box-sizing:border-box}
body{margin:0;background:var(--cream);color:var(--ink);font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;min-height:100vh;-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4{font-family:'Playfair Display',Georgia,serif;font-weight:800;color:var(--navy);}
a{color:var(--blue);}
/* barra superior */
.nav{display:flex;align-items:center;gap:14px;padding:10px 22px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;}
.nav a.logo{display:inline-flex;align-items:center;text-decoration:none}
.nav img{height:34px;width:auto;display:block;}
.nav .brand{font-family:'Playfair Display',serif;font-weight:800;font-size:16px;color:var(--navy);}
.nav .brand b{color:var(--ora);}
.nav .links{display:flex;gap:4px;margin-left:12px;flex-wrap:wrap;}
.nav .links a{color:var(--navy);text-decoration:none;font-size:13.5px;font-weight:700;padding:7px 12px;border-radius:9px;}
.nav .links a:hover{background:var(--sand);}
.nav .links a.on{background:var(--navy);color:#fff;}
.nav .who{margin-left:12px;font-size:13px;color:var(--slate);}
.nav .who a{color:var(--slate);}
.nav .langsw{display:inline-flex;gap:4px;margin-left:auto}
.nav .langsw button{background:#fff;color:var(--navy);border:1px solid var(--line);border-radius:8px;padding:5px 8px;font:700 11px Inter,sans-serif;cursor:pointer;transition:.15s}
.nav .langsw button:hover{background:var(--sand,#eef2f7)}
.nav .langsw button.on{background:var(--navy);border-color:var(--navy);color:#fff}
.wrap{max-width:1000px;margin:0 auto;padding:22px 18px 70px;}
.crumb{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ora);font-weight:800;}
h1.page-t{color:var(--navy);font-size:30px;margin:4px 0 14px;}
.panel{background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:16px;box-shadow:0 4px 18px rgba(18,40,60,.06);padding:18px 20px;margin-bottom:16px;}
.panel h2{font-size:18px;margin:0 0 4px;color:var(--navy);} .panel .note{color:var(--slate);font-size:13px;margin:0 0 14px;}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;} .grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;}
@media(max-width:600px){.grid2,.grid3{grid-template-columns:1fr;}}
label.f{display:flex;flex-direction:column;gap:5px;font-size:12.5px;font-weight:600;color:var(--ink);}
input,select,textarea{font:inherit;font-family:'Inter';color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:9px;padding:9px 11px;font-size:13.5px;}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(29,111,184,.12);}
.btn{background:var(--ora);color:#fff;border:none;border-radius:11px;padding:11px 18px;font-weight:800;font-family:'Inter';cursor:pointer;font-size:14px;text-decoration:none;display:inline-flex;align-items:center;gap:6px;} .btn:hover{background:var(--gold-d);color:#fff;}
.btn.ghost{background:transparent;border:1.5px solid #cdd6e0;color:var(--navy);} .btn.ghost:hover{background:var(--sand);}
.btn.dark{background:var(--navy);color:#fff;}
.chips{display:flex;flex-wrap:wrap;gap:8px;} .chip{cursor:pointer;border:1.5px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:7px 13px;font-size:13px;font-weight:600;} .chip.on{background:var(--ora);border-color:var(--ora);color:#fff;}
.msg{font-size:13px;padding:9px 12px;border-radius:9px;margin-top:10px;} .ok{background:#e7f4ec;color:#256b4c;border:1px solid #b6ddc5;} .err{background:#fbeaec;color:#9c2f38;border:1px solid #eec2c7;}
.mini{font-size:11.5px;color:var(--slate);}
.card-t{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;margin-top:12px;}
