.bw-ticket-section-past {
    display: none !important;
}

/* Hero Section layout tweaks */
.bw-hero-section-wrapper .elementor-container {
    display: flex !important;
    flex-wrap: wrap !important;
}

/* Quotation formatting */
.elementor-blockquote__content, .bw-quote-text {
    font-style: italic !important;
    position: relative !important;
}

.bw-quote-text::before {
    content: "“" !important;
}

.bw-quote-text::after {
    content: "”" !important;
}

/* Native Elementor Event presentation widgets. Content comes from Core tags. */
.bw-event-status-label,
.bw-event-status-label .elementor-heading-title,
.bw-event-announcement-status,
.bw-event-announcement-status .elementor-heading-title {
    color: #ffffff !important;
}

.bw-event-status-label {
    display: inline-flex;
    align-items: center;
    box-sizing: border-box;
    width: fit-content;
    margin: 0 0 14px;
    border-radius: 2px;
    padding: 5px 14px;
    background: #c0185a;
    font: 700 10px/1 'DM Sans', sans-serif;
    letter-spacing: .15em;
    text-transform: uppercase;
}

/* Hero Event Metadata List */
.elementor-element.bw-event-meta-list,
.bw-event-meta-list {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    gap: 10px !important;
    margin: 0 0 20px !important;
    width: 100% !important;
    padding: 0 !important;
}

/* Hero Event Metadata Card Item */
.elementor-element.bw-event-meta-item,
.bw-event-meta-item {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 16px !important;
    background: #ffffff !important;
    border: 1px solid #eee3df !important;
    border-radius: 100px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    flex: 0 1 auto !important;
    box-sizing: border-box !important;
    margin: 0 !important;
}

/* Venue Card - flexible to accommodate longer address text */
.elementor-element.bw-event-meta-venue,
.bw-event-meta-venue {
    flex: 1 1 auto !important;
    border-radius: 18px !important;
}

/* Metadata Icon Container & SVG */
.bw-event-meta-icon {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

.bw-event-meta-icon .elementor-icon,
.bw-event-meta-icon .elementor-icon-wrapper {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
}

.bw-event-meta-icon .elementor-icon {
    color: #c0185a !important;
    font-size: 14px !important;
}

.bw-event-meta-icon .elementor-icon svg,
.bw-event-meta-icon .elementor-icon i {
    color: #c0185a !important;
    fill: #c0185a !important;
    width: 14px !important;
    height: 14px !important;
    vertical-align: middle !important;
}

/* Metadata Text */
.bw-event-meta-text {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.bw-event-meta-item .elementor-widget-container,
.bw-event-meta-item .elementor-heading-title,
.bw-event-meta-text .elementor-widget-container,
.bw-event-type-text .elementor-heading-title,
.bw-event-announcement-text .elementor-heading-title {
    margin: 0 !important;
    padding: 0 !important;
}

.bw-event-meta-text .elementor-heading-title {
    color: #332b2d !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
}

.bw-event-meta-date .elementor-heading-title,
.bw-event-meta-time .elementor-heading-title,
.bw-event-meta-city .elementor-heading-title {
    white-space: nowrap !important;
}

.bw-event-meta-venue .elementor-heading-title {
    white-space: normal !important;
    word-break: break-word !important;
}

.bw-event-type-line {
    flex: 0 0 20px;
    width: 20px;
}

.bw-event-type-line .elementor-divider {
    padding: 0;
}

.bw-event-type-text .elementor-heading-title {
    color: #c0185a;
    font: 600 11px/1 'DM Sans', sans-serif;
    letter-spacing: .2em;
    text-transform: uppercase;
}

.bw-event-announcement-text .elementor-heading-title {
    color: #fffcf8;
    font: 500 13px/1.65 'DM Sans', sans-serif;
}

.bw-event-announcement-status {
    margin: 0;
}

@media (max-width: 767px) {
    .elementor-element.bw-event-meta-list,
    .bw-event-meta-list {
        flex-direction: row !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
    }

    .elementor-element.bw-event-meta-item,
    .bw-event-meta-item {
        max-width: 100% !important;
        padding: 6px 12px !important;
    }

    .elementor-element.bw-event-meta-venue,
    .bw-event-meta-venue {
        flex: 1 1 100% !important;
        width: 100% !important;
        border-radius: 14px !important;
    }
}

/* ==========================================================================
   Event Hero Right Image Container & Action CTAs
   ========================================================================== */
.bwmc-native-img,
.bwmc-native-img img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 12px !important;
}

#hero-right {
    aspect-ratio: 1 / 1 !important;
    max-height: 520px !important;
    overflow: hidden !important;
    background: #f8f1ed !important;
    display: flex !important;
}

.bw-event-hero-actions,
#hero-actions {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    align-items: center !important;
    margin-top: 8px !important;
}

.bw-hero-btn-primary .elementor-button,
.bw-event-btn-primary .elementor-button {
    background: #c0185a !important;
    color: #ffffff !important;
    border: 1px solid #c0185a !important;
    border-radius: 24px !important;
    padding: 13px 26px !important;
    font: 700 12px/1 'DM Sans', sans-serif !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    transition: all .2s ease !important;
}

.bw-hero-btn-primary .elementor-button:hover,
.bw-hero-btn-primary .elementor-button:focus-visible,
.bw-event-btn-primary .elementor-button:hover,
.bw-event-btn-primary .elementor-button:focus-visible {
    background: #a0144c !important;
    border-color: #a0144c !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
}

.bw-hero-btn-secondary .elementor-button,
.bw-event-btn-secondary .elementor-button {
    background: transparent !important;
    color: #c0185a !important;
    border: 1px solid #c0185a !important;
    border-radius: 24px !important;
    padding: 13px 26px !important;
    font: 700 12px/1 'DM Sans', sans-serif !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    transition: all .2s ease !important;
}

.bw-hero-btn-secondary .elementor-button:hover,
.bw-hero-btn-secondary .elementor-button:focus-visible,
.bw-event-btn-secondary .elementor-button:hover,
.bw-event-btn-secondary .elementor-button:focus-visible {
    background: #c0185a !important;
    border-color: #c0185a !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
}

/* ==========================================================================
   Program Section Session Headings & Breaks
   ========================================================================== */
.bw-session-title {
    text-align: center !important;
    font: 700 22px/1.3 'DM Sans', sans-serif !important;
    color: #c0185a !important;
    padding: 14px 28px !important;
    background: linear-gradient(135deg, #fdf0f5, #fff8fb) !important;
    border: 1px solid #f0c8d5 !important;
    border-radius: 10px !important;
    margin: 32px 0 18px !important;
    letter-spacing: .02em !important;
    box-sizing: border-box !important;
}

.bw-break {
    text-align: center !important;
    font: 600 13px/1 'DM Sans', sans-serif !important;
    letter-spacing: .06em !important;
    color: #6b6063 !important;
    background: #f8f1ed !important;
    border: 1px dashed #e5d8d4 !important;
    border-radius: 8px !important;
    padding: 12px 20px !important;
    margin: 24px 0 !important;
    box-sizing: border-box !important;
}

/* ==========================================================================
   Tickets Section Redesign & Premium UX Architecture
   ========================================================================== */
.bw-event-ticket-main {
    background: #fffcf8 !important;
    padding-block: 64px 80px !important;
}

.bw-event-ticket-cards {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 28px !important;
    align-items: stretch !important;
    width: 100% !important;
    margin-top: 36px !important;
    box-sizing: border-box !important;
}

.bw-event-ticket-card {
    flex: 0 1 calc((100% - 56px) / 3) !important;
    min-width: 290px !important;
    max-width: calc((100% - 56px) / 3) !important;
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    border: 1px solid #eee3df !important;
    border-radius: 18px !important;
    padding: 32px 28px !important;
    box-shadow: 0 2px 14px rgba(51, 43, 45, 0.04) !important;
    transition: transform .2s ease, box-shadow .2s ease !important;
    position: relative !important;
    box-sizing: border-box !important;
    min-height: 100% !important;
}

.bw-event-ticket-card:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 24px rgba(51, 43, 45, 0.08) !important;
}

/* Unified Card Header: Semantic Icon + Audience Badge */
.bw-ticket-card-top {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 20px !important;
    width: 100% !important;
    padding: 0 !important;
}

.bw-ticket-icon-wrap {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 50% !important;
    background: #fdf0f5 !important;
    border: 1px solid #f0c8d5 !important;
    color: #c0185a !important;
    flex-shrink: 0 !important;
}

.bw-ticket-icon-wrap svg {
    width: 22px !important;
    height: 22px !important;
    color: inherit !important;
    stroke: currentColor !important;
    display: block !important;
}

.bw-ticket-badge {
    display: inline-flex !important;
    align-items: center !important;
    padding: 6px 14px !important;
    border-radius: 100px !important;
    background: #fdf0f5 !important;
    border: 1px solid #f0c0d8 !important;
    color: #c0185a !important;
    font: 700 11px/1 'DM Sans', sans-serif !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

/* Card Titles */
.bw-event-ticket-card .elementor-heading-title,
.bw-event-ticket-card h3 {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #332b2d !important;
    margin: 0 0 8px !important;
    line-height: 1.25 !important;
}

/* Card Descriptions / Short Text */
.bw-event-ticket-desc,
.bw-event-ticket-desc .elementor-widget-container,
.bw-event-ticket-card .elementor-widget-text-editor {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 13.5px !important;
    line-height: 1.5 !important;
    color: #6b6063 !important;
    margin: 0 0 16px !important;
}

/* Prices */
.bw-event-ticket-price-value,
.bw-event-ticket-price-value .elementor-heading-title {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 40px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    color: #c0185a !important;
    margin: 4px 0 !important;
}

.bw-event-ticket-original-price,
.bw-event-ticket-original-price .elementor-heading-title {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    color: #8c8285 !important;
    text-decoration: line-through !important;
    margin: 0 0 6px !important;
}

.bw-event-ticket-condition,
.bw-event-ticket-condition .elementor-heading-title,
.bw-event-ticket-condition .elementor-widget-container {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    color: #a0144c !important;
    margin: 2px 0 10px !important;
}

/* CTA Zone inside Cards */
.bw-event-ticket-card .elementor-widget-button {
    margin-top: auto !important;
    padding-top: 20px !important;
    width: 100% !important;
}

.bw-event-ticket-card .elementor-button {
    width: 100% !important;
    min-height: 48px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 24px !important;
    background: #c0185a !important;
    color: #ffffff !important;
    font: 700 12px/1 'DM Sans', sans-serif !important;
    letter-spacing: .08em !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    transition: all .2s ease !important;
    border: none !important;
}

.bw-event-ticket-card .elementor-button:hover,
.bw-event-ticket-card .elementor-button:focus-visible {
    background: #a0144c !important;
    color: #ffffff !important;
    translate: 0 -1px !important;
}

/* ==========================================================================
   PRO Ticket Card - Deep Berry Gradient & Flawless Accessibility
   ========================================================================== */
.bw-event-ticket-pro {
    background: linear-gradient(145deg, #5b0b2d 0%, #7d103b 100%) !important;
    border: 1px solid #8f1244 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 20px rgba(91, 11, 45, 0.18) !important;
}

.bw-event-ticket-pro .bw-ticket-icon-wrap {
    background: rgba(255, 255, 255, 0.12) !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    color: #fffcf8 !important;
}

.bw-event-ticket-pro .bw-ticket-badge {
    background: rgba(255, 255, 255, 0.15) !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    color: #ffffff !important;
}

.bw-event-ticket-pro .elementor-heading-title,
.bw-event-ticket-pro h3,
.bw-event-ticket-pro .bw-event-ticket-price-value,
.bw-event-ticket-pro .bw-event-ticket-price-value .elementor-heading-title {
    color: #ffffff !important;
}

.bw-event-ticket-pro .elementor-widget-text-editor,
.bw-event-ticket-pro .bw-event-ticket-desc,
.bw-event-ticket-pro p,
.bw-event-ticket-pro span {
    color: #f1e5e1 !important;
}

.bw-event-ticket-pro .bw-event-ticket-condition,
.bw-event-ticket-pro .bw-event-ticket-condition .elementor-heading-title {
    color: #f1e5e1 !important;
}

/* PRO White Button with Dark Berry Text */
.bw-event-ticket-pro .elementor-button {
    background: #ffffff !important;
    color: #5b0b2d !important;
    font-weight: 700 !important;
    border: 1px solid #ffffff !important;
}

.bw-event-ticket-pro .elementor-button:hover,
.bw-event-ticket-pro .elementor-button:focus-visible {
    background: #fdf0f5 !important;
    color: #5b0b2d !important;
    border-color: #fdf0f5 !important;
    translate: 0 -1px !important;
}

.bw-event-ticket-pro .elementor-button .elementor-button-text {
    color: #5b0b2d !important;
    text-decoration: none !important;
}

/* PRO Login Link */
.bw-event-ticket-pro .bw-event-ticket-login,
.bw-event-ticket-pro .bw-event-ticket-login .elementor-widget-container,
.bw-event-ticket-pro .bw-event-ticket-login a,
.bw-event-ticket-pro .elementor-element-pro-login,
.bw-event-ticket-pro .elementor-element-pro-login .elementor-widget-container,
.bw-event-ticket-pro .elementor-element-pro-login a,
.bw-event-ticket-pro .elementor-element-pro-promo-login,
.bw-event-ticket-pro .elementor-element-pro-promo-login .elementor-widget-container,
.bw-event-ticket-pro .elementor-element-pro-promo-login a {
    color: #ffffff !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 13px !important;
    text-align: center !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    text-decoration-color: rgba(255, 255, 255, 0.45) !important;
    margin: 8px 0 0 !important;
    transition: color .2s ease, text-decoration-color .2s ease, opacity .2s ease !important;
    display: block !important;
}

.bw-event-ticket-pro .bw-event-ticket-login a:hover,
.bw-event-ticket-pro .bw-event-ticket-login a:focus-visible,
.bw-event-ticket-pro .elementor-element-pro-login a:hover,
.bw-event-ticket-pro .elementor-element-pro-login a:focus-visible,
.bw-event-ticket-pro .elementor-element-pro-promo-login a:hover,
.bw-event-ticket-pro .elementor-element-pro-promo-login a:focus-visible {
    color: #ffffff !important;
    text-decoration-color: #ffffff !important;
    opacity: 0.9 !important;
}

/* ==========================================================================
   Shared Ticket Location & Print Information Note (Post-Cards)
   ========================================================================== */
.bw-event-ticket-shared-info {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    max-width: 680px !important;
    margin: 32px auto 0 !important;
    padding: 16px 24px !important;
    background: rgba(255, 255, 255, 0.75) !important;
    border: 1px solid #eedfd9 !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 8px rgba(91, 11, 45, 0.03) !important;
    box-sizing: border-box !important;
}

.bw-ticket-shared-info-title {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    font-family: 'Sofia Sans', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #5b0b2d !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
    margin-bottom: 6px !important;
}

.bw-ticket-shared-info-title svg {
    stroke: #8f1244 !important;
    flex-shrink: 0 !important;
}

.bw-ticket-shared-info-text {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 13.5px !important;
    line-height: 1.55 !important;
    color: #6b6063 !important;
}

.bw-ticket-shared-info-text a {
    color: #8f1244 !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
    transition: color .2s ease !important;
}

.bw-ticket-shared-info-text a:hover {
    color: #5b0b2d !important;
    text-decoration-color: #5b0b2d !important;
}

/* ==========================================================================
   PRO Promotion Price Breakdown
   ========================================================================== */
.bw-promo-breakdown {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    margin: 8px 0 16px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.bw-promo-breakdown-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 13.5px !important;
    color: #f1e5e1 !important;
    padding: 2px 0 !important;
}

.bw-promo-breakdown-label {
    font-weight: 500 !important;
    color: #f1e5e1 !important;
}

.bw-promo-breakdown-val {
    font-weight: 600 !important;
    color: #ffffff !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 20px !important;
    line-height: 1 !important;
}

.bw-promo-gift-tag {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.22) !important;
    border: 1px solid rgba(255, 255, 255, 0.4) !important;
    padding: 3px 9px !important;
    border-radius: 4px !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
}

.bw-promo-breakdown-row.bw-promo-breakdown-total {
    border-top: 1px solid rgba(255, 255, 255, 0.22) !important;
    padding-top: 10px !important;
    margin-top: 4px !important;
}

.bw-promo-breakdown-row.bw-promo-breakdown-total .bw-promo-breakdown-label {
    font-weight: 700 !important;
    color: #ffffff !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
}

.bw-promo-breakdown-row.bw-promo-breakdown-total .bw-promo-breakdown-val {
    font-size: 34px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    color: #ffffff !important;
}

.bw-promo-breakdown-helper {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 12px !important;
    color: #ebdcd7 !important;
    font-style: italic !important;
    margin-top: 2px !important;
}

/* ==========================================================================
   Responsive Breakpoints
   ========================================================================== */
@media (min-width: 681px) and (max-width: 1023px) {
    .bw-event-ticket-cards {
        gap: 20px !important;
    }

    .bw-event-ticket-card {
        flex: 0 1 calc((100% - 20px) / 2) !important;
        max-width: calc((100% - 20px) / 2) !important;
    }

    .bw-event-ticket-pro {
        flex: 1 1 100% !important;
        max-width: 100% !important;
    }
}

@media (max-width: 680px) {
    .elementor-element.bw-event-ticket-cards,
    .bw-event-ticket-cards {
        display: flex !important;
        flex-direction: column !important;
        gap: 20px !important;
    }

    .bw-event-ticket-card {
        flex: 1 1 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
        padding: 26px 20px !important;
    }

    .bw-event-ticket-shared-info {
        margin: 24px 12px 0 !important;
        padding: 14px 18px !important;
    }

    .bw-ticket-shared-info-title {
        font-size: 14px !important;
    }

    .bw-ticket-shared-info-text {
        font-size: 13px !important;
    }
}

/* ==========================================================================
   Event Contact + Calendar Unified Utility Panel (Premium UX)
   ========================================================================== */
.bw-event-utility-panel {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    justify-content: space-between !important;
    background: #ffffff !important;
    background: linear-gradient(135deg, #ffffff 0%, #fffcf9 100%) !important;
    border: 1px solid #ebdcd7 !important;
    border-radius: 16px !important;
    padding: 32px 36px !important;
    box-shadow: 0 4px 20px rgba(51, 43, 45, 0.04) !important;
    gap: 40px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin-top: 36px !important;
    position: relative !important;
}

/* Zone 1 — Event Information (~40%) */
.bw-event-utility-info {
    flex: 0 0 38% !important;
    max-width: 38% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    box-sizing: border-box !important;
    border-right: 1px solid #ebdcd7 !important;
    padding-right: 36px !important;
}

/* Zone 2 — Save the Event (~60%) */
.bw-event-utility-calendar {
    flex: 1 1 60% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 16px !important;
    box-sizing: border-box !important;
}

/* Eyebrow / Small Section Headers */
.bw-utility-eyebrow,
.bw-utility-eyebrow .elementor-heading-title,
.bw-utility-eyebrow .elementor-widget-container {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .15em !important;
    text-transform: uppercase !important;
    color: #c0185a !important;
    margin: 0 !important;
    line-height: 1.2 !important;
}

/* Info Rows List */
.bw-utility-info-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
}

.bw-utility-info-item {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 14.5px !important;
    font-weight: 500 !important;
    color: #332b2d !important;
    line-height: 1.4 !important;
    margin: 0 !important;
}

.bw-utility-info-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    border-radius: 50% !important;
    background: #fdf0f5 !important;
    border: 1px solid #f0c8d5 !important;
    color: #c0185a !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.bw-utility-info-icon .elementor-widget-container,
.bw-utility-info-icon .elementor-icon-wrapper,
.bw-utility-info-icon .elementor-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #c0185a !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    height: 100% !important;
}

.bw-utility-info-icon svg,
.bw-utility-info-icon i {
    width: 16px !important;
    height: 16px !important;
    color: #c0185a !important;
    fill: currentColor !important;
    display: block !important;
    margin: 0 auto !important;
}

.bw-utility-info-text,
.bw-utility-info-text .elementor-heading-title,
.bw-utility-info-text .elementor-widget-container,
.bw-utility-info-text p {
    flex: 1 1 auto !important;
    color: #332b2d !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.bw-utility-info-text a {
    color: #332b2d !important;
    text-decoration: none !important;
    transition: color .2s ease !important;
}

.bw-utility-info-text a:hover,
.bw-utility-info-text a:focus-visible {
    color: #c0185a !important;
    text-decoration: underline !important;
}

/* Zone 2 Supporting Description */
.bw-utility-cal-desc,
.bw-utility-cal-desc .elementor-widget-container,
.bw-utility-cal-desc p {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 13.5px !important;
    line-height: 1.45 !important;
    color: #6b6063 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Calendar Primary Actions */
.bw-utility-actions {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
}

.bw-cal-btn {
    flex: 1 1 50% !important;
    margin: 0 !important;
}

.bw-cal-btn .elementor-button {
    width: 100% !important;
    min-height: 48px !important;
    padding: 12px 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    background: #ffffff !important;
    color: #c0185a !important;
    border: 1.5px solid #c0185a !important;
    border-radius: 12px !important;
    font: 600 13px/1 'DM Sans', sans-serif !important;
    letter-spacing: .02em !important;
    transition: all .2s ease !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    box-shadow: 0 1px 3px rgba(192, 24, 90, 0.05) !important;
    text-decoration: none !important;
}

.bw-cal-btn .elementor-button .elementor-button-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

.bw-cal-btn .elementor-button .elementor-button-icon svg,
.bw-cal-btn .elementor-button .elementor-button-icon i {
    width: 16px !important;
    height: 16px !important;
    color: #c0185a !important;
    fill: currentColor !important;
    transition: color .2s ease, fill .2s ease !important;
}

.bw-cal-btn .elementor-button .elementor-button-text {
    color: #c0185a !important;
    transition: color .2s ease !important;
}

.bw-cal-btn .elementor-button:hover,
.bw-cal-btn .elementor-button:focus-visible {
    background: #c0185a !important;
    border-color: #c0185a !important;
    color: #ffffff !important;
    translate: 0 -1px !important;
    box-shadow: 0 4px 14px rgba(192, 24, 90, 0.22) !important;
}

.bw-cal-btn .elementor-button:hover .elementor-button-text,
.bw-cal-btn .elementor-button:focus-visible .elementor-button-text {
    color: #ffffff !important;
}

.bw-cal-btn .elementor-button:hover .elementor-button-icon svg,
.bw-cal-btn .elementor-button:hover .elementor-button-icon i,
.bw-cal-btn .elementor-button:focus-visible .elementor-button-icon svg,
.bw-cal-btn .elementor-button:focus-visible .elementor-button-icon i {
    color: #ffffff !important;
    fill: #ffffff !important;
}

/* Secondary Share Action */
.bw-utility-share-row {
    display: flex !important;
    align-items: center !important;
    margin-top: 2px !important;
}

.bw-share-btn .elementor-button {
    background: transparent !important;
    border: 1px solid #dbc9c3 !important;
    color: #6b6063 !important;
    border-radius: 8px !important;
    padding: 8px 16px !important;
    min-height: 38px !important;
    font: 500 12.5px/1 'DM Sans', sans-serif !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    transition: all .2s ease !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

.bw-share-btn .elementor-button .elementor-button-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
}

.bw-share-btn .elementor-button .elementor-button-icon svg,
.bw-share-btn .elementor-button .elementor-button-icon i {
    width: 14px !important;
    height: 14px !important;
    color: #6b6063 !important;
    fill: currentColor !important;
    transition: color .2s ease, fill .2s ease !important;
}

.bw-share-btn .elementor-button .elementor-button-text {
    color: #6b6063 !important;
    transition: color .2s ease !important;
}

.bw-share-btn .elementor-button:hover,
.bw-share-btn .elementor-button:focus-visible {
    border-color: #c0185a !important;
    background: rgba(192, 24, 90, 0.05) !important;
    color: #c0185a !important;
    translate: none !important;
}

.bw-share-btn .elementor-button:hover .elementor-button-text,
.bw-share-btn .elementor-button:focus-visible .elementor-button-text {
    color: #c0185a !important;
}

.bw-share-btn .elementor-button:hover .elementor-button-icon svg,
.bw-share-btn .elementor-button:hover .elementor-button-icon i,
.bw-share-btn .elementor-button:focus-visible .elementor-button-icon svg,
.bw-share-btn .elementor-button:focus-visible .elementor-button-icon i {
    color: #c0185a !important;
    fill: #c0185a !important;
}

/* Accessibility Keyboard Focus Visible */
.bw-cal-btn .elementor-button:focus-visible,
.bw-share-btn .elementor-button:focus-visible,
.bw-utility-info-text a:focus-visible {
    outline: 2px solid #5b0b2d !important;
    outline-offset: 2px !important;
}

/* Responsive Overrides */
@media (max-width: 991px) {
    .bw-event-utility-panel {
        flex-direction: column !important;
        padding: 28px 24px !important;
        gap: 28px !important;
    }

    .bw-event-utility-info {
        flex: 1 1 100% !important;
        max-width: 100% !important;
        border-right: none !important;
        border-bottom: 1px solid #ebdcd7 !important;
        padding-right: 0 !important;
        padding-bottom: 24px !important;
    }

    .bw-event-utility-calendar {
        flex: 1 1 100% !important;
    }
}

@media (max-width: 600px) {
    .bw-event-utility-panel {
        padding: 22px 18px !important;
        gap: 22px !important;
        border-radius: 14px !important;
        margin-top: 24px !important;
    }

    .bw-utility-actions {
        flex-direction: column !important;
        gap: 10px !important;
    }

    .bw-cal-btn {
        flex: 1 1 100% !important;
        width: 100% !important;
    }

    .bw-cal-btn .elementor-button {
        width: 100% !important;
    }

    .bw-utility-share-row {
        width: 100% !important;
    }

    .bw-share-btn {
        width: 100% !important;
    }

    .bw-share-btn .elementor-button {
        width: 100% !important;
    }
}
