/*
Theme Name: CAI Faenza
Theme URI: https://caifaenza.it
Description: Tema CAI Faenza
Author: Marco Tesselli
Author URI: https://www.marcotesselli.com
Template: alpins
Version: 1.0
*/



/*
 * BREAKPOINT DEL TEMA ALPINS / HYBRID COMPOSER
 * ---------------------------------------------
 * xs  — < 576px      smartphone piccoli (1 colonna)
 * sm  — >= 576px     smartphone landscape / tablet piccoli
 * md  — >= 768px     tablet
 * lg  — >= 992px     desktop
 * xl  — >= 1200px    desktop wide
 *
 * Responsive CSS del tema usa:
 * max-width: 767.98px  → sotto tablet (HC style.css)
 * max-width: 994px     → sotto desktop (alpins style.css)
 * min-width: 576px     → attivazione col-sm-* (bootstrap-grid.css)
 * min-width: 768px     → attivazione col-md-* (bootstrap-grid.css)
 * min-width: 992px     → attivazione col-lg-* (bootstrap-grid.css)
 * min-width: 1200px    → attivazione col-xl-* (bootstrap-grid.css)
 */



/* ****************************************
 ******************************************
 RIDEFINIZIONE REGOLE TEMA PARENT (Alpins)
 ******************************************
 **************************************** */

a {
    color: #21a0ee;
}

.input-text, .input-textarea {
    padding: 20px;
}

/* HEADER PAGINE — overlay scuro per leggibilità testi */
header#header.header-image::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.35);
    pointer-events: none;
}

header .container h1,
header .container h2 {
    color: #ffffff;
}



.dropdown-submenu > ul > li > a {
    padding: 0 15px;
}


/* EVENTI ARCHIVIO: Nelle card lascio visibilità alla sola data */
.cnt-box-blog-side .icon-list li:nth-child(2),
.cnt-box-blog-side .icon-list li:nth-child(3) {
    display: none;
}

/* FOOTER - Aspetto del testo all'interno delle colonne del footer */
footer .container .row .col-lg-3 p,
footer .container .row .col-lg-4 p,
footer .container .row .col-lg-6 p,
footer .container .row .col-lg-8 p {
    color:#ffffff;
    font-family: Montserrat, sans-serif;
    font-size: 12px;
    font-weight: 500;
    height: auto;
    letter-spacing: 0.5px;
    line-height: 30px;
}

body > header .breadcrumb {
    bottom: 20px;
}

body > header.header-base h1 {
    padding-top: 50px;
}

body > header.header-base h2 {
    margin-top: 14px;
}


/* ********
 ***********
 CSS CUSTOM
 ***********
 ********* */

/* ********************************** */ 
/* Regole custom a vasta applicazione */

.marg_bott_10 {margin-bottom: 10px}
.marg_bott_30 {margin-bottom: 30px}
.marg_bott_40 {margin-bottom: 40px}
.marg_bott_100 {margin-bottom: 100px}

.padd_top_0 {padding-top: 0px;}
.padd_top_20 {padding-top: 20px;}
.padd_top_23 {padding-top: 30px;}
.padd_top_40 {padding-top: 40px;}
.padd_bott_0 {padding-bottom: 0px;}

/* Hack per override css Hybrid Composer che crea .container e .row */ 
section.padd_top_0 .container {padding-top: 0px;}
section.padd_bott_0 .container {padding-bottom: 0px;}
section.padd_bott_20 .container {padding-bottom: 20px;}
section.padd_top_20 .container {padding-top: 20px;}
section.padd_top_30 .container {padding-top: 30px;}
section.padd_top_40 .container {padding-top: 40px;}
section.padd_top_60 .container {padding-top: 60px;}
section.padd_bott_60 .container {padding-bottom: 60px;}


.p_highlighted {
    font-size: 1.1rem;
    font-weight: 500;
} 


/* Componente "Subtitle": gestisco se <h2> e <p> sono visibili */
.h2_nascosto > h2 {
    display: none;
}
.p_nascosto > p {
    display: none;
}

.fading_rimosso {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
}


/* MENU — voce I Gruppi: colore scuro quando dropdown aperto (li in hover) */
#main-menu > li.dropdown.active > a,
#main-menu > li.dropdown:hover > a {
    color: #13304a !important;
}

#main-menu .dropdown-menu li a {
    height: auto;
    padding-top: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid #edf3f7;
}

#main-menu > li > a.gruppi-active {
    color: #13304a !important;
}

.bg_filigrana_cai {
    background-image: url("/wp-content/uploads/_img_layout/logo_cai_filigrana_20_2400px-full_lq.webp");
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: fixed;
}



/* ************
***************
   Pag. HOME
*************** */
/*  Posizionamento dei loghi sopra la hero image */
#home_hero_img_container img {
    height: 200px;
    padding-bottom: 40px;
}


/* ******************** */
/* Grid prossimi EVENTI */
   
/* Stile badge data (replica esatta blog-date del tema) */
.cnt-box-top .blog-date {
    background: #1a73e8;
    color: #fff;
    text-align: center;
    padding: 0;
    min-width: 70px;
    border-radius: 4px;
    overflow: hidden;
}

.cnt-box-top .blog-date span:first-child {
    display: block;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.2;
    padding: 8px 12px 4px;
    background: #1a73e8;
}

.cnt-box-top .blog-date span:last-child {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    background: #1d3461;
}

/* Data reale sotto il titolo */
.evento-data-home {
    font-size: 13px;
    color: #666;
    margin: 4px 0 8px;
}

#home_button_vedi_tutti_gli_eventi {
    margin-top: 40px;
}

#home_cta_ask_info_per_eventi {
    margin-top: 40px;
}

#home-menu_visuale .row > div {
    padding-right: 10px;
    padding-left: 10px;
    margin-top: 10px !important;
    margin-bottom: 10px !important;
}

@media (max-width: 992px) {
    #home-menu_visuale .row > div {
        margin-top: 10px !important;
        margin-bottom: 10px !important;

    }
}

@media only screen and (max-width : 991px) {
    #home-menu_visuale .post-type-archive-eventi .container {
        padding-top: 10px;
    }
}

/* 2 colonne su mobile, 1 colonna su dispositivi molto piccoli */
@media (max-width: 575px) {
    #home-menu_visuale .col-sm-6 {
        flex: 0 0 50% !important;
        max-width: 50% !important;
    }
}

@media (max-width: 360px) {
    #home-menu_visuale .col-sm-6 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}


/* **************************** */
/* Sez. CTA download BOLLETTINO */

#home-cta_download_bollettino .container .row {
    align-items: center;
}

#home-cta_download_bollettino-col_image {
    padding-top: 12px;
    padding-right: 6px;
    padding-left: 6px;
}


/* ************ */
/* Sez. SPONSOR */
#home-sez_sponsor .container {
    padding-top: 32px;
    padding-bottom: 32px;
}

#home-sez_sponsor h2 {
    
}

#home-sez_sponsor-logo_container {
    margin-top: 24px;
}
/* Riduco dimensioni loghi sponsor su mobile */
@media only screen and (max-width : 576px) {
    #home-sez_sponsor img {
        padding-right: 80px;
        padding-left: 80px;
    }
}

/* SPONSOR: rimuove overlay nero HC su hover, sostituisce con dissolvenza */
#home-sez_sponsor .img-box:before {
    display: none !important;
}

#home-sez_sponsor a.img-box {
    transition: opacity 0.3s ease;
}

#home-sez_sponsor a.img-box:hover {
    opacity: 0.6;
}

#home-sez_sponsor .img-box {
    box-shadow: none !important;
}

/* Ottimizzo distanza tra loghi su mobile */ 
@media (max-width: 767.98px) {
    [class*=col-]:not([class*=col-sm]) ~ [class*=col-]:not([class*=col-sm]) {
        margin-top: 36px;
    }
}



/* ******************
*********************
   Pag. LA SEZIONE
********************* */

#la_sezione-testo_descr .container {
    padding-top: 60px;
    padding-bottom: 60px;
}

#la_sezione-testo_descr p {
    margin-bottom: 1em;
    margin-top: 0px;
}

@media (max-width: 991.98px) {
    #la_sezione-testo_descr .container .row > * {
        margin-top: 0 !important;
    }
}

#la_sezione-sezione_bivacco_lozzole .container {
    padding-top: 70px;
    padding-bottom: 70px;
}

#la_sezione-sezione_loghi_link .container {
    padding-top: 50px;
    padding-bottom: 50px;
}

#la_sezione-sezione_loghi_link .img-box {
    box-shadow: none !important;
}

#sez_tab .tab-nav {
    align-items: stretch;
    margin-bottom: 60px;
}

#sez_tab .tab-nav li {
    display: flex;
    align-items: center;
    justify-content: center;
}

#sez_tab .tab-nav li a {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 21px;
}

/* Bottoni uniformi come larghezza su mobile */
@media (max-width: 767.98px) {
    #sez_tab .tab-nav {
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }
    #sez_tab .tab-nav li {
        width: 100% !important;
    }
    #sez_tab .tab-nav li a {
        display: block;
        width: 100%;
        text-align: center;
    }
}

#sez_tab .hc-cmp-code-block h3:not(:first-of-type) {
    padding-top: 50px;
}

#sez_tab .hc-cmp-code-block h4:not(:first-of-type) {
    padding-top: 44px;
}

/* *****************
********************
   Pag. I GRUPPI
******************** */

#i_gruppi-container_eventi {
    padding-top: 80px;
    padding-bottom: 80px;
}

#i_gruppi-container_eventi .container {
    padding-top: 0px;
    padding-bottom: 0px;
}

#i_gruppi-container_eventi #titoli_sez_eventi {
    
}

@media (max-width: 992px) {
    #i_gruppi-container_eventi #titoli_sez_eventi {
        padding-top: 30px;
        margin-bottom: 10px;
    }
}

#i_gruppi-container_eventi #titoli_sez_eventi p {
    display: none;
}


/* ************************
***************************
   Pagina singolo GRUPPO
*************************** */
#i_gruppi-container_txt_e_foto h3 {
    margin-top:36px;
}

#i_gruppi-container_txt_e_foto h3:first-child {
    margin-top:0px;
}

#i_gruppi-container_txt_e_foto p {
    line-height: 26px;
}

#i_gruppi-container_txt_e_foto p:not(:first-child) {
    margin-top: 21px;
}



/* ***************
******************
   Pag. EVENTI
****************** */

/* All'interno delle singole card rimuovo padding di fianco a data */
.grid_eventi .caption ul span {
    padding-left: 0px !important;
}


/* ***********************
**************************
   Pag. SINGOLO EVENTO
************************** */

/* Gestisco contenuti */
.single-eventi .btn-text::after {
    display: none;
}

.single-eventi .container .row > div {
    padding-top: 40px;
}

.single-eventi .container .row > div > h1 {
    padding-top: 30px;
}

.single-eventi .container .row > div > p {
    margin-bottom: 24px;
    line-height: 24px;
}

.single-eventi #evento_descrizione {
    padding-top: 30px;
    padding-bottom: 30px;
}

.single-eventi #evento_descrizione p {
    margin-bottom: 16px;
}



/* ***************************
******************************
   PAG. SCALE DI DIFFICOLTÀ
****************************** */

#wrapper_section_titoli_pagina_accordion_scale_diff .container {
    padding-top: 50px;
    padding-bottom: 0px;
}

#wrapper_section_titoli_pagina_accordion_scale_diff .p_nascosto {
    margin-bottom: 12px;
}

#wrapper_section_accordion_scale_diff .container {
    padding-top: 40px;
    padding-bottom: 40px;
}

.section_accordion_scale_diff:not(:first-of-type)  {
    margin-top: 70px;
}
@media (max-width: 767.98px) {
    .section_accordion_scale_diff:not(:first-of-type)  {
        margin-top: 60px !important;
    }
}

.section_accordion_scale_diff h3 {
    padding-top: 12px;
    padding-bottom: 12px;
    font-size: 1.5em;
    padding-left: 16px;
    border-left: 3px #0066c1 solid;
}

.section_accordion_scale_diff h3:not(:has(+ p)) {
  margin-bottom: 16px;
}

.section_accordion_scale_diff dl dt:not(:first-of-type) {
    margin-top: 24px;
}



/* ****************
*******************
   Pag. SENTIERI
******************* */
#section_mappa_sentieri .container {
    padding-top: 50px;
    padding-bottom: 0px;
}

#section_mappa_sentieri #info {
    display: flex;
    flex-direction: column;    /* ← stack children vertically */
    align-items: flex-start;   /* ← left-align content */
    justify-content: flex-start; /* ← start from top, not center */
    padding: 10px;
    overflow-y: auto;
}

#section_mappa_sentieri .cta_legenda_mappa_sentieri {
    text-align: center;
    color: #0066c1;
    border: 2px #0066c1 dashed;
    padding: 10px 16px;
    border-radius: 8px;
}

/* only show the placeholder text centered when no trail is selected */
#section_mappa_sentieri #info:not(:has(.sentiero-info-title)) {
    align-items: center;
    justify-content: center;
}

/* ********************
***********************
   Pag. TESSERAMENTO
*********************** */


#cointainer_prezzi_cai .container {
    padding-top: 80px;
    padding-bottom: 60px;
}

#cointainer_prezzi_cai .pricing_box-cai .top-area {
    padding-top: 0px;
    padding-bottom: 0px;
}

#cointainer_prezzi_cai .pricing_box-cai .top-area h2 {
    line-height: 24px;
}

#cointainer_prezzi_cai .pricing_box-cai ul {
    margin-bottom: 0px;
    line-height: 21px;
}

#cointainer_prezzi_cai .pricing_box-cai .bottom-area {
    display: none;
}

#cointainer_prezzi_cai .pricing_box-cai .cnt-pricing-table {
    padding: 30px 15px 25px 15px;
}

/* Perfeziono spazio verticale tra i pricing box su viewport desktop */
@media only screen and (min-width : 992px) {
    #cointainer_prezzi_cai .container .row {
        align-items: center;
    }

    #cointainer_prezzi_cai .container .row .col-lg-4 {
        padding-bottom: 36px;
    }

}

/* Cambio il glifo che caratterizza gli item aggiuntivi all'interno di ogni card */
#cointainer_prezzi_cai .cnt-pricing-table > ul > li:before {
    content: "•";
    position: absolute;
    left: 30px;
}



/* ****************
*******************
   Pag. CONTATTI
******************* */

#contatti-main_container .container {
    padding-top: 30px;
}

#contatti_mappa_osm {
    padding-top: 0px;
    padding-bottom: 60px;
}


/* *******************************
*********************************
   Pag. Composte da SOLO TESTO
********************************* */

.code_block_solo_testo,
.code_block_solo_testo h2,
.code_block_solo_testo h3 {
    margin-top: 50px;
    margin-bottom: 20px;
}

.code_block_solo_testo h4,
.code_block_solo_testo h5 {
    margin-top: 12px;
    margin-bottom: 0px;
}

.code_block_solo_testo h2:not(:first-of-type) {
    margin-top: 50px;
}

.code_block_solo_testo h2 {
    margin-bottom: 20px;
}


/* *********
************
   FOOTER
************ */


footer img.logo_footer {
    width: 200px;
    margin-bottom: 20px;
}

#footer_social_links p a {
    color: white;
}

img.logo_marco_credits {
    
}


/* ******
*********
   404
********* */
.img_404_container {
    width: 360px;
    margin: 40px auto 50px;
}

.img_404_container img {
    width: 100%;
    border-radius: 50%;
    display: block;
}

/* Il cerchio outline va sul container, non sull'img */
.img_404_container {
    border-radius: 50%;
    outline: 6px solid #006bbc;
    outline-offset: 12px;
}

@media (max-width: 992px) {
    .img_404_container {
        width: 80%;
    }
}