/*!
Theme Name: UiCore Pro Child
Theme URI: https://uicore.co
Description: One framework for all your website needs.
Author: UiCore
Author URI: https://uicore.co
Template: uicore-pro
Version: 1.0.0
Text Domain: uicore-pro
*/

/* --- SCHEDULING & EVENTS (EVENTIN) --- */
.etn-schedule-wrap .etn-single-schedule-item {
    border-bottom: 1px solid #eaeaea;
    margin: 0;
    padding: 20px 0 10px 0 !important;
}

.etn-schedule-content .etn-title {
    font-size: 18px !important;
    margin-top: 8px !important;
}

.etn-schedule-wrap .etn-schedule-info .etn-schedule-time {
    background: #F9FAFC;
    color: #191919 !important;
    padding: 5px 20px;
}

.schedule-tab-wrapper .etn-nav li a .etn-day {
    font-size: 26px !important;
    font-weight: 700 !important;
    margin-bottom: 8px !important;
}

.etn-attendee-form-section-auto-fill {
    display: none !important;
}

.etn-es-events-page-container {
    padding-top: 0;
    margin-top: 0 !important;
}

.etn-event-header ul li i {
    color: #ffffff;
    background-color: #DEC19E;
}

.etn-speaker-detail2 .etn-schedule-wrap-title { 
    margin: 0 0 40px 40px; 
}

.etn-speaker-logo { 
    margin-bottom: 15px; 
    padding: 0 20px; 
}

.speaker-sidebar .etn-speaker-thumb {
    width: 100%;
    max-width: 300px;
    margin: 0 auto 20px auto;
    overflow: hidden;
    border-radius: 10px;
}

.speaker-sidebar .etn-speaker-thumb img {
    width: 100% !important;
    height: auto !important;
    display: block;
    object-fit: cover;
}

/* Bordi e Colore Testo Eventin */
.etn-event-item .etn-event-footer .etn-atend-btn .etn-btn-border, 
.etn-btn.etn-btn-border, 
.attr-btn-primary.etn-btn-border, 
.etn-attendee-form .etn-btn.etn-btn-border, 
.etn-ticket-widget .etn-btn.etn-btn-border, 
.event-tab-wrapper ul li a.etn-tab-a, 
.etn-settings-dashboard .button-primary.etn-btn-border {
    border-color: #dec19e !important;
    color: white !important;
}

/* Sfondi Colorati Eventin */
.etn-event-item .etn-event-category span, .etn-btn, .attr-btn-primary, 
.etn-attendee-form .etn-btn, .etn-ticket-widget .etn-btn, .schedule-list-1 .schedule-header, 
.etn-event-slider .swiper-pagination-bullet, .etn-event-header .etn-event-countdown-wrap .etn-count-item,
.etn-event-single-content-wrap .etn-event-meta .etn-event-category span,
.etn-event-single-content-wrap .etn-event-meta .etn-event-category > span a,
button.etn-btn.etn-btn-primary, .etn-zoom-btn, .etn-event-banner-wrap,
.etn-settings-dashboard .button-primary, .etn-purchase-button .etn-purchase-ticket-submit-btn {
    color: #ffffff !important;
    background-color: #DEC19E !important;
}

.etn-purchase-button .etn-purchase-ticket-submit-btn { 
    border: 1px solid #DEC19E !important; 
}

.etn-event-single-wrap .etn-event-single-content-wrap, 
.etn-event-single-wrap .etn-tag-wrapper, 
.etn-event-single-wrap .schedule-tab-wrapper {
    margin: 60px 0;
}

.etn-event-item .etn-event-location, 
.etn-event-tag-list a:hover {
    color: #dec19e !important;
    font-weight: 600;
    margin: 10px 0;
}

.etn-event-item:hover .etn-title a,
.etn-event-item .etn-title a:hover {
    background-color: transparent !important;
    color: #DEC19E !important;
}

.etn-sidebar .etn-widget { margin-top: 60px; }
.etn-event-item .etn-title { margin: 15px 0; }
.etn-not-found-post { border-left: 0; }

.etn-event-item .etn-event-footer .etn-atend-btn .etn-btn-border {
    margin-top: 20px;
    padding: 5px 25px;
}

.etn-event-search-wrapper {
    background: var(--e-global-color-uicore_light);
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,.05);
}
.etn-event-search-wrapper .etn-filter-icon { 
    padding: 10px 25px; 
}

.etn-speaker-page-container { 
    margin: 120px 0; 
}

.etn-organizer-item {
    border-radius: 12px;
    padding: 20px;
    background-color: #ffffff;
    box-shadow: 0 10px 30px #eaeaea;
}

.etn-event-single-content-wrap .etn-single-event-media img {
    box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.5);
    border-radius: 12px;
}

.etn-event-single-content-wrap .etn-event-entry-title {
    font-size: 30px !important;
}


/* --- AVATARS --- */
.avatar.avatar-24.photo,
.avatar.avatar-96.photo {
    border: 1px solid var(--pmpro--color--border--variation) !important;
    border-radius: 50% !important;
    box-shadow: var(--pmpro--box-shadow) !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* --- ELEMENTOR & SHAPES --- */
.elementor-80 .elementor-element.elementor-element-18a0b78 > .elementor-shape-bottom .elementor-shape-fill, 
.elementor-80 .elementor-element.elementor-element-18a0b78 > .e-con-inner > .elementor-shape-bottom .elementor-shape-fill,
.elementor-79 .elementor-element.elementor-element-608f080 > .elementor-shape-bottom .elementor-shape-fill, 
.elementor-79 .elementor-element.elementor-element-608f080 > .e-con-inner > .elementor-shape-bottom .elementor-shape-fill,
.elementor-215 .elementor-element.elementor-element-8c91ac8 > .elementor-shape-bottom .elementor-shape-fill, 
.elementor-215 .elementor-element.elementor-element-8c91ac8 > .e-con-inner > .elementor-shape-bottom .elementor-shape-fill,
.elementor-shape-fill {
    fill: white !important;
}

.elementor-kit-7 input[type="button"], .elementor-kit-7 input[type="submit"], .elementor-kit-7 [type="submit"], 
.elementor-kit-7 .wp-block-button__link, .uicore-mobile-menu-wrapper .uicore-cta-wrapper a, 
.uicore-left-menu .uicore-cta-wrapper a, .wc-block-components-button:not(.is-link), 
.elementor-kit-7 .elementor-button.elementor-button, .elementor-kit-7 .elementor-button:not(.bdt-offcanvas-button), 
.elementor-kit-7 .bdt-button-primary, .elementor-kit-7 .bdt-ep-button, button.metform-btn, 
button.metform-btn:not(.toggle), .elementor-kit-7 .bdt-callout a.bdt-callout-button, 
.elementor-kit-7 .tutor-button, .elementor-kit-7 .tutor-login-form-wrap input[type="submit"], 
.uicore-navbar a.uicore-btn, .elementor-kit-7 .bdt-contact-form .elementor-button {
    text-transform: none !important;
}

.elementor-79 .elementor-element.elementor-element-efc3676 { 
    box-shadow: none; 
}


/* --- PAID MEMBERSHIPS PRO (PMPRO) --- */
.pmpro .pmpro_section_title {
    color: var(--uicore-typography--h2-c, "#070707");
    font-family: var(--uicore-typography--h2-f, "Poppins", sans-serif); /* Rimosso Monserrat fallato */
    font-size: 22px;
    font-weight: 400;
    letter-spacing: var(--uicore-typography--h2-ls, "-0.027em");
    line-height: var(--uicore-typography--h2-h, "1.2");
    text-transform: capitalize;
}

.pmpro .pmpro_card_content p:not(.pmpro_form_hint) { 
    margin: 0; 
    padding: 0; 
}

.pmpro .pmpro_card_content .pmpro_form_heading {
    margin-bottom: 0;
    margin-top: 20px;
    text-transform: none;
}

.pmpro .pmpro_card_actions { 
    margin-top: 30px; 
}

.pmpro .pmpro_section { 
    margin: 20px 0 !important; 
}

.pmpro .pmpro_section:has(#loginform) .pmpro_card_content:not(.widget .pmpro_section:has(#loginform) .pmpro_card_content) {
    padding-top: 10px !important;
}

.pmpro .pmpro_btn:hover, 
.pmpro .pmpro_btn:focus { 
    color: #f7c5a6; 
}

.pmpro_btn {
    border: 1px solid var(--pmpro--color--accent);
    color: var(--pmpro--color--base);
}

.pmpro .pmpro_card_actions button, 
.pmpro .pmpro_btn-cancel, 
#pmpro_member_directory_subheading, 
.pmpro_spacer { 
    display: none !important; 
}

.pmpro .pmpro_font-large {
    color: var(--uicore-typography--h2-c, "#070707");
    font-family: var(--uicore-typography--h2-f, "Poppins", sans-serif);
    font-size: 22px;
    font-weight: 400;
    text-transform: uppercase;
    padding: 20px 0 0 0;
}

.pmpro_card_title.pmpro_font-large { 
    font-size: 16px !important; 
}

.pmpro .pmpro_card {
    border: unset;
    border-radius: unset;
    box-shadow: unset;
    margin: 0;
}

.pmpro #pmpro_account-links .pmpro_card_content {
    padding-top: 10px;
    margin-left: -40px;
}

.pmpro .pmpro_card_content,
.pmpro .pmpro_section:has(.pmpro_form) .pmpro_card_content {
    padding: unset;
    padding-top: unset;
}

/* Accorpamento stili input e form PMPRO */
.pmpro .pmpro_form_input,
.pmpro #loginform {
    border: 1px solid #bbb !important;
    border-radius: 5px !important;
    font-size: 14px;
    height: unset;
    line-height: unset;
    min-height: unset;
    padding: 10px !important;
}

.pmpro .pmpro_form_field-password-toggle button, 
.pmpro .pmpro_form_field-password-toggle button:hover, 
.pmpro .pmpro_form_field-password-toggle button:focus, 
.pmpro .pmpro_form_field-password-toggle button:active {
    font-size: 14px;
}

.pmpro .pmpro_heading-with-avatar { 
    margin-bottom: 10px; 
    font-size: 14px; 
}

/* Layout Dati Personali 2 colonne PMPro */
#pmpro_form_fieldset-dati-personali .pmpro_form_fields {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    align-items: start;
}

#pmpro_form_fieldset-dati-personali .pmpro_form_field,
#pmpro_form_fieldset-dati-personali .pmpro_form_input {
    width: 100% !important;
}

@media (max-width: 768px) {
    #pmpro_form_fieldset-dati-personali .pmpro_form_fields { 
        grid-template-columns: 1fr; 
        gap: 15px; 
    }
}


/* --- CHARITABLE PLUGIN --- */
.charitable-donation-form {
    max-width: 600px;
    width: 90%;
    margin: 60px auto 80px auto !important;
    border: solid 1px #8c8c8c;
    padding: 30px;
    border-radius: 12px;
}

.charitable-campaign-field.charitable-campaign-field-donate-button a.charitable-button:hover, 
.charitable-campaign-field.charitable-campaign-field-donate-button button.charitable-button:hover {
    filter: none !important;
    background: #B19A7E;
    color: white;
}

.charitable-campaign-wrap .charitable-campaign-container .charitable-campaign-column {
    padding: 0 !important;
}

.charitable-campaign-wrap.template-disaster-relief #charitable-template-row-0 .charitable-campaign-column:nth-child(odd) {
    flex: 0 0 50% !important;
}

.charitable-campaign-wrap.template-disaster-relief #charitable-template-row-0 .charitable-campaign-column:nth-child(even) {
    border: none !important;
}

.charitable-campaign-wrap.template-disaster-relief .charitable-campaign-field-donate-button button.button, 
.charitable-campaign-wrap.template-disaster-relief .charitable-campaign-field-donate-button a.donate-button,
.charitable-campaign-wrap.template-environmental .charitable-campaign-field-donate-button button.button, 
.charitable-campaign-wrap.template-environmental .charitable-campaign-field-donate-button a.donate-button {
    border-radius: 8px !important;
    color: #ffffff !important;
    border-color: unset !important;
    width: 100% !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    font-weight: 400 !important;
    min-height: 50px !important;
    height: 50px !important;
    font-size: 16px !important;
    line-height: 28px !important;
}

.charitable-campaign-wrap.template-environmental .charitable-campaign-field-donate-button button.button, 
.charitable-campaign-wrap.template-environmental .charitable-campaign-field-donate-button a.donate-button {
    background-color: #dec19e !important;
    text-transform: uppercase;
    line-height: 16px !important;
}

.charitable-campaign-field.charitable-campaign-field-social-sharing .charitable-field-template-social-sharing h5.charitable-field-template-headline {
    padding: 0 20px 0 0 !important;
}

.charitable-donation-form.charitable-template-standard .donation-amounts li span.description,
.charitable-donation-form.charitable-template-minimal .donation-amounts li span.description {
    display: none;
}

.charitable-campaign-wrap.template-disaster-relief .charitable-campaign-field.charitable-campaign-field-progress-bar .progress-bar-info-row div.campaign-goal {
    font-size: 18px !important;
    line-height: 16px !important;
}

.charitable-campaign-wrap.template-disaster-relief .charitable-campaign-field.charitable-campaign-field-progress-bar .progress-bar-info-row div.campaign-percent-raised {
    font-size: 16px !important;
    line-height: 14px !important;
}

.charitable-campaign-wrap.template-disaster-relief .charitable-campaign-row h5 {
    font-size: 27px !important;
    margin: 0 0 20px 0 !important;
    line-height: 26px !important;
}

.charitable-campaign-field.charitable-campaign-field-photo .charitable-campaign-primary-image img {
    max-width: 90% !important;
    border-radius: 12px;
    box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.5);
}

.charitable-donation-form.charitable-template-standard .donation-amounts li:hover {
    background-color: #dec19e !important;
}


/* --- WOOCOMMERCE & STRIPE CHECKOUT --- */
#add_payment_method #payment div.payment_box, 
.woocommerce-cart #payment div.payment_box, 
.woocommerce-checkout #payment div.payment_box {
    color: #fff;
    background: var(--e-global-color-uicore_light) !important;
}

#add_payment_method #payment div.payment_box::before, 
.woocommerce-cart #payment div.payment_box::before, 
.woocommerce-checkout #payment div.payment_box::before {
    border-bottom-color: #f7f7f7; 
}

label.Label, 
.p-FieldLabel.Label,
.Label--empty {
    font-size: 14px !important;
    line-height: 20px !important; 
    font-family: 'Cabin', sans-serif !important; 
}

.woocommerce-SavedPaymentMethods-saveNew {
    display: flex !important;
    align-items: center !important; 
    flex-wrap: nowrap !important;  
    width: 100% !important;
    margin-bottom: 15px;
    clear: both;
}

.woocommerce-SavedPaymentMethods-saveNew input[type="checkbox"] {
    margin: 0 10px 0 0 !important; 
    width: auto !important;
    height: auto !important;
    flex-shrink: 0 !important;     
}

.woocommerce-SavedPaymentMethods-saveNew label {
    font-size: 14px !important;
    line-height: 1.2 !important;
    display: inline !important;    
    margin: 0 !important;
    padding: 0 !important;
    cursor: pointer;
    width: auto !important;
}


/* --- TICKETS & BILLING --- */
.ant-form-item:has(input[id*="attendees_ticket"][id*="codice_fiscale"]) { 
    display: none !important; 
}

#extra_fields_codice_fiscale_1, 
.ant-form-item:has(#extra_fields_codice_fiscale_1),
input[id*="extra_fields_codice_fiscale"]:not([id*="ticket"]) {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
}

.tt-seatsmap-wrapper {
    padding-bottom: 60%;
}


/* --- CHATBOT & INTERFACCIA --- */
.mwai-timeless-theme .mwai-trigger { 
    right: 50px; 
}

.uicore-bl-styles, 
.uicore-bl-styles .uicore-typo-p {
    font-family: var(--uicore-typography--p-f) !important;
    font-size: var(--uicore-typography--p-s) !important;
    padding: 10px 20px 10px 0px !important;
}

.ui-menu-item-wrapper { 
    font-weight: 500 !important; 
}

.css-k8g5bm { 
    margin: 140px auto !important; 
}

.basic-user-avatar { 
    font-size: 14px; 
}


/* --- FIX ELEMENTOR DESCRIPTIONS --- */
.elementor-80 .elementor-element.elementor-element-f6f8700 .ui-e-description,
.elementor-80 .elementor-element.elementor-element-ca53e55 .ui-e-description,
.elementor-80 .elementor-element.elementor-element-5f9020c .ui-e-description {
    margin-left: -25px !important;
}


/* --- UTILS & LOGO --- */
/* Forza dimensioni fisse e aspect ratio sul logo del sito */
/* Riserva lo spazio per il logo per azzerare il CLS */
img.custom-logo, .site-logo img,
img[alt="logo_champagne_social_club"] {
    width: 300px !important;
    height: 83px !important;
    aspect-ratio: 300 / 83 !important;
}

/* --- FIX CLS: OTTIMIZZAZIONE ANIMAZIONI NON COMPOSITE --- */

/* 1. Ottimizzazione Banner Cookie (Complianz) */
.cmplz-cookiebanner.cmplz-slidein {
    bottom: 0 !important; /* Blocca la proprietà geometrica */
    transform: translateY(100%);
    animation: cmplzSlideUp 0.4s cubic-bezier(0.25, 1, 0.5, 1) forwards !important;
}

@keyframes cmplzSlideUp {
    to {
        transform: translateY(0);
    }
}

/* 2. Disattivazione transizioni di layout sui menu Elementor */
.elementor-item, 
.elementor-icon,
.elementor-social-icon {
    transition: opacity 0.2s ease, transform 0.2s ease !important; /* Sostituisce padding/color con transizioni fluide */
}

/* Evita che l'hover sui link del menu modifichi il padding geometrico */
.elementor-item:hover {
    padding-left: inherit !important;
    padding-right: inherit !important;
    padding-top: inherit !important;
    padding-bottom: inherit !important;
}

/* 3. Fix Icone Social (Instagram e altre) */
.elementor-social-icon i,
.elementor-social-icon svg {
    transition: transform 0.2s ease !important;
}
.elementor-social-icon:hover i,
.elementor-social-icon:hover svg {
    transform: scale(1.1); /* Scala l'icona senza alterare larghezza/altezza nel DOM */
}

/* 4. Disattiva transizioni pesanti sul box-shadow dei container */
.elementor-element-64d94eff {
    transition: none !important;
}

/* Forza l'aspect ratio dell'immagine LCP di copertina per evitare CLS */
img.wp-image-5132,
img[alt="bicchieri champagne"] {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 652 / 327 !important;
}

/* Blocca lo spazio per il logo Clinica Boschi ed evita il CLS */
img[alt="Logo clinica boschi"],
img.lazyload[alt="Logo clinica boschi"] {
    width: 100% !important;
    max-width: 513px !important;
    height: auto !important;
    aspect-ratio: 513 / 98 !important;
}
