/* R19.16 — one compact mobile rhythm across every customer module. */
@media(max-width:760px){
 body.customer-app{--kj-mobile-edge:14px;--kj-mobile-gap:12px;--kj-mobile-radius:16px}
 .customer-app main{max-width:100%;padding-bottom:calc(88px + env(safe-area-inset-bottom));overflow-x:clip}
 .customer-app main :is(h1,h2,h3,p,li,dt,dd,strong,small,span,a){overflow-wrap:break-word}
 .customer-app main :is(.wrap,.detail-page,.hotel-detail-page,.transport-page,.boat-page,.booking-flow,.bf-page){max-width:100%}
 .customer-app main :is(.detail-breadcrumb,.breadcrumb,.breadcrumbs){margin-bottom:12px;font-size:.75rem!important;line-height:1.45}
 .customer-app main :is(.panel,.account-panel,.hotel-room-card,.transport-vehicle-card,.boat-schedule-card,.booking-list-card,.notification-card){border-radius:var(--kj-mobile-radius)}
 .customer-app main :is(input,select,textarea,button,.button){max-width:100%}
 .customer-app main :is(input,select,textarea){width:100%;min-width:0}

 /* Catalogues and module landing pages. */
 .customer-app :is(.catalog-module-page,.tour-catalog-page,.hotel-catalog-page,.transport-catalog-page,.boat-page) .section{padding-block:22px!important}
 .customer-app :is(.catalog-module-page,.tour-catalog-page,.hotel-catalog-page,.transport-catalog-page,.boat-page) :is(.section-head,.catalog-results-head){gap:6px!important;margin-bottom:14px!important}
 .customer-app :is(.catalog-module-page,.tour-catalog-page,.hotel-catalog-page,.transport-catalog-page,.boat-page) h1{font-size:clamp(1.65rem,7.4vw,2rem)!important}
 .customer-app :is(.search-tabs,.detail-section-nav,.hotel-detail-nav){scrollbar-width:none;-webkit-overflow-scrolling:touch}
 .customer-app :is(.search-tabs,.detail-section-nav,.hotel-detail-nav)::-webkit-scrollbar{display:none}
 .customer-app :is(.tour-search,.hotel-catalog-search,.transport-catalog-search,.boat-search,.search-panel){gap:11px!important;padding:14px!important;border-radius:var(--kj-mobile-radius)!important}
 .customer-app :is(.tour-search,.hotel-catalog-search,.transport-catalog-search,.boat-search,.search-panel) .button{width:100%;min-height:46px}

 /* Hotel detail: search, identity, gallery and rooms stay inside the card. */
 .customer-app .hotel-detail-page{width:min(100% - 28px,1180px);padding-top:14px}
 .customer-app .hotel-detail-search{margin-bottom:16px;padding:14px!important}
 .customer-app .hotel-detail-search form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px!important}
 .customer-app .hotel-detail-search form>label{min-width:0;margin:0!important}.customer-app .hotel-detail-search form>label:nth-of-type(n+3){grid-column:auto}
 .customer-app .hotel-detail-search form>label:nth-of-type(5),.customer-app .hotel-detail-search form>.button{grid-column:1/-1}
 .customer-app .hotel-detail-heading{display:block!important;margin-bottom:16px!important}.customer-app .hotel-detail-heading h1{margin:6px 0 8px!important;font-size:clamp(1.7rem,7.6vw,2.1rem)!important;line-height:1.12!important}
 .customer-app .hotel-heading-price{display:grid!important;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label action" "price action" "unit action";gap:2px 11px;width:100%;margin-top:13px;text-align:left!important}
 .customer-app .hotel-heading-price small{grid-area:label}.customer-app .hotel-heading-price strong{grid-area:price;font-size:1.55rem!important}.customer-app .hotel-heading-price span{grid-area:unit}.customer-app .hotel-heading-price .button{grid-area:action;align-self:center;min-height:46px;padding:10px 14px}
 .customer-app .hotel-detail-gallery{margin-bottom:14px}.customer-app .hotel-detail-nav{display:flex!important;gap:7px!important;margin-bottom:14px!important;padding:7px!important;overflow-x:auto;white-space:nowrap}.customer-app .hotel-detail-nav a{flex:0 0 auto;padding:8px 10px!important;font-size:.75rem!important}
 .customer-app .hotel-detail-overview{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}.customer-app .hotel-detail-overview .panel{padding:16px!important}
 .customer-app .hotel-manual-notice{gap:10px;margin:14px 0!important;padding:13px!important}.customer-app .hotel-manual-notice p{margin:2px 0 0!important;font-size:.75rem!important}
 .customer-app .hotel-room-section>header{margin-bottom:13px}.customer-app .hotel-room-section>header h2{margin:5px 0!important;font-size:1.35rem!important}.customer-app .hotel-room-section>header p{font-size:.8125rem!important}
 .customer-app .hotel-room-card{overflow:hidden}.customer-app .hotel-room-info{display:grid!important;grid-template-columns:92px minmax(0,1fr)!important;gap:12px!important;padding:13px!important}.customer-app .hotel-room-info>img{width:92px!important;height:92px!important;border-radius:11px!important;object-fit:cover}.customer-app .hotel-room-info h3{font-size:1rem!important}.customer-app .hotel-rate-list{padding:0 12px 12px!important}.customer-app .hotel-rate{grid-template-columns:1fr!important;gap:9px!important;padding:12px!important}.customer-app .hotel-rate-price{text-align:left!important}.customer-app .hotel-quantity{width:100%}.customer-app .hotel-quantity select{width:100%}
 .customer-app .hotel-booking-layout{grid-template-columns:1fr!important;gap:12px!important}.customer-app .hotel-summary{position:static!important}

 /* Transport details and booking choices. */
 .customer-app .transport-page{width:min(100% - 28px,1180px);padding-top:14px}.customer-app .transport-hero{display:block!important;margin-bottom:15px!important}.customer-app .transport-hero h1{margin:6px 0 8px!important;font-size:clamp(1.7rem,7.6vw,2.1rem)!important}.customer-app .transport-search{grid-template-columns:1fr!important}.customer-app .transport-intro{grid-template-columns:1fr!important;gap:12px!important}.customer-app .transport-booking-layout{grid-template-columns:1fr!important;gap:12px!important}.customer-app .transport-vehicle-info{grid-template-columns:92px minmax(0,1fr)!important;gap:12px!important;padding:13px!important}.customer-app .transport-vehicle-info>img{width:92px!important;height:92px!important;object-fit:cover}.customer-app .transport-rate{grid-template-columns:1fr!important;gap:9px!important;padding:12px!important}.customer-app .transport-rate-price{text-align:left!important}.customer-app .transport-summary{position:static!important}

 /* Ticket, custom and checkout forms remain vertical and touch friendly. */
 .customer-app .boat-page{width:min(100% - 28px,1180px)}.customer-app .boat-search{grid-template-columns:1fr!important}.customer-app .boat-schedule-list{width:100%;max-width:100%}
 .customer-app :is(.custom-request-form,.booking-flow,.bf-page) :is(.form-grid,.bf-grid){grid-template-columns:1fr!important;gap:12px!important}
 .customer-app :is(.custom-request-form,.booking-flow,.bf-page) :is(.panel,.bf-step){padding:15px!important;border-radius:var(--kj-mobile-radius)!important}
 .customer-app :is(.custom-request-form,.booking-flow,.bf-page) h1{font-size:clamp(1.65rem,7.4vw,2rem)!important}.customer-app :is(.custom-request-form,.booking-flow,.bf-page) .button{min-height:46px}

 /* Account pages already have their own grid; normalize remaining rhythm. */
 .customer-app .account-page{padding-top:14px!important}.customer-app .account-title{margin-bottom:12px!important}.customer-app .account-panel{margin-bottom:12px!important}.customer-app .account-panel:last-child{margin-bottom:0!important}
 .customer-app .notification-card,.customer-app .booking-list-card{max-width:100%;overflow:hidden}.customer-app .booking-choice{grid-template-columns:1fr!important;gap:7px!important}.customer-app .booking-choice>strong{text-align:left!important}

 /* Content pages and footer. */
 .customer-app :is(.cms-page,.blog-article-page,.privacy-page,.terms-page){max-width:100%;overflow-x:clip}.customer-app .public-footer{padding-bottom:calc(86px + env(safe-area-inset-bottom))}
}
@media(max-width:380px){
 .customer-app .hotel-detail-search form{grid-template-columns:1fr!important}.customer-app .hotel-detail-search form>label:nth-of-type(n),.customer-app .hotel-detail-search form>.button{grid-column:1}
 .customer-app .hotel-heading-price{grid-template-columns:1fr;grid-template-areas:"label" "price" "unit" "action"}.customer-app .hotel-heading-price .button{width:100%;margin-top:7px}
 .customer-app .hotel-room-info,.customer-app .transport-vehicle-info{grid-template-columns:76px minmax(0,1fr)!important}.customer-app .hotel-room-info>img,.customer-app .transport-vehicle-info>img{width:76px!important;height:76px!important}
}
