:root{--bg:#dffaf5;--card:#b8ede6;--card-deep:#a0e4db;--cta:#3eddb8;--cta-border:#0d2926;--text:#080808;--text-light:#2a2a2a;--pill:#b8ede6;--radius-lg:22px;--radius-xl:32px;--shadow:0 4px 18px #0d29261a;--shadow-btn:0 3px 0px var(--cta-border)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);height:100%;color:var(--text);font-family:Nunito,sans-serif;overflow:hidden}.screen{background:var(--bg);opacity:0;pointer-events:none;-webkit-overflow-scrolling:touch;flex-direction:column;transition:opacity .38s cubic-bezier(.4,0,.2,1),transform .38s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;inset:0;overflow-y:auto;transform:translate(60px)}.screen.active{opacity:1;pointer-events:all;transform:translate(0)}.screen.exit{opacity:0;transform:translate(-60px)}#screen-landing{justify-content:center;align-items:center}.landing-inner{flex-direction:column;justify-content:center;align-items:center;gap:56px;width:100%;max-width:430px;margin:auto;padding:48px 32px;display:flex}.logo-wrap{justify-content:center;animation:.7s cubic-bezier(.34,1.56,.64,1) both floatIn;display:flex}.logo-img{object-fit:contain;filter:drop-shadow(0 8px 24px #0d29261f);width:min(72vw,300px);height:auto}.btn-cta{background:var(--cta);width:100%;max-width:340px;color:var(--cta-border);border:3px solid var(--cta-border);border-radius:var(--radius-xl);cursor:pointer;box-shadow:var(--shadow-btn);letter-spacing:.01em;padding:20px 32px;font-family:Nunito,sans-serif;font-size:1.25rem;font-weight:900;transition:transform .12s,box-shadow .12s;animation:.5s cubic-bezier(.34,1.56,.64,1) .25s both slideUp}.btn-cta:active{box-shadow:0 0 0 var(--cta-border);transform:translateY(3px)}.btn-cta:hover{filter:brightness(1.06)}.form-inner{flex-direction:column;gap:18px;width:100%;max-width:430px;margin:0 auto;padding:56px 28px 48px;display:flex}.form-title{color:var(--text);margin-bottom:8px;font-size:2.6rem;font-weight:900;line-height:1.15;animation:.45s cubic-bezier(.34,1.56,.64,1) both slideUp}.form-group{flex-direction:column;gap:7px;width:100%;animation:.45s cubic-bezier(.34,1.56,.64,1) both slideUp;display:flex}#trip-form{flex-direction:column;gap:18px;display:flex}.form-group:nth-child(2){animation-delay:40ms}.form-group:nth-child(3){animation-delay:80ms}.form-group:nth-child(4){animation-delay:.12s}.form-group:nth-child(5){animation-delay:.16s}.form-group:nth-child(6){animation-delay:.2s}.form-label{text-transform:uppercase;letter-spacing:.08em;color:var(--cta-border);opacity:.7;font-size:.82rem;font-weight:800}.form-input{background:var(--card);border-radius:var(--radius-lg);color:var(--text);border:2.5px solid #0000;outline:none;width:100%;min-width:0;padding:16px 18px;font-family:Nunito,sans-serif;font-size:1rem;font-weight:700;transition:border-color .18s,box-shadow .18s;display:block}.form-input::placeholder{color:#08080859;font-weight:600}.form-input:focus{border-color:var(--cta-border);box-shadow:0 0 0 3px #3eddb84d}.form-input:-webkit-autofill{-webkit-text-fill-color:var(--text);box-shadow:0 0 0 1000px var(--card) inset;transition:background-color 9999s ease-in-out}.form-input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text);box-shadow:0 0 0 1000px var(--card) inset;transition:background-color 9999s ease-in-out}.form-input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);box-shadow:0 0 0 1000px var(--card) inset;transition:background-color 9999s ease-in-out}.form-input:-webkit-autofill:active{-webkit-text-fill-color:var(--text);box-shadow:0 0 0 1000px var(--card) inset;transition:background-color 9999s ease-in-out}.form-input.is-error{border-color:#c0392b;box-shadow:0 0 0 3px #c0392b2e}.form-hint{color:#0d2926a6;margin-top:-6px;font-size:.85rem;font-weight:700}.form-input[type=date]::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer}.form-row{grid-template-columns:1fr 1fr;gap:12px;animation:.45s cubic-bezier(.34,1.56,.64,1) .12s both slideUp;display:grid}.form-row>.form-group{min-width:0}.form-group.half{width:100%}@media (width<=420px){.form-row{grid-template-columns:1fr}}.stepper{background:var(--card);border-radius:var(--radius-lg);align-items:center;gap:0;padding:10px 16px;display:flex}.stepper-btn{color:var(--cta-border);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-family:Nunito,sans-serif;font-size:1.6rem;font-weight:900;transition:background .15s;display:flex}.stepper-btn:hover{background:#0d292614}.stepper-btn:active{background:#0d292624}.stepper-val{text-align:center;color:var(--text);flex:1;font-size:1.3rem;font-weight:900}.input-prefix-wrap{align-items:center;width:100%;display:flex;position:relative}.input-prefix{color:var(--text);pointer-events:none;z-index:1;font-size:1rem;font-weight:900;position:absolute;left:18px}.form-input.with-prefix{padding-left:36px}.form-error{color:#c0392b;text-align:center;min-height:20px;font-size:.88rem;font-weight:700}#screen-form .btn-cta{margin-top:8px;animation:.45s cubic-bezier(.34,1.56,.64,1) .24s both slideUp}.results-inner{flex-direction:column;gap:14px;width:100%;max-width:430px;margin:0 auto;padding:52px 28px 60px;display:flex}.results-title{color:var(--text);text-align:center;margin-bottom:6px;font-size:3rem;font-weight:900;animation:.5s cubic-bezier(.34,1.56,.64,1) both slideDown}.pills-row{gap:12px;animation:.45s cubic-bezier(.34,1.56,.64,1) 50ms both slideUp;display:flex}.pill{background:var(--pill);color:var(--text);white-space:nowrap;border-radius:50px;padding:12px 20px;font-size:1rem;font-weight:800}.pill-date{text-align:center;flex:1}.pill-route{text-align:center;width:100%;padding:16px 20px;font-size:1.15rem;font-weight:900;animation:.45s cubic-bezier(.34,1.56,.64,1) .1s both slideUp}.section-title{color:var(--text);margin-top:10px;font-size:1.6rem;font-weight:900}.result-card{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow);flex-direction:column;gap:16px;padding:20px;animation:.45s cubic-bezier(.34,1.56,.64,1) both slideUp;display:flex}#card-weather{animation-delay:.12s}#card-flights{animation-delay:.18s}#card-hotel{animation-delay:.24s}.card-text{color:var(--text-light);overflow-wrap:anywhere;word-break:break-word;font-size:1rem;font-weight:600;line-height:1.55}.btn-book{max-width:100%;padding:17px 20px;font-size:1.1rem;animation:none}.btn-secondary{width:100%;color:var(--cta-border);border:2.5px solid var(--cta-border);border-radius:var(--radius-xl);cursor:pointer;letter-spacing:.01em;background:0 0;margin-top:10px;padding:17px;font-family:Nunito,sans-serif;font-size:.95rem;font-weight:800;transition:background .15s}.btn-secondary:hover{background:#0d29260f}.loading-overlay{-webkit-backdrop-filter:blur(6px);z-index:999;background:#dffaf5e0;justify-content:center;align-items:center;transition:opacity .25s;display:flex;position:fixed;inset:0}.loading-overlay.hidden{opacity:0;pointer-events:none}.loading-box{flex-direction:column;align-items:center;gap:18px;display:flex}.cat-spinner{font-size:4rem;animation:.7s ease-in-out infinite alternate catBounce}.loading-text{text-align:center;color:var(--cta-border);font-size:1.15rem;font-weight:800;line-height:1.5}@keyframes floatIn{0%{opacity:0;transform:scale(.8)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-22px)}to{opacity:1;transform:translateY(0)}}@keyframes catBounce{0%{transform:translateY(0)rotate(-8deg)}to{transform:translateY(-14px)rotate(8deg)}}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--card-deep);border-radius:4px}@media (width>=480px){.form-inner,.results-inner{padding-left:40px;padding-right:40px}}
