/* One trip, three screen layouts. Keep saved data and routes shared. */
html{scroll-padding-bottom:140px}
body{padding-bottom:calc(124px + env(safe-area-inset-bottom));padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
main,header,.travel-art{width:100%;min-width:0}
main>*{min-width:0}
h1,h2,h3,legend,.item strong,.item p,.brand span{overflow-wrap:anywhere}
button,.button,input,select{min-height:48px}
button,.button{line-height:1.35;text-align:center}
textarea{min-height:106px}
textarea:focus-visible,summary:focus-visible{outline:3px solid #d2852a;outline-offset:3px}
input,select,textarea{scroll-margin-block:110px 150px}
input[type=tel],input[type=date],input[type=number]{font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:17px}
fieldset{min-width:0;margin:0}
.contact-grid{display:grid;grid-template-columns:1fr;gap:22px;margin-bottom:24px}
.day-fields{display:grid;grid-template-columns:1fr;gap:6px 24px}
.day-field{min-width:0}
.day-field:last-child{grid-column:1/-1}
.planning-links{gap:10px}
.planning-links a{display:inline-flex;align-items:center;min-height:48px;padding:8px 12px;border-radius:8px}
.planning-links a[aria-current=page]{background:#174d43;color:white;text-decoration:none}
.planning-links button{margin-left:auto}
.item>div{min-width:0}
.item>div:last-child{flex-shrink:0;text-align:right}
.item p{overflow-wrap:anywhere}
nav a{display:flex;align-items:center;justify-content:center;line-height:1.25;min-height:52px}
dialog{width:calc(100% - 32px);max-height:calc(100dvh - 40px);overflow:auto}
@media(max-width:599px){
 :root{font-size:19px}
 header{padding:14px 16px;gap:10px}
 .brand{gap:9px;font-size:16px;min-width:0}
 .brand img{width:72px;flex-shrink:0}
 .brand small{display:none}
 header button{font-size:15px;max-width:92px;padding:8px 10px;flex-shrink:0}
 .status{font-size:14px;padding:8px 16px}
 main{padding:0 16px;margin-top:22px}
 h1{font-size:clamp(34px,9vw,44px);margin-bottom:20px}
 h2{font-size:25px}
 .grid,.two{grid-template-columns:1fr;gap:16px}
 .card,form,.list{padding:18px}
 .hero p{font-size:20px}
 .actions{gap:10px}
 .actions>*{flex:1 1 145px}
 .planning-links{padding:10px;gap:6px}
 .planning-links a{flex:1;justify-content:center}
 .planning-links button{width:100%;margin:2px 0 0;font-size:17px}
 .travel-art{margin-top:12px;padding:0 16px}
 body:not([data-page=welcome]) .travel-art>img{max-height:92px}
 body:not([data-page=welcome]) .destinations{display:none}
 body[data-page=contacts] .travel-art,body[data-page=plan] .travel-art,body[data-page=new] .travel-art{display:none}
 .destinations{font-size:12px;gap:5px}
 .privacy-note{font-size:16px;padding:16px}
 .contact-grid fieldset{padding:12px}
 .day-picker{padding:16px}
 .share{grid-template-columns:minmax(0,1fr) 84px;gap:10px}
 .balance{font-size:19px;white-space:normal;overflow-wrap:anywhere}
 nav{padding:8px 4px calc(8px + env(safe-area-inset-bottom));gap:2px}
 nav a{font-size:17px;font-weight:700;padding:10px 3px}
 #notice{margin:12px 16px;font-size:16px;padding:12px}
 #plan-range>button,#contact-form>button,#contact-form>.button{width:100%;margin-top:10px}
}
@media(min-width:600px) and (max-width:1023px){
 header,main,.travel-art{max-width:940px;padding-left:28px;padding-right:28px}
 .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .grid>.card:last-child{grid-column:1/-1}
 .two,.day-fields,.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .brand small{font-size:13px}
 .brand img{width:110px}
 h1{font-size:48px;max-width:24ch}
 body:not([data-page=welcome]) .travel-art>img{max-height:150px}
 body[data-page=contacts] .travel-art,body[data-page=plan] .travel-art{display:none}
 nav{gap:12px}
 nav a{font-size:20px;min-width:115px}
 .day-field textarea{min-height:130px}
}
@media(min-width:1024px){
 header{max-width:1280px}
 main,.travel-art{max-width:1200px}
 main{margin-top:32px}
 .grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .two,.contact-grid,.day-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
 .contact-grid .two{grid-template-columns:1fr}
 .day-field textarea{min-height:130px}
 body[data-page=plan] #plan-range{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:28px;align-items:end}
 #plan-range>.two,#plan-range>.muted,#plan-range>.error{grid-column:1/-1}
 body[data-page=contacts] .travel-art,body[data-page=plan] .travel-art{display:none}
 body:not([data-page=welcome]) .travel-art>img{max-height:160px}
 nav{left:50%;bottom:16px;transform:translateX(-50%);width:min(760px,calc(100% - 48px));border-radius:18px;box-shadow:0 8px 30px #123d3733;padding:10px 16px;gap:10px}
 nav a{flex:1;font-size:20px}
 .hero{max-width:none}
 .hero p{max-width:56ch}
}
@media(max-height:500px) and (max-width:1023px){
 nav{padding-top:4px;padding-bottom:calc(4px + env(safe-area-inset-bottom))}
 nav a{min-height:44px;padding:5px;font-size:16px}
 body:not([data-page=welcome]) .travel-art{display:none}
}
@media print{body{padding:0}nav{display:none!important}.contact-grid,.day-fields{display:block}main{max-width:none}}
