.adpr, .adpr-stelle { --adpr-oro: #e8a317; --adpr-spenta: #d6d3cc; --adpr-linea: rgba(0, 0, 0, .1); --adpr-tenue: rgba(0, 0, 0, .6); }
.adpr *, .adpr *::before, .adpr *::after { box-sizing: border-box; }

.adpr-stelle { display: inline-flex; gap: 2px; font-size: 1.1rem; line-height: 1; }
.adpr-stella--piena { color: var(--adpr-oro); }
.adpr-stella--vuota { color: var(--adpr-spenta); }
.adpr-stella--mezza { background: linear-gradient(90deg, var(--adpr-oro) 50%, var(--adpr-spenta) 50%); -webkit-background-clip: text; background-clip: text; color: transparent; }

.adpr-riepilogo { display: grid; gap: 1.5rem; grid-template-columns: 1fr; padding: 1.5rem 0 2rem; border-bottom: 1px solid var(--adpr-linea); margin-bottom: 1.5rem; }
@media (min-width: 720px) { .adpr-riepilogo { grid-template-columns: 220px 1fr; align-items: center; } .adpr-riepilogo--solo-barre { grid-template-columns: 1fr; } }
.adpr-media { display: flex; flex-direction: column; gap: .4rem; }
.adpr-media-numero { font-size: 3rem; font-weight: 700; line-height: 1; }
.adpr-media .adpr-stelle { font-size: 1.5rem; }
.adpr-totale { color: var(--adpr-tenue); }
.adpr-barre { list-style: none; margin: 0; padding: 0; display: grid; gap: .45rem; }
.adpr-barra-riga { display: grid; grid-template-columns: 3rem 1fr 3rem; gap: .75rem; align-items: center; font-size: .95rem; }
.adpr-barra { height: .55rem; border-radius: 99px; background: var(--adpr-spenta); overflow: hidden; }
.adpr-barra > span { display: block; height: 100%; background: var(--adpr-oro); }
.adpr-barra-cento { text-align: right; color: var(--adpr-tenue); }

.adpr-filtro { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.5rem; }
.adpr-filtro-voce { padding: .35rem .9rem; border: 1px solid var(--adpr-linea); border-radius: 99px; text-decoration: none; color: inherit; font-size: .95rem; }
.adpr-filtro-voce[aria-current] { background: #222; color: #fff; border-color: #222; }

.adpr-elenco { display: grid; gap: 1rem; }
.adpr-recensione { padding: 1.25rem; border: 1px solid var(--adpr-linea); border-radius: 12px; background: rgba(255, 255, 255, .6); display: grid; gap: .6rem; }
.adpr-autore { display: flex; gap: .75rem; align-items: center; }
.adpr-iniziale { flex: 0 0 2.5rem; width: 2.5rem; height: 2.5rem; border-radius: 50%; color: #fff; display: grid; place-items: center; font-weight: 700; font-size: 1.1rem; }
.adpr-chi { display: flex; flex-direction: column; min-width: 0; }
.adpr-nome { font-weight: 700; }
.adpr-dove { color: var(--adpr-tenue); font-size: .9rem; }
.adpr-testo { line-height: 1.55; overflow-wrap: anywhere; }
.adpr-pagine { margin-top: 1.5rem; display: flex; flex-wrap: wrap; gap: .5rem; }
.adpr-pagine .page-numbers { padding: .3rem .7rem; border-radius: 8px; text-decoration: none; }
.adpr-pagine .current { background: #222; color: #fff; }
.adpr-vuoto { color: var(--adpr-tenue); }
.adpr-vuoto-riquadro { text-align: center; padding: 2.5rem 1.25rem; border: 1px dashed var(--adpr-linea); border-radius: 16px; display: grid; gap: .75rem; justify-items: center; }
.adpr-vuoto-riquadro .adpr-vuoto { margin: 0; max-width: 32rem; font-size: 1.05rem; }
.adpr-vuoto-stelle { color: var(--adpr-oro); font-size: 1.6rem; letter-spacing: .2rem; opacity: .55; }

.adpr-landing .adpr-testata .adpr-occhiello { margin: 0 0 .5rem; font-size: .8rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; opacity: .75; }
.adpr-landing .adpr-testata .adpr-sottotitolo { max-width: 44rem; margin: .75rem 0 0; font-size: 1.1rem; line-height: 1.55; opacity: .85; }
.adpr-landing .adpr-testata-media { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin: 1.25rem 0 0; padding: .55rem 1rem; border-radius: 99px; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .18); }
.adpr-landing .adpr-testata-media .adpr-media-numero { font-size: 1.4rem; font-weight: 700; line-height: 1; }
.adpr-landing .adpr-testata-media .adpr-totale { color: inherit; opacity: .8; }
.adpr-landing .adpr-testata .adpr-stelle { --adpr-spenta: rgba(255, 255, 255, .3); font-size: 1.15rem; }

.adpr-contenuto { margin-bottom: 2rem; }
.adpr-passi { list-style: none; margin: 0 0 2.5rem; padding: 0; display: grid; gap: 1rem; grid-template-columns: 1fr; }
@media (min-width: 720px) { .adpr-passi { grid-template-columns: repeat(3, 1fr); } }
.adpr-passo { padding: 1.25rem; border-radius: 14px; background: rgba(0, 0, 0, .03); display: grid; gap: .35rem; align-content: start; }
.adpr-passo-numero { width: 2rem; height: 2rem; border-radius: 50%; display: grid; place-items: center; font-weight: 700; background: var(--adpr-oro); color: #fff; margin-bottom: .35rem; }
.adpr-landing .adpr-passo-titolo { margin: 0; font-size: 1.1rem; line-height: 1.3; }
.adpr-passo-testo { margin: 0; color: var(--adpr-tenue); line-height: 1.5; }

.adpr-chiusura { border-top: 1px solid var(--adpr-linea); }
.adpr-chiusura-inner { text-align: center; display: grid; gap: 1rem; justify-items: center; }
.adpr-landing .adpr-chiusura-titolo { margin: 0; }
.adpr-chiusura-testo { margin: 0; max-width: 36rem; color: var(--adpr-tenue); font-size: 1.05rem; }

.adpr-titoletto { margin: 1.5rem 0 1rem; }
.adpr-modulo { padding: 1.25rem; border: 1px solid var(--adpr-linea); border-radius: 12px; margin-bottom: 1rem; display: grid; gap: .6rem; }
.adpr-modulo .adpr-evento { margin: 0; }
.adpr-modulo .adpr-dove { margin: 0; }
.adpr-scegli { border: 0; padding: 0; margin: 0; }
.adpr-etichetta { font-weight: 600; padding: 0; }
.adpr-scegli-stelle { display: inline-flex; flex-direction: row-reverse; justify-content: flex-end; gap: .15rem; }
.adpr-scegli-stelle input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.adpr-scegli-stelle label { font-size: 2.2rem; line-height: 1; cursor: pointer; color: var(--adpr-spenta); padding: .1rem; }
.adpr-scegli-stelle input:checked ~ label,
.adpr-scegli-stelle label:hover,
.adpr-scegli-stelle label:hover ~ label { color: var(--adpr-oro); }
.adpr-scegli-stelle input:focus-visible + label { outline: 2px solid currentColor; outline-offset: 2px; border-radius: 4px; }
.adpr-campo { width: 100%; min-height: 6rem; font: inherit; padding: .7rem; border: 1px solid var(--adpr-linea); border-radius: 8px; }
.adpr-invia { justify-self: start; }
.adpr-mia > .adpr-evento { margin: 0 0 .35rem; font-weight: 600; }
.adpr-tutte { margin-top: 1.5rem; }
