/* Tracks to Tides booking dialog.
   The #tracks-booking-dialog prefix + explicit state styles intentionally
   isolate the modal from Elementor/theme global link and button rules. */
#tracks-booking-dialog.tracks-booking-dialog {
    width: min(92vw, 470px);
    max-width: 470px;
    border: 0 !important;
    border-radius: 16px;
    padding: 0;
    background: #fff;
    color: #1a1c1e;
    box-shadow: 0 24px 70px rgba(0, 32, 53, .30);
    overflow: visible;
}

#tracks-booking-dialog.tracks-booking-dialog::backdrop {
    background: rgba(0, 32, 53, .58);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
}

#tracks-booking-dialog .tracks-booking-dialog__inner {
    position: relative;
    padding: 34px;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

/* Keep the close control neutral even when the theme styles all <button>s. */
#tracks-booking-dialog .tracks-booking-dialog__close,
#tracks-booking-dialog .tracks-booking-dialog__close:hover,
#tracks-booking-dialog .tracks-booking-dialog__close:focus,
#tracks-booking-dialog .tracks-booking-dialog__close:active {
    -webkit-appearance: none !important;
    appearance: none !important;
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 2;
    display: grid !important;
    place-items: center;
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid #c2c7cd !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #13364f !important;
    box-shadow: none !important;
    font-family: Arial, sans-serif !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    text-align: center;
    text-decoration: none !important;
    cursor: pointer;
    transform: none !important;
    transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}

#tracks-booking-dialog .tracks-booking-dialog__close:hover,
#tracks-booking-dialog .tracks-booking-dialog__close:focus-visible {
    border-color: #13364f !important;
    background: #13364f !important;
    color: #fff !important;
    outline: none !important;
}

#tracks-booking-dialog .tracks-booking-dialog__eyebrow {
    margin: 0;
    padding-right: 44px;
    font-family: Poppins, sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #c0a25a;
}

#tracks-booking-dialog .tracks-booking-dialog__title {
    margin: 0;
    padding-right: 36px;
    font-family: Anton, sans-serif;
    font-size: 34px;
    font-weight: 400;
    line-height: 1.15;
    letter-spacing: .03em;
    color: #13364f;
}

#tracks-booking-dialog .tracks-booking-dialog__copy {
    margin: 0;
    font-family: Poppins, sans-serif;
    font-size: 16px;
    line-height: 1.65;
    color: #42474d;
}

#tracks-booking-dialog .tracks-booking-dialog__actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 2px;
}

/* Elementor/theme global a, a:hover and a:visited rules can otherwise win.
   Define every interactive state explicitly. */
#tracks-booking-dialog .tracks-booking-dialog__button,
#tracks-booking-dialog .tracks-booking-dialog__button:link,
#tracks-booking-dialog .tracks-booking-dialog__button:visited,
#tracks-booking-dialog .tracks-booking-dialog__button:hover,
#tracks-booking-dialog .tracks-booking-dialog__button:focus,
#tracks-booking-dialog .tracks-booking-dialog__button:active {
    -webkit-appearance: none;
    appearance: none;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 50px;
    padding: 12px 22px !important;
    margin: 0 !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    font-family: Poppins, sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    text-align: center;
    text-decoration: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transition: transform .18s ease, background-color .18s ease, color .18s ease, border-color .18s ease;
}

#tracks-booking-dialog .tracks-booking-dialog__button--gold,
#tracks-booking-dialog .tracks-booking-dialog__button--gold:link,
#tracks-booking-dialog .tracks-booking-dialog__button--gold:visited {
    border: 1px solid #c0a25a !important;
    background: #c0a25a !important;
    color: #002035 !important;
}

#tracks-booking-dialog .tracks-booking-dialog__button--gold:hover,
#tracks-booking-dialog .tracks-booking-dialog__button--gold:focus,
#tracks-booking-dialog .tracks-booking-dialog__button--gold:active {
    border-color: #ae914c !important;
    background: #ae914c !important;
    color: #002035 !important;
    transform: translateY(-1px);
}

#tracks-booking-dialog .tracks-booking-dialog__button--navy,
#tracks-booking-dialog .tracks-booking-dialog__button--navy:link,
#tracks-booking-dialog .tracks-booking-dialog__button--navy:visited {
    border: 1px solid #13364f !important;
    background: #13364f !important;
    color: #fff !important;
}

#tracks-booking-dialog .tracks-booking-dialog__button--navy:hover,
#tracks-booking-dialog .tracks-booking-dialog__button--navy:focus,
#tracks-booking-dialog .tracks-booking-dialog__button--navy:active {
    border-color: #002035 !important;
    background: #002035 !important;
    color: #fff !important;
    transform: translateY(-1px);
}

#tracks-booking-dialog .tracks-booking-dialog__button--outline,
#tracks-booking-dialog .tracks-booking-dialog__button--outline:link,
#tracks-booking-dialog .tracks-booking-dialog__button--outline:visited {
    border: 1px solid #c0a25a !important;
    background: #fff !important;
    color: #9a7c38 !important;
}

#tracks-booking-dialog .tracks-booking-dialog__button--outline:hover,
#tracks-booking-dialog .tracks-booking-dialog__button--outline:focus,
#tracks-booking-dialog .tracks-booking-dialog__button--outline:active {
    border-color: #c0a25a !important;
    background: #faf9fb !important;
    color: #002035 !important;
    transform: translateY(-1px);
}

#tracks-booking-dialog .tracks-booking-dialog__button:focus-visible,
#tracks-booking-dialog .tracks-booking-dialog__close:focus-visible {
    outline: 3px solid rgba(192, 162, 90, .35) !important;
    outline-offset: 2px !important;
}

#tracks-booking-dialog .tracks-booking-dialog__fine {
    margin: 0;
    font-family: Poppins, sans-serif;
    font-size: 13px;
    line-height: 1.5;
    color: #73777e;
    text-align: center;
}

#tracks-booking-dialog[open] {
    animation: tracks-dialog-in .18s ease-out;
}

@keyframes tracks-dialog-in {
    from { opacity: 0; transform: translateY(8px) scale(.985); }
    to { opacity: 1; transform: none; }
}

@media (max-width: 520px) {
    #tracks-booking-dialog.tracks-booking-dialog {
        width: calc(100vw - 24px);
    }

    #tracks-booking-dialog .tracks-booking-dialog__inner {
        padding: 28px 22px 24px;
    }

    #tracks-booking-dialog .tracks-booking-dialog__title {
        font-size: 30px;
    }
}

@media (prefers-reduced-motion: reduce) {
    #tracks-booking-dialog[open] { animation: none; }
    #tracks-booking-dialog .tracks-booking-dialog__button,
    #tracks-booking-dialog .tracks-booking-dialog__close { transition: none; }
    #tracks-booking-dialog .tracks-booking-dialog__button:hover { transform: none; }
}

/* v1.4 SVG icon refinements */
#tracks-booking-dialog .tracks-svg-icon{display:block;width:21px;height:21px;flex:0 0 auto;stroke:currentColor}
#tracks-booking-dialog .tracks-booking-dialog__button{gap:10px}
#tracks-booking-dialog .tracks-booking-dialog__close .tracks-svg-icon{width:18px;height:18px}
