/* =========================================================
   Elementor Basic Gallery → Horizontal filmstrip (desktop)
   + Vertical single-column snap (mobile, snaps at IMAGE TOP)
   ========================================================= */

/* ---------- DESKTOP / TABLET: horizontal filmstrip ---------- */
.elementor-widget-image-gallery .gallery {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 15px;                 /* spacing between items */
  align-items: flex-start;   /* captions stay under each image */
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 12px;      /* room for scrollbar */
  margin: 0 !important;

  /* snap horizontally */
  scroll-snap-type: x mandatory;
}

.elementor-widget-image-gallery .gallery .gallery-item {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  flex: 0 0 auto;

  scroll-snap-align: start;
}

/* Remove the <br clear="both"> WP gallery injects */
.elementor-widget-image-gallery .gallery br {
  display: none !important;
}

/* Images: fixed height, width auto (never squished) */
.elementor-widget-image-gallery .gallery img {
  height: 90vh;
  width: auto;
  max-width: none;
  display: block;
  border: 0 !important;
}

/* Captions: preserve line breaks */
.elementor-widget-image-gallery .gallery .gallery-caption {
  margin-top: 10px !important;
  white-space: normal !important;
  text-align: left;
  max-width: 90vw;
  display: block !important
}


dd {
    margin-inline-start: 0 !important;
    font-size: 9px !important;
    letter-spacing: 0;
}


/* ---------- MOBILE: one column vertical + snap at image top ---------- */
@media (max-width: 767px) {

  /* IMPORTANT: scroll-snap only works on the element that scrolls.
     So we make the gallery itself the vertical scroll container. */
  .elementor-widget-image-gallery .gallery {
    display: block !important;
    height: auto;               /* makes it a scroll area */
    overflow-y: auto;            /* snapping applies here */
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 0;

    /* switch snap axis to vertical */
    scroll-snap-type: y mandatory;
  }

  .elementor-widget-image-gallery .gallery .gallery-item {
    width: 100% !important;
    margin: 0 0 15px !important;
  }

  /* Snap target = the top of the image wrapper (dt.gallery-icon) */
  .elementor-widget-image-gallery .gallery .gallery-item dt.gallery-icon {
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  /* Vertical stack images */
  .elementor-widget-image-gallery .gallery img {
    width: 100%;
    height: auto;
    max-width: 100%;
    display: block;
  }

  .elementor-widget-image-gallery .gallery .gallery-caption {
    max-width: 100%;
  }

  @media (max-width: 767px) {

  /* ... your existing mobile rules ... */

  .elementor-widget-image-gallery .gallery dd {
    display: block !important;
    margin-inline-start: 0 !important;
    font-size: 9px !important;
    letter-spacing: 0;
  }

  .elementor-widget-image-gallery .gallery .gallery-caption {
    display: block !important;
    max-width: 100%;
    margin-top: 6px !important;
    white-space: normal !important;
    text-align: left;
  }
}

  /* OPTIONAL: if you have a sticky header, uncomment + adjust
  .elementor-widget-image-gallery .gallery .gallery-item dt.gallery-icon {
    scroll-margin-top: 80px;
  }
  */
}

details.e-n-accordion-item {
    outline: none;
}

* {
    outline: none !important;
}

/* Hide Elementor’s built-in SVG */
.dialog-close-button svg { 
  display: none !important; 
      outline: none !important;
}

/* Replace with your SVG as an image */
.dialog-close-button::before{
  content:"";
  width:35px;
      outline: none !important;
  height:35px;
  display:block;
  background: url("https://corinneschiavone.tempurl.host/wp-content/uploads/2026/01/close-svgrepo-com.svg") no-repeat center / contain;
}

a.elementor-sub-item {
    font-weight: 400 !important;
}

/* FORCE text selection color everywhere */
*::selection {
  background: #FFD800 !important; /* yellow */
  color: #000000 !important;      /* black text */
}

*::-moz-selection {
  background: #FFD800 !important;
  color: #000000 !important;
}

::selection {
  text-shadow: none !important;
}

span::selection {
  background: #FFD800 !important;
  color: #000 !important;
}

.frame__content {
  overflow: visible !important;
}