/*
Theme Name: Hello Elementor Child
Description: Child theme basato su Hello Elementor.
Author: Nadal SRL
Template: hello-elementor
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html
*/

/*
 * Aggiungi qui gli stili personalizzati del tema child.
 */

/* Wrapper padre */
.nadal-hero-wrapper-red,
.nadal-hero-wrapper-black,
.nadal-hero-wrapper-white {
  position: relative;
  overflow: hidden;
}

/* Freccia rossa */
.nadal-hero-wrapper-red::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #e0001c;
  clip-path: polygon(0 0, 30% 0, 46% 50%, 30% 100%, 0 100%);
  z-index: 1;
  pointer-events: none;
}

/* Freccia nera */
.nadal-hero-wrapper-black::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #000;
  clip-path: polygon(0 0, 30% 0, 46% 50%, 30% 100%, 0 100%);
  z-index: 1;
  pointer-events: none;
}

.nadal-hero-left {
  position: relative;
  z-index: 2;
}

.nadal-hero-wrapper-white::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 180px; /* altezza della barra menu — aggiusta questo valore */
  background: #000;
  z-index: 0;
  pointer-events: none;
}

.nadal-hero-wrapper-white::before {
  z-index: 2; /* sopra il ::after nero */
}

.nadal-hero-wrapper-white .elementor-element-d1f117d {
  position: relative;
  z-index: 3 !important;
  background: transparent !important;
}

/* Colonna sinistra header - sopra al rosso */
.elementor-element-d1f117d {
  position: relative;
  z-index: 2;
}

/* Colonna destra - contenitore slider e testo */
.elementor-element-3a0c87d {
  position: relative;
  z-index: 0;
}

/* Widget carousel - sotto al rosso */
.elementor-element-4d69ccd {
  position: relative;
  z-index: 0;
}

/* Container testo - sopra al rosso */
.elementor-element-cd39b6a {
  z-index: 3;
}

/* Widget testo */
.elementor-element-ee68e35 {
  position: relative;
  z-index: 3;
}

/* Forma bianca */
.nadal-hero-wrapper-white::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #ffffff;
  clip-path: polygon(0 0, 30% 0, 46% 50%, 30% 100%, 0 100%);
  z-index: 1;
  pointer-events: none;
}

@media (max-width: 767px) {
  .nadal-hero-wrapper-white::before {
    clip-path: none;
    background: transparent;
  }
}

/* Porta tutta la colonna sinistra sopra al ::before */
.nadal-hero-wrapper-white .elementor-element-d1f117d {
  position: relative;
  z-index: 2;
}

/* Assicura che tutti i container intermedi non blocchino lo stacking */
.nadal-hero-wrapper-white .elementor-element-372c4cf,
.nadal-hero-wrapper-white .nadal-hero-left {
  position: relative;
  z-index: 2;
}

/* Mobile */
@media (max-width: 767px) {
  .nadal-hero-wrapper-red::before,
  .nadal-hero-wrapper-black::before {
    clip-path: none;
  }
}

@media (max-width: 767px) {
  .nadal-hero-wrapper-white::before,
  .nadal-hero-wrapper-white::after {
    display: none;
  }

  /* Sfondo bianco sulla barra header mobile */
  .nadal-hero-wrapper-white .elementor-element-d1f117d {
    background: #ffffff !important;
  }

  /* Hamburger nero su sfondo bianco */
  .nadal-hero-wrapper-white .elementor-menu-toggle svg {
    color: #000 !important;
    fill: #000 !important;
  }
}

p {
  margin-block-end: 0;
}

.elementor-swiper-button-prev {
  top: 104% !important;
  left: 45% !important;
}

.elementor-swiper-button-next {
  top: 104% !important;
  left: 55% !important;
}

/* Reset CF7 default */
.s4w-form-grid .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

/* Griglia due colonne */
.s4w-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  align-items: start;
}

/* Spaziatura tra i campi colonna sinistra */
.s4w-form-left .s4w-field-wrap {
  margin-bottom: 14px;
}
.s4w-form-left .s4w-field-wrap:last-child {
  margin-bottom: 0;
}

/* Stile campi input */
.s4w-form-grid input[type="text"],
.s4w-form-grid input[type="email"],
.s4w-form-grid input[type="tel"],
.s4w-form-grid textarea {
  width: 100%;
  border: 1px solid #c8c8c8;
  border-radius: 3px;
  padding: 13px 16px;
  font-size: 14px;
  color: #333;
  background: #fff;
  box-sizing: border-box;
  outline: none;
  transition: border-color 0.2s;
}

.s4w-form-grid input[type="text"]:focus,
.s4w-form-grid input[type="email"]:focus,
.s4w-form-grid input[type="tel"]:focus,
.s4w-form-grid textarea:focus {
  border-color: #888;
}

/* Placeholder colore */
.s4w-form-grid input::placeholder,
.s4w-form-grid textarea::placeholder {
  color: #999;
}

/* Textarea altezza */
.s4w-textarea-wrap textarea {
  height: 175px;
  resize: none;
}

/* Checkbox acceptance */
.s4w-acceptance-wrap {
  margin-top: 14px;
  font-size: 13px;
  color: #444;
}
.s4w-acceptance-wrap .wpcf7-acceptance {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.s4w-acceptance-wrap input[type="checkbox"] {
  margin-top: 2px;
  flex-shrink: 0;
  width: 15px;
  height: 15px;
  cursor: pointer;
}
.s4w-acceptance-wrap a {
  text-decoration: underline;
  color: inherit;
}

/* Link GDPR */
.s4w-gdpr-link {
  font-size: 13px;
  color: #444;
  margin-top: 10px;
}
.s4w-gdpr-link a {
  text-decoration: underline;
  color: inherit;
}

/* Bottone */
.s4w-form-grid .wpcf7-submit {
  display: block;
  width: 100%;
  margin-top: 16px;
  border-radius: 0px;
  background-color: #e0001c;
  color: #fff !important;
  border: 2px solid #e0001c;
  padding: 15px 20px;
  font-family: "Lato", sans-serif;
  font-size: 15px;
  line-height: 21px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  cursor: pointer;
  transition:
    background-color 0.2s,
    color 0.2s;
}
.s4w-form-grid .wpcf7-submit:hover {
  background-color: #fff;
  color: #e0001c !important;
  border-color: #e0001c;
}

/* Bottone nero */
.s4w-form-grid.black .wpcf7-submit {
  display: block;
  width: 100%;
  margin-top: 16px;
  border-radius: 0px;
  background-color: #000000;
  color: #fff !important;
  border: 2px solid #000000;
  padding: 15px 20px;
  font-family: "Lato", sans-serif;
  font-size: 15px;
  line-height: 21px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  cursor: pointer;
  transition:
    background-color 0.2s,
    color 0.2s;
}
.s4w-form-grid.black .wpcf7-submit:hover {
  background-color: #fff;
  color: #000000 !important;
  border-color: #000000;
}

/* Bottone bianco */
.s4w-form-grid.white .wpcf7-submit {
  display: block;
  width: 100%;
  margin-top: 16px;
  border-radius: 0px;
  background-color: #fff;
  color: #000 !important;
  border: 2px solid #fff;
  padding: 15px 20px;
  font-family: "Lato", sans-serif;
  font-size: 15px;
  line-height: 21px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  cursor: pointer;
  transition:
    background-color 0.2s,
    color 0.2s;
}
.s4w-form-grid.white .wpcf7-submit:hover {
  background-color: #000;
  color: #fff !important;
  border-color: #fff;
}

.s4w-form-grid.white .wpcf7-list-item-label {
  color: #fff;
}

.s4w-form-grid.white .s4w-gdpr-link {
  color: #fff;
}

/* Responsive mobile */
@media (max-width: 767px) {
  .s4w-form-grid {
    grid-template-columns: 1fr;
  }
}

/* Fix hamburger menu mobile sopra all'hero */
@media (max-width: 767px) {
  /* Porta tutta la sezione navbar sopra all'hero */
  .elementor-element-82ae177 {
    position: relative;
    z-index: 99999 !important;
  }

  /* Assicura che il dropdown non venga clippato */
  .nadal-hero-wrapper-red,
  .nadal-hero-wrapper-black,
  .nadal-hero-wrapper-white {
    overflow: visible;
  }
}

@media (max-width: 767px) {
  /* Sezione navbar sopra tutto */
  .elementor-element-cbf5fc0 {
    position: relative !important;
    z-index: 999999 !important;
  }

  /* Ripristina shape divider */
  .elementor-element-778464d .elementor-shape-top {
    z-index: 9 !important;
  }
}

/* Blocca lo scroll orizzontale sul mobile */
@media (max-width: 767px) {
  .elementor-element-0e77479,
  .elementor-element-821d8b9,
  .elementor-element-5a3048d {
    overflow: hidden !important;
  }
}

/* Contenitore di ogni miniatura della gallery */
.gallery .gallery-item .gallery-icon {
    width: 100%;
    aspect-ratio: 4 / 3;      /* scegli il rapporto che preferisci, es. 1/1 per quadrato */
    overflow: hidden;
    position: relative;
}

/* Il link deve occupare tutto lo spazio del contenitore */
.gallery .gallery-item .gallery-icon a {
    display: block;
    width: 100%;
    height: 100%;
}

/* L'immagine riempie il contenitore mantenendo le proporzioni, tagliando l'eccesso */
.gallery .gallery-item .gallery-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}
