/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */


/* ============================================================
   HOTEL ZILEMA — CSS di supporto ai template Elementor
   DOVE INCOLLARLO: il CSS personalizzato di Elementor e' una funzione Pro
   (bloccata senza licenza). Usare invece:
   Aspetto → Personalizza → CSS aggiuntivo
   oppure style.css del child theme Hello Elementor.
   I template importati si appoggiano a queste classi.
   ============================================================ */

:root{
  --zl-blu:#123B63;
  --zl-blu-scuro:#0D2B48;
  --zl-rosa:#D96C8A;
  --zl-crema:#FAF8F5;
  --zl-mare:#2E8FA3;
  --zl-bordo:#E7E0D8;
  --zl-grigio:#5D6B7A;
  --sez:92px;            /* modifica 1: spazio verticale fra le sezioni */
}

/* ---------- spaziatura sezioni ---------- */
.sez{ padding-top:var(--sez); padding-bottom:var(--sez); }
.sez--no-top{ padding-top:0; }

@media (max-width:1024px){ :root{ --sez:72px; } }
@media (max-width:767px){  :root{ --sez:60px; } }

/* ---------- immagini in cover ---------- */
.foto-cover img{
  width:100%; height:100%; object-fit:cover;
  aspect-ratio:4/3.4; border-radius:3px; display:block;
}
.foto-giardino img{ aspect-ratio:4/3.1; }
.foto-verticale img{ aspect-ratio:4/3.6; }

/* ---------- box prenotazione (widget HTML nell'hero) ---------- */
.zl-booking{
  background:#fff; border-radius:6px; padding:26px;
  box-shadow:0 18px 44px rgba(9,32,54,.24); color:#1E2B38;
}
.zl-booking h2{
  font-family:'Lora',Georgia,serif; font-weight:500; font-size:1.32rem;
  color:var(--zl-blu); margin:0 0 18px; line-height:1.2;
}
.zl-booking label{
  display:block; font-size:.76rem; font-weight:600;
  color:var(--zl-grigio); margin-bottom:6px;
}
.zl-booking input,
.zl-booking select{
  width:100%; font:inherit; font-size:.92rem;
  border:1px solid var(--zl-bordo); border-radius:4px;
  padding:10px 12px; margin-bottom:14px; background:#fff; color:#1E2B38;
}
.zl-booking input:focus,
.zl-booking select:focus{ outline:none; border-color:var(--zl-blu); }
.zl-booking__riga{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.zl-booking button{
  width:100%; background:var(--zl-blu); color:#fff; border:0; border-radius:4px;
  padding:15px 20px; font-family:inherit; font-weight:600; font-size:.86rem;
  letter-spacing:.09em; text-transform:uppercase; cursor:pointer;
  transition:background .2s ease;
}
.zl-booking button:hover{ background:var(--zl-blu-scuro); }
.zl-booking__nota{
  font-size:.72rem; color:var(--zl-grigio); margin:12px 0 0; text-align:center;
}

/* ---------- header sticky (gli effetti di movimento sono Pro) ---------- */
.zl-header{
  position:sticky; top:0; z-index:100; background:#fff;
}
.admin-bar .zl-header{ top:32px; }
@media (max-width:782px){ .admin-bar .zl-header{ top:46px; } }

/* ---------- menu di navigazione ---------- */
.zl-menu ul,
.zl-menu-fallback ul{
  display:flex; gap:20px; list-style:none; margin:0; padding:0;
  flex-wrap:nowrap;
}
.zl-menu li,
.zl-menu-fallback li{ margin:0; }
.zl-menu a,
.zl-menu-fallback a{
  display:inline-block; text-decoration:none; font-size:14px;
  white-space:nowrap;
  color:#1E2B38; padding-bottom:4px; border-bottom:2px solid transparent;
  transition:color .2s ease, border-color .2s ease;
}
.zl-menu a:hover,
.zl-menu-fallback a:hover,
.zl-menu .current-menu-item > a{
  color:var(--zl-blu); border-bottom-color:var(--zl-rosa);
}
@media (max-width:767px){
  .zl-menu ul,
.zl-menu-fallback ul{ flex-direction:column; gap:0; }
  .zl-menu a,
.zl-menu-fallback a{ display:block; padding:12px 0; border-bottom:1px solid var(--zl-bordo); }
}

/* ---------- titolo pagina del tema ----------
   Ripiego: la soluzione corretta e' disattivarlo da
   Hello Elementor -> Impostazioni -> Titolo pagina.
   Lasciato qui perche' un secondo H1 penalizza la SEO. */
.page-header .entry-title{ display:none; }

/* ---------- elenchi icone: niente sottolineature da link ---------- */
.elementor-icon-list-item > a{ text-decoration:none; }

/* ---------- footer ---------- */
.logo-footer img{ filter:brightness(0) invert(1); opacity:.95; }

/* ---------- striscia punti di forza: 5ª voce su tablet ---------- */
@media (max-width:1024px){
  .elementor-widget-icon-box{ margin-bottom:0; }
}

/* ---------- accessibilità ---------- */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible{ outline:3px solid var(--zl-mare); outline-offset:3px; }

@media (prefers-reduced-motion:reduce){
  *{ animation:none !important; transition:none !important; }
}