/* Shared portal surfaces: quieter headings, generous touch targets and one menu. */
.site-header nav a[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:7px}
.site-header a,.site-footer a{color:inherit}
.site-header .site-menu-button{min-height:44px}
.site-header{font-family:system-ui,sans-serif}
.routes-body,[data-forum-page],.rental-publish-page{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--site-ink)}
.routes-body .btn,[data-forum-page] .btn,.rental-publish-page .btn{min-height:48px;border-radius:8px;font-size:14px;gap:10px;padding:12px 20px;text-align:center}
.routes-body .btn.orange,[data-forum-page] .btn.orange,.rental-publish-page .btn.orange{background:var(--site-orange)}
.routes-body .btn.green,[data-forum-page] .btn.green,.rental-publish-page .btn.green{background:var(--site-ink)}
.routes-body input,.routes-body select,[data-forum-page] input,[data-forum-page] select,[data-forum-page] textarea,.rental-publish-page input,.rental-publish-page select,.rental-publish-page textarea{font-size:16px}
.routes-wrap{max-width:1280px;padding:38px 30px 48px}
.routes-hero{padding:0 0 28px;gap:24px}
.routes-hero .eyebrow{margin-bottom:10px}
.routes-hero h1{font:700 clamp(32px,3.6vw,46px)/1.15 system-ui,sans-serif;letter-spacing:-1.8px;margin:10px 0 12px}
.routes-hero p{font-size:16px;line-height:1.65;margin:0;max-width:620px}
.routes-explorer{border-radius:18px}
.routes-toolbar{padding:20px 22px;background:#fff;gap:16px;align-items:end;border-bottom:1px solid var(--site-line)}
.routes-tabs{width:100%;border:0;border-radius:10px;background:#e4eeeb;padding:5px;gap:5px}
.routes-tabs button{flex:1;min-height:46px;font-size:15px;padding:10px}
.routes-toolbar label{min-width:190px;font-size:13px}
.routes-toolbar .routes-search{flex:2}
.routes-toolbar input,.routes-toolbar select{font-size:16px;margin-top:7px;background:#ffffff}
.routes-results-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 22px;border-bottom:1px solid var(--site-line);background:#f7faf9}
.routes-status{border:0;padding:0;min-height:0;line-height:1.6;font-size:13px}
.routes-clear,.routes-view-switch button,.routes-detail-back{min-height:44px;border:1px solid var(--site-line);border-radius:8px;padding:9px 13px;background:#fff;color:var(--site-ink);font:600 13px/1.4 system-ui,sans-serif;cursor:pointer}
.routes-clear{border:0;background:transparent;text-decoration:underline}
.routes-view-switch{display:none}
.routes-workspace{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start}
.routes-results{max-height:720px;padding:14px;gap:10px;scrollbar-width:thin;background:#f7faf9}
.routes-result{padding:17px;border-radius:12px}
.routes-result h2{font:650 19px/1.35 system-ui,sans-serif;letter-spacing:-.4px;overflow-wrap:anywhere}
.routes-result p{color:var(--site-muted)}
.routes-result .travel-controls{gap:8px}
.routes-result .travel-controls button{min-height:40px}
.routes-result>button:focus-visible{outline-offset:5px}
#routes-map{height:520px}
.routes-map-column{position:sticky;top:0;width:100%}
.routes-detail-panel{border-top:1px solid var(--site-line);background:#fff}
.routes-detail-toolbar{padding:12px 22px 0;display:flex;align-items:center;justify-content:space-between;color:var(--site-muted);font-size:12px}
.routes-detail-back{display:none}
.routes-detail{max-height:360px;padding:18px 22px 24px;overflow-wrap:anywhere}
.routes-detail:focus{outline:0}
.routes-detail h2{font:700 25px/1.2 system-ui,sans-serif;letter-spacing:-.6px}
.routes-detail a:not(.btn){text-decoration:underline;text-underline-offset:3px}
.routes-detail .portal-actions{gap:10px}
.routes-detail .portal-actions a{max-width:100%}
.routes-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px 24px;margin-top:24px;color:var(--site-muted);font-size:14px}
.routes-bottom p{margin:0;line-height:1.7}
.routes-bottom a{text-decoration:underline;text-underline-offset:3px;color:var(--site-ink);padding:10px 0}
.routes-bottom>div{background:none;border:0;border-radius:0;padding:0;display:flex;gap:24px}
.rental-map-tools{padding:18px 22px;background:#fff}
.rental-map-primary{display:flex;gap:12px;align-items:end}
.rental-map-primary .rental-city-label{max-width:none}
.rental-map-filters input,.rental-map-filters select{font-size:16px}
.rental-map-filters label{font-size:13px}
.rental-more-filters{margin-top:14px;border-top:1px solid var(--site-line)}
.rental-more-filters summary{padding:13px 0;min-height:44px;font-size:14px;font-weight:600;cursor:pointer}
.rental-more-filters .rental-map-filters{padding:2px 0 14px}
.rental-more-filters .rental-map-filters label{max-width:none;min-width:140px}
.rental-map-actions{gap:16px;margin-top:4px}
.rental-map-actions button{min-height:44px;padding:8px 0;font-size:13px;text-decoration:underline}
.rental-map-help{margin:8px 0 0}
.rental-map-note{padding:0 22px 16px;background:#f7faf9;color:var(--site-muted);font-size:12px;line-height:1.7}
.rental-map-note summary{padding:10px 0 0;cursor:pointer}
.rental-map-note p{margin:8px 0 0}
.rental-detail-thumbs button{min-width:69px;min-height:49px;flex-shrink:0}
.rental-map-card .rental-map-price{color:#a8441c}
.forum-wrap{max-width:1200px;padding:38px 30px 60px}
.forum-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px}
.forum-heading h1{font:700 clamp(32px,3.6vw,46px)/1.15 system-ui,sans-serif;letter-spacing:-1.8px;margin:10px 0 12px}
.forum-heading p{font-size:16px;margin:0;max-width:620px;color:var(--site-muted)}
.forum-heading>.btn{flex-shrink:0}
.forum-filter-bar{display:grid;grid-template-columns:minmax(0,1fr) 235px auto;align-items:end;gap:16px;background:#e2f0ec;border:1px solid var(--site-line);border-radius:14px;padding:20px;margin:0 0 20px}
.forum-filter-bar label{min-width:0;font-size:13px}
.forum-filter-bar .btn{height:48px}
.forum-list-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:20px 0}
.forum-list-top h2{font-size:22px;margin:0}
.forum-list-top a,.forum-under-list a{text-decoration:underline;text-underline-offset:3px}
.forum-list-top a{font-size:14px;padding:10px 0}
.forum-topic{padding:22px 24px;transition:border-color .15s}
.forum-topic h2{font-size:22px;margin:10px 0}
.forum-topic .forum-meta{margin-top:13px;gap:8px 16px}
.forum-topic .portal-badge{letter-spacing:0}
.forum-topic:focus-visible{outline:3px solid #d34b26;outline-offset:3px}
.forum-under-list{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--site-line);margin-top:28px;padding-top:20px;font-size:13px;color:var(--site-muted)}
.forum-under-list p{margin:0}
.forum-wrap .portal-empty{padding:32px;border:1px dashed #bac9b3;background:#edf5f2}
.forum-wrap .portal-empty h2{font-size:25px}
.forum-wrap .portal-empty p{max-width:600px}
.forum-wrap .forum-new{max-width:830px;margin:20px auto 0}
.forum-wrap .forum-new h1{font-size:36px;letter-spacing:-1.2px}
.forum-wrap .portal-card form,.forum-wrap form.portal-card{display:block}
.forum-wrap .forum-post{max-width:900px;margin-left:auto;margin-right:auto}
.forum-wrap .forum-post h1{font-size:clamp(27px,3vw,38px)}
.forum-wrap[data-forum-view=thread]{max-width:960px}
.forum-wrap .forum-template{padding:0;background:#edf5f2;border:1px solid var(--site-line)}
.forum-template summary{padding:16px 18px;font-size:14px;cursor:pointer;font-weight:600}
.forum-template>div{padding:0 18px 18px}
.forum-wrap .forum-template p{font-size:14px}
.forum-wrap .portal-link{min-height:44px}
.forum-wrap [data-reply-form] label{display:block}
.forum-wrap .portal-small{line-height:1.8}
.rental-publish-page{max-width:900px;margin:34px auto 56px;padding:0 30px}
.rental-publish-page .rental-publish-heading{max-width:760px}
.rental-publish-heading h1{font:700 clamp(32px,3.6vw,44px)/1.15 system-ui,sans-serif;letter-spacing:-1.5px;margin:12px 0}
.rental-publish-heading p{margin:0;color:var(--site-muted)}
.rental-publish-page .rental-publish-card{background:#fff;border:1px solid var(--site-line);border-radius:16px;padding:28px}
.rental-publish-page .rental-publish-form{gap:28px}
.rental-publish-page fieldset{display:grid;gap:18px;padding:24px 0 0;border:0;border-top:1px solid var(--site-line);margin:0;min-width:0}
.rental-publish-page legend{font-size:20px;font-weight:700;letter-spacing:-.4px;padding:0 14px 0 0}
.rental-publish-page #listing-form label{font-size:14px}
.rental-publish-page .rental-fields{gap:18px}
.rental-publish-page .listing-consent{font-weight:400}
.rental-publish-page .listing-consent span{font-size:13px}
.rental-publish-page .photo-previews button{width:44px;height:44px}
.rental-publish-page .photo-upload .note{font-size:12px}
.rental-publish-page .rental-publish-success .btn{display:flex;margin:12px 0}
.rental-publish-page .back-link{display:inline-block;padding:10px 0;margin-bottom:18px;font-size:14px;text-decoration:underline}
.rental-publish-page .rental-publish-form input[type=file]{min-height:44px;max-width:100%;overflow:hidden}
@media(max-width:900px){
 .routes-workspace{grid-template-columns:300px minmax(0,1fr)}
 .routes-hero{flex-direction:row;align-items:center}
 .site-header{gap:16px}
 .site-header nav{gap:16px}
 .forum-filter-bar{grid-template-columns:1fr 1fr}
 .forum-filter-bar label:first-child{grid-column:1/-1}
 .forum-filter-bar .btn{justify-self:stretch}
}
@media(max-width:700px){
 .routes-wrap,.forum-wrap{padding:24px 16px 38px}
 .routes-hero,.forum-heading{display:block;padding:0;margin:0 0 22px}
 .routes-hero h1,.forum-heading h1{font-size:32px;letter-spacing:-1.2px}
 .routes-hero p,.forum-heading p{font-size:15px}
 .routes-hero>.btn,.forum-heading>.btn{margin-top:18px;width:auto}
 .routes-toolbar{padding:14px;gap:12px}
 .routes-tabs{gap:3px}
 .routes-tabs button{font-size:14px;min-width:0;min-height:46px}
 .routes-toolbar label{width:100%;min-width:0!important}
 .routes-toolbar .routes-search{flex-basis:100%}
 .routes-results-bar{padding:10px 14px;flex-wrap:wrap;gap:5px 12px}
 .routes-status{flex:1;font-size:12px}
 .routes-view-switch{display:flex;gap:6px;order:3;width:100%;padding-top:7px}
 .routes-view-switch button{flex:1}
 .routes-view-switch [aria-pressed=true]{background:var(--site-ink);border-color:var(--site-ink);color:white}
 .routes-workspace{display:block}
 .routes-results{max-height:none;border:0;padding:12px;gap:12px}
 .routes-explorer[data-view=list] .routes-map-column{display:none}
 .routes-explorer[data-view=map] .routes-results{display:none}
 .routes-map-column{position:static}
 #routes-map{height:360px;height:min(48dvh,420px)}
 .routes-detail{max-height:none;padding:16px 18px 24px}
 .routes-detail-toolbar{padding:12px 18px 0}
 .routes-detail-back{display:block}
 .routes-detail h2{font-size:24px}
 .routes-bottom{display:block}
 .routes-bottom a{display:inline-block;margin-right:20px}
 .rental-map-tools{padding:14px}
 .rental-map-primary{flex-wrap:wrap}
 .rental-map-primary .rental-city-label{flex-basis:100%;min-width:0}
 .rental-map-primary #rental-nearby{flex:none;width:auto}
 .rental-map-note{padding:0 14px 14px}
 .rental-more-filters .rental-map-filters{display:grid;grid-template-columns:1fr}
 .rental-more-filters .rental-map-filters label{min-width:0}
 .forum-filter-bar{padding:16px;gap:12px;grid-template-columns:minmax(0,1fr) auto}
 .forum-filter-bar .btn{padding:12px 18px}
 .forum-wrap .portal-empty{padding:24px 20px}
 .forum-topic{padding:20px}
 .forum-topic h2{font-size:20px}
 .forum-wrap .portal-card,.forum-wrap .forum-post{padding:20px}
 .forum-wrap .forum-new h1{font-size:30px}
 .forum-wrap .portal-lead{font-size:16px}
 .forum-wrap .portal-fields{gap:18px}
 .forum-wrap textarea{font-size:16px}
 .forum-list-top h2{font-size:20px}
 .rental-publish-page{padding:0 16px;margin:22px auto 40px}
 .rental-publish-page .rental-publish-card{padding:20px 16px}
 .rental-publish-page .rental-fields{grid-template-columns:1fr}
 .rental-publish-page .photo-previews{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* Account and trip: a shared, compact workspace. */
[data-account-page],[data-trip-page]{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--site-ink);max-width:1200px;padding:38px 30px 60px}
[data-account-page] h1,[data-trip-page] h1{font:700 clamp(32px,3.6vw,46px)/1.15 system-ui,sans-serif;letter-spacing:-1.8px;margin:10px 0 12px;overflow-wrap:anywhere}
[data-account-page] .btn,[data-trip-page] .btn{min-height:48px;border-radius:8px;font-size:14px;gap:10px;padding:12px 20px;text-align:center}
[data-account-page] .btn.orange,[data-trip-page] .btn.orange{background:var(--site-orange)}
[data-account-page] .btn.green,[data-trip-page] .btn.green{background:var(--site-ink)}
[data-account-page] :is(input,select,textarea),[data-trip-page] :is(input,select,textarea){font-size:16px;min-width:0}
[data-account-page] .portal-link,[data-trip-page] .portal-link{display:inline-flex;align-items:center;min-height:44px;font-size:14px;text-underline-offset:3px}
[data-account-page] summary,[data-trip-page] summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:14px;font-weight:600}
[data-account-page] summary:focus-visible,[data-trip-page] summary:focus-visible{outline:3px solid #d87646;outline-offset:3px;border-radius:4px}
.account-heading,[data-trip-page] .travel-page-heading{margin-bottom:28px}
.account-heading p,[data-trip-page] .travel-page-heading p{font-size:16px;margin:0;color:var(--site-muted)}
.account-travel-links{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 32px}
.account-travel-links>a{display:flex;align-items:center;gap:16px;border:1px solid var(--site-line);border-radius:14px;background:#e2f0ec;padding:22px;color:inherit;text-decoration:none}
.account-travel-links>a:hover{border-color:var(--site-ink);background:#e2e8d7}
.account-travel-links>a>div{flex:1}
.account-travel-links h2{font-size:21px;margin:0 0 7px}
.account-travel-links p{font-size:14px;margin:0;color:var(--site-muted)}
.account-shortcut-symbol{font-size:28px}
.account-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.account-section-heading h2{font-size:24px;margin:0}
.account-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;background:#e2f0ec;padding:5px;border-radius:12px;margin:14px 0 20px}
.account-tabs button{display:flex;align-items:center;justify-content:center;gap:10px;font-size:14px;min-height:48px;border:0;border-radius:8px;padding:10px}
.account-tabs button span{font-size:12px;border-radius:12px;padding:2px 7px;background:#173f3810}
.account-tabs [aria-selected=true] span{background:#ffffff24}
.account-empty{border:1px dashed #bac9b3;border-radius:14px;padding:28px;background:#edf5f2}
.account-empty h3{margin:0;font-size:23px}
.account-empty p{font-size:15px;margin:12px 0 20px;max-width:640px}
.account-list-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13px;margin:0 0 10px;color:var(--site-muted)}
.account-entry{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--site-line);border-radius:12px;padding:20px 22px;background:#fff;margin:10px 0;overflow-wrap:anywhere}
.account-entry>div{min-width:0}
.account-entry h3{font-size:20px;margin:8px 0}
.account-entry p{font-size:14px;margin:5px 0;color:var(--site-muted)}
.account-entry>a{flex-shrink:0}
.account-review-note{padding:10px 12px;background:#f9efde;border-radius:8px}
.account-more{margin-top:12px}
.account-limit{font-size:12px;color:var(--site-muted);margin:16px 0 28px}
.account-settings{background:#fff;border:1px solid var(--site-line);border-radius:14px;padding:0 22px}
.account-settings>summary{padding:18px 0;font-size:16px}
.account-settings>summary span{font-weight:400;color:var(--site-muted);font-size:13px;margin-left:12px}
.account-settings-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;padding:10px 0 22px}
.account-settings h2{font-size:20px}
.account-settings form{display:block}
.account-settings form .btn{margin-top:16px}
.account-session{border-left:1px solid var(--site-line);padding-left:32px;overflow-wrap:anywhere}
.account-session p{font-size:14px}
.account-admin{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--site-line);padding:26px 0 0;margin-top:28px}
.account-admin h2{font-size:20px;margin:0 0 8px}
.account-admin p{font-size:14px;margin:0;color:var(--site-muted)}
.account-login,.trip-login{display:flex;gap:32px;align-items:center;justify-content:space-between}
.account-login h2,.trip-login h2{font-size:24px}
.account-login p,.trip-login p{font-size:15px;max-width:620px}
.account-login .btn,.trip-login .btn{flex-shrink:0}
.account-public-note{font-size:14px;margin-top:24px}
.account-public-note a{text-decoration:underline;text-underline-offset:3px;color:inherit}
.trip-picker{display:flex;align-items:end;justify-content:space-between;gap:24px;background:#e2f0ec;border:1px solid var(--site-line);border-radius:14px;padding:20px}
.trip-picker>label{flex:1;min-width:0;max-width:620px;font-size:13px}
.trip-picker>div{display:flex;gap:20px;flex-wrap:wrap}
.trip-picker a{display:inline-flex;align-items:center;min-height:44px;color:inherit;font-size:14px;text-decoration:underline;text-underline-offset:3px}
.trip-privacy-note{font-size:12px;color:var(--site-muted);margin:12px 0 24px}
[data-trip-page] .travel-form-top{padding:22px;background:#fff}
[data-trip-page] .travel-form-top .portal-fields{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:20px}
.trip-optional{font-size:12px;font-weight:400;color:var(--site-muted)}
.trip-plan-notes{margin-top:12px;border-top:1px solid var(--site-line)}
.trip-plan-notes label{margin:0 0 10px}
[data-trip-page] .travel-summary{padding:12px 18px;margin:16px 0;background:#e2f0ec}
[data-trip-page] .travel-summary span{font-size:13px}
[data-trip-page] .travel-routing{background:#fff;padding:18px 22px;margin:0 0 24px;gap:8px 22px}
[data-trip-page] .travel-routing [data-road-summary]{font-size:14px;min-width:0;flex-basis:60%}
[data-trip-page] .travel-routing strong{font-size:26px;display:inline-block;margin-right:16px}
[data-trip-page] .travel-routing [data-road-summary]>span{display:inline-block}
.trip-route-hint{font-size:12px!important;color:var(--site-muted);margin:2px 0 0;width:100%}
.trip-route-about{flex-basis:100%;font-size:12px}
[data-trip-page] .trip-route-about summary{font-size:12px;padding:10px 0}
[data-trip-page] [data-road-credit]{font-size:11px}
.trip-workspace{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:24px;align-items:start}
.trip-stops-panel,.trip-map-panel{min-width:0}
.trip-stops-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.trip-stops-heading h2,.trip-stops-panel>h2{font-size:23px;margin:0}
.trip-stops-help{font-size:12px;color:var(--site-muted);margin:10px 0 0}
[data-trip-page] .travel-stops{margin:16px 0 24px;gap:12px}
[data-trip-page] .travel-stop{padding:18px 16px;grid-template-columns:28px minmax(0,1fr);gap:12px}
[data-trip-page] .travel-stop h3{font-size:19px;margin:0;line-height:1.4}
[data-trip-page] .travel-stop-no{width:28px;height:28px;font-size:13px}
.trip-stop-content{min-width:0}
.trip-stop-edit{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-top:12px}
.trip-stop-edit label{width:96px;font-size:12px}
.trip-stop-edit input{padding:10px 12px;min-height:44px}
.trip-order{display:flex;gap:8px}
.trip-order button{width:44px;height:44px;border:1px solid #bdcbb9;border-radius:8px;background:#edf5f2;color:var(--site-ink);font-size:21px;cursor:pointer}
[data-trip-page] .trip-order button:disabled{opacity:.35;cursor:default}
.trip-stop-notes{margin-top:7px}
[data-trip-page] .trip-stop-notes summary,[data-trip-page] .trip-stop-links summary{font-size:12px;font-weight:500}
.trip-stop-notes label{font-size:12px}
.trip-stop-notes textarea{min-height:88px!important;font-size:16px}
[data-trip-page] .travel-stop-actions{gap:12px;margin-top:0}
[data-trip-page] .travel-stop-actions button{min-height:44px;font-size:12px;background:#fff}
[data-trip-page] .travel-stop-actions [data-remove]{border-color:transparent;text-decoration:underline;color:#7c4c35}
.trip-stop-links div{display:flex;flex-wrap:wrap;gap:4px 18px}
.trip-stop-links a{font-size:12px;min-height:44px;display:inline-flex;align-items:center;color:inherit;text-decoration:underline}
.trip-map-panel{position:sticky;top:20px}
[data-trip-page] .travel-map{height:480px;margin:0;border:1px solid var(--site-line)}
[data-trip-page] .travel-map-note{margin:12px 0;font-size:12px}
.trip-map-add{display:none!important}
.trip-view-switch{display:none}
[data-trip-page] .travel-save-bar{padding:14px 0;gap:12px;background:#fffffff5}
[data-trip-page] .travel-save-bar p{min-width:0;font-size:12px}
[data-trip-page] .travel-secondary{margin-top:12px;padding-top:0}
[data-trip-page] .travel-secondary>details{border-bottom:1px solid var(--site-line)}
[data-trip-page] .travel-secondary>details>summary{padding:16px 0;font-size:15px}
.trip-delete{border-top:1px solid var(--site-line);margin:12px 0;padding-bottom:12px}
.trip-delete summary{color:#8c422b}
.trip-add-choices{display:grid;gap:12px;margin-top:22px}
.trip-add-choices button{display:block;text-align:left;padding:18px;border:1px solid #c5d1bd;border-radius:12px;background:#fff;color:#173f38;font:inherit;cursor:pointer}
.trip-add-choices button:hover{background:#e2f0ec;border-color:#245148}
.trip-add-choices strong,.trip-add-choices span{display:block}
.trip-add-choices strong{font-size:16px;margin-bottom:8px}
.trip-add-choices span{font-size:13px;line-height:1.6;color:#596b62}
@media(max-width:900px){
 .trip-workspace{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
 .trip-stops-heading{display:block}
 .trip-stops-heading .btn{margin-top:12px}
 .account-login,.trip-login{display:block}
 .account-login .btn,.trip-login .btn{margin-top:8px}
}
@media(max-width:700px){
 [data-account-page],[data-trip-page]{padding:24px 16px 38px}
 [data-account-page] h1,[data-trip-page] h1{font-size:32px;letter-spacing:-1.2px}
 .account-heading,[data-trip-page] .travel-page-heading{margin-bottom:22px}
 .account-heading p,[data-trip-page] .travel-page-heading p{font-size:15px}
 [data-trip-page] .travel-page-heading{gap:18px}
 .account-travel-links{grid-template-columns:1fr;gap:12px;margin-bottom:26px}
 .account-travel-links>a{padding:18px;gap:14px}
 .account-travel-links h2{font-size:20px}
 .account-travel-links p{font-size:13px}
 .account-tabs{grid-template-columns:1fr 1fr}
 .account-tabs button{font-size:13px;gap:8px}
 .account-empty{padding:24px 18px}
 .account-empty h3{font-size:21px}
 .account-empty .btn{width:100%}
 .account-entry{display:block;padding:18px}
 .account-entry>a{margin-top:4px}
 .account-list-actions .btn{padding:10px 12px;font-size:12px}
 .account-settings{padding:0 18px}
 .account-settings>summary span{display:block;margin:3px 0 0;font-size:12px}
 .account-settings-content{grid-template-columns:1fr;gap:20px}
 .account-session{border-left:0;border-top:1px solid var(--site-line);padding:20px 0 0}
 .account-admin{display:block}
 .account-admin .btn{margin-top:18px}
 .account-login,.trip-login{padding:22px 18px}
 .account-login .btn,.trip-login .btn{width:100%}
 .trip-picker{display:block;padding:16px}
 .trip-picker>div{gap:24px;margin-top:8px}
 .trip-privacy-note{font-size:12px;margin-bottom:18px}
 [data-trip-page] .travel-form-top{padding:16px}
 [data-trip-page] .travel-form-top .portal-fields{grid-template-columns:minmax(0,1fr);gap:14px}
 [data-trip-page] .travel-summary{gap:5px 14px;padding:12px 16px}
 [data-trip-page] .travel-summary>span:last-child{width:100%;font-size:12px}
 [data-trip-page] .travel-routing{padding:16px;margin-bottom:16px}
 [data-trip-page] .travel-routing [data-road-summary]{flex-basis:100%}
 [data-trip-page] .travel-routing strong{font-size:24px;margin-right:12px}
 .trip-view-switch{display:flex;gap:6px;background:#e2f0ec;padding:5px;border-radius:10px;margin:0 0 20px}
 .trip-view-switch button{flex:1;min-height:46px;border:0;border-radius:7px;padding:10px;background:#fff;color:var(--site-ink);font:600 14px system-ui,sans-serif;cursor:pointer}
 .trip-view-switch [aria-pressed=true]{background:var(--site-ink);color:white}
 .trip-workspace{display:block}
 [data-trip-view=stops] .trip-map-panel,[data-trip-view=map] .trip-stops-panel{display:none}
 .trip-map-panel{position:static}
 [data-trip-page] .travel-map{height:360px;height:min(50dvh,440px)}
 .trip-map-add{display:inline-flex!important}
 .trip-stops-heading{display:flex}
 .trip-stops-heading h2{font-size:21px}
 .trip-stops-heading .btn{margin:0;padding:12px;font-size:12px}
 [data-trip-page] .travel-stop{gap:10px;padding:16px 12px}
 [data-trip-page] .travel-save-bar{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;padding-bottom:max(12px,env(safe-area-inset-bottom))}
 [data-trip-page] .travel-save-bar p{text-align:center;font-size:11px;line-height:1.5}
 [data-trip-page] .travel-save-bar .btn{width:100%;min-height:46px}
 .trip-add-choices button{padding:16px}
}
@media print{
 [data-trip-page]{max-width:none;padding:0}
 .trip-picker,.trip-privacy-note,.trip-view-switch,.trip-stops-heading button,.trip-map-add,.trip-order,.trip-shared-export{display:none!important}
 .trip-workspace{display:block!important}
 .trip-map-panel,.trip-stops-panel{display:block!important;position:static}
 [data-trip-page] .travel-map{height:300px}
 .trip-stop-notes>summary,.trip-plan-notes>summary,.trip-stop-links{display:none}
 [data-trip-page] .trip-stop-notes label{display:block}
}
/* Saved ideas and guides follow the same portal layout. */
[data-favorites-page],.guide-page{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--site-ink)}
[data-favorites-page],.guide-page .guide-index,.guide-page .guide-article{max-width:1200px;margin:0 auto;padding:38px 30px 60px}
[data-favorites-page] h1,.guide-index-heading h1{font:700 clamp(32px,3.6vw,46px)/1.15 system-ui,sans-serif;letter-spacing:-1.8px;margin:10px 0 12px}
[data-favorites-page] .btn,.guide-page .btn{min-height:48px;border-radius:8px;font-size:14px;gap:10px;padding:12px 20px;text-align:center}
[data-favorites-page] .btn.orange,.guide-page .btn.orange{background:var(--site-orange)}
[data-favorites-page] .btn.green,.guide-page .btn.green{background:var(--site-ink)}
[data-favorites-page] :is(input,select),.guide-page :is(input:not([type=checkbox]),select){font-size:16px;min-width:0}
[data-favorites-page] .portal-link,.guide-page .portal-link{display:inline-flex;align-items:center;min-height:44px;font-size:14px;text-underline-offset:3px}
.favorites-heading,.guide-index-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:0 0 28px}
.favorites-heading p,.guide-index-heading p{font-size:16px;line-height:1.7;margin:0;color:var(--site-muted);max-width:650px}
.favorites-heading>.btn,.guide-index-heading>.btn{flex-shrink:0}
.favorites-toolbar{padding:20px;background:#e2f0ec;border:1px solid var(--site-line);border-radius:14px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:20px;align-items:end}
.favorites-toolbar>label{font-size:13px;min-width:0}
.favorites-toolbar input{min-height:48px;margin-top:7px}
[data-favorites-page] .favorites-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
[data-favorites-page] .favorites-filters button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:48px;padding:10px 6px;font-size:13px;border:0;border-radius:8px}
.favorites-filters button>span{font-size:11px;border-radius:10px;background:#173f3810;padding:2px 5px}
.favorites-filters [aria-pressed=true]>span{background:#ffffff24}
.favorites-results-top,.guide-results-top{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:58px;margin:8px 0}
.favorites-results-top p,.guide-page .guide-count{font-size:13px;color:var(--site-muted);margin:0;line-height:1.6}
.favorites-results-top .portal-link,.guide-results-top .portal-link{font-size:12px;flex-shrink:0}
[data-favorites-page] .travel-fav-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
[data-favorites-page] .travel-fav-card{padding:22px;background:#fff;border-radius:14px;min-width:0}
[data-favorites-page] .travel-fav-card h2{font:650 21px/1.35 system-ui,sans-serif;letter-spacing:-.5px;margin:14px 0 8px}
[data-favorites-page] .travel-fav-card>p{font-size:14px;margin:0 0 8px;overflow-wrap:anywhere}
[data-favorites-page] .travel-fav-card .favorites-open{margin-bottom:8px;font-size:14px}
[data-favorites-page] .travel-controls{flex-direction:column;align-items:stretch;margin-bottom:0;padding-top:14px;border-top:1px solid var(--site-line);gap:8px}
[data-favorites-page] .travel-controls .travel-add{order:-1;border-style:solid!important;border-radius:8px;background:#edf1e5;font-size:13px;min-height:46px}
[data-favorites-page] .travel-favorite{background:transparent!important;border:0!important;color:var(--site-muted)!important;text-decoration:underline;text-underline-offset:3px;padding:10px 0;min-height:44px;font-size:12px}
[data-favorites-page] .favorites-unavailable{font-size:13px!important;padding:10px 12px;background:#f5efe3;border-radius:8px}
.favorites-empty{grid-column:1/-1;padding:28px;border:1px dashed #bac9b3;border-radius:14px;background:#edf5f2}
.favorites-empty h2{font-size:24px}
.favorites-empty p{font-size:15px;max-width:660px;margin:10px 0 20px}
.favorites-more,.guide-more{margin:24px 0 0}
.favorites-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--site-line);padding-top:20px;margin-top:28px;font-size:13px;color:var(--site-muted)}
.favorites-bottom p{margin:0;max-width:650px}
.favorites-bottom a,.favorites-public a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.favorites-bottom a{display:inline-flex;align-items:center;min-height:44px}
.favorites-login{display:flex;align-items:center;justify-content:space-between;gap:32px}
.favorites-login h2{font-size:24px}
.favorites-login p{font-size:15px;max-width:600px}
.favorites-login>.btn{flex-shrink:0}
.favorites-public{font-size:14px;margin-top:24px}
.favorites-legacy{padding:0 20px;border:1px solid var(--site-line);border-radius:12px;background:#edf5f2;margin:0 0 20px}
.favorites-legacy summary{font-size:14px;font-weight:600;min-height:48px;padding:14px 0;cursor:pointer}
.favorites-legacy p{font-size:13px}
.guide-start{display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid var(--site-line);border-radius:14px;background:#edf1e5;padding:20px 24px;margin:0 0 24px}
.guide-start h2{font:650 21px/1.3 system-ui,sans-serif;letter-spacing:-.4px;margin:0 0 7px}
.guide-start p{font-size:14px;line-height:1.6;color:var(--site-muted);margin:0}
.guide-start>a{font-size:14px;min-height:44px;display:inline-flex;align-items:center;flex-shrink:0;color:var(--site-ink);text-decoration:underline;text-underline-offset:3px;font-weight:600}
.guide-page .guide-controls{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:18px;background:#fff;border:1px solid var(--site-line);border-radius:14px;padding:20px;margin:0;align-items:end}
.guide-page .guide-controls>label{font-size:13px;width:auto;min-width:0}
.guide-page .guide-controls :is(input,select){margin:7px 0 0;min-height:48px;border-radius:8px;padding:12px 14px;border-color:#b7c5b6;background:#ffffff;font-size:16px}
.guide-page .guide-index .guide-grid{margin-top:0}
.guide-page .guide-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.guide-page .guide-card{padding:22px;border:1px solid var(--site-line);background:#fff;border-radius:14px;min-height:0;overflow-wrap:anywhere;transition:border-color .15s,background .15s}
.guide-page .guide-card:hover{transform:none;background:#f1f4e9;border-color:#a7b99e}
.guide-page .guide-card :is(h2,h3){font:650 21px/1.4 system-ui,sans-serif;letter-spacing:-.5px;margin:12px 0 10px;max-width:none}
.guide-page .guide-card p{font-size:14px;line-height:1.7;margin:0 0 8px;color:var(--site-muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.guide-page .guide-card .eyebrow{font-size:10px;letter-spacing:1.1px;line-height:1.5}
.guide-page .guide-card .guide-card-foot{font-size:12px;padding-top:18px;line-height:1.6;color:var(--site-ink)}
.guide-page .guide-card-foot span{font-size:12px}
.guide-page .guide-card-foot b{font-size:18px;align-self:end}
.guide-page .guide-empty{padding:28px;border-radius:14px;background:#edf5f2;border-color:#bac9b3;margin:0}
.guide-page .guide-empty h2{font-size:24px;letter-spacing:-.6px}
.guide-page .guide-empty p{font-size:15px;line-height:1.7;margin-bottom:20px}
.guide-page .guide-breadcrumb{margin:0 0 24px;line-height:1.9;font-size:12px}
.guide-page .guide-opening{margin:0 0 30px;max-width:900px}
.guide-page .guide-opening h1{font:700 clamp(30px,3.6vw,44px)/1.2 system-ui,sans-serif;letter-spacing:-1.5px;margin:10px 0 18px;overflow-wrap:anywhere}
.guide-page .guide-lead{font-size:18px;line-height:1.75;margin:0}
.guide-page .guide-byline{font-size:12px;margin-top:18px;gap:8px}
.guide-checklist-jump{display:inline-flex;align-items:center;min-height:44px;font-size:13px;text-decoration:underline;text-underline-offset:3px;margin-top:8px}
.guide-page .guide-layout{grid-template-columns:240px minmax(0,1fr);gap:42px}
.guide-page .guide-toc{top:20px;border:1px solid var(--site-line);border-radius:14px;background:#edf1e5;padding:0 18px 12px;min-width:0}
.guide-toc-panel>summary{font-size:15px;font-weight:650;min-height:48px;padding:16px 0;cursor:pointer}
.guide-page .guide-toc nav{display:flex;gap:0;flex-direction:column;font-size:13px;padding:0;white-space:normal;overflow:visible;width:100%}
.guide-page .guide-toc nav a{display:flex;align-items:center;min-height:44px;padding:12px 0;line-height:1.6;white-space:normal;overflow-wrap:anywhere}
.guide-page .guide-map-link{display:inline-flex;align-items:center;min-height:44px;margin:8px 0 0;font-size:12px}
.guide-page .guide-body{font-size:16px;line-height:1.85;min-width:0}
.guide-page .guide-body h2{font:700 26px/1.35 system-ui,sans-serif;letter-spacing:-.6px}
.guide-page .guide-body section{margin:32px 0;scroll-margin-top:24px}
.guide-page .guide-body section:focus{outline:0}
.guide-page .guide-takeaway{padding:20px 22px;background:#e2f0ec}
.guide-page .guide-checklist{padding:24px;border-radius:14px}
.guide-page .guide-checklist-heading{gap:12px}
.guide-page .guide-checklist-heading h2{font-size:24px}
.guide-page .guide-checklist-heading span{font-size:13px}
.guide-page .guide-checklist label{gap:12px;min-height:48px;font-size:15px;line-height:1.7}
.guide-page .guide-checklist label>span{font-size:15px;font-weight:400;letter-spacing:0;margin:0}
.guide-page .guide-checklist input{width:22px;height:22px;margin-top:3px}
.guide-page .guide-storage-choice{font-size:13px;line-height:1.7;margin:0 0 16px;color:var(--site-muted)}
.guide-storage-choice button{font:inherit;min-height:44px;border:0;background:transparent;color:var(--site-ink);text-decoration:underline;padding:6px 0;cursor:pointer}
.guide-page .guide-actions{display:block;margin-top:18px}
.guide-list-options{margin-top:14px;border-top:1px solid var(--site-line)}
.guide-list-options summary{font-size:13px;min-height:48px;padding:14px 0;cursor:pointer;font-weight:600}
.guide-list-options>div{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.guide-page .guide-actions .text-btn{min-height:44px;text-decoration:underline;font-weight:500;font-size:13px}
.guide-page .guide-related{margin-top:44px;padding-top:28px}
.guide-page .guide-related>h2{font:700 26px/1.3 system-ui,sans-serif;letter-spacing:-.7px;margin:12px 0 22px}
.guide-page .guide-sources h2{font-size:22px}
.guide-page :is(a,button,input,select,summary):focus-visible{outline:3px solid #d87646;outline-offset:3px;border-radius:4px}
@media(max-width:1000px){
 .favorites-toolbar{grid-template-columns:1fr;gap:16px}
 [data-favorites-page] .travel-fav-grid,.guide-page .guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .favorites-login{display:block}
 .favorites-login>.btn{margin-top:8px}
}
@media(max-width:860px){
 .guide-page .guide-layout{display:flex;flex-direction:column;gap:24px}
 .guide-page .guide-toc{position:static;width:100%;padding:0 18px}
 .guide-page .guide-toc .guide-map-link{display:none}
 .guide-page .guide-body{width:100%;max-width:none}
}
@media(max-width:700px){
 [data-favorites-page],.guide-page .guide-index,.guide-page .guide-article{padding:24px 16px 38px}
 [data-favorites-page] h1,.guide-index-heading h1{font-size:32px;letter-spacing:-1.2px}
 .favorites-heading,.guide-index-heading{display:block;margin-bottom:22px}
 .favorites-heading p,.guide-index-heading p{font-size:15px}
 .favorites-heading>.btn,.guide-index-heading>.btn{margin-top:18px}
 .favorites-toolbar{padding:16px;gap:14px}
 [data-favorites-page] .favorites-filters{grid-template-columns:1fr 1fr;gap:6px}
 [data-favorites-page] .favorites-filters button{font-size:13px}
 .favorites-results-top,.guide-results-top{gap:10px;flex-wrap:wrap;padding:4px 0;min-height:54px}
 .favorites-results-top p,.guide-page .guide-count{font-size:12px}
 [data-favorites-page] .travel-fav-grid,.guide-page .guide-grid{grid-template-columns:1fr;gap:14px}
 [data-favorites-page] .travel-fav-card,.guide-page .guide-card{padding:20px}
 [data-favorites-page] .travel-fav-card h2,.guide-page .guide-card :is(h2,h3){font-size:20px}
 [data-favorites-page] .travel-controls{gap:5px}
 .favorites-empty,.guide-page .guide-empty{padding:24px 18px}
 .favorites-empty h2,.guide-page .guide-empty h2{font-size:22px}
 .favorites-more,.guide-more{width:100%}
 .favorites-bottom{display:block}
 .favorites-bottom a{margin-top:8px}
 .favorites-login{padding:22px 18px}
 .favorites-login>.btn{width:100%}
 .guide-start{padding:18px;display:block;margin-bottom:18px}
 .guide-start h2{font-size:20px}
 .guide-start p{font-size:13px}
 .guide-start>a{margin-top:8px}
 .guide-page .guide-controls{grid-template-columns:1fr;padding:16px;gap:14px}
 .guide-page .guide-breadcrumb{font-size:12px;margin-bottom:20px}
 .guide-page .guide-opening h1{font-size:30px;letter-spacing:-1px;line-height:1.25}
 .guide-page .guide-lead{font-size:16px}
 .guide-page .guide-byline{font-size:11px;gap:5px}
 .guide-page .guide-opening{margin-bottom:22px}
 .guide-page .guide-body h2{font-size:23px}
 .guide-page .guide-takeaway{padding:18px}
 .guide-page .guide-checklist{padding:20px 16px}
 .guide-page .guide-checklist-heading h2{font-size:23px}
 .guide-page .guide-actions>[data-download-checklist]{width:100%}
 .guide-page .guide-related>h2{font-size:24px}
}
@media print{
 .guide-page .guide-article{max-width:none;padding:0}
 .guide-checklist-jump,.guide-storage-choice,.guide-list-options{display:none!important}
 .guide-page .guide-layout{display:block}
 .guide-page .guide-body{max-width:none}
 .guide-page .guide-opening h1{font-size:28px}
 .guide-page .guide-card p{display:block}
}
/* Shared contribution forms: the same sections on pages and in the map dialog. */
.entry-place-page,.rental-publish-page{max-width:960px;box-sizing:border-box;margin:34px auto 56px;padding:0 30px}
.entry-place-page,.cp-form-wrap,.portal-entry-form{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--site-ink,#123c3e)}
.entry-place-page .back-link{display:inline-flex;align-items:center;min-height:44px;margin-bottom:18px;font-size:14px;text-decoration:underline;text-underline-offset:4px}
.entry-form-heading{margin-bottom:26px;max-width:760px}
.entry-place-page [data-place-form-page]>h1,.entry-form-heading h1,.entry-form-heading h2{font:700 clamp(30px,3.6vw,44px)/1.15 system-ui,sans-serif;letter-spacing:-1.4px;margin:12px 0}
.entry-form-heading>p{font-size:16px;line-height:1.7;margin:0;color:var(--site-muted,#597170)}
.entry-form-heading .cp-context{font-size:13px;margin-top:12px}
.rental-publish-page .rental-publish-card:has(.portal-entry-form){padding:0;border:0;background:transparent}
.portal-entry-form.cp-form,.portal-entry-form.rental-publish-form{display:grid;gap:20px;min-width:0}
.portal-entry-form .entry-form-intro{background:#eaf0e3;border:1px solid #d5e1df;border-radius:12px;padding:18px 20px;font-size:15px;line-height:1.6}
.portal-entry-form .entry-form-intro p{font-size:14px;margin:4px 0 0;color:#597170;line-height:1.6}
.portal-entry-form .entry-form-nav{order:0;width:auto;white-space:normal;overflow:visible;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;padding:0}
.portal-entry-form .entry-form-nav a{display:flex;align-items:center;justify-content:center;min-height:46px;border:1px solid #d5e1df;border-radius:8px;background:white;color:#123c3e;padding:8px;text-align:center;text-decoration:none;font-size:14px;font-weight:600;line-height:1.4}
.portal-entry-form .entry-form-nav a:hover{background:#eaf0e3}
.portal-entry-form fieldset,.rental-publish-page .portal-entry-form fieldset{min-width:0;margin:0;display:grid;gap:18px;padding:24px;border:1px solid #d5e1df;border-radius:14px;background:#fff;scroll-margin-top:110px}
.portal-entry-form legend,.rental-publish-page .portal-entry-form legend{font:700 21px/1.35 system-ui,sans-serif;letter-spacing:-.4px;padding:0 8px;max-width:100%;color:#123c3e}
.portal-entry-form .entry-optional-label{display:inline-block;font:400 13px/1.5 system-ui,sans-serif;letter-spacing:0;color:#597170}
.portal-entry-form label,.rental-publish-page #listing-form label{display:grid;gap:8px;margin:0;font-size:14px;line-height:1.5;font-weight:600;min-width:0;color:#123c3e}
.portal-entry-form input:not([type=checkbox]):not([type=hidden]),.portal-entry-form select,.portal-entry-form textarea{width:100%;min-width:0;box-sizing:border-box;background:white;color:#123c3e;border:1px solid #b6c5bb;border-radius:8px;padding:12px;min-height:48px;font:400 16px/1.5 system-ui,sans-serif}
.portal-entry-form textarea{resize:vertical;min-height:132px}
.portal-entry-form .cp-fields,.portal-entry-form .rental-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.portal-entry-form .entry-help,.portal-entry-form .cp-small{font:400 13px/1.65 system-ui,sans-serif!important;color:#597170;margin:0}
.portal-entry-form .entry-optional{border:1px solid #d5e1df;border-radius:10px;background:#f8f9f5;min-width:0}
.portal-entry-form .entry-optional summary{padding:14px 16px;min-height:48px;box-sizing:border-box;cursor:pointer;font-size:14px;font-weight:600;line-height:1.6;color:#123c3e}
.portal-entry-form .entry-optional summary span{font-size:13px;font-weight:400;color:#597170;margin-left:5px}
.portal-entry-form .entry-optional-content{display:grid;gap:16px;padding:0 16px 18px;font-size:13px}
.portal-entry-form .entry-optional-content h3,.portal-entry-form .place-optional-heading h3{font-size:17px;line-height:1.4;letter-spacing:0;margin:0 0 10px}
.portal-entry-form .place-optional-heading{padding:0 4px}
.portal-entry-form .place-price-fields{margin:16px 0}
.portal-entry-form label>[data-payment-label]{font:600 14px/1.5 system-ui,sans-serif;letter-spacing:0;color:#123c3e}
.portal-entry-form .place-duplicates{padding:16px;border:1px solid #c9d6ba;border-radius:10px;background:#f2f6ec;font-size:14px;line-height:1.6}
.portal-entry-form .place-duplicates p{margin:8px 0;font-size:13px}
.portal-entry-form .place-duplicates ul{padding-left:20px;margin:0}
.portal-entry-form .place-duplicates a{display:inline-block;padding:10px 0;color:#123c3e}
.portal-entry-form .entry-optional:has(:invalid){scroll-margin-top:100px}
.portal-entry-form .cp-facilities{gap:8px}
.portal-entry-form .cp-check,.portal-entry-form .listing-consent{display:flex;align-items:flex-start;gap:12px;padding:8px 0;font-weight:400;min-height:44px;box-sizing:border-box}
.portal-entry-form .cp-check span,.portal-entry-form .listing-consent span{font:400 14px/1.65 system-ui,sans-serif;letter-spacing:0;text-transform:none;color:#123c3e}
.portal-entry-form input[type=checkbox]{appearance:auto;accent-color:#123c3e;flex:0 0 20px;width:20px;height:20px;margin:2px 0 0;padding:0}
.portal-entry-form .cp-facilities .cp-check{padding:10px;background:white;border:1px solid #d5e1df;border-radius:8px}
.portal-entry-form .cp-facilities>span{font-size:13px}
.portal-entry-form .photo-upload{display:grid;gap:10px;padding:18px;background:#f3f6ed;border:1px dashed #97ad98;border-radius:10px}
.portal-entry-form input[type=file],#listing-form.portal-entry-form input[type=file]{max-width:100%;min-width:0;padding:0;border:0;background:transparent;font-size:14px;min-height:48px}
.portal-entry-form input[type=file]::file-selector-button{min-height:48px;margin-right:10px;padding:10px 14px;border:1px solid #b6c5bb;border-radius:8px;background:white;color:#123c3e;font:600 14px system-ui,sans-serif;cursor:pointer}
.portal-entry-form .photo-previews,.portal-entry-form .cp-previews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.portal-entry-form .photo-previews:empty,.portal-entry-form .cp-previews:empty{display:none}
.portal-entry-form .photo-previews>div,.portal-entry-form .cp-preview{width:auto;min-width:0;position:relative}
.portal-entry-form .photo-previews img,.portal-entry-form .cp-preview img{width:100%;height:130px;object-fit:cover;border-radius:8px}
.portal-entry-form .photo-previews button,.portal-entry-form .cp-preview button{position:absolute;right:5px;top:5px;width:44px;height:44px;border:1px solid #d5e1df;border-radius:50%;background:white;color:#123c3e;font-size:25px;cursor:pointer}
.portal-entry-form .photo-previews small,.portal-entry-form .cp-preview small{font-size:12px}
.portal-entry-form [data-photo-rights]{display:grid;gap:16px;padding-top:8px}
.portal-entry-form [data-form-location]{margin:0;padding:18px;background:#f3f6ed;border:1px solid #d5e1df;border-radius:10px}
.portal-entry-form [data-form-location]>p{font:400 13px/1.65 system-ui,sans-serif;color:#597170}
.portal-entry-form .form-location-actions button{min-height:48px;font-size:14px;border-radius:8px}
.portal-entry-form .form-location-actions a{min-height:44px;box-sizing:border-box}
.portal-entry-form .entry-form-finish{display:grid;gap:16px;background:white;border:1px solid #d5e1df;border-radius:14px;padding:24px}
.portal-entry-form .entry-review-note{padding:14px 16px;border-radius:8px;background:#eaf0e3;font:500 14px/1.65 system-ui,sans-serif;margin:0}
.portal-entry-form .cp-submit-row{gap:16px;display:grid;grid-template-columns:minmax(0,1fr) auto}
.portal-entry-form .btn,.portal-entry-form .cp-link{min-height:48px;box-sizing:border-box;font:600 14px/1.5 system-ui,sans-serif;border-radius:8px}
.portal-entry-form .btn{padding:14px 20px;justify-content:center;text-align:center}
.portal-entry-form .btn.orange{background:var(--site-orange,#d34b26);color:white}
.portal-entry-form .cp-error:not(:empty),.portal-entry-form #listing-form-error:not(:empty){padding:14px;border:1px solid #d8a89b;border-radius:8px;background:#fff3ed;color:#92351d;font:500 14px/1.6 system-ui,sans-serif;margin:0;overflow-wrap:anywhere}
.portal-entry-form .cp-error:empty,.portal-entry-form #listing-form-error:empty{display:none}
.portal-entry-form [hidden]{display:none!important}
.portal-entry-form :focus-visible{outline:3px solid #d34b26;outline-offset:3px}
.cp-dialog:has(.cp-form-wrap){border:1px solid #d5e1df;border-radius:16px;padding:24px;background:#ffffff;color:#123c3e}
.cp-dialog:has(.cp-form-wrap) .cp-close{width:44px;height:44px}
.cp-dialog .entry-form-heading{padding-top:8px}
.cp-dialog .entry-form-heading h2{font-size:30px}
@media(max-width:700px){
 .entry-place-page,.rental-publish-page{padding:0 16px;margin:22px auto 40px}
 .entry-place-page [data-place-form-page]>h1,.entry-form-heading h1,.entry-form-heading h2{font-size:32px;letter-spacing:-1px}
 .portal-entry-form .entry-form-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
 .portal-entry-form fieldset,.rental-publish-page .portal-entry-form fieldset{padding:20px 16px}
 .portal-entry-form legend,.rental-publish-page .portal-entry-form legend{font-size:19px}
 .portal-entry-form .cp-fields,.portal-entry-form .rental-fields{grid-template-columns:1fr}
 .portal-entry-form .entry-form-finish{padding:20px 16px}
 .portal-entry-form .photo-previews,.portal-entry-form .cp-previews{grid-template-columns:repeat(2,minmax(0,1fr))}
 .portal-entry-form .cp-facilities{grid-template-columns:1fr}
 .portal-entry-form [data-form-location]{padding:14px}
 .portal-entry-form .form-location-actions{display:grid;grid-template-columns:1fr}
 .portal-entry-form .cp-submit-row{grid-template-columns:1fr;gap:6px}
 .cp-dialog:has(.cp-form-wrap){padding:16px;max-height:94dvh;box-sizing:border-box}
 .cp-dialog .entry-form-heading h2{font-size:28px}
 .cp-dialog .portal-entry-form fieldset,.cp-dialog .entry-form-finish{padding:16px 12px}
}
