:root{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:#172b48;background:#edf2f8;font-synthesis:none}*{box-sizing:border-box}body{margin:0}.app-shell{max-width:480px;min-height:100vh;margin:auto;background:#f7f9fc;box-shadow:0 6px 48px #15315212;position:relative;padding-bottom:84px}.hero{background:linear-gradient(125deg,#153b7a,#0c2655);color:white;padding:24px 24px 105px;border-radius:0 0 30px 30px}.topline{display:flex;align-items:center;gap:10px}.brand-icon{width:33px;height:33px;display:grid;place-items:center;border-radius:10px;background:#4798f9;font-size:26px}.brand{font-size:19px;font-weight:500;letter-spacing:-.5px}.brand b{font-weight:800}.demo-tag{margin-left:auto;font-size:10px;letter-spacing:1.2px;background:#ffffff20;padding:6px 8px;border:1px solid #ffffff33;border-radius:20px}.eyebrow{color:#a8cfff;font-size:11px;font-weight:800;letter-spacing:1.8px;margin:26px 0 8px}h1{font-size:28px;letter-spacing:-.8px;margin:0 0 7px;line-height:1.2}.hero-sub{margin:0;color:#c5d8f1;font-size:13px}.map-preview{height:190px;margin:-75px 18px 0;position:relative;overflow:hidden;border:5px solid white;border-radius:23px;background:#d9e7e5;box-shadow:0 10px 30px #1b448c19}.map-grid{position:absolute;inset:0;background-image:linear-gradient(30deg,transparent 46%,#c8d7d0 47%,#c8d7d0 49%,transparent 50%),linear-gradient(120deg,transparent 46%,#c8d7d0 47%,#c8d7d0 49%,transparent 50%);background-size:65px 72px}.road{position:absolute;background:#fff9e9;box-shadow:0 0 0 3px #d5d7c5;border-radius:50px}.road-a{width:420px;height:19px;top:85px;left:-25px;transform:rotate(-20deg)}.road-b{width:300px;height:14px;top:66px;left:95px;transform:rotate(53deg)}.road-c{width:240px;height:12px;top:134px;left:-75px;transform:rotate(42deg)}.river{position:absolute;width:300px;height:24px;background:#a6cee0;left:190px;top:158px;transform:rotate(-20deg);border-radius:40px}.map-label{position:absolute;color:#647982;font-size:10px;letter-spacing:1px;font-weight:800}.toledo{left:19%;top:24%}.montevideo{left:56%;top:76%}.pin{position:absolute;background:#fff;border-radius:50%;box-shadow:0 3px 12px #0003;display:grid;place-items:center;width:30px;height:30px}.pin-start{left:34%;top:32%;color:#277fee}.pin-end{left:69%;top:58%;color:#fd8b48}.map-disclaimer{position:absolute;bottom:9px;left:9px;background:#fffffff0;color:#3a5275;font-size:9px;border-radius:8px;padding:5px 8px}.booking-card{position:relative;margin:18px 18px 0;border:1px solid #e3eaf4;background:white;border-radius:22px;padding:20px;box-shadow:0 12px 28px #244c8b0a}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}h2{margin:0;font-size:19px;letter-spacing:-.4px}.status{color:#487759;font-size:11px;font-weight:700}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#55a66e;margin-right:4px}.field-line{position:relative;border:1px solid #e1e8f2;border-radius:12px;padding:11px 13px 10px 34px;background:#fbfcff}.field-line:before{position:absolute;top:20px;left:13px;content:"";width:10px;height:10px;border:2px solid #277ee9;border-radius:50%}.destination:before{border-radius:3px;border-color:#f48a55}.field-line label{display:block;font-weight:800;color:#7d8ea4;font-size:10px;letter-spacing:1px;margin-bottom:5px}.field-line input{display:block;border:0;background:none;outline:none;width:100%;font-size:14px;color:#172b48;min-height:25px}.field-line:focus-within{border-color:#367be4;box-shadow:0 0 0 3px #3378e317}.connector{height:13px;width:2px;background:#c7d6ee;margin-left:19px}.quick-header{margin:20px 0 10px;color:#7589a5;font-size:11px;font-weight:800;letter-spacing:.4px}.chips{display:flex;flex-wrap:wrap;gap:7px}.chip{background:#f0f5fd;border:1px solid #e2ebf9;color:#315e9b;font-weight:700;font-size:12px;border-radius:20px;padding:9px 10px;cursor:pointer}.chip:hover,.chip:focus-visible{background:#e0edff;border-color:#75a7ee}.estimate{margin-top:18px;border:1px dashed #b8c9e2;background:#f7faff;border-radius:13px;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.estimate-label{display:block;color:#7386a3;font-size:11px;margin-bottom:3px}.estimate strong{font-size:17px;color:#234d86}.estimate-note{font-size:10px;color:#7386a3;max-width:130px;text-align:right}.cta{margin-top:15px;width:100%;background:#2068d5;border:0;color:white;border-radius:13px;padding:15px 13px;font-size:14px;font-weight:800;cursor:pointer;display:flex;justify-content:center;gap:13px}.cta:hover,.cta:focus-visible{background:#164da4}.message{font-size:12px;line-height:1.5;color:#345b87;margin:12px 0 0;min-height:0}.message:empty{display:none}.foot-note{text-align:center;font-size:11px;color:#8090a6;padding:17px 24px}.bottom-nav{height:70px;position:absolute;bottom:0;left:0;right:0;background:white;border-top:1px solid #e3eaf4;display:flex;justify-content:space-around;align-items:center}.bottom-nav span{color:#99a8bc;text-align:center;font-size:20px;min-width:65px}.bottom-nav small{display:block;font-size:11px;margin-top:3px}.bottom-nav .nav-active{color:#2775dc;font-weight:800}@media(min-width:700px){body{padding:30px 0}.app-shell{border-radius:25px;overflow:hidden;min-height:800px}.hero{padding-top:25px}}@media(prefers-reduced-motion:no-preference){button{transition:background .18s ease}}

/* V2 — refinamiento mobile-first basado en prueba Samsung S24+ */
:root { -webkit-text-size-adjust: 100%; }
.hero { padding-top: 26px; }
.hero-sub { font-size: 15px; line-height: 1.5; }
.eyebrow { font-size: 12px; }
.booking-card { padding: 22px 20px; }
h2 { font-size: 21px; }
.field-line { min-height: 83px; padding: 13px 14px 12px 38px; }
.field-line:before { left: 15px; top: 24px; width: 12px; height: 12px; }
.field-line label { font-size: 12px; line-height: 1.4; letter-spacing: .7px; }
.field-line input { font-size: 17px; line-height: 1.45; min-height: 29px; }
.field-line input::placeholder { color: #69798e; opacity: 1; }
.connector { margin-left: 21px; }
.quick-header { font-size: 13px; margin-top: 22px; }
.chips { gap: 9px; }
.chip { min-height: 44px; font-size: 14px; padding: 10px 13px; }
.estimate { min-height: 86px; padding: 16px; align-items: center; }
.estimate-label { font-size: 13px; }
.estimate strong { font-size: 21px; }
.estimate-note { font-size: 12px; line-height: 1.4; max-width: 160px; }
.cta { min-height: 54px; padding: 16px; font-size: 16px; }
.message { font-size: 14px; line-height: 1.6; }
.foot-note { font-size: 12px; line-height: 1.5; }
.bottom-nav { height: 78px; }
.bottom-nav span { font-size: 25px; }
.bottom-nav small { font-size: 13px; }
.app-shell { padding-bottom: 94px; }
@media (max-width: 380px) {
  .booking-card { margin-left: 12px; margin-right: 12px; padding: 18px 15px; }
  .chips { gap: 6px; }
  .chip { font-size: 13px; padding: 9px 10px; }
  .estimate-note { max-width: 130px; }
}
@media (min-width: 700px) {
  .app-shell { padding-bottom: 94px; }
}
