/* ===========================================================
   Masseria Montanari — widget recensioni (componente standalone)
   Stile coerente con assets/styles.css. Tutto scoped sotto .mm-rev
   per non collidere con i vecchi stili .rev-* del sito.
   =========================================================== */
.mm-rev{--g:#4285F4;--b:#003580;--star:var(--gold,#c79a4e)}
.mm-rev *{box-sizing:border-box}

/* ---------- riepilogo punteggi ---------- */
.mm-rev-summary{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;margin:0 auto 40px;max-width:760px}
.mm-rev-badge{flex:1 1 300px;display:flex;align-items:center;gap:18px;background:var(--paper,#fbf6ec);border:1px solid var(--line,#e3d8c4);border-radius:4px;padding:22px 26px;transition:transform .3s,box-shadow .3s,border-color .3s}
.mm-rev-badge:hover{transform:translateY(-4px);box-shadow:0 24px 50px -32px rgba(44,38,29,.5);border-color:var(--clay,#bd6741)}
.mm-rev-badge .logo{flex:none;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;color:#fff;font-family:var(--display,serif);font-size:27px;font-weight:600}
.mm-rev-badge .logo svg{width:30px;height:30px}
.mm-rev-badge.google .logo{background:#fff;border:1px solid var(--line,#e3d8c4)}
.mm-rev-badge.booking .logo{background:var(--b)}
.mm-rev-badge .meta{display:flex;flex-direction:column;gap:3px;min-width:0}
.mm-rev-badge .plat{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft,#5f5648);font-weight:600}
.mm-rev-badge .score-row{display:flex;align-items:baseline;gap:9px}
.mm-rev-badge .score{font-family:var(--display,serif);font-size:38px;line-height:1;font-weight:600;color:var(--ink,#2c261d)}
.mm-rev-badge .score em{font-size:16px;font-style:normal;color:var(--ink-soft,#5f5648)}
.mm-rev-badge .stars{font-size:15px;letter-spacing:1px;line-height:1}
.mm-rev-badge .count{font-size:13px;color:var(--ink-soft,#5f5648)}
.mm-rev-badge .count a{color:var(--clay,#bd6741);font-weight:600;text-decoration:none}
.mm-rev-badge .count a:hover{text-decoration:underline}

/* stelle */
.mm-stars{display:inline-flex;gap:2px;color:var(--star)}
.mm-stars .s{position:relative;color:rgba(199,154,78,.28)}
.mm-stars .s.full{color:var(--star)}
.mm-stars .s.half{color:rgba(199,154,78,.28)}
.mm-stars .s.half::before{content:'★';position:absolute;left:0;top:0;width:50%;overflow:hidden;color:var(--star)}

/* ---------- carosello ---------- */
.mm-rev-carousel{position:relative}
.mm-rev-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:6px 2px 22px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.mm-rev-track::-webkit-scrollbar{display:none}
.mm-rev-card{scroll-snap-align:start;flex:0 0 clamp(280px,33%,360px);display:flex;flex-direction:column;gap:14px;background:var(--paper,#fbf6ec);border:1px solid var(--line,#e3d8c4);border-radius:4px;padding:28px 26px 24px;transition:transform .3s,box-shadow .3s,border-color .3s}
.mm-rev-card:hover{transform:translateY(-4px);box-shadow:0 26px 52px -34px rgba(44,38,29,.5);border-color:var(--clay,#bd6741)}
.mm-rev-card .top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.mm-rev-card .src{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center}
.mm-rev-card .src svg{width:18px;height:18px;display:block}
.mm-rev-card .src.google{background:#fff;border:1px solid var(--line,#e3d8c4)}
.mm-rev-card .src.booking{background:var(--b)}
.mm-rev-card .date{font-size:12px;color:var(--ink-soft,#5f5648);letter-spacing:.02em}
.mm-rev-card .score10{font-family:var(--body,sans-serif);font-size:12px;font-weight:700;color:#fff;background:var(--b);border-radius:3px;padding:2px 7px;line-height:1.3;letter-spacing:.02em}
.bg-olive .mm-rev-card .score10{background:#1a4ea0}
.mm-rev-card .q-title{font-family:var(--display,serif);font-size:21px;font-weight:600;line-height:1.2;color:var(--ink,#2c261d)}
.mm-rev-card .q-text{font-size:14.5px;line-height:1.62;color:var(--ink-soft,#5f5648);display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden;flex:1}
.mm-rev-card .q-text.open{-webkit-line-clamp:unset}
.mm-rev-card .more{align-self:flex-start;background:none;border:none;padding:0;font-family:var(--body,sans-serif);font-size:13px;font-weight:600;color:var(--clay,#bd6741);cursor:pointer}
.mm-rev-card .more:hover{text-decoration:underline}
.mm-rev-card .who{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:6px}
.mm-rev-card .ava{flex:none;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-family:var(--display,serif);font-size:17px;font-weight:600;color:#fff;letter-spacing:.02em}
.mm-rev-card .who .nm{font-size:14.5px;font-weight:600;color:var(--ink,#2c261d);line-height:1.2}
.mm-rev-card .who .lbl{font-size:11.5px;color:var(--ink-soft,#5f5648);letter-spacing:.04em}

/* frecce */
.mm-rev-nav{display:flex;justify-content:center;gap:14px;margin-top:8px}
.mm-rev-nav button{width:46px;height:46px;border-radius:50%;border:1px solid var(--line,#e3d8c4);background:var(--paper,#fbf6ec);color:var(--ink,#2c261d);cursor:pointer;display:grid;place-items:center;transition:.25s}
.mm-rev-nav button:hover{background:var(--clay,#bd6741);border-color:var(--clay,#bd6741);color:#fff;transform:translateY(-2px)}
.mm-rev-nav button:disabled{opacity:.35;cursor:default;transform:none;background:var(--paper,#fbf6ec);color:var(--ink,#2c261d);border-color:var(--line,#e3d8c4)}
.mm-rev-nav button svg{width:18px;height:18px}

/* stato vuoto / errore */
.mm-rev-empty{text-align:center;color:var(--ink-soft,#5f5648);font-size:14.5px;padding:30px 0}

/* ---------- variante su sfondo scuro (.bg-olive) ---------- */
.bg-olive .mm-rev-badge{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.16)}
.bg-olive .mm-rev-badge .score,.bg-olive .mm-rev-card .q-title,.bg-olive .mm-rev-card .who .nm{color:#fff}
.bg-olive .mm-rev-badge .plat,.bg-olive .mm-rev-badge .score em,.bg-olive .mm-rev-badge .count,.bg-olive .mm-rev-card .q-text,.bg-olive .mm-rev-card .date,.bg-olive .mm-rev-card .who .lbl{color:rgba(255,255,255,.72)}
.bg-olive .mm-rev-card{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.16)}
.bg-olive .mm-rev-nav button{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.2);color:#fff}
.bg-olive .mm-rev-badge .count a,.bg-olive .mm-rev-card .more{color:#e9c98f}

/* ---------- responsive ---------- */
@media (max-width:680px){
  .mm-rev-card{flex-basis:84%}
  .mm-rev-badge{flex-basis:100%}
}
@media (prefers-reduced-motion:reduce){
  .mm-rev-track{scroll-behavior:auto}
  .mm-rev-badge,.mm-rev-card,.mm-rev-nav button{transition:none}
}
