i.ep-all-events-widget-logo{

}

.ep-eventprime-elementor-icon:before{
    content: "" !important;
    width: 24px;
    height: 24px;
    display: block;
}

.ep-icon-eventprime-all-event:before{
    background: url(../images/ep-all-events.svg)no-repeat center center;
}
.ep-icon-eventprime-venues:before{
    background: url(../images/eventprime-venues.svg)no-repeat center center;    /* ***** */ 
}

.ep-icon-eventprime-performers:before{
    background: url(../images/ep-performers.svg)no-repeat center center;
}

.ep-icon-eventprime-single-event-type {
    background: url(../images/ep-event-type-single.svg)no-repeat center center;
}

.ep-icon-eventprime-event-type {
    background: url(../images/ep-event-type.svg)no-repeat center center;
}

.ep-icon-eventprime-sponsors {
    background: url(../images/ep-event-sponsors.svg)no-repeat center center;
}

.ep-icon-eventprime-sponsors {
    background: url(../images/ep-event-sponsors.svg)no-repeat center center;
}

.ep-icon-eventprime-user-register {
    background: url(../images/ep-user-registration.svg)no-repeat center center;
}

.ep-elementor-ticket-counter-card {
    border-radius: 20px;
    padding: clamp(20px, 5%, 40px);
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    text-align: center;
    color: #fff;
    background: #A72874;
    box-sizing: border-box;
    min-width: 0;
    container-type: inline-size;
}

.ep-elementor-ticket-counter-title {
    font-size: clamp(24px, 4.4vw, 56px);
    line-height: 1.1;
    font-weight: 700;
    margin: 0 0 18px 0;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.ep-elementor-ticket-counter-price-prefix {
    font-size: clamp(14px, 2vw, 18px);
    line-height: 1.2;
    font-weight: 500;
    margin: 0 0 8px 0;
    opacity: 0.95;
}

.ep-elementor-ticket-counter-price {
    font-size: clamp(42px, 8vw, 96px);
    line-height: 1;
    font-weight: 800;
    margin: 0 0 18px 0;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.ep-elementor-ticket-counter-count {
    font-size: clamp(30px, 5.5vw, 64px);
    line-height: 1;
    font-weight: 700;
    margin: 0;
    overflow-wrap: anywhere;
}

.ep-elementor-ticket-counter-progress-track {
    width: 100%;
    height: 14px;
    border-radius: 20px;
    overflow: hidden;
    margin: 18px auto 34px auto;
    max-width: 100%;
}

.ep-elementor-ticket-counter-progress-fill {
    height: 100%;
    width: 0;
    border-radius: 20px;
    transition: width 0.25s ease;
    background: #E31B5F;
}

.ep-elementor-ticket-counter-custom-text {
    font-size: clamp(16px, 2.5vw, 26px);
    line-height: 1.4;
    font-weight: 500;
    margin: 0 0 36px 0;
    white-space: normal;
}

.ep-elementor-ticket-counter-button .ep-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: clamp(48px, 8vw, 64px);
    width: 100%;
    max-width: 100%;
    border-radius: 10px;
    padding: clamp(10px, 2vw, 14px) clamp(20px, 3vw, 28px);
    box-shadow: none;
    margin: 0 auto;
    white-space: normal;
    flex-wrap: wrap;
    gap: 6px;
}

.ep-elementor-ticket-counter-button .ep-btn span {
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-size: clamp(14px, 1.8vw, 18px);
    font-weight: 700;
}

/* Preserve Material Icons ligatures inside booking button output. */
.ep-elementor-ticket-counter-button .ep-btn .material-icons-outlined {
    letter-spacing: normal !important;
    text-transform: none !important;
    font-size: 22px !important;
    font-weight: normal !important;
    font-style: normal !important;
    line-height: 1 !important;
    display: inline-flex;
    align-items: center;
}

.ep-elementor-ticket-counter-button a {
    text-decoration: none;
    display: block;
    width: 100%;
}

/* Media query is now optional since clamp() handles scaling */
@media (max-width: 480px) {
    .ep-elementor-ticket-counter-card {
        padding: clamp(16px, 4%, 20px);
    }

    .ep-elementor-ticket-counter-title {
        margin-bottom: 14px;
    }

    .ep-elementor-ticket-counter-price {
        margin-bottom: 14px;
    }

    .ep-elementor-ticket-counter-custom-text {
        margin-bottom: 22px;
    }
}

@media (max-width: 767px) {
    .ep-elementor-ticket-counter-progress-track {
        margin: 14px auto 24px auto;
    }

    .ep-elementor-ticket-counter-custom-text {
        font-size: clamp(15px, 3.8vw, 20px);
    }
}

@container (max-width: 420px) {
    .ep-elementor-ticket-counter-title {
        font-size: 30px;
        line-height: 1.15;
    }

    .ep-elementor-ticket-counter-price {
        font-size: 52px;
        line-height: 1.05;
    }

    .ep-elementor-ticket-counter-count {
        font-size: 42px;
    }

    .ep-elementor-ticket-counter-custom-text {
        font-size: 16px;
        margin-bottom: 20px;
    }

    .ep-elementor-ticket-counter-progress-track {
        height: 10px;
        margin: 12px auto 20px auto;
    }
}
