/* ==========================================================================
   L'ORTO Mucinasso - stili aggiuntivi per la versione statica
   (sostituisce gli stili inline generati da Joomla, k2.css, animate.css,
    slimbox.css e il plugin cookie)
   ========================================================================== */

/* --- Font Raleway servito in locale (variable font, pesi 100-900) --- */
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../fonts/raleway/raleway-variable.woff2') format('woff2');
}

/* --- Ex stili inline del template --- */
.container { max-width: 1170px; }
body, p { font-family: 'Raleway', 'Helvetica Neue', Helvetica, Arial, sans-serif; }
h1, h2, h3, h4, h5 { font-family: 'Raleway', 'Helvetica Neue', Helvetica, Arial, sans-serif; }

#sp-clients-wrapper { padding: 75px 0 !important; }
#sp-bottom-wrapper { padding: 50px 0 !important; }
#sp-main-body-wrapper { background: transparent !important; padding: 30px 0 !important; }

img.sp_simple_gallery { background: #fff; height: 68px; width: 82px; object-fit: cover; }

/* --- Header --- */

/* menu fisso allo scroll (l'originale lo mostrava con fadeIn via jQuery) */
#sp-header-wrapper.menu-fixed { display: block; animation: spFadeIn 400ms ease; }
@keyframes spFadeIn { from { opacity: 0; } to { opacity: 1; } }

/* menu mobile (Bootstrap 2 collapse senza jQuery: l'altezza la gestiva bootstrap.js) */
.sp-mobile-menu { z-index: 9998; }
.sp-mobile-menu.collapse { height: 0; overflow: hidden; }
.sp-mobile-menu.collapse.in { height: auto !important; overflow: visible; }

/* --- Slider --- */
#sp-smart-slider.sp-organic-life-layout,
#sp-smart-slider.sp-organic-life-layout.loading:before { background: #fff; }

#sp-smart-slider.sp-organic-life-layout,
.sp-organic-life-layout .sp-slider-item { height: 700px; }

@media (max-width: 767px) {
  #sp-smart-slider.sp-organic-life-layout,
  .sp-organic-life-layout .sp-slider-item { height: 400px; }
}
@media (max-width: 480px) {
  #sp-smart-slider.sp-organic-life-layout,
  .sp-organic-life-layout .sp-slider-item { height: 300px; }
}

/* --- Animazioni di ingresso (sostituiscono wow.js + animate.css) --- */
.sp-anim { opacity: 0; transform: translateY(20px); transition: opacity 600ms ease, transform 600ms ease; }
.sp-anim.is-visible { opacity: 1; transform: none; }
.sp-anim-scale { opacity: 0; transform: scale(0.85); transition: opacity 600ms ease, transform 600ms ease; }
.sp-anim-scale.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .sp-anim, .sp-anim-scale { opacity: 1; transform: none; transition: none; }
}

/* --- Lightbox galleria (sostituisce slimbox) --- */
.lb-overlay {
  position: fixed; inset: 0; z-index: 100000;
  background: rgba(0, 0, 0, 0.85);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; visibility: hidden; transition: opacity 250ms ease, visibility 250ms;
}
.lb-overlay.is-open { opacity: 1; visibility: visible; }
.lb-overlay img {
  max-width: 92vw; max-height: 88vh;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.6);
  background: #fff;
}
.lb-overlay button {
  position: absolute; border: 0; background: transparent; color: #fff;
  font-size: 40px; line-height: 1; cursor: pointer; padding: 15px;
  opacity: 0.8; transition: opacity 200ms;
}
.lb-overlay button:hover { opacity: 1; background: transparent; }
.lb-close { top: 10px; right: 15px; }
.lb-prev { left: 10px; top: 50%; transform: translateY(-50%); }
.lb-next { right: 10px; top: 50%; transform: translateY(-50%); }
.lb-counter {
  position: absolute; bottom: 15px; left: 0; right: 0; text-align: center;
  color: #ccc; font-size: 13px; letter-spacing: 1px;
}
body.lb-active { overflow: hidden; }

/* --- Cookie banner --- */
#cookie-banner {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 10000;
  background: #fff; color: #666; text-align: center;
  padding: 10px 15px; box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.15);
  font-size: 13px;
}
#cookie-banner p { margin: 0 0 10px; }
#cookie-banner .btn { margin: 0 5px; }
#cookie-banner[hidden] { display: none; }

/* --- Pagine interne --- */
.item-page .entry-content iframe { max-width: 100%; }
.item-page .entry-content a { word-break: break-word; }
.entry-title.page-header a { color: #333; }
.about-us img { max-width: 100%; height: auto; }

/* pagina "Cestini" */
.page-cestini .entry-content { font-size: 16px; line-height: 1.7; }

/* --- SEO: stessi stili grafici con tag di titolo corretti --- */
.visually-hidden { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.sp-slider-content p.sp-title { margin: 10px 0 0; }
.sp-slider-content p.sp-posttitle { margin: 10px 0 20px; }
.subheader-title .subheader-h { margin: 10px 0; line-height: 40px; }
.about-us h1.content-heading-title { font-size: 14px; line-height: 20px; font-weight: 400; margin: 0 0 10px; letter-spacing: inherit; }
.about-us h2.content-title { font-size: 14px; line-height: 20px; margin: 0 0 19px; }
.entry-title.page-header { color: #333; }
