/* Newport World Resorts - White Label Styles */

/* Color Scheme - White header with red accents */
:root {
    --newport-red: #C81012;
    --newport-button-red: #910200;
    --newport-dark: #1C1A1B;
    --newport-white: #FFFFFF;
    --newport-gray: #D7D7D7;
    --newport-font-dar: #171717;
    --newport-text-gray: #808080;
    --newport-warning: #C9A227;

    font-family: Inter;
}

header #search-wrap, header .main-nav>li.menu-item-search, li.menu-item.menu-item-location {     display: none !important; }

/* Header Background and Colors */
header .logo {
  display: block;
  height: 40px;
}

.header-flex {
  padding: 8px 16px;
}
.search-wrapper {
    display: none !important;
}
@media (max-width: 768px) {
    #header-error .logo-lg-hide, #header-with-search .logo-lg-hide, #header-with-adnsearch .logo-lg-hide {
        justify-content: flex-start !important;
    }
    .header-flex {
        padding: 8px 16px !important;
    }
}
@media (min-width: 767px) {
    #header-error .logo-lg-hide, #header-with-search .logo-lg-hide, #header-with-adnsearch .logo-lg-hide {
        display: flex;
        width: 100%;
        justify-content: center;
    }

    .header-flex .header-col-flex {
        flex: auto !important;
        margin: auto;
    }

    header .logo {
        height: 60px;
    }

    /* Consistent padding for all tablet and desktop screens */
    .header-flex {
        padding: 16px;
    }

    .xanadu header#header-basic .logo {
        height: 60px !important;
        max-height: 60px;
    }

    /* Logo centering - true center for all header types on desktop */
    .logo-lg-hide {
        display: flex !important;
        width: 100%;
        justify-content: center;
        margin-right: 0;
    }
}
@media (min-width: 992px) {
    .header-flex {
        padding: 0px 16px;
    }
    #header-with-adnsearch .header-col-adnsearch {
        height: 84px;
    }
    .xanadu #purchaseProgress {
        margin-left: 0px !important;
    }
}


header#header-with-search,
header#header-with-adnsearch,
header#header-basic,
header#header-error,
#headerBlue {
    background: var(--newport-white) !important;
    border-bottom: 1px solid #e0e0e0;
}

#headerBlueCentre #mainLogoAndLangDiv {
    display: flex;
    justify-content: center;
    width: 100%;
}

/* Main Navigation - Icons and Text */
header .main-nav > li > a {
    color: var(--newport-dark) !important;
}

header .main-nav > li i {
    color: var(--newport-white) !important;
}

/* Shopping Cart Icon - Red */
header .main-nav .menu-item-cart i,
header .main-nav .menu-item-cart a i {
    color: var(--newport-red) !important;
}

/* Hamburger Menu Icon - Red */
header .main-nav .menu-item-nav i,
header .main-nav .menu-item-nav a i,
header .main-nav .menu-item-nav .icon-menu,
header .main-nav .menu-item-nav .icon-close {
    color: var(--newport-red) !important;
}

header .main-nav > li > a:hover {
    color: var(--newport-red) !important;
}

header .main-nav > li > a:hover i {
    color: var(--newport-red) !important;
}

/* Category Navigation Bar */
#cat-nav {
    background: var(--newport-dark) !important;
}

#cat-nav > li > a {
    color: var(--newport-white) !important;
}

#cat-nav > li > a:hover,
#cat-nav > li.catNavActive > a {
    color: var(--newport-red) !important;
}

/* Dropdown Menu Styling */
header .main-nav .dd-wrap .dd-container {
    background: var(--newport-white);
    border: 1px solid #e0e0e0;
}

header .main-nav .dd-wrap .dd-container ul li > a {
    color: var(--newport-dark);
}

header .main-nav .dd-wrap .dd-container ul li > a:hover {
    color: var(--newport-red) !important;
}

header .main-nav .dd-wrap .dd-container ul li > a:before {
    color: var(--newport-dark);
}

header .main-nav .dd-wrap .dd-container ul li > a:hover:before {
    color: var(--newport-red) !important;
}

/* Session Timer */
.session-timer {
    background: var(--newport-red) !important;
    color: var(--newport-white) !important;
}
.session-timer i {
    color: var(--newport-white) !important;
}
.session-timer > span {
    color: var(--newport-white) !important;
}
.fa-clock-o:before {
    content: "\f017";
}

/* Shopping Cart Badge */
header .main-nav .menu-item-cart i:after {
    background: var(--newport-red) !important;
}

/* Search Bar Styling */
header #search-wrap input[type="search"] {
    border-color: var(--newport-gray) !important;
}

header #search-wrap .btn-search {
    background: var(--newport-red);
}

header #search-wrap .btn-search:hover {
    background: var(--newport-red);
}

header #search-wrap .btn-search.active {
    background: var(--newport-red);
}

header #search-wrap .btn-search i {
    color: var(--newport-white) !important;
}

/* Header Layout - Basic Header (Purchase Pages) */
#header-basic .header-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 12px 16px;
    min-height: 85px;
}

/* Timer and Progress Bar - always on the right side */
#header-basic .timer-and-progressBar {
    display: flex;
    align-items: center;
    gap: 16px;
}


/* Center Logo in Header - Header with Search */
#header-with-search .header-flex, #header-with-adnsearch .header-flex {
    position: relative;
}

#header-with-search .header-flex .header-col-left, #header-with-adnsearch .header-flex .header-col-left {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: auto;
    z-index: 5;
}

#header-with-search .header-flex .header-col-left #header-logo, #header-with-adnsearch .header-flex .header-col-left #header-logo {
    display: flex;
    justify-content: center;
}

#header-with-search .header-flex .header-col-right, #header-with-adnsearch .header-flex .header-col-right {
    margin-left: auto;
    z-index: 2;
}

#header-with-search .header-flex {
    display: flex;
    align-items: center;
    gap: 16px;
}
#header-with-search .main-nav{
    position: absolute;
    right: 16px;
    bottom: 8px;
}

/*purchase header step progress*/

.xanadu #purchaseProgress li {
  color: var(--newport-white);
  background-color: var(--newport-gray);
}
.xanadu #purchaseProgress li.passed,
.xanadu #purchaseProgress li.selected {
  color: var(--newport-white);
  background-color: var(--newport-red);
}
.xanadu #purchaseProgress li:before {
  background-color: var(--newport-gray);
}
.xanadu #purchaseProgress li.passed:before,
.xanadu #purchaseProgress li.selected:before {
  background-color: var(--newport-red);
}

/* Primary Buttons and CTAs */
.btn-primary,
.btn-buy,
.btn-add-to-cart,
button[type="submit"]:not(.btn-search),
.loginContentContainer input[type="submit"],
#loginBtnDiv,
.btbKEO,
.btn.btn-buy, .btn.btn-green,
.btn.btn-white,
.event-listing .event-listing-events.grid .event-item .event-buttons a {
    background: var(--newport-button-red) !important;
    background-color: var(--newport-button-red) !important;
    border-color: var(--newport-button-red) !important;
    color: var(--newport-white) !important;
}

.btn-primary:hover,
.btn-buy:hover,
.btn-add-to-cart:hover,
button[type="submit"]:not(.btn-search):hover {
    background-color:  var(--newport-button-red) !important;
    border-color:  var(--newport-button-red) !important;
    color: var(--newport-white)
}

/* Links */
a {
    color: var(--newport-red);
}

a:hover {
    color:  var(--newport-red);
}

/* Mobile Session Timer */
#mobile-session-timer-container {
    background-color: var(--newport-red) !important;
    color: var(--newport-white) !important;
}

/* Footer Styling - Light background for main footer */

footer {
    padding: 0;
    background-color: var(--newport-dark) !important;
}

footer h1,
footer h2,
footer h3,
footer h4,
footer h5,
footer h6,
footer .footer-nav-header {
    color: var(--newport-dark) !important;
}

footer a,
footer .footer-nav a {
    color: var(--newport-dark) !important;
    text-decoration: none;
}

footer a:hover,
footer .footer-nav a:hover {
    color: var(--newport-red) !important;
    text-decoration: underline;
}

/* Copyright Section - Dark background #1C1A1B from Figma - Full Width */
footer .copyrights,
footer .footer-copyright,
footer .copyright,
footer .footer-bottom,
#footerBottom,
.copyright-section {
    background-color: #1C1A1B !important;
    color: var(--newport-white) !important;
    padding: 20px 0;
    width: 100%;
    margin: 0;
}

footer .copyrights a,
footer .footer-copyright a,
footer .copyright a,
footer .footer-bottom a,
#wrapFooter .footer-text-links a {
    color: var(--newport-white) !important;
    text-decoration: underline;
    margin: 0 10px;
}

footer .copyrights a:hover,
footer .footer-copyright a:hover,
footer .copyright a:hover,
footer .footer-bottom a:hover {
    color: var(--newport-red) !important;
}

/* Ensure copyright text is white */
footer .copyrights,
footer .copyrights * {
    color: var(--newport-white) !important;
}

/* Footer Copyright - Single line layout */
footer .copyrights {
    border-top: none;
    flex-direction: column;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px 10px 20px;
}

/* Copyright content inline */
.footer-copyright-content {
    display: flex;
    align-items: center;
    gap: 5px;
    flex-wrap: nowrap;
    justify-content: center;
}

/* Ensure text and links display inline */
footer .copyrights a {
    display: inline;
    margin: 0 10px;
    white-space: nowrap;
}

/* Powered by Ticketworld Logo */
footer .powered-by-ticketworld-logo {
    height: 50px;
    width: auto;
    flex-shrink: 0;
    margin-left: 20px;
}

/* Mobile responsive */
@media (max-width: 768px) {
    /* Show logo on mobile for membership/account pages (left-aligned) */
    .logo-lg-hide {
        display: flex !important;
        width: 100%;
        justify-content: flex-start;
    }

    /* Hide logo on mobile for purchase pipeline pages only (header-basic used in ticket selection, checkout, etc.) */
    #header-basic .logo-lg-hide,
    #header-basic .logo-ad-hide {
        display: none !important;
    }

    /* Timer and Progress Bar - adjust for mobile */
    #header-basic .timer-and-progressBar {
        gap: 8px;
        font-size: 12px;
    }

    #header-basic .header-wrap {
        padding: 8px;
        justify-content: flex-end;
    }

    .xanadu header#header-basic .logo {
        max-width: none;
    }

    #header-with-adnsearch .header-col-right {
        width: 35%;
    }

    #header-with-search .header-flex .header-col-left, #header-with-adnsearch .header-flex .header-col-left{
        position: relative;
        left: auto;
        transform: none;
        flex: 1 1 100%;
        justify-content: flex-start;
        display: flex;
        order: 1;
    }

    #header-with-search .header-flex .header-col-right, #header-with-adnsearch .header-flex .header-col-right {
        order: 2;
    }

    #header-with-search .header-flex .header-col-search, #header-with-adnsearch .header-flex .header-col-search {
        order: 3;
    }

    /* Mobile header colors */
    header .main-nav .dd-wrap {
        background: var(--newport-white);
    }

    footer .copyrights {
        flex-direction: column;
        gap: 15px;
    }

    .footer-copyright-content, .footer-text-links {
        flex-direction: column;
        text-align: center;
        display: flex;
        align-items: center;
        gap: 6px;
        padding-top: 8px;
    }

    footer .copyrights a {
        display: block;
        margin: 5px 0;
    }

    footer .powered-by-ticketworld-logo {
        height: 40px;
        margin-left: 0;
    }
}

/* Tablet - Show logo on purchase pages (left-aligned) */
@media (min-width: 769px) and (max-width: 1023px) {
    #header-basic .logo-lg-hide,
    #header-basic .logo-ad-hide {
        display: block !important;
    }

    #header-basic .header-wrap {
        justify-content: space-between !important;
    }

    #header-basic .timer-and-progressBar {
        margin-left: auto;
    }
}

/* iPad Pro and Desktop - Center align logo on purchase pages */
@media (min-width: 1025px) {
    #header-basic .logo-lg-hide,
    #header-basic .logo-ad-hide {
        display: block !important;
    }

    #header-basic .header-wrap, #header-with-search .header-flex{
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        position: relative !important;
        min-height: 85px !important;
    }

    /* Target the logo anchor tag - use descendant selector */
    #header-basic .header-wrap a[href="/default.aspx"],
    #header-basic .header-wrap a[id*="logo"],
    #header-basic .header-wrap a[class*="logo"] {
        position: absolute !important;
        z-index: 1 !important;
    }
    #header-basic .header-wrap a[id*="logo"],
    #header-basic .header-wrap a[class*="logo"] {
        left: calc(50% - 123px) !important;
    }

    #header-basic .timer-and-progressBar {
        position: absolute !important;
        right: 16px !important;
        z-index: 2 !important;
        margin-left: 0 !important;
    }
}

/* Footer Social Icons - Dark on light background */
footer .social-icons a,
footer .footer-social a,
footer .social-media a {
    color: var(--newport-dark) !important;
}

footer .social-icons a:hover,
footer .footer-social a:hover,
footer .social-media a:hover {
    color: var(--newport-red) !important;
}

/* Footer Links Styling - Dark borders on light background */
footer .footer-nav li {
    border-color: rgba(0, 31, 63, 0.1);
}

footer .footer-nav-header {
    border-bottom-color: rgba(0, 31, 63, 0.1);
}

/* Powered by section in copyright area */
footer .powered-by,
footer .footer-branding {
    color: var(--newport-white);
    opacity: 0.8;
}

footer .powered-by:hover,
footer .footer-branding:hover {
    opacity: 1;
}

#footer .footer-links, #wrapFooter .smallFooterWrapContainer {
    display: none;
}

.xanadu #wrapFooter .footerVersion {
    padding: 0 20px 10px 20px;
}

.xanadu #wrapFooter {
    background-color: var(--newport-dark);
    color: var(--newport-white);
}


.mobile-important-info-open-btn {
  background-color: var(--newport-red);
}
.new-show-header{
    color: var(--newport-dark);
}

.alert-info:before,
.xanadu .alert-error:before,
.xanadu .alert-warning:before {
    background: var(--newport-red) !important;
}
.alert-error:after,
.xanadu .alert-warning:after {
    color: var(--newport-white) !important;
}
.xanadu select{
    color: var(--newport-dark)
}

.xanadu .tickets-body .tickets-right-col.seats-toggle-container .seat-toggle-tabs li.active {
    background: var(--newport-button-red);
 }
 .xanadu .tickets-body .tickets-right-col.seats-toggle-container .seat-toggle-tabs li a {
    color: var(--newport-font-dar);
 }
 .xanadu .tickets-right-col button[type=reset]:hover, 
 .xanadu .extras-page #continueBar input, 
 .extras-page .extras .quantity-blenheim .increment, 
 .extras-page .extras .quantity-blenheim .decrement,
 .selectTktQuantity .increment,
 .xanadu .card .accessBtn {
    color: var(--newport-white) !important;
    background-color: var(--newport-button-red) !important;
    border: 1px solid var(--newport-button-red) !important;
 }
 .selectTktQuantity .qty-btn:focus {
    outline: 2px solid var(--newport-button-red) !important;
    outline-offset: 2px;
    box-shadow: 0 0 0 2px var(--newport-white), 0 0 0 4px var(--newport-button-red) !important;
 }
 .xanadu .tickets-right-col button[type=reset],
 .offerContainer .buttons-row a,
 .btn.btn-signup,
 .dnVCCV {
    color: var(--newport-button-red) !important;
    border: 1px solid var(--newport-button-red) !important;
 }

 .xanadu .show-header .tickets-page-show-header .info-icon {
    background-color: var(--newport-button-red);
 }

 .offerContainer .buttons-row a:hover,
 .btn.btn-signup:hover,
 .btn.btn-signup:active,
 .btn-signup-ellipsis:hover {
    color: var(--newport-white) !important;
    background: var(--newport-button-red) !important;
    background-color: var(--newport-button-red) !important;
    border: 1px solid var(--newport-button-red) !important;

 }
 .btn-signup-ellipsis:hover .three-dots .dot {
    background-color: var(--newport-white) !important;
 }
 .btn-signup-ellipsis .three-dots .dot, .add-to-basket-btn .three-dots .dot {
    background-color: var(--newport-button-red) !important;
 }

 .offer-tickets {
    border-radius: 4px;
    background-color: var(--newport-dark);
 }
 .sectionBody .offer-tickets {
    background-color: #ffff !important;
    color: var(--newport-dark);
    border: 1px solid var(--newport-gray);
}
 .btn-transparent, .btn-transparent:hover {
    border: 1px solid var(--newport-red);
 }

 .extras-page .extras .add-to-basket-btn, .btn-skip {
    background-color: var(--newport-white);
    border: 1px solid var(--newport-button-red);
    color: var(--newport-dark)
 }
 .extras-page .extras .add-to-basket-btn:hover, .btn-skip:hover {
    background-color: var(--newport-button-red);
    border: 1px solid var(--newport-button-red);
    color: var(--newport-white);
    opacity: 1;
 }
 input[type=button]:disabled, input[type=submit]:disabled, button:disabled {
    border: 1px solid var(--newport-gray) !important;
 }
 
 .btn-tertiary {
    background-color: var(--newport-white);
    border: 1px solid var(--newport-red);
    color: var(--newport-red)
 }

 .offerContainer .buttons-row a{
    color: var(--newport-button-red);
    border: 1px solid var(--newport-button-red);
 }
 .offerContainer .buttons-row a:hover,  .btn-tertiary:hover {
    color: var(--newport-white);
    background-color: var(--newport-button-red) !important;
    border: 1px solid var(--newport-button-red) !important;
 }

 .submit-section>div>a.btn.btn-text {
    color: var(--newport-text-gray);
    font-size: 12px;
    text-align: left;
    font-weight: 500;
 }

 .xanadu #primaryContainer.login p.loginSubTitle,
 .xanadu #pipeLineContent.login p.loginSubTitle {
    max-width: 500px;
    margin: 0 auto;
 }

 .xanadu .material-success .material-icons {
    color: var(--newport-button-red);
 }
 .xanadu .toggle-text {
    color: var(--newport-button-red);
 }