:root{--sea:#0b5c8a;--sea-deep:#073b5a;--aegean:#1f8fc4;--foam:#eaf5fb;--sand:#f6efe3;--terracotta:#c8643b;--ink:#1b2a36;--muted:#6a7a86;--line:#dde6ec;--card:#fff;--radius:16px;--shadow:0 1px 2px #073b5a0f, 0 8px 24px #073b5a14;color:var(--ink);background:var(--sand);font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}body{background:var(--sand);margin:0;line-height:1.5}h1,h2,h3{margin:0;font-family:Fraunces,Georgia,serif;line-height:1.15}a{color:inherit}input,select,button{font:inherit}.hero{background:var(--sea-deep);color:#fff;isolation:isolate;align-items:center;min-height:clamp(360px,52vh,520px);padding-bottom:72px;display:flex;position:relative;overflow:hidden}.hero-bg{z-index:-1;will-change:transform;position:absolute;inset:0}.hero-bg img{object-fit:cover;object-position:50% 12%;width:100%;height:100%;display:block}.hero-bg:after{content:"";background:linear-gradient(90deg,#042034b8 0%,#04203466 45%,#04203400 80%),linear-gradient(#04203433 0%,#0000 40%);position:absolute;inset:0}.hero-curve{z-index:1;width:100%;height:clamp(48px,9vw,110px);fill:var(--sand);pointer-events:none;position:absolute;bottom:-1px;left:0}.nav-bar{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;background:#073b5aeb;position:sticky;top:0}.nav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;max-width:1040px;margin:0 auto;padding:16px;display:flex}.nav ul{flex-wrap:wrap;gap:4px;margin:0 0 0 auto;padding:0;list-style:none;display:flex}.nav a{opacity:.85;border-radius:999px;padding:6px 12px;font-size:14px;text-decoration:none}.nav a:hover{opacity:1;background:#ffffff26}.brand{font-family:Fraunces,serif;font-size:20px;font-weight:700}.hero-body{z-index:2;text-shadow:0 2px 16px #00000059;width:100%;max-width:1040px;margin:0 auto;padding:40px 16px 24px;position:relative}.hero h1{font-size:clamp(40px,8vw,72px)}.eyebrow{text-transform:uppercase;letter-spacing:.15em;opacity:.75;margin:0 0 8px;font-size:12px}.hero-sub{opacity:.92;max-width:460px;font-size:17px}.container{z-index:1;max-width:1040px;margin:-24px auto 0;padding:0 16px 48px;position:relative}.section{padding:28px 0;scroll-margin-top:72px}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;margin-bottom:16px;display:flex}.section-head h2{color:var(--sea-deep);font-size:30px}.muted{color:var(--muted)}.small{font-size:13px}.label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:12px;font-weight:600;display:block}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow)}.footer{text-align:center;color:var(--muted);padding:32px}.btn{cursor:pointer;border:0;border-radius:999px;padding:9px 18px;font-weight:600;transition:background .15s,opacity .15s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--terracotta);color:#fff}.btn.primary:hover:not(:disabled){background:#b0552f}.btn.ghost{color:var(--sea);box-shadow:inset 0 0 0 1px var(--line);background:#fff}.btn.ghost:hover:not(:disabled){background:var(--foam)}.btn.link{color:var(--sea);background:0 0;padding:4px 8px}.btn-row{flex-wrap:wrap;gap:8px;display:flex}.show-sm{display:none}a.btn{text-decoration:none;display:inline-block}.icon-btn{cursor:pointer;width:32px;height:32px;color:var(--ink);background:#ffffffe6;border:0;border-radius:50%;font-size:20px;line-height:1}.icon-btn:hover{background:#fff}.overview-card{padding:0;overflow:hidden}.overview-dates{border-bottom:1px solid var(--line);flex-direction:column;gap:20px;padding:28px;display:flex}.overview-route{grid-template-columns:auto 1fr auto;grid-template-areas:"dep arrow ret";align-items:end;gap:24px;display:grid}.overview-route .depart{grid-area:dep}.overview-route .return{text-align:right;grid-area:ret}.overview-route .date-arrow{grid-area:arrow;padding-bottom:12px}.overview-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.day-split{color:var(--ink);font-size:14px}.overview-budget{background:linear-gradient(180deg, #fff, var(--foam));padding:24px 28px}.budget-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.budget-head>div:first-child{flex-direction:column;gap:2px;display:flex}.budget-total{color:var(--terracotta);font-family:Fraunces,serif;font-size:clamp(28px,5vw,40px);font-weight:700;line-height:1.1}.seg{box-shadow:inset 0 0 0 1px var(--line);background:#fff;border-radius:999px;padding:3px;display:inline-flex}.seg button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600}.seg button.on{background:var(--sea);color:#fff}.seg-dark{background:#ffffff1f;box-shadow:inset 0 0 0 1px #ffffff40}.seg-dark button{color:#ffffffd9}.seg-dark button.on{color:var(--sea-deep);background:#fff}.budget-lines{margin:18px 0 0;padding:0;list-style:none}.budget-lines li{border-top:1px dashed var(--line);justify-content:space-between;gap:12px;padding:10px 0;display:flex}.budget-lines .amount{white-space:nowrap;font-weight:600}.budget-lines .empty-line{color:var(--muted)}.rates-note{margin:12px 0 0}.date-big{font-family:Fraunces,serif;font-size:24px;font-weight:500}.date-arrow{flex-direction:column;align-items:center;gap:6px;min-width:120px;display:flex}.date-arrow .line{background:linear-gradient(90deg, var(--aegean), var(--terracotta));border-radius:2px;width:100%;height:2px;display:block}.nights{color:var(--muted);font-size:13px}.countdown{background:var(--foam);color:var(--sea);white-space:nowrap;border-radius:999px;padding:6px 14px;font-weight:600}.flight-card{grid-template-columns:300px 1fr;display:grid;overflow:hidden}.flight-preview{color:#fff;background:linear-gradient(200deg, #6cc3ea, var(--sea) 70%);flex-direction:column;justify-content:space-between;min-height:220px;padding:24px;text-decoration:none;transition:filter .15s;display:flex}.flight-preview:hover{filter:brightness(1.05)}.sky-route{font-family:Fraunces,serif;font-size:34px;font-weight:700;display:block}.sky-sub{opacity:.9;font-size:13px}.sky-footer{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.badge{background:#fff3;border-radius:999px;padding:4px 10px;font-size:13px;font-weight:600}.badges{flex-wrap:wrap;gap:6px;display:flex}.leg-meta{align-items:center;gap:10px;display:flex}.airline-logo{object-fit:contain;width:auto;max-width:120px;height:26px;display:block}.airline-name{color:var(--sea);font-size:14px;font-weight:600}.airline-edit{gap:6px;display:flex}.airline-edit input[maxlength="2"]{text-transform:uppercase;width:56px}.logo-badge{background:#fff;align-items:center;padding:6px 12px;display:inline-flex}.logo-badge .airline-logo{max-width:100px;height:22px}.logo-badge .airline-name{color:var(--sea-deep)}.stops{color:#2e7d4f;font-size:12px;font-weight:600}.sky-link{font-size:14px;font-weight:600}.flight-details{flex-direction:column;gap:16px;padding:20px 24px;display:flex}.leg{border-bottom:1px solid var(--line);padding-bottom:16px}.leg-label{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.leg-route{grid-template-columns:auto 1fr auto;align-items:center;gap:16px;display:grid}.leg-point{flex-direction:column;display:flex}.leg-point.end{text-align:right;align-items:flex-end}.iata{color:var(--muted);font-size:13px;font-weight:600}.time{font-family:Fraunces,serif;font-size:26px;font-weight:500}.leg-mid{color:var(--muted);flex-direction:column;align-items:center;gap:4px;font-size:13px;display:flex}.track{align-items:center;gap:8px;width:100%;display:flex}.track .line{background:var(--line);border-radius:2px;flex:1;height:2px}.track .plane{color:var(--sea);font-size:14px;line-height:1}.leg input{border:1px solid var(--line);border-radius:8px;max-width:140px;padding:4px 8px;font-family:Inter,sans-serif;font-size:15px}.price-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.price{color:var(--terracotta);font-family:Fraunces,serif;font-size:32px;font-weight:700}.price-total{text-align:right}.price-edit{gap:6px;margin-top:4px;display:flex}.price-edit input,.price-edit select{border:1px solid var(--line);border-radius:8px;width:110px;padding:6px 8px}.transport-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.transport-card{flex-direction:column;display:flex;overflow:hidden}.car-media{border-bottom:1px solid var(--line);aspect-ratio:16/9;background:#fff;place-items:center;display:grid}.car-media img{object-fit:contain;width:100%;height:100%;transition:transform .2s;display:block}.car-media:hover img{transform:scale(1.03)}.fuel-head{background:linear-gradient(200deg, #6cc3ea, var(--sea) 70%);color:#fff;align-items:center;gap:14px;padding:20px 24px;display:flex}.fuel-head .label{color:#fffc}.fuel-head .transport-title{color:#fff}.fuel-icon{background:#fff3;border-radius:12px;padding:8px;font-size:30px;line-height:1}.transport-body{flex-direction:column;flex:1;gap:10px;padding:18px 24px 22px;display:flex}.transport-title{color:var(--sea-deep);font-size:22px}.car-times{grid-template-columns:1fr 1fr;gap:12px;margin:4px 0 0;display:grid}.car-times dd{margin:0;font-weight:600}.t-loc{margin:0}.transport-foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:12px;display:flex}.transport-foot .price{font-size:28px}.fuel-assumptions{margin:0;padding:0;list-style:none}.fuel-assumptions li{border-bottom:1px dashed var(--line);justify-content:space-between;gap:12px;padding:7px 0;display:flex}.fuel-assumptions li:last-child{border-bottom:0}.fuel-form{grid-template-columns:1fr 1fr;gap:12px;display:grid}.t-field{flex-direction:column;gap:4px;display:flex}.t-input{align-items:center;gap:6px;display:flex}.t-input input,.t-input select{border:1px solid var(--line);border-radius:8px;width:100%;min-width:0;padding:6px 8px}.t-input select{width:auto}.fuel-note{margin:0}.grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;display:grid}.link-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;transition:transform .15s;display:flex;position:relative;overflow:hidden}.grid .link-card:hover{transform:translateY(-2px)}.link-card-media{aspect-ratio:16/10;background:var(--foam);display:block}.link-card-media img{object-fit:cover;width:100%;height:100%;display:block}.placeholder{width:100%;height:100%;color:var(--aegean);place-items:center;font-family:Fraunces,serif;font-size:48px;display:grid}.link-card-body{flex-direction:column;gap:4px;padding:14px 16px 18px;display:flex}.site{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:12px}.link-card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:600;text-decoration:none;display:-webkit-box;overflow:hidden}.link-card-title:hover{color:var(--sea)}.desc{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:14px;display:-webkit-box;overflow:hidden}.card-actions{opacity:0;gap:6px;transition:opacity .15s;display:flex;position:absolute;top:10px;right:10px}.card-actions .icon-btn{box-shadow:var(--shadow)}.card-actions .icon-btn[title=Edit]{font-size:16px}.link-card:hover .card-actions,.card-actions:focus-within{opacity:1}@media (hover:none){.card-actions{opacity:1}}.card-tags{flex-wrap:wrap;gap:4px;margin:6px 0 0;padding:0;list-style:none;display:flex}.card-tags li{background:var(--foam);color:var(--sea-deep);border-radius:999px;padding:2px 8px;font-size:12px}.card-meta{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 12px;margin:6px 0 0;display:flex}.card-duration{color:var(--muted);white-space:nowrap;font-size:14px}.empty{border:2px dashed var(--line);border-radius:var(--radius);text-align:center;color:var(--muted);background:#ffffff80;padding:40px 24px}.filters{box-shadow:inset 0 0 0 1px var(--line);background:#fff;border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;padding:10px 14px;display:flex}.filters .label{margin:0}.chip-group{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;padding:4px 12px;font-size:13px}.chip.on{background:var(--sea);border-color:var(--sea);color:#fff}.modal-backdrop{z-index:50;background:#071e2d80;place-items:center;padding:16px;animation:.15s ease-out fade;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:20px;flex-direction:column;gap:14px;width:100%;max-width:480px;max-height:calc(100vh - 32px);padding:24px;display:flex;overflow-y:auto;box-shadow:0 24px 64px #00000040}.modal-head{justify-content:space-between;align-items:center;display:flex}.modal-head h3{color:var(--sea-deep);font-size:22px}.modal-head .icon-btn{background:var(--foam)}.url-form{gap:8px;display:flex}.url-form input,.preview-area input{border:1px solid var(--line);border-radius:10px;flex:1;width:100%;min-width:0;padding:10px 12px}.url-form input:focus,.preview-area input:focus,.leg input:focus{outline:2px solid var(--aegean);outline-offset:-1px;border-color:#0000}.preview-area{flex-direction:column;gap:12px;display:flex}.preview-area label{flex-direction:column;gap:4px;font-size:13px;font-weight:600;display:flex}.modal-foot{justify-content:flex-end;gap:8px;display:flex}.card-price{color:var(--terracotta);margin:0;font-size:18px;font-weight:700}.card-price .muted{font-size:13px;font-weight:400}.required{color:var(--terracotta)}.price-input{flex-wrap:wrap;gap:8px;display:flex}.price-input input{flex:120px}.field{flex-direction:column;gap:6px;display:flex}.field>label{font-size:13px;font-weight:600}.tag-input{border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 8px;display:flex}.tag-input:focus-within{outline:2px solid var(--aegean);outline-offset:-1px;border-color:#0000}.preview-area .tag-input input{border:0;outline:none;flex:120px;padding:4px}.tag{background:var(--foam);color:var(--sea-deep);border-radius:999px;align-items:center;gap:2px;padding:2px 4px 2px 10px;font-size:13px;display:inline-flex}.tag button{cursor:pointer;color:inherit;background:0 0;border:0;padding:2px 6px;font-size:16px;line-height:1}.tag-suggestions .chip{padding:3px 10px;font-size:12px}.price-input select{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 12px}.hint{color:var(--muted);margin:0;font-size:13px}.hint.warn{color:#9a6a00}.banner.error{color:#a52a1a;background:#fdecea;border-radius:10px;padding:10px 14px;font-size:14px}@keyframes fade{0%{opacity:0}}.weather-card{overflow:hidden}.weather-summary{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 28px 0;display:flex}.weather-summary p{max-width:620px;margin:0}.weather-badge{background:var(--foam);color:var(--sea);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}.weather-stats{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:12px;margin:0;padding:20px 28px 24px;list-style:none;display:grid}.weather-stats li{background:var(--foam);border-radius:12px;flex-direction:column;gap:2px;padding:14px 16px;display:flex}.weather-icon{margin-bottom:4px;font-size:20px;line-height:1}.weather-value{color:var(--sea-deep);font-family:Fraunces,serif;font-size:24px;font-weight:700;line-height:1.2}.weather-periods{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:12px;padding:20px 28px;display:grid}.weather-period{border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.weather-period-dates{font-weight:600}.weather-temps{align-items:baseline;gap:12px;display:flex}.weather-temps .hi{color:var(--terracotta);font-family:Fraunces,serif;font-size:22px;font-weight:700}.weather-temps .lo{color:var(--sea);font-size:15px;font-weight:600}.weather-range-note{grid-column:1/-1;margin:0}.weather-tips{padding:20px 28px}.weather-tips ul{flex-direction:column;gap:6px;margin:8px 0 0;padding-left:18px;display:flex}.weather-details{padding:0 28px 24px}.weather-details summary{cursor:pointer;color:var(--sea);font-size:14px;font-weight:600}.weather-details p{margin:10px 0 0;font-size:14px}.weather-sources{margin:10px 0 0;padding-left:18px;font-size:14px}.weather-sources a{color:var(--sea)}.budget-card{overflow:hidden}.cost-list{margin:0;padding:0;list-style:none}.cost-list>li{border-bottom:1px solid var(--line)}.cost-row{grid-template-columns:1fr auto auto;align-items:center;gap:16px;padding:14px 24px;display:grid}.cost-main{flex-direction:column;min-width:0;display:flex}.cost-label{overflow-wrap:anywhere;font-weight:600}.cost-amount{color:var(--terracotta);white-space:nowrap;font-weight:700}.cost-actions{gap:2px;display:flex}.btn.link.danger{color:#a52a1a}.cost-editing{background:var(--foam);padding:16px 24px}.cost-form{grid-template-columns:1.4fr 1fr auto;align-items:end;gap:12px;display:grid}.cost-form>.cost-label-field input{border:1px solid var(--line);border-radius:8px;width:100%;min-width:0;padding:6px 8px}.cost-form-full{grid-column:1/-1}.cost-form .btn-row{justify-content:flex-end}.cost-total{background:linear-gradient(180deg, #fff, var(--foam));justify-content:space-between;align-items:center;gap:12px;padding:16px 24px;display:flex}.cost-total .price{font-size:26px}@media (width<=760px){.overview-dates{gap:16px;padding:20px}.overview-route{grid-template-columns:1fr 1fr;grid-template-areas:"dep ret""arrow arrow";gap:10px 16px}.overview-route .date-arrow{flex-direction:column-reverse;padding-bottom:0}.date-big{font-size:16px}.overview-budget{padding:20px}.date-arrow{min-width:0}.flight-card{grid-template-columns:1fr}.flight-preview{min-height:160px}.transport-grid{grid-template-columns:1fr}.transport-body{padding:16px 18px 20px}.nav .brand{display:none}.hero-bg img{object-position:24% 0%}.hero-bg:after{background:linear-gradient(#0420348c 0%,#04203499 60%,#0420344d 100%)}.nav{justify-content:center}.hide-sm{display:none}.show-sm{display:inline}.section-head{flex-wrap:nowrap;gap:12px}.section-head h2{min-width:0;font-size:clamp(20px,6vw,24px)}.section-head .btn-row{flex-wrap:nowrap;gap:6px}.section-head .btn{white-space:nowrap;padding:7px 12px;font-size:13px}.nav ul{justify-content:center;margin:0}.time{font-size:22px}.weather-summary{padding:20px 20px 0}.weather-stats{grid-template-columns:1fr 1fr;gap:10px;padding:16px 20px 20px}.weather-stats li{padding:12px}.weather-value{font-size:20px}.weather-periods{grid-template-columns:1fr;padding:16px 20px}.weather-tips{padding:16px 20px}.weather-details{padding:0 20px 20px}.cost-row{grid-template-columns:1fr auto;gap:4px 12px;padding:12px 18px}.cost-actions{grid-column:1/-1;margin-left:-8px}.cost-editing{padding:16px 18px}.cost-form{grid-template-columns:1fr}.cost-total{padding:14px 18px}}.nav-controls{align-items:center;gap:8px;display:inline-flex}.edit-toggle{cursor:pointer;color:#ffffffd9;background:#ffffff1f;border:0;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600;box-shadow:inset 0 0 0 1px #ffffff40}.edit-toggle.on{color:var(--sea-deep);box-shadow:none;background:#f4b942}
