/* Season 2027: clearer offer, room comparison and dependable enquiry. */
:root{--page:#fffdfa;--soft:#f3ede4;--ink:#123e50;--muted:#506772;--price:#b3402d;--coral:#c84935;--coral-hover:#b53c2a}
:root[data-theme=night]{--page:#0e2432;--soft:#173848;--ink:#f3f2e9;--muted:#c0d3d8;--line:#ffffff28;--price:#ffd7bc;--blue:#79cee0;--paper:#173848;--deep:#0a1b29}
body{font-size:16px}
button,a,input,select,textarea{touch-action:manipulation}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #efb44a;outline-offset:4px}
.header-inner{gap:20px}
.desktop-nav{display:flex;gap:24px;margin-left:auto;align-items:center;font-size:15px;font-weight:600}
.desktop-nav a{color:inherit;text-decoration:none}
.header-phone{margin-left:0}
.hero-title{top:38%;width:min(520px,48vw)}
.hero-title h1{margin-bottom:12px}
.hero-title .hero-motto{font-size:15px;letter-spacing:.12em}
.hero-offer{margin:18px auto 0;font-size:19px;line-height:1.5;color:#fff;text-shadow:0 2px 8px #09243b80;width:min(680px,80vw);position:relative;left:50%;transform:translateX(-50%)}
.hero-offer strong{font-size:20px;display:block;margin-bottom:6px;font-weight:600}
.hero-season{display:inline-flex;margin-top:15px;padding:8px 16px;border-radius:24px;background:#0a355680;color:#fff;font-size:14px;letter-spacing:.02em}
.hero-scroll{position:absolute;z-index:3;bottom:4svh;left:50%;transform:translateX(-50%);color:#fff;text-decoration:none;font-size:15px;text-shadow:0 2px 7px #001b30}
.hero .booking-bar{bottom:15svh;width:min(990px,calc(100% - 80px));gap:16px;padding:23px 26px}
.booking-bar label>span{font-size:13px}
.booking-bar .button{font-size:15px}
.home-value{padding:45px 0 30px;background:var(--page)}
.value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.value-grid>div{border-left:2px solid var(--coral);padding-left:18px}
.value-grid strong{display:block;font-size:19px;color:var(--ink);margin-bottom:6px}
.value-grid p{font-size:15px;line-height:1.55;color:var(--muted);margin:0}
.room-card,:root[data-theme=night] .room-card{background:var(--soft)!important;border:1px solid var(--line)}
.room-content,:root[data-theme=night] .room-content{background:transparent!important;color:var(--ink);padding:22px!important}
.room-content h3{font-size:28px}
.room-quick-facts{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0 12px}
.room-quick-facts span{border:1px solid var(--line);border-radius:18px;padding:6px 10px;font-size:14px;color:var(--ink)}
.room-kitchen{font-size:15px;color:var(--muted);margin:0 0 16px}
.room-details summary{font-size:15px;padding:12px 0}
.room-details-body{font-size:15px;line-height:1.7}
.room-facts{display:none}
.room-price{color:var(--price)!important;padding-top:18px!important}
.room-price span{font-size:29px!important}.room-price small{font-size:14px!important;color:var(--ink)!important;margin-top:6px;line-height:1.6}
.room-price .price-from{font-size:16px!important}
.room-base{display:block;font-size:14px;color:var(--muted);margin:10px 0 0;line-height:1.5}
.room-variants button[aria-pressed=true],:root[data-theme=night] .room-variants button[aria-pressed=true]{background:#efe1cf!important;color:#253e45!important;border:2px solid #ae9980;box-shadow:none}
.rooms-footnote{font-size:15px;line-height:1.6;gap:20px}
.current-season{max-width:690px}
.trip-section,.season-section{padding:65px 0;background:var(--page)}
.trip-section h2,.season-section h2{margin-bottom:25px;font-size:clamp(30px,3vw,43px)}
.trip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.trip-card{padding:26px;border:1px solid var(--line);border-radius:20px;background:var(--soft)}
.trip-card h3{font-family:var(--body);font-size:20px;margin:0 0 15px}
.trip-card p{font-size:16px;line-height:1.7;margin:0;color:var(--muted)}
.trip-times{font-size:30px!important;line-height:1.5!important;color:var(--ink)!important;font-weight:700;margin:8px 0!important}
.trip-card .small{font-size:14px;margin-top:12px}
.season-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.season-card{position:relative;border-radius:22px;border:1px solid var(--line);padding:28px;background:var(--soft);color:var(--ink);text-decoration:none;display:flex;flex-direction:column;min-height:230px}
.season-card strong{font-family:var(--heading);font-size:30px;margin-bottom:14px}.season-card p{font-size:16px;line-height:1.7;margin:0 0 20px;color:var(--muted)}
.season-card span{font-size:15px;font-weight:700;color:var(--ink);margin-top:auto}.season-card:hover{border-color:var(--coral)}
.prices-section,:root[data-theme=night] .prices-section{background:var(--soft)!important;color:var(--ink)!important}
.prices-section:before,:root[data-theme=night] .prices-section:before{background:none!important}
.prices-section h2,.prices-heading p,.prices-heading .text-link{color:var(--ink)!important}
.season{color:var(--ink)!important;border:1px solid var(--line)!important;background:var(--page)!important;border-radius:20px;padding:20px!important}
.season .season-name{font-size:15px!important}.season .season-dates{font-size:16px!important}.season strong{font-size:25px!important;color:var(--price)!important}
.season:hover,.season[aria-pressed=true],:root[data-theme=night] .season:hover,:root[data-theme=night] .season[aria-pressed=true]{background:#efe1cf!important;color:#173848!important;border:2px solid #ae9980!important}
.season[aria-pressed=true] strong,.season:hover strong{color:#92321f!important}
.public-prices{grid-column:1/-1;margin-top:30px;overflow:auto;border:1px solid var(--line);border-radius:18px;background:var(--page)}
.public-prices table{width:100%;border-collapse:collapse;min-width:780px;font-size:15px;color:var(--ink)}
.public-prices caption{text-align:left;padding:22px;font-size:18px;font-weight:700}
.public-prices th,.public-prices td{text-align:left;padding:17px 20px;border-top:1px solid var(--line);white-space:nowrap}
.public-prices thead{background:var(--soft)}
.prices-note{grid-column:1/-1;font-size:15px!important;line-height:1.7!important;color:var(--muted)!important;margin-top:18px!important}
.location-map{background:var(--soft);height:auto;min-height:0!important;padding:28px}
.map-load-card{background:var(--page);border:1px solid var(--line);border-radius:18px;padding:26px;display:flex;align-items:center;justify-content:space-between;gap:25px;max-width:1180px;margin:auto}
.map-load-card p{line-height:1.7;color:var(--muted);margin:0}.map-load-card strong{color:var(--ink)}
.map-load-card button{min-width:220px;white-space:normal}
.location-map iframe{height:430px;width:100%;display:block}
.season-opening{font-weight:600;color:var(--ink)!important;font-size:16px!important}
.booking-modal,.message-modal,.prices-modal,:root[data-theme=night] .modal{background:var(--page)!important;color:var(--ink)!important}
.modal{max-height:calc(100svh - 32px);overflow-y:auto}
.modal p{font-size:15px;line-height:1.65}
.modal-form label{font-size:15px!important;line-height:1.55}
.modal input,.modal select,.modal textarea,.contact-form input,.contact-form textarea{background:var(--soft)!important;color:var(--ink)!important;border:1px solid var(--line)!important;font-size:16px!important}
.modal input::placeholder,.modal textarea::placeholder,.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--muted);opacity:1}
.modal input[type=date],.modal select{color-scheme:light}
:root[data-theme=night] .modal input[type=date],:root[data-theme=night] .modal select{color-scheme:dark}
.modal .button,.contact-form .button{background:var(--coral)!important;color:#fff!important;font-size:16px}
.form-consent{display:flex!important;align-items:flex-start;gap:10px;font-size:13px!important;line-height:1.6!important;color:var(--muted)!important;margin:12px 0}
.form-consent input{width:20px!important;height:20px!important;min-width:20px;padding:0!important;margin-top:3px;accent-color:var(--coral)}
.form-consent a{color:var(--ink);text-decoration:underline}
.honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-estimate{padding:16px;background:var(--soft);border-radius:16px;margin:6px 0}
.form-estimate p{margin:0}.form-estimate strong{display:block;font-size:22px;margin:5px 0}.form-estimate small{font-size:12px;line-height:1.6;color:var(--muted)}
.form-error{color:#a42f21!important;background:#fff0e8;border-radius:12px;padding:12px;font-size:14px!important}
.form-status{font-size:15px;line-height:1.7;margin-top:15px;color:var(--ink)}
.request-receipt{font-size:22px!important;font-weight:700;overflow-wrap:anywhere}
.fallback-message{font-size:14px;margin-top:8px;color:var(--ink);text-decoration:underline}
.contact-column h3{font-size:26px}.contact-column .form-help{font-size:14px;line-height:1.65}
.floating-contact{position:fixed;bottom:14px;left:50%;transform:translateX(-50%);z-index:8;display:none;gap:8px;padding:7px;background:var(--page);box-shadow:0 7px 30px #001b3038;border:1px solid var(--line);border-radius:20px;width:min(440px,calc(100% - 28px))}
.floating-contact a{padding:13px;display:flex;align-items:center;justify-content:center;color:var(--ink);font-size:14px;text-decoration:none}
.floating-contact .button{flex:1;font-size:15px;padding:13px 16px}
.footer-legal{font-size:13px;line-height:1.8;margin-top:22px;border-top:1px solid #ffffff30;padding-top:18px;display:flex;gap:25px;flex-wrap:wrap;color:#d2e5e9}.footer-legal a{color:inherit;text-decoration:underline}
@media(min-width:1250px){.header-inner .menu-toggle{display:none}.desktop-nav{gap:20px}.header-book{font-size:14px}}
@media(max-width:1249px){.desktop-nav{display:none}}
@media(max-width:800px){.hero-title{top:27%;width:min(370px,80vw)}.hero-title .hero-motto{font-size:11px}.hero-offer{font-size:14px;margin-top:12px;width:calc(100vw - 46px);line-height:1.45}.hero-offer strong{font-size:16px}.hero-season{font-size:12px;margin-top:10px;padding:6px 10px}.hero .booking-bar{bottom:12svh;width:calc(100% - 32px);padding:19px;gap:12px}.booking-bar label>span{font-size:12px}.hero-scroll{bottom:4svh;font-size:14px}.value-grid{grid-template-columns:1fr 1fr;gap:24px}.home-value{padding:35px 0}.value-grid strong{font-size:16px}.value-grid p{font-size:13px}.trip-grid,.season-cards{grid-template-columns:1fr}.trip-section,.season-section{padding:42px 0}.trip-card{padding:23px}.season-card{min-height:0;padding:23px}.public-prices th,.public-prices td{padding:14px}.map-load-card{display:block;padding:22px}.map-load-card button{margin-top:18px;min-width:0;width:100%}.floating-contact.active{display:flex}body{padding-bottom:82px}.modal{max-height:calc(100svh - 22px);padding:24px 20px!important}.modal h2{font-size:29px}.modal .dates-grid{gap:12px}.modal-form{gap:13px}.form-estimate strong{font-size:20px}.footer-legal{display:block}.footer-legal a{display:block;margin:10px 0}}
@media(max-height:740px) and (min-width:801px){.hero-title{top:40%;width:min(380px,49svh)}.hero-offer{font-size:16px;margin-top:10px}.hero-offer strong{font-size:17px}.hero-season{font-size:12px;margin-top:8px}.hero .booking-bar{bottom:12svh}.hero-title .hero-motto{font-size:11px}}
@media(max-width:800px) and (max-height:740px) and (orientation:portrait){.hero-title{top:32%;width:66vw}.hero-offer{font-size:12px;margin-top:7px}.hero-offer strong{font-size:14px;margin-bottom:3px}.hero-season{font-size:11px;margin-top:5px}.hero .booking-bar{bottom:12svh;padding:15px;gap:10px}.hero .booking-bar input,.hero .booking-bar select{height:45px}.hero .booking-bar .button{height:45px;font-size:13px}}
@media(max-width:800px) and (orientation:landscape){.hero-title{top:20%;width:210px}.hero-offer{font-size:11px;width:520px;margin-top:5px}.hero-offer strong{font-size:13px;margin:0}.hero-season{display:none}.hero .booking-bar{bottom:9svh;width:calc(100% - 44px);padding:11px;gap:10px;grid-template-columns:1fr 1fr .8fr 1.2fr}.hero .booking-bar input,.hero .booking-bar select,.hero .booking-bar .button{height:39px;font-size:12px}.hero-scroll{bottom:1.5svh;font-size:12px}.floating-contact{display:none!important}}
@media(orientation:landscape) and (max-height:560px){.hero-header .header-inner{min-height:65px}.hero-title{top:44%;width:min(210px,24vw)}.hero-title h1{margin-bottom:6px}.hero-title .hero-motto{font-size:9px;margin-bottom:4px}.hero-offer{font-size:12px;line-height:1.4;width:min(530px,85vw);margin-top:6px}.hero-offer strong{font-size:14px;margin-bottom:3px}.hero-season{display:none}.hero .booking-bar{bottom:8svh;padding:12px 16px;gap:12px;grid-template-columns:1fr 1fr .8fr 1.2fr}.hero .booking-bar input,.hero .booking-bar select,.hero .booking-bar .button{height:42px;font-size:12px}.hero-scroll{bottom:1svh;font-size:12px}.hero-header .header-book{min-height:34px;padding:8px 16px;font-size:12px}.floating-contact{display:none!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-theme{transition:none!important}.reveal{opacity:1!important;transform:none!important}}
