/*
Theme Name: Avada Child Theme
Description: Child theme for Avada
Author: Agribeton
Template: Avada
Version: 1.0.0
*/

/* GENERAL STYLES */
h1 em, h2 em, h3 em, h4 em, h5 em, h6 em {
    font-family: EB Garamond, serif;
    font-weight: 500;
    font-style: Italic;
    font-size: 54px;
    line-height: 48px;
    letter-spacing: 0.35px;
}

.semibold, .semibold > * {
    font-weight: 500 !important;
}

.w-100 {
    width: 100% !important;
}

.justify-between {
    justify-content: space-between !important;
}

.display-none {
    display: none !important;
}


/* BOTTONI */
.fusion-button .fusion-button-text, .fusion-button i {
    opacity: 1 !important;
}

.fusion-button.button-negative:hover .fusion-button-text {
    color: var(--awb-color1) !important;
}

.fusion-button i {
    background-color: var(--awb-color4);
    color: var(--awb-color7) !important;
    width: 32px;
    height: 32px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
}

.fusion-button:hover i, .fusion-button:hover i:before {
    color: var(--awb-color1) !important;
}

.blue-button.fusion-button:hover {
    background: #C6D6FC !important;
}

.hero-section .fusion-button:hover .fusion-button-text {
    color: var(--awb-color4) !important;
}

.hero-section .fusion-button:hover {
    border-color: var(--awb-color4) !important;
}

.hero-section .blue-button.fusion-button:hover .fusion-button-text {
    color: var(--awb-color6) !important;
}


/* HEADER E FOOTER */
.fusion-tb-header .fusion-menu > .menu-item > a > span,
.fusion-tb-footer a,
.fusion-tb-footer .menu-item span {
    color: var(--awb-color1) !important;
}

.fusion-tb-header .awb-menu__main-background-active {
    border-color: var(--awb-color4)
}

.fusion-tb-header .fusion-button:hover {
    border-color: var(--awb-color4)
}

.fusion-tb-header .fusion-button span {
    color: var(--awb-color1) !important;
}

.fusion-tb-header .menu-item.current_page_item > a > span,
.fusion-tb-header .menu-item:hover > a > span {
    color: var(--awb-color4) !important;
}

.fusion-tb-header .fusion-button:hover span {
    color: var(--awb-color4) !important
}

.fusion-tb-footer .fusion-social-network-icon {
    color: var(--awb-color7) !important;
}

.fusion-tb-footer .fusion-social-links .fusion-social-networks-wrapper {
    display: flex;
}

.fusion-tb-footer .fusion-social-links .fusion-social-networks.color-type-custom.boxed-icons .fusion-social-network-icon:hover {
    background-color: var(--awb-color4) !important;
    color: var(--awb-color1) !important;
}

.fusion-tb-footer .menu-realizzazioni li:last-child, .fusion-tb-footer .menu-azienda li:last-child {
    margin-top: 50px;
}

.fusion-tb-footer .menu-info li:last-child {
    margin-top: 18px;
}

/* WPML — It + chevron, toggle trasparente; dropdown trasparente */
.wpml-ls-statics-shortcode_actions.wpml-ls-legacy-dropdown-click {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    justify-content: end;
    display: flex;
    padding-right: 25px !important;
}

.wpml-ls-statics-shortcode_actions.wpml-ls-legacy-dropdown-click > ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    background: transparent !important;
}

.wpml-ls-statics-shortcode_actions .wpml-ls-item {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
}

.wpml-ls-statics-shortcode_actions .wpml-ls-item-toggle {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    color: #ffffff !important;
    text-decoration: none !important;
    font-family: inherit !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
}

.wpml-ls-statics-shortcode_actions .wpml-ls-item-toggle:hover,
.wpml-ls-statics-shortcode_actions .wpml-ls-item-toggle:focus {
    background: transparent !important;
    color: #ffffff !important;
}

.wpml-ls-statics-shortcode_actions .wpml-ls-item-toggle::before {
    content: none !important;
    display: none !important;
}

.wpml-ls-statics-shortcode_actions .wpml-ls-item-it .wpml-ls-native {
    text-transform: capitalize !important;
}

.wpml-ls-statics-shortcode_actions .wpml-ls-item-toggle::after {
    content: "" !important;
    display: inline-block !important;
    width: 7px !important;
    height: 7px !important;
    margin-top: -4px !important;
    border: none !important;
    border-right: 1.5px solid #ffffff !important;
    border-bottom: 1.5px solid #ffffff !important;
    transform: rotate(45deg) !important;
    margin-left: 0 !important;
    padding: 0 !important;
    background: none !important;
    vertical-align: middle !important;
    right: -20px !important;
}

.wpml-ls-statics-shortcode_actions .wpml-ls-item-toggle[aria-expanded="true"]::after {
    transform: rotate(-135deg) !important;
    margin-top: 0.1em !important;
}

.wpml-ls-statics-shortcode_actions .wpml-ls-item-toggle i,
.wpml-ls-statics-shortcode_actions .wpml-ls-item-toggle .fusion-icon {
    display: none !important;
}

.wpml-ls-statics-shortcode_actions .wpml-ls-sub-menu {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    margin-top: 26px !important;
    padding: 6px 0 !important;
    min-width: 130px;
}

.wpml-ls-statics-shortcode_actions .wpml-ls-sub-menu .wpml-ls-link {
    color: var(--awb-color7) !important;
    padding: 12px 20px !important;
    font-size: 14px !important;
    line-height: 24px !important;
    display: block;
    text-decoration: none !important;
    border: 0 !important;
}

.wpml-ls-statics-shortcode_actions .wpml-ls-sub-menu .wpml-ls-link:hover {
    color: var(--awb-color4) !important;
}


/* HOMEPAGE */

.icon-box .content-box-column {
    margin-bottom: 10px !important;
}

.icon-box .content-box-wrapper {
    padding: 0 !important;
}

.icon-box .link-area-link-icon-hover .content-box-heading {
    color: var(--awb-color7) !important;
}

.icon-box .link-area-link-icon-hover .fontawesome-icon {
    color: var(--awb-color7) !important;
}


/* TIMELINE AZIENDA */
.custom-timeline .ctl-end {
    display: none !important;
}

.custom-timeline .ctl-wrapper .ctl-vertical-wrapper .ctl-timeline:before {
    height: calc(100% + 100px);
    width: 2px;
    background: linear-gradient(to bottom, var(--awb-color7) 0%, #3644B2 80%, var(--awb-color1) 100%) !important;
}

.custom-timeline .ctl-arrow {
    display: none;
}

.custom-timeline .ctl-content {
    border: 0 !important;
    box-shadow: none !important;
}

.custom-timeline .ctl-title, .custom-timeline .ctl-description {
    padding-inline: 15px !important;
}

/* ===== ORDINE ELEMENTI: Immagine → Data → Titolo → Descrizione ===== */
.custom-timeline .ctl-content {
    display: flex !important;
    flex-direction: column !important;
}

.custom-timeline .ctl-media {
    order: 1 !important;
    margin-bottom: 15px !important;
}

.custom-timeline .ctl-labels {
    order: 2 !important;
    margin-bottom: 5px !important;
}

.custom-timeline .ctl-title {
    font-weight: 500 !important;
    order: 3 !important;
    margin-bottom: 10px !important;
}

.custom-timeline .ctl-description {
    order: 4 !important;
}

/* ===== DATA IN CORSIVO ===== */
.custom-timeline .ctl-labels .ctl-label-big {
    font-style: italic !important;
}

/* ===== PRIMO PALLINO STORIA PIENO ===== */
.custom-timeline .ctl-story[data-story-index="1"] .ctl-icondot {
    background-color: #3644B2 !important;
    border: 0 !important;
}

.custom-timeline .ctl-wrapper .ctl-vertical-wrapper.ctl-compact-wrapper .ctl-start {
    width: 30px !important;
    height: 30px !important;
    background: var(--awb-color1) !important;
    border: 2px solid !important;
    left: calc(50% - 15px) !important;
}

.custom-timeline .ctl-icondot {
    width: 30px !important;
    height: 30px !important;
    background-color: var(--awb-color1) !important;
    border: 2px solid !important;
    right: calc(-7.5px - var(--ctw-ibx-size) / 4) !important;
}

.custom-timeline .ctl-story.ctl-story-right .ctl-icondot {
    left: calc(-7.5px - var(--ctw-ibx-size) / 4) !important;
}

/* CARD PREFABBRICATI */

.card-prefabbricati {
    position: relative !important;
}

.card-prefabbricati .fusion-imageframe {
    overflow: visible !important;
}

.card-prefabbricati .fusion-imageframe img {
    box-shadow: 0px 2px 14px -8px #393939 !important;
}

.card-prefabbricati .category {
    background: #F2F2F2;
    position: absolute;
    border-radius: 4px !important;
    padding: 5px 10px;
    top: 15px;
    left: 40px;
    z-index: 1;
}

.card-prefabbricati .category p {
    font-weight: 600;
    margin: 0 !important;
}

/* CARD COSTRUZIONI */

.card-costruzioni {
    position: relative !important;
}

.card-costruzioni .fusion-portfolio-meta {
    background: #F2F2F2;
    position: absolute;
    border-radius: 4px !important;
    padding: 5px 10px !important;
    top: 40px !important;
    left: 40px;
    z-index: 1;
}

.card-costruzioni .fusion-portfolio-meta a {
    font-weight: 600;
    margin: 0 !important;
    pointer-events: none;
    cursor: default;
}

.card-costruzioni .fusion-portfolio-content {
    padding: 0 !important;
    padding-top: 15px !important;
}

.card-costruzioni .entry-title {
    font-family: var(--awb-typography3-font-family) !important;
    font-size: var(--awb-typography3-font-size) !important;
    line-height: var(--awb-typography3-line-height) !important;
    font-weight: var(--awb-typography3-font-weight) !important;
    letter-spacing: var(--awb-typography3-letter-spacing) !important;

}

.card-costruzioni .fusion-post-content {
    font-family: var(--awb-typography5-font-family) !important;
    font-size: var(--awb-typography5-font-size) !important;
    line-height: var(--awb-typography5-line-height) !important;
}

/* RELATED PORTFOLIO */
.portfolio-card-category {
    position: absolute;
    z-index: 6;
}

/* PORTFOLIO */

.single-avada_portfolio .fusion-page-title-bar > .fusion-fullwidth {
    display: flex;
    align-items: flex-start;
}
.single-avada_portfolio .fusion-page-title-bar > .fusion-fullwidth .fusion-layout-column{
    margin-top: 70px!important;
}

.single-avada_portfolio .fusion-page-title-bar h6{
    font-family: var(--awb-typography4-font-family) !important;
    font-size: var(--awb-typography4-font-size) !important;
    line-height: var(--awb-typography4-line-height) !important;
    text-transform: uppercase!important;
}
.single-avada_portfolio .fusion-page-title-bar h1{
    font-family: var(--awb-typography1-font-family) !important;
    font-size: var(--awb-typography1-font-size) !important;
    line-height: var(--awb-typography1-line-height) !important;
    font-weight: var(--awb-typography1-font-weight) !important;
    letter-spacing: var(--awb-typography1-letter-spacing) !important;
}

/* Paginazione singolo — prev sinistra / next destra + box freccia */
.fusion-pagination-tb.single-navigation.layout-text {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    width: 100%;
    padding-bottom: 16px !important;
    border-bottom: 1px solid #1a234a;
    box-sizing: border-box;
}

.fusion-pagination-tb .fusion-tb-previous,
.fusion-pagination-tb .fusion-tb-next {
    flex: 0 0 auto;
    margin: 0 !important;
}

/* Link: colore + flex + gap */
.fusion-pagination-tb .fusion-tb-previous a,
.fusion-pagination-tb .fusion-tb-next a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    color: #1a234a !important;
    text-decoration: none !important;
    font-weight: 500;
    font-size: 15px;
    line-height: 1.2;
    padding: 0 50px !important;
}

.fusion-pagination-tb .fusion-tb-previous a:hover,
.fusion-pagination-tb .fusion-tb-next a:hover {
    color: #1a234a !important;
    opacity: 0.85;
}

/* Prev: quadrato + freccia sinistra (prima del testo) */
.fusion-pagination-tb .fusion-tb-previous a::before {
    content: "\2039";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 1px solid #1a234a;
    border-radius: 4px;
    font-size: 18px;
    line-height: 1;
    flex-shrink: 0;
}

/* Next: quadrato + freccia destra (dopo il testo) */
.fusion-pagination-tb .fusion-tb-next a::after {
    content: "\203A";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 1px solid #1a234a;
    border-radius: 4px;
    font-size: 18px;
    line-height: 1;
    flex-shrink: 0;
}

/* Opzionale: ordine flex per next (testo poi icona) */
.fusion-pagination-tb .fusion-tb-next a {
    flex-direction: row !important;
}


/* CAROUSEL HOME */
/* Portfolio */
#wrapper .portfolio-carousel-container {
    padding: 0;
}

#wrapper .portfolio-carousel-container .swiper-wrapper {
    padding-bottom: 20px;
}

#wrapper .portfolio-carousel {
    width: 100%;
    margin: 0;
}

#wrapper .portfolio-carousel .portfolio-card {
    aspect-ratio: 2/3;
    overflow: hidden;
    box-shadow: 0 7px 20px 0 var(--shadow-default, rgba(57, 57, 57, 0.10));
}

#wrapper .portfolio-carousel .portfolio-card * {
    transform: none !important;
}

#wrapper .portfolio-carousel .portfolio-card > .fusion-column-wrapper {
    background: linear-gradient(180deg, rgba(15, 23, 43, 0) 46.15%, rgba(15, 23, 43, 0.8) 87.42%);
    color: white;
}

#wrapper .portfolio-carousel .portfolio-card .portfolio-card-title * {
    color: white;
    font-size: 20px;
    font-weight: 500;
}

#wrapper .portfolio-carousel .portfolio-card .portfolio-card-excerpt {
    height: 0;
    opacity: 0;
    transition: 0.5s;
}

#wrapper .portfolio-carousel .portfolio-card:hover .portfolio-card-excerpt {
    height: auto;
    opacity: 1;
}

#wrapper .portfolio-carousel .portfolio-card .fusion-builder-row-inner {
    padding-top: 18px;
    flex-wrap: wrap;
}

#wrapper .portfolio-carousel .portfolio-card .fusion-builder-row-inner > div {
    margin: 0;
}

#wrapper .portfolio-carousel .portfolio-card:hover .fusion-builder-row-inner {
    background: white;
}

#wrapper .portfolio-carousel .portfolio-card .fusion-builder-row-inner {
    position: absolute;
    bottom: 0;
}

#wrapper .portfolio-carousel .portfolio-card:hover .fusion-builder-row-inner * {
    color: #444;
}

#wrapper .portfolio-card .fusion-tb-categories {
    margin: 12px;
    padding: 4px 8px;
    color: #171D4C;
    text-align: center;
    background: #F2F2F2;
    font-size: 14px;
    border-radius: 4px;
}

.portfolio-grid .portfolio-card-category {
    position: absolute;
    z-index: 10;
}

/* CERTIFICAZIONI */

.box-certificazioni .fusion-column-wrapper div:last-child {
    margin-top: auto !important;
}


/* Icone custom */
.agribeton-Production:before {
    font-size: 80%;
}

.agribeton-Design:before {
    font-size: 125%;
}

.agribeton-Email:before {
    font-size: 86%;
}


/* POPUP LEAFLET */
.leaflet-popup-content-wrapper {
    border-radius: 8px !important;
}

.awb-openstreet-map-marker-title {
    margin: 0 !important;
}

.awb-openstreet-map-marker-content {
    font-weight: 600 !important;
}

.fontawesome-icon.fb-icon-element.circle-yes.hover, .fontawesome-icon.fb-icon-element.circle-yes:hover {
    background: var(--awb-color4) !important;
}

/* BLOCCO CONTATTI */

.contact-block a {
    color: var(--awb-color7) !important;
}


/* FORM CONTATTI*/

.cf7-grid {
    display: grid;
    grid-template-columns:1fr 1fr;
    gap: 25px;
}

.cf7-field {
    display: flex;
    flex-direction: column;
}

.cf7-field p {
    margin-bottom: 0 !important;
}

.cf7-field.full {
    grid-column: 1 / -1;
}

.cf7-field label, .cf7-field a {
    color: #fff;
    font-weight: 500;
}

.cf7-field label {
    display: block;
}

.cf7-field input::placeholder,
.cf7-field textarea::placeholder {
    color: var(--awb-color1) !important;
    opacity: 1;
}

/* Safari e Chrome vecchi */
.cf7-field input::-webkit-input-placeholder,
.cf7-field textarea::-webkit-input-placeholder {
    color: var(--awb-color1) !important;
    opacity: 1 !important;
}

/* Firefox vecchi */
.cf7-field input::-moz-placeholder,
.cf7-field textarea::-moz-placeholder {
    color: var(--awb-color1) !important;
    opacity: 1 !important;
}

/* Firefox molto vecchi */
.cf7-field input:-moz-placeholder,
.cf7-field textarea:-moz-placeholder {
    color: var(--awb-color1) !important;
    opacity: 1 !important;
}

/* IE e Edge vecchio */
.cf7-field input:-ms-input-placeholder,
.cf7-field textarea:-ms-input-placeholder {
    color: var(--awb-color1) !important;
    opacity: 1 !important;
}

/* INPUT CONTACT FORM 7 */

.cf7-grid input.wpcf7-form-control,
.cf7-grid textarea.wpcf7-form-control {
    width: 100%;
    background: transparent !important;
    border: 2px solid #EEF3FE !important;
    border-radius: 10px !important;
    padding: 14px !important;
    color: #fff !important;
    font-size: 16px;
    box-sizing: border-box;
}

/* FOCUS */

.cf7-grid input.wpcf7-form-control:focus,
.cf7-grid textarea.wpcf7-form-control:focus {
    border-color: var(--awb-color4) !important;
    outline: none;
}

/* TEXTAREA */

.cf7-grid textarea.wpcf7-form-control {
    height: 160px;
    resize: none;
}

/* CONTAINER PRIVACY */

.cf7-field.privacy {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: var(--awb-color1);
}

.cf7-field.privacy p {
    width: 100%;
}

.cf7-field.privacy a:hover {
    color: var(--awb-color4) !important;
}

.cf7-field.privacy a {
    text-decoration: underline !important;
}

.cf7-field.privacy .wpcf7-list-item {
    margin: 0 !important;
}

/* CHECKBOX */

.cf7-field.privacy input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 15px;
    height: 15px;
    margin-top: 0;
    border: 2px solid rgba(255, 255, 255, 0.6);
    border-radius: 4px;
    background: transparent;
    cursor: pointer;
    position: relative;
}

/* CHECKED */

.cf7-field.privacy input[type="checkbox"]:checked {
    background: var(--awb-color4);
    border-color: var(--awb-color4);
}

.cf7-field.privacy input[type="checkbox"]:checked:after {
    content: "";
    position: absolute;
    left: 3px;
    top: 0px;
    width: 3px;
    height: 7px;
    border: solid var(--awb-color1);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

/* SUBMIT */

/* Wrapper p */
.cf7-field.full.submit p {
    display: inline-flex !important;
    align-items: stretch !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative;
    justify-content: flex-end !important;
}

/* Nascondo lo spinner */
.cf7-field.full.submit .fusion-slider-loading {
    display: none !important;
}

/* Bottone bianco - contenitore esterno */
.cf7-field.full.submit input.wpcf7-submit {
    background-color: var(--awb-color1) !important;
    color: #1a2a4a !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    padding: 10px 70px 10px 15px !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    font-family: inherit;
    line-height: 1.4 !important;
    margin: 0 !important;
    height: auto !important;
    position: relative;
}

/* Quadrato arancione INTERNO con freccia BLU */
.cf7-field.full.submit p::after {
    content: "\f105";
    font-family: awb-icons;
    font-size: 30px;
    line-height: 31px;
    font-weight: 400;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 10px auto;
    position: absolute;
    right: 6px;
    top: 50%;
    transform: translateY(-50%);
    background-color: #f5a623;
    color: #1a2a4a;
    width: 32px;
    height: 32px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    pointer-events: none;
}

/* Hover */
.cf7-field.full.submit:hover input.wpcf7-submit {
    background-color: #f8f8f8 !important;
}

.cf7-field.full.submit:hover p:has(input:not(:disabled))::after {
    color: var(--awb-color1) !important;
}


.cf7-field.full.submit:hover .wpcf7-submit:not(:disabled) {
    background: #C6D6FC !important;
}

/* Fix disabled */
.cf7-field.full.submit input.wpcf7-submit:disabled {
    opacity: 0.8 !important;
    cursor: pointer !important;
}

@media only screen and (min-width: 768px) {
    .fusion-tb-header .menu-item:last-child {
        display: none;
    }
}


/* MOBILE CSS */
@media only screen and (max-width: 767px) {
    .cf7-field {
        grid-column: 1 / -1 !important;
    }

    .custom-timeline .ctl-wrapper .ctl-vertical-wrapper.ctl-compact-wrapper .ctl-start {
        left: calc(4% - var(--ctw-line-width) / 1 + var(--ctw-line-width) * -1.6) !important;
    }

    .fusion-pagination-tb.single-navigation.layout-text {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 14px !important;
    }

    .fusion-pagination-tb .fusion-tb-previous,
    .fusion-pagination-tb .fusion-tb-next {
        width: 100%;
        margin: 10px 0 !important;
    }

    .fusion-pagination-tb .fusion-tb-previous a,
    .fusion-pagination-tb .fusion-tb-next a {
        white-space: normal !important;
        text-align: left;
    }

    .fusion-pagination-tb .fusion-tb-next {
        justify-content: end;
    }
}
