:root{
 --mm-bg:#f6f1e7; --mm-card:#ffffff; --mm-card-border:#e6dcc6;
 --mm-primary:#5b2a86; --mm-primary-2:#6f3aa0; --mm-gold:#c69214;
 --mm-text:#2b2536; --mm-muted:#6b6480; --mm-heading:#4a2270; --mm-link:#5b2a86; --mm-link-h:#a9760f;
 --mm-header-bg:#4a2270; --mm-header-text:#f6f1e7;
 --mm-hero-bg:linear-gradient(160deg,#5b2a86,#3c1c5e);
 --mm-input-bg:#ffffff; --mm-footer-bg:#3c1c5e; --mm-footer-text:#e9dec9; --mm-footer-link:#f0d9a8;
 --mm-heading-font:'Playfair Display',Georgia,serif; --mm-body-font:system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}

/* ============================================================
   MAGHI THEME — componenti condivisi (mobile-first)
   I colori/font derivano dalle variabili --mm-* definite sopra.
   ============================================================ */
:root{ --mm-radius:14px; --mm-shadow:0 6px 22px rgba(0,0,0,.12); }

html{ scroll-behavior:smooth; }
body{
  background: var(--mm-bg);
  color: var(--mm-text);
  font-family: var(--mm-body-font);
  font-size: 16px;
  line-height: 1.6;
}
h1,h2,h3,h4,h5,.card-title,.entry-header h1{
  font-family: var(--mm-heading-font);
  color: var(--mm-heading);
  letter-spacing:.2px;
  line-height:1.2;
}
a{ color: var(--mm-link); text-decoration:none; }
a:hover{ color: var(--mm-link-h); }
.text-body-secondary,.text-muted,small.text-muted{ color: var(--mm-muted) !important; }

/* ---------- Header / navbar ---------- */
.navbar, #wrapper-navbar .navbar{
  background: var(--mm-header-bg) !important;
  border-bottom: 1px solid var(--mm-card-border);
}
#wrapper-navbar .nav-link, #wrapper-navbar .navbar-brand,
.navbar .nav-link, .navbar .navbar-brand{ color: var(--mm-header-text) !important; font-weight:600; }
.navbar .nav-link:hover{ color: var(--mm-gold) !important; }
.navbar-toggler{ border-color: var(--mm-card-border); }

/* ---------- Hero + ricerca ---------- */
.hero-banner{
  background: var(--mm-hero-bg);
  border-radius: var(--mm-radius);
  padding: 2.4rem 1rem 2.8rem;
  margin: 1rem auto 0;
  box-shadow: var(--mm-shadow);
  position:relative; overflow:visible;
  color:#fff;
}
.hero-banner h1, .hero-banner h2{ color:#fff; }
.hero-banner::after{
  content:"\2726"; position:absolute; right:14px; top:10px;
  font-size:2.4rem; color:rgba(255,255,255,.18);
}
.banner-filter-form{ padding-left:1rem !important; padding-right:1rem !important; }
.form-wrapper{ max-width:680px; margin:0 auto; }
.elemento-bottoni-input-ricerca{
  background: var(--mm-card);
  border-radius: 999px;
  box-shadow: var(--mm-shadow);
  padding:5px;
}
.elemento-bottoni-input-ricerca .form-control, #nome-operatore{
  border:none !important; background:transparent !important; color:var(--mm-text) !important;
  font-size:1.05rem; padding:.8rem 1rem; box-shadow:none !important;
}
#nome-operatore::placeholder{ color: var(--mm-muted); }
#bottone-select{
  border:none; background:var(--mm-primary); color:#fff !important;
  border-radius:999px !important; margin:2px; font-weight:600; padding:.6rem 1rem;
}
.dropdown-results-operatori, #dropdown-results-operatori{
  background: var(--mm-card) !important;
  border:1px solid var(--mm-card-border) !important;
  border-radius: var(--mm-radius); box-shadow: var(--mm-shadow);
}
.lista-ricerca-operatori .list-group-item{ background:transparent !important; color:var(--mm-text) !important; border-color:var(--mm-card-border) !important; }

/* ---------- Card operatori ---------- */
.card{
  background: var(--mm-card) !important;
  border:1px solid var(--mm-card-border) !important;
  border-radius: var(--mm-radius) !important;
  box-shadow: var(--mm-shadow);
  overflow:hidden;
}
.card .card-title{ font-size:1.18rem; margin-bottom:.45rem; }
.card .card-text{ color: var(--mm-text); }
.screen-sito-lista-operatori, .card-img-top{ border-radius: var(--mm-radius) var(--mm-radius) 0 0; }
.list-group, .list-group-item{ background:transparent !important; border:none !important; }

/* ---------- Bottoni ---------- */
.btn-primary{
  background: var(--mm-primary) !important; border-color: var(--mm-primary) !important;
  border-radius:999px; font-weight:600; padding:.62rem 1.35rem;
}
.btn-primary:hover{ background: var(--mm-primary-2) !important; border-color: var(--mm-primary-2) !important; }
.btn-lascia-recensione{
  background: var(--mm-gold) !important; border-color: var(--mm-gold) !important; color:#1a1300 !important;
  box-shadow:0 4px 14px rgba(0,0,0,.15);
}
.btn-lascia-recensione:hover{ filter:brightness(.96); }
.btn-outline-secondary{ color:var(--mm-text); border-color:var(--mm-card-border); }

/* ---------- Voti / stelle ---------- */
.testo-giallo{ color: var(--mm-gold) !important; }
.testo-arancione{ color:#ff9900 !important; }
.testo-rosso{ color:#e23b3b !important; }
.font-w-b{ font-weight:700; }
.shadow-2{ text-shadow:0 1px 2px rgba(0,0,0,.25); }

/* ---------- Pagina recensione ---------- */
#content{ background: var(--mm-bg); }
.entry-header h1{ font-size: clamp(1.6rem,6vw,2.4rem); margin:.4rem 0; }
.entry-header .badge, .cat-links a, .category-badge a{ background: var(--mm-primary) !important; color:#fff !important; border-radius:999px; }
.entry-content{ font-size:1.03rem; line-height:1.72; color:var(--mm-text); }
.rm-mago-descrizione img{ box-shadow: var(--mm-shadow); border-radius:10px; }

/* ---------- Recensioni / commenti ---------- */
#comments, .comments-area{ margin-top:2.4rem; padding-top:1.4rem; border-top:1px solid var(--mm-card-border); }
.comment-list{ list-style:none; padding-left:0; }
.comment-list .comment-body, .comment .comment-body{
  background: var(--mm-card); border:1px solid var(--mm-card-border);
  border-radius: var(--mm-radius); padding:1rem 1.1rem; margin-bottom:1rem;
}
.comment-author .fn{ color: var(--mm-heading); font-weight:700; }
.comment-form .form-control, .comment-form .form-select, .form-control, .form-select{
  border-radius:10px; border:1px solid var(--mm-card-border);
  background: var(--mm-input-bg); color: var(--mm-text);
}
.comment-form .form-control:focus, .form-control:focus, .form-select:focus{
  border-color: var(--mm-primary); box-shadow:0 0 0 .2rem color-mix(in srgb, var(--mm-primary) 25%, transparent);
}
.comment-form label, .comment-form .form-check-label{ font-weight:600; color:var(--mm-text); }
.bottone-certifica-recensione{ background:var(--mm-primary) !important; color:#fff !important; border-radius:999px; }

/* ---------- Footer ---------- */
footer, .site-footer, #wrapper-footer, #wrapper-footer-full{
  background: var(--mm-footer-bg) !important; color: var(--mm-footer-text) !important;
}
footer a, #wrapper-footer a{ color: var(--mm-footer-link) !important; }

/* ---------- Mobile-first ---------- */
@media (max-width:576px){
  .hero-banner{ padding:1.7rem .8rem 2.1rem; }
  .banner-filter-form{ padding-left:.5rem !important; padding-right:.5rem !important; }
  .px-5{ padding-left:.9rem !important; padding-right:.9rem !important; }
  h1{ font-size:1.6rem; }
  .btn-lascia-recensione{ width:100%; }
  .card .card-body{ padding:1rem; }
  #nome-operatore{ font-size:1rem; padding:.7rem .8rem; }
}

/* ===================== RIFINITURE — Pergamena & Oro ===================== */
h1,h2,h3{ font-weight:700; }
.entry-header h1{ font-size:clamp(1.9rem,7vw,2.7rem); line-height:1.15; margin:.5rem 0 .25rem; }
.entry-content h2{ margin-top:1.7rem; padding-bottom:.3rem; }
.entry-content h2::after{ content:""; display:block; width:64px; height:3px; margin-top:.4rem; background:linear-gradient(90deg,var(--mm-gold),transparent); border-radius:3px; }
.entry-content{ font-size:1.04rem; }
p{ margin-bottom:1rem; }

/* Badge categoria: pill viola morbido */
.category-badge .badge, .entry-header .badge{
  background:color-mix(in srgb,var(--mm-primary) 12%,#fff) !important;
  color:var(--mm-primary) !important;
  border:1px solid color-mix(in srgb,var(--mm-primary) 28%,#fff);
  border-radius:999px; padding:.42em .9em; font-weight:600; letter-spacing:.3px;
}

/* Bottone "Lascia Recensione": oro in evidenza */
.btn-lascia-recensione, .footer-modale-lascia-recensione .btn-primary{
  background:linear-gradient(180deg,#d9a92a,var(--mm-gold)) !important;
  border:none !important; color:#3a2a00 !important; font-weight:700;
  box-shadow:0 6px 16px rgba(198,146,20,.35); padding:.7rem 1.5rem;
}
.btn-lascia-recensione:hover{ transform:translateY(-1px); box-shadow:0 8px 20px rgba(198,146,20,.45); filter:none; }

/* Bottone "Certifica": outline viola */
.bottone-certifica-recensione{ background:#fff !important; color:var(--mm-primary) !important; border:1.5px solid var(--mm-primary) !important; }
.bottone-certifica-recensione:hover{ background:var(--mm-primary) !important; color:#fff !important; }
.btn-primary:not(.btn-lascia-recensione){ box-shadow:0 4px 12px color-mix(in srgb,var(--mm-primary) 30%,transparent); }

/* Voti / indirizzo */
.testo-giallo{ font-size:1.05em; }
.entry-header a[target="_blank"]{ word-break:break-word; }

/* Card operatori */
.card{ transition:transform .18s ease, box-shadow .18s ease; }
.card:hover{ transform:translateY(-3px); box-shadow:0 12px 28px rgba(74,34,112,.16); }
.card .card-title{ color:var(--mm-heading); }
.card-body{ padding:1.1rem 1.2rem; }

/* Ricerca home: bordo oro sottile */
.elemento-bottoni-input-ricerca{ border:1px solid color-mix(in srgb,var(--mm-gold) 55%,#fff); }

/* Recensioni / commenti */
.comments-title{ font-family:var(--mm-heading-font); color:var(--mm-heading); }
.comment-list{ list-style:none; padding-left:0; }
.comment-list .comment-body, .comment-body{
  background:#fff; border:1px solid var(--mm-card-border); border-left:4px solid var(--mm-gold);
  border-radius:12px; padding:1rem 1.15rem; margin-bottom:1rem; box-shadow:0 3px 10px rgba(0,0,0,.05);
}
.comment-author .fn, .comment-author cite{ color:var(--mm-heading); font-style:normal; font-weight:700; }
.comment-meta, .comment-metadata a{ color:var(--mm-muted) !important; font-size:.85rem; }
.comment .avatar{ border-radius:50%; border:2px solid var(--mm-gold); }

/* Form recensione */
.comment-form .form-control, .comment-form .form-select{ padding:.6rem .8rem; }
.comment-form label{ margin-bottom:.3rem; font-weight:600; }
#rating{ font-size:1.05rem; }

/* Navbar / link contenuto / paginazione */
#wrapper-navbar .nav-link:hover{ color:var(--mm-gold) !important; }
.entry-content a{ color:var(--mm-primary); text-decoration:none; }
.entry-content a:hover{ color:var(--mm-link-h); }
.page-link{ color:var(--mm-primary); border-radius:8px; }
.page-item .page-link:hover{ background:color-mix(in srgb,var(--mm-primary) 10%,#fff); }
/* ===================== Menu mobile (offcanvas) leggibile ===================== */
#offcanvas-navbar, .navbar .offcanvas{
  background: var(--mm-header-bg) !important;
  color: var(--mm-header-text) !important;
}
#offcanvas-navbar .offcanvas-title{ color: var(--mm-header-text) !important; }
#offcanvas-navbar .nav-link, #offcanvas-navbar .dropdown-item{ color: var(--mm-header-text) !important; }
#offcanvas-navbar .nav-link:hover, #offcanvas-navbar .nav-link:focus,
#offcanvas-navbar .dropdown-item:hover, #offcanvas-navbar .dropdown-item:focus{
  color: var(--mm-gold) !important; background: transparent !important;
}
#offcanvas-navbar .dropdown-menu{ background: transparent !important; border: none; box-shadow: none; }
#offcanvas-navbar .offcanvas-header{ border-bottom: 1px solid rgba(255,255,255,.14); }
#offcanvas-navbar .btn-close{ filter: invert(1) grayscale(1) brightness(1.8); opacity:.9; }
/* ===================== Logo (SVG 400x30, molto largo): larghezza assoluta, non collassa ===================== */
#nav-main > .container{ flex-wrap:nowrap; }
.navbar-brand{ flex:0 1 auto; min-width:0; margin-right:.5rem; }
.navbar-brand img{ width:clamp(200px,64vw,300px); height:auto; max-width:none; filter:brightness(0) invert(1); }

/* Nessuna sottolineatura nei link */
a, a:hover, .entry-content a, .entry-content a:hover{ text-decoration:none !important; }

/* ===================== Mobile: foto recensione a larghezza piena ===================== */
@media (max-width:576px){
  .entry-content img.alignleft,
  .entry-content img.alignright,
  .rm-mago-descrizione img{
    float:none !important;
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    margin:0 0 1rem 0 !important;
  }
}

/* ===================== Commenti: card con bordo oro (stile originale) + testo a piena larghezza ===================== */
/* card esterna = il riquadro col bordo oro che ti piaceva */
.comment-list .comment-body, .comment-body{ background:#fff !important; border:1px solid var(--mm-card-border) !important; border-left:4px solid var(--mm-gold) !important; border-radius:12px !important; padding:1rem 1.15rem !important; box-shadow:0 3px 10px rgba(0,0,0,.06) !important; margin-bottom:1rem !important; }
/* card interna di bootscore appiattita: niente doppio riquadro/padding */
.comment-list .comment-content{ flex:1 1 auto; min-width:0; }
.comment-list .comment-content .card{ background:transparent !important; border:none !important; box-shadow:none !important; border-radius:0 !important; }
.comment-list .comment-content .card-body{ padding:0 !important; }
/* avatar piccolo per non stringere il testo */
.comment-body .flex-shrink-0{ margin-right:.85rem !important; }
.comment-body .avatar{ width:48px !important; height:48px !important; border-radius:50%; border:2px solid var(--mm-gold); }
@media (max-width:576px){ .comment-body .avatar{ width:40px !important; height:40px !important; } }

/* ===================== Pulsante menu (burger) — solo icona, senza box ===================== */
.nav-toggler{
  color:#fff !important;
  background:transparent !important;
  border:none !important;
  border-radius:0 !important;
  padding:.25rem .4rem;
  line-height:1;
  box-shadow:none !important;
}
.nav-toggler i, .nav-toggler .fa-bars{ color:inherit !important; font-size:1.55rem; }
.nav-toggler:hover, .nav-toggler:focus, .nav-toggler:active{
  color:var(--mm-gold) !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}

/* ===================== Home: claim nel riquadro + contatori live ===================== */
.hero-claim{ color:#fff; text-align:center; font-size:1.06rem; line-height:1.55; margin:0 auto 1.15rem; max-width:540px; }
.hero-claim strong{ color:var(--mm-gold); }
.hero-claim-ico{ font-size:1.2rem; }
.hero-stats{ display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin:1.3rem auto 0; max-width:620px; padding:0 1rem; }
.hero-stat{ flex:1 1 180px; min-width:150px; background:var(--mm-card); border:1px solid var(--mm-card-border); border-radius:16px; padding:1.1rem 1rem; text-align:center; box-shadow:var(--mm-shadow); }
.hero-stat-num{ display:block; font-family:var(--mm-heading-font); font-size:2rem; font-weight:700; color:var(--mm-primary); line-height:1; }
.hero-stat-lab{ display:block; margin-top:.45rem; font-size:.8rem; color:var(--mm-muted); text-transform:uppercase; letter-spacing:.5px; }
.live-dot{ width:9px; height:9px; border-radius:50%; background:#2e9e5b; display:inline-block; vertical-align:middle; margin-right:5px; box-shadow:0 0 0 0 rgba(46,158,91,.55); animation:livepulse 1.6s infinite; }
@keyframes livepulse{ 0%{box-shadow:0 0 0 0 rgba(46,158,91,.55);} 70%{box-shadow:0 0 0 9px rgba(46,158,91,0);} 100%{box-shadow:0 0 0 0 rgba(46,158,91,0);} }
@media (max-width:576px){ .hero-stat-num{ font-size:1.7rem; } .hero-claim{ font-size:1rem; } .hero-stat{ flex:1 1 140px; } }

/* ===================== Home hero: rifiniture estetiche ===================== */
/* #1 Fusione foto -> viola (sfumatura viola in basso sulla riga foto) */
.fl-node-xszrbu07caoq{ box-shadow: inset 0 -130px 90px -70px #4a2270; }

/* #6 Box viola: micro-gradiente + bordo luce oro + profondità */
.hero-banner{
  background: linear-gradient(165deg,#5e2f8f 0%,#4a2270 55%,#3c1c5e 100%) !important;
  border:1px solid rgba(230,184,0,.30) !important;
  box-shadow:0 14px 36px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.06) !important;
}
/* #5 Cielo stellato tenue nel box (al posto della stellina singola) */
.hero-banner::after{ content:none !important; }
.hero-banner::before{
  content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit; opacity:.55; z-index:0;
  background-image:
    radial-gradient(1.6px 1.6px at 16% 24%, rgba(255,255,255,.75), transparent),
    radial-gradient(1.4px 1.4px at 72% 16%, rgba(255,255,255,.55), transparent),
    radial-gradient(1.2px 1.2px at 40% 62%, rgba(255,255,255,.5), transparent),
    radial-gradient(1.8px 1.8px at 85% 70%, rgba(230,184,0,.85), transparent),
    radial-gradient(1.2px 1.2px at 56% 34%, rgba(255,255,255,.5), transparent),
    radial-gradient(1.2px 1.2px at 26% 80%, rgba(255,255,255,.45), transparent);
}
.hero-banner > *{ position:relative; z-index:1; }

/* #3 Ricerca: icona-lente a destra (look "azionabile") */
.elemento-bottoni-input-ricerca{ position:relative; }
.ricerca-ico{
  display:flex; align-items:center; justify-content:center;
  width:48px; min-width:48px; margin:4px; border-radius:999px;
  background:linear-gradient(180deg,#e8be3a,var(--mm-gold)); color:#3a2a00; font-size:1.05rem;
}
.ricerca-ico i{ color:#3a2a00; }

/* #4 Contatori: icona + filetto oro + numeri un po' più grandi + margini ai lati */
.hero-stats{ margin-top:1.6rem; }
.hero-stat{ padding:1.3rem 1rem; position:relative; }
.hero-stat::before{ content:""; position:absolute; left:50%; transform:translateX(-50%); top:0; width:42px; height:3px; background:linear-gradient(90deg,transparent,var(--mm-gold),transparent); border-radius:3px; }
.hero-stat-ico{ display:block; font-size:1.25rem; color:var(--mm-gold); margin-bottom:.4rem; }
.hero-stat-num{ font-size:2.15rem; }

/* #7 Spaziatura */
.hero-claim{ margin-bottom:1.35rem; }
.banner-filter-form{ padding-top:.4rem !important; padding-bottom:.4rem !important; }
@media (max-width:576px){ .hero-stat-num{ font-size:1.8rem; } }
/* Rimuove il padding dei contenitori riga di Beaver Builder */
.fl-row-content-wrap{ padding: 1.5rem 0 !important; }

/* Posizione bottone torna su */
.top-button{ bottom: 15px !important; }

/* ===================== Footer tema Maghi ===================== */
.mm-footer{ background:var(--mm-footer-bg); color:var(--mm-footer-text); margin-top:3rem; }
.mm-footer-main{ padding:2.6rem 1rem 2rem; }
.mm-footer-logo{ width:clamp(190px,58vw,290px); height:auto; filter:brightness(0) invert(1); margin-bottom:1rem; }
.mm-footer-tag{ font-size:.95rem; line-height:1.6; color:var(--mm-footer-text); max-width:440px; margin-bottom:.5rem; }
.mm-footer-tag strong{ color:var(--mm-gold); }
.mm-footer-stars{ color:var(--mm-gold); letter-spacing:3px; font-size:1.05rem; margin:0; }
.mm-footer-h{ font-family:var(--mm-heading-font); color:#fff; font-size:1.05rem; margin-bottom:.9rem; position:relative; padding-bottom:.45rem; }
.mm-footer-h::after{ content:""; position:absolute; left:0; bottom:0; width:34px; height:2px; background:var(--mm-gold); border-radius:2px; }
.mm-footer-list{ list-style:none; padding:0; margin:0; }
.mm-footer-list li{ margin-bottom:.55rem; }
.mm-footer-list a{ color:var(--mm-footer-link); text-decoration:none; transition:color .15s,padding-left .15s; }
.mm-footer-list a:hover{ color:var(--mm-gold); padding-left:4px; }
.mm-footer-cta p{ font-size:.95rem; line-height:1.6; margin-bottom:.6rem; }
.mm-footer-btn{ display:inline-block; padding:.66rem 1.4rem; border-radius:999px; font-weight:700; color:#3a2a00 !important; background:linear-gradient(180deg,#e8be3a,var(--mm-gold)); text-decoration:none; box-shadow:0 6px 16px rgba(0,0,0,.28); }
.mm-footer-btn:hover{ filter:brightness(.96); color:#3a2a00 !important; }
.mm-footer-bottom{ border-top:1px solid rgba(255,255,255,.14); }
.mm-footer-bottom-in{ display:flex; flex-wrap:wrap; gap:.4rem 1.4rem; justify-content:space-between; align-items:center; padding:1rem; font-size:.84rem; color:var(--mm-footer-text); }
.mm-footer-disclaimer{ opacity:.78; }
@media (max-width:575px){ .mm-footer-bottom-in{ justify-content:center; text-align:center; } .mm-footer-main{ padding:2rem 1rem 1.6rem; } }

/* Testo bianco sul bottone Lascia Recensione */
.btn-lascia-recensione, .btn-lascia-recensione:hover, .btn-lascia-recensione:focus{ color:#ffffff !important; }

/* Placeholder "Anteprima Non Disponibile" a tutta larghezza su mobile */
@media (max-width:576px){
  .rm-anteprima-non-disp{ float:none !important; width:100% !important; height:auto !important; min-height:120px !important; margin:0 0 1rem 0 !important; }
}

/* ===================== Sidebar categoria/archivio: restyling a tema ===================== */
#sidebar{ background:#ffffff !important; color:var(--mm-text) !important; }
#sidebar .offcanvas-header{ border-bottom:1px solid var(--mm-card-border); }
#sidebar .offcanvas-title{ font-family:var(--mm-heading-font); color:var(--mm-heading) !important; }
#sidebar .btn-close{ filter:none; }

/* titoli widget */
#sidebar .widget{ margin-bottom:1.6rem !important; }
#sidebar .wp-block-heading, #sidebar .widget-title{
  font-family:var(--mm-heading-font); color:var(--mm-heading) !important; font-size:1.1rem;
  position:relative; padding-bottom:.4rem; margin-bottom:.85rem;
}
#sidebar .wp-block-heading::after{ content:""; position:absolute; left:0; bottom:0; width:34px; height:2px; background:var(--mm-gold); border-radius:2px; }

/* liste pulite: NIENTE riquadri viola */
#sidebar .list-group, #sidebar ol, #sidebar ul{ background:transparent !important; border:none !important; }
#sidebar .list-group-item, #sidebar .list-group-item-action{
  background:transparent !important; color:var(--mm-text) !important;
  border:none !important; border-bottom:1px solid var(--mm-card-border) !important;
  padding:.55rem 0 !important; border-radius:0 !important;
}
#sidebar .list-group-item:hover, #sidebar .list-group-item-action:hover, #sidebar .list-group-item-action:focus, #sidebar .list-group-item.active{ background:transparent !important; color:var(--mm-primary) !important; }
#sidebar .list-group-item:last-child{ border-bottom:none !important; }
#sidebar a{ color:var(--mm-link) !important; text-decoration:none !important; }
#sidebar a:hover{ color:var(--mm-gold) !important; }
#sidebar [class*="comment-author"]{ color:var(--mm-heading) !important; font-weight:600; background:transparent !important; }
#sidebar [class*="comment-meta"], #sidebar .text-body-secondary{ color:var(--mm-muted) !important; background:transparent !important; }
#sidebar mark, #sidebar .has-background, #sidebar article, #sidebar footer{ background:transparent !important; }

/* ricerca */
#sidebar .wp-block-search__input{ border-radius:8px 0 0 8px; border:1px solid var(--mm-card-border); }
#sidebar .wp-block-search__button{ background:var(--mm-primary) !important; color:#fff !important; border-color:var(--mm-primary) !important; border-radius:0 8px 8px 0; }

/* bottone toggle "Barra laterale" a tema */
.btn-outline-primary[data-bs-target="#sidebar"]{ color:var(--mm-primary) !important; border-color:var(--mm-primary) !important; border-radius:999px; font-weight:600; }
.btn-outline-primary[data-bs-target="#sidebar"]:hover{ background:var(--mm-primary) !important; color:#fff !important; }

/* ===================== Home: sezione SEO + FAQ ===================== */
.home-seo{ max-width:880px; margin:2.5rem auto 1rem; padding:0 1rem; }
.home-seo h2{ font-family:var(--mm-heading-font); color:var(--mm-heading); margin-top:1.9rem; margin-bottom:.6rem; }
.home-seo p{ line-height:1.72; }
.home-seo a{ color:var(--mm-primary); text-decoration:underline; text-decoration-color:color-mix(in srgb,var(--mm-gold) 55%,transparent); }
.home-seo a:hover{ color:var(--mm-link-h); }
.home-faq details{ border:1px solid var(--mm-card-border); border-radius:10px; margin-bottom:.6rem; background:var(--mm-card); overflow:hidden; }
.home-faq summary{ cursor:pointer; padding:.85rem 2.4rem .85rem 1.1rem; font-weight:700; color:var(--mm-heading); list-style:none; position:relative; }
.home-faq summary::-webkit-details-marker{ display:none; }
.home-faq summary::after{ content:"+"; position:absolute; right:1.1rem; top:.8rem; color:var(--mm-gold); font-weight:700; font-size:1.2rem; }
.home-faq details[open] summary::after{ content:"\2212"; }
.home-faq .home-faq-a{ padding:0 1.1rem 1rem; line-height:1.65; color:var(--mm-text); }

/* Miniature screenshot nella lista operatori */
.screen-sito-lista-operatori{ width:100%; height:100%; max-height:120px; object-fit:cover; border-radius:10px; }
.lista-ricerca-operatori img, ul.list-group .card .row.g-0{ align-items:center; }

/* Lista operatori: miniatura banner in alto (override del layout precedente) */
ul.list-group .card .row.g-0{ align-items:stretch !important; }
.lista-thumb{ padding:0 !important; }
.screen-sito-lista-operatori{ width:100% !important; height:175px !important; max-height:none !important; object-fit:cover; object-position:top; display:block; border-radius:12px 12px 0 0 !important; }
ul.list-group .card .card-body{ padding:1rem 1.15rem; }

/* Lista operatori: immagine a sinistra, accanto a nome/recensioni/valutazione */
ul.list-group .card .row.g-0{ align-items:flex-start !important; flex-wrap:nowrap !important; }
.lista-thumb{ padding:1rem 0 1rem 1rem !important; }
.op-thumb{ width:108px; height:108px; object-fit:cover; object-position:top; border-radius:10px; display:block; }
ul.list-group .card .card-body{ min-width:0; padding:1rem 1.15rem; }
@media (max-width:420px){ .op-thumb{ width:84px; height:84px; } .lista-thumb{ padding:.8rem 0 .8rem .8rem !important; } }

/* Lista operatori: immagine float a sinistra; estratto e bottone a tutta larghezza sotto */
.op-thumb{ float:left; width:108px; height:108px; object-fit:cover; object-position:top; border-radius:10px; margin:.15rem 14px 8px 0; }
ul.list-group .card .card-body::after{ content:""; display:table; clear:both; }
ul.list-group .card .btn-lascia-recensione{ clear:both; }
@media (max-width:420px){ .op-thumb{ width:84px; height:84px; } }

/* Badge "Sito Chiuso" per i siti offline (sborda dal bordo) */
ul.list-group .card{ position:relative; overflow:visible !important; }
.badge-sito-chiuso{
  position:absolute; top:-11px; right:-9px; z-index:6;
  background:#c0392b; color:#fff !important; font-size:.72rem; font-weight:700;
  padding:.32rem .72rem; border-radius:6px; box-shadow:0 3px 9px rgba(0,0,0,.32);
  text-transform:uppercase; letter-spacing:.6px; white-space:nowrap; transform:rotate(3deg);
}

/* filetto oro dei contatori a tutta larghezza */
.hero-stat::before{ width:100% !important; }

/* Placeholder miniatura nella lista (operatori senza screenshot) */
.op-thumb-ph{ float:left; width:108px; height:108px; margin:.15rem 14px 8px 0; display:flex; align-items:center; justify-content:center; text-align:center; background:#f0e8d8; border:2px dashed #cbb88f; border-radius:10px; color:#9a8c6e; font-weight:700; font-size:.72rem; line-height:1.25; padding:.4rem; box-sizing:border-box; }
@media (max-width:420px){ .op-thumb-ph{ width:84px; height:84px; font-size:.64rem; } }

/* ===================== Sidebar DESKTOP: widget a card, niente blocco bianco ===================== */
@media (min-width:992px){
  #sidebar{ background:transparent !important; }
  #sidebar .offcanvas-body{ padding:0 !important; }
  #secondary{ position:sticky; top:96px; }
  #sidebar .widget{
    background:#fff; border:1px solid var(--mm-card-border); border-radius:14px;
    padding:1.1rem 1.2rem; box-shadow:0 5px 16px rgba(0,0,0,.06); margin-bottom:1.3rem !important;
  }
  #sidebar .widget:last-child{ margin-bottom:0 !important; }
  #sidebar .wp-block-heading, #sidebar .widget-title{ margin-top:0; }
  /* ricerca: input + bottone ben proporzionati */
  #sidebar .wp-block-search__input{ min-width:0; }
}

/* Placeholder immagine (img) quando manca lo screenshot */
.rm-ph-wrap{ position:relative; float:left; width:300px; max-width:100%; margin:0 20px 10px 0; display:inline-block; line-height:0; }
.rm-ph-img{ width:100%; height:auto; border-radius:10px; display:block; }
@media (max-width:576px){ .rm-ph-wrap{ float:none; width:100%; margin:0 0 1rem 0; } }

/* Bottone "Vai alle Recensioni" + offset scroll alle recensioni */
.btn-vai-recensioni{ background:#fff; color:var(--mm-primary) !important; border:1.5px solid var(--mm-primary); border-radius:999px; font-weight:600; padding:.6rem 1.4rem; text-decoration:none; }
.btn-vai-recensioni:hover{ background:var(--mm-primary); color:#fff !important; }
#comments{ scroll-margin-top:90px; }

/* immagini "inline" dentro il testo della descrizione: niente margine/arrotondamento e altezza max 200px.
   ESCLUSA l'immagine principale dell'operatore (alignleft/alignright/placeholder), che deve restare 300x300 con margine. */
.rm-mago-descrizione img:not(.alignleft):not(.alignright):not(.rm-ph-img){ margin:0 !important; border-radius:0px !important; max-height:200px !important; }

/* ===================== Ticker "Ultime recensioni" ===================== */
.rev-ticker{ display:flex; align-items:stretch; background:#fff; border-top:1px solid var(--mm-card-border); border-bottom:1px solid var(--mm-card-border); overflow:hidden; }
.rev-ticker-label{ background:var(--mm-primary); color:#fff; font-weight:700; font-size:.8rem; padding:.5rem .9rem; display:flex; align-items:center; gap:.4rem; white-space:nowrap; text-transform:uppercase; letter-spacing:.5px; flex:0 0 auto; }
.rev-ticker-label i{ color:var(--mm-gold); }
.rev-ticker-viewport{ overflow:hidden; flex:1 1 auto; position:relative; }
.rev-ticker-track{ display:inline-flex; align-items:center; white-space:nowrap; animation:rev-scroll 45s linear infinite; will-change:transform; }
.rev-ticker:hover .rev-ticker-track{ animation-play-state:paused; }
.rev-item{ display:inline-flex; align-items:center; gap:.45rem; padding:.5rem 1.4rem; font-size:.85rem; color:var(--mm-text) !important; text-decoration:none !important; border-right:1px solid var(--mm-card-border); }
.rev-item:hover{ color:var(--mm-primary) !important; background:rgba(0,0,0,.02); }
.rev-item .rev-stars{ color:var(--mm-gold); letter-spacing:1px; }
.rev-item strong{ color:var(--mm-heading); }
.rev-item .rev-author{ color:var(--mm-muted); font-size:.92em; }
@keyframes rev-scroll{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
@media (max-width:576px){ .rev-ticker-label{ font-size:.7rem; padding:.5rem .6rem; } .rev-item{ padding:.5rem 1rem; font-size:.8rem; } }

/* rimuove l'etichetta del ticker */
.rev-ticker-label{ display:none !important; }

/* Ricerca home: padding/margini richiesti */
.elemento-bottoni-input-ricerca{ padding:0px !important; }
.ricerca-ico{ margin:2px !important; }

/* ===== Restyle menu offcanvas (solo overlay mobile, < lg) ===== */
@media (max-width:991.98px){
  #offcanvas-navbar{ width:min(86vw,360px); background:var(--mm-hero-bg) !important; border-left:3px solid var(--mm-gold); }
  #offcanvas-navbar .offcanvas-header{ background:rgba(0,0,0,.14); color:#fff; padding:17px 20px; border-bottom:1px solid rgba(255,255,255,.12); }
  #offcanvas-navbar .offcanvas-title{ color:#fff !important; font-weight:700; letter-spacing:.4px; }
  #offcanvas-navbar .offcanvas-header .btn-close{ filter:invert(1) grayscale(1) brightness(2.2); opacity:.95; }
  #offcanvas-navbar .offcanvas-body{ padding:8px 18px 20px; }
  #offcanvas-navbar #bootscore-navbar{ margin:0 !important; gap:0; width:100%; }
  #offcanvas-navbar #bootscore-navbar > .nav-item{ border-bottom:1px solid rgba(255,255,255,.12); }
  #offcanvas-navbar #bootscore-navbar > .nav-item:last-child{ border-bottom:0; }
  #offcanvas-navbar .nav-link{ padding:14px 4px !important; font-size:1.06rem; font-weight:600; color:#fff !important; }
  #offcanvas-navbar .nav-link:hover,#offcanvas-navbar .nav-link:focus{ color:var(--mm-gold) !important; padding-left:12px !important; transition:padding .15s,color .15s; }
  #offcanvas-navbar .dropdown-menu{ border:0; padding-left:10px; background:transparent !important; box-shadow:none; }
  #offcanvas-navbar .dropdown-item{ color:rgba(255,255,255,.85) !important; padding:9px 6px; border-radius:8px; }
  #offcanvas-navbar .dropdown-item:hover{ background:rgba(255,255,255,.1); color:var(--mm-gold) !important; }
}
