/* Shared responsive refinements. The approved desktop composition stays intact. */
.site-editorial .sp-quotes{grid-template-columns:repeat(2,minmax(0,1fr))}
.site-editorial .sp-quotes .tcard,.site-editorial .tcard-author>div{min-width:0;max-width:100%}
.site-editorial .tcard-name,.site-editorial .tcard-hotel{overflow-wrap:anywhere}
@media(max-width:1100px){
 .homepage input:not([type=checkbox]):not([type=radio]):not([type=range]),.homepage select,.homepage textarea,.site-v2 input:not([type=checkbox]):not([type=radio]):not([type=range]),.site-v2 select,.site-v2 textarea{font-size:16px;max-width:100%}
 .site-v2 .room-input{font-size:24px}
 .site-v2 .form-row>*,.site-v2 .extra-info,.site-v2 .addons-box-header>div{min-width:0}
 .site-v2 .addons-box-header{flex-wrap:wrap}
 .site-v2 .addon-price-pill{white-space:normal;max-width:100%;line-height:1.6;overflow-wrap:anywhere}
 .site-v2 .extra-row{gap:18px}
 .site-v2 .charging-input{flex-shrink:0}
 .site-v2 .charging-btn{flex:0 0 44px;width:44px;min-height:44px}
 .site-v2 .charging-input input{width:50px;min-width:0;min-height:44px}
 .site-v2 .room-btn{min-width:44px;min-height:44px}
 .hf-header .hp-demo.btn,.hf-header .hp-menu-toggle{min-height:44px}
 .hf-header .hp-menu-toggle{min-width:44px;justify-content:center}
 .hp-menu{height:100dvh;overscroll-behavior:contain;padding-bottom:max(30px,env(safe-area-inset-bottom))}
 .hp-menu-top,.hp-product-mobile,.hp-menu-bottom{flex-shrink:0}
 .hp-menu:has(.hp-product-mobile) .hp-menu-links{flex:none}
 .hp-language .lang-btn{min-width:44px;min-height:44px}
 .hp-menu-bottom>a,.hf-footer-nav a,.hf-footer-bottom a,.hf-footer-bottom button{min-height:44px;display:inline-flex;align-items:center}
 .hf-footer-nav>div{gap:0}
 .site-v2 .btn,.site-v2 .sp-text-link,.site-v2 .plan-cta,.site-v2 .mf-btn,.homepage .hf-primary,.homepage .hf-secondary{min-height:44px}
 .site-v2 .sp-text-link,.homepage .hf-secondary{display:inline-flex;align-items:center}
 .site-v2 .breadcrumb{flex-wrap:wrap;row-gap:8px}
 .site-v2 .sp-table-scroll{overscroll-behavior-x:contain}
}
@media(max-width:767px){
 .site-editorial .sp-quotes{grid-template-columns:minmax(0,1fr)}
 .site-v2 .sp-editorial-hero>*,.site-v2 .contact-grid>*,.site-v2 .calc-layout>*{min-width:0}
 .site-v2 .addons-box-header{gap:18px}
 .site-v2 .addons-box-header h3{overflow-wrap:anywhere}
 .site-v2 .extra-row:has(.charging-input){flex-wrap:wrap;align-items:flex-start}
 .site-v2 .extra-row:has(.charging-input) .extra-info{flex:1 1 100%}
 .site-v2 .form-input,.site-v2 .form-select,.site-v2 .form-textarea{font-size:16px!important;min-height:48px}
 .site-v2 textarea{min-height:140px}
 .site-v2 .form-check{min-height:44px;align-items:flex-start;padding-top:8px;padding-bottom:8px}
 .site-v2 .form-check input{flex-shrink:0;width:20px;height:20px}
 .site-v2 .sp-table-scroll:focus-visible{outline:2px solid #0a8587;outline-offset:3px}
 .homepage .ap-nav button{min-height:44px;font-size:12px;padding:10px 0}
 .homepage .ap-bottom button{min-height:44px}
 .homepage .ap-nav{bottom:63px}
 .homepage .ap-bottom{padding-top:55px!important}
 .homepage .ap-chapter .hp-link{min-height:44px;align-items:center}
 .hp-menu{padding-left:max(22px,env(safe-area-inset-left));padding-right:max(22px,env(safe-area-inset-right))}
 .hf-footer-main .hp-language{gap:2px}
}
@media(max-width:600px){
 .site-v2 .form-row{grid-template-columns:minmax(0,1fr)}
 .site-v2 .front-design-points{grid-template-columns:minmax(0,1fr)}
 .site-v2 .sp-feature-copy .feature-list{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:360px){
 .hf-header{gap:8px}
 .hf-header .hp-brand{width:130px}
 .hf-header .hp-brand-wordmark{width:130px!important}
 .hf-header .hp-brand-symbol{width:25px;height:25px;top:3px}
 .hf-header .hp-header-actions{gap:10px}
 .hf-header .hp-demo.btn{font-size:10px}
 .hf-footer-main{grid-template-columns:minmax(0,1fr)}
 .hf-footer-main .hp-language{grid-row:3;justify-content:flex-start}
 .site-v2 .sp-related-grid a.mod-card{grid-template-columns:75px minmax(0,1fr);gap:10px 15px!important}
 .site-v2 .sp-related-grid .sp-module-thumb{width:75px}
 .site-v2 .sp-related-grid a.mod-card h3{font-size:22px;overflow-wrap:anywhere}
}
/* Keep the real, scroll-driven app on compact portrait phones too. */
@media(max-width:767px) and (min-height:600px) and (max-height:739px){
 .homepage.ap-tour-motion .ap-top{padding-top:8px;padding-bottom:5px}
 .homepage.ap-tour-motion .ap-visual{min-height:160px}
 .homepage.ap-tour-motion .ap-copy{height:205px}
 .homepage.ap-tour-motion .ap-chapter h2{font-size:24px}
 .homepage.ap-tour-motion .ap-chapter p{font-size:14px;line-height:1.4;margin-bottom:8px}
 .homepage.ap-tour-motion .ap-chapter .hp-link{font-size:11px}
}
/* Short landscape windows use a readable two-column tour instead of clipping. */
@media(min-width:768px) and (max-width:1100px) and (max-height:739px){
 .homepage:not(.ap-tour-motion) .ap-stage{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:25px;align-items:start}
 .homepage:not(.ap-tour-motion) .ap-nav{position:relative;top:auto;grid-column:1/-1;flex-direction:row;overflow-x:auto;gap:22px;padding-bottom:10px;max-width:100%;white-space:nowrap}
 .homepage:not(.ap-tour-motion) .ap-nav button{flex-shrink:0;min-height:44px;font-size:12px}
 .homepage:not(.ap-tour-motion) .ap-visual{top:10px;height:calc(100svh - 20px)}
 .homepage:not(.ap-tour-motion) .ap-copy{min-width:0}
 .homepage:not(.ap-tour-motion) .ap-chapter h2{font-size:30px}
 .homepage:not(.ap-tour-motion) .ap-chapter p{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.homepage .ap-nav{scroll-behavior:auto}}
@media(max-width:1100px){
 .site-v2 input.room-input{font-size:24px!important}
 .site-v2 .big-toggle{width:64px;height:44px;border-radius:22px}
 .site-v2 .big-toggle:after{width:28px;height:28px;left:6px;top:6px}
 .site-v2 .big-toggle.on:after{left:27px}
 .site-v2 .sig-clear-btn{min-height:44px;padding:8px 12px}
 .site-v2 .sp-legal-toc a{min-height:44px;display:flex;align-items:center}
 .site-v2 .sp-table-scroll{scrollbar-width:thin}
}
.site-editorial .tcard-quote{overflow-wrap:anywhere;hyphens:auto}
@media(max-width:1100px){
 .hf-header .hp-brand{height:44px}
 .hf-header .hp-brand-wordmark{top:8px}
 .hf-header .hp-brand-symbol{top:2px}
 .site-v2 .offer-table{min-width:500px}
 .site-v2 .offer-totals-val,.site-v2 .offer-grand-total{white-space:nowrap}
}
@media(max-width:767px){.hf-header .hp-brand-symbol{top:6px}}
@media(max-width:360px){.hf-header .hp-brand-symbol{top:9px}.hf-header .hp-brand-wordmark{top:9px}}
@media(min-width:600px) and (max-width:767px) and (max-height:599px){
 .homepage:not(.ap-tour-motion) .ap-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}
 .homepage:not(.ap-tour-motion) .ap-nav{position:relative;top:auto;bottom:auto;left:auto;right:auto;grid-column:1/-1;flex-direction:row;overflow-x:auto;gap:20px;margin:0;padding-bottom:10px;width:100%;max-width:100%}
 .homepage:not(.ap-tour-motion) .ap-nav button{flex-shrink:0}
 .homepage:not(.ap-tour-motion) .ap-visual{position:sticky;top:10px;height:calc(100svh - 20px);width:100%}
 .homepage:not(.ap-tour-motion) .ap-copy{height:auto;min-width:0}
 .homepage:not(.ap-tour-motion) .ap-chapter{padding-top:12px}
 .homepage:not(.ap-tour-motion) .ap-chapter h2{font-size:27px}
 .homepage:not(.ap-tour-motion) .ap-chapter p{font-size:16px}
}
@media(max-width:1100px){.hf-quick-nav>a{display:inline-flex;align-items:center;min-height:44px}}

.responsive-table-hint{display:none}
@media(max-width:767px){.site-v2 .responsive-table-hint{display:block;font-size:12px;line-height:1.5;color:#64746a;margin:8px 0 12px}}
