/* Casa Salina — sezione recensioni
   Condiviso da index.html e index-en.html. Token allineati al sito:
   accento #A8796F, hover #8E645B, Playfair Display + Open Sans. */

/* ---- RECENSIONI ---- */
.rec-rating { display: flex; align-items: center; justify-content: center; gap: 22px; max-width: 470px; margin: 0 auto 44px; padding: 24px 30px; background: #fafafa; border: 1px solid #ececec; }
.rec-rating__voto { white-space: nowrap; flex-shrink: 0; font-family: 'Playfair Display', serif; font-size: 48px; line-height: 1; color: #333; letter-spacing: -1px; }
.rec-rating__su { font-family: 'Open Sans', sans-serif; font-size: 14px; font-weight: 300; color: #bbb; }
.rec-rating__conteggio { font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: #999; font-weight: 600; margin-top: 9px; line-height: 1.7; }
.rec-cristalli { display: flex; gap: 10px; }
.rec-cristallo { width: 8px; height: 8px; transform: rotate(45deg); background: #dedede; display: block; }
.rec-cristallo--on { background: #A8796F; }

.rec-griglia { column-count: 2; column-gap: 30px; }
@media (max-width: 640px) { .rec-griglia { column-count: 1; } }

/* --- Ventaglio di carte (solo desktop) --- */
.rec-ventaglio-wrap { display: none; }
@media (min-width: 1024px) {
    .rec-ventaglio-wrap { display: block; }
    .rec-griglia-wrap { display: none; }
}
.rec-ventaglio { display: flex; justify-content: center; align-items: flex-end; padding: 46px 0 26px; }
.rec-carta { width: 182px; flex: 0 0 182px; background: #fff; border: 1px solid #e6e6e6; padding: 18px 17px 14px; text-align: left; cursor: pointer; font-family: 'Open Sans', sans-serif; box-shadow: 0 10px 26px rgba(0,0,0,0.06); transform-origin: bottom center; transform: rotate(var(--r)) translateY(var(--y)); transition: transform 0.5s cubic-bezier(0.2,0.7,0.2,1), margin 0.5s cubic-bezier(0.2,0.7,0.2,1), box-shadow 0.35s ease, border-color 0.3s ease; }
.rec-carta + .rec-carta { margin-left: -58px; }
.rec-ventaglio:hover .rec-carta + .rec-carta { margin-left: -24px; }
.rec-ventaglio:hover .rec-carta { transform: rotate(calc(var(--r) * 0.3)) translateY(calc(var(--y) * 0.35)); }
.rec-carta:hover, .rec-carta:focus-visible, .rec-carta.rec-sel {
    transform: rotate(0deg) translateY(-18px) scale(1.05) !important;
    box-shadow: 0 22px 44px rgba(0,0,0,0.13); border-color: #A8796F; outline: none; position: relative; z-index: 40 !important;
}
.rec-carta__testo { font-size: 12.5px; line-height: 1.75; font-style: italic; color: #777; margin: 12px 0 14px; display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; min-height: 110px; }
.rec-carta__nome { font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase; font-weight: 600; color: #888; }
.rec-carta__fonte { font-size: 9px; letter-spacing: 1.5px; text-transform: uppercase; color: #c0aca6; margin-top: 3px; }

.rec-suggerimento { text-align: center; font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: #c2c2c2; font-weight: 600; }
.rec-lettura { max-width: 720px; margin: 30px auto 0; padding: 36px 34px 30px; background: #fafafa; border: 1px solid #ececec; text-align: center; min-height: 210px; transition: opacity 0.28s ease, transform 0.28s ease; }
.rec-lettura.rec-fade { opacity: 0; transform: translateY(8px); }
.rec-lettura__testo { font-family: 'Playfair Display', serif; font-style: italic; font-size: 21px; line-height: 1.75; color: #444; margin: 18px 0 22px; }
.rec-lettura__nome { font-size: 11px; letter-spacing: 2.5px; text-transform: uppercase; font-weight: 600; color: #888; }
.rec-lettura__meta { font-size: 11px; color: #b5b5b5; margin-top: 5px; font-weight: 300; }
.rec-lettura .rec-cristalli { justify-content: center; }

@media (prefers-reduced-motion: reduce) {
    .rec-carta, .rec-ventaglio:hover .rec-carta, .rec-lettura { transition: none; }
    .rec-carta + .rec-carta, .rec-ventaglio:hover .rec-carta + .rec-carta { margin-left: -24px; }
}
.rec-card { break-inside: avoid; display: inline-block; width: 100%; margin: 0 0 30px; padding: 26px 28px 20px; background: #fff; border: 1px solid #ebebeb; transition: border-color 0.35s ease; }
.rec-card:hover { border-color: #ddd; }
.rec-card__testo { font-size: 15px; line-height: 1.85; color: #666; font-style: italic; margin: 16px 0 18px; }
.rec-card__meta { display: flex; justify-content: space-between; align-items: flex-end; gap: 14px; border-top: 1px solid #f1f1f1; padding-top: 14px; }
.rec-card__nome { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; font-weight: 600; color: #888; }
.rec-card__luogo { font-size: 11px; color: #bbb; margin-top: 3px; font-weight: 300; }
.rec-card__dx { text-align: right; flex-shrink: 0; }
.rec-card__fonte { font-size: 9px; letter-spacing: 2px; text-transform: uppercase; font-weight: 600; color: #A8796F; }
.rec-card__data { display: block; font-size: 9px; letter-spacing: 2px; text-transform: uppercase; color: #c8c8c8; margin-top: 4px; }

.rec-toggle { background: none; border: none; cursor: pointer; font-family: 'Open Sans', sans-serif; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; font-weight: 600; color: #A8796F; padding: 10px 4px; transition: color 0.3s; }
.rec-toggle:hover { color: #8E645B; }
.rec-form-box { max-width: 700px; margin: 0 auto; padding: 34px 30px; background: #fafafa; border: 1px solid #ececec; text-align: left; }
.rec-voto-scelta { display: flex; gap: 10px; align-items: center; }
.rec-voto-scelta button { background: none; border: none; padding: 5px 2px; cursor: pointer; line-height: 0; }
.rec-voto-scelta span { width: 13px; height: 13px; transform: rotate(45deg); background: #dedede; display: block; transition: background 0.15s; }
.rec-voto-scelta button[data-on="1"] span { background: #A8796F; }
.rec-voto-scelta button:focus-visible { outline: 2px solid #A8796F; outline-offset: 2px; }
.rec-esito { font-size: 13px; line-height: 1.6; margin-top: 14px; min-height: 20px; }
@media (prefers-reduced-motion: reduce) { .rec-card { transition: none; } }
