/* Readable cottage text, with strong contrast on warm paper. */
:root{--cocoa:#183a32;--muted:#344d40;--terracotta:#a73f08}
body{font-size:18px;color:var(--cocoa)}
.hero-description,.section-intro{font-size:19px;color:#304a3c;line-height:1.8;max-width:42ch}
.muted,.section-heading>.muted,.amenities p,.policy-card p,.policy-card li,.platform-booking p,.contact-card p,.calendar-help,.inquiry-intro>.fine-print{font-size:17px;color:#304a3c;line-height:1.75}
.policy-card h3,.calendar-intro h3,.estimate-top h3{font-size:27px}.amenities h3{font-size:18px}.cancellation-block h4{font-size:18px;color:#064b88}
.button,.button.small,.hero-actions .button,.hero-actions .text-link,.text-link,.header nav{font-size:16px}.button{min-height:46px}.header .button.small{font-size:15px;max-width:none}.header nav{gap:20px}
.eyebrow,.hero .eyebrow,.policy-number,.step-label,.hero-facts,.calendar-legend,.weekdays,.status-pill,.calendar-bottom p,.calendar-bottom .text-link,.currency-switch,.sync-refresh,.ribbon-rate>span,.ribbon-rate strong .rate-start,.ribbon-content .eyebrow,.ribbon-content>a{font-size:14px}
.eyebrow,.hero .eyebrow{letter-spacing:1.5px}.hero-facts{gap:8px 0}.hero-actions{flex-wrap:wrap}.hero-stamp span{font-size:9px;letter-spacing:.7px}.hero-stamp strong{font-size:20px}.photo-caption,.gallery-photo>span{font-size:16px}
.preview-banner{font-size:14px;line-height:1.65;letter-spacing:.02em;padding-block:9px}.brand-location{font-size:12px;letter-spacing:1.2px}.brand-sub{color:#18582e}.brand-name{color:#064b88}
label,.date-fields label,.inquiry-form label{font-size:16px;color:#263e32}input,select,textarea,.guest-editor input,.guest-editor select,input[type=date],.review-panel textarea{font-size:16px!important;color:#203a31}label input,label select{min-height:46px}.check-label{font-size:16px;gap:12px}.check-label input{width:19px;height:19px;min-height:0;flex:0 0 auto}
.fine-print,.cancellation-block>.fine-print,.inquiry-form>.fine-print,.optional,.register-storage-note,.register-privacy,.register-status,.register-page form .error,.owner-badge{font-size:14px;color:#344c3c;line-height:1.7}
.error{font-size:16px;color:#a12913}.calendar .day{font-size:16px}.calendar .day.past{color:#6e7b74}.calendar .day.selected{color:#fff}.calendar-nav h4{font-size:19px}.calendar-legend,.calendar-bottom{flex-wrap:wrap}.calendar-bottom{row-gap:15px}
.estimate-row,.payment-row,.estimate-panel p,.rate-note{font-size:16px}.estimate-row,.payment-row{gap:14px}.payment-row b{white-space:normal}.currency-switch span{font-size:14px}.total-row{gap:14px}.total-row strong{font-size:31px}.ribbon-content p{font-size:25px}.ribbon-rate strong span{font-size:16px}
.footer-brand span,.footer-kicker,.footer-bottom,.footer .text-link{font-size:14px;color:#edf5eb}.footer-kicker{color:#ffe18a}.footer .text-link{color:#ffe18a}.footer-bottom{gap:16px}.footer-brand span{max-width:420px}.footer-brand strong{font-size:31px}
.album-welcome p,.album-invitation p:last-child,.album-viewer-footer p{font-size:17px;color:#304a3c}.album-back,.album-filter,.album-photo-nav{font-size:16px}.album-filter span,.album-photo-total,.album-results,.album-card-caption>span,.album-viewer-header p,.album-invitation .eyebrow{font-size:13px}.album-filter span{opacity:1}.album-card-caption>span{color:#215c32}.album-card-caption h2{font-size:32px}.album-invitation .button{font-size:16px}.album-preview .gallery-photo>span{font-size:16px}
.register-heading .muted,.register-heading p{font-size:17px}.register-page .header>.text-link,.list-heading .text-link,.guest-item button,.editor-actions .text-link{font-size:16px}.guest-item h3{font-size:19px;color:#064b88}.guest-item p{font-size:16px;color:#304a3c}.guest-item .masked-id{font-size:14px;color:#344c3c}.guest-empty p{font-size:16px}.list-heading h2>span{font-size:14px}.id-field button{font-size:14px;top:16px}.id-field input{padding-right:65px!important}.delete-dialog p,.delete-dialog .button{font-size:16px}.register-layout{grid-template-columns:minmax(350px,1fr) minmax(0,1.3fr)}
@media(max-width:1150px){.header{flex-wrap:wrap;height:auto;min-height:135px;padding-block:20px;row-gap:18px}.header nav{order:3;width:100%;justify-content:center;flex-wrap:wrap}.brand-name{font-size:38px}.cottage-section{gap:45px}.hero{gap:35px}.policy-card{padding-right:22px}.policy-card+.policy-card{padding-left:22px}}
@media(max-width:780px){.header nav{display:none}.header{min-height:120px}.header .button.small{font-size:14px;padding:10px 12px}.hero{grid-template-columns:1fr;gap:38px}.hero-copy{max-width:620px}.hero-visual{max-width:550px;margin-inline:auto}.hero h1{font-size:68px}.hero-description{max-width:42ch}.hero-stamp strong{font-size:19px}.hero-stamp{width:116px;height:116px}.policy-card,.policy-card+.policy-card{padding-inline:0}.register-layout{grid-template-columns:1fr}.owner-badge{white-space:normal}.register-page .header>.text-link{max-width:150px}.album-intro{grid-template-columns:1fr;gap:25px}.album-welcome{max-width:580px}.album-sun{display:none}.album-card-caption h2{font-size:30px}.album-preview .gallery-photo{height:320px}.form-intro>p{font-size:18px}}
@media(max-width:540px){body{font-size:17px}.header{gap:12px;min-height:125px}.brand-name{font-size:30px}.brand-location{font-size:10px;letter-spacing:.7px}.header .button.small{font-size:14px;max-width:112px;gap:9px}.hero h1{font-size:clamp(58px,16vw,70px)}.hero-description,.section-intro{font-size:18px}.hero-facts{font-size:14px;gap:10px 0}.hero-facts span+span{padding-left:9px;margin-left:9px}.hero-actions{gap:20px}.hero-actions .button,.hero-actions .text-link{font-size:16px}.calendar-panel,.estimate-panel{padding:22px 16px}.date-fields{grid-template-columns:1fr}.calendar .day{height:42px}.calendar-legend{gap:14px}.weekdays{font-size:12px}.status-pill{font-size:12px}.booking-badge-kicker{font-size:16px}.booking-badge-name{font-size:46px}.footer-bottom{font-size:14px}.footer-brand img{width:65px;height:65px}.footer-brand strong{font-size:27px}.footer-brand span{font-size:14px}.footer-kicker{font-size:12px}.album-filter{font-size:14px;padding:10px 12px}.album-filter span{font-size:12px}.album-card-caption>span{font-size:11px;letter-spacing:.5px}.album-card-caption h2{font-size:28px}.album-viewer-footer p{font-size:15px}.album-photo-nav{font-size:15px}.album-preview .gallery-photo{height:290px}.guest-item{grid-template-columns:1fr}.guest-item .record-actions{flex-direction:row;align-items:center;gap:23px}.register-page .header>.text-link{max-width:110px;font-size:14px}.register-page .header{height:auto;min-height:115px}.register-heading .muted{font-size:17px}.guest-editor form>.id-field button{top:16px}}
.guest-form-location{width:min(1184px,calc(100% - 96px));margin:0 auto 65px;background:#edf4dc;border:1px solid #c6d6b6;border-radius:18px;padding:30px 36px}.guest-form-location h3{font:29px var(--serif);color:#155a32;margin:0 0 12px}.guest-form-location p{font-size:17px;max-width:65ch}.guest-form-location .eyebrow{font-size:14px;margin-bottom:14px}.inquiry-honey{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.review-panel>.button{margin-top:14px}#send-status{overflow-wrap:anywhere}
@media(max-width:780px){.guest-form-location{width:calc(100% - 40px);padding:25px}}@media(max-width:540px){.guest-form-location{width:calc(100% - 36px);padding:24px 20px}}
.check-times span,.contact-card>span,.estimate-foot,.estimate-panel .fine-print{font-size:14px;color:#304a3c}.check-times strong{font-size:19px;color:#064b88;font-weight:700}.contact-card .contact-email,.contact-card p.contact-number{font-size:18px;color:#064b88}.contact-card h3{font-size:29px}
.register-page .brand-sub{font-size:12px;letter-spacing:1.2px}

/* WhatsApp sits alongside email in the inquiry flow. */
.whatsapp-button{background:#18753a;border-color:#18753a;color:#fff;gap:12px}.whatsapp-button:hover{background:#125b2d;border-color:#125b2d;color:#fff}.contact-card p.whatsapp-contact{margin:18px 0 14px}.inquiry-send-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.inquiry-send-options .button{margin-top:0;gap:10px;justify-content:center;padding-inline:14px;text-align:center;font-size:15px}.inquiry-send-options+p{margin:13px 0 0}.whatsapp-contact .button{font-size:16px;gap:12px}@media(max-width:600px){.inquiry-send-options{grid-template-columns:1fr}.inquiry-send-options .button{font-size:16px}}
