/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */


/*----------CODICE CSS PAOLO BABRBAGALLO---------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------*/

/*-----GENERAL-------*/

.title-paragraph-p p a, .paragraph-link-p p a{ text-decoration:underline; }
p strong, h1 strong, h2 strong, h3 strong, h4 strong, h5 strong{ font-weight:600 !important; }
li{margin-block-start: 10px;}

.elementor-lightbox .swiper .elementor-swiper-button svg{ fill: #1f2124 !important; height: 1.5em; width: 1.5em;}
.elementor-slideshow__header>svg {fill: #0c0d0e !important; height: 1.2em; width: 1.2em;}
.elementor-lightbox .dialog-lightbox-close-button svg {fill: #0c0d0e !important;}
.elementor-lightbox .swiper .elementor-swiper-button svg:hover, 
.dialog-lightbox-close-button svg:hover, 
.elementor-slideshow__header>svg:hover{ fill: #1f2124;}

form.e-search-form button.e-search-submit{    background-color: #00A651 !important;}
form.e-search-form button{border-radius: 5px !important}
form.e-search-form  .e-search-input-wrapper input{border-radius: 5px;}

.date-video ul li a span, .date-news ul li a span{font-size: 18px;}

/*----- FORM REGISTRAZIONE ------*/
#register-form h2 {display: none;}
#register-form fieldset {border: none;}
#register-form .interesse_registrazione fieldset {padding: 0px;}
#register-form #privacy-label, #register-form #comunicazioni-label {display: none;}
.rwmb-password-toggle {border: none !important; top: 3px !important; right: 3px !important; background-color: transparent !important; 
    padding: 0px !important;}

.single-mostra #frp-modal .frp-actions{margin:-20px 0 0 0}
.single-mostra #frp-modal .frp-info th, #frp-modal .frp-info td {border-top: 1px solid #000; border-bottom: 1px solid #000;}
.single-mostra table.frp-info{ margin-bottom: 5% !important}

.elementor-video-container .elementor-video-landscape {
     width: 55vw !important;
    }


/*----- BLOG------*/

body.single-post p a{color: #01A650; text-decoration: none;}
body.single-post p a:hover{color: #000; text-decoration: underline;}
a.card-section-home .elementor-widget-heading h4:hover{color:#00A651}
body.single-post h6 { font-size:21px !important; width:100% }


/*---HEADER--------*/

.elementor-nav-menu--main .elementor-nav-menu ul{ padding:12px 120px 16px 15px !important; }
ul.cpel-switcher__list li.cpel-switcher__lang:first-child::after {

   content: "—";
   width: 10px;
   padding-left: 5px;
   vertical-align: middle;
   text-align: center;
}



/*------select filter------*/

.category-filter-wrapper {
    margin: 0px 0;
}

.category-filter-dropdown {
    width: 100%;
    padding: 10px 16px;
    font-size: 18px;
    border: 1px solid #666666;
    border-radius: 5px;
    background-color: #fff;
    cursor: pointer;
    transition: border-color 0.3s ease;
    color: #54595F;
}

.category-filter-dropdown:hover,
.category-filter-dropdown:focus {
    border-color: #000;
    outline: none;
}



/*------Timeline Table Styles------*/

table tbody>tr:nth-child(odd)>td{background-color: #fff}

.timeline-table-wrapper {
    width: 100%;
    overflow-x: auto;
    margin: 20px 0;
}

.timeline-table {
    width: 100%;
    border-collapse: collapse;
    background-color: #fff;
    color: #000;
}

.timeline-table tbody tr {
    border-bottom: 1px solid rgba(0, 0, 0, 1);
    border-top: 1px solid rgba(0, 0, 0, 1);
}

.timeline-table tbody tr:last-child {
    /*border-bottom: none;*/
}

.timeline-table tbody tr:hover {
    background-color: rgba(255, 255, 255, 0.05);
    cursor: pointer;
}

.timeline-table td {
    padding: 10px 15px;
    vertical-align: middle;
    border: 0px none !important;
}

/* Numero di riga */
.timeline-table .timeline-number {
    width: 80px;
    font-size: 24px;
    font-weight: 800;
    text-align: left;
    color: #01A650;
}

/* Titolo */
.timeline-table .timeline-title {
    font-size: 21px;
    line-height: 1.3em;
    font-weight: 500;
}

.timeline-table .timeline-title a {
    color: #000;
    text-decoration: none;
    transition: opacity 0.5s ease;
}

.timeline-table .timeline-title a:hover {
    opacity: 0.8;
}

/* Icona link esterno */
.timeline-table .timeline-link {
    width: 50px;
    text-align: right;
}

.timeline-table .timeline-link a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #000;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.timeline-table .timeline-link a:hover {
    transform: translateX(3px) translateY(-3px);
    opacity: 0.8;
}

.timeline-table .timeline-link svg {
    width: 20px;
    height: 20px;
}

/*table tbody>tr:nth-child(odd)>td, table tbody>tr:nth-child(odd)>th {
    background-color: #fff ;
}*/

/*------Stories------*/



/* ==========================================================================
   ACF Storie Table - Base Styles (ESISTENTE)
   ========================================================================== */
.acf-storie-table {
    width: 100%;
    max-width: 100%;
    font-size: 16px;
    line-height: 1.5;
}

.storie-table-header {
    display: grid;
    grid-template-columns: 1fr 1fr 150px;
    border-bottom: 2px solid #000;
    padding: 12px 0;
    font-weight: 600;
    color: #2ecc71;
}

.storie-table-body {
    /* Container */
}

.storie-table-row {
    display: grid;
    grid-template-columns: 1fr 1fr 150px;
    border-bottom: 1px solid #54595F;
    padding: 16px 0;
    align-items: center;
    transition: background-color 0.2s ease;
}

.storie-table-row:hover {
    background-color: #f9f9f9;
}

.storie-table-row:last-child {
    border-bottom: none;
}

.storie-col {
    padding: 0 12px;


}

.storie-table-body{color:#000 !important; font-weight: 500 !important}

.storie-table-header .storie-col-titolo, .storie-table-header  .storie-col-autore, .storie-table-header .storie-col-download {
    font-weight: 400;
    color: #01a650;

   
}


.storie-col-download {
    text-align: center;
    justify-self: center;
}

.download-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #000;
    transition: all 0.2s ease;
    text-decoration: none;
    padding: 8px;
    border-radius: 4px;
}

.download-link:hover {
    opacity: 0.6;
    background-color: rgba(0, 0, 0, 0.05);
}

.download-link:focus {
    outline: 2px solid #2ecc71;
    outline-offset: 2px;
}

.download-link svg {
    width: 20px;
    height: 20px;
}

/* ==========================================================================
   ACF Crediti Table - Modifier Styles (NUOVO)
   ========================================================================== */


ul.elementor-post-info li.elementor-icon-list-item{font-size: 21px}
.single-news ul.elementor-post-info li.elementor-icon-list-item{font-size: 14px !important}

/* Override del grid layout per crediti */
.acf-crediti-table .storie-table-row,
.acf-crediti-table .crediti-row {
    grid-template-columns: 280px 1fr;
    border-top: 1px solid #000;
    margin: 0 0 -1px 0;
    padding: 0;
    min-height: 40px;
    align-items: stretch; /* Override per stretch verticale */
}


.acf-crediti-table .storie-table-row:last-child {
    border-bottom: 1px solid #000; /* Mantiene border sull'ultima riga */
}

/* Labels (prima colonna) */
.acf-crediti-table .crediti-label {
    padding: 14px 0px;
    font-weight: 700;
    font-size: 18px;
    color: #000;
    border-right: 0px solid #000;
    display: flex;
    align-items: flex-start;
}

/* Values (seconda colonna) */
.acf-crediti-table .crediti-value {
    padding: 14px 20px;
    font-size: 18px;
    font-weight: 400;
    color: #000;
    line-height: 1.6;
}

.acf-crediti-table .crediti-value p {
    margin: 0 0 8px 0;
}

.acf-crediti-table .crediti-value p:last-child {
    margin-bottom: 0;
}

.acf-crediti-table .crediti-value > p:first-child {
    margin-top: 0;
}



/* ==========================================================================
   Responsive Design (CONDIVISO)
   ========================================================================== */

  /* =media query mobile
-------------------------------------------------------------- */


@media only screen and (min-width: 768px) and (max-width: 1024px) {
  nav.elementor-nav-menu--dropdown{ height:70vh; padding-top:20%; }
  nav.elementor-nav-menu--dropdown ul li a.has-submenu{ font-size:18px !important }
  .title-paragraph h3, .title-paragraph-p p{ font-size:30px !important; line-height:1.2em !important;}
  .title-line h4, .title-line h6{ font-size:22px !important; width:100% }


}



@media (max-width: 768px) {
  
    .timeline-table td {
        padding: 7px 15px;
    }
    
    .timeline-table .timeline-number {
        width: 40px;
        font-size: 22px;
    }
    
    .timeline-table .timeline-title {
        font-size: 18px;
        font-weight: 500;
    }
    
    .timeline-table .timeline-link {
        width: 40px;
    }

     /* Storie Table */
    .storie-table-header {
        grid-template-columns: 2fr 2fr 1fr;
    }
    
    .storie-table-body .storie-table-row {
        grid-template-columns: 2fr 2fr 1fr;
    }
    
    .storie-col {
        padding: 0 9px;
        font-size: 16px;
    }
    
    /* Crediti Table */
    .acf-crediti-table .storie-table-row {
        grid-template-columns: 200px 1fr;
    }
    
    .acf-crediti-table .crediti-label,
    .acf-crediti-table .crediti-value {
        padding: 16px 12px;
        font-size: 14px;
    }
}



@media only screen and (max-width: 600px){


  .title-paragraph h3, .title-paragraph-p p{ font-size:22px !important; line-height:1.2em !important;}
  .title-line h4, .title-line h6{ font-size:21px !important; width:100% }

  nav.elementor-nav-menu--dropdown{ height:100vh; padding-top:20%; }
  nav.elementor-nav-menu--dropdown ul li a.has-submenu{ font-size:22px !important }
  nav.elementor-nav-menu--dropdown ul.elementor-nav-menu--dropdown li a.elementor-sub-item{ padding:5px 0 8px 0 !important; border:0 !important;  }

  ul.elementor-nav-menu{margin-top: 15%}
 
   .storie-table-header  {display: none;}
   .storie-table-row:first-child, .storie-table-header{
    border-top: 1px solid #000; /* Mantiene border su prima riga */}

.date-dialogue{color: #00A651 !important}

}


@media (max-width: 580px) {
    /* Storie Table Mobile */
    .storie-table-header {
        grid-template-columns: 1fr;
        gap: 8px;
    }
    
    .storie-table-body .storie-table-row {
        grid-template-columns: 1fr;
        gap: 4px;
        padding: 12px 0;
    }
    
    .storie-col {
        padding: 4px 8px;
    }
    
    .storie-col-download {
        justify-self: start;
    }
    
    .storie-table-row .storie-col-titolo::before {
        content: 'Titolo: ';
        font-weight: 600;
        margin-right: 8px;
        color: #2ecc71;
    }
    
    .storie-table-row .storie-col-autore::before {
        content: 'Autore: ';
        font-weight: 600;
        margin-right: 8px;
        color: #2ecc71;
    }
    
    /* Crediti Table Mobile */
    .acf-crediti-table .storie-table-row {
        grid-template-columns: 1fr;
        border-bottom: 1px solid #000;
    }
    
    .acf-crediti-table .crediti-label {
        border-right: none;
        border-bottom: 1px solid #666;
        padding: 12px 16px;
        font-size: 13px;
        font-weight: 700;
        background-color: #d5d5d5;
    }
    
    .acf-crediti-table .crediti-value {
        padding: 12px 16px;
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .storie-table-header .storie-col::before {
        display: none;
    }
}






