/*
Theme Name: TG Studio Theme
Theme URI: https://tommasogrossoni.xyz
Author: Tommaso Grossoni
Author URI: https://tommasogrossoni.xyz
Description: Tema personalizzato di Tommaso Grossoni
Version: 1.0
Requires at least: 5.0
Tested up to: 6.x
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tg-studio-theme
*/

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


body,
html{ font-size: 18px; box-sizing: border-box;margin: 0;padding: 0;}
*,*:before,*:after{ box-sizing: border-box; }
h1,h2,h3,h4,h5,h6, p, ol{margin: 0;padding: 0;}
ol,ul{}
img{height: auto;}
body{font-family: "Raleway", Arial, sans-serif;}

h1, h2, h3, h4, h5, h6, p, ol, ul{color:gray;}

a{text-decoration: none;color:#95C11F;}
h1 { font-weight: 600; font-size: 4.3em; text-transform: uppercase; line-height: 100%; letter-spacing: -2px; }
h2 { font-weight: 600; font-size: 3em; text-transform: uppercase; line-height: 95%; letter-spacing: -1px; }

.normal-title{font-weight: 600; font-size: 3em; text-transform: uppercase; line-height: 100%; letter-spacing: -1px;}
.mini-title { font-weight: 500; font-size: 1.5em; }

.button {font-size: 1.2em; text-decoration: none; padding: 15px 35px; display: inline-block; border-radius: 0; font-weight: 600; height: auto; }
.second-button {font-size: 1.2em;text-decoration: underline;padding: 15px 35px; display: inline-block;border-radius: 0; font-weight: 600;}


.little-card { background: #ffffffa1; padding: 20px; border-radius: 20px;justify-content: space-between;min-height: 170px;}

.container-link { position: relative; }
.container-link .inner-link { position: absolute; inset: 0; z-index: 10; text-indent: -9999px; top: 0; left: 0; right: 0; bottom: 0; height: 100%; width: 100%; }

@media(max-width:980px) {
  h1 { font-size: 3em; }
  h2 { font-size: 1.8em; }
  .button { font-size: 1em; text-decoration: none; padding: 10px 22px;}
  .second-button{ font-size: 1em; padding: 10px 22px;}
  .normal-title { font-size: 1.8em; }
  .mini-title { font-weight: 500; font-size: 1.2em; }
  li, p{font-size: 0.9em;}
}
@media(max-width:768px) {
  h1 { font-size: 2rem;font-weight: 500; }
  h2 { font-size: 1.4em; }
  .normal-title { font-size: 1.4em; }
  .little-card { padding: 15px; border-radius: 10px; min-height: 140px; }
}
/* ! Colors  */

.accent{color: #95C11F;}
.dark-green{color: #202f13;}
.white{color: #fff;}
.black{color: #000;}

.accent a{color: #95C11F;}
.dark-green a{color: #202f13;}
.white a{color: #fff;}
.black a{color: #000;}

.bg-accent{background-color: #95C11F;}
.bg-dark-green{background-color: #202f13;}
.bg-white{background-color: #fff;}
.bg-black{background-color: #000;}
.bg-gray{background-color: #f9f9f9;}
.bg-transparent{background-color: #ffffffa9;}

.mini-box { padding: 20px; border-radius: 20px;display: inline-block;}
.border{padding:0 10vw}

@media(max-width:980px) {
  .border{padding:0 50px}
}

@media (max-width: 780px) {
    .border {
        padding: 0 20px;
    }
}
/* ! Helpers  */
.m-0{margin:0;}

.mt-0{margin-top: 0;}
.mt-1{margin-top: 10px !important; }
.mt-2{margin-top: 20px !important;}
.mt-3{margin-top: 40px !important;}
.mt-4{margin-top: 100px !important;}

.mb-0{margin-bottom: 0 !important;}
.mb-1{margin-bottom: 10px !important;}
.mb-2{margin-bottom: 20px !important;}
.mb-3{margin-bottom: 40px !important;}
.mb-4{margin-bottom: 100px !important;}

.p-0{padding: 0}
.p-1{padding: 10px}
.p-2{padding: 20px}
.p-3{padding: 40px}
.p-4{padding: 60px}
.p-5{padding: 80px}

.pt-1{padding-top: 10px;}
.pt-2{padding-top: 20px;}
.pt-3{padding-top: 40px;}
.pt-4{padding-top: 60px;}
.pt-5{padding-top: 80px;}

.pb-1{padding-bottom: 10px;}
.pb-2{padding-bottom: 20px;}
.pb-3{padding-bottom: 40px;}
.pb-4{padding-bottom: 60px;}
.pb-5{padding-bottom: 80px;}

.text-center { text-align: center; }
.text-right { text-align: right; }
.text-left { text-align: left; }
.img-res { width: 100%; height: auto; margin-bottom: 20px;vertical-align: middle;}

.doppia-colonna-testo { columns: 2; gap: 30px; }


@media(max-width:768px) {
  .mt-1{margin-top: 5px !important; }
  .mt-2{margin-top: 10px !important;}
  .mt-3{margin-top: 20px !important;}
  .mt-4{margin-top: 50px !important;}
  .hero-general img { height: 280px; object-fit: cover; }
  .doppia-colonna-testo { columns: 1; }
}

/* ! Header */
/*----------------------------------------------------------------------------------- */
.header { display: flex; justify-content: space-between; min-height: 70px; max-height: 7vh; align-items: center; position: sticky; top: 0; left: 0; right: 0; background: white; z-index:99999; }
.header ul{ list-style-type: none !important; padding: 0; margin: 0; }
.logo{text-transform: uppercase;color:#000;font-weight: bold;}
.menu ul{display: flex;margin-bottom: 0;} nav.menu ul li { padding: 10px; }
.menu ul li a { height: fit-content; display: block; color: black; }
ul.sub-menu li { padding:0 !important; }
.header__logo{ width: 250px; }
.menu .sub-menu { opacity:0; position: absolute; top: 70px; left: 0; right: 0; background-color: #fff; transition: all 0.3s; display: none; gap: 10px; justify-content: space-between; padding: 20px 150px; }
.menu.hover-megamenu .sub-menu { visibility: visible; opacity: 1; display: flex; }
ul.sub-menu li { position: relative; height: auto; display: block; width: 100%; }
ul.sub-menu li span { position: absolute; bottom: 10px; font-size: 0.8em; color: black; left: 10px; right: 10px; background: #fffffffc; padding: 10px; text-align: center; border-radius: 16px;min-height: 3.4vw; align-content: center; }
ul.sub-menu li img { border-radius: 20px; width: 100%; height: auto; object-fit: cover; }
.menu-item img._before, .rtl .menu-item img._after { margin-right: 0 !important; }
.menu-item i._mi, .menu-item img._mi { vertical-align: top; display: flex ; margin-right: 0 !important; aspect-ratio: 9 / 12; object-fit: cover !important; width: 100%; height: 100%; }


.hamburger {
  display: none;
  flex-direction: column;
  justify-content: space-between;
  width: 24px;
  height: 18px;
  background: none;
  border: none;
  cursor: pointer;
  z-index: 10000;
  padding: 0;
}
.hamburger span {
  height: 2px;
  background: black;
  border-radius: 0;
  transition: 0.3s;
  display: block;
  width: 100%;
}
.hamburger.active span:nth-child(1) {
  transform: rotate(45deg) translate(6px, 6px);
}
.hamburger.active span:nth-child(2) {
  opacity: 0;
}
.hamburger.active span:nth-child(3) {
  transform: rotate(-45deg) translate(5px, -5px);
}


/* Mostra freccia accanto alle voci con submenu */
.menu li.menu-item-has-children > a::after {
  content: "\f078"; /* fa-chevron-down */
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  margin-left: 6px;
  font-size: 0.7em;
  vertical-align: middle;
  display: inline-block;
  transition: transform 0.3s ease;
  transform-origin: center;
}

/* Ruota la freccia su hover del genitore (es. per megamenu desktop) */
.menu li.menu-item-has-children:hover > a::after {
  transform: rotate(180deg);
}

@media (max-width: 980px) {
  .menu {
    display: none;
    position: absolute;
    top: 70px;
    left: 0;
    right: 0;
    background: white;
    flex-direction: column;
    align-items: flex-start;
    padding: 1rem;
    z-index: 9999;
  }

  .menu.open {
    display: flex;
  }

  .menu ul {
    flex-direction: column;
    width: 100%;
  }

  .menu ul li {
    width: 100%;
    padding: 0.8rem 0;
  }

  .menu.hover-megamenu .sub-menu {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    position: relative;
    top: 0;
    padding: 10px 0;
  }

  ul.sub-menu li {
    width: calc(20% - 10px);
  }

  ul.sub-menu li span {
    font-size: 0.7em;
  }

  .menu-item i._mi,
  .menu-item img._mi {
    border-radius: 10px;
  }

  /* Hamburger button visibile su mobile */
  .hamburger {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 24px;
    height: 18px;
    background: none;
    border: none;
    cursor: pointer;
    z-index: 10000;
    padding: 0;
  }

  .hamburger span {
    height: 2px;
    background: black;
    border-radius: 0;
    transition: 0.3s;
    display: block;
    width: 100%;
  }

  .hamburger.active span:nth-child(1) {
    transform: rotate(45deg) translate(7px, 6.5px);
  }

  .hamburger.active span:nth-child(2) {
    opacity: 0;
  }

  .hamburger.active span:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
  }

  /* Submenu chiuso di default su mobile */
  .menu li.menu-item-has-children .sub-menu {
    display: none;
  }

  /* Submenu visibile quando cliccato */
  .menu li.menu-item-has-children.open .sub-menu {
    display: block;
  }

  /* Freccina accanto al link del genitore */
  .menu li.menu-item-has-children > a::after {
    content: "\f078"; /* fa-chevron-down */
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    margin-left: 6px;
    font-size: 0.7em;
    vertical-align: middle;
    display: inline-block;
    transition: transform 0.3s ease;
    transform-origin: center;
  }

  /* Rotazione al clic */
  .menu li.menu-item-has-children.open > a::after {
    transform: rotate(180deg);
  }
}


@media (max-width: 768px) {
  ul.sub-menu li { width: calc(33.33% - 10px); }
  ul.sub-menu li span { position: absolute; bottom: 10px; font-size: 0.8em; color: black; left: 5px; right: 5px; background: #fffffffc; padding: 5px; text-align: center; border-radius: 5px; min-height: 0; align-content: center; }
  ul.sub-menu li span { font-size: 0.8em; }
}


/* ! GALLERY */
/*----------------------------------------------------------------------------------- */
.lavori-section { padding: 100px 0; }
.lavori-section .border { display: flex ; flex-wrap: wrap; gap: 20px; flex-direction: row; align-items: flex-end; align-content: stretch; justify-content: space-between; }
.lavori-section h6{ width: calc(25% - 15px); }

.custom-gallery-portfolio { display: flex ; flex-wrap: wrap; gap: 10px; width: calc(75% - 15px); }
.custom-gallery-portfolio a { position: relative; overflow: hidden; flex: 1 1 calc(33.333% - 10px); border-radius: 15px; }
.custom-gallery-portfolio img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.4s ease; }
.custom-gallery-portfolio a:hover img { transform: scale(1.05); }
.custom-gallery-portfolio .image-info { position: absolute; bottom: 10px; left: 10px; right: 10px; font-size: 0.6em; display: flex ; flex-direction: row; padding: 0; justify-content: space-between; }
.custom-gallery img{border-radius: 20px;}
.image-info { position: absolute; bottom: 0; left: 0; right: 0; color: #000; padding: 10px; display: flex; justify-content: space-between; font-size: 0.6em; }
.image-info span { background: white; padding: 5px 10px; border-radius: 100px; width: auto; display: inline-block; }
span.client { background: #202f13; color: white; }

.glightbox-clean .gslide-description { background: transparent !important; }
.glightbox-clean .gslide-title { color: white !important; font-size: 1em !important; font-family: "Raleway", Arial, sans-serif !important; text-align: center !important; }

@media (max-width: 768px) {
  .lavori-section{padding: 60px 0;}
  .lavori-section h6 { width: 100%; }
  .custom-gallery-portfolio { width: 100%;gap: 20px; }
  .custom-gallery-portfolio a { flex: 1 1 calc(100% - 0px); }
}


/* ! Wordpress Styles */
/*----------------------------------------------------------------------------------- */
input, textarea{border: 3px solid #ddd; border-radius: 3px;padding: 10px;}
input[type=submit], button{border: 3px solid #ddd; background: #ddd; border-radius: 3px;padding: 10px;}

.alignfull{width: 100vw;margin-left: calc(50% - 50vw);}
.alignwide{width: 90vw;margin-left: calc(50% - 45vw);}


/* ! Homepage */
/*----------------------------------------------------------------------------------- */
.home__hero-bg{position: relative;}
.home__hero-content{position:absolute; left:0; bottom:200px;right:0;}

.home__chi-siamo h2{max-width: 810px;}
.home__chi-siamo p{max-width: 750px;}

.accordion {display: flex; overflow: hidden; width: 100%; height: 600px; gap: 10px; padding: 0 10px;}
.accordion-item {position: relative; width: 14.28%; transition: 0.4s ease-in-out; overflow: hidden; cursor: pointer; border-radius: 20px; }
.accordion-item:hover {width: 35%; }
.accordion-image {width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease }

.accordion-content { position: absolute; bottom: 20px; left: 0; right: 0; color: white; z-index: 2; padding: 5px; }
.accordion-content h3 {font-size: 1vw; color: white; opacity: 1;transition: 0.5s ease-in-out;}
.accordion-item:hover .accordion-image { transform: none; }
.accordion-item:hover .accordion-content h3{font-size: 2.7vw;}
.accordion-arrow {position: absolute; top: 10px; right: 10px; z-index: 3; }
.arrow-image {width: 50px; height: 50px;transition: transform 1s ease;}
.accordion-item:hover .arrow-image:hover { transform: rotate(0deg); }
.accordion-item:hover .arrow-image{transform: rotate(-195deg);}
img.accordion-image { filter: brightness(0.8); transition: all 0.8s; }
.accordion-item:hover img.accordion-image{filter: brightness(0.9);}
.accordion:hover .accordion-item:not(:hover) .accordion-content h3 { opacity: 0; transition: opacity 0.1s ease-in-out; }
.accordion:hover .accordion-item:not(:hover) img.accordion-image {filter: brightness(0.5);}
.accordion-link { display: block; width: 100%; height: 100%; position: relative; text-decoration: none; color: inherit; }

@media(max-width:980px) {
  .accordion { width: 100%;height: 100%; padding: 0 50px; flex-wrap: wrap; }
  .accordion-content h3 { font-size: 0.8em; }
  .accordion-item { width: calc(33.33% - 10px);height: 300px; }
  .accordion-item:hover { width: calc(67% - 10px); }
  .accordion-item:hover  .accordion-item { width: calc(32% - 10px); }
}
@media(max-width:768px) {
  .accordion { padding: 0 20px; flex-wrap: wrap; } 
  .accordion-item { width: calc(50% - 5px); height: 250px; }  
   .accordion-item:hover { width: calc(100% - 0); }
  .accordion-item:hover  .accordion-item { width: calc(50% - 5px); }
}

.home__certificazioni{background-image: url(https://mestierilombardia.naturcoop.it/wp-content/uploads/2025/02/bg-certificazioni-.png);background-repeat: no-repeat; background-size: 80%; background-position: bottom right; min-height: 600px;}
.home__certificazioni h3{max-width: 810px;}
.home__certificazioni p{max-width: 750px;}

.home__numeri {display: flex ; flex-wrap: wrap; gap: 20px; justify-content: space-between;}
.home__numeri span {font-size: 4em; font-weight: 200;position: relative;}
.home__numeri span:before{ margin: auto; width: auto; height: auto; position: absolute; left: -30px; right: auto; top: 10px; content: "+"; bottom: auto; line-height: 1;}
.home__numeri div {width: calc(33.33% - 20px); text-align: center;}

.contact-section { display: flex; justify-content: center; gap: 5vw; text-align: center; flex-wrap: wrap; }
.contact-item svg { width: 50px; height: 50px; margin-bottom: 10px; color: #202f13; }
.contact-label { font-weight: 600; margin-bottom: 5px; display: block; }
.contact-info { font-size: 1em; }

@media(max-width:980px) {
  .home__numeri span { font-size: 3em; }
}

@media(max-width:768px) {
  .home__numeri div { width: calc(50% - 10px); }
  .wp-block-columns.border.is-layout-flex.wp-container-core-columns-is-layout-9d6595d7.wp-block-columns-is-layout-flex { padding: 0; }
}


.home__loghi { min-height: 400px; }
.logos-carousel { width: 100%; max-width: 800px; margin: auto; padding: 20px 0; }
.swiper { width: 100%; }
.swiper-wrapper { display: flex; }
.swiper-slide { display: flex; justify-content: center; align-items: center; width: 100%; }
.logos-grid { display: grid; grid-template-columns: repeat(4, 1fr); /* 4 colonne */ grid-template-rows: repeat(2, auto); /* 2 righe */ gap: 40px; width: 100%; max-width: 800px; }
.logo-item { display: flex; justify-content: center; align-items: center; }
.logo-item img { width: 100%; max-width: 150px; /* Dimensione massima del logo */ height: auto; }

.timeline { position: relative; max-width: 100%; margin: 0 auto; }
.timeline::before { content: ''; position: absolute; width: 2px; background-color: #000000; top: 0; bottom: 0; left: 50%; margin-left: -2px; z-index: 1; }
.timeline-item { min-height: 230px; position: relative; width: 50%; opacity: 0; transform: translateY(50px); transition: all 0.6s ease-out; z-index: 2; }
.timeline-item.active { opacity: 1; transform: translateY(0); }
.timeline-item.left::after { content: ''; position: absolute; width: 20px; height: 20px; right: -10px; background-color: #fff; border: 2px solid #000000; top: 35px; border-radius: 50%; z-index: 2; }
.timeline-item.right::after { content: ''; position: absolute; width: 20px; height: 20px; left: -10px; background-color: #fff; border: 2px solid #000000; top: 35px; border-radius: 50%; z-index: 2; }
.timeline-item.left { left: 0; text-align: right; }
.timeline-item.right { left: 50%; text-align: left; }
.timeline-item img { width: calc(100% - 40px); position: absolute; top: 0; border-radius: 20px; margin: 0 20px; }
.timeline-item.left img { left: 100%; }
.timeline-item.right img { right: 100%; }
.timeline-item h3 { margin: 0; font-size: 2em; padding: 0 30px 5px; border-bottom: 2px solid black; width: auto; display: inline-block; color: black; font-weight: 400; }
.timeline-item p { font-style: italic; padding: 10px 20px 0; }

@media(max-width:980px) {
 .timeline-item img { height: 180px; object-fit: cover; }
 .timeline p { padding: 10px 10px 0; font-size: 0.8em; }
}


/* ! PERSONE PAGE */
/*----------------------------------------------------------------------------------- */
.persone__numeri p span { font-size: 9em; width: 100%; font-weight: 700; }
.persone__numeri p { color: #202f13; width: 100%; text-align: center; }

@media(max-width:980px) {
 .persone__numeri p span{font-size: 5em;}
}
@media(max-width:768px) {
 .persone__numeri p span{font-size: 3em;}
}


/* ! ARTICOLO 14 */
/*----------------------------------------------------------------------------------- */
.sec-simbol__piu:after { content: "+"; color: white; position: absolute; left: 0; right: 0; margin: auto; font-size: 3.3em; top: 35%; text-align: center; }
.sec-simbol__fratto:after { content: "/"; color: white; position: absolute; left: 0; right: 0; margin: auto; font-size: 2.3em; top: 40%; text-align: center; }
.sec-simbol__uguale:after { content: "="; color: white; position: absolute; left: 0; right: 0; margin: auto; font-size: 2.3em; top: 33%; text-align: center; }


.aziende__masonry-grid { column-count: 3; column-gap: 30px; margin-top: 40px; }
.aziende__masonry-item { background-color: #202f13; margin-bottom: 30px; border-radius: 15px; display: inline-block; width: 100%; color: white; overflow: hidden; }
.aziende__masonry-item__content { PADDING: 0 20px; }
.aziende__masonry-item img { width: 100%; margin-bottom: 15px; }
.aziende__masonry-item h3 { margin-top: 0; color: white; padding-bottom: 15px; }
.aziende__masonry-item p{ color: white; }
.aziende__masonry-item ul { padding-left: 20px; color: white; }
.aziende__masonry-item ul li { margin-bottom: 8px; }

@media (max-width: 980px) {
  .sec-simbol__piu:after { top: 50%; transform: translateY(-45%); }
  .aziende__masonry-grid { column-count: 2; }
}

@media (max-width: 700px) {
  .aziende__masonry-grid { column-count: 1; }
}


/* ! Settore template */
/*----------------------------------------------------------------------------------- */
.settore__hero { position: relative; }
.settore__hero img { width: 100%; min-height: 400px; object-fit: cover; height: 2.5vw;}
.settore__hero .border { position: absolute; bottom: 50px; }

.settore__intro { align-items: flex-start; column-gap: 20px; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; padding-bottom: 100px; padding-top: 100px; row-gap: 20px; }
.settore__intro h2{ width: calc(33% - 10px);font-weight: 600; font-size: 3em; text-transform: uppercase; line-height: 100%; letter-spacing: -1px; }
.settore__intro .doppia-colonna-testo{ width: calc(67% - 10px); }
.settore__intro-immagini { align-items: center; column-gap: 20px; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; padding-top: 50px; row-gap: 20px; width: 100%; }
.settore__intro-immagini img:first-child { height: 100%; max-height: 300px; min-height: 300px; object-fit: cover; width: calc(67% - 10px); border-radius: 20px; }
.settore__intro-immagini img:last-child { height: 100%; max-height: 300px; min-height: 300px; object-fit: cover; width: calc(33% - 10px); border-radius: 20px; }

.settore__servizi{padding: 100px 0;}
.settore__servizi-box { align-items: stretch; column-gap: 20px; display: flex; flex-wrap: wrap; padding-bottom: 5px; row-gap: 20px; padding-top: 40px; justify-content: flex-start; }
.settore__servizi-box .little-card{ width: calc(25% - 15px); }
.settore__servizi-box .little-card .mini-title { font-size: 1.2em; font-weight: 500; }

.settore__certificazioni-section{padding: 100px 0;background-image:url('https://mestierilombardia.naturcoop.it/wp-content/uploads/2025/02/bg-certificazioni-.png');background-position:bottom right;background-repeat:no-repeat;background-size:80%;min-height: 600px;}
.settore__certificazioni-section h3, .settore__certificazioni-section p {max-width: 750px;}

@media (max-width: 980px) {
  .settore__hero img { width: 100%; min-height: 300px; object-fit: cover; } 
  .settore__intro { padding: 100px 50px; } 
  .settore__intro h2 { width: 100%; } 
  .settore__intro .doppia-colonna-testo { width: 100%; } 
  .settore__intro-immagini { padding-top: 30px; } 
  .settore__intro-immagini img:first-child { height: 100%; max-height: 200px; min-height: 200px; border-radius: 15px; } 
  .settore__intro-immagini img:last-child{ height: 100%; max-height: 200px; min-height: 200px; border-radius: 15px; }
  .settore__servizi-box .little-card { width: calc(50% - 10px);min-height: 150px; }
  .settore__servizi-box .little-card .mini-title { font-size: 1em; font-weight: 500; }
 .settore__certificazioni-section { min-height: 0; padding: 50px 0; }
}

@media (max-width: 768px) {
  .settore__intro { padding: 60px 20px; }
  .settore__intro h2{font-size: 1.4em;}
  .settore__servizi-box .little-card { width: 100%; min-height: auto; }
  .settore__servizi-box .little-card .mini-title { padding-top: 10px; }

  .settore__intro-immagini img:first-child, .settore__intro-immagini img:last-child { height: 100%; max-height: 160px; min-height: 180px; border-radius: 10px; }
}

.punti-forza { padding: 100px 0; }
.punti-forza__container { display: flex ; flex-direction: row; flex-wrap: wrap; gap: 40px; align-items: center; justify-content: space-between; }
.punti-forza__container h4 { width: 80%; }
.punti-forza__contenuto { display: flex ; gap: 40px; flex-wrap: wrap; align-items: stretch; justify-content: space-between; align-content: space-between; }
.punti-forza__img { background-size: cover; background-position: center; background-repeat: no-repeat; width: 30%; border-radius: 10px; }
.punti-forza__blocchi { width: calc(70% - 40px); display: flex ; gap: 40px; flex-wrap: wrap; padding: 5px 0; }
.punto { display: flex; align-items: flex-start; gap: 20px; flex-direction: column; width: calc(50% - 20px); }
.punto img { width: 50px; height: 50px; background-color: white; padding: 6px; }

@media (max-width: 980px) {
  .punti-forza__container h4 { width: 70%; }
  .punti-forza__img { display: none; }
  .punti-forza__blocchi { width: 100%; }
  .punto img { width: 37px; height: 37px; background-color: white; padding: 4px; }
  

}
@media (max-width: 980px) {
  .punti-forza__container h4 { width: 100%; }
  .punti-forza{padding: 60px 0;}
  .punti-forza__container {gap: 25px;}
  .punto { width: 100%; }
}


/* ! FOOTER */
/*---------------------------------------------------------------------------------- */
.footer { padding: 50px 150px; display: flex; flex-direction: row; gap: 40px; flex-wrap: wrap; color: white; justify-content: space-between; }
.footer a, .footer h4{ color: white; }
.footer ul{ list-style: none; padding: 0; margin: 0; }
.footer p, .footer li, .footer address, .footer h4 { font-size: 0.8em; font-style: normal; color: white; }
.footer__col{ width: calc(25% - 30px); gap: 10px; display: flex; flex-direction: column; }
img.footer__logo { width: 90%; padding-bottom: 10px; max-width: 230px; }
img.footer__certificazioni{ width: 80%; max-width: 250px; }
.footer h4 { padding-bottom: 10px; }
.footer__col ul li { padding: 5px 0; }
.social-icons { display: flex; flex-direction: row; gap: 20px; padding-top: 20px; }
.footer__bottom { width: 100%; font-size: 0.7em; color: white; }
.footer__col iframe{width: 100%;}

@media(max-width:980px) {
  .footer { padding: 60px 40px; gap: 40px; }
  .footer__col { width: calc(50% - 20px); }
  img.footer__certificazioni { width: 60%; }
}

@media(max-width:768px) {
  .footer__col { width: 100%; }
}


.job-offers-list {
    max-width: 1100px;
    margin: 0 auto;
    padding: 2rem 1rem;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 2rem;
}

.job-offer {
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 1.5rem;
    background-color: #fafafa;
    transition: box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.job-offer:hover {
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.job-offer h2 {
    margin-top: 0;
    font-size: 1.5rem;
    color: #003366;
}

.job-offer h2 a {
    text-decoration: none;
    color: inherit;
}

.job-offer h2 a:hover {
    text-decoration: underline;
}

.job-offer p {
    margin: 0.5rem 0;
    font-size: 0.95rem;
    color: #333;
}

.job-offer strong {
    color: #000;
}

.job-learn-more-button {
    margin-top: auto;
    display: inline-block;
    background-color: #95C11F;
    color: white;
    padding: 0.6rem 1.2rem;
    border-radius: 4px;
    font-weight: 600;
    text-align: center;
    text-decoration: none;
    transition: background-color 0.3s ease;
}

.job-learn-more-button:hover {
    background-color: #7fa417;
}



.job-single-wrapper {
    max-width: 800px;
    margin: 0 auto;
    padding: 2rem 1rem;
}

.job-title {
    font-size: 2rem;
    color: #003366;
    margin-bottom: 1rem;
}

.job-meta {
    margin-bottom: 1.5rem;
    background: #f0f4f8;
    padding: 1rem;
    border-radius: 8px;
    font-size: 0.95rem;
}

.job-meta p {
    margin: 0.4rem 0;
}

.job-description {
    margin-bottom: 2rem;
    line-height: 1.6;
    color: #333;
}

.job-apply {
    text-align: center;
}

.job-apply-button {
    display: inline-block;
    background-color: #0073aa;
    color: #fff;
    padding: 0.75rem 1.5rem;
    border-radius: 6px;
    text-decoration: none;
    font-weight: bold;
    transition: background-color 0.3s ease;
}

.job-apply-button:hover {
    background-color: #005a87;
}