:root {
    --bs-primary: #393E57 !important;
    --bs-primary-rgb: 57, 62, 87 !important;
    /* --bs-secondary: #9900F0 !important;*/
    /*    --bs-secondary: #8000f0 !important;*/
    --bs-secondary: #7800ff !important;
    --bs-secondary-hover: #8450b1 !important;
    --bs-secondary-rgb: 128, 0, 240 !important;
    /* --bs-link-color-rgb: 109, 152, 134 !important;*/
    --bs-navbar-brand-color: #7800ff !important;
}

.btn-primary {
    color: #fff;
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

.btn-secondary {
    color: #fff !important;
    background-color: var(--bs-secondary);
    border-color: var(--bs-secondary);
}

.btn-outline-secondary {
    color: var(--bs-secondary);
    border-color: var(--bs-secondary);
}

.btn-secondary:hover {
    background-color: var(--bs-secondary-hover);
}

.form-check-input:checked {
    background-color: var(--bs-secondary);
    border-color: var(--bs-secondary);
}

.navbar-toggler {
    color: var(--bs-secondary) !important;
    border-color: var(--bs-secondary) !important;
}

.navbar-toggler-white {
    color: #fff !important;
    border-color: #fff !important;
}

.navbar-toggler-icon {
    color: var(--bs-secondary) !important;
}

.navbar-toggler-icon-white {
    color: #fff !important;
}

.nav-link {
    color: var(--bs-secondary) !important;
}
.nav-link.active {
    color: #fff !important;
    background-color: var(--bs-secondary) !important;
}

.nav-link-menu {
    color: var(--bs-primary) !important;
}

.nav-link-cms {
    color: #fff !important;
}

.bg-navbar {
    background-color: #2e2b2bb4 !important;
}


.bg-navbar-host {
    /* background-color: #fafafa !important;*/
    background-color: #ffffff !important;
    border-bottom: 1px solid var(--bs-secondary) !important;
}

.sidebar {
    /*background-color: #fafafa !important;*/
    background-color: #f5f5f5 !important;
    /*  background-color: #fcfcfd;*/
    color: var(--bs-secondary);
}

.host-main {
    /*background-color: #fafafa !important;*/
    background-color: #f5f5f5 !important;
}

.host-body {
    background-color: #f5f5f5 !important;
    min-height: 100vh;
}

.host-footer {
    color: #fff;
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

.form-control:focus {
    border-color: var(--bs-secondary) !important; /* Your custom focus color */
    box-shadow: 0 0 0 0.2rem var(--bs-secondary-rgb) !important; /* Optional: Adjust the focus shadow */
}

a {
    color: var(--bs-secondary);
    text-decoration: none !important;
}

    a:hover {
        /*font-weight: bold; !important;*/
    }

.validation-summary-errors ul {
    list-style-type: none !important;
    margin: 0px !important;
    padding: 5px !important;
    padding-left: 10px !important;
    color: var(--bs-danger-text-emphasis) !important;
    background-color: var(--bs-danger-bg-subtle);
    border-block-color: var(--bs-danger-border-subtle);
    border-radius: 5.25px;
}

.currency-input {
    text-align: right;
    width: 70px !important;
}

html {
    font-size: 14px;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
    position: relative;
    min-height: 100%;
}

body {
}

.profile-picture {
    width: 125px;
    height: 125px;
    background-size: cover;
    background-position: center;
    border-radius: 50%;
    border: 2px solid #fff;
    z-index: 1000;
    aspect-ratio: 1 / 1;
    flex-shrink: 0;
}

.profile-banner {
    max-height: 400px;
    background-size: cover;
    background-position: center;
}

.profile-info {
    padding: 20px;
    display: flex;
    align-items: center;
    z-index: 1000;
}

.banner {
    width: 100%;
    max-height: 300px;
    background-size: cover;
    background-position: center;
}

.banner-voucher {
    max-height: 800px;
}

    .banner::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 75%, rgba(255, 255, 255, 1) 100%);
        pointer-events: none; /* Ensures it doesn't block interactions */
    }

gmp-place-autocomplete {
    color-scheme: light !important;
}



.host-sticky-offset {
    top: 49px; /* default for small viewports */
}

@media (min-width: 768px) { /* md and up */
    .host-sticky-offset {
        top: 56px; /* adjust for larger navbar height */
    }
}


.host-card {
    /* Bootstrap card base */
    display: flex;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: #fff;
    background-clip: border-box;
    /* rounded-4 */
    border-radius: 4px !important;
    /* shadow-sm */
    box-shadow: 0 .125rem .5rem rgba(0,0,0,.075) !important;
    /* border-0 */
    border: 0 !important;
}


.host-card-header {
    /* Bootstrap card-header base */
    padding: 0.5rem 1rem;
    margin-bottom: 0;
    background-color: #fff; /* bg-white */
    border-bottom: 1px solid rgba(0, 0, 0, 0.125);
    border-top-left-radius: 4px !important;
    border-top-right-radius: 4px !important;
}

.host-card-body {
    flex: 1 1 auto;
    padding: 1rem; /* same as Bootstrap card-body */
}

.host-card-footer {
    padding: 0.5rem 1rem;
    background-color: #fff; /* bg-white */
    border-top: 1px solid rgba(0, 0, 0, 0.125);
}

.host-title-bar {
    background: linear-gradient( to bottom, #f5f5f5 0, #f5f5f5 calc(100% - 10px), rgba(245, 245, 245, 0) 100% );
}

/* Keep sticky headers below the navbar in normal flow and cover scrolling results. */
.host-sticky-header {
    margin-top: 49px;
    padding: 0.5rem 0;
    background: #f5f5f5;
}

@media (min-width: 768px) {
    .host-sticky-header {
        margin-top: 56px;
    }
}

.card-text-wrapper {
    position: relative;
    overflow: hidden;
    transition: max-height 0.35s ease;
}

.card-text-wrapper.collapsed {
    max-height: 6.5em; /* roughly 4 lines depending on font-size */
}

/* fade-out gradient */
.card-text-wrapper.collapsed::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        height: 2.5em;
        background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,1));
        pointer-events: none;
    }

.eventcard-text-toggle {
    cursor: pointer;
    user-select: none;
}

/* Page hero/banner used by pages that render a full-width header */
.page-hero {
    width: 100%;
    min-height: 50vh;
    background-size: cover;
    background-position: center;
    align-items: center;
    color: #fff;
    position: relative;
}

.page-hero::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(120,0,255,0.85), rgba(0,0,0,0.6));
    pointer-events: none;
    z-index: 2;
}

.page-hero .container { position: relative; z-index: 3; }

/* helper classes for the index hero carousel */
.hero-carousel {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.hero-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-content { position: relative; z-index: 3; }

.pagination-secondary {
    --bs-pagination-color: var(--bs-secondary);
    --bs-pagination-hover-color: var(--bs-secondary);
    --bs-pagination-focus-color: var(--bs-secondary);
    --bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(var(--bs-secondary-rgb), .25);
    --bs-pagination-active-bg: var(--bs-secondary);
    --bs-pagination-active-border-color: var(--bs-secondary);
}

/* Keep long payment identifiers inside their history cell on phones. */
@media (max-width: 767.98px) {
    .order-history-table {
        table-layout: fixed;
        width: 100%;
    }

    .order-history-table th:first-child {
        width: 7rem;
    }

    .order-history-description {
        overflow-x: auto;
    }
}

/* Public event booking controls and sidebar. */
.ep-cta-card {
    position: sticky;
    top: 4rem;
}

.ep-cta-btn {
    border-radius: 14px;
    padding: 14px 18px;
    font-weight: 700;
    letter-spacing: .2px;
    box-shadow: 0 10px 24px rgba(0,0,0,.12);
    transition: transform .15s ease, box-shadow .15s ease;
}

.ep-cta-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 28px rgba(0,0,0,.18);
}

.ep-cta-pill {
    display: inline-block;
    font-size: .75rem;
    font-weight: 700;
    padding: .25rem .6rem;
    border-radius: 999px;
    background: rgba(0,0,0,.06);
    margin-bottom: .6rem;
}

.ep-cta-sub {
    font-size: .9rem;
    opacity: .8;
    margin-top: .5rem;
}

.ep-sidebar {
    min-width: 280px;
}

.event-host-profile {
    flex: 0 0 auto;
    align-self: flex-start;
    max-width: 100%;
}

.event-host-profile > div {
    max-width: 10rem;
    overflow-wrap: anywhere;
}

.event-host-details {
    min-width: 0;
    overflow-wrap: anywhere;
}

.event-host-contact {
    overflow-wrap: anywhere;
}
