/* Public homepage refinements: readable controls and a shorter path to key tasks. */
:root{--muted:#596b60}
.header nav{font-size:14px}
.header nav>a:not(.nav-book){display:inline-flex;align-items:center;min-height:44px}
.hero-actions{flex-flow:row wrap;align-items:center;gap:12px}
.hero-actions>.viber-link{order:3}
.hero-actions .availability-shortcut{border:1px solid #aebdaf;border-radius:8px;padding:14px 18px;min-height:48px;font-size:14px;font-weight:600;gap:16px}
.hero-actions .availability-shortcut:hover{background:#e7ece1;color:var(--ink)}
.text-link{min-height:44px;line-height:1.5;align-items:center}
.availability-card{grid-template-columns:minmax(0,1fr);gap:24px;padding:32px;align-items:start}
.availability-card>div:first-child .eyebrow{margin:0 0 8px}
.availability-card h2{margin:0 0 10px}
.availability-card>div:first-child>p:last-child{margin:0;max-width:680px;color:var(--muted)}
.availability-selection{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:38px;align-items:start}
.public-calendar{margin:0;max-width:560px}
.public-calendar-nav button{min-width:44px;height:44px}
.public-calendar-week{font-size:13px}
.calendar-day{aspect-ratio:auto;min-height:44px;font-size:15px}
.public-calendar-legend{font-size:12px;line-height:1.6;gap:8px 16px}
.availability-note{font-size:13px;line-height:1.65}
#public-calendar-status:empty,#availability-result:empty{display:none}
#availability-form{background:#fffdf8;border:1px solid #d4ddce;border-radius:12px;padding:25px}
#availability-form h3{font-size:27px;line-height:1.2;margin:0 0 22px}
.availability-card input{font-size:16px;min-height:50px}
#availability-form .button{border-radius:7px;font-size:14px;white-space:normal;text-align:left;gap:12px}
#availability-form>.text-link{margin-top:12px;font-size:14px;font-weight:600}
.calendar-alternative{min-height:44px;font-size:14px}
.arrival-heading p{font-size:15px}
.arrival-address{font-size:14px;min-height:44px;display:inline-flex;align-items:center}
.arrival-tabs{max-width:none}
.arrival-tabs button{font-size:15px;min-height:48px}
.arrival-hub .arrival-bus{max-width:none;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:28px;align-items:start}
.arrival-hub .airport-route,.arrival-hub .airport-planner{margin:0;padding:28px}
.airport-route h3{font-size:29px}
.airport-route p{font-size:15px;line-height:1.8}
.airport-route .text-link,.airport-planner #airport-bus-link{font-size:14px}
.airport-planner label{font-size:14px}
.airport-planner input,.airport-planner select{font-size:16px;min-height:48px}
.airport-planner .button{font-size:14px;border-radius:7px;gap:12px;white-space:normal;text-align:left}
.airport-planner-note{font-size:13px!important}
.arrival-taxi{max-width:none}
.arrival-taxi>div{max-width:660px}
.parking-options p,.parking-option li>a,.parking-note{font-size:14px}
.parking-option li>a{display:inline-flex;align-items:center;min-height:44px}
.parking-legend{font-size:13px;line-height:1.6}
.booking-card{border-radius:12px}
.booking-card label{font-size:13px;line-height:1.5;letter-spacing:0}
.booking-card input,.booking-card select{font-size:16px;min-height:50px;border-radius:6px}
.booking-card .button{border-radius:7px;font-size:14px;white-space:normal;line-height:1.5;text-align:left;gap:12px}
.booking p{font-size:14px}
.booking .booking-status{font-size:12px!important}
.booking-direct{font-size:13px;line-height:1.6;display:block;padding:12px 0}
.contact-messengers a{min-height:46px;font-size:14px}
.contact-number{font-size:17px;line-height:1.6;margin-bottom:16px}
.contact-number span{font-size:12px}
.faq summary{font-size:15px;align-items:center}
.faq summary:after{content:'+';font-size:24px;flex-shrink:0;line-height:1}
.faq details[open] summary:after{content:'−'}
.faq details p{font-size:14px}
.accommodation-copy p{font-size:14px}
.amenities>div{font-size:14px}
.amenities svg,.amenities>div>span{flex-shrink:0}
@media(min-width:761px){#contenuto>section.section-space{scroll-margin-top:-60px}}
@media(min-width:761px) and (max-width:1100px){
 html{scroll-padding-top:155px}
 .header-inner{gap:15px;width:calc(100% - 48px);flex-wrap:wrap;padding-block:16px}
 .header nav{order:3;width:100%;justify-content:center;gap:24px}
 .header .language-picker{margin-left:auto}
 .header nav a{font-size:13px}
 .availability-selection{gap:24px}
}
@media(max-width:760px){
 .mobile-app{scroll-behavior:auto}
 .mobile-app .header-inner{width:calc(100% - 32px);min-height:74px;gap:8px}
 .mobile-app .header .brand{font-size:20px;gap:7px}
 .mobile-app .header .brand svg{width:25px}
 .mobile-app .header .brand small{font-size:6px;letter-spacing:.7px}
 .mobile-app .language-picker{margin-left:auto;padding:0}
 .mobile-app .language-picker select{font-size:16px;width:86px;min-height:44px;padding-inline:3px}
 .mobile-app .menu-button{width:40px;height:44px;flex-shrink:0}
 .mobile-app .header nav{top:74px}
 .mobile-app .header nav>a{min-height:48px;font-size:16px}
 .mobile-app .hero .eyebrow{font-size:10px;margin-bottom:16px;letter-spacing:1.3px}
 .mobile-app .hero-description{font-size:15px;line-height:1.65;margin-bottom:20px}
 .mobile-app .hero-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
 .mobile-app .hero-actions .button,.mobile-app .hero-actions .availability-shortcut{padding:13px 17px;min-height:48px;font-size:14px;width:100%;border-radius:8px}
 .mobile-app .hero-actions>.viber-link{font-size:13px;justify-self:center;min-height:44px;margin:0}
 .mobile-app .hero-actions .availability-shortcut{grid-row:2}
 .mobile-app .hero-visual{margin-top:18px}
 .mobile-app .photo-peek>span{font-size:10px}
 .mobile-app .quick-facts{font-size:12px;line-height:1.5;gap:12px}
 .mobile-app .quick-facts span:before{top:7px}
 .mobile-app .mobile-home-links a{font-size:14px;padding:14px;min-height:52px}
 .mobile-app .mobile-home-links .mobile-admin-link{font-size:12px;min-height:44px}
 .mobile-bottom-nav a{min-height:48px;gap:5px}
 .mobile-bottom-nav span{font-size:11px;line-height:1.3;overflow-wrap:normal}
 .mobile-app .availability-card{padding:20px;gap:22px}
 .mobile-app .availability-card>div:first-child p:last-child{font-size:14px}
 .availability-selection{grid-template-columns:minmax(0,1fr);gap:24px}
 .public-calendar{max-width:none}
 .public-calendar-grid,.public-calendar-week{gap:3px}
 .calendar-day{min-height:39px;font-size:14px}
 .availability-note{font-size:13px}
 #availability-form{padding:19px}
 #availability-form h3{font-size:25px}
 .availability-card label,.booking-card label{font-size:13px;letter-spacing:0}
 .availability-card .date-fields,.booking-card .date-fields{grid-template-columns:minmax(0,1fr);gap:14px}
 .mobile-app .rooms .section-heading>p,.accommodation-copy p,.bathroom-intro p,.body-copy{font-size:15px;line-height:1.7}
 .accommodation-copy .capacity{font-size:13px}
 .accommodation-copy{padding:22px}
 .mobile-app .bathroom-intro .text-link{font-size:14px}
 .mobile-app .amenities>div{font-size:14px;line-height:1.5;gap:10px}
 .mobile-app .arrival-heading p{font-size:14px}
 .mobile-app .arrival-address{font-size:13px}
 .mobile-app .arrival-tabs button{font-size:14px;min-height:48px;padding:12px 7px}
 .arrival-hub .arrival-bus{display:block}
 .mobile-app .arrival-hub .parking-section{padding:0}
 .arrival-hub .airport-route{padding:22px;margin-bottom:18px}
 .arrival-hub .airport-planner{padding:22px}
 .airport-planner .date-fields{grid-template-columns:minmax(0,1fr);gap:0}
 .airport-planner label{font-size:14px}
 .airport-planner #airport-plan-result p{font-size:14px}
 .parking-option li>span{font-size:15px}
 .mobile-app .booking{padding-top:28px}
 .mobile-app .booking-layout{gap:24px}
 .mobile-app .booking h2{font-size:38px;letter-spacing:-1px;line-height:1.1;margin-bottom:14px}
 .mobile-app .booking .eyebrow{font-size:10px;margin-bottom:16px}
 .mobile-app .booking-layout>div:first-child .direct-benefits{display:none}
 .mobile-app .booking .direct-offer{font-size:16px!important;line-height:1.6!important;margin-top:16px;margin-bottom:0}
 .mobile-app .booking-card{padding:22px}
 .mobile-app .booking-card h3{font-size:27px}
 .mobile-app .booking-card .button{font-size:14px}
 .mobile-app .contact-messengers{display:grid;grid-template-columns:1fr 1fr;gap:9px}
 .mobile-app .contact-messengers a{padding:11px 7px;text-align:center;font-size:13px}
 .mobile-app input:not([type=hidden]),.mobile-app select:not(#language-select){font-size:16px;min-height:50px;width:100%}
 .mobile-app .faq summary{font-size:15px;line-height:1.5}
 .mobile-app .faq details p{font-size:14px}
}
@media(max-width:350px){
 .mobile-app .header-inner{width:calc(100% - 24px);gap:4px}
 .mobile-app .header .brand{font-size:17px;gap:5px}
 .mobile-app .header .brand svg{width:20px}
 .mobile-app .header .brand small{font-size:5px}
 .mobile-app .language-picker select{width:82px;font-size:16px}
 .mobile-app .menu-button{width:36px;padding:6px}
 .mobile-app .wrap{width:calc(100% - 32px)}
 .mobile-app .availability-card{padding:16px}
 .calendar-day{min-height:36px}
 .public-calendar-legend{font-size:11px}
 .mobile-bottom-nav span{font-size:10px}
}
