/* Availability states shared by desktop menus, mobile navigation and footer. */
.coming-soon-badge{display:inline-flex;align-items:center;flex-shrink:0;padding:3px 7px;border:1px solid #a0a0a038;border-radius:5px;background:#94aec410;color:#9f9f9f;font:400 9px/1.25 Arial,sans-serif;letter-spacing:.015em;white-space:nowrap}
.unavailable-link{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#919191;cursor:default}
.nav-menu-group .unavailable-link{font-size:15px;line-height:1.5;padding:7px 0}
.nav-menu-columns{grid-template-columns:repeat(var(--menu-columns,3),minmax(0,1fr));gap:48px}
.footer .mega-group a,.footer .mega-group .unavailable-link{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0;font-size:14px;line-height:1.45}
.footer .nav-link-arrow{display:none}.footer-columns{gap:40px}
.coming-soon-action{display:inline-flex;flex-direction:column;gap:3px;align-items:center;justify-content:center;cursor:default;opacity:.75}
.coming-soon-action .coming-soon-badge{border:0;background:transparent;padding:0;color:inherit;font-size:8px}
.header .coming-soon-action{padding-block:7px;min-height:44px}
.nav-home-link{font-size:16px;padding:12px;color:#ededed}.nav-home-link[aria-current=page]{color:#c1c1c1}
@media(max-width:950px){.mobile-group-links .unavailable-link{padding:12px 15px;font-size:16px}.mobile-menu-actions .coming-soon-action{gap:4px}.mobile-menu-actions .coming-soon-badge{font-size:10px}.nav-menu-columns{gap:24px}}
@media(max-width:700px){.footer-columns{gap:30px 20px}.footer .unavailable-link{align-items:flex-start;flex-direction:column;gap:4px}.footer .mega-group a{align-items:flex-start}.footer .coming-soon-badge{font-size:8px}.header .coming-soon-action{padding:6px 13px;min-height:42px}.header .nav-actions{gap:12px}}

.coming-soon-destination{cursor:default}.coming-soon-destination>.coming-soon-badge{margin-left:8px}.product-card.coming-soon-destination>.coming-soon-badge{position:absolute;left:24px;bottom:24px;margin:0;background:#081522dd;color:#d0d0d0;padding:6px 9px}.coming-soon-destination:hover{transform:none}

.enquiry-card.coming-soon-destination>.coming-soon-badge{position:absolute;left:var(--site-card-padding);bottom:32px;margin:0}.enquiry-card.coming-soon-destination .round-arrow{display:none}

/* Footer availability labels share the same left edge as active links. */
.footer .footer-columns .mega-group{min-width:0}
.footer .footer-columns .mega-group :is(a,.unavailable-link){align-items:flex-start;justify-content:flex-start;flex-direction:column;text-align:left;gap:6px}
.footer .footer-columns .coming-soon-badge{align-self:flex-start;margin:0}
.footer .footer-brand{gap:20px;flex-wrap:wrap}
.footer .footer-brand .wordmark{max-width:100%;min-width:0}
.footer .footer-brand .brand-logo{max-width:100%}
.footer .footer-bottom{align-items:flex-start}
.footer .footer-bottom>div{align-items:flex-start}
.footer .footer-bottom button{text-align:left}
@media(max-width:760px){
 .footer .footer-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 24px}
 .footer .footer-columns>div{display:contents}
 .footer .footer-columns .mega-group{margin:0}
 .footer .footer-columns>div:nth-child(1)>.mega-group:nth-child(1){grid-area:1/1}
 .footer .footer-columns>div:nth-child(2)>.mega-group:nth-child(1){grid-area:1/2}
 .footer .footer-columns>div:nth-child(1)>.mega-group:nth-child(2){grid-area:2/1}
 .footer .footer-columns>div:nth-child(2)>.mega-group:nth-child(2){grid-area:2/2}
 .footer .footer-columns>div:nth-child(3)>.mega-group:nth-child(1){grid-area:3/1}
 .footer .footer-columns>div:nth-child(3)>.mega-group:nth-child(2){grid-area:3/2}
 .footer .footer-columns>div:nth-child(4)>.mega-group{grid-area:4/1/5/3;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}
 .footer .footer-columns>div:nth-child(4)>.mega-group>.footer-heading{grid-column:1/-1}
 .footer .footer-brand{margin-top:44px}
 .footer .footer-bottom>div{gap:12px 20px}
 .footer .legal-copy p{max-width:none}
}
/* Campaign navigation adds one shared category without crowding the wordmark. */

/* Published disclosures stay in the HTML and work without JavaScript. */
.footer-disclosures{margin-top:32px;border-top:1px solid #353535}.footer-disclosures details{border-bottom:1px solid #353535}.footer-disclosures summary{cursor:pointer;padding:18px 0;font-size:14px;color:#c2c2c2}.footer-disclosures details>div{padding:0 0 20px;color:#a5a5a5;max-width:1000px;font-size:13px;line-height:1.8}.footer-disclosures p+p{margin-top:16px}.footer-disclosures summary:focus-visible{outline:2px solid #89c9ed;outline-offset:4px}

/* Keep the menu reachable when the wordmark and enlarged action text share a narrow row. */
@media(max-width:950px){
 [data-brand="loyal-primus"] .header .wordmark{flex-shrink:1;min-width:0}
 [data-brand="loyal-primus"] .header .brand-logo{min-width:0;max-width:100%}
 [data-brand="loyal-primus"] .header .nav-actions{flex-shrink:0}
}
/* Longer labels must wrap inside their available width when text spacing grows. */
.button{max-width:100%;white-space:normal;text-align:center;overflow-wrap:anywhere}
/* Long headings still fit when users increase letter and word spacing. */
h1,h2,h3{overflow-wrap:anywhere}

/* Footer typography: a centred reading measure with compact, neutral footnotes. */
body[data-brand="loyal-primus"] .footer>.container{max-width:1080px}
body[data-brand="loyal-primus"] .footer,
body[data-brand="loyal-primus"] .footer *{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif!important}
.footer{color:#a1a1a6}
.footer .footer-columns{gap:32px}
.footer .footer-columns .mega-group .footer-heading{font-size:12px;font-weight:600;line-height:1.5;letter-spacing:0;color:#e5e5e7;margin-bottom:10px}
.footer .footer-columns .mega-group :is(a,.unavailable-link){font-size:12px;line-height:1.5;padding:5px 0;color:#a1a1a6}
.footer .footer-columns .mega-group a:hover{color:#f5f5f7;text-decoration:underline;text-underline-offset:3px}
.footer .footer-brand{margin:32px 0 20px;gap:20px}
.footer .footer-brand .brand-logo{width:220px;height:auto}
.footer .footer-official,.footer .footer-language{font-size:12px;line-height:1.5;color:#b5b5ba}
.footer .footer-bottom{padding:18px 0;border-color:#ffffff21;gap:20px;align-items:center}
.footer .footer-bottom>div{gap:8px 20px;align-items:center}
.footer .footer-bottom :is(a,button){font-size:12px;line-height:1.5;color:#a1a1a6;padding:4px 0}
.footer .footer-bottom :is(a,button):hover{color:#f5f5f7;text-decoration:underline;text-underline-offset:3px}
.footer .footer-disclosures{margin-top:18px;border-color:#ffffff21}
.footer .footer-disclosures details{border-color:#ffffff21}
.footer .footer-disclosures summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;padding:15px 0;font-size:12px;line-height:1.5;font-weight:500;letter-spacing:0;color:#c6c6c6}
.footer .footer-disclosures summary::-webkit-details-marker{display:none}
.footer .footer-disclosures summary::after{content:"";width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin:0 3px 4px;flex-shrink:0}
.footer .footer-disclosures details[open] summary::after{transform:rotate(225deg);margin-top:5px;margin-bottom:0}
.footer .footer-disclosures details>div{max-width:none;padding:0 0 18px;font-size:12px;line-height:1.65;color:#a1a1a6}
.footer .footer-disclosures p,.footer .legal-copy p{max-width:none;font-size:12px;line-height:1.65;font-weight:400;letter-spacing:0;color:#a1a1a6;text-align:left;overflow-wrap:break-word}
.footer .footer-disclosures p{margin:0}
.footer .footer-disclosures p+p{margin-top:12px}
.footer .legal-copy{padding-top:8px}
.footer .legal-copy p{margin:12px 0}
.footer .legal-copy p:first-child{color:#b5b5ba;font-size:11px}
.footer :is(a,button,summary):focus-visible{outline:2px solid #89c9ed;outline-offset:4px}
@media(max-width:760px){
 .footer .footer-columns{gap:28px 24px}
 .footer .footer-brand{margin:28px 0 18px}
 .footer .footer-bottom>div{margin-top:14px;gap:8px 18px}
 .footer .footer-disclosures{margin-top:16px}
}

/* Categories and links share the desktop catalogue without a second accordion. */
@media(max-width:950px){
 .mobile-nav-group+.mobile-nav-group{margin-top:24px}
 .mobile-nav-group h3{font-size:13px;line-height:1.4;font-weight:400;letter-spacing:0;color:#a1a1a6;margin:0 0 8px}
 .mobile-menu .mobile-group-links{padding:0}
 .mobile-menu .mobile-group-links a{padding:10px 0}
}
@media(max-width:950px){
 .header .mobile-category-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;overflow:visible}
 .header .mobile-category-tabs button{min-width:0;padding:10px 6px;font-size:14px;text-align:center}
 body[data-brand="loyal-primus"][data-page="legal"] .header .mobile-nav-group h3{color:#66666b}
}
