/* Contribution forms: compact sections, generous touch targets, portal colours. */
body .entry-place-page,body .rental-publish-page{max-width:960px;margin:28px auto 64px;padding:0 24px;box-sizing:border-box}
body .entry-place-page,body .cp-form-wrap,body .portal-entry-form{font-family:Manrope,system-ui,sans-serif;color:#123c3e}
body :is(.entry-place-page,.rental-publish-page) .back-link{display:inline-flex;align-items:center;min-height:44px;margin-bottom:14px;color:#315e53;font-size:14px;font-weight:700}
body .entry-form-heading,body .rental-publish-heading{max-width:none;margin:0 0 24px;padding:34px 36px;background:#083c3e;color:#fff;border-radius:22px;border-bottom:5px solid #f7d75a}
body :is(.entry-form-heading,.rental-publish-heading) .eyebrow{color:#f7d75a;font:800 11px/1.6 Manrope,system-ui,sans-serif;letter-spacing:1.6px}
body :is(.entry-form-heading,.rental-publish-heading) :is(h1,h2){font:800 clamp(30px,4vw,42px)/1.14 Manrope,system-ui,sans-serif;letter-spacing:-1.3px;color:#fff;margin:12px 0 16px;max-width:670px}
body :is(.entry-form-heading,.rental-publish-heading)>p{font:400 15px/1.75 Manrope,system-ui,sans-serif;color:#e0eeea;margin:0;max-width:630px}
body .entry-form-heading .cp-context{margin-top:14px;font-size:12px;color:#f7d75a}
body .rental-publish-page .rental-publish-heading{max-width:none;border-bottom:5px solid #f7d75a;padding-bottom:34px;margin-bottom:24px}
body .portal-entry-form.cp-form,body .portal-entry-form.rental-publish-form{gap:18px}
body .portal-entry-form .entry-form-intro{background:#fff8dc;border:1px solid #e5dca9;border-radius:14px;padding:18px 22px;font-size:15px}
body .portal-entry-form .entry-form-intro strong{font-weight:800}
body .portal-entry-form .entry-form-intro p{font-size:14px;color:#536b5c;line-height:1.75;margin:5px 0 0}
body .portal-entry-form .entry-form-nav{gap:8px}
body .portal-entry-form .entry-form-nav a{min-height:48px;font:750 13px/1.45 Manrope,system-ui,sans-serif;border-color:#bed3c8;border-radius:10px;padding:10px;background:#fff;color:#123c3e}
body .portal-entry-form .entry-form-nav a:hover{background:#e2f0ec;border-color:#548e7c}
body .portal-entry-form fieldset,body .rental-publish-page .portal-entry-form fieldset{padding:26px;gap:20px;background:#fff;border:1px solid #c6d9cf;border-radius:16px;box-shadow:0 3px 12px #083c3e06;scroll-margin-top:100px}
body .portal-entry-form legend,body .rental-publish-page .portal-entry-form legend{font:800 21px/1.4 Manrope,system-ui,sans-serif;color:#083c3e;letter-spacing:-.4px;padding:0 8px}
body .portal-entry-form label,body .rental-publish-page #listing-form label{font:700 14px/1.55 Manrope,system-ui,sans-serif;gap:8px}
body .portal-entry-form :is(input:not([type=checkbox]):not([type=hidden]),select,textarea){border:1px solid #9db9ad;border-radius:10px;padding:12px 14px;min-height:50px;font:400 16px/1.5 Manrope,system-ui,sans-serif;background:#fff;color:#123c3e}
body .portal-entry-form :is(input,textarea)::placeholder{color:#687e76;opacity:1}
body .portal-entry-form :is(input,select,textarea):focus{border-color:#14645c}
body .portal-entry-form .entry-help,body .portal-entry-form .cp-small{font:400 13px/1.7 Manrope,system-ui,sans-serif!important;color:#506e61}
body .portal-entry-form .entry-optional{border:1px solid #c6d9cf;background:#fff;border-radius:14px;scroll-margin-top:100px}
body .portal-entry-form .entry-optional[open]{border-color:#83ad9b;background:#f5faf7}
body .portal-entry-form .entry-optional summary{font:750 15px/1.6 Manrope,system-ui,sans-serif;min-height:58px;padding:16px 20px;color:#123c3e}
body .portal-entry-form .entry-optional summary span{font-size:12px;color:#526f63;font-weight:500}
body .portal-entry-form .entry-optional-content{gap:18px;padding:4px 22px 22px}
body .portal-entry-form .place-optional-heading{padding:8px 4px 0;scroll-margin-top:100px}
body .portal-entry-form .place-optional-heading h3{font:800 24px/1.3 Manrope,system-ui,sans-serif;margin:0 0 8px;letter-spacing:-.5px}
body .portal-entry-form .entry-skip{display:inline-flex;align-items:center;min-height:44px;color:#315e53;font-size:13px;font-weight:750;text-underline-offset:4px}
body .portal-entry-form .cp-check span,body .portal-entry-form .listing-consent span{font:400 14px/1.65 Manrope,system-ui,sans-serif}
body .portal-entry-form input[type=checkbox]{width:22px;height:22px;flex-basis:22px;accent-color:#14645c}
body .portal-entry-form .cp-facilities .cp-check{padding:12px;border-color:#bed3c8;min-height:50px;border-radius:9px}
body .portal-entry-form .cp-facilities .cp-check:has(input:checked){background:#e2f0ec;border-color:#548e7c}
body .portal-entry-form [data-form-location]{background:#edf6f1;border:1px solid #bed3c8;border-radius:12px;padding:20px}
body .portal-entry-form [data-form-location]>p{font:400 13px/1.7 Manrope,system-ui,sans-serif;color:#506e61}
body .portal-entry-form .form-location-actions{gap:8px}
body .portal-entry-form .form-location-actions button{font:700 13px/1.5 Manrope,system-ui,sans-serif;min-height:48px;border-color:#9db9ad;border-radius:9px;background:#fff;color:#123c3e}
body .portal-entry-form .form-location-actions button:hover{background:#e2f0ec}
body .portal-entry-form .photo-upload{background:#edf6f1;border:1px dashed #7fa18e;border-radius:12px;padding:20px}
body .portal-entry-form input[type=file],body #listing-form.portal-entry-form input[type=file]{padding:0;border:0;background:transparent;font:400 13px/1.5 Manrope,system-ui,sans-serif;min-height:48px}
body .portal-entry-form input[type=file]::file-selector-button{font:750 13px/1.4 Manrope,system-ui,sans-serif;background:#083c3e;color:#fff;border:1px solid #083c3e;border-radius:9px;min-height:48px;padding:12px 14px}
body .portal-entry-form :is(.photo-previews,.cp-previews)>div{border:1px solid #c6d9cf;border-radius:12px;overflow:hidden;background:#fff;display:grid;grid-template-rows:auto auto;align-content:start}
body .portal-entry-form :is(.photo-previews,.cp-previews) img{display:block;aspect-ratio:4/3;width:100%;height:auto;border-radius:0;object-fit:cover}
body .portal-entry-form :is(.photo-previews,.cp-previews) small{font:750 12px/1.5 Manrope,system-ui,sans-serif;padding:11px 8px;text-align:center;background:#f7d75a;color:#123c3e;min-height:44px;box-sizing:border-box;display:grid;align-content:center}
body .portal-entry-form :is(.photo-previews,.cp-previews) .entry-photo-cover{position:static;width:100%;height:auto;min-height:44px;border:0;border-top:1px solid #d6e5db;border-radius:0;padding:8px;font:700 12px/1.5 Manrope,system-ui,sans-serif;background:#fff;color:#123c3e}
body .portal-entry-form .entry-photo-cover:hover{background:#e2f0ec}
body .portal-entry-form :is(.photo-previews,.cp-previews) .entry-photo-remove{position:absolute;right:6px;top:6px;width:44px;height:44px;background:#fff;color:#083c3e;border:1px solid #bed3c8;border-radius:50%;font:400 25px/1 Manrope,system-ui,sans-serif;box-shadow:0 2px 8px #083c3e26}
body .portal-entry-form .entry-form-finish{padding:26px;border-radius:16px;border-color:#bed3c8;border-top:4px solid #f7d75a;scroll-margin-top:100px}
body .portal-entry-form .entry-review-note{background:#e2f0ec;font:500 14px/1.7 Manrope,system-ui,sans-serif;color:#315e53;border-radius:10px}
body .portal-entry-form .btn,body .portal-entry-form .cp-link{min-height:50px;font:750 14px/1.5 Manrope,system-ui,sans-serif;border-radius:10px}
body .portal-entry-form .btn.orange{background:#c74723;border-color:#c74723;color:#fff!important}
body .portal-entry-form .btn.orange:hover{background:#a63819}
body .portal-entry-form :is(.cp-error,#listing-form-error):not(:empty){font-family:Manrope,system-ui,sans-serif}
body .portal-entry-form :disabled{opacity:.6;cursor:wait}
body .portal-entry-form :focus-visible,body .entry-state :focus-visible{outline:3px solid #c74723;outline-offset:3px}
body .entry-state,body .rental-publish-success{background:#fff;border:1px solid #bed3c8;border-top:5px solid #f7d75a;border-radius:16px;padding:28px;line-height:1.75}
body .rental-publish-page .rental-publish-card:has(.entry-state),body .rental-publish-page .rental-publish-card:has(.rental-publish-success){padding:0;background:transparent}
body .entry-state :is(h1,h2,h3),body .rental-publish-success h2{font:800 30px/1.2 Manrope,system-ui,sans-serif;letter-spacing:-.7px;margin:0 0 18px}
body .entry-state p,body .rental-publish-success p{font-size:15px;overflow-wrap:anywhere}
body .entry-state .btn,body .rental-publish-success .btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;margin:8px 8px 0 0;white-space:normal;text-align:center}
body .cp-dialog:has(.cp-form-wrap){width:min(960px,calc(100vw - 24px));padding:24px;border-radius:20px;background:#f6f9f2;box-sizing:border-box}
body .cp-dialog .entry-form-heading{padding:28px 30px;margin-top:28px}
body .cp-dialog .entry-form-heading h2{font-size:32px}
body .cp-dialog:has(.cp-form-wrap) .cp-close{top:8px;right:8px;background:#fff;border-radius:50%;z-index:1}
body:has(.portal-entry-form) .travel-point-dialog{background:#f5faf7;color:#123c3e;border:1px solid #bed3c8;font-family:Manrope,system-ui,sans-serif;padding:28px}
body:has(.portal-entry-form) .travel-point-dialog h2{font:800 28px/1.2 Manrope,system-ui,sans-serif;letter-spacing:-.6px}
body:has(.portal-entry-form) .travel-point-dialog input{font-size:16px;min-height:50px;border-color:#9db9ad}
body:has(.portal-entry-form) .travel-point-dialog .travel-close{width:44px;height:44px;padding:4px}
body:has(.portal-entry-form) .travel-point-dialog .btn.orange{background:#c74723;border-color:#c74723;color:#fff!important}
@media(max-width:700px){
 body .entry-place-page,body .rental-publish-page{padding:0 16px;margin:18px auto 40px}
 body .entry-form-heading,body .rental-publish-heading{padding:26px 22px;border-radius:18px;margin-bottom:20px}
 body .rental-publish-page .rental-publish-heading{padding-bottom:26px;margin-bottom:20px}
 body :is(.entry-form-heading,.rental-publish-heading) :is(h1,h2){font-size:32px;letter-spacing:-1px}
 body :is(.entry-form-heading,.rental-publish-heading)>p{font-size:14px}
 body .portal-entry-form .entry-form-intro{padding:16px 18px}
 body .portal-entry-form .entry-form-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
 body .portal-entry-form .entry-form-nav a{font-size:12px}
 body .portal-entry-form fieldset,body .rental-publish-page .portal-entry-form fieldset{padding:22px 16px;gap:18px}
 body .portal-entry-form legend,body .rental-publish-page .portal-entry-form legend{font-size:20px}
 body .portal-entry-form .entry-optional summary{padding:16px;font-size:14px}
 body .portal-entry-form .entry-optional-content{padding:0 16px 18px}
 body .portal-entry-form .entry-form-finish{padding:20px 16px}
 body .portal-entry-form [data-form-location],body .portal-entry-form .photo-upload{padding:16px}
 body .portal-entry-form .cp-fields,body .portal-entry-form .rental-fields{grid-template-columns:minmax(0,1fr)}
 body .portal-entry-form :is(.photo-previews,.cp-previews){gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}
 body .portal-entry-form .entry-photo-cover{overflow-wrap:anywhere}
 body .cp-dialog:has(.cp-form-wrap){padding:14px;max-height:94dvh}
 body .cp-dialog .entry-form-heading{padding:24px 18px}
 body .cp-dialog .entry-form-heading h2{font-size:28px}
 body .entry-state,body .rental-publish-success{padding:22px 18px}
 body .entry-state .btn,body .rental-publish-success .btn{width:100%;margin:8px 0 0;box-sizing:border-box}
 body:has(.portal-entry-form) .travel-point-dialog{padding:22px 18px}
}
