/* ================================================================
   Riso del Mondo — Child theme CSS per Blocksy
   ================================================================ */

/* ── Variabili RDM ────────────────────────────────────────────── */
:root {
  --rdm-bg:       #f7f1e8;
  --rdm-paper:    #ffffff;
  --rdm-ink:      #1f1d1a;
  --rdm-ink-soft: rgba(31,29,26,.72);
  --rdm-accent:   #8f2d2d;
  --rdm-accent-dk:#7c2323;
  --rdm-gold:     #d6a65d;
  --rdm-border:   #e4d8c4;
  --rdm-radius:   20px;
  --rdm-shadow:   0 2px 8px rgba(0,0,0,.07), 0 12px 32px rgba(0,0,0,.05);
  --rdm-gutter:   clamp(18px, 3vw, 40px);

  /* Blocksy palette override */
  --paletteColor1: #8f2d2d;
  --paletteColor2: #7c2323;
  --paletteColor3: #d6a65d;
  --paletteColor4: #1f1d1a;
  --paletteColor5: #e4d8c4;
  --paletteColor6: #f7f1e8;
  --paletteColor7: #ffffff;
}

/* ── Body e base ─────────────────────────────────────────────── */
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}
a { color: var(--rdm-accent); }
a:hover { color: var(--rdm-accent-dk); }
img { max-width: 100%; height: auto; display: block; }

/* ── Container ───────────────────────────────────────────────── */
.rdm-container {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding-inline: var(--rdm-gutter);
}

/* ── Hero ────────────────────────────────────────────────────── */
.rdm-hero {
  position: relative;
  width: 100%;
  padding: clamp(4.25rem, 10vw, 8rem) 0 clamp(3.2rem, 6vw, 5rem);
  min-height: min(78vh, 860px);
  display: flex;
  align-items: flex-end;
  color: #fff;
  background-color: #352a22;
  background-image:
    linear-gradient(180deg,
      rgba(16,11,8,.43) 0%,
      rgba(16,11,8,.55) 58%,
      rgba(16,11,8,.63) 100%),
    var(--rdm-hero-image, none);
  background-size: cover;
  background-position: center;
}
.rdm-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 1px;
  background: rgba(255,255,255,.16);
}
.rdm-hero__content {
  position: relative;
  z-index: 1;
  max-width: min(920px, 100%);
}
.rdm-eyebrow {
  margin: 0 0 .65rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .82rem;
  opacity: .88;
  font-weight: 700;
  color: #fff;
}
.rdm-hero h1 {
  margin: 0 0 .8rem;
  font-size: clamp(2.6rem, 6vw, 5.6rem);
  line-height: 1.02;
  font-weight: 800;
  color: #fff;
  max-width: 14ch;
}
.rdm-lead {
  max-width: 820px;
  font-size: clamp(1.05rem, 1.7vw, 1.28rem);
  color: rgba(255,255,255,.86);
  margin: 0;
}

/* ── Bottoni ─────────────────────────────────────────────────── */
.rdm-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 1.4rem;
}
.rdm-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 52px !important;
  padding: 0 1.75rem !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  line-height: 1 !important;
  text-decoration: none !important;
  transition: background .2s ease, border-color .2s ease, color .2s ease !important;
  cursor: pointer;
  white-space: nowrap;
  box-sizing: border-box !important;
  /* Azzera qualsiasi stile Blocksy */
  letter-spacing: normal;
  text-transform: none;
}
.rdm-btn--solid {
  background: var(--rdm-accent) !important;
  color: #fff !important;
  border: 2px solid var(--rdm-accent) !important;
}
.rdm-btn--solid:hover,
.rdm-btn--solid:focus {
  background: var(--rdm-accent-dk) !important;
  border-color: var(--rdm-accent-dk) !important;
  color: #fff !important;
  text-decoration: none !important;
}
.rdm-btn--ghost {
  background: transparent !important;
  color: #fff !important;
  border: 2px solid rgba(255,255,255,.7) !important;
}
.rdm-btn--ghost:hover,
.rdm-btn--ghost:focus {
  background: rgba(255,255,255,.14) !important;
  border-color: #fff !important;
  color: #fff !important;
  text-decoration: none !important;
}

/* ── Sezioni ─────────────────────────────────────────────────── */
.rdm-section {
  padding: 3rem 0 3.5rem;
}
.rdm-section--soft {
  background: var(--rdm-bg);
}
.rdm-section__head {
  margin-bottom: 1.75rem;
}
.rdm-section__head h2 {
  margin: 0 0 .4rem;
  font-size: clamp(1.8rem, 3.2vw, 3rem);
  font-weight: 800;
  line-height: 1.08;
  color: var(--rdm-ink);
}
.rdm-section__head p {
  margin: 0;
  color: var(--rdm-ink-soft);
  font-size: 1.05rem;
}

/* ── Feature grid ────────────────────────────────────────────── */
.rdm-feature-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}
.rdm-feature {
  background: var(--rdm-paper);
  border-radius: var(--rdm-radius);
  padding: 1.6rem;
  border-left: 4px solid transparent;
  box-shadow: var(--rdm-shadow);
  text-decoration: none;
  color: var(--rdm-ink);
  display: flex;
  flex-direction: column;
  transition: transform .2s ease, box-shadow .2s ease;
}
.rdm-feature:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 24px rgba(0,0,0,.1);
  text-decoration: none;
  color: var(--rdm-ink);
}
.rdm-feature__icon {
  width: 28px;
  height: 28px;
  margin-bottom: .75rem;
  opacity: .65;
}
.rdm-feature h3 {
  margin: 0 0 .5rem;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--rdm-ink);
}
.rdm-feature p {
  margin: 0;
  font-size: .92rem;
  color: var(--rdm-ink-soft);
  line-height: 1.5;
}
/* Colori bordo + icona per categoria */
.rdm-feature--street   { border-left-color: #c26838; }
.rdm-feature--street   .rdm-feature__icon { color: #c26838; }
.rdm-feature--mondo    { border-left-color: #2a7b8f; }
.rdm-feature--mondo    .rdm-feature__icon { color: #2a7b8f; }
.rdm-feature--risotto  { border-left-color: #5a8a3c; }
.rdm-feature--risotto  .rdm-feature__icon { color: #5a8a3c; }
.rdm-feature--timballo { border-left-color: #8a6830; }
.rdm-feature--timballo .rdm-feature__icon { color: #8a6830; }
.rdm-feature--tipologie{ border-left-color: #7a5040; }
.rdm-feature--tipologie .rdm-feature__icon { color: #7a5040; }
.rdm-feature--storia   { border-left-color: #5c5078; }
.rdm-feature--storia   .rdm-feature__icon { color: #5c5078; }
.rdm-feature--ricette  { border-left-color: #8f2d2d; }
.rdm-feature--ricette  .rdm-feature__icon { color: #8f2d2d; }
.rdm-feature--contest  { border-left-color: #b8860b; }
.rdm-feature--contest  .rdm-feature__icon { color: #b8860b; }

/* ── Card grid ───────────────────────────────────────────────── */
.rdm-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.rdm-card {
  background: var(--rdm-paper);
  border-radius: var(--rdm-radius);
  box-shadow: var(--rdm-shadow);
  overflow: hidden;
}
.rdm-card-thumb { display: block; }
.rdm-card-thumb img,
.rdm-thumb-wrap img:not(.rdm-badge-overlay) {
  aspect-ratio: 4/3;
  object-fit: cover;
  width: 100%;
}
.rdm-thumb-wrap { position: relative; display: block; }
.rdm-badge-overlay {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 48px;
  height: 48px;
  object-fit: contain;
}
.rdm-badge-overlay--card {
  width: 40px;
  height: 40px;
}
.rdm-card-body {
  padding: 1.1rem 1.2rem 1.3rem;
}
.rdm-card-title {
  margin: 0 0 .4rem;
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.3;
}
.rdm-card-title a {
  color: var(--rdm-ink);
  text-decoration: none;
}
.rdm-card-title a:hover { color: var(--rdm-accent); }
.rdm-card-meta {
  margin: 0 0 .4rem;
  font-size: .85rem;
  color: var(--rdm-accent);
  font-weight: 600;
}
.rdm-card-excerpt {
  font-size: .92rem;
  color: var(--rdm-ink-soft);
  line-height: 1.55;
}
.rdm-empty {
  background: var(--rdm-paper);
  padding: 1rem 1.25rem;
  border-radius: 16px;
  color: var(--rdm-ink-soft);
}

/* ── Entry / venue / recipe / variety meta ───────────────────── */
.rdm-entry-venue-hero {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1.5rem;
  background: var(--rdm-paper);
  border-radius: 16px;
  box-shadow: var(--rdm-shadow);
  padding: 1.25rem 1.5rem;
  margin: 1rem 0 1.2rem;
}
.rdm-entry-venue-hero__kicker {
  margin: 0 0 .25rem;
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--rdm-accent);
  font-weight: 700;
}
.rdm-entry-venue-hero__name { margin: 0 0 .35rem; font-size: 1.3rem; font-weight: 700; }
.rdm-entry-venue-hero__address { margin: 0; font-size: .92rem; opacity: .7; }
.rdm-entry-venue-hero__score { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.rdm-score-big { font-size: 2rem; font-weight: 900; color: var(--rdm-accent); line-height: 1; }
.rdm-score-big small { font-size: .7em; opacity: .6; }
.rdm-price-tag { background: var(--rdm-gold); color: #1f1d1a; padding: .2rem .65rem; border-radius: 999px; font-weight: 700; font-size: .88rem; }
.rdm-entry-type-line { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 1rem; }
.rdm-entry-type-line span { background: var(--rdm-bg); border: 1px solid var(--rdm-border); border-radius: 999px; padding: .2rem .75rem; font-size: .88rem; font-weight: 600; }
.rdm-entry-type-line a { color: var(--rdm-accent); }
.rdm-entry-meta { background: var(--rdm-bg); border-radius: 16px; padding: 1rem 1.25rem; margin-bottom: 1.2rem; }
.rdm-entry-declared { border-left: 3px solid var(--rdm-gold); padding-left: 1rem; margin: 1.2rem 0; }
.rdm-entry-declared h3 { margin: 0 0 .5rem; font-size: 1rem; }
.rdm-entry-review { background: var(--rdm-bg); border-radius: 16px; padding: 1.25rem 1.5rem; margin: 1.2rem 0; }
.rdm-related-entries { margin-top: 2rem; }
.rdm-related-entries > h2 { margin-bottom: 1rem; }
.rdm-navigate-btn { display: inline-flex; align-items: center; gap: 8px; margin-top: .75rem; font-weight: 700; background: var(--rdm-ink); color: #fff; padding: .6rem 1.1rem; border-radius: 999px; text-decoration: none; font-size: .92rem; }
.rdm-navigate-btn:hover { background: var(--rdm-accent); color: #fff; text-decoration: none; }
.rdm-helper { font-size: .88rem; opacity: .65; }
.rdm-badge { display: inline-block; background: var(--rdm-accent); color: #fff; font-size: .78rem; font-weight: 700; padding: .2rem .65rem; border-radius: 999px; }
.rdm-venue-map { width: 100%; min-height: 320px; border-radius: 16px; background: var(--rdm-bg); overflow: hidden; }
.rdm-venue-map-wrap { margin: 1.2rem 0; }

/* ── Variety meta ────────────────────────────────────────────── */
.rdm-variety-card { background: var(--rdm-paper); border-radius: var(--rdm-radius); box-shadow: var(--rdm-shadow); padding: 1.5rem; margin-bottom: 1.5rem; }
.rdm-variety-card__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 1rem; }
.rdm-variety-field { display: flex; flex-direction: column; gap: 4px; }
.rdm-variety-label { font-size: .82rem; text-transform: uppercase; letter-spacing: .06em; font-weight: 700; opacity: .6; }
.rdm-variety-value { font-weight: 600; }
.rdm-variety-header { display: flex; gap: 1.5rem; align-items: flex-start; margin-bottom: 1.5rem; }
.rdm-variety-header__img { flex: 0 0 180px; }
.rdm-variety-header__img img { border-radius: 16px; }
.rdm-variety-header__info { flex: 1; }

/* ── Recipe meta ─────────────────────────────────────────────── */
.rdm-recipe-meta { background: var(--rdm-paper); border-radius: var(--rdm-radius); box-shadow: var(--rdm-shadow); padding: 1.25rem 1.5rem; margin-bottom: 1.5rem; }
.rdm-recipe-meta p { margin: .3rem 0; }
.rdm-recipe-section { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--rdm-border); }
.rdm-recipe-section h3 { margin: 0 0 .75rem; }

/* ── Single post layout ──────────────────────────────────────── */
.rdm-single-thumb img { border-radius: var(--rdm-radius); margin-bottom: 1.5rem; }
.rdm-page__header h1 { margin: 0 0 1rem; }
.rdm-content { max-width: none; }
.rdm-content ul { padding-left: 1.2rem; }

/* ── Responsive ──────────────────────────────────────────────── */
@media (max-width: 1180px) {
  .rdm-feature-grid { grid-template-columns: repeat(2, 1fr); }
  .rdm-card-grid    { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 680px) {
  .rdm-feature-grid { grid-template-columns: 1fr; }
  .rdm-card-grid    { grid-template-columns: 1fr; }
  .rdm-entry-venue-hero { flex-direction: column; }
  .rdm-variety-header   { flex-direction: column; }
  .rdm-variety-header__img { flex: none; width: 100%; max-width: 200px; }
  .rdm-hero { min-height: 62vh; }
}

/* ================================================================
   Layout — le sezioni RDM occupano il 100% di <main>
   Nessun breakout: Blocksy ha overflow:clip su #main-container.
   Il layout full-width si ottiene disattivando Passepartout in
   Personalizza → Generale → Design → Passepartout → frame = 0
   ================================================================ */

/* <main> deve essere width 100% senza padding propri */
.site-main {
  padding: 0 !important;
  overflow: visible;
}

/* Le sezioni prendono tutto lo spazio disponibile */
.rdm-hero,
.rdm-section {
  width: 100%;
  box-sizing: border-box;
}

/* Blocksy injetta padding su .entry-content — annullalo per la front page */
.home .entry-content,
.front-page .entry-content {
  padding: 0 !important;
  max-width: none !important;
}

/* ================================================================
   Classi pagine progetto (ereditate dal tema precedente)
   ================================================================ */

/* Wrapper pagina progetto */
.rdm-project-page { width: 100%; }

/* Hero di pagina */
/* rdm-page-hero: rimosso sfondo scuro — le pagine statiche usano
   il layout nativo di Blocksy (bianco, gestito dal tema) */
.rdm-page-hero {
  display: none; /* nasconde il vecchio hero dark nelle pagine statiche */
}

/* Sezione generica di pagina */
.rdm-page-section { max-width: 1440px; margin: 2rem auto; padding: 0 var(--rdm-gutter, 2rem); }
.rdm-page-section h2 { margin: 0 0 .4rem; }
.rdm-page-section p { color: var(--rdm-ink-soft); margin: 0 0 1rem; }

/* Content wrapper */
.rdm-content { max-width: none; }
.rdm-content ul { padding-left: 1.2rem; }
.rdm-content > *:first-child { margin-top: 0; }

/* Surface / box */
.rdm-surface {
  background: var(--rdm-paper);
  border-radius: var(--rdm-radius);
  box-shadow: var(--rdm-shadow);
  padding: 1.5rem 2rem;
  margin-bottom: 1.5rem;
}
.rdm-dynamic-box {
  background: var(--rdm-paper);
  border-radius: var(--rdm-radius);
  box-shadow: var(--rdm-shadow);
  padding: 1.5rem 2rem;
  margin-bottom: 1.5rem;
}

/* Pagina generica */
.rdm-page,
.rdm-single {
  background: var(--rdm-paper);
  border-radius: var(--rdm-radius);
  box-shadow: var(--rdm-shadow);
  padding: clamp(1.5rem, 3vw, 2.25rem);
  width: 100%;
}
.rdm-page--full { width: 100%; }
.rdm-page__header h1 { margin: 0 0 1rem; font-size: clamp(1.8rem, 3.5vw, 2.6rem); }

/* Blocco singolo CPT */
.rdm-single-thumb { margin-bottom: 1.5rem; }
.rdm-single-thumb img { border-radius: var(--rdm-radius); width: 100%; }

/* Mappa venue */
.rdm-venue-meta p { margin: .3rem 0; }

/* Griglia card generica */
.rdm-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
@media (max-width: 1180px) { .rdm-card-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 680px)  { .rdm-card-grid { grid-template-columns: 1fr; } }

/* ================================================================
   Pagine statiche — layout Blocksy nativo (sfondo bianco)
   Nessun override di background: Blocksy gestisce tutto.
   Il beige (#f7f1e8) resta solo nelle sezioni della homepage.
   ================================================================ */

/* Rimuovi il wrapper beige dalle pagine del progetto */
.rdm-project-page { background: transparent; }

/* Il contenuto delle pagine statiche in Blocksy ha già
   sfondo bianco via .entry-content — non sovrascrivere */
.rdm-content { background: transparent; }

/* rdm-content su pagine statiche → box bianco come rdm-surface */
.page .rdm-content,
.single .rdm-content {
  background: #ffffff;
  border-radius: var(--rdm-radius, 20px);
  box-shadow: var(--rdm-shadow, 0 2px 8px rgba(0,0,0,.07), 0 12px 32px rgba(0,0,0,.05));
  padding: 1.75rem 2rem;
  margin-bottom: 1.5rem;
}
.rdm-surface { background: #ffffff; }
.rdm-dynamic-box { background: #ffffff; }

/* La sezione soft (beige) resta solo sulla homepage */
.home .rdm-section--soft,
.front-page .rdm-section--soft { background: var(--rdm-bg, #f7f1e8); }

/* ── Nasconde il back-to-top del plugin (usa quello di Blocksy) ── */
.rdm-back-to-top { display: none !important; }

/* ── Badge overlay fix — Blocksy resetta position sul wrapper ── */
a.rdm-card-thumb.rdm-thumb-wrap,
.rdm-thumb-wrap {
  position: relative !important;
  display: block !important;
  overflow: hidden;
}
img.rdm-badge-overlay {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  width: 44px !important;
  height: 44px !important;
  object-fit: contain !important;
  aspect-ratio: 1 !important;
  /* annulla qualsiasi regola che lo allunga */
  max-width: 44px !important;
  max-height: 44px !important;
  border-radius: 0 !important;
}

/* ── Single entry wrap ─────────────────────────────────────── */
.rdm-entry-wrap {
  padding: 2rem 0 3rem;
}
.rdm-entry-wrap .rdm-container {
  max-width: 900px;
  margin: 0 auto;
  padding-inline: var(--rdm-gutter, 2rem);
}

/* ── Fix link colore nel venue hero ──────────────────────────── */
.rdm-entry-venue-hero__name a {
  color: var(--rdm-ink, #1f1d1a) !important;
  text-decoration: none;
}
.rdm-entry-venue-hero__name a:hover {
  color: var(--rdm-accent, #8f2d2d) !important;
}

/* ── Fix badge: nessun background da Blocksy ─────────────────── */
img.rdm-badge-overlay {
  background: transparent !important;
  background-color: transparent !important;
  /* Blocksy applica uno pseudo-elemento o overlay sui <img> nei link */
  mix-blend-mode: normal;
  isolation: isolate;
}
/* Blocksy hover overlay sulle immagini nei link */
a.rdm-thumb-wrap img.rdm-badge-overlay,
.rdm-thumb-wrap a img.rdm-badge-overlay,
a img.rdm-badge-overlay {
  opacity: 1 !important;
  filter: none !important;
}
/* Annulla qualsiasi ::after/::before di Blocksy sul wrapper */
a.rdm-card-thumb.rdm-thumb-wrap::after,
a.rdm-card-thumb.rdm-thumb-wrap::before,
.rdm-thumb-wrap::after,
.rdm-thumb-wrap::before {
  display: none !important;
}

/* ── Badge overlay: sfondo nero causato da object-fit + parent bg ── */
/*
 * Il problema: img.rdm-badge-overlay usa object-fit:contain.
 * Se il contenitore <a> ha un background scuro (Blocksy lo imposta
 * per l'effetto hover), le aree trasparenti del PNG mostrano quel bg.
 * Fix: impostiamo il bg dell'<a> wrapper a transparent e usiamo
 * mix-blend-mode per isolare il badge dal contesto.
 */
a.rdm-thumb-wrap,
a.rdm-card-thumb {
  background-color: transparent !important;
}
/* Il badge è un cerchio — Blocksy non deve aggiungere background */
img.rdm-badge-overlay,
.rdm-badge-overlay {
  background: transparent !important;
  background-color: transparent !important;
  /* Rimuove object-fit:contain che causa le aree nere */
  object-fit: contain !important;
  /* Impedisce che Blocksy applichi object-fit:cover */
  aspect-ratio: 1 / 1 !important;
  /* Forza il contesto di stacking isolato */
  position: absolute !important;
  isolation: isolate;
  z-index: 3 !important;
}

/* ── Badge: loading=eager bypassa il lazy di Blocksy ─────────── */
img.rdm-badge-overlay {
  /* Posizione */
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  z-index: 3 !important;
  /* Dimensioni fisse */
  width: 48px !important;
  height: 48px !important;
  max-width: 48px !important;
  max-height: 48px !important;
  /* Annulla regole che causano sfondo nero */
  object-fit: contain !important;
  aspect-ratio: 1 / 1 !important;
  background: transparent !important;
  background-color: transparent !important;
  /* Blocksy aggiunge un wrapper .ct-media-container con bg scuro
     su immagini lazy — loading=eager bypassa questo meccanismo */
  border-radius: 50%;
  pointer-events: none;
}
img.rdm-badge-overlay--card,
img.rdm-badge-overlay.rdm-badge-overlay--card {
  width: 42px !important;
  height: 42px !important;
  max-width: 42px !important;
  max-height: 42px !important;
}
/* Annulla qualsiasi stile che Blocksy potrebbe applicare al
   contenitore del badge tramite .ct-media-container */
.rdm-thumb-wrap .ct-media-container:has(img.rdm-badge-overlay),
.rdm-thumb-wrap > img.rdm-badge-overlay {
  background: transparent !important;
  position: absolute !important;
}

/* ── Badge fuori dall'<a> — nessuna interferenza Blocksy ─────── */
.rdm-card-thumb-wrap {
  position: relative;
  display: block;
  overflow: hidden;
}
.rdm-card-thumb-wrap .rdm-card-thumb {
  display: block;
}
.rdm-card-thumb-wrap img:not(.rdm-badge-overlay) {
  aspect-ratio: 4/3;
  object-fit: cover;
  width: 100%;
  display: block;
}
/* Badge è fratello dell'<a>, non figlio — nessun background ereditato */
.rdm-card-thumb-wrap > img.rdm-badge-overlay,
.rdm-card-thumb-wrap > img.rdm-badge-overlay--card {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  width: 42px !important;
  height: 42px !important;
  object-fit: contain !important;
  background: transparent !important;
  z-index: 5 !important;
  pointer-events: none;
}
/* Badge standalone sulla singola segnalazione */
img.rdm-badge-overlay-standalone {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 72px;
  height: 72px;
  object-fit: contain;
  background: transparent;
  z-index: 5;
  pointer-events: none;
}
.rdm-single-thumb {
  position: relative;
}

/* ── Single hero: wrapper relativo per il badge ──────────────── */
.rdm-single-hero-wrap {
  position: relative;
  display: block;
  margin-bottom: 1.5rem;
}
.rdm-single-hero-wrap .rdm-single-thumb {
  display: block;
}
.rdm-single-hero-wrap .rdm-single-thumb img {
  border-radius: var(--rdm-radius, 20px);
  width: 100%;
  display: block;
}
.rdm-single-hero-wrap > img.rdm-badge-overlay-standalone {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  width: 72px !important;
  height: 72px !important;
  object-fit: contain !important;
  background: transparent !important;
  z-index: 5 !important;
  pointer-events: none;
}

/* ── Immagine singola segnalazione: aspect-ratio restaurato ──── */
.rdm-single-hero-wrap .rdm-single-thumb img,
.rdm-single-thumb img {
  aspect-ratio: 16/9 !important;
  object-fit: cover !important;
  width: 100% !important;
  height: auto !important;
  display: block;
  border-radius: var(--rdm-radius, 20px);
}

/* ── Mappa globale ───────────────────────────────────────────── */
.rdm-global-map-wrap { padding: 1.5rem; }

.rdm-global-map-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: .5rem;
}
.rdm-map-filter-label {
  font-size: .85rem;
  font-weight: 600;
  opacity: .65;
  flex-shrink: 0;
}
.rdm-map-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: .3rem .85rem;
  border-radius: 999px;
  border: 2px solid var(--fc, var(--rdm-border));
  background: transparent;
  color: var(--rdm-ink);
  font-size: .85rem;
  font-weight: 600;
  cursor: pointer;
  transition: background .18s, color .18s;
}
.rdm-map-btn::before {
  content: '';
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--fc, var(--rdm-border));
  flex-shrink: 0;
}
.rdm-map-btn[data-family=""]::before { display: none; }
.rdm-map-btn--active,
.rdm-map-btn:hover {
  background: var(--fc, var(--rdm-ink));
  color: #fff;
  border-color: var(--fc, var(--rdm-ink));
}
.rdm-map-btn--active::before,
.rdm-map-btn:hover::before {
  background: rgba(255,255,255,.7);
}
@media (max-width: 680px) {
  .rdm-global-map-filters { gap: 6px; }
  .rdm-map-btn { font-size: .78rem; padding: .25rem .65rem; }
  #rdmGlobalMap { height: 420px !important; }
}

/* ── Form segnalazione: testo select leggibile ───────────────── */
.rdm-submission-form select,
.rdm-submission-form select option,
.rdm-submission-form select optgroup {
  color: var(--rdm-ink, #1f1d1a) !important;
  background-color: #ffffff !important;
}
.rdm-submission-form select {
  background-image: none;
}

/* ── Form select: fix allineamento testo (Blocksy override) ──── */
.rdm-submission-form select {
  appearance: auto !important;
  -webkit-appearance: auto !important;
  height: auto !important;
  min-height: 48px !important;
  line-height: 1.4 !important;
  padding: .75rem 1rem !important;
  font-size: 1rem !important;
  color: var(--rdm-ink, #1f1d1a) !important;
  background-color: #fffdf9 !important;
  border: 1px solid #d7c9b3 !important;
  border-radius: 14px !important;
  width: 100% !important;
  cursor: pointer;
}
.rdm-submission-form select option,
.rdm-submission-form select optgroup {
  color: var(--rdm-ink, #1f1d1a) !important;
  background: #ffffff !important;
  font-size: 1rem;
}

/* ── Nuove sezioni: bordo e icona colorati (= colori pin mappa) ── */
.rdm-feature--minestra  { border-left-color: #2a5f8f; }
.rdm-feature--minestra  .rdm-feature__icon { color: #2a5f8f; }
.rdm-feature--insalata  { border-left-color: #4a8a3a; }
.rdm-feature--insalata  .rdm-feature__icon { color: #4a8a3a; }
.rdm-feature--dolce     { border-left-color: #8f2d6d; }
.rdm-feature--dolce     .rdm-feature__icon { color: #8f2d6d; }
.rdm-feature--ripieno   { border-left-color: #6a4a8f; }
.rdm-feature--ripieno   .rdm-feature__icon { color: #6a4a8f; }

/* ── Hero: posizione testi (gestita da Impostazioni Homepage) ── */
.rdm-hero--align-center .rdm-hero__content { margin-inline: auto; text-align: center; }
.rdm-hero--align-center .rdm-actions       { justify-content: center; }
.rdm-hero--align-right  .rdm-hero__content { margin-inline: auto 0; text-align: right; }
.rdm-hero--align-right  .rdm-actions       { justify-content: flex-end; }
.rdm-hero--align-left   .rdm-hero__content { margin-inline: 0; text-align: left; }

.rdm-hero--valign-center { align-items: center; }
.rdm-hero--valign-top    { align-items: flex-start; padding-top: clamp(5rem, 12vw, 10rem); }
.rdm-hero--valign-bottom { align-items: flex-end; }

/* ── Bottone ghost: forza testo bianco contro override Blocksy ── */
a.rdm-btn.rdm-btn--ghost,
a.rdm-btn.rdm-btn--ghost:link,
a.rdm-btn.rdm-btn--ghost:visited,
.rdm-hero a.rdm-btn--ghost {
  color: #ffffff !important;
  border-color: rgba(255,255,255,.7) !important;
}
a.rdm-btn.rdm-btn--ghost:hover,
a.rdm-btn.rdm-btn--ghost:focus,
.rdm-hero a.rdm-btn--ghost:hover {
  color: #ffffff !important;
  background: rgba(255,255,255,.15) !important;
  border-color: #ffffff !important;
}

/* ── Gallery segnalazione ────────────────────────────────────── */
.rdm-entry-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 12px;
  margin: 1.5rem 0;
}
.rdm-gallery-item img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  border-radius: var(--rdm-radius, 12px);
  display: block;
}
