/* R19.3 — catalogue banners, collapsible admin navigation, mobile customer menu. */
.catalog-visual-hero{position:relative;isolation:isolate;min-height:360px;display:flex;align-items:center;overflow:hidden;background:#083b54;color:#fff}
.catalog-visual-backdrop{position:absolute;z-index:-3;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 46%}
.catalog-visual-shade{position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,rgba(3,48,68,.94) 0%,rgba(3,67,87,.8) 48%,rgba(3,67,87,.24) 100%)}
.catalog-visual-copy{padding-block:72px;overflow-wrap:anywhere}
.catalog-visual-copy .eyebrow{color:#8ee5dc}
.catalog-visual-copy h1{max-width:780px;margin:10px 0 14px;color:#fff;font-size:clamp(2.25rem,5vw,4.4rem);line-height:1.04;letter-spacing:-.04em}
.catalog-visual-copy .content-rich{max-width:720px;color:#effcff;font-size:1.04rem;line-height:1.7}
.catalog-visual-copy .content-rich>:first-child{margin-top:0}.catalog-visual-copy .content-rich>:last-child{margin-bottom:0}
.tour-catalog-wrap,.hotel-catalog-wrap,.boat-wrap{position:relative}.tour-catalog-wrap>.tour-search,.hotel-catalog-wrap>.hotel-catalog-search,.boat-wrap>.boat-search{margin-top:-34px;z-index:2}
.catalog-module-page>.section{padding-top:40px}.catalog-module-page .search-tabs{margin-top:0}

.admin-sidebar,.admin-workspace{transition:width .22s ease,margin-left .22s ease}
.admin-sidebar{overflow-x:hidden;overflow-y:auto}
.admin-sidebar-head{display:flex;align-items:center;gap:8px;min-height:40px}
.admin-sidebar-head .brand{min-width:0;flex:1;margin:0}
.admin-brand-text,.admin-nav-text,.workspace-label,.sidebar-account{transition:opacity .15s ease}
.admin-sidebar-toggle{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;padding:7px;border:1px solid rgba(255,255,255,.2);border-radius:9px;background:rgba(255,255,255,.06);color:#d9e7ed;cursor:pointer}
.admin-sidebar-toggle:hover{background:rgba(255,255,255,.14);color:#fff}.admin-sidebar-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}
.workspace-nav a{position:relative;justify-content:flex-start!important;min-height:48px;white-space:nowrap}
.admin-nav-icon{display:grid!important;place-items:center;flex:0 0 23px;min-width:23px!important;width:23px;height:23px;font-size:0!important}
.admin-nav-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.admin-nav-text{min-width:0!important;font-size:13px!important;overflow:hidden;text-overflow:ellipsis}
.admin-nav-count{margin-left:auto}.admin-nav-section{display:block;margin:18px 12px 5px;color:#7895a5;font-size:9px;font-weight:800;letter-spacing:1.3px}
.admin-app.admin-sidebar-collapsed .admin-sidebar{width:78px;padding-inline:13px}
.admin-app.admin-sidebar-collapsed .admin-workspace{margin-left:78px}
.admin-app.admin-sidebar-collapsed .admin-sidebar-head{display:block}.admin-app.admin-sidebar-collapsed .admin-sidebar-head .brand{justify-content:center}
.admin-app.admin-sidebar-collapsed .admin-brand-text,.admin-app.admin-sidebar-collapsed .workspace-label,.admin-app.admin-sidebar-collapsed .admin-nav-text,.admin-app.admin-sidebar-collapsed .admin-nav-section,.admin-app.admin-sidebar-collapsed .sidebar-account{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.admin-app.admin-sidebar-collapsed .admin-sidebar-toggle{margin:14px auto 16px}.admin-app.admin-sidebar-collapsed .admin-sidebar-toggle svg{transform:rotate(180deg)}
.admin-app.admin-sidebar-collapsed .workspace-nav{gap:7px}.admin-app.admin-sidebar-collapsed .workspace-nav a{justify-content:center!important;padding:12px}
.admin-app.admin-sidebar-collapsed .admin-nav-count{position:absolute;top:4px;right:4px;min-width:16px;width:16px;height:16px;padding:0;font-size:0;border:2px solid #142b38}

@media(max-width:1200px) and (min-width:801px){.admin-app.admin-sidebar-collapsed .admin-sidebar{width:72px}.admin-app.admin-sidebar-collapsed .admin-workspace{margin-left:72px}}
@media(max-width:1050px){
 .customer-app.mobile-menu-open{overflow:hidden}
 .customer-app.mobile-menu-open::before{content:"";position:fixed;z-index:90;inset:0;background:rgba(3,32,46,.5);backdrop-filter:blur(2px)}
 .customer-app .header{isolation:isolate}
 .customer-app .header>[data-main-nav]{position:absolute;top:100%;left:14px;right:14px;z-index:110;display:none!important;width:auto;max-height:calc(100vh - 90px);padding:12px!important;border:1px solid #d8e8ee!important;border-radius:0 0 16px 16px;background:#fff;box-shadow:0 18px 38px rgba(4,42,59,.2);overflow-y:auto;overflow-x:hidden!important;flex-direction:column;align-items:stretch;gap:3px}
 .customer-app .header>[data-main-nav].is-open{display:flex!important}
 .customer-app .header>[data-main-nav] a{display:flex;align-items:center;min-height:48px;width:100%;padding:11px 14px;border-radius:9px;color:#153f51;font-size:15px;font-weight:700;white-space:normal}
 .customer-app .header>[data-main-nav] a:hover,.customer-app .header>[data-main-nav] a.current{background:#e8f7f8;color:#00768a}
}
@media(max-width:800px){.admin-sidebar-toggle{display:none}.admin-mobile-menu .workspace-nav a{min-height:46px}.admin-mobile-menu .admin-nav-section{margin-left:14px}.admin-app.admin-sidebar-collapsed .admin-workspace{margin-left:0}}
@media(max-width:680px){
 .catalog-visual-hero{min-height:310px}.catalog-visual-copy{padding-block:52px}.catalog-visual-shade{background:linear-gradient(90deg,rgba(3,48,68,.94),rgba(3,67,87,.72))}
 .catalog-visual-copy h1{font-size:clamp(2rem,10vw,3rem)}.catalog-visual-copy .content-rich{font-size:.96rem;line-height:1.65}
 .tour-catalog-wrap>.tour-search,.hotel-catalog-wrap>.hotel-catalog-search,.boat-wrap>.boat-search{margin-top:-22px}
 .customer-app .header>[data-main-nav]{left:8px;right:8px}
}
@media(prefers-reduced-motion:reduce){.admin-sidebar,.admin-workspace,.admin-sidebar-toggle svg{transition:none}}
