/*
Theme Name: Tutore
Description: Tema proprietario Tutore
Version: 1.0
Author: Tutore
Site: https://www.tutore.it/
Text Domain: https://www.tutore.it/
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/
body{
	margin:0!important;
	padding:0 !important;
}

/* HOMEPAGE */
.cursor-pointer-active, .card-case-studies{
	cursor: pointer !important;
}
.elementor-860 .elementor-element.elementor-element-98fcc4c .elementor-button:hover svg, .elementor-93 .elementor-element.elementor-element-95617d8 .elementor-button:hover svg,.elementor-121 .elementor-element.elementor-element-abd105c .elementor-button:hover svg{
	fill: none !important;
}
.icona-hover-scale .elementor-icon {
  transition: transform 0.25s ease;
}

.icona-hover-scale:hover .elementor-icon {
  transform: scale(1.08);
}




/* =========================================================
   AMÉNITÉ ACCORDION CLEAN
   Padre: #amenite-accordion
   Figlie: .amenite-card
   Testo descrizione: .card-desc
========================================================= */

/* BOX PAPÀ */
#amenite-accordion {
  width: 1300px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;

  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;

  gap: 0;
  overflow: hidden;

  min-height: 550px;
}
/* #amenite-accordion {
  min-height: 550px;
} */
/* CARD FIGLIE */
#amenite-accordion > .amenite-card {
  position: relative;
  overflow: hidden;

  flex: 1 1 260px;
  width: 260px;
  height: 340px;
  min-width: 0;

  display: flex;
  flex-direction: column;
  justify-content: flex-end;

  padding: 24px;

  cursor: pointer;

  transition:
    flex-basis 1.05s cubic-bezier(.19,1,.22,1),
    flex-grow 1.05s cubic-bezier(.19,1,.22,1),
    width 1.05s cubic-bezier(.19,1,.22,1),
    height 1.05s cubic-bezier(.19,1,.22,1),
    transform 1.05s cubic-bezier(.19,1,.22,1),
    filter .65s ease;
}

/* QUANDO ENTRO NEL PADRE, LE CARD NON ATTIVE SI STRINGONO */
#amenite-accordion:hover > .amenite-card {
  flex: 0 1 185px;
  width: 185px;
  height: 550px;
  filter: brightness(.86);
}

/* CARD ATTIVA IN HOVER */
#amenite-accordion > .amenite-card:hover {
  flex: 1 0 560px;
  width: 560px;
  height: 550px;
  filter: brightness(1);
  transform: translateY(-6px);
}


/* OVERLAY PIÙ MORBIDO SULLA CARD ATTIVA */
#amenite-accordion > .amenite-card:hover::after {
  background: linear-gradient(
    to top,
    rgba(0,0,0,.78) 0%,
    rgba(0,0,0,.46) 42%,
    rgba(0,0,0,.10) 78%,
    rgba(0,0,0,0) 100%
  );
}

/* CONTENUTI SOPRA OVERLAY */
#amenite-accordion > .amenite-card > .elementor-widget,
#amenite-accordion > .amenite-card > .elementor-element,
#amenite-accordion > .amenite-card .elementor-widget-container,
#amenite-accordion > .amenite-card .elementor-heading-title,
#amenite-accordion > .amenite-card .card-desc {
  position: relative;
  z-index: 2;
}

/* TITOLO */
#amenite-accordion .elementor-heading-title {
  color: #fff !important;
  margin: 0;

  opacity: 1;
  transform: translateY(0);

  transition:
    opacity .55s ease,
    transform .65s cubic-bezier(.19,1,.22,1);
}

/* DESCRIZIONE NASCOSTA DI DEFAULT */
#amenite-accordion .card-desc {
  display: block;

  color: rgba(255,255,255,.9);
  font-size: 16px;
  line-height: 1.65;

  opacity: 0;
  visibility: hidden;
  max-height: 0;
  overflow: hidden;

  transform: translateY(18px);

  transition:
    opacity .7s ease .16s,
    visibility .7s ease .16s,
    max-height .85s cubic-bezier(.19,1,.22,1),
    transform .75s cubic-bezier(.19,1,.22,1);
}

/* PULIZIA MARGINI TESTO ELEMENTOR */
#amenite-accordion .card-desc p {
  margin: 0;
}

/* DESCRIZIONE VISIBILE SOLO IN HOVER */
#amenite-accordion > .amenite-card:hover .card-desc {
  opacity: 1;
  visibility: visible;
  max-height: 320px;
  transform: translateY(0);
}

/* PICCOLA ENTRATA DEL TITOLO SULLA CARD ATTIVA */
#amenite-accordion > .amenite-card:hover .elementor-heading-title {
  transform: translateY(-4px);
}

/* CARD NON ATTIVE: TITOLO LEGGERMENTE PIÙ DISCRETO */
#amenite-accordion:hover > .amenite-card:not(:hover) .elementor-heading-title {
  opacity: .55;
  transform: translateY(8px);
}

/* BACKGROUND ZOOM DELICATO */
#amenite-accordion .elementor-motion-effects-container,
#amenite-accordion .elementor-motion-effects-layer {
  overflow: hidden;
}

#amenite-accordion .elementor-motion-effects-layer {
  transition:
    transform 1.25s cubic-bezier(.19,1,.22,1) !important;
}

#amenite-accordion > .amenite-card:hover .elementor-motion-effects-layer {
  transform: scale(1.06) !important;
}

/* MIGLIORA LA RESA DELLE IMMAGINI DI SFONDO */
#amenite-accordion > .amenite-card {
  background-size: cover !important;
  background-position: center center !important;
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {
  #amenite-accordion {
    width: 100%;
    min-height: 480px;
  }

  #amenite-accordion > .amenite-card {
    flex: 1 1 180px;
    width: 180px;
    height: 320px;
  }

  #amenite-accordion:hover > .amenite-card {
    flex: 0 1 120px;
    width: 120px;
    height: 440px;
  }

  #amenite-accordion > .amenite-card:hover {
    flex: 1 0 480px;
    width: 480px;
    height: 500px;
  }

  #amenite-accordion .card-desc {
    font-size: 15px;
    line-height: 1.6;
  }
}

/* =========================================================
   MOBILE
   Su mobile niente accordion orizzontale: stack pulito.
========================================================= */

@media (max-width: 767px) {
  #amenite-accordion {
    width: 100%;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    min-height: auto;
    overflow: visible;
  }

  #amenite-accordion > .amenite-card {
    width: 100% !important;
    flex: none !important;
    height: 180px;
    min-height: 180px;

    transform: none;

    transition:
      height .8s cubic-bezier(.19,1,.22,1),
      filter .5s ease;
  }

  #amenite-accordion:hover > .amenite-card {
    width: 100% !important;
    flex: none !important;
    height: 180px;
    filter: brightness(1);
  }

  #amenite-accordion > .amenite-card:hover {
    width: 100% !important;
    flex: none !important;
    height: 430px;
    transform: none;
  }

  #amenite-accordion:hover > .amenite-card:not(:hover) .elementor-heading-title {
    opacity: 1;
    transform: translateY(0);
  }

  #amenite-accordion .card-desc {
    font-size: 15px;
    line-height: 1.6;
  }

  #amenite-accordion > .amenite-card:hover .card-desc {
    max-height: 330px;
  }
}






/* =========================================================
   CARD SERVIZI
========================================================= */

.container-card-servizi{
    overflow:hidden;
    position:relative;
}

/* contenitore immagine fermo */
.container-card-servizi .contenitore-img,
.container-card-servizi .img{
    overflow:hidden;
    position:relative;
}

/* layer reale dell'immagine Elementor */
.container-card-servizi .img 
.elementor-motion-effects-layer{
    
    transition:
        transform 1.25s cubic-bezier(.19,1,.22,1),
        filter .8s ease;

    transform:scale(1);
    transform-origin:center center;
    will-change:transform;
}

/* =========================================================
   HOVER -> SOLO BACKGROUND ZOOM
========================================================= */

.container-card-servizi:hover 
.img 
.elementor-motion-effects-layer{

    transform:scale(1.06) !important;
}

/* =========================================================
   TRANSIZIONI BOTTONE + FRECCIA
========================================================= */

.container-card-servizi 
.elementor-button,
.container-card-servizi 
.elementor-button svg,
.container-card-servizi 
.elementor-icon,
.container-card-servizi 
.elementor-icon svg{

    transition:
        color .4s ease,
        border-color .4s ease,
        fill .4s ease,
        stroke .4s ease,
        opacity .4s ease;
}

/* =========================================================
   TESTO + BORDER BOTTOM VERDE
========================================================= */

.container-card-servizi:hover 
.elementor-button{

    color:#8B9E8A !important;
    border-color:#8B9E8A !important;
}

/* =========================================================
   FRECCIA VERDE
========================================================= */

.container-card-servizi:hover 
.elementor-icon{

    color:#8B9E8A !important;
}

.container-card-servizi:hover 
.elementor-icon svg{

    stroke:#8B9E8A !important;
    fill:#8B9E8A !important;
}

/* =========================================================
   OPTIONAL:
   overlay luxury leggero in hover
========================================================= */

.container-card-servizi .img::after{

    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(
        to top,
        rgba(0,0,0,.18) 0%,
        rgba(0,0,0,0) 55%
    );

    opacity:0;
    transition:opacity .6s ease;
    pointer-events:none;
}

.container-card-servizi:hover .img::after{
    opacity:1;
}


 /* ── CONTAINER ── */
  .ac-container {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    width: 100%;
    max-width: 1400px;
    height: 580px;
    gap: 4px;
  }
 
  /* ── CARD ── */
  .ac-card {
    position: relative;
    flex: 1;
    min-width: 72px;
    overflow: hidden;
    cursor: pointer;
    transition: flex 0.65s cubic-bezier(0.4, 0, 0.2, 1);
  }
 
  .ac-card:hover,
  .ac-card.is-active {
    flex: 4.5;
  }
 
  /* background image */
  .ac-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transition: transform 0.65s cubic-bezier(0.4, 0, 0.2, 1);
  }
 
  .ac-card:hover .ac-bg,
  .ac-card.is-active .ac-bg {
    transform: scale(1.04);
  }
 
  /* overlay */
  .ac-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
      to top,
      rgba(10, 5, 5, 0.88) 0%,
      rgba(10, 5, 5, 0.45) 45%,
      rgba(10, 5, 5, 0.20) 100%
    );
    transition: background 0.5s ease;
  }
 
  .ac-card:hover .ac-overlay,
  .ac-card.is-active .ac-overlay {
    background: linear-gradient(
      to top,
      rgba(10, 5, 5, 0.82) 0%,
      rgba(10, 5, 5, 0.28) 50%,
      rgba(10, 5, 5, 0.08) 100%
    );
  }
 
  /* thin left accent line */
  .ac-card::before {
    content: '';
    position: absolute;
    left: 0;
    top: 20%;
    bottom: 20%;
    width: 1px;
    background: rgba(255,255,255,0.15);
    z-index: 2;
    transition: opacity 0.4s;
  }
 
  .ac-card:first-child::before { display: none; }
 
  /* content */
  .ac-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 2.5rem 2rem 2rem;
    z-index: 3;
  }
 
  /* titolo — ruotato quando card è stretta */
  .ac-title {
    font-family: 'Times new roman', serif;
    font-size: 20px;
    font-weight: 400;
    color: #ffffff;
    line-height: 1;
    letter-spacing: 0.02em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: font-size 0.4s ease, letter-spacing 0.4s ease;
  }
 
  .ac-card:not(:hover):not(.is-active) .ac-title {
    writing-mode: vertical-rl;
    text-orientation: mixed;
    transform: rotate(180deg);
    white-space: nowrap;
    font-size: 30px;
    letter-spacing: 0.12em;
  }
 
  .ac-card:hover .ac-title,
  .ac-card.is-active .ac-title {
    font-size: 1.7rem;
    letter-spacing: 0.03em;
    white-space: normal;
  }
 
  /* linea decorativa sotto il titolo */
  .ac-line {
    width: 0;
    height: 1px;
    background:#C5161D;
    margin: 0.9rem 0 1rem;
    transition: width 0.5s 0.1s cubic-bezier(0.4, 0, 0.2, 1);
  }
 
  .ac-card:hover .ac-line,
  .ac-card.is-active .ac-line {
    width: 48px;
  }
 
  /* descrizione */
  .ac-desc {
    font-family: 'roboto', sans-serif;
    font-size: 17px;
    font-weight: 400;
    color: #ffffff;
/*     line-height: 1.7;
    letter-spacing: 0.04em; */
    max-width: 450px;
	  height: 230px;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.4s 0.2s ease, transform 0.4s 0.2s ease;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
  }
 
  .ac-card:hover .ac-desc,
  .ac-card.is-active .ac-desc {
    opacity: 1;
    transform: translateY(0);
  }

.elementor-10 .elementor-element.elementor-element-c3b8499 .elementor-button:hover svg{
	fill: none !important;
}
/* PICCOLO BUG DEL COLORE PER L'ICONA DELL'HEADER */
.elementor-widget-icon.elementor-view-default .elementor-icon svg {
  fill: none !important;
}
 
/* HOVER CARD CAASE STUDIES */
.card-case-studies .container-img {
  overflow: hidden;
}

.card-case-studies .img-da-zoommare {
  width: 100%;
  height: 100%;
  min-height: 400px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transform: scale(1);
  transition: transform 0.9s ease;
  transform-origin: center center;
}

.card-case-studies:hover .img-da-zoommare {
  transform: scale(1.06);
}
/* transizioni morbide */
.card-case-studies .elementor-button,
.card-case-studies .elementor-button svg,
.card-case-studies .elementor-icon,
.card-case-studies .elementor-icon svg {
  transition: all 0.35s ease;
}

/* hover card */
.card-case-studies:hover .elementor-button {
  color: #111111 !important;
  
}

/* freccia */
.card-case-studies:hover .elementor-icon {
  color: #111111 !important;
}

.card-case-studies:hover .elementor-icon svg {
  fill: #111111 !important;
  stroke: #8B9E8A !important;
}
.card-case-studies:hover .elementor-icon svg {
  fill: none !important;
}
  /* ── RESPONSIVE ── */
  @media (max-width: 768px) {
    body { padding: 1rem; }
 
    .ac-container {
      flex-direction: column;
      height: auto;
      gap: 3px;
    }
 
    .ac-card {
      flex: none !important;
      min-width: unset;
      height: 120px;
      transition: height 0.55s cubic-bezier(0.4, 0, 0.2, 1);
    }
 
    .ac-card:hover,
    .ac-card.is-active {
      height: 340px;
      flex: none !important;
    }
 
    .ac-card::before {
      display: none;
    }
 
    .ac-card:not(:hover):not(.is-active) .ac-title {
      writing-mode: horizontal-tb;
      transform: none;
      font-size: 1rem;
      letter-spacing: 0.06em;
    }
 
    .ac-content {
      padding: 1.5rem 1.4rem 1.4rem;
    }
  }
 
  @media (max-width: 480px) {
    .ac-card {
      height: 100px;
    }
 
    .ac-card:hover,
    .ac-card.is-active {
      height: 280px;
    }
  }


/* Icona in movimento */
#arrow-movimento {
  display: inline-block;
  animation: arrowBounce 1.6s ease-in-out infinite;
}

@keyframes arrowBounce {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(10px);
  }
  100% {
    transform: translateY(0);
  }
}