/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Jun 23 2026 | 12:34:32 */
/* =========================
   ACCORDION SLIDER
========================= */

.accordion {
  display: flex;
  width: 100%;
}

.accordion .slider-panel {
  position: relative;
  flex: 1;
  min-height: 560px;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  transition: flex 0.6s ease;
}

.accordion .slider-panel:hover {
  flex: 5;
}

/* Image layer — schiarita rispetto al default Divi */
.accordion .slider-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  background: inherit;
  filter: grayscale(0%) contrast(1.2) brightness(1.1);
  transform: scale(1.02);
  transition: filter 0.5s ease, transform 0.6s ease;
  z-index: 0;
}

/* Overlay blu brand, leggero */
.accordion .slider-panel::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(18, 32, 70, 0.30);
  transition: background 0.5s ease;
  z-index: 1;
}

.accordion .slider-panel:hover::before {
  filter: grayscale(0%) contrast(1.05) brightness(1.1);
  transform: scale(1.05);
}

.accordion .slider-panel:hover::after {
  background: rgba(18, 32, 70, 0.15);
}

/* =========================
   CONTENT
========================= */

.accordion .slider-panel .et_pb_blurb_content {
  position: absolute;
  inset: 0;
  z-index: 2;
  overflow: hidden;
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  text-align: left !important;
}

/* Tre poligoni a lati netti che scorrono da sinistra a destra all'hover.
   Forma discendente (\) con skewX negativo.
   Il poligono più opaco (destra nel gradiente) entra per primo.
   Colore specifico per pannello tramite data-index. */
.accordion .slider-panel .et_pb_blurb_content::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 220%;
  height: 200%;
  transform: skewX(-25deg) translateX(-100%);
  pointer-events: none;
  transition: none;
  z-index: 0;
}

/* Pannello 01 — Proprietari — Turchese */
.accordion .slider-panel[data-index="01"] .et_pb_blurb_content::before {
  background: linear-gradient(
    to right,
    transparent               0%,
    transparent              10%,
    rgba(43, 132, 159, 0.30) 10%,
    rgba(43, 132, 159, 0.30) 25%,
    transparent              25%,
    transparent              41%,
    rgba(43, 132, 159, 0.60) 41%,
    rgba(43, 132, 159, 0.60) 56%,
    transparent              56%,
    transparent              72%,
    rgba(43, 132, 159, 1.00) 72%,
    rgba(43, 132, 159, 1.00) 87%,
    transparent              87%
  );
}

/* Pannello 02 — Ospiti — Ocra */
.accordion .slider-panel[data-index="02"] .et_pb_blurb_content::before {
  background: linear-gradient(
    to right,
    transparent               0%,
    transparent              10%,
    rgba(216, 166, 70, 0.30) 10%,
    rgba(216, 166, 70, 0.30) 25%,
    transparent              25%,
    transparent              41%,
    rgba(216, 166, 70, 0.60) 41%,
    rgba(216, 166, 70, 0.60) 56%,
    transparent              56%,
    transparent              72%,
    rgba(216, 166, 70, 1.00) 72%,
    rgba(216, 166, 70, 1.00) 87%,
    transparent              87%
  );
}

/* Pannello 03 — Servizi — Verde salvia */
.accordion .slider-panel[data-index="03"] .et_pb_blurb_content::before {
  background: linear-gradient(
    to right,
    transparent                0%,
    transparent               10%,
    rgba(149, 154, 114, 0.30) 10%,
    rgba(149, 154, 114, 0.30) 25%,
    transparent               25%,
    transparent               41%,
    rgba(149, 154, 114, 0.60) 41%,
    rgba(149, 154, 114, 0.60) 56%,
    transparent               56%,
    transparent               72%,
    rgba(149, 154, 114, 1.00) 72%,
    rgba(149, 154, 114, 1.00) 87%,
    transparent               87%
  );
}

.accordion .slider-panel:hover .et_pb_blurb_content::before {
  animation: tsg-panel-sweep 0.65s ease-out forwards;
}

.accordion .slider-panel .et_pb_blurb_container {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  max-width: 440px;
  padding: 0 32px 72px;
  text-align: left !important;
}

.accordion .slider-panel .et_pb_module_header {
  margin: 0;
  color: #fff;
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  line-height: 1;
  text-align: left !important;
}


/* Description — collassa quando non in hover */
.accordion .slider-panel .et_pb_blurb_description {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateY(10px);
  transition:
    max-height 0.45s ease 0.05s,
    opacity 0.35s ease 0.12s,
    transform 0.35s ease 0.12s;
}

.accordion .slider-panel:hover .et_pb_blurb_description {
  max-height: 420px;
  opacity: 1;
  transform: translateY(0);
}

.accordion .slider-panel .et_pb_blurb_description h3 {
  color: #fff;
  font-family: "Poppins", sans-serif;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
  margin: 12px 0 10px;
}

.accordion .slider-panel .et_pb_blurb_description p {
  color: rgba(255, 255, 255, 0.88);
  margin: 0 0 18px;
  text-align: left !important;
}

/* =========================
   BUTTON
========================= */

.et_pb_button.btn-outline {
  background-color: transparent !important;
  border: 1px solid rgba(255, 255, 255, 0.6) !important;
  color: #fff !important;
  text-transform: none;
  letter-spacing: 0.02em;
  font-size: 18px;
  font-weight: 500;
  padding: 12px 18px !important;
  transition: all 0.3s ease;
}

@keyframes tsg-panel-sweep {
  from { transform: skewX(-25deg) translateX(-100%); }
  to   { transform: skewX(-25deg) translateX(100%);  }
}

/* =========================
   BUTTON — CLASSI TEMATICHE
   tsg-business  → Proprietari  (#2B849F turchese)
   tsg-privates  → Ospiti       (#D8A646 ocra)
   tsg-services  → Servizi      (#959A72 verde salvia)
========================= */

/* Idle: bordo colorato, testo bianco */
.et_pb_button.btn-outline.tsg-business {
  border-color: #2B849F !important;
}

.et_pb_button.btn-outline.tsg-privates {
  border-color: #D8A646 !important;
}

.et_pb_button.btn-outline.tsg-services {
  border-color: #959A72 !important;
}

/* Hover pannello: sfondo pieno + lift + glow */
.slider-panel:hover .et_pb_button.btn-outline.tsg-business {
  background-color: #2B849F !important;
  border-color: #2B849F !important;
  color: #fff !important;
  padding: 12px 18px !important;
  transform: translateY(-2px);
}

.slider-panel:hover .et_pb_button.btn-outline.tsg-privates {
  background-color: #D8A646 !important;
  border-color: #D8A646 !important;
  color: #fff !important;
  padding: 12px 18px !important;
  transform: translateY(-2px);
}

.slider-panel:hover .et_pb_button.btn-outline.tsg-services {
  background-color: #959A72 !important;
  border-color: #959A72 !important;
  color: #fff !important;
  padding: 12px 18px !important;
  transform: translateY(-2px);
}

/* =========================
   ROW HEIGHT — OVERRIDE
   Sovrascrive le height fisse impostate inline e da et-core su .et_pb_row_0
========================= */

@media only screen and (max-width: 980px) {
  .et_pb_row_0 {
    height: auto !important;
  }
}

/* =========================
   TABLET + MOBILE
========================= */

@media only screen and (max-width: 980px) {

  .accordion {
    flex-direction: column !important;
    height: auto !important;
  }

  .accordion .slider-panel {
    flex: 0 0 230px !important;
    width: 100% !important;
    min-height: 0;
    transition: flex-basis 0.55s ease;
  }

  .accordion .slider-panel:hover,
  .accordion .slider-panel:active,
  .accordion .slider-panel:focus-within {
    flex-basis: 380px !important;
  }

  .accordion .slider-panel .et_pb_blurb_container {
    max-width: none;
    top: 0;
    bottom: auto;
    padding: 24px 24px 16px;
  }

  .accordion .slider-panel .et_pb_module_header {
    transition: none;
  }

  .accordion .slider-panel:hover .et_pb_module_header,
  .accordion .slider-panel:active .et_pb_module_header,
  .accordion .slider-panel:focus-within .et_pb_module_header {
    transform: none;
  }

  .accordion .slider-panel .et_pb_blurb_description {
    position: static;
    max-height: 0;
    pointer-events: none;
    transition:
      max-height 0.45s ease 0.05s,
      opacity 0.35s ease 0.12s,
      transform 0.35s ease 0.12s;
  }

  .accordion .slider-panel:hover .et_pb_blurb_description,
  .accordion .slider-panel:active .et_pb_blurb_description,
  .accordion .slider-panel:focus-within .et_pb_blurb_description {
    max-height: 320px;
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
  }

  .accordion .slider-panel .et_pb_blurb_description p {
    margin: 0 0 12px;
  }

  .accordion .slider-panel .btn-outline {
    font-size: 12px;
    padding: 8px 14px;
  }

  .accordion .et_pb_blurb.slider-panel {
    padding-bottom: 0 !important;
  }
}
