/* Approved review corrections, 16 September 2026. */
.lang-switcher{font-size:15px;line-height:24px}.lang-switcher a{display:inline-block;padding:1px 0}.lang-switcher img{vertical-align:baseline}
body .calypso-link:is(:hover,:focus-within,:active)>.widget-inner{background:#9b0a46}body .calypso-link:is(:hover,:focus-within,:active) .heading,body .calypso-link:is(:hover,:focus-within,:active) a{color:#e0e7eb}.calypso-link a{display:block}
.correction-pricing{padding:0 20px 30px}.price-guide{max-width:780px;margin:0 auto;padding:28px 32px;background:#e0e7eb;border:1px solid #9b0a46;box-shadow:0 0 10px #02000040;color:#222}.price-guide p{margin:0 0 20px}.season-prices{margin:0 0 20px}.season-prices>div{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:baseline;padding:17px 0;border-bottom:1px solid #b6c4cc}.season-prices>div:first-child{border-top:1px solid #b6c4cc}.season-prices dt{font-weight:600;color:#9b0a46}.season-prices dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.price-guide .short-stay{font-size:13px}.booking-action{text-align:center}.booking-link,body[data-route] .widget-form .enquiry-form button[type=submit]{font:400 20px/1.35 Poly,Georgia,serif;letter-spacing:1px;padding:10px 22px;min-height:46px;max-width:100%;white-space:normal;background:#9b0a46;color:white;border:1px solid #020000;border-radius:6px;box-shadow:2px 4px 7px #02000050}.booking-link:visited{color:white}.booking-link:is(:hover,:focus-visible,:active),body[data-route] .widget-form .enquiry-form button[type=submit]:is(:hover,:focus-visible,:active){background:#ddeef3;color:#000;border-color:#9b0a46}.question-heading .heading{line-height:1.4!important;font-size:28px!important;letter-spacing:1px!important}.contact-question{text-align:center;margin:25px 0 10px}.contact-question h2{font:400 26px/1.35 Poly,Georgia,serif;color:#9b0a46;margin:0}.enquiry-form .form-grid{gap:18px}.enquiry-form label{font-weight:400}.enquiry-form textarea{min-height:150px}.enquiry-form .required-mark{color:#bb001f;font-weight:700}.enquiry-form .privacy-notice{font-size:12px;line-height:1.6;color:#555;margin:2px 0 18px}.field-error{display:block;color:#a00020;font-size:12px;line-height:1.5}.field-error:empty{display:none}.enquiry-form [aria-invalid=true]{border-color:#a00020!important}.enquiry-form button[disabled]{opacity:.6;cursor:wait}.enquiry-form .form-status{font-size:13px;line-height:1.5;margin-top:15px}
.availability-panel{max-width:700px;background:#f7f7f7;border:1px solid #9b0a46;padding:20px;color:#222;box-shadow:0 0 10px #02000030}.calendar-nav{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:8px;height:46px}.calendar-nav strong{text-align:center;font-size:17px;white-space:nowrap}.calendar-nav button{border:0;border-radius:3px;background:#9b0a46;color:#fff;width:42px;height:42px;font-size:28px;line-height:1}.calendar-nav button:is(:hover,:focus-visible){background:#ddeef3;color:#9b0a46;outline:1px solid #9b0a46}.calendar{grid-template-rows:32px repeat(6,43px);gap:3px;margin-top:14px}.cal-head{padding:5px 0;text-align:center;font-size:12px}.cal-day{display:flex;align-items:center;justify-content:center;min-height:0;padding:0;border:1px solid #fff;font-size:14px}.cal-day.available{background:#71ae57;color:#12200b}.cal-day.booked{background:#c65762;color:#fff}.cal-day.past{background:#ddd;color:#777}.cal-day.outside{background:#eee;color:#aaa}.calendar-legend{justify-content:center;gap:24px;font-size:13px;min-height:22px;margin-top:15px;color:#333}.status-dot{width:12px;height:12px;border-radius:2px}.status-dot.available{background:#71ae57}.status-dot.booked{background:#c65762}
@media(max-width:767px){.lang-switcher{margin-right:12px}.nav-toggle{width:44px;height:44px}.nav-links.open{padding:5px 0}.nav-links a{font-size:14px;line-height:22px;padding:11px 16px}.nav-parent{justify-content:flex-start;align-items:stretch}.nav-parent>a{flex:0 1 auto}.submenu-toggle{width:44px;min-width:44px;margin:0 0 0 4px;padding:0;background:#ffffff12;border-left:1px solid #ffffff24}.submenu-toggle .chevron{width:9px;height:9px;vertical-align:3px}.nav-group.open>.nav-parent .chevron{transform:rotate(225deg);vertical-align:-1px}.submenu{background:#233f55a6}.submenu a{font-size:13px;padding:11px 22px;white-space:normal}.price-guide{padding:22px 18px}.correction-pricing{padding:0 10px 20px}.season-prices>div{grid-template-columns:1fr;gap:6px;padding:15px 0}.booking-link,body[data-route] .widget-form .enquiry-form button[type=submit]{font-size:18px;letter-spacing:.5px;padding:10px 16px}.question-heading .heading{font-size:22px!important}.contact-question h2{font-size:22px}.enquiry-form .form-grid{grid-template-columns:1fr;gap:0}.availability-panel{padding:12px}.calendar{grid-template-rows:30px repeat(6,39px);gap:2px}.calendar-nav strong{font-size:15px}.cal-head{font-size:11px}.cal-day{font-size:13px}.calendar-legend{gap:18px;font-size:12px}}
/* The Spanish location heading has no original mobile font rule and overflows. */
@media(max-width:767px){body[data-route="/es/localizacion/"] .el-cec6ee4 .heading{font-size:28px;line-height:1.6;letter-spacing:2px;overflow-wrap:break-word}}
.cal-day.pending{background:#eee;color:#aaa}
/* Final review: one enquiry heading component for both forms in every language. */
body[data-route] .enquiry-heading-panel{width:100%;margin:0 0 24px;padding:22px 20px;background:#e0e7eb;border:1px solid #9b0a46;box-shadow:0 0 10px #02000080;text-align:center}
body[data-route] .enquiry-heading-panel h2{margin:0;font:400 36px/1.35 Poly,Georgia,serif;letter-spacing:1px;color:#9b0a46;text-shadow:2px 2px 5px #02000030;overflow-wrap:break-word}
body[data-route] .widget-image:has([data-photo-slot="contact-portrait"]){margin-bottom:8px}
body[data-route] .contact-name-panel{width:fit-content;max-width:calc(100% - 20px);margin:0 auto 20px}
body[data-route] .contact-name-panel>.widget-inner{margin:0;padding:5px 18px;background:#e0e7eb;border:1px solid #9b0a4680;box-shadow:0 2px 4px #02000025}
body[data-route] .contact-name-panel .heading{margin:0;font-size:18px;line-height:1.4;color:#222}
.price-guide .booking-handoff{max-width:580px;margin:15px auto 0;font-size:12px;line-height:1.65;color:#555}
.enquiry-form .field-email{grid-column:1/-1}
.availability-panel{background:#fafafa}.cal-day{position:relative;border:1px solid #e3e3e3;border-radius:2px}.cal-day.available{background:#fff;color:#30352d}.cal-day.available:after{content:'';position:absolute;bottom:0;left:0;right:0;height:4px;background:#a6bd97}.cal-day.unavailable{background:#e9e9e9;color:#777}.cal-day.past{background:#f4f4f4;color:#b8b8b8;border-color:#eee}.cal-day.outside{background:#f6f6f6;color:#bbb;border-color:#eee}.cal-day.outside:after{background:#d8e2d1;height:2px}.status-dot.available{background:#a6bd97}.status-dot.unavailable{background:#d4d4d4}.calendar-nav button:disabled{background:#e7e7e7;color:#aaa;cursor:default;outline:0}.calendar-legend{gap:24px}
@media(max-width:767px){body[data-route] .enquiry-heading-panel{padding:20px 14px;margin-bottom:22px}body[data-route] .enquiry-heading-panel h2{font-size:28px;line-height:1.35;letter-spacing:.5px}.price-guide .booking-handoff{font-size:12px}.enquiry-form .field-email{grid-column:auto}}
