/* DB Depliant Orientamento — stile coordinato con le pagine Salone e Scuola Aperta */
.dbdo{
  --dbdo-blu:#0d2f6e;
  --dbdo-blu-chiaro:#c8d8f5;
  --dbdo-blu-medio:#a8c0e8;
  --dbdo-bordo:#e2e8f0;
  --dbdo-testo:#374151;
  --dbdo-grigio:#6b7280;
  --dbdo-sfondo:#f5f8fd;
  --dbdo-max:680px;
  font-family:inherit;
  max-width:var(--dbdo-max);
  margin:0 auto 2rem;
  color:var(--dbdo-testo);
  box-sizing:border-box;
}
.dbdo *,.dbdo *::before,.dbdo *::after{box-sizing:border-box}
.dbdo p{margin:0}

/* Testo solo per screen reader */
.dbdo-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Pulsanti */
.dbdo-btn{display:inline-block;background:var(--dbdo-blu);color:#fff!important;font-size:.92rem;font-weight:700;line-height:1.3;text-decoration:none!important;padding:.6rem 1.1rem;border-radius:6px;border:2px solid var(--dbdo-blu);text-align:center}
.dbdo-btn:hover{background:#163f8f;border-color:#163f8f}
.dbdo-btn--bordo{background:#fff;color:var(--dbdo-blu)!important}
.dbdo-btn--bordo:hover{background:var(--dbdo-sfondo);border-color:var(--dbdo-blu)}
.dbdo-btn--piccolo{font-size:.88rem;padding:.5rem 1.1rem}
/* Doppio anello: blu (contrasto sul bianco) + giallo (contrasto sul blu) — WCAG 1.4.11.
   !important e selettore .dbdo .x: i temi azzerano il focus con regole più specifiche
   (Twenty Twenty-One: .site a:focus:not(...)) o con !important (Bootstrap Italia / Design Scuole). */
.dbdo .dbdo-btn:focus-visible,.dbdo a.dbdo-btn:focus-visible,.dbdo a:focus-visible{outline:3px solid var(--dbdo-blu)!important;outline-offset:2px!important;box-shadow:0 0 0 5px #fff,0 0 0 8px #f2b705!important}

/* Intestazione */
.dbdo-hero{background:var(--dbdo-blu);color:#fff;padding:2.5rem 2rem 2rem;text-align:center;border-radius:12px 12px 0 0}
.dbdo-hero__tag{display:inline-block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:4px 16px;margin-bottom:1rem!important;color:var(--dbdo-blu-chiaro);border:1px solid rgba(200,216,245,.4);border-radius:20px}
.dbdo .dbdo-hero__titolo{font-family:inherit;font-size:1.9rem;font-weight:700;line-height:1.2;margin:0 0 .75rem;color:#fff}
.dbdo-hero__sotto{font-size:1.05rem;color:var(--dbdo-blu-medio);max-width:520px;margin:0 auto!important;line-height:1.7}

/* Griglia */
.dbdo-griglia{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:1rem}
.dbdo-griglia--attaccata{background:var(--dbdo-sfondo);border:1px solid var(--dbdo-bordo);border-top:none;padding:1.25rem}

/* Scheda */
.dbdo-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--dbdo-bordo);border-radius:12px;overflow:hidden;transition:box-shadow .2s}
.dbdo-card:hover{box-shadow:0 6px 18px rgba(13,47,110,.12)}
.dbdo-card__copertina{display:block;aspect-ratio:3/4;background:var(--dbdo-sfondo);overflow:hidden;border-bottom:1px solid var(--dbdo-bordo)}
.dbdo-card__img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}
.dbdo-card__corpo{display:flex;flex-direction:column;gap:.5rem;padding:1.1rem 1.1rem 1.25rem;flex:1}
.dbdo-card__tipo{align-self:flex-start;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--dbdo-blu);background:var(--dbdo-blu-chiaro);padding:3px 10px;border-radius:20px}
.dbdo .dbdo-card__titolo{font-family:inherit;font-size:1.1rem;font-weight:700;line-height:1.3;color:var(--dbdo-blu);margin:0}
.dbdo-card__desc{font-size:.95rem;line-height:1.6;color:var(--dbdo-testo)}
.dbdo-card__azioni{display:flex;flex-direction:column;gap:.5rem;margin-top:auto;padding-top:.5rem}
.dbdo-card__file{font-size:12px;color:var(--dbdo-grigio);text-align:center}

/* Invito finale */
.dbdo-cta{background:#fff;border:1px solid var(--dbdo-bordo);border-top:2px dashed var(--dbdo-blu-chiaro);border-radius:0 0 12px 12px;padding:1.75rem 2rem;text-align:center}
.dbdo-griglia:not(.dbdo-griglia--attaccata) + .dbdo-cta{margin-top:1rem;border-top:1px solid var(--dbdo-bordo);border-radius:12px}
.dbdo-cta__titolo{font-size:1.05rem;font-weight:700;color:var(--dbdo-blu);margin-bottom:.4rem!important}
.dbdo-cta__testo{font-size:1rem;line-height:1.7;margin-bottom:1rem!important}

/* Banner compatto */
.dbdo-banner{display:flex;flex-wrap:wrap;border:1px solid var(--dbdo-bordo);border-radius:12px;overflow:hidden;background:#fff}
.dbdo-banner__icona{flex:0 0 110px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:var(--dbdo-blu);color:#fff;padding:1.1rem;font-size:2rem;line-height:1}
.dbdo-banner__icona span{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--dbdo-blu-chiaro)}
.dbdo-banner__corpo{flex:1 1 300px;padding:1.1rem 1.5rem;display:flex;flex-direction:column;align-items:flex-start;gap:.4rem}
.dbdo-banner__titolo{font-size:1.05rem;font-weight:700;color:var(--dbdo-blu)}
.dbdo-banner__testo{font-size:.92rem;line-height:1.6;margin-bottom:.35rem!important}

@media (max-width:480px){
  .dbdo-hero{padding:2rem 1.25rem 1.5rem}
  .dbdo .dbdo-hero__titolo{font-size:1.5rem}
  .dbdo-griglia--attaccata{padding:1rem}
  .dbdo-cta{padding:1.5rem 1.25rem}
  .dbdo-banner__icona{flex-basis:100%;flex-direction:row;padding:.75rem;font-size:1.5rem}
}
@media (prefers-reduced-motion:reduce){.dbdo-card{transition:none}}
