/* FS Orari & Sedi — stili del widget Elementor (opzioni stile tipo Button) */

.fs-orari-ew{ display: block; }

/* Allineamento: la riga orari resta flex ma segue l'allineamento scelto
   (preserva gap/baseline del badge stato). */
.fs-orari-ew .of-hours-hours{ justify-content: var(--fs-orari-ew-justify, flex-start); }

/* Dimensione */
.fs-orari-ew--size-small{ font-size: 0.875em; }
.fs-orari-ew--size-large{ font-size: 1.25em; }
.fs-orari-ew--size-xlarge{ font-size: 1.6em; }

/* Sfondo */
.fs-orari-ew--bg{
  background-color: var(--fs-orari-ew-bg, #f4f4f5);
  padding: 14px 18px;
  border-radius: 10px;
}

/* Bordo */
.fs-orari-ew--bordered{
  border: 1px solid var(--fs-orari-ew-border, rgba(0,0,0,.15));
  padding: 14px 18px;
  border-radius: 10px;
}

/* Sottolineato — replica lo stile del widget Button del tema Saren (pebutton):
   linea disegnata con ::after (non text-decoration), colore var(--mainColor),
   spessore 0.05em a bottom 0.06em, con animazione "toggleLine" all'hover. */
.fs-orari-ew--underlined a,
.fs-orari-ew--underlined .of-store-address,
.fs-orari-ew--underlined .of-hours-hours b{
  position: relative;
  display: inline-block;
  text-decoration: none;
}
.fs-orari-ew--underlined a:not(.of-address-link)::after,
.fs-orari-ew--underlined .of-store-address::after,
.fs-orari-ew--underlined .of-hours-hours b::after{
  content: '';
  display: block;
  position: absolute;
  left: 0;
  bottom: 0.06em;
  width: 100%;
  height: 0.05em;
  background: var(--mainColor, currentColor);
}
/* L'indirizzo con link Maps: la linea è sulla wrapper .of-store-address, non sul link interno */
.fs-orari-ew--underlined .of-address-link{ text-decoration: none; }
.fs-orari-ew--underlined a:not(.of-address-link):hover::after,
.fs-orari-ew--underlined .of-store-address:hover::after,
.fs-orari-ew--underlined .of-hours-hours b:hover::after{
  animation: fs-orari-ew-toggleLine .75s cubic-bezier(.19, 1, .22, 1);
}
@keyframes fs-orari-ew-toggleLine{
  0%   { clip-path: inset(0% 0% 0% 0%); }
  50%  { clip-path: inset(0% 0% 0% 100%); }
  51%  { clip-path: inset(0% 100% 0% 0%); }
  100% { clip-path: inset(0% 0% 0% 0%); }
}

/* Icona */
.fs-orari-ew__icon{
  display: inline-flex;
  align-items: center;
  margin-right: 8px;
  vertical-align: middle;
}
.fs-orari-ew__icon svg{ width: 1em; height: 1em; fill: currentColor; }

/* Marquee (testo scorrevole) */
.fs-orari-ew--marquee{ overflow: hidden; white-space: nowrap; }
.fs-orari-ew--marquee .fs-orari-ew__inner{
  display: inline-block;
  padding-left: 100%;
  animation: fs-orari-ew-marquee var(--fs-orari-ew-marquee-speed, 14s) linear infinite;
}
.fs-orari-ew--marquee:hover .fs-orari-ew__inner{ animation-play-state: paused; }
@keyframes fs-orari-ew-marquee{
  from{ transform: translateX(0); }
  to{ transform: translateX(-100%); }
}
@media (prefers-reduced-motion: reduce){
  .fs-orari-ew--marquee .fs-orari-ew__inner{ animation: none; padding-left: 0; }
}
