/* =========================================================
   Convenzioni – UI v2.1.0 (Ing. Vecchi Carlo)
   Look moderno e coerente con lo slider Elementor.
   Per cambiare il colore d'accento: modifica --conv-accent qui sotto.
   ========================================================= */

.conv-wrap,
.conv-single{
  /* >>> PALETTE: cambia questo per ricolorare tutto <<< */
  --conv-accent:#0b5fa5;        /* azzurro (Aeronautica) */
  --conv-accent-strong:#084a82;
  --conv-accent-soft:#e8f1fa;

  --conv-ink:#0f172a;
  --conv-muted:#64748b;
  --conv-line:#e6e9ef;
  --conv-soft:#f4f6fa;
  --conv-card:#ffffff;
  --conv-radius:16px;
  --conv-radius-sm:11px;
  --conv-shadow:0 6px 18px rgba(15,23,42,.06);
  --conv-shadow-lg:0 16px 40px rgba(15,23,42,.14);
}

.conv-wrap{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--conv-ink)}
.conv-wrap *,.conv-wrap *::before,.conv-wrap *::after{box-sizing:border-box}

/* ---------- Barra filtri (card) ---------- */
.conv-filters{
  display:grid;grid-template-columns:repeat(6,minmax(140px,1fr));gap:.9rem;
  background:var(--conv-card);border:1px solid var(--conv-line);border-radius:var(--conv-radius);
  padding:1.1rem 1.15rem;margin:0 0 1rem;box-shadow:var(--conv-shadow)
}
.conv-filters label{display:flex;flex-direction:column;gap:.4rem;font-size:.82rem;font-weight:600;color:var(--conv-muted)}
.conv-filters label span{letter-spacing:.02em;text-transform:uppercase;font-size:.7rem}
.conv-filters select{
  appearance:none;-webkit-appearance:none;outline:none;font-size:.95rem;font-weight:500;color:var(--conv-ink);
  padding:.62rem 2.1rem .62rem .8rem;border:1.5px solid var(--conv-line);border-radius:var(--conv-radius-sm);
  background:var(--conv-card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right .75rem center;
  transition:border-color .15s,box-shadow .15s
}
.conv-filters select:hover:not(:disabled){border-color:#cbd5e1}
.conv-filters select:focus{border-color:var(--conv-accent);box-shadow:0 0 0 3px var(--conv-accent-soft)}
.conv-filters select:disabled{background-color:var(--conv-soft);color:#94a3b8;cursor:not-allowed}
@media(max-width:900px){.conv-filters{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.conv-filters{grid-template-columns:1fr}}

/* ---------- Riga ricerca ---------- */
.conv-actions{margin:0 0 1.4rem}
.conv-actions-inner{display:flex;gap:.6rem;align-items:center;width:100%}
.conv-input{
  appearance:none;-webkit-appearance:none;outline:none;flex:1;min-width:200px;font-size:.98rem;color:var(--conv-ink);
  padding:.72rem 1rem .72rem 2.6rem;border:1.5px solid var(--conv-line);border-radius:999px;background:var(--conv-card);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:left .95rem center;transition:border-color .15s,box-shadow .15s
}
.conv-input:focus{border-color:var(--conv-accent);box-shadow:0 0 0 3px var(--conv-accent-soft)}
.conv-btn{
  appearance:none;-webkit-appearance:none;outline:none;cursor:pointer;font-size:.95rem;font-weight:600;line-height:1;
  padding:.75rem 1.35rem;border-radius:999px;border:1.5px solid transparent;white-space:nowrap;
  background:linear-gradient(135deg,var(--conv-accent),var(--conv-accent-strong));color:#fff;
  box-shadow:0 8px 20px -6px rgba(11,95,165,.55);transition:transform .12s,box-shadow .12s,filter .12s
}
.conv-btn:hover{filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 12px 26px -6px rgba(11,95,165,.6)}
.conv-btn:active{transform:translateY(0)}
.conv-btn.conv-ghost{
  background:var(--conv-card);color:var(--conv-ink);border-color:var(--conv-line);box-shadow:none
}
.conv-btn.conv-ghost:hover{border-color:#cbd5e1;background:var(--conv-soft);transform:none;filter:none}
@media(max-width:520px){.conv-actions-inner{flex-wrap:wrap}.conv-input{flex:1 1 100%}.conv-btn{flex:1}}

/* ---------- Griglia risultati ---------- */
.conv-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}

/* ---------- Card ---------- */
.conv-card{
  position:relative;display:flex;flex-direction:column;background:var(--conv-card);
  border:1px solid var(--conv-line);border-radius:var(--conv-radius);overflow:hidden;
  box-shadow:var(--conv-shadow);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
  opacity:0;animation:conv-in .35s ease forwards
}
.conv-card:hover{transform:translateY(-4px);box-shadow:var(--conv-shadow-lg);border-color:transparent}
@keyframes conv-in{to{opacity:1}}

/* Immagine / logo (classi mantenute per l'add-on Logo Anteprima) */
.conv-media{
  position:relative;width:100%;aspect-ratio:16/10;background:var(--conv-soft);
  display:flex;align-items:center;justify-content:center;overflow:hidden;padding:.5rem
}
.conv-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.conv-card:hover .conv-media img{transform:scale(1.04)}
.conv-media-empty{
  width:100%;height:100%;background:
    radial-gradient(120% 120% at 0% 0%, var(--conv-accent-soft), transparent 60%),
    linear-gradient(135deg,#eef2f7,#e2e8f0)
}
/* etichetta "Nuova" */
.conv-flag{
  position:absolute;top:.6rem;left:.6rem;z-index:2;font-size:.68rem;font-weight:700;letter-spacing:.03em;
  text-transform:uppercase;color:#fff;background:linear-gradient(135deg,var(--conv-accent),var(--conv-accent-strong));
  padding:.28rem .6rem;border-radius:999px;box-shadow:0 4px 10px rgba(11,95,165,.4)
}

.conv-body{display:flex;flex-direction:column;gap:.55rem;padding:1rem 1.05rem 1.1rem;flex:1}

/* pill categoria / area */
.conv-badges{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.1rem}
.conv-badge{
  display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:600;line-height:1;
  padding:.32rem .6rem;border-radius:999px
}
.conv-badge-cat{background:var(--conv-accent-soft);color:var(--conv-accent-strong)}
.conv-badge-cat::before{content:"🏷";font-size:.8em}
.conv-badge-area{background:var(--conv-soft);color:var(--conv-muted)}
.conv-badge-area::before{content:"📍";font-size:.8em}

.conv-title{margin:0;font-size:1.06rem;line-height:1.3;font-weight:700;color:var(--conv-ink)}
.conv-title a{color:inherit;text-decoration:none}
.conv-title a:hover{color:var(--conv-accent)}
.conv-excerpt{margin:0;color:var(--conv-muted);font-size:.9rem;line-height:1.5}

.conv-foot{margin-top:auto;padding-top:.65rem}
.conv-open{
  display:inline-flex;align-items:center;gap:.35rem;font-size:.9rem;font-weight:700;color:var(--conv-accent);
  text-decoration:none;transition:gap .15s,color .15s
}
.conv-open span{transition:transform .15s}
.conv-open:hover{color:var(--conv-accent-strong)}
.conv-open:hover span{transform:translateX(3px)}

/* ---------- Carica altre ---------- */
.conv-more{
  margin:1.6rem auto 0;display:block;cursor:pointer;font-size:.95rem;font-weight:600;color:var(--conv-ink);
  padding:.72rem 1.6rem;border:1.5px solid var(--conv-line);border-radius:999px;background:var(--conv-card);
  transition:border-color .15s,background .15s
}
.conv-more:hover{border-color:var(--conv-accent);background:var(--conv-accent-soft);color:var(--conv-accent-strong)}

/* ---------- Stati (loading / vuoto) ---------- */
.conv-state{grid-column:1/-1;text-align:center;color:var(--conv-muted);padding:2.5rem 1rem;font-size:.98rem}
.conv-skel{
  border:1px solid var(--conv-line);border-radius:var(--conv-radius);overflow:hidden;background:var(--conv-card)
}
.conv-skel .s-media{width:100%;aspect-ratio:16/10}
.conv-skel .s-line{height:12px;margin:.7rem 1rem;border-radius:6px}
.conv-skel .s-line.w60{width:60%}.conv-skel .s-line.w40{width:40%}.conv-skel .s-line.w90{width:90%}
.conv-skel .s-media,.conv-skel .s-line{
  background:linear-gradient(90deg,#eef2f7 25%,#e2e8f0 37%,#eef2f7 63%);
  background-size:400% 100%;animation:conv-shine 1.3s ease-in-out infinite
}
@keyframes conv-shine{0%{background-position:100% 0}100%{background-position:-100% 0}}

@media(max-width:420px){.conv-results{grid-template-columns:1fr}}

/* =========================================================
   SINGOLA CONVENZIONE ("all'interno")
   ========================================================= */
.conv-single{
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  color:var(--conv-ink);margin:0 0 1.5rem
}
.conv-single *{box-sizing:border-box}

.conv-single-top{
  display:flex;flex-wrap:wrap;align-items:center;gap:.75rem .9rem;
  padding-bottom:1rem;margin-bottom:1.4rem;border-bottom:1px solid var(--conv-line)
}
.conv-back{
  display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem;font-weight:600;text-decoration:none;
  color:var(--conv-ink);padding:.5rem .95rem;border:1.5px solid var(--conv-line);border-radius:999px;
  background:var(--conv-card);transition:border-color .15s,background .15s;line-height:1
}
.conv-back:hover{border-color:var(--conv-accent);background:var(--conv-accent-soft);color:var(--conv-accent-strong)}
.conv-single-badges{display:flex;flex-wrap:wrap;gap:.4rem;margin-left:auto}

/* leggibilità del contenuto */
.conv-single-content{font-size:1.02rem;line-height:1.7;color:#1f2937}
.conv-single-content > *:first-child{margin-top:0}
.conv-single-content img{border-radius:12px;height:auto;max-width:100%}
.conv-single-content a{color:var(--conv-accent);text-decoration:underline;text-underline-offset:2px}
.conv-single-content a:hover{color:var(--conv-accent-strong)}
.conv-single-content h2,.conv-single-content h3{line-height:1.3;margin-top:1.6em}
.conv-single-content ul,.conv-single-content ol{padding-left:1.25rem}
.conv-single-content ul li{list-style:none;position:relative;padding-left:1.4rem;margin:.4rem 0}
.conv-single-content ul li::before{
  content:"";position:absolute;left:0;top:.55em;width:.5rem;height:.5rem;border-radius:2px;
  background:var(--conv-accent);transform:rotate(45deg)
}
.conv-single-content blockquote{
  margin:1.2rem 0;padding:.9rem 1.15rem;border-left:4px solid var(--conv-accent);
  background:var(--conv-accent-soft);border-radius:0 12px 12px 0;color:#334155
}

/* CTA finale */
.conv-single-cta{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;
  margin-top:2rem;padding:1.3rem 1.5rem;border-radius:var(--conv-radius);
  background:linear-gradient(135deg,var(--conv-accent-soft),#fff);border:1px solid var(--conv-line)
}
.conv-single-cta p{margin:0;font-size:1.02rem;font-weight:600;color:var(--conv-ink)}
.conv-single-cta small{display:block;font-weight:400;color:var(--conv-muted);font-size:.85rem;margin-top:.15rem}
.conv-cta-btn{
  display:inline-flex;align-items:center;gap:.45rem;flex:none;font-size:.95rem;font-weight:700;text-decoration:none;color:#fff;
  padding:.72rem 1.5rem;border-radius:999px;background:linear-gradient(135deg,var(--conv-accent),var(--conv-accent-strong));
  box-shadow:0 10px 24px -8px rgba(11,95,165,.6);transition:transform .12s,filter .12s
}
.conv-cta-btn:hover{filter:brightness(1.06);transform:translateY(-1px);color:#fff}
.conv-cta-btn span{transition:transform .15s}
.conv-cta-btn:hover span{transform:translateX(3px)}
@media(max-width:520px){.conv-single-badges{margin-left:0}.conv-single-cta{flex-direction:column;align-items:flex-start}}
