/*
Theme Name:   Hello Elementor Child
Theme URI:    https://elementor.com/
Description:  Child theme per Hello Elementor con animazioni personalizzate
Author:       Cobo SRL
Author URI:   https://cobosrl.com/
Template:     hello-elementor
Version:      1.0.0
License:      GNU General Public License v3 or later
License URI:  https://www.gnu.org/licenses/gpl-3.0.html
Text Domain:  hello-elementor-child
*/

/* ==========================================================================
   CSS Personalizzato
   ========================================================================== */

/* Layout generale - Padding body */
body {
    padding: 0 21px 0;
    overflow-x: hidden;
}

/* Media query - Tablet */
@media (max-width: 991px) {
    body {
        padding: 0 21px 0;
    }

    /* Elementor Buttons - Dimensione icona */
    .elementor-button .elementor-button-icon {
        width: 1.8vw !important;
    }
}

/* Media query -  Mobile */
@media (max-width: 767px) {
    /* Elementor Buttons - Dimensione icona */
    .elementor-button .elementor-button-icon {
        width: 2.5vw !important;
    }
    /* Elementor Icon Buttons - gap between icon and text */
    .cobo-icon-button .elementor-button-content-wrapper {
        gap: 1.5vw !important;
    }
    /* h2 mobile on post-content equals to h1  */
    .elementor-widget-theme-post-content h2 {
        font-size: 9vw !important;
        line-height: 8vw !important;
    }
}

/* Media query -  Only Desktop */
@media (min-width: 992px) {
    /* Header logo - hover fill only desktop */
    .logo-header a:hover svg path {
        fill: red;
    }
}

/* Elementor Icon Buttons - Dimensione icona */
.cobo-icon-button .elementor-button-icon {
    width: .5vw;
}

/* Elementor Icon Buttons - gap between icon and text */
.cobo-icon-button .elementor-button-content-wrapper {
    gap: .5vw;
}
/* .elementor-button .elementor-button-icon {
    width: 2.5vw !important;
} */

/* Post Chip - Titolo inline */
.post-chip .elementor-heading-title {
    display: inline-block;
}

/* Post Content - Margine paragrafi */
.elementor-widget-theme-post-content h2 {
    margin: 5rem 0 2rem !important;
    text-align: left !important;
}
.elementor-widget-theme-post-content p {
    margin-bottom: 10px !important;
    hyphens: auto;
    overflow-wrap: break-word;
}
.elementor-widget-theme-post-content p + img{
    padding-top: 3rem;
}
.elementor-widget-theme-post-content a {
   text-decoration: underline !important;
}
.elementor-widget-theme-post-content img {
    display: block;
}
.elementor-widget-theme-post-content ul + p,
.elementor-widget-theme-post-content ol + p {
    padding-top: 2rem;
}
.elementor-widget-theme-post-content ul li,
.elementor-widget-theme-post-content ol li {
    padding-top: 10px;
    hyphens: auto;
    overflow-wrap: break-word;
}

/* Forms - Campo email altezza e padding */
input#form-field-email {
    height: 5vw;
    padding: 8px 12px;
}

/* Forms - Label opzioni dimensione e peso font */
.elementor-form .elementor-field-option label {
    font-size: .7vw !important;
    line-height: .8vw !important;
    font-weight: 400;
}

/* Icon Social - spaziatura icone footer */
.elementor-location-footer .elementor-social-icons-wrapper {
    gap: 0 !important;
}

/* Navigation Menu - Spaziatura elementi */
.elementor-nav-menu--main li {
    margin-right: 3vw !important;
}

/* Header logo - hover fill */
.logo-header a {
    display: flex;
    cursor: pointer;
}

/* Suffix Popup Menu - Stile menu popup */
.suffix-popup-menu {
    color: #d5d0ca99;
    font-size: 1rem;
    line-height: 1rem;
    display: inline-block;
    position: relative;
    bottom: .4rem;
    left: .2rem;
    letter-spacing: 0;
}

/* ==========================================================================
   Burger Menu Navigation
   ========================================================================== */

/* Contenitore burger button */
.nav-trigger {
    cursor: pointer;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    /* allinea le linee a destra */
}

/* Linee hamburger iniziali */
.nav-line {
    background-color: black;
    width: 60px;
    height: 2px;
    margin-top: 3px;
    margin-bottom: 3px;
    transform-origin: center center;
    /* ruota rispetto al centro */
    transform: rotateZ(0deg) translateY(0);
    transition: transform 0.45s cubic-bezier(.4, 0, .2, 1), width 0.45s ease, margin 0.45s ease;
}

/* Linea inferiore leggermente spostata inizialmente */
.nav-line.down {
    margin-right: 15px;
}

/* ===== STATO APERTO (.w--open) ===== */
.w--open .nav-line.up {
    width: 40px;
    /* ridotta */
    transform: rotateZ(-90deg);
    /* ruota verso sinistra */
    margin-bottom: -1px;
    /* centra la linea */
}

.w--open .nav-line.down {
    width: 40px;
    /* ridotta */
    transform: translateY(-6px);
    /* si sposta verso l'alto per incrociarsi al centro */
    margin-right: 0;
    /* allinea al centro */
}

/* Navbar menu visibility toggle */
#navbar-menu {
    opacity: 1;
    transition: opacity 0.35s ease;
}

#navbar-menu.is-hidden {
    opacity: 0;
    pointer-events: none;
}

/* ==========================================================================
   Blog / Archive
   ========================================================================== */

/* Post excerpt - Larghezza minima */
.loop-post-excerpt {
    min-width: 160px !important;
}

/* Post date - display per altezza */
.loop-post-date .elementor-heading-title {
    display: inline-block;
}

/* ==========================================================================
   SLIM SEO Breadcrumbs
   ========================================================================== */
.breadcrumbs span.breadcrumbs__separator {
    margin: 0 0.2vw;
}