/* Global contract from the supplied Living Nile design-system reference.
   Shared hover rules intentionally override component and
   Fluent Forms inline/important colors so every primary action behaves alike. */
.ncrc-site-header .ncrc-primary-nav__list a { color: inherit; }
.ncrc-breadcrumbs ol a { color: var(--ncrc-color-blue); }
.ncrc-breadcrumbs--inverse ol a { color: #fff; }
.ncrc-footer .ncrc-footer__menu a,.ncrc-footer .ncrc-footer__legal a { color: #fff; }
.ncrc-site-header .ncrc-primary-nav__list a:is(:hover,:focus-visible),.ncrc-footer .ncrc-footer__menu a:is(:hover,:focus-visible),.ncrc-footer .ncrc-footer__legal a:is(:hover,:focus-visible) { color: var(--ncrc-color-sun); }
.ncrc-site-header,.ncrc-footer { font-family: var(--ncrc-font-body); }
.ncrc-button[href] { color: var(--ncrc-color-ink); font-family: var(--ncrc-font-body); font-weight: 600; }
.ncrc-button--outline[href] { color: inherit; }
.ncrc-button,.ncrc-home-search__submit,.ncrc-cruise-card__link,.fluentform .ff-btn-submit { font-family: var(--ncrc-font-body); font-weight: 600; }
:is(.ncrc-button,.ncrc-home-search__submit,.ncrc-cruise-card__link,.fluentform .ff-btn-submit):is(:hover,:focus-visible):not(:disabled):not([aria-disabled="true"]) { background: var(--ncrc-color-blue) !important; background-image: none !important; border-color: var(--ncrc-color-blue) !important; color: #fff !important; box-shadow: 0 4px 16px rgba(7,90,158,.24) !important; }
.ncrc-primary-nav__list a:is(:hover,:focus-visible),.ncrc-footer__menu a:is(:hover,:focus-visible),.ncrc-footer__legal a:is(:hover,:focus-visible) { color: var(--ncrc-color-sun); }
.ncrc-homepage .ncrc-faq summary,.ncrc-contact-faq summary { color: var(--ncrc-color-ink); }
:where(input,select,textarea):focus-visible,:where(button,a):focus-visible { outline: 2px solid var(--ncrc-color-sun); outline-offset: 3px; }
.ncrc-footer { background: var(--ncrc-color-river-night); padding: 24px 0 12px; color: #fff; }
.ncrc-footer__current { background: linear-gradient(90deg,rgba(4,27,54,.25),rgba(0,61,120,.46)),url('../images/footer-river.webp') center 70% / cover no-repeat; opacity: 1; }
.ncrc-footer::before { height: 16px; }
.ncrc-footer__top { gap: 40px; padding-bottom: 10px; border-bottom: 1px solid #ffffff55; }
.ncrc-footer .ncrc-brand__image { width: 230px; }
.ncrc-footer__top > nav { display: flex; flex: 1; justify-content: center; padding-right: 38px; border-right: 1px solid #ffffff66; }
.ncrc-footer__menu { font-size: 13px; gap: clamp(20px,3.3vw,48px); }
.ncrc-footer .ncrc-button { background: transparent; border: 1px solid var(--ncrc-color-sun); border-radius: 5px; box-shadow: none; color: var(--ncrc-color-sun); font-size: 13px; font-weight: 600; min-height: 44px; min-width: 200px; padding: 9px 22px; }
.ncrc-footer__bottom { color: #e0e9f3; font-size: 10px; line-height: 1.4; padding-top: 8px; }
.ncrc-footer__legal { gap: 18px; }
.ncrc-footer__legal li + li { border-left: 1px solid #ffffff77; padding-left: 18px; }
@media(max-width:900px) { .ncrc-footer__top { gap: 20px; } .ncrc-footer__top > nav { border-right: 0; padding-right: 0; justify-content: start; } .ncrc-footer__top > .ncrc-button { justify-self: end; } .ncrc-footer__menu { flex-wrap: wrap; gap: 22px; } }
@media(max-width:580px) { .ncrc-footer { padding-top: 30px; } .ncrc-footer__top > .ncrc-button { justify-self: start; } .ncrc-footer .ncrc-brand__image { width: 205px; } .ncrc-footer__bottom { gap: 14px; padding-top: 14px; } }

.fluentform { font-family: var(--ncrc-font-body); }
.ncrc-primary-nav__list .sub-menu a:is(:hover,:focus-visible) { background: var(--ncrc-color-river-deep); color: var(--ncrc-color-sun); }
input[type="radio"],input[type="checkbox"],input[type="range"] { accent-color: var(--ncrc-color-blue); }

/* Keep native navigation and action icons independent of old builder button defaults. */
.ncrc-site-header .ncrc-menu-toggle { background: transparent; border: 0; border-radius: 0; box-shadow: none; color: inherit; font-family: var(--ncrc-font-body); min-height: 44px; padding: 12px; }
.ncrc-site-header .ncrc-menu-toggle:is(:hover,:focus-visible) { background: transparent; color: var(--ncrc-color-sun); }
.ncrc-button > svg { height: 20px; width: 20px; flex: 0 0 20px; }
