
@font-face {
	font-display: swap;
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 400;
	src: url(/wp-content/uploads/font-in-casa/roboto-v32-KFOmCnqEu92Fr1Mu4mxK.woff2) format('woff2');
}

@font-face {
	font-display: swap;
	font-family: 'Fraunces';
	font-style: normal;
	font-weight: 600;
	src: url(/wp-content/uploads/font-in-casa/fraunces-v31-6NUu8FyLNQOQZAnv9bYEvDiIdE9Ea92uemAk_WBq8U_9v0c2Wa0K7iN7iQcIfJD58njt0oc7qv8.woff2) format('woff2');
}

/* Font */
body {
	font-family: 'Roboto', sans-serif;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Fraunces', serif !important;
}

html, body {
	 max-width: 100%;
	 overflow-x: hidden;
}

img.attachment-woocommerce_thumbnail.size-woocommerce_thumbnail:first-child {
  display: none!important;
}

.button {
	background-color: #2B53A1;
	color: white;
}

.button:hover {
	background-color: black;
	color: white;
}

.grecaptcha-badge {
  z-index:999;
}

.post p { 
line-height: 1.5em;
padding-bottom: 30px;
} 

.single-post ul {
    margin-bottom: 30px; /* Spazio sotto l'elenco a punti */
}

.single-post ol {
    margin-bottom: 30px; /* Spazio sotto l'elenco a punti */
}

.single-post .wp-block-image {
    margin-bottom: 30px; /* Spazio sotto l'immagine */
}

.single-post .wp-block-image img {
    border-radius: 8px; /* Arrotonda gli angoli del blocco immagine */
    overflow: hidden; /* Assicura che l'immagine non esca dai bordi arrotondati */
}

.entry-content ul {
  list-style: none;
padding-left: 1em;
}

.entry-content ul li::before {
  content: "◆"; /* carattere Unicode rombo */
  color: #2F52A0; /* Colore del rombo */
  display: inline-block;
  width: 1em;
  margin-left: -1.2em;
}


/* ========= Athena SCF – comment form styling ========= */
:root{
  --ath-brand:#2B53A0;
  --ath-brand-600:#24498C;
  --ath-ink:#0a2540;
  --ath-soft:#f4f8ff;
  --ath-white:#fff;
  --radius:14px;
  --shadow:0 10px 30px rgba(0,0,0,.08);
}

/* wrapper */
.comment-respond{
  background: var(--ath-white);
  border:1px solid rgba(43,83,160,.12);
  border-radius:20px;
  box-shadow: var(--shadow);
  padding: clamp(18px, 3vw, 32px);
  margin: 32px 0 0;
}

/* titolo */
.comment-reply-title{
  margin:0 0 14px 0;
  font-weight:800;
  color:var(--ath-brand);
  line-height:1.2;
  font-size: clamp(20px, 2.4vw, 28px);
}

/* testo info sotto al titolo */
.comment-notes{
  margin:0 0 18px 0;
  color:#526077;
  font-size: 14px;
}

/* layout campi */
.comment-form{
  display:grid;
  gap:14px;
}
.comment-form p{
  margin:0; /* azzera margin tema */
}

/* label */
.comment-form label{
  display:block;
  font-size:13px;
  color:#526077;
  margin:0 0 6px;
}

/* input/textarea */
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea{
  width:100%;
  border:1px solid rgba(15,23,42,.15);
  border-radius: var(--radius);
  padding:14px 14px;
  font-size:16px;
  color:var(--ath-ink);
  background:#fff;
  transition:border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
  box-shadow: inset 0 1px 0 rgba(0,0,0,.02);
}
.comment-form textarea{ min-height: 180px; resize: vertical; }

/* focus state */
.comment-form input:focus,
.comment-form textarea:focus{
  outline:none;
  border-color: var(--ath-brand-600);
  box-shadow: 0 0 0 3px rgba(43,83,160,.20);
  background: var(--ath-soft);
}

/* checkbox */
.comment-form-cookies-consent{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:14px;
  color:#526077;
}
.comment-form-cookies-consent input{ width:auto; }

/* errori */
.form-submit .error, .comment-form .error{
  color:#b42318;
}

/* bottone */
.form-submit .submit{
  appearance:none;
  border:2px solid var(--ath-brand);
  background: var(--ath-brand);
  color:#fff;
  border-radius: 14px;
  padding: 12px 22px;
  font-weight:800;
  font-size:16px;
  cursor:pointer;
  box-shadow: 0 10px 22px rgba(43,83,160,.18);
  transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease, color .15s ease, border-color .15s ease;
}
.form-submit .submit:hover{
  background: var(--ath-brand-600);
  border-color: var(--ath-brand-600);
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(43,83,160,.22);
}
.form-submit .submit:active{
  transform: translateY(0);
  box-shadow: 0 8px 18px rgba(43,83,160,.20);
}

/* messaggio dopo invio moderazione */
.comment-awaiting-moderation{
  margin-top:8px;
  padding:10px 12px;
  border-radius:12px;
  background: #fff9e6;
  border:1px solid #ffe6a3;
  color:#7a5b00;
}

/* spaziature */
.comment-form-author,
.comment-form-email,
.comment-form-url,
.comment-form-comment{ margin-bottom:6px; }

/* === Card solo per i commenti === */

/* Top level */
.comment-body{
  background:#fff;
  border:1px solid rgba(17,24,39,.08);          /* grigio molto soft */
  border-radius:14px;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
  padding:18px 60px !important;
  margin:18px -10px;                                /* distanzia le schede tra loro */
}

/* Risposte (commenti figli) */
.comment-list .children .comment-body{
  background:#fff;
  border:1px solid rgba(17,24,39,.1);
  border-left:3px solid #2B53A0;                /* piccolo accento a sinistra */
  border-radius:12px;
  box-shadow:0 4px 14px rgba(0,0,0,.05);
  padding:16px 18px;
  margin:16px 0 16px 48px;                      /* rientro solo per le risposte */
}

/* Mobile: rientro più piccolo per le risposte */
@media (max-width: 640px){
  .comment-list .children .comment-body{
		padding: 16px 10px !important;
    margin-left:16px;
  }
	 .comment-body {
    padding: 16px 20px !important; /* meno spazio interno */
  }
}

.comment-reply-link {
  display: inline-block;
  padding: 10px 22px;
  border-radius: 12px;
  background-color: #2B53A0;         /* blu brand */
  color: #fff !important;
  font-weight: 600;
  font-size: 15px;
  text-decoration: none !important;
  border: 2px solid #2B53A0;
  box-shadow: 0 4px 14px rgba(43, 83, 160, 0.25);
  transition: all 0.18s ease;
  margin-top: 8px;
  margin-right: 10px;                /* distanzia da bordi */
}

.comment-reply-link:hover {
  background-color: transparent;
  color: #2B53A0 !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(43, 83, 160, 0.35);
}

.comment-reply-link:active {
  transform: translateY(0);
  box-shadow: 0 3px 10px rgba(43, 83, 160, 0.25);
}

.comment-reply-link:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(43, 83, 160, 0.4), 0 6px 18px rgba(43, 83, 160, 0.25);
}

/* ===== Elementor Author Box (widget) ===== */
.elementor-widget-author-box .elementor-author-box {
  background:#fff;
  border:1px solid var(--ndf-border);
  border-left:4px solid var(--ndf-light);
  border-radius:16px;
  box-shadow:0 10px 28px rgba(0,0,0,.06);
  padding:22px 24px;
}

/* Layout */
.elementor-widget-author-box .elementor-author-box__inner {
  display:grid;
  grid-template-columns:auto 1fr;
  gap:18px;
  align-items:start;
}

/* Avatar */
.elementor-widget-author-box .elementor-author-box__avatar img{
  width:84px; height:84px; border-radius:999px; object-fit:cover;
  box-shadow:0 0 0 4px #fff, 0 0 0 6px rgba(76,118,186,.25);
}

/* Nome autore */
.elementor-widget-author-box .elementor-author-box__name a,
.elementor-widget-author-box .elementor-author-box__name{
  font-weight:800;
  color:var(--ndf-dark);
  font-size:clamp(18px,2.2vw,22px);
  text-decoration:none;
}

/* Bio */
.elementor-widget-author-box .elementor-author-box__bio{
  color:var(--ndf-ink);
  line-height:1.65;
  font-size:clamp(15px,1.9vw,17px);
}
.elementor-widget-author-box .elementor-author-box__bio a{
  color:var(--ndf-light); text-decoration:underline;
}
.elementor-widget-author-box .elementor-author-box__bio a:hover{
  color:var(--ndf-dark);
}

/* ===== Responsive fix Author Box ===== */
@media (max-width: 700px){
  .elementor-widget-author-box .elementor-author-box__inner {
    grid-template-columns: 1fr;      /* Avatar sopra il testo */
    gap: 10px;
    align-items: center;
    text-align: left;                /* Mantiene l’allineamento leggibile */
  }

  .elementor-widget-author-box .elementor-author-box__avatar {
    display: flex;
    justify-content: flex-start;
		margin-right: 10px !important;
  }

  .elementor-widget-author-box .elementor-author-box__avatar img {
    width: 64px;
    height: 64px;
    border-radius: 999px;
    margin-bottom: 4px;
    box-shadow: 0 0 0 3px #fff, 0 0 0 5px rgba(76, 118, 186, .25);
  }

  .elementor-widget-author-box .elementor-author-box__name {
    font-size: 18px;
    margin-top: 2px;
  }

  .elementor-widget-author-box .elementor-author-box__bio {
    font-size: 15px;
    line-height: 1.55;
  }
}


/* ===== ATHENA | Elementor Post Navigation – versione 50/50 ===== */
.elementor-widget-post-navigation .elementor-post-navigation {
  --ath-blue-dark:#2E4A75;
  --ath-blue:#4C76BA;
  --ath-ink:#0A2540;
  --ath-white:#fff;

  display: flex;
  justify-content: space-between;
  background: var(--ath-white);
  border: 1px solid rgba(46,74,117,.18);
  border-radius: 20px;
  box-shadow: 0 10px 28px rgba(0,0,0,.06);
  overflow: hidden;
}

/* Blocchi link */
.elementor-widget-post-navigation .elementor-post-navigation__link {
  flex: 1 1 50%; /* ciascun blocco prende il 50% della larghezza */
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 28px 36px;
  text-decoration: none !important;
  transition: background .18s ease, transform .18s ease, box-shadow .18s ease;
}

/* Spazio visivo fra i due */
.elementor-widget-post-navigation .elementor-post-navigation__link_next {
  border-left: 1px solid rgba(46,74,117,.12);
  flex-direction: row-reverse;
}

/* Etichette */
.elementor-widget-post-navigation .post-navigation__prev--label,
.elementor-widget-post-navigation .post-navigation__next--label {
  display: inline-block;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .5px;
  color: var(--ath-blue-dark);
  background: rgba(76,118,186,.08);
  border: 1px solid rgba(76,118,186,.25);
  padding: 6px 12px;
  border-radius: 999px;
  margin-bottom: 6px;
}

/* Titolo */
.elementor-widget-post-navigation .post-navigation__prev--title,
.elementor-widget-post-navigation .post-navigation__next--title {
  font-weight: 700;
  color: var(--ath-ink);
  font-size: 17px;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

/* Testo container */
.elementor-widget-post-navigation .elementor-post-navigation__link > span {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  text-align: left;
  flex: 1;
}
.elementor-widget-post-navigation .elementor-post-navigation__link_next > span {
  align-items: flex-end;
  text-align: right;
}

/* Frecce */
.elementor-widget-post-navigation .post-navigation__arrow-wrapper {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 2px solid var(--ath-blue-dark);
  color: var(--ath-blue-dark);
  font-size: 18px;
  font-weight: 700;
  transition: all .18s ease;
}
.elementor-widget-post-navigation .post-navigation__arrow-wrapper_prev::before {
  content: "←";
}
.elementor-widget-post-navigation .post-navigation__arrow-wrapper_next::before {
  content: "→";
}

/* Hover */
.elementor-widget-post-navigation .elementor-post-navigation__link:hover {
  background: linear-gradient(0deg, rgba(76,118,186,.06), rgba(46,74,117,.04));
  transform: translateY(-1px);
  box-shadow: 0 12px 22px rgba(0,0,0,.08);
}
.elementor-widget-post-navigation .elementor-post-navigation__link:hover .post-navigation__arrow-wrapper {
  background: var(--ath-blue-dark);
  color: #fff !important;
  border-color: var(--ath-blue-dark);
}

/* Focus */
.elementor-widget-post-navigation .elementor-post-navigation__link:focus-visible {
  outline: none;
  box-shadow: inset 0 0 0 3px rgba(76,118,186,.4);
}

/* Forza il layout base del container */
.elementor-widget-post-navigation .elementor-post-navigation{
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch;
  gap: 0;
}

/* I due blocchi link: prev/next */
.elementor-widget-post-navigation 
  .elementor-post-navigation__prev,
.elementor-widget-post-navigation 
  .elementor-post-navigation__next,
.elementor-widget-post-navigation 
  .elementor-post-navigation__link{
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 16px;
  box-sizing: border-box;
}

/* === MOBILE: 2 colonne 50/50 anche sotto i 768px === */
@media (max-width: 768px){

  /* Il container resta flessibile */
  .elementor-widget-post-navigation .elementor-post-navigation{
    display: flex !important;
    flex-wrap: wrap !important;
  }

  /* Ogni card occupa metà riga (prendiamo TUTTE le varianti) */
  .elementor-widget-post-navigation 
    .elementor-post-navigation__prev,
  .elementor-widget-post-navigation 
    .elementor-post-navigation__next,
  .elementor-widget-post-navigation 
    .elementor-post-navigation__link{
    width: 50% !important;
    max-width: 50% !important;
    flex: 0 0 50% !important;
    padding: 16px 12px;
    min-height: 112px;      /* per avere le due card simili in altezza */
  }

  /* separatore verticale SOLO tra le due colonne, non sopra/sotto */
  .elementor-widget-post-navigation 
    .elementor-post-navigation__link_next{
    border-left: 1px solid rgba(46,74,117,.12) !important;
    border-top: 0 !important;
    /* freccia a destra, testo a sinistra (come desktop) */
    flex-direction: row-reverse;
  }

  /* blocco testo */
  .elementor-widget-post-navigation 
    .elementor-post-navigation__link > span{
    display:flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    text-align: left;
  }

  /* allineamento testo del “successivo” a destra */
  .elementor-widget-post-navigation 
    .elementor-post-navigation__link_next > span{
    align-items: flex-end;
    text-align: right;
  }

  /* frecce più piccole su mobile */
  .elementor-widget-post-navigation .post-navigation__arrow-wrapper{
    width: 36px !important;
    height: 36px !important;
    flex: 0 0 36px !important;
  }

  /* etichette/titoli un filo più compatti */
  .elementor-widget-post-navigation .post-navigation__prev--label,
  .elementor-widget-post-navigation .post-navigation__next--label{
    font-size: 12px;
    padding: 5px 10px;
    margin-bottom: 4px;
  }
  .elementor-widget-post-navigation .post-navigation__prev--title,
  .elementor-widget-post-navigation .post-navigation__next--title{
    font-size: 16px;
    line-height: 1.25;
    -webkit-line-clamp: 2;
  }
}

<!--
==================================================================
  ATHENA SCF - VESTE GRAFICA DEI POPUP - redesign 2026
  BLOCCO UNICO, VALE PER TUTTI I POPUP DEL SITO
==================================================================

A COSA SERVE
  Un solo blocco di CSS che riveste OGNI popup di Elementor: la
  finestra, la X di chiusura, i titoli, i testi, i pulsanti e -
  soprattutto - il form che sta dentro quasi tutti.
  Non tocca il contenuto dei popup: quelli restano quelli che sono,
  con i loro campi, le loro notifiche email e il loro reCAPTCHA.
  Se domani crei un popup nuovo, si vestira' da solo.

DOVE METTERLO (una volta sola, non per ogni popup)
  Elementor >--> (icona hamburger in alto a sinistra) Impostazioni sito
    > 
  Poi: Aggiorna > svuota la cache di WP Rocket.

  In alternativa, se non hai il CSS personalizzato a disposizione:
  Modelli > Theme Builder > Intestazione, aggiungi un widget "HTML"
  in fondo e incolla TUTTO questo file (tag  compresi).
  L'intestazione e' caricata su tutto il sito, quindi il risultato
  e' lo stesso.

PERCHE' FUNZIONA SU TUTTI
  Elementor costruisce ogni popup allo stesso modo:
    .elementor-popup-modal      la finestra sopra la pagina
      .dialog-widget-content    il riquadro bianco
      .dialog-close-button      la X
      .elementor-location-popup il contenuto che hai disegnato tu
  Qui si agganciano gli stili a queste classi, non all'ID del singolo
  popup: nessuna regola nomina il popup 3568 o un altro.

I !important
  Sono voluti. Elementor pubblica per ogni popup un foglio di stile
  suo (post-3568.css e simili) con selettori molto specifici: senza
  !important quelle regole vincerebbero e i campi tornerebbero
  all'aspetto di prima. E' la stessa scelta gia' fatta per il form
  della pagina Contatti.

SE UN POPUP DEVE FARE ECCEZIONE
  Ogni popup ha in pagina un contenitore col suo numero:
  #elementor-popup-modal-3568 per il popup 3568. Per cambiare una
  cosa a un popup solo, si aggiunge in fondo a questo blocco una
  regola che parte da quell'id, per esempio:
      #elementor-popup-modal-3568 .dialog-widget-content {
        border-top-color: #2B53A0 !important;
      }
  Viene dopo, e quindi vince.
-->


/* ==================================================================
   1. LA FINESTRA
   ================================================================== */

/* lo sfondo scuro dietro al popup */
.elementor-popup-modal {
  background-color: rgba(11, 23, 48, .62) !important;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}

/* il riquadro bianco: angoli, ombra, filo d'oro in cima */
/* la larghezza resta quella scelta nel singolo popup: qui non si tocca */
.elementor-popup-modal .dialog-widget-content {
  background-color: #ffffff !important;
  border: 1px solid #e3e9f3 !important;
  border-top: 3px solid #ffd98a !important;
  border-radius: 20px !important;
  box-shadow: 0 30px 60px -12px rgba(11, 23, 48, .38), 0 18px 36px -18px rgba(11, 23, 48, .3) !important;
  overflow: hidden;
}

/* il contenuto: aria intorno, e scorre se il popup e' piu' alto dello schermo */
.elementor-popup-modal .dialog-message {
  /* il contenuto non deve sbordare dal riquadro: senza questo, su schermi
     stretti, Elementor tiene la larghezza impostata nel popup e i campi
     finiscono tagliati fuori a destra */
  max-width: 100% !important;
  box-sizing: border-box;
  max-height: min(86vh, 900px);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 2.5rem !important;
}
/* sul telefono: un dito di aria ai lati, invece del popup incollato ai bordi */
@media (max-width: 640px) {
  .elementor-popup-modal .dialog-widget-content {
    max-width: calc(100vw - 2rem) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    border-radius: 14px !important;
  }
  .elementor-popup-modal .dialog-message { padding: 1.5rem !important; }
}

/* la X di chiusura: pastiglia tonda, sempre leggibile sul bianco */
.elementor-popup-modal .dialog-close-button {
  top: 1rem !important;
  right: 1rem !important;
  width: 38px;
  height: 38px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #f7f9fd;
  border: 1px solid #e3e9f3;
  color: #3a4b63 !important;
  /* la X e' un <a>: via la sottolineatura del tema */
  text-decoration: none !important;
  opacity: 1 !important;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.elementor-popup-modal .dialog-close-button:hover {
  background: #2B53A0;
  border-color: #2B53A0;
  color: #ffffff !important;
}
.elementor-popup-modal .dialog-close-button i,
.elementor-popup-modal .dialog-close-button svg {
  font-size: 16px;
  width: 16px;
  height: 16px;
  fill: currentColor;
}


/* ==================================================================
   2. TITOLI E TESTI DENTRO AL POPUP
   ================================================================== */

.elementor-location-popup {
  font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #3a4b63;
  line-height: 1.65;
}

.elementor-location-popup h1,
.elementor-location-popup h2,
.elementor-location-popup h3,
.elementor-location-popup h4,
.elementor-location-popup .elementor-heading-title {
  font-family: "Fraunces", "Roboto Slab", Georgia, serif !important;
  font-weight: 600 !important;
  color: #0a2540 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.015em;
}
.elementor-location-popup .elementor-widget-heading { margin-bottom: 1rem; }

.elementor-location-popup .elementor-widget-text-editor,
.elementor-location-popup .elementor-widget-text-editor p {
  color: #526077;
}
.elementor-location-popup a { color: #2B53A0; text-underline-offset: 2px; }
.elementor-location-popup a:hover { color: #22417f; }


/* ==================================================================
   3. IL FORM
   Stessa mano del form della pagina Contatti: sfondo tenue, bordo
   sottile, angoli a 6px, focus blu.
   ================================================================== */

/* il widget form dentro al popup non deve avere una cornice sua:
   la cornice e' gia' quella del popup */
.elementor-location-popup .elementor-widget-form {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.elementor-location-popup .elementor-form-fields-wrapper { margin: 0 -8px !important; }

.elementor-location-popup .elementor-field-group {
  box-sizing: border-box;
  padding: 0 8px !important;
  margin-bottom: 1.25rem !important;
}

/* etichette */
.elementor-location-popup .elementor-field-group > .elementor-field-label {
  font-family: "Roboto", sans-serif !important;
  font-size: .89rem !important;
  font-weight: 600 !important;
  color: #0a2540 !important;
  letter-spacing: .02em;
  margin-bottom: .5rem !important;
  line-height: 1.4;
}

/* campi di testo, email, telefono, area di testo, tendine */
.elementor-location-popup .elementor-field-textual {
  font-family: "Roboto", sans-serif !important;
  font-size: 1rem !important;
  line-height: 1.5 !important;
  color: #0a2540 !important;
  background-color: #f7f9fd !important;
  border: 1px solid #e3e9f3 !important;
  border-radius: 6px !important;
  padding: .8em 1em !important;
  width: 100%;
  height: auto !important;
  box-shadow: none !important;
  transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.elementor-location-popup .elementor-field-textual:focus {
  outline: none;
  background-color: #ffffff !important;
  border-color: #3f6bc0 !important;
  box-shadow: 0 0 0 3px rgba(63,107,192,.16) !important;
}
.elementor-location-popup .elementor-field-textual::placeholder { color: #8a97ab !important; }

.elementor-location-popup .elementor-field-type-textarea .elementor-field-textual {
  min-height: 130px;
  resize: vertical;
}

/* tendine: freccia disegnata da noi, quella di Elementor via */
.elementor-location-popup .elementor-select-wrapper select {
  appearance: none; -webkit-appearance: none;
  cursor: pointer;
  padding-right: 2.8em !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23526077' stroke-width='2.2' stroke-linecap='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 1em center !important;
  background-size: 16px !important;
}
.elementor-location-popup .elementor-select-wrapper::before { content: none !important; }
.elementor-location-popup .select-caret-down-wrapper { display: none !important; }

/* allegati */
.elementor-location-popup .elementor-upload-field {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  box-sizing: border-box !important;
  border: 1.5px dashed #e3e9f3 !important;
  border-radius: 6px !important;
  background-color: #f7f9fd !important;
  padding: 1.1rem 1.25rem !important;
  cursor: pointer;
  font-size: .89rem;
  color: #526077;
  transition: border-color .15s ease, background-color .15s ease;
}
.elementor-location-popup .elementor-upload-field:hover {
  border-color: #3f6bc0 !important;
  background-color: #f4f8ff !important;
}
.elementor-location-popup .elementor-upload-field::file-selector-button {
  font-family: "Roboto", sans-serif;
  font-size: .89rem;
  font-weight: 500;
  color: #2B53A0;
  background: #fff;
  border: 1px solid #dbe6fa;
  border-radius: 6px;
  padding: .55em 1.1em;
  margin-right: 1rem;
  cursor: pointer;
}

/* i testi di servizio dentro al form (informativa privacy e simili):
   stessa misura delle spunte, cosi' non gridano piu' dei campi */
.elementor-location-popup .elementor-field-type-html {
  font-size: .89rem;
  line-height: 1.55;
  color: #526077;
}
.elementor-location-popup .elementor-field-type-html p:last-child { margin-bottom: 0; }

/* spunte di consenso (privacy, newsletter) */
.elementor-location-popup .elementor-field-type-acceptance .elementor-field-subgroup,
.elementor-location-popup .elementor-field-type-acceptance .elementor-field-option {
  display: flex !important;
  align-items: flex-start;
  gap: .75rem;
  font-size: .89rem;
  line-height: 1.5;
  color: #3a4b63;
}
.elementor-location-popup .elementor-acceptance-field {
  appearance: none; -webkit-appearance: none;
  display: inline-block !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px;
  flex: none;
  margin: 1px 0 0 !important;
  vertical-align: top;
  border: 1.5px solid #8a97ab !important;
  border-radius: 4px !important;
  background: #fff;
  cursor: pointer;
  transition: background-color .15s ease, border-color .15s ease;
}
.elementor-location-popup .elementor-acceptance-field:checked {
  background: #2B53A0 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / 12px no-repeat !important;
  border-color: #2B53A0 !important;
}
.elementor-location-popup .elementor-field-type-acceptance a { color: #2B53A0; }

/* il pulsante di invio */
.elementor-location-popup .elementor-widget-form .elementor-button {
  width: 100%;
  justify-content: center;
  font-family: "Roboto", sans-serif !important;
  font-size: 1.11rem !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  background-color: #2B53A0 !important;
  color: #ffffff !important;
  border: 1px solid transparent !important;
  border-radius: 6px !important;
  padding: 1em 2em !important;
  transition: background-color .18s ease, transform .18s ease;
}
.elementor-location-popup .elementor-widget-form .elementor-button:hover {
  background-color: #22417f !important;
  transform: translateY(-1px);
}

/* messaggi di esito e di errore */
.elementor-location-popup .elementor-message {
  font-size: .89rem !important;
  margin-top: .5rem;
}
.elementor-location-popup .elementor-message.elementor-message-success { color: #2e7d32 !important; }
.elementor-location-popup .elementor-message.elementor-message-danger { color: #b3261e !important; }

/* i campi che Elementor mette a mezza colonna restano tali;
   tendine e allegati invece prendono tutta la riga, altrimenti
   si schiacciano */
.elementor-location-popup .elementor-field-type-select,
.elementor-location-popup .elementor-field-type-upload {
  display: block !important;
  flex: 0 0 100% !important;
  max-width: 100% !important;
  width: 100% !important;
}

/* sul telefono tutti i campi vanno a riga intera */
@media (max-width: 560px) {
  .elementor-location-popup .elementor-field-group {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}

/* il contenitore generico dei campi non deve prendersi il bordo
   pensato per i campi veri (capita con radio, spunte e html) */
.elementor-location-popup .elementor-field-group > .elementor-field:not(.elementor-field-textual):not(.elementor-upload-field):not(.elementor-acceptance-field) {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 0 !important;
}

/* reCAPTCHA: niente cornici, e centrato */
.elementor-location-popup .elementor-field-type-recaptcha_v3 .elementor-field-label { display: none !important; }


/* ==================================================================
   4. PULSANTI NON DI FORM (popup che invece del form hanno un link)
   ================================================================== */

.elementor-location-popup .elementor-widget-button .elementor-button {
  font-family: "Roboto", sans-serif !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  border-radius: 6px !important;
  padding: .95em 1.7em !important;
  background-color: #2B53A0 !important;
  color: #ffffff !important;
  transition: background-color .18s ease, transform .18s ease;
}
.elementor-location-popup .elementor-widget-button .elementor-button:hover {
  background-color: #22417f !important;
  transform: translateY(-1px);
}


/* ==================================================================
   5. ACCESSIBILITA'
   ================================================================== */

.elementor-popup-modal :focus-visible {
  outline: 2px solid #3f6bc0;
  outline-offset: 3px;
  border-radius: 2px;
}

@media (prefers-reduced-motion: reduce) {
  .elementor-popup-modal *,
  .elementor-location-popup * {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }
}






/* ==========================================================
   ATHENA SCF - negozio, carrello e cassa                2026
   Ogni regola e' agganciata a una classe di WooCommerce:
   fuori da shop, carrello e cassa non tocca niente.
   ========================================================== */
.woocommerce-page, .woocommerce-shop, .woocommerce-cart, .woocommerce-checkout {
  --ath-navy: #112140; --ath-blu: #2B53A0; --ath-oro: #c9962b;
  --ath-oro-scuro: #a8791a; --ath-inch: #0a2540; --ath-testo: #526077;
  --ath-filo: #e3e9f3; --ath-tela: #f7f9fd;
}

/* --- la griglia dei prodotti --- */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr));
  gap: 1.75rem; margin: 0; padding: 0; list-style: none;
}
.woocommerce ul.products::before, .woocommerce ul.products::after { content: none !important; }
.woocommerce ul.products li.product {
  width: auto !important; margin: 0 !important; float: none !important;
  display: flex; flex-direction: column;
  background: #fff; border: 1px solid var(--ath-filo);
  border-radius: 12px; overflow: hidden;
  box-shadow: 0 1px 2px rgba(10,37,64,.06), 0 1px 3px rgba(10,37,64,.04);
  transition: border-color .18s ease, box-shadow .18s ease;
}
.woocommerce ul.products li.product:hover {
  border-color: rgba(201,150,43,.55);
  box-shadow: 0 4px 6px -1px rgba(10,37,64,.07), 0 2px 4px -2px rgba(10,37,64,.05);
}
.woocommerce ul.products li.product a img {
  display: block; width: 100%; height: auto;
  aspect-ratio: 1 / 1; object-fit: cover;
  margin: 0; border-radius: 0; box-shadow: none;
}
/* i prodotti senza immagine avevano il segnaposto grigio di WordPress */
.woocommerce ul.products li.product img.woocommerce-placeholder {
  background: var(--ath-tela); opacity: .5;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: "Fraunces", "Roboto Slab", Georgia, serif !important;
  font-size: 1.05rem !important; line-height: 1.35;
  color: var(--ath-navy) !important;
  padding: 1rem 1.15rem .35rem; margin: 0; text-align: left;
}
.woocommerce ul.products li.product .price {
  color: var(--ath-inch) !important; font-weight: 700; font-size: 1rem;
  padding: 0 1.15rem; margin: 0 0 .9rem; text-align: left;
}
.woocommerce ul.products li.product .price del {
  color: #8a97ab !important; font-weight: 400; margin-right: .4rem;
}
.woocommerce ul.products li.product .price ins {
  color: var(--ath-oro-scuro) !important; text-decoration: none; font-weight: 700;
}
.woocommerce ul.products li.product .button {
  margin: auto 1.15rem 1.15rem; text-align: center;
}

/* --- i pulsanti --- */
.woocommerce a.button, .woocommerce button.button,
.woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt {
  background: var(--ath-navy) !important; color: #fff !important;
  border: 0 !important; border-radius: 8px !important;
  font-weight: 600 !important; letter-spacing: .01em;
  padding: .7rem 1.2rem !important; line-height: 1.3;
  text-shadow: none !important; box-shadow: none !important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce input.button:hover, .woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover { background: var(--ath-blu) !important; }
/* il pulsante che porta i soldi a casa: oro */
.woocommerce .checkout-button, .woocommerce #place_order,
.woocommerce button[name="woocommerce_checkout_place_order"] {
  background: var(--ath-oro) !important; color: var(--ath-navy) !important;
  font-weight: 700 !important;
}
.woocommerce .checkout-button:hover, .woocommerce #place_order:hover {
  background: #ffd98a !important; color: var(--ath-navy) !important;
}

/* --- i messaggi --- */
.woocommerce-info, .woocommerce-message, .woocommerce-error, .woocommerce-noreviews {
  background: var(--ath-tela) !important; color: var(--ath-inch) !important;
  border-top: 0 !important; border-left: 3px solid var(--ath-oro) !important;
  border-radius: 0 8px 8px 0; padding: 1rem 1.25rem !important;
}
.woocommerce-info::before, .woocommerce-message::before { color: var(--ath-oro-scuro) !important; }
.woocommerce-error { border-left-color: #b3261e !important; }
.woocommerce-error::before { color: #b3261e !important; }

/* --- carrello e cassa --- */
.woocommerce table.shop_table {
  border: 1px solid var(--ath-filo) !important; border-radius: 12px !important;
  border-collapse: separate !important; overflow: hidden;
}
.woocommerce table.shop_table th {
  background: var(--ath-tela); color: var(--ath-navy);
  font-weight: 700; border-top: 0 !important;
}
.woocommerce table.shop_table td { border-top: 1px solid var(--ath-filo) !important; color: var(--ath-testo); }
.woocommerce .cart_totals h2, .woocommerce-checkout h3, .woocommerce-billing-fields h3 {
  font-family: "Fraunces", "Roboto Slab", Georgia, serif !important;
  color: var(--ath-navy) !important;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection {
  border: 1px solid var(--ath-filo) !important; border-radius: 8px !important;
  padding: .65rem .8rem !important; min-height: auto;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  outline: 2px solid var(--ath-oro); outline-offset: 1px;
  border-color: var(--ath-oro) !important;
}
.woocommerce form .form-row label { color: var(--ath-inch); font-weight: 600; }
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review {
  background: #fff; border: 1px solid var(--ath-filo);
  border-radius: 12px; padding: 1.5rem;
}
.woocommerce .quantity .qty {
  border: 1px solid var(--ath-filo) !important; border-radius: 8px !important;
}

/* --- niente deve uscire di lato --- */
.woocommerce table.shop_table, .woocommerce-page table { max-width: 100%; }
.woocommerce-page .woocommerce { overflow-x: auto; }


/* ══════════════════════════════════════════════════════════════
   ECCEZIONE: indice e condividi degli articoli

   Questi due (indice 15940, condividi 15956) non sono popup con un
   form: sono due pannelli BLU a filo, pensati per continuare la barra
   da cui si aprono. La veste comune qui sopra li avvolgeva in una
   cartolina bianca con bordo oro e 24px di margine, e il risultato
   erano due grafiche impilate una dentro l'altra.

   Qui la cornice si fa da parte e lascia il pannello a tutta pagina.
   ══════════════════════════════════════════════════════════════ */
#elementor-popup-modal-15940 .dialog-widget-content,
#elementor-popup-modal-15956 .dialog-widget-content {
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
}
#elementor-popup-modal-15940 .dialog-message,
#elementor-popup-modal-15956 .dialog-message {
  padding: 0 !important;
}

/* La X di chiusura cade sul blu: chiara, o non si legge. */
#elementor-popup-modal-15940 .dialog-close-button,
#elementor-popup-modal-15956 .dialog-close-button {
  background: rgba(255, 255, 255, .18) !important;
  color: #ffffff !important;
}
#elementor-popup-modal-15940 .dialog-close-button:hover,
#elementor-popup-modal-15956 .dialog-close-button:hover {
  background: rgba(255, 255, 255, .30) !important;
}
#elementor-popup-modal-15940 .dialog-close-button svg,
#elementor-popup-modal-15956 .dialog-close-button svg {
  fill: #ffffff !important;
  stroke: #ffffff !important;
}

/* Su fondo blu il titolo va in bianco: la veste comune lo forza a
   #0a2540, che qui e' quasi invisibile. */
#elementor-popup-modal-15940 .elementor-heading-title,
#elementor-popup-modal-15956 .elementor-heading-title,
#elementor-popup-modal-15940 .elementor-toc__header-title,
#elementor-popup-modal-15956 .elementor-toc__header-title {
  color: #ffffff !important;
}
/* anche la freccia che apre e chiude l'indice */
#elementor-popup-modal-15940 .elementor-toc__toggle-button i,
#elementor-popup-modal-15940 .elementor-toc__toggle-button svg {
  color: #ffffff !important;
  fill: #ffffff !important;
}
/* La barra in fondo copre gli ultimi 65px: senza questo, l'ultima riga
   del piede resta sotto e non si riesce a leggere. */
@media (max-width: 1024px) {
  body.single-post { padding-bottom: 72px; }
}

/* Da loggati, Elementor sposta i popup a meta' documento
   (body.admin-bar .dialog-type-lightbox { position: sticky }): cosi'
   chi amministra vede una pagina diversa da quella dei lettori. */
@media (max-width: 1024px) {
  body.admin-bar .dialog-type-lightbox { position: fixed; }
}

