/* Category mega menu. Colours come from each brand's variables in style.css. */
.category-menu{position:relative;background:var(--paper,#fff);border-bottom:1px solid var(--line);padding-inline:48px;z-index:40}
.category-menu ul{list-style:none;margin:0;padding:0}
.category-menu-toggle{display:none}
.category-menu-bar{display:flex;align-items:stretch;gap:4px;flex-wrap:wrap}
.category-menu-bar>li{position:static}
.category-menu-item>summary,.category-menu-all>a{display:flex;align-items:center;gap:6px;min-height:48px;padding:0 14px;font-size:.84rem;font-weight:600;color:var(--ink);text-decoration:none;cursor:pointer;list-style:none;border-bottom:3px solid transparent;white-space:nowrap}
.category-menu-item>summary::-webkit-details-marker{display:none}
.category-menu-item>summary:after{content:'';width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);margin-left:2px}
.category-menu-item[open]>summary,.category-menu-item>summary:hover,.category-menu-all>a:hover{border-bottom-color:var(--accent)}
.category-menu-item[open]>summary:after{transform:translateY(2px) rotate(-135deg)}
.category-menu-item>summary[aria-current],.category-menu-all>a[aria-current]{border-bottom-color:var(--ink)}
.category-menu-all{margin-left:auto}
.category-menu-all>a{font-weight:400;text-decoration:underline;text-underline-offset:5px}
.category-menu-item>summary:focus-visible,.category-menu-all>a:focus-visible,.category-menu-toggle:focus-visible,.category-panel a:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
.category-panel{position:absolute;left:0;right:0;top:100%;background:var(--paper,#fff);border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 18px 34px #00000014;padding:28px 48px 22px}
.category-panel-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px 40px;max-width:1400px;margin:0 auto}
.category-panel-heading{margin:0 0 10px;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.category-panel-group li a{display:block;padding:7px 0;font-size:.9rem;line-height:1.35;color:var(--ink);text-decoration:none}
.category-panel-group li a:hover,.category-panel-group li a[aria-current]{text-decoration:underline;text-underline-offset:4px;color:var(--accent)}
.category-panel-footer{display:flex;flex-wrap:wrap;gap:8px 28px;max-width:1400px;margin:18px auto 0;padding-top:14px;border-top:1px solid var(--line)}
.category-panel-footer a{font-weight:600;font-size:.88rem;color:var(--accent);min-height:32px;display:inline-flex;align-items:center}
.roomandrail .category-menu-item>summary,.roomandrail .category-menu-all>a{font-weight:400;letter-spacing:.04em;font-size:.8rem}
.roomandrail .category-panel-heading{font-family:Georgia,'Times New Roman',serif;text-transform:none;letter-spacing:0;font-size:.95rem;font-style:italic}
.servicerow .category-panel{border-radius:0 0 var(--radius) var(--radius)}
.servicerow .category-menu-item>summary{font-size:.82rem}
@media(min-width:1600px){.category-menu,.category-panel{padding-inline:max(48px,calc((100vw - 1400px)/2))}}
@media(max-width:1100px){.category-menu{padding-inline:24px}.category-menu-item>summary,.category-menu-all>a{padding:0 10px;font-size:.8rem}.category-panel{padding-inline:24px}}
@media(max-width:899px){
 .category-menu{padding:0 18px}
 .category-menu-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;min-height:48px;padding:0;background:none;border:0;font:inherit;font-size:.86rem;font-weight:600;color:var(--ink);cursor:pointer}
 .category-menu-toggle[aria-expanded=true] span{transform:rotate(45deg)}
 .category-menu-toggle span{display:inline-block;font-size:1.2rem;transition:transform .15s}
 .category-menu-bar{display:none}
 .category-menu.is-open .category-menu-bar{display:block;padding-bottom:12px}
 .category-menu-bar>li{border-top:1px solid var(--line)}
 .category-menu-item>summary,.category-menu-all>a{min-height:48px;padding:0;border-bottom:0;justify-content:space-between;white-space:normal}
 .category-menu-item>summary:after{margin-right:6px}
 .category-menu-all{margin-left:0}
 .category-panel{position:static;box-shadow:none;border:0;padding:0 0 14px 12px}
 .category-panel-columns{grid-template-columns:1fr;gap:14px}
 .category-panel-group li a{padding:10px 0;min-height:44px;display:flex;align-items:center}
 .category-panel-footer{margin-top:8px;flex-direction:column;gap:2px}
 .category-panel-footer a{min-height:44px}
}
@media(prefers-reduced-motion:reduce){.category-menu-toggle span{transition:none}}
