/* Shared reading and touch sizes, loaded after page styles. */
html{scroll-padding-top:0}
#main .wp-block-button .wp-block-button__link,#main .button,#main button{font-size:14px;min-height:48px;line-height:1.6;white-space:normal;text-align:center}
.header-search-trigger,.home-header .header-search-trigger{width:44px;height:44px}
.home-header .menu-toggle{min-width:44px;min-height:44px}
.home-header .header-cta{font-size:13px;min-height:44px;line-height:1.6}
.home-header.is-scrolled{background:#101514}
.submenu-toggle{width:44px;min-height:44px}
#main :is(.travel-card,.lux-tour-card,.extras-card) h3 a{display:block;min-height:44px}
#main .text-link a,#main .search-result-link,#main .news-card-link{display:inline-flex;align-items:center;min-height:44px;font-size:14px;line-height:1.6}
.site-footer a:not(.brand){min-height:44px;display:flex;align-items:center;font-size:14px;line-height:1.6;padding-block:8px}
.site-footer .footer-phone{font-size:22px}
.site-footer p{font-size:14px;line-height:1.8}
/* Keep footer lists compact without stacking a margin onto every touch target. */
.site-footer{padding-top:44px}
.footer-grid{gap:32px;padding-bottom:32px}
.footer-grid h3{margin-bottom:12px}
.footer-grid p{margin-top:12px}
.footer-grid>div>a:not(.brand){margin-bottom:0}
.footer-policy-links nav{gap:4px 22px;padding-block:12px}
@media(min-width:1361px){.primary-menu,.home-header .primary-menu{gap:22px}}
@media(min-width:1281px) and (max-width:1360px){.primary-menu,.home-header .primary-menu{gap:18px}}
@media(min-width:1281px){
  .primary-menu .nav-item-row{gap:4px}
  .primary-menu .submenu-toggle{width:16px;min-width:16px;flex:0 0 16px}
  .site-footer a:not(.brand){min-height:32px;padding-block:4px}
}
@media(max-width:780px){.footer-grid{gap:26px 22px}}
#main :is(.rental-price-table,.limo-price-table,.xe16-price-table,.xe29-price-table,.trip-price-table,.booking-price-table) :is(th,td){font-size:14px;line-height:1.75}
#main :is(.lux-tour-copy,.travel-card-copy)>.eyebrow,#main .travel-meta{font-size:13px;line-height:1.7;letter-spacing:.4px}
#main :is(.trip-aside .trip-small,.trip-aside-features p,.trip-price-label,.booking-aside-note){font-size:13px;line-height:1.8}
.dtl-album-toggle{display:flex;margin:20px 0 0;border:1px solid #bba16b;background:linear-gradient(115deg,#edd5a0,#ba9653);color:#18211f;cursor:pointer;font-family:var(--sans);padding:12px 20px;border-radius:3px}
.dtl-album-toggle[hidden],.dtl-gallery-preview>figure[hidden]{display:none!important}
#main .dtl-reading-card{display:block;min-width:0;padding:0;border:1px solid #bba16b66;border-radius:4px;align-self:start}
#main :is(.dtl-reading-card,.dtl-section-disclosure)>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;min-height:56px;padding:16px 18px;cursor:pointer;font:600 16px/1.6 var(--sans)}
#main :is(.dtl-reading-card,.dtl-section-disclosure)>summary::-webkit-details-marker{display:none}
#main :is(.dtl-reading-card,.dtl-section-disclosure)>summary::after{content:'+';flex:0 0 24px;font-size:24px;color:#94703a;text-align:center}
#main :is(.dtl-reading-card,.dtl-section-disclosure)[open]>summary::after{content:'−'}
#main .dtl-reading-card>summary h3{font:600 17px/1.55 var(--sans);margin:0;letter-spacing:0}
.dtl-disclosure-content{padding:0 18px 20px;min-width:0}
#main .dtl-reading-card .dtl-disclosure-content>p{font-size:15px;line-height:1.85;color:inherit}
.dtl-section-disclosure{border:1px solid #c5af83;border-radius:4px;background:#faf9f5}
.dtl-section-disclosure>.dtl-disclosure-content{padding:12px 20px 24px}
.dtl-section-disclosure>.dtl-disclosure-content>div+div{margin-top:24px}
.dtl-card-more{margin-top:18px}.dtl-card-more>summary{font-size:14px}
.dtl-section-menu{position:sticky;top:95px;z-index:20;background:#fff;border-bottom:1px solid #dfd8c7}
#main .dtl-section-menu>.shell{display:block;padding-block:0;overflow:visible}
.dtl-page-nav{position:relative;margin:0;padding:0;border:0}
.dtl-page-nav>summary{display:none}
.dtl-page-nav-links{display:flex;gap:24px;align-items:center;overflow-x:auto}
#main .dtl-page-nav-links p{margin:0}
.dtl-page-nav-links a{display:flex;align-items:center;min-height:52px;white-space:nowrap;font:600 13px/1.6 var(--sans)}
#main [id]{scroll-margin-top:165px}
.lux-tour-card{display:flex;flex-direction:column}.lux-tour-copy{display:flex;flex-direction:column;flex:1}
.lux-tour-copy>.text-link{margin-top:auto!important;padding-top:12px}
#main .dtl-card-price{font-size:17px;font-weight:700;color:#7c5c25;margin-block:14px 0}
#main .dtl-card-note{display:block;font:400 13px/1.7 var(--sans);color:#59685d;margin-top:8px}
.travel-card-bottom{display:grid;align-items:start;gap:12px}
.travel-card-bottom .travel-price{font-size:15px;line-height:1.7}
.lux-tour-card:focus-within,.travel-card:focus-within,.extras-card:focus-within,.rental-car:focus-within{outline:2px solid #9b773b;outline-offset:4px}
@media(max-width:1100px){
 .dtl-page-nav>summary{display:flex;justify-content:space-between;align-items:center;gap:18px;min-height:52px;list-style:none;cursor:pointer;font:600 14px/1.6 var(--sans);padding-block:10px}
 .dtl-page-nav>summary::-webkit-details-marker{display:none}
 .dtl-page-nav>summary::after{content:'⌄';font-size:22px;color:#8d6c36}
 .dtl-page-nav[open]>summary::after{content:'⌃'}
 .dtl-page-nav-links{position:absolute;left:0;right:0;top:100%;display:grid;grid-template-columns:1fr 1fr;gap:0;padding:8px 12px;background:#fff;border:1px solid #d8c9aa;box-shadow:0 12px 24px #0002;max-height:calc(100dvh - 170px);overflow:auto}
 .dtl-page-nav-links a{min-height:48px;padding:10px 8px;white-space:normal;font-size:14px}
 .home-header .header-search-trigger{order:2;margin-left:auto}.home-header .header-cta{margin-left:0}
}
@media(max-width:600px){
 .home-header .header-inner.shell{width:calc(100% - 24px);gap:6px}
 .dtl-section-menu{top:80px}
 #main :is(.rental-page,.limo-page,.xe16-page,.xe29-page,.booking-page,.tour-detail-page,.tours-page,.extras-page,.contact-page,.about-page) p:not(.eyebrow):not([class*="price"]):not([class*="breadcrumb"]):not([class*="number"]):not([class*="meta"]):not([class*="tagline"]):not([class*="hero-route"]):not([class*="lead"]):not([class*="source"]){font-size:15px;line-height:1.85}
 #main :is(.trip-small,.trip-price-label,.trip-price span,.booking-aside-note,.booking-price-note,.travel-meta,.extras-small-label){font-size:13px;line-height:1.75}
 #main :is(.trip-source,.booking-source){font-size:12px;line-height:1.8}
 #main :is(.trip-price-table,.booking-price-table) :is(th,td){font-size:14px;line-height:1.75;padding:14px 10px}
 #main .legal-section p{font-size:16px;line-height:1.85}
 #main .section{padding-block:52px}
 #main .trip-main>div+div{margin-top:32px;padding-top:32px}
 #main :is(.limo-album-grid,.xe16-album-grid,.xe29-album-grid,.trip-album-grid,.rental-fleet-photos){grid-auto-rows:150px}
 #main :is(.travel-card,.lux-tour-card,.extras-card,.booking-venue) img{height:210px;min-height:0}
 #main :is(.travel-card-copy,.lux-tour-copy,.extras-card-copy,.booking-venue-copy){padding:22px}
 #main :is(.lux-tour-copy,.travel-card-copy) h3{font-size:20px;line-height:1.5}
 #main .rental-fleet-photos>.wp-block-image{grid-column:auto}
 #main .rental-fleet-photos{grid-template-columns:repeat(2,minmax(0,1fr))}
 #main .dtl-card-price{font-size:17px}
 #main .dtl-card-note{font-size:14px}
 #main .lux-service-copy h3{font-size:18px;line-height:1.5}
 #main .lux-service-copy{inset:auto 14px 16px}
 #main .lux-service-card{min-height:230px}
 #main .booking-venue-grid{grid-template-columns:1fr}
 #main .rental-car{display:grid;grid-template-columns:100px minmax(0,1fr);align-items:start}
 #main .rental-car>.wp-block-image{margin-top:20px}
 #main .rental-car>.wp-block-image img{height:130px;aspect-ratio:auto;object-fit:cover}
 #main .rental-car-copy{padding:20px 18px}
 #main .rental-car-copy h3{font-size:20px;margin-block:8px 12px;line-height:1.4}
 #main .rental-car-copy .text-link{margin-top:12px!important}
 #main .rental-car-copy .text-link a{font-size:14px}
 #main .trip-option img{height:180px}
}
@media(max-width:380px){
 .home-header .brand img{width:44px;height:40px}.home-header .brand{gap:8px}.home-header .brand .brand-name{font-size:13px;letter-spacing:.2px}.home-header .brand .brand-tagline{font-size:9px;letter-spacing:.5px}
 #main .wp-block-buttons{gap:10px}
 #main .wp-block-button .wp-block-button__link{padding-inline:14px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.lux-service-card img,.trip-album-grid img{transition:none}}
