/* Shared device layouts. Keep this stylesheet last in the document head. */
:root{--site-gutter:18px;--site-header-height:150px;--site-content-width:1380px}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--site-header-height) + 20px)}
body{min-width:0}
img,video,canvas{max-width:100%}
body[data-site-theme] :is(.container,.account-shell){width:min(var(--site-content-width),calc(100% - max(var(--site-gutter),env(safe-area-inset-left,0px)) - max(var(--site-gutter),env(safe-area-inset-right,0px))))}
body[data-site-theme] :is(main,article,section,form,fieldset,.panel,.card-body,.pad,.booking-grid>*,.detail-grid>*,.listing-wrap>*,.destination-planner>*,.footer-grid>*,.basket-item>*,.selected-service>*){min-width:0}
body[data-site-theme] :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):not([type=file]),select,textarea){min-width:0;max-width:100%;min-height:46px;font-size:16px}
/* Preserve the dropdown cue over the theme's form-background shorthand. */
body[data-site-theme] select{-webkit-appearance:none;appearance:none;line-height:1.4;padding:11px 38px 11px 12px;background:#f0e7d3 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23735722' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 12px center/16px!important}
body[data-site-theme] select:disabled{background-color:#d7ccb4!important}
body[data-site-theme] :is(button,summary,.btn,.btn-primary,.filter,.tab,.chip,.slot,.destination-choice,.rides-fleet label){min-height:44px}
body[data-site-theme] :is(button,.btn,.btn-primary){max-width:100%;white-space:normal;overflow-wrap:anywhere}
body[data-site-theme] :is(.heart,.qr-btn,.close,.location-dialog-close){min-width:44px;min-height:44px}
body[data-site-theme] .heart{width:44px;height:44px}
body[data-site-theme] .close{width:44px;height:44px}
body[data-site-theme] :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #735722;outline-offset:4px}
body[data-site-theme] .footer :is(a,button):focus-visible{outline-color:#f4e5c2}
body[data-site-theme] :is(.sec-head,.destination-section-head,.stays-heading,.stays-detail-heading,.stays-results-heading,.vendor-head){flex-wrap:wrap}
body[data-site-theme] :is(h1,h2,h3,.basket-total,.price-summary,.stays-price-summary,.destination-card-copy,.destination-service b,.statusline){overflow-wrap:anywhere}
body[data-site-theme] :is(.basket,.bookbox,.journal-article-sidebar,.destination-plan-summary){top:calc(var(--site-header-height) + 20px)}
body[data-site-theme] :is(.destination-section,.live-booking,.ritual-booking,.account-content,.rides-main [id],.jewellery-main [id]){scroll-margin-top:calc(var(--site-header-height) + 20px)}
body[data-site-theme] .professional-header .service-menu-panel{max-height:calc(100vh - var(--site-header-height) - 18px);max-height:calc(100dvh - var(--site-header-height) - 18px);overscroll-behavior:contain;overflow-y:auto}
body[data-site-theme] .professional-header .service-menu-link{min-width:0}
body[data-site-theme] .professional-header .service-menu-link>span{min-width:0;overflow-wrap:anywhere}
body[data-site-theme] .modal{padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
body[data-site-theme] .modal-card{max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain}
body[data-site-theme] .location-dialog{max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px)}
body[data-site-theme] .basket-toast{bottom:max(20px,env(safe-area-inset-bottom,0px))}
body[data-site-theme] .journal-brief-table{table-layout:fixed}
body[data-site-theme] .journal-brief-table :is(th,td){overflow-wrap:anywhere}
body[data-site-theme] .responsive-skip{position:fixed;left:max(16px,env(safe-area-inset-left,0px));top:12px;z-index:1500;transform:translateY(-180%);padding:14px 20px;background:#383122;color:#fff3d9;border:2px solid #e5d4ae;border-radius:6px}
body[data-site-theme] .responsive-skip:focus{transform:none}

/* Compact desktop and tablet navigation uses the complete service menu. */
@media(max-width:1200px){
 body[data-site-theme] .professional-header .service-desktop-nav{display:none}
 body[data-site-theme] .professional-header .service-nav-controls{display:flex}
 body[data-site-theme] .professional-header .header-quick-links{display:none}
 body[data-site-theme] .professional-header .header-shell{grid-template-columns:auto minmax(0,1fr) auto;gap:18px}
 body[data-site-theme] .professional-header .header-location{width:100%;max-width:280px;justify-self:center}
 body[data-site-theme] .professional-header .location-change{display:none}
 body[data-site-theme] .professional-header .header-brand .logo-image{width:200px}
 body[data-site-theme] .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(min-width:1201px){
 body[data-site-theme] .service-desktop-nav>a{padding-inline:4px;font-size:12px;line-height:1.35}
}
@media(max-width:900px){
 body[data-site-theme] .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 body[data-site-theme] .destination-services{grid-template-columns:repeat(2,minmax(0,1fr))}
 body[data-site-theme] .stays-search-shell{position:static}
 body[data-site-theme] .destination-plan-summary{position:static}
}
@media(max-width:720px){
 :root{--site-gutter:14px}
 body[data-site-theme] .professional-header .header-shell{grid-template-columns:minmax(0,1fr) auto;gap:12px 8px}
 body[data-site-theme] .professional-header .header-brand .logo-image{width:186px}
 body[data-site-theme] .professional-header .header-location{grid-column:1/-1;max-width:none;justify-self:stretch;min-height:44px}
 body[data-site-theme] .professional-header .location-change{display:inline}
 body[data-site-theme] .professional-header .header-location-copy b{max-width:none;min-width:0;flex:1}
 body[data-site-theme] .professional-header .header-action{min-width:44px;min-height:44px}
 body[data-site-theme] .service-cinematic-layout{width:calc(100% - max(22px,env(safe-area-inset-left,0px)) - max(22px,env(safe-area-inset-right,0px)))}
 body[data-site-theme] .service-cinematic-eyebrow{letter-spacing:.1em;white-space:nowrap;overflow-wrap:normal}
 body[data-site-theme] .service-cinematic-eyebrow>span{min-width:0;white-space:normal}
 body[data-site-theme] .service-cinematic .service-cinematic-scene{font-size:11px}
 body[data-site-theme] .service-cinematic-scene img{display:none}
 body[data-site-theme] .service-cinematic .service-cinematic-actions a{font-size:13px}
 body[data-site-theme] .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 body[data-site-theme] .hold{flex-wrap:wrap;gap:12px}
 body[data-site-theme] .selected-service{grid-template-columns:64px minmax(0,1fr);gap:12px}
 body[data-site-theme] .selected-service img{width:64px;height:64px}
 body[data-site-theme] .selected-service> :last-child{grid-column:2}
 body[data-site-theme] .basket-item{grid-template-columns:64px minmax(0,1fr);gap:12px}
 body[data-site-theme] .basket-item img{width:64px;height:64px}
 body[data-site-theme] .basket-item-controls{grid-column:2}
 body[data-site-theme] .footer-grid{gap:24px 18px}
 body[data-site-theme] .footer-grid> :first-child{grid-column:1/-1}
 body[data-site-theme] .footer a{display:flex;align-items:center;min-height:44px;margin:2px 0;font-size:14px}
 body[data-site-theme] .modal-card{padding:20px 16px}
 body[data-site-theme] .journal-brief-table :is(th,td){padding:10px;font-size:14px}
 body[data-site-theme] .live-booking .live-actions label{max-width:none}
 body[data-site-theme] .ritual-feature-copy{padding:24px 20px}
}
@media(max-width:540px){
 body[data-site-theme] :is(.product-grid,.destination-fields,.rides-trip-fields,.live-filters,.live-contact,.manager-fields){grid-template-columns:minmax(0,1fr)}
 body[data-site-theme] .destination-wide{grid-column:auto}
 body[data-site-theme] .destination-card{display:flex}
 body[data-site-theme] .destination-grid{grid-template-columns:minmax(0,1fr)}
 body[data-site-theme] .destination-card>img{height:200px;min-height:0}
 body[data-site-theme] .destination-services{grid-template-columns:minmax(0,1fr)}
 body[data-site-theme] .destination-service{display:grid;grid-template-columns:100px minmax(0,1fr)}
 body[data-site-theme] .destination-service>img{height:100%;min-height:130px}
 body[data-site-theme] .stays-directory-grid{grid-template-columns:minmax(0,1fr)}
 body[data-site-theme] .stays-directory-card{display:grid;grid-template-columns:100px minmax(0,1fr)}
 body[data-site-theme] .stays-directory-card .stays-cover{height:100%;min-height:140px}
 body[data-site-theme] .stays-search>label:nth-of-type(2),body[data-site-theme] .stays-search>label:nth-of-type(3){grid-column:1/-1}
 body[data-site-theme] :is(.destination-form-actions,.stays-promo,.rides-sheet-actions){gap:10px}
 body[data-site-theme] .destination-form-actions :is(.btn-primary,.destination-secondary){flex-basis:100%;width:100%}
 body[data-site-theme] .rides-fleet input[type=number]{min-height:44px;width:72px}
 body[data-site-theme] .sec-head{align-items:start;flex-direction:column;gap:12px}
 body[data-site-theme] .statusline{flex-wrap:wrap}
}
@media(max-width:360px){
 body[data-site-theme] .professional-header .header-brand .logo-image{width:150px}
 body[data-site-theme] .professional-header .header-location-copy small{display:none}
 body[data-site-theme] .professional-header .service-menu-panel{grid-template-columns:minmax(0,1fr)}
 body[data-site-theme] .professional-header .service-menu-link{min-height:70px}
 body[data-site-theme] .service-cinematic h1,body[data-site-theme] .service-cinematic h2{font-size:39px}
 body[data-site-theme] .service-cinematic-eyebrow{font-size:9px}
 body[data-site-theme] .stays-property{grid-template-columns:minmax(0,1fr)}
 body[data-site-theme] .stays-property .stays-cover{min-height:180px}
}
/* Short landscape screens keep the content area available below navigation. */
@media(max-height:600px) and (max-width:1200px){
 body[data-site-theme] .professional-header{position:relative}
 body[data-site-theme] .stays-search-shell,body[data-site-theme] .account-sidebar{position:static}
 body[data-site-theme] .service-cinematic-layout{padding-top:38px;padding-bottom:24px;gap:32px}
 body[data-site-theme] .service-cinematic,body[data-site-theme] .service-cinematic-layout{min-height:540px}
 body[data-site-theme] .professional-header .service-menu-panel{max-height:70vh;max-height:70dvh}
}
/* Large monitors and TV viewports retain comfortable reading widths. */
@media(min-width:1920px){
 :root{--site-content-width:1600px;--site-gutter:64px}
 body{font-size:18px}
 body[data-site-theme] .service-desktop-nav>a{font-size:14px;padding:14px 6px}
 body[data-site-theme] .professional-header .header-action{font-size:14px}
 body[data-site-theme] .professional-header .header-location-copy b{font-size:16px}
 body[data-site-theme] .service-cinematic .service-cinematic-scene{font-size:13px}
 body[data-site-theme] .service-cinematic-scene span{max-width:150px}
 body[data-site-theme] .service-cinematic-scenes{min-width:520px}
 body[data-site-theme] .service-cinematic .service-cinematic-actions a{font-size:16px;min-height:54px}
 body[data-site-theme] :is(.card h3,.service-tile b,.gift-card b){font-size:20px}
 body[data-site-theme] :is(.sub,.footer a,.card-actions .btn,.card-actions .btn-primary){font-size:16px}
 body[data-site-theme] .marketplace-card.compact-card:not([data-card-expanded]){min-height:390px}
 body[data-site-theme] :is(.service-tile,.gift-card).marketplace-card.compact-card:not([data-card-expanded]){min-height:285px}
}
@media(min-width:2560px){
 :root{--site-content-width:1920px;--site-gutter:96px}
 body{font-size:20px}
 body[data-site-theme] .service-cinematic,body[data-site-theme] .service-cinematic-layout{min-height:840px}
 body[data-site-theme] .service-cinematic-copy{max-width:1000px}
 body[data-site-theme] .service-cinematic h1,body[data-site-theme] .service-cinematic h2{font-size:112px;max-width:1050px}
 body[data-site-theme] .service-desktop-nav>a{font-size:16px;padding-inline:8px}
 body[data-site-theme] .professional-header .header-action{font-size:16px;min-height:52px}
 body[data-site-theme] .professional-header .header-brand .logo-image{width:260px;height:56px}
 body[data-site-theme] .service-cinematic .service-cinematic-scene{font-size:16px}
 body[data-site-theme] .service-cinematic-scenes{min-width:620px}
 body[data-site-theme] .service-cinematic-scene span{max-width:180px}
 body[data-site-theme] .service-cinematic .service-cinematic-playback button{min-width:54px;min-height:54px;font-size:20px}
 body[data-site-theme] .service-cinematic .service-cinematic-playback .service-cinematic-motion{font-size:16px}
 body[data-site-theme] :is(.sec-head h2,.destination-main h2){font-size:42px}
 body[data-site-theme] .professional-header .service-desktop-nav>[data-service-category="entertainment"]{max-width:130px}
}
@media(hover:none),(pointer:coarse){
 body[data-site-theme] :is(.card,.marketplace-card,.destination-card,.destination-service,.stays-property):hover{transform:none}
 body[data-site-theme] .marketplace-card:hover img{transform:none}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body[data-site-theme] :is(.card,.marketplace-card,.destination-card,.destination-service,.stays-property,.responsive-skip){transition:none;transform:none}body[data-site-theme] .responsive-skip:not(:focus){transform:translateY(-180%)}}
@media print{body[data-site-theme] .responsive-skip{display:none}:root{--site-header-height:0px}}
