
:root{
  --azp-bg:#f8fafc;
  --azp-text:#0f172a;
  --azp-muted:#475569;
  --azp-card:#ffffff;
  --azp-border:#e5e7eb;
  --azp-acc:#2563eb;
  --azp-shadow: 0 10px 24px rgba(15,23,42,.06);
}

/* HERO */
.azp-hero{ background: var(--azp-bg); color: var(--azp-text); }
.azp-hero .container{ width:min(1100px,92%); margin:0 auto; }
.azp-hero-media{ position: relative; aspect-ratio: 16/7; width: 100%; background:#e2e8f0; border-radius: 18px; overflow: hidden; box-shadow: var(--azp-shadow); }
.azp-hero-media img{ width:100%; height:100%; object-fit:cover; display:block; }
.azp-hero-overlay{ position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,.15), rgba(0,0,0,.55) 75%); }
.azp-hero-head{ position:absolute; left:20px; right:20px; bottom:16px; display:flex; flex-direction:column; gap:12px; color:#fff; }

/* Company & badges (più contrasto) */
.azp-company{ display:flex; align-items:center; gap:10px; background: rgba(17,24,39,.5); border:1px solid rgba(255,255,255,.35); border-radius: 999px; padding: 6px 10px 6px 6px; width:max-content; backdrop-filter: blur(2px) saturate(120%); }
.azp-company .avatar{ width:30px; height:30px; border-radius:50%; overflow:hidden; background:#fff; display:flex; align-items:center; justify-content:center; color:#0f172a; }
.azp-company .avatar img{ width:100%; height:100%; object-fit:cover; display:block; }
.azp-company a{ color:#fff; font-weight:800; text-decoration:none; }
.azp-company a:hover{ text-decoration:underline; }

.azp-badges{ display:flex; flex-wrap:wrap; gap:10px; }
.azp-badge{ display:inline-flex; align-items:center; gap:8px; padding:7px 12px; border-radius:999px; font-weight:800; background: rgba(17,24,39,.5); border:1px solid rgba(255,255,255,.35); color:#fff; font-size:13px; }
.azp-badge.attiva{ background: rgba(16,185,129,.28); border-color: rgba(110,231,183,.55); }
.azp-badge.programmata{ background: rgba(59,130,246,.28); border-color: rgba(147,197,253,.55); }
.azp-badge.scaduta{ background: rgba(239,68,68,.32); border-color: rgba(252,165,165,.6); }

.azp-title{ margin:0; font-size:clamp(26px,4vw,40px); line-height:1.1; color:#fff; text-shadow: 0 2px 20px rgba(0,0,0,.4); }
.azp-exc{ color:#e5e7eb; text-shadow: 0 1px 14px rgba(0,0,0,.35); }

/* BODY */
.azp-body{ margin:24px 0 40px; display:grid; grid-template-columns: 1.25fr .75fr; gap:24px; }
@media (max-width: 980px){ .azp-body{ grid-template-columns:1fr; } }

.azp-card{ background: var(--azp-card); border:1px solid var(--azp-border); border-radius:16px; box-shadow: var(--azp-shadow); }
.azp-section{ padding:22px; }

/* Descrizione */
.azp-details h3{ margin:0 0 10px; font-size:18px; }
.azp-desc{ color: var(--azp-text); line-height:1.75; }

/* Meta block leggibile (parte 2) */
.azp-offer .meta-row{ display:flex; gap:10px; align-items:flex-start; color:var(--azp-muted); margin-bottom:8px; }
.azp-offer .meta-row i{ margin-top:2px; }
.azp-offer .meta-row .label{ font-weight:800; color:var(--azp-text); margin-right:6px; }
.azp-offer .meta-row .value{ color:var(--azp-muted); }

.azp-offer .prices{ display:flex; align-items:baseline; gap:14px; margin-top:10px; }
.azp-old{ color:#94a3b8; text-decoration:line-through; }
.azp-new{ color:#0f172a; font-weight:900; font-size:clamp(22px,3.2vw,34px); }

.azp-pill{ display:inline-flex; align-items:center; gap:8px; padding:6px 10px; border-radius:999px; font-weight:800; background:#eff6ff; color:#1d4ed8; border:1px solid #bfdbfe; }
.azp-pill.fixed{ background:#ecfeff; color:#0e7490; border-color:#a5f3fc; }

.azp-cta-area{ margin-top:16px; display:grid; gap:12px; }
.azp-cta{ display:inline-flex; justify-content:center; align-items:center; gap:10px; padding:12px 16px; border-radius:12px; font-weight:900; text-decoration:none; color:#fff; background: linear-gradient(135deg, #3b82f6, #2563eb); box-shadow: 0 10px 24px rgba(37,99,235,.25); }
.azp-cta:hover{ transform: translateY(-1px); box-shadow:0 14px 30px rgba(37,99,235,.35); }

.azp-coupon{ display:flex; gap:10px; align-items:center; }
.azp-coupon input{ flex:1; min-width:160px; background:#f8fafc; border:1px solid var(--azp-border); color:#0f172a; padding:10px 12px; border-radius:10px; }
.azp-copy{ padding:10px 14px; border-radius:10px; border:1px solid var(--azp-border); background:#fff; cursor:pointer; }

/* Hint */
.azp-hint{ font-size:12px; color:#64748b; }
