/* =========================================================================
   U Troppitu — Cenadesi nel Mondo — front.css
   Redesign v3.2 "Minimal premium + accento" — stesse classi/ID del markup
   esistente, nessuna logica JS toccata. Font caricati via wp_enqueue_style
   in enqueue_front() (Fraunces + Inter, Google Fonts).
   ========================================================================= */

/* -------------------------------------------------------------------------
   1. TOKEN & RESET LOCALE
   ------------------------------------------------------------------------- */
.utcm-wrap{
  --s: var(--utcm-scale, 1);

  /* colori — editoriale, neutro, un solo accento terracotta */
  --utcm-brand:        #B5602E;
  --utcm-brand-dark:   #954C22;
  --utcm-brand-ink:    #1C1B1A;
  --utcm-ink:          #1C1B1A;
  --utcm-ink-soft:     #6B6259;
  --utcm-ink-mute:     #9A9088;
  --utcm-cream:        #EDE6DC;
  --utcm-cream-2:      #FAF7F2;
  --utcm-line:         #E3DCD2;
  --utcm-line-soft:    #EFE9E1;
  --utcm-white:        #fff;

  --utcm-ok-bg:    #EAF3EA; --utcm-ok-line:    #BBDABE; --utcm-ok-ink:    #386B3D;
  --utcm-warn-bg:  #FBF1DF; --utcm-warn-line:  #E4CB98; --utcm-warn-ink:  #7A5A17;
  --utcm-err-bg:   #F8EBE9; --utcm-err-line:   #DFB3AC; --utcm-err-ink:   #8C3A2E;

  --utcm-shadow-sm: 0 1px 2px rgba(28,27,26,.05);
  --utcm-shadow-md: 0 2px 8px rgba(28,27,26,.06);
  --utcm-shadow-lg: 0 12px 32px rgba(28,27,26,.14);

  /* spaziature (scalabili) */
  --sp-1: calc(4px  * var(--s));
  --sp-2: calc(8px  * var(--s));
  --sp-3: calc(12px * var(--s));
  --sp-4: calc(16px * var(--s));
  --sp-5: calc(20px * var(--s));
  --sp-6: calc(24px * var(--s));
  --sp-7: calc(32px * var(--s));

  /* raggi — più contenuti rispetto alla precedente iterazione "app" */
  --r-sm: calc(8px  * var(--s));
  --r-md: calc(12px * var(--s));
  --r-lg: calc(16px * var(--s));
  --r-pill: 999px;

  /* tipografia — Fraunces (titoli) + Inter (corpo/UI) */
  --f-display: 'Fraunces', Georgia, "Iowan Old Style", serif;
  --f-body: 'Inter', system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --fs-xs:   calc(12.5px * var(--s));
  --fs-sm:   calc(13.5px * var(--s));
  --fs-base: calc(15px   * var(--s));
  --fs-md:   calc(16px   * var(--s));
  --fs-lg:   calc(19px   * var(--s));
  --fs-xl:   calc(23px   * var(--s));
  --fs-2xl:  calc(29px   * var(--s));

  margin:0 auto 40px;
  font-family:var(--f-body);
  font-size:var(--fs-base);
  line-height:1.6;
  color:var(--utcm-ink);
  box-sizing:border-box;
}
.utcm-wrap *{box-sizing:border-box}
.utcm-wrap :focus-visible{outline:2px solid var(--utcm-brand);outline-offset:2px;border-radius:6px}

/* breakout: il blocco si allarga oltre la colonna dell'articolo. Logica invariata. */
.utcm-breakout{
  width:min(var(--utcm-width,1200px), calc(100vw - 48px)) !important;
  max-width:min(var(--utcm-width,1200px), calc(100vw - 48px)) !important;
  margin-left:50% !important;
  margin-right:0 !important;
  transform:translateX(-50%) !important;
}

/* -------------------------------------------------------------------------
   2. HERO
   ------------------------------------------------------------------------- */
.utcm-hero{
  display:flex;gap:var(--sp-6);align-items:center;justify-content:space-between;
  background:var(--utcm-cream-2);
  border:1px solid var(--utcm-line);border-radius:var(--r-lg);
  padding:var(--sp-5) var(--sp-6);margin:var(--sp-5) 0;
}
.utcm-hero h2{
  font-family:var(--f-display);font-weight:600;
  font-size:clamp(26px, calc(3vw * var(--s)), var(--fs-2xl,38px));
  line-height:1.1;margin:0 0 var(--sp-2);color:var(--utcm-brand-ink);letter-spacing:-.005em;
}
.utcm-hero p{font-size:var(--fs-md);margin:0;color:var(--utcm-ink-soft)}

.utcm-button,.utcm-submit{
  background:var(--utcm-brand);color:var(--utcm-white) !important;text-decoration:none;
  border:0;border-radius:var(--r-pill);padding:calc(13px * var(--s)) calc(24px * var(--s));
  font-weight:600;font-size:var(--fs-base);letter-spacing:0;display:inline-block;
  cursor:pointer;
  transition:background-color .15s ease,transform .1s ease;
  white-space:nowrap;
}
.utcm-button:hover,.utcm-submit:hover{background:var(--utcm-brand-dark)}
.utcm-button:active,.utcm-submit:active{transform:scale(.98)}

/* -------------------------------------------------------------------------
   3. AVVISI DI STATO
   ------------------------------------------------------------------------- */
.utcm-alert{padding:var(--sp-4) var(--sp-5);border-radius:var(--r-md);margin:var(--sp-5) 0;font-size:var(--fs-base);line-height:1.45}
.utcm-success{background:var(--utcm-ok-bg);border:1px solid var(--utcm-ok-line);color:var(--utcm-ok-ink)}
.utcm-warning{background:var(--utcm-warn-bg);border:1px solid var(--utcm-warn-line);color:var(--utcm-warn-ink)}
.utcm-error{background:var(--utcm-err-bg);border:1px solid var(--utcm-err-line);color:var(--utcm-err-ink)}

/* -------------------------------------------------------------------------
   4. GRIGLIA PRINCIPALE: SIDEBAR + MAPPA
   ------------------------------------------------------------------------- */
.utcm-grid{
  display:grid;grid-template-columns:calc(300px * var(--s)) 1fr;
  border:1px solid var(--utcm-line);border-radius:var(--r-lg);overflow:hidden;
  background:var(--utcm-white);box-shadow:var(--utcm-shadow-sm);
}
.utcm-side{
  padding:var(--sp-5);background:var(--utcm-cream);border-right:1px solid var(--utcm-line);
  min-width:0;
}
.utcm-side label{display:block;font-weight:700;margin:var(--sp-4) 0 var(--sp-2);font-size:var(--fs-sm);color:var(--utcm-ink)}
.utcm-side label:first-child{margin-top:0}

.utcm-side input,.utcm-side select,
.utcm-form input,.utcm-form select,.utcm-form textarea{
  width:100%;border:1px solid var(--utcm-line);border-radius:var(--r-sm);
  padding:calc(11px * var(--s)) calc(13px * var(--s));font-size:var(--fs-base);
  background:var(--utcm-white);color:var(--utcm-ink);font-family:inherit;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.utcm-side input:focus,.utcm-side select:focus,
.utcm-form input:focus,.utcm-form select:focus,.utcm-form textarea:focus{
  border-color:var(--utcm-brand);box-shadow:0 0 0 3px rgba(122,55,18,.14);outline:none;
}

.utcm-stat{
  margin:var(--sp-5) 0;padding:var(--sp-5);border:1px solid var(--utcm-line);border-radius:var(--r-md);
  background:var(--utcm-white);text-align:center;
}
.utcm-stat strong{font-size:calc(32px * var(--s));display:block;color:var(--utcm-brand);font-weight:800;line-height:1.1}
.utcm-stat span,.utcm-stat small{display:block;color:var(--utcm-ink-soft)}
.utcm-stat small{font-size:var(--fs-xs)}

.utcm-side h3{font-family:var(--f-display);font-size:var(--fs-lg);margin:var(--sp-5) 0 var(--sp-2);color:var(--utcm-brand-ink)}

.utcm-mapbox{background:var(--utcm-white);min-width:0}
.utcm-mapbox #utcm-map{width:100%;min-height:420px;background:#cfe6ee}
.utcm-legend{
  display:flex;gap:var(--sp-6);align-items:center;flex-wrap:wrap;
  padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--utcm-line);font-size:var(--fs-sm);color:var(--utcm-ink-soft);
}
.utcm-dot{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:var(--sp-2);vertical-align:-1px}
.utcm-dot-local{background:var(--utcm-brand)}
.utcm-dot-group{background:var(--utcm-ink-mute)}

/* marker mappa: punto discreto invece del pin blu di default di Leaflet */
.utcm-map-dot{
  width:14px;height:14px;border-radius:50%;background:var(--utcm-brand,#B5602E);
  border:2px solid #fff;box-shadow:0 0 0 1px rgba(28,27,26,.18);
}
.utcm-map-dot-muted{background:var(--utcm-ink-mute,#9A9088)}

/* elenco "ultimi registrati" */
.utcm-person{position:relative;padding:var(--sp-3) 0;padding-left:calc(54px * var(--s));min-height:calc(50px * var(--s));border-bottom:1px solid var(--utcm-line-soft)}
.utcm-person:last-child{border-bottom:0}
.utcm-person img{
  position:absolute;left:0;top:var(--sp-3);width:calc(40px * var(--s));height:calc(40px * var(--s));
  border-radius:50%;object-fit:cover;border:1px solid var(--utcm-line);background:var(--utcm-cream);
}
.utcm-person strong{display:block;font-size:var(--fs-base);color:var(--utcm-ink)}
.utcm-person span{display:block;font-size:var(--fs-sm);color:var(--utcm-ink-soft)}
.utcm-person small{display:block;margin-top:var(--sp-1);color:var(--utcm-ink-mute);font-size:var(--fs-xs)}

.leaflet-container{font-family:var(--f-body)}

/* -------------------------------------------------------------------------
   5. STORIE E BOTTONE "SCOPRI LA STORIA"
   ------------------------------------------------------------------------- */
.utcm-story-open{
  border:0;border-radius:var(--r-pill);background:var(--utcm-brand);color:var(--utcm-white) !important;
  font-weight:700;padding:calc(8px * var(--s)) calc(14px * var(--s));margin:var(--sp-2) 0 0;
  cursor:pointer;display:inline-block;text-decoration:none;font-size:var(--fs-xs);
  transition:background-color .15s ease;
}
.utcm-story-open:hover{background:var(--utcm-brand-dark)}
.utcm-popup-card .utcm-story-open{display:block;width:100%;text-align:center}
.utcm-person .utcm-story-open,.utcm-featured article .utcm-story-open{margin-top:var(--sp-2)}

/* -------------------------------------------------------------------------
   6. ULTIMI CONTATTI (carosello)
   ------------------------------------------------------------------------- */
.utcm-featured{
  margin:var(--sp-2) 0 var(--sp-5);border:1px solid var(--utcm-line);border-radius:var(--r-lg);
  padding:var(--sp-5);background:var(--utcm-cream-2);box-shadow:var(--utcm-shadow-sm);
}
.utcm-featured h3{font-family:var(--f-display);margin:0 0 var(--sp-4);font-size:var(--fs-xl);color:var(--utcm-brand-ink)}
.utcm-featured>div{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-4)}
.utcm-featured article{
  border:1px solid var(--utcm-line);border-radius:var(--r-md);background:var(--utcm-white);
  padding:var(--sp-4);min-height:calc(112px * var(--s));transition:box-shadow .15s ease,transform .15s ease;
}
.utcm-featured article:hover{box-shadow:var(--utcm-shadow-md);transform:translateY(-2px)}
.utcm-featured strong,.utcm-featured span{display:block}
.utcm-featured strong{color:var(--utcm-ink);font-size:var(--fs-base)}
.utcm-featured span{font-size:var(--fs-sm);color:var(--utcm-ink-soft)}
.utcm-featured p{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);color:var(--utcm-ink-soft);line-height:1.4}
.utcm-featured article img{
  width:calc(54px * var(--s));height:calc(54px * var(--s));border-radius:50%;object-fit:cover;
  float:left;margin:0 var(--sp-3) var(--sp-2) 0;border:1px solid var(--utcm-line);
}

/* -------------------------------------------------------------------------
   7. STATISTICHE DELLA COMUNITÀ
   ------------------------------------------------------------------------- */
.utcm-stats-section{
  margin:var(--sp-6) 0;padding:var(--sp-6);border-radius:var(--r-lg);
  background:var(--utcm-cream-2);border:1px solid var(--utcm-line);box-shadow:var(--utcm-shadow-sm);color:var(--utcm-ink);
}
.utcm-stats-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-5);margin-bottom:var(--sp-5);flex-wrap:wrap}
.utcm-stats-head h3{font-family:var(--f-display);font-size:var(--fs-xl);line-height:1.1;margin:0;color:var(--utcm-brand-ink)}
.utcm-stats-head p{margin:0;color:var(--utcm-ink-soft);font-weight:500}

.utcm-stats-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-3);margin-bottom:var(--sp-5)}
.utcm-stats-cards article{background:var(--utcm-white);border:1px solid var(--utcm-line);border-radius:var(--r-md);padding:var(--sp-4);text-align:center}
.utcm-stats-cards strong{display:block;font-size:calc(32px * var(--s));line-height:1;color:var(--utcm-brand);font-weight:800;margin-bottom:var(--sp-1)}
.utcm-stats-cards span{display:block;font-size:var(--fs-xs);font-weight:700;color:var(--utcm-ink-soft);text-transform:uppercase;letter-spacing:.03em}

.utcm-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4)}
.utcm-stat-panel{background:var(--utcm-white);border:1px solid var(--utcm-line);border-radius:var(--r-md);padding:var(--sp-4)}
.utcm-stat-panel h4{margin:0 0 var(--sp-4);color:var(--utcm-brand-ink);font-size:var(--fs-lg);font-weight:800}
.utcm-stat-row{position:relative;margin:0 0 var(--sp-2);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);background:var(--utcm-cream);overflow:hidden}
.utcm-stat-row:last-child{margin-bottom:0}
.utcm-stat-row i{position:absolute;left:0;bottom:0;height:3px;background:var(--utcm-brand);border-radius:0 3px 3px 0;display:block;opacity:.85}
.utcm-stat-row div{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}
.utcm-stat-row strong{font-size:var(--fs-sm);color:var(--utcm-ink);font-weight:600;line-height:1.2}
.utcm-stat-row span{font-weight:800;color:var(--utcm-brand)}

/* -------------------------------------------------------------------------
   8. ALBERO DELLE FAMIGLIE
   ------------------------------------------------------------------------- */
.utcm-popup-family,.utcm-story-family,.utcm-family-mini{display:block;color:var(--utcm-brand);font-weight:700;margin:.25rem 0}
.utcm-family-section{margin:var(--sp-5) 0;padding:var(--sp-5);border:1px solid var(--utcm-line);border-radius:var(--r-lg);background:var(--utcm-cream-2);box-shadow:var(--utcm-shadow-sm)}
.utcm-family-tree{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--sp-3)}
.utcm-family-card{border:1px solid var(--utcm-line);border-radius:var(--r-md);background:var(--utcm-white);padding:var(--sp-4);transition:box-shadow .15s ease}
.utcm-family-card:hover{box-shadow:var(--utcm-shadow-sm)}
.utcm-family-card h4{margin:0 0 var(--sp-3);color:var(--utcm-brand-ink);display:flex;justify-content:space-between;gap:var(--sp-3);align-items:center;font-size:var(--fs-base)}
.utcm-family-card h4 b{background:var(--utcm-brand);color:var(--utcm-white);border-radius:var(--r-pill);min-width:1.9em;text-align:center;padding:.15rem .45rem;font-size:.82em}
.utcm-family-card span{display:block;border-top:1px solid var(--utcm-line-soft);padding:.42rem 0;color:var(--utcm-ink);font-size:var(--fs-sm)}
.utcm-family-card span small{display:block;color:var(--utcm-ink-mute);font-weight:400}
.utcm-family-card em{display:block;margin-top:.35rem;color:var(--utcm-brand);font-style:normal;font-weight:700;font-size:var(--fs-sm)}

/* -------------------------------------------------------------------------
   9. FORM "SEGNALA LA TUA PRESENZA"
   ------------------------------------------------------------------------- */
.utcm-form{
  margin-top:var(--sp-5);background:var(--utcm-cream-2);border:1px solid var(--utcm-line);
  border-radius:var(--r-lg);padding:var(--sp-6);box-shadow:var(--utcm-shadow-sm);
}
.utcm-form h3{font-family:var(--f-display);font-size:var(--fs-2xl);margin:0 0 var(--sp-4);color:var(--utcm-brand-ink)}
.utcm-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-4)}
.utcm-form label{font-weight:700;display:block;margin-bottom:var(--sp-2);font-size:var(--fs-sm);color:var(--utcm-ink)}
.utcm-form label small{font-weight:400;color:var(--utcm-ink-mute)}
.utcm-form p{margin:0 0 var(--sp-4)}
.utcm-form input[type=file]{padding:var(--sp-2);background:var(--utcm-white)}
.utcm-note{font-size:var(--fs-xs);color:var(--utcm-ink-soft);line-height:1.4}
.utcm-form small.utcm-note{display:block;margin-top:var(--sp-2);font-weight:400}

.utcm-secondary{
  background:var(--utcm-white);border:1px solid var(--utcm-brand);color:var(--utcm-brand);
  border-radius:var(--r-pill);padding:calc(11px * var(--s)) calc(18px * var(--s));font-weight:700;
  cursor:pointer;font-size:var(--fs-base);transition:background-color .15s ease,color .15s ease;
}
.utcm-secondary:hover{background:var(--utcm-brand);color:var(--utcm-white)}
.utcm-geo-line{display:flex;gap:var(--sp-3);align-items:center;flex-wrap:wrap}
.utcm-geo-line span{font-size:var(--fs-sm)}
.utcm-geo-line span.ok{color:var(--utcm-ok-ink)}
.utcm-geo-line span.ko{color:var(--utcm-warn-ink)}

/* ricerca luogo */
.utcm-placebox{margin:0 0 var(--sp-4);padding:var(--sp-4);border:1px solid var(--utcm-line);border-radius:var(--r-md);background:var(--utcm-white)}
.utcm-placebox label{font-size:var(--fs-md)}
.utcm-place-results{position:relative;margin-top:var(--sp-2);display:grid;gap:var(--sp-1)}
.utcm-place-results button{width:100%;text-align:left;border:1px solid var(--utcm-line);background:var(--utcm-cream);border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-3);cursor:pointer;color:var(--utcm-ink);font-size:var(--fs-sm);transition:background-color .15s ease}
.utcm-place-results button:hover{background:var(--utcm-line-soft)}
.utcm-place-results span{font-size:var(--fs-sm);color:var(--utcm-ink-soft)}

/* invio saluto privato */
.utcm-greet{margin-top:var(--sp-2)}
.utcm-greet-toggle,.utcm-greet-send{
  background:var(--utcm-brand);color:var(--utcm-white);border:0;border-radius:var(--r-pill);
  padding:var(--sp-2) var(--sp-3);font-weight:700;cursor:pointer;font-size:var(--fs-xs);
  transition:background-color .15s ease;
}
.utcm-greet-toggle:hover,.utcm-greet-send:hover{background:var(--utcm-brand-dark)}
.utcm-greet-panel{display:none;margin-top:var(--sp-2)}
.utcm-greet-panel input,.utcm-greet-panel textarea{
  display:block;width:100%;max-width:240px;margin:var(--sp-1) 0;border:1px solid var(--utcm-line);
  border-radius:var(--r-sm);padding:var(--sp-2);font-size:var(--fs-xs);font-family:inherit;
}
.utcm-greet-panel textarea{min-height:64px}
.utcm-greet-panel small{display:block;margin-top:var(--sp-1);color:var(--utcm-ink-soft)}

/* campi social */
.utcm-social-links{display:flex;gap:var(--sp-2);flex-wrap:wrap;margin-top:var(--sp-2)}
.utcm-social-link{
  display:inline-flex;align-items:center;justify-content:center;padding:var(--sp-1) var(--sp-3);
  border-radius:var(--r-pill);background:var(--utcm-line-soft);color:var(--utcm-brand-dark) !important;
  text-decoration:none;font-weight:700;font-size:var(--fs-xs);border:1px solid var(--utcm-line);
  transition:background-color .15s ease,color .15s ease;
}
.utcm-social-link:hover{background:var(--utcm-brand);color:var(--utcm-white) !important}

/* -------------------------------------------------------------------------
   10. FOTO PERSONALE (galleria / fotocamera)
   ------------------------------------------------------------------------- */
.utcm-photo-field{margin:var(--sp-5) 0}
.utcm-photo-field > label{display:block;margin-bottom:var(--sp-2);font-weight:700}
.utcm-photo-input{position:absolute !important;width:1px !important;height:1px !important;overflow:hidden !important;opacity:0 !important;pointer-events:none !important}
.utcm-photo-actions,.utcm-camera-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center}
.utcm-photo-actions button,.utcm-camera-actions button{
  border:1px solid var(--utcm-brand);background:var(--utcm-white);color:var(--utcm-brand);
  border-radius:var(--r-sm);padding:calc(11px * var(--s)) calc(15px * var(--s));font-weight:700;
  cursor:pointer;font-size:var(--fs-sm);transition:background-color .15s ease,color .15s ease;
}
.utcm-photo-actions button:hover,.utcm-camera-actions button:hover{background:var(--utcm-brand);color:var(--utcm-white)}
.utcm-photo-actions .utcm-photo-camera,.utcm-camera-actions .utcm-camera-shot{background:var(--utcm-brand);color:var(--utcm-white)}
.utcm-photo-preview{margin-top:var(--sp-3);max-width:220px}
.utcm-photo-preview img{width:calc(110px * var(--s));height:calc(110px * var(--s));border-radius:50%;object-fit:cover;border:3px solid var(--utcm-line);background:var(--utcm-cream)}
.utcm-camera-box{margin-top:var(--sp-3);padding:var(--sp-3);border:1px solid var(--utcm-line);border-radius:var(--r-md);background:var(--utcm-cream)}
.utcm-camera-box video{width:100%;max-width:420px;border-radius:var(--r-md);display:block;margin-bottom:var(--sp-3);background:#111}

/* -------------------------------------------------------------------------
   11. POPUP MAPPA E MODALE "STORIA"
   ------------------------------------------------------------------------- */
.utcm-popup-card{min-width:190px;max-width:245px;text-align:left;color:var(--utcm-ink);font-family:var(--f-body)}
.utcm-popup-photo,.utcm-popup-avatar{
  width:74px;height:74px;border-radius:50%;object-fit:cover;display:block;margin:0 auto var(--sp-2);
  border:2px solid var(--utcm-line);background:var(--utcm-cream);text-align:center;line-height:70px;font-size:27px;
}
.utcm-popup-name{font-weight:800;font-size:16px;text-align:center;color:var(--utcm-brand-ink);margin-bottom:3px}
.utcm-popup-place{text-align:center;font-size:13px;color:var(--utcm-ink-soft);margin-bottom:var(--sp-2)}
.utcm-popup-excerpt{font-size:13px;line-height:1.35;background:var(--utcm-cream);border:1px solid var(--utcm-line);border-radius:var(--r-sm);padding:9px;margin:var(--sp-2) 0;max-height:72px;overflow:hidden}

.utcm-story-modal{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:22px}
.utcm-story-modal.is-open{display:flex}
.utcm-story-backdrop{position:absolute;inset:0;background:rgba(21,14,11,.55);backdrop-filter:blur(3px)}
.utcm-story-box{
  position:relative;z-index:1;width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow:auto;
  background:var(--utcm-cream-2);border:1px solid var(--utcm-line);border-radius:24px;padding:28px;
  box-shadow:var(--utcm-shadow-lg);color:var(--utcm-ink);text-align:center;
}
.utcm-story-close{
  position:absolute;top:12px;right:14px;width:36px;height:36px;border-radius:50%;
  border:1px solid var(--utcm-line);background:var(--utcm-white);color:var(--utcm-brand-ink);
  font-size:22px;line-height:34px;cursor:pointer;transition:background-color .15s ease;
}
.utcm-story-close:hover{background:var(--utcm-line-soft)}
.utcm-story-photo{width:116px;height:116px;border-radius:50%;object-fit:cover;border:2px solid var(--utcm-line);background:var(--utcm-cream);margin:0 auto 14px;display:block}
.utcm-story-placeholder{line-height:112px;font-size:42px}
.utcm-story-box h3{font-family:var(--f-display);font-size:28px;line-height:1.1;margin:0 0 6px;color:var(--utcm-brand-ink)}
.utcm-story-place{font-weight:700;color:var(--utcm-ink-soft);margin:0 0 14px}
.utcm-story-text{text-align:left;line-height:1.55;background:var(--utcm-white);border:1px solid var(--utcm-line);border-radius:16px;padding:16px;margin:14px 0}

/* -------------------------------------------------------------------------
   12. BARRA DI NAVIGAZIONE MOBILE ("app bar")
   Attiva solo quando il JS del plugin aggiunge .utcm-mobile-app oppure
   html.utcm-mobile-viewport — nessuna modifica alla logica dello script inline.
   ------------------------------------------------------------------------- */
.utcm-appbar{display:none}

@media (max-width:768px){
  html.utcm-mobile-viewport body .utcm-appbar{display:grid}
}

:is(html.utcm-mobile-viewport body .utcm-wrap.utcm-breakout, .utcm-wrap.utcm-mobile-app) .utcm-appbar{
  position:fixed;left:10px;right:10px;bottom:10px;z-index:1000000;
  display:grid;grid-template-columns:1fr 1fr 1.15fr 1fr;gap:6px;align-items:center;
  padding:8px;border-radius:24px;background:rgba(255,250,246,.94);
  border:1px solid var(--utcm-line);box-shadow:var(--utcm-shadow-lg);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
:is(html.utcm-mobile-viewport body .utcm-wrap.utcm-breakout, .utcm-wrap.utcm-mobile-app) .utcm-appbar a{
  min-height:52px;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:3px;text-decoration:none;color:var(--utcm-brand-ink);background:var(--utcm-white);
  border:1px solid var(--utcm-line-soft);font-weight:700;line-height:1;padding:5px 2px;
}
:is(html.utcm-mobile-viewport body .utcm-wrap.utcm-breakout, .utcm-wrap.utcm-mobile-app) .utcm-appbar a span{font-size:19px;line-height:1;display:block}
:is(html.utcm-mobile-viewport body .utcm-wrap.utcm-breakout, .utcm-wrap.utcm-mobile-app) .utcm-appbar a em{font-style:normal;font-size:10.5px;white-space:nowrap}
:is(html.utcm-mobile-viewport body .utcm-wrap.utcm-breakout, .utcm-wrap.utcm-mobile-app) .utcm-appbar .utcm-appbar-main{
  min-height:60px;margin-top:-16px;background:var(--utcm-brand);color:var(--utcm-white);
  border-color:var(--utcm-brand);box-shadow:0 10px 22px rgba(94,42,13,.35);
}
:is(html.utcm-mobile-viewport body .utcm-wrap.utcm-breakout, .utcm-wrap.utcm-mobile-app) .utcm-appbar .utcm-appbar-main span{font-size:26px;font-weight:800;margin-bottom:0}

@media (min-width:769px){
  .utcm-appbar{display:none !important;visibility:hidden;pointer-events:none}
}

/* -------------------------------------------------------------------------
   13. MODALITÀ "APP" MOBILE — layout, non colori: unico blocco consolidato
   ------------------------------------------------------------------------- */
:is(html.utcm-mobile-viewport body .utcm-wrap.utcm-breakout, .utcm-wrap.utcm-mobile-app){
  width:100% !important;max-width:100% !important;margin:0 auto !important;transform:none !important;
  padding:0 12px calc(96px * var(--s)) !important;background:#f6efe7;border-radius:0;overflow:visible;
}
:is(html.utcm-mobile-viewport body .utcm-wrap.utcm-breakout, .utcm-wrap.utcm-mobile-app) .utcm-hero{
  display:block;margin:0 0 var(--sp-3);padding:var(--sp-5) var(--sp-4);
  border-radius:0 0 26px 26px;box-shadow:var(--utcm-shadow-md);
}
:is(html.utcm-mobile-viewport body .utcm-wrap.utcm-breakout, .utcm-wrap.utcm-mobile-app) .utcm-hero .utcm-button{display:none}
:is(html.utcm-mobile-viewport body .utcm-wrap.utcm-breakout, .utcm-wrap.utcm-mobile-app) .utcm-grid{
  display:flex;flex-direction:column;gap:var(--sp-3);border:0;background:transparent;overflow:visible;
}
:is(html.utcm-mobile-viewport body .utcm-wrap.utcm-breakout, .utcm-wrap.utcm-mobile-app) .utcm-mapbox{
  order:1;border:1px solid var(--utcm-line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--utcm-shadow-sm);
}
:is(html.utcm-mobile-viewport body .utcm-wrap.utcm-breakout, .utcm-wrap.utcm-mobile-app) .utcm-mapbox #utcm-map{height:56vh;min-height:340px;max-height:520px}
:is(html.utcm-mobile-viewport body .utcm-wrap.utcm-breakout, .utcm-wrap.utcm-mobile-app) .utcm-side{
  order:2;border:1px solid var(--utcm-line);border-radius:var(--r-lg);background:var(--utcm-cream-2);
  padding:var(--sp-4);box-shadow:var(--utcm-shadow-sm);
}
:is(html.utcm-mobile-viewport body .utcm-wrap.utcm-breakout, .utcm-wrap.utcm-mobile-app) label{font-size:var(--fs-md)}
:is(html.utcm-mobile-viewport body .utcm-wrap.utcm-breakout, .utcm-wrap.utcm-mobile-app) input,
:is(html.utcm-mobile-viewport body .utcm-wrap.utcm-breakout, .utcm-wrap.utcm-mobile-app) select,
:is(html.utcm-mobile-viewport body .utcm-wrap.utcm-breakout, .utcm-wrap.utcm-mobile-app) textarea{
  min-height:48px;border-radius:var(--r-md);font-size:16px;padding:12px 14px;
}
:is(html.utcm-mobile-viewport body .utcm-wrap.utcm-breakout, .utcm-wrap.utcm-mobile-app) textarea{min-height:92px}
:is(html.utcm-mobile-viewport body .utcm-wrap.utcm-breakout, .utcm-wrap.utcm-mobile-app) .utcm-stat{
  display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);text-align:left;
}
:is(html.utcm-mobile-viewport body .utcm-wrap.utcm-breakout, .utcm-wrap.utcm-mobile-app) .utcm-person{padding-left:56px}
:is(html.utcm-mobile-viewport body .utcm-wrap.utcm-breakout, .utcm-wrap.utcm-mobile-app) .utcm-person img{width:44px;height:44px;top:12px}
:is(html.utcm-mobile-viewport body .utcm-wrap.utcm-breakout, .utcm-wrap.utcm-mobile-app) .utcm-featured>div,
:is(html.utcm-mobile-viewport body .utcm-wrap.utcm-breakout, .utcm-wrap.utcm-mobile-app) .utcm-family-tree{
  display:flex;overflow-x:auto;gap:var(--sp-3);padding-bottom:var(--sp-2);scroll-snap-type:x mandatory;
}
:is(html.utcm-mobile-viewport body .utcm-wrap.utcm-breakout, .utcm-wrap.utcm-mobile-app) .utcm-featured article{
  flex:0 0 82%;min-width:82%;scroll-snap-align:start;
}
:is(html.utcm-mobile-viewport body .utcm-wrap.utcm-breakout, .utcm-wrap.utcm-mobile-app) .utcm-form-grid,
:is(html.utcm-mobile-viewport body .utcm-wrap.utcm-breakout, .utcm-wrap.utcm-mobile-app) .utcm-stats-grid{
  display:block;grid-template-columns:1fr;
}
:is(html.utcm-mobile-viewport body .utcm-wrap.utcm-breakout, .utcm-wrap.utcm-mobile-app) .utcm-stats-cards{
  grid-template-columns:repeat(2,1fr);
}
:is(html.utcm-mobile-viewport body .utcm-wrap.utcm-breakout, .utcm-wrap.utcm-mobile-app) .utcm-secondary,
:is(html.utcm-mobile-viewport body .utcm-wrap.utcm-breakout, .utcm-wrap.utcm-mobile-app) .utcm-submit{
  width:100%;min-height:50px;text-align:center;white-space:normal;
}
:is(html.utcm-mobile-viewport body .utcm-wrap.utcm-breakout, .utcm-wrap.utcm-mobile-app) .utcm-legend{
  overflow-x:auto;white-space:nowrap;flex-wrap:nowrap;background:var(--utcm-white);
}

/* -------------------------------------------------------------------------
   14. BREAKPOINT DI SICUREZZA (fallback prima che il JS applichi la classe)
   Stesse regole del blocco 13, applicate anche su viewport reale <=768px.
   ------------------------------------------------------------------------- */
@media (max-width:768px){
  .utcm-wrap.utcm-breakout{
    width:100vw !important;max-width:100vw !important;margin-left:50% !important;
    transform:translateX(-50%) !important;padding:0 12px calc(96px * var(--s)) !important;
    background:#f6efe7;border-radius:0;
  }
  .utcm-wrap.utcm-breakout .utcm-hero{display:block;border-radius:0 0 26px 26px}
  .utcm-wrap.utcm-breakout .utcm-hero .utcm-button{display:none}
  .utcm-wrap.utcm-breakout .utcm-grid{display:flex;flex-direction:column;gap:var(--sp-3);border:0;background:transparent}
  .utcm-wrap.utcm-breakout .utcm-mapbox{order:1}
  .utcm-wrap.utcm-breakout .utcm-mapbox #utcm-map{height:56vh;min-height:340px;max-height:520px}
  .utcm-wrap.utcm-breakout .utcm-side{order:2}
  .utcm-wrap.utcm-breakout input,.utcm-wrap.utcm-breakout select,.utcm-wrap.utcm-breakout textarea{min-height:48px;font-size:16px}
  .utcm-wrap.utcm-breakout .utcm-form-grid,.utcm-wrap.utcm-breakout .utcm-stats-grid{display:block;grid-template-columns:1fr}
  .utcm-wrap.utcm-breakout .utcm-stats-cards{grid-template-columns:repeat(2,1fr)}
  .utcm-wrap.utcm-breakout .utcm-featured>div,.utcm-wrap.utcm-breakout .utcm-family-tree{display:flex;overflow-x:auto;gap:var(--sp-3)}
  .utcm-wrap.utcm-breakout .utcm-featured article{flex:0 0 82%;min-width:82%}
  .utcm-wrap.utcm-breakout .utcm-secondary,.utcm-wrap.utcm-breakout .utcm-submit{width:100%;text-align:center}

  .utcm-popup-card{max-width:210px;min-width:175px}
  .utcm-story-box{padding:20px 16px;border-radius:22px}
  .utcm-story-box h3{font-size:23px}
  .utcm-photo-actions button,.utcm-camera-actions button{width:100%;justify-content:center}
  .utcm-photo-preview img{width:calc(90px * var(--s));height:calc(90px * var(--s))}
  .leaflet-control-zoom a{width:36px !important;height:36px !important;line-height:36px !important;font-size:20px !important}
}

/* telefoni molto piccoli: rifinitura dimensioni, stesso impianto */
@media (max-width:480px){
  .utcm-hero h2{font-size:24px}
  .utcm-hero p{font-size:13.5px}
  .utcm-form h3,.utcm-featured h3,.utcm-stats-head h3{font-size:20px}
  .utcm-stats-cards strong{font-size:24px}
  .utcm-form,.utcm-side,.utcm-featured,.utcm-family-section,.utcm-stats-section{padding:var(--sp-4)}
  .utcm-appbar a span{font-size:17px}
  .utcm-appbar a em{font-size:9.5px}
}

/* -------------------------------------------------------------------------
   14. Invito, condivisione e scheda personale — v3.0.30
   ------------------------------------------------------------------------- */
.utcm-callout{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-3);
  margin:calc(-1 * var(--sp-2)) 0 var(--sp-5);
}
.utcm-callout article{
  background:var(--utcm-white);border:1px solid var(--utcm-line);border-radius:var(--r-md);
  padding:var(--sp-4);box-shadow:var(--utcm-shadow-sm);
}
.utcm-callout strong{display:block;font-family:var(--f-display);font-size:var(--fs-lg);color:var(--utcm-brand-ink);line-height:1.1;margin-bottom:var(--sp-2)}
.utcm-callout span{display:block;color:var(--utcm-ink-soft);font-size:var(--fs-sm);line-height:1.45}
.utcm-share-project,.utcm-story-share{
  display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;
  background:var(--utcm-cream-2);border:1px solid var(--utcm-line);border-radius:var(--r-md);
  padding:var(--sp-3) var(--sp-4);margin:0 0 var(--sp-5);
}
.utcm-share-project span,.utcm-story-share span{font-weight:700;color:var(--utcm-brand-ink);margin-right:var(--sp-1)}
.utcm-share-project a,.utcm-share-project button,.utcm-story-share a,.utcm-story-share button{
  border:1px solid var(--utcm-line);background:var(--utcm-white);color:var(--utcm-brand-ink) !important;
  border-radius:var(--r-pill);padding:calc(7px * var(--s)) calc(12px * var(--s));font-size:var(--fs-xs);
  text-decoration:none;font-weight:700;cursor:pointer;line-height:1.2;
}
.utcm-share-project a:hover,.utcm-share-project button:hover,.utcm-story-share a:hover,.utcm-story-share button:hover{border-color:var(--utcm-brand);color:var(--utcm-brand) !important}
.utcm-form-intro{
  display:flex;gap:var(--sp-2);align-items:flex-start;flex-wrap:wrap;
  margin:0 0 var(--sp-4);padding:var(--sp-3) var(--sp-4);
  border:1px solid var(--utcm-line);background:var(--utcm-cream-2);border-radius:var(--r-md);
}
.utcm-form-intro strong{color:var(--utcm-brand-ink);font-family:var(--f-display);font-size:var(--fs-lg);line-height:1.15}
.utcm-form-intro span{color:var(--utcm-ink-soft);font-size:var(--fs-sm);line-height:1.4;flex:1;min-width:220px}
.utcm-story-share{justify-content:center;margin:var(--sp-4) 0 0;background:var(--utcm-white)}
.utcm-story-box .utcm-social-links{justify-content:center;margin-top:var(--sp-3)}

@media (max-width: 900px){
  .utcm-callout{grid-template-columns:1fr;gap:var(--sp-2)}
  .utcm-callout article{padding:var(--sp-3)}
  .utcm-share-project{align-items:flex-start}
}
:is(html.utcm-mobile-viewport body .utcm-wrap.utcm-breakout, .utcm-wrap.utcm-mobile-app) .utcm-callout{
  display:block;margin:var(--sp-3) 0;
}
:is(html.utcm-mobile-viewport body .utcm-wrap.utcm-breakout, .utcm-wrap.utcm-mobile-app) .utcm-callout article{
  margin-bottom:var(--sp-2);padding:var(--sp-3);border-radius:18px;
}
:is(html.utcm-mobile-viewport body .utcm-wrap.utcm-breakout, .utcm-wrap.utcm-mobile-app) .utcm-share-project{
  margin:var(--sp-2) 0 var(--sp-3);padding:var(--sp-3);border-radius:18px;
}
:is(html.utcm-mobile-viewport body .utcm-wrap.utcm-breakout, .utcm-wrap.utcm-mobile-app) .utcm-share-project span{flex-basis:100%;font-size:var(--fs-sm)}
:is(html.utcm-mobile-viewport body .utcm-wrap.utcm-breakout, .utcm-wrap.utcm-mobile-app) .utcm-form-intro{padding:var(--sp-3);border-radius:18px}

/* -------------------------------------------------------------------------
   Scheda storia evoluta + galleria foto (v3.0.31)
   ------------------------------------------------------------------------- */
.utcm-story-profile{
  width:min(980px,calc(100vw - 34px)) !important;
  padding:22px !important;
  text-align:left !important;
  background:linear-gradient(180deg,#fffdf9 0%,#fbf4ec 100%) !important;
}
.utcm-story-profile .utcm-story-close{top:16px;right:16px;z-index:3}
.utcm-story-top{display:grid;grid-template-columns:300px 1fr;gap:24px;align-items:start}
.utcm-story-left{
  background:var(--utcm-white);border:1px solid var(--utcm-line);border-radius:22px;
  padding:18px;text-align:center;box-shadow:var(--utcm-shadow-sm)
}
.utcm-story-profile .utcm-story-photo{
  width:230px;height:230px;border-radius:50%;margin:0 auto 18px;
  border:4px solid var(--utcm-line);box-shadow:0 18px 34px rgba(77,40,23,.14)
}
.utcm-story-profile .utcm-story-placeholder{line-height:222px;font-size:70px}
.utcm-story-quote{font-family:var(--f-display);font-size:17px;line-height:1.45;color:var(--utcm-brand-ink);margin:0 auto;max-width:240px}
.utcm-story-quote:before,.utcm-story-quote:after{content:'”';color:var(--utcm-brand);font-size:28px;line-height:0;vertical-align:-8px;margin:0 5px}
.utcm-story-badge{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--utcm-line);border-radius:999px;background:var(--utcm-cream);padding:6px 12px;color:var(--utcm-brand);font-weight:800;font-size:12px;margin:0 0 10px}
.utcm-story-profile h3{font-size:34px !important;text-align:left;margin:0 0 4px !important}
.utcm-story-profile .utcm-story-place{font-size:16px;text-align:left;margin:0 0 16px;color:var(--utcm-brand-ink)}
.utcm-story-info{border:1px solid var(--utcm-line);border-radius:16px;overflow:hidden;background:var(--utcm-white);margin:14px 0}
.utcm-story-info div{display:grid;grid-template-columns:190px 1fr;gap:14px;padding:11px 14px;border-bottom:1px solid var(--utcm-line-soft);align-items:center}
.utcm-story-info div:last-child{border-bottom:0}
.utcm-story-info span{color:var(--utcm-ink-soft);font-size:13px;font-weight:800}
.utcm-story-info strong{color:var(--utcm-ink);font-size:14px;font-weight:700}
.utcm-story-profile .utcm-story-text{margin:16px 0 0;background:var(--utcm-white);border-radius:18px;padding:18px 20px;line-height:1.62;font-size:15px;text-align:left}
.utcm-story-profile .utcm-story-text strong{display:block;font-family:var(--f-display);font-size:19px;color:var(--utcm-brand-ink);margin-bottom:8px}
.utcm-story-gallery{margin:22px 0 0;background:var(--utcm-white);border:1px solid var(--utcm-line);border-radius:18px;padding:16px}
.utcm-story-gallery h4{margin:0 0 12px;font-family:var(--f-display);font-size:20px;color:var(--utcm-brand-ink)}
.utcm-story-gallery>div{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.utcm-story-gallery img{width:100%;aspect-ratio:1.25/1;object-fit:cover;border-radius:13px;border:1px solid var(--utcm-line);box-shadow:var(--utcm-shadow-sm);cursor:pointer}
.utcm-story-profile .utcm-greet{margin-top:20px;background:var(--utcm-white);border:1px solid var(--utcm-line);border-radius:18px;padding:16px}
.utcm-story-profile .utcm-story-share{justify-content:flex-start;margin:20px 0 0;background:var(--utcm-white);border-radius:18px}
.utcm-story-privacy{margin:14px 0 0;padding:12px 14px;border-radius:14px;background:#fff5f4;border:1px solid #f0d5d0;color:var(--utcm-ink-soft);font-size:13px}
.utcm-gallery-field{margin:14px 0;padding:16px;border:1px solid var(--utcm-line);border-radius:18px;background:var(--utcm-cream-2)}
.utcm-gallery-field>label{display:block;font-weight:800;color:var(--utcm-brand-ink);margin-bottom:10px}
.utcm-gallery-field input[type="file"]{width:100%;background:var(--utcm-white);border:1px solid var(--utcm-line);border-radius:14px;padding:10px}
.utcm-existing-gallery{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:0 0 10px}
.utcm-existing-gallery img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px;border:1px solid var(--utcm-line)}
@media (max-width: 760px){
  .utcm-story-profile{width:calc(100vw - 22px) !important;padding:14px !important;border-radius:18px !important}
  .utcm-story-top{grid-template-columns:1fr;gap:14px}
  .utcm-story-left{padding:13px;border-radius:18px}
  .utcm-story-profile .utcm-story-photo{width:150px;height:150px;margin-bottom:10px}
  .utcm-story-profile .utcm-story-placeholder{line-height:142px;font-size:48px}
  .utcm-story-profile h3{font-size:25px !important;text-align:center;padding-right:24px}
  .utcm-story-profile .utcm-story-place{text-align:center;font-size:13px}
  .utcm-story-badge{display:flex;width:max-content;margin:0 auto 8px;font-size:11px}
  .utcm-story-info div{grid-template-columns:1fr;gap:3px;padding:9px 12px}
  .utcm-story-gallery>div{grid-template-columns:repeat(2,1fr);gap:8px}
  .utcm-story-profile .utcm-story-share{justify-content:center}
  .utcm-existing-gallery{grid-template-columns:repeat(3,1fr)}
}

/* -------------------------------------------------------------------------
   Scheda storia premium — v3.0.32
   Solo grafica della finestra "Scopri la storia".
   ------------------------------------------------------------------------- */
.utcm-story-modal.is-open{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:18px !important;
}
.utcm-story-modal .utcm-story-backdrop{
  background:rgba(17,14,12,.62) !important;
  backdrop-filter:blur(5px) !important;
  -webkit-backdrop-filter:blur(5px) !important;
}
.utcm-story-modal .utcm-story-profile{
  width:min(1040px,calc(100vw - 36px)) !important;
  max-height:calc(100vh - 40px) !important;
  overflow:auto !important;
  border-radius:16px !important;
  background:#fffdf9 !important;
  border:1px solid #ead7c9 !important;
  box-shadow:0 28px 90px rgba(0,0,0,.34) !important;
  padding:26px !important;
  color:#201611 !important;
  text-align:left !important;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
}
.utcm-story-head{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  margin:0 0 22px !important;
}
.utcm-story-back{
  border:0 !important;
  background:transparent !important;
  color:#9b1913 !important;
  font-weight:800 !important;
  cursor:pointer !important;
  font-size:14px !important;
  padding:0 !important;
}
.utcm-story-head .utcm-story-badge{
  margin:0 !important;
  color:#2c1a12 !important;
  background:transparent !important;
  border:0 !important;
  font-family:Fraunces,Georgia,serif !important;
  font-size:16px !important;
  font-weight:800 !important;
  padding:0 !important;
}
.utcm-story-head-actions{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
}
.utcm-story-head-actions a{
  color:#9b1913 !important;
  text-decoration:none !important;
  font-weight:700 !important;
  font-size:13px !important;
}
.utcm-story-modal .utcm-story-close{
  position:static !important;
  width:34px !important;
  height:34px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:50% !important;
  border:1px solid #b21c16 !important;
  background:#fff !important;
  color:#9b1913 !important;
  font-size:24px !important;
  line-height:1 !important;
  cursor:pointer !important;
}
.utcm-story-modal .utcm-story-top{
  display:grid !important;
  grid-template-columns:340px minmax(0,1fr) !important;
  gap:28px !important;
  align-items:start !important;
}
.utcm-story-modal .utcm-story-left{
  background:linear-gradient(180deg,#fffaf4,#fff7ef) !important;
  border:1px solid #ead7c9 !important;
  border-radius:10px !important;
  box-shadow:0 10px 28px rgba(79,42,24,.08) !important;
  padding:16px !important;
  text-align:center !important;
}
.utcm-story-modal .utcm-story-photo{
  width:292px !important;
  height:292px !important;
  border-radius:50% !important;
  object-fit:cover !important;
  margin:0 auto 18px !important;
  border:0 !important;
  box-shadow:none !important;
  background:#f5eee7 !important;
}
.utcm-story-modal .utcm-story-placeholder{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:76px !important;
  line-height:1 !important;
}
.utcm-story-modal .utcm-story-quote{
  max-width:250px !important;
  margin:0 auto !important;
  color:#2c1a12 !important;
  font-family:Fraunces,Georgia,serif !important;
  font-size:16px !important;
  line-height:1.45 !important;
  text-align:center !important;
}
.utcm-story-modal .utcm-story-quote:before,
.utcm-story-modal .utcm-story-quote:after{
  color:#a01812 !important;
  font-size:30px !important;
  font-weight:800 !important;
}
.utcm-story-modal .utcm-story-right h3{
  font-family:Fraunces,Georgia,serif !important;
  font-size:36px !important;
  line-height:1.05 !important;
  margin:0 0 6px !important;
  color:#201611 !important;
  text-align:left !important;
}
.utcm-story-modal .utcm-story-place{
  margin:0 0 18px !important;
  color:#3b2118 !important;
  font-size:16px !important;
  font-weight:800 !important;
  text-align:left !important;
}
.utcm-story-modal .utcm-story-info{
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  margin:0 0 16px !important;
}
.utcm-story-modal .utcm-story-info div{
  display:grid !important;
  grid-template-columns:210px minmax(0,1fr) !important;
  gap:18px !important;
  align-items:center !important;
  padding:10px 0 !important;
  border-bottom:1px solid #ead7c9 !important;
}
.utcm-story-modal .utcm-story-info span{
  color:#3b2118 !important;
  font-size:13px !important;
  font-weight:800 !important;
}
.utcm-story-modal .utcm-story-info strong{
  color:#201611 !important;
  font-size:14px !important;
  font-weight:600 !important;
}
.utcm-story-modal .utcm-story-text{
  margin:18px 0 0 !important;
  background:#fffaf7 !important;
  border:1px solid #ead7c9 !important;
  border-radius:8px !important;
  padding:16px 18px !important;
  line-height:1.58 !important;
  color:#201611 !important;
}
.utcm-story-modal .utcm-story-text strong{
  display:block !important;
  font-family:Fraunces,Georgia,serif !important;
  font-size:17px !important;
  margin:0 0 10px !important;
  color:#2c1a12 !important;
}
.utcm-story-modal .utcm-story-text p{
  margin:0 !important;
  font-size:14px !important;
}
.utcm-story-modal .utcm-story-gallery{
  margin:24px 0 0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
}
.utcm-story-modal .utcm-story-gallery h4,
.utcm-story-modal .utcm-story-card h4{
  margin:0 0 12px !important;
  font-family:Fraunces,Georgia,serif !important;
  font-size:18px !important;
  color:#2c1a12 !important;
}
.utcm-story-modal .utcm-story-gallery-grid{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:14px !important;
}
.utcm-story-modal .utcm-story-gallery img{
  width:100% !important;
  aspect-ratio:1.25/1 !important;
  object-fit:cover !important;
  border-radius:7px !important;
  border:1px solid #ead7c9 !important;
  box-shadow:0 8px 22px rgba(43,27,20,.10) !important;
}
.utcm-story-lower{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:22px !important;
  margin:24px 0 0 !important;
}
.utcm-story-card,
.utcm-story-modal .utcm-greet,
.utcm-story-modal .utcm-story-share{
  background:#fffdf9 !important;
  border:1px solid #ead7c9 !important;
  border-radius:8px !important;
  padding:16px !important;
  box-shadow:none !important;
}
.utcm-story-modal .utcm-social-links{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:8px !important;
  margin:0 !important;
}
.utcm-story-modal .utcm-social-links a{
  color:#2c1a12 !important;
  text-decoration:none !important;
  font-weight:600 !important;
}
.utcm-story-modal .utcm-greet{margin:0 !important}
.utcm-story-modal .utcm-greet-toggle,
.utcm-story-modal .utcm-greet-send{
  background:#9b1913 !important;
  color:#fff !important;
  border:0 !important;
  border-radius:6px !important;
  padding:9px 18px !important;
  font-weight:800 !important;
  cursor:pointer !important;
}
.utcm-story-modal .utcm-story-share{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  flex-wrap:wrap !important;
  margin:24px 0 0 !important;
}
.utcm-story-modal .utcm-story-share span{
  flex-basis:100% !important;
  font-family:Fraunces,Georgia,serif !important;
  font-size:18px !important;
  color:#2c1a12 !important;
  font-weight:800 !important;
  margin:0 !important;
}
.utcm-story-modal .utcm-story-share a,
.utcm-story-modal .utcm-story-share button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:38px !important;
  border-radius:6px !important;
  padding:8px 18px !important;
  border:1px solid #d7c1b2 !important;
  background:#fff !important;
  color:#2c1a12 !important;
  text-decoration:none !important;
  font-size:13px !important;
  font-weight:800 !important;
  cursor:pointer !important;
}
.utcm-story-modal .utcm-share-wa{background:#20b45b !important;color:#fff !important;border-color:#20b45b !important}
.utcm-story-modal .utcm-share-fb{background:#2854a3 !important;color:#fff !important;border-color:#2854a3 !important}
.utcm-story-modal .utcm-share-native{background:#262323 !important;color:#fff !important;border-color:#262323 !important}
.utcm-story-modal .utcm-story-privacy{
  margin:18px 0 0 !important;
  border:1px solid #f1d3d0 !important;
  background:#fff6f5 !important;
  color:#6f5146 !important;
  border-radius:8px !important;
  padding:12px 14px !important;
  font-size:13px !important;
}
@media (max-width: 820px){
  .utcm-story-modal{padding:10px !important;align-items:flex-start !important}
  .utcm-story-modal .utcm-story-profile{width:calc(100vw - 20px) !important;max-height:calc(100vh - 20px) !important;padding:16px !important;border-radius:14px !important}
  .utcm-story-head{align-items:flex-start !important;gap:8px !important;flex-wrap:wrap !important}
  .utcm-story-head .utcm-story-badge{order:3;width:100% !important;text-align:center !important;display:block !important}
  .utcm-story-head-actions{margin-left:auto !important}
  .utcm-story-head-actions a{display:none !important}
  .utcm-story-modal .utcm-story-top{grid-template-columns:1fr !important;gap:14px !important}
  .utcm-story-modal .utcm-story-left{padding:12px !important}
  .utcm-story-modal .utcm-story-photo{width:168px !important;height:168px !important;margin-bottom:10px !important}
  .utcm-story-modal .utcm-story-placeholder{font-size:50px !important}
  .utcm-story-modal .utcm-story-right h3{text-align:center !important;font-size:26px !important;margin-top:4px !important}
  .utcm-story-modal .utcm-story-place{text-align:center !important;font-size:13px !important}
  .utcm-story-modal .utcm-story-info div{grid-template-columns:1fr !important;gap:4px !important;padding:9px 0 !important}
  .utcm-story-modal .utcm-story-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:8px !important}
  .utcm-story-lower{grid-template-columns:1fr !important;gap:12px !important}
  .utcm-story-modal .utcm-story-share a,
  .utcm-story-modal .utcm-story-share button{flex:1 1 100% !important;width:100% !important}
}

/* -------------------------------------------------------------------------
   Cenadesi nel Mondo 4.0 — piattaforma personale, galleria, relazioni
   Interventi solo HTML/CSS/JS: nessuna modifica a database, salvataggi o admin.
   ------------------------------------------------------------------------- */
.utcm-wrap{
  --utcm-bordeaux:#8f1f18;
  --utcm-gold:#c78a43;
  --utcm-deep:#20130f;
  --utcm-surface:#fffaf4;
  --utcm-surface-2:#f8efe5;
}
.utcm-story-modal .utcm-story-v4{
  width:min(1080px,calc(100vw - 36px)) !important;
  padding:0 26px 26px !important;
  border-radius:22px !important;
  background:linear-gradient(180deg,#fffaf3 0%,#fffdf9 36%,#f8efe6 100%) !important;
  border:1px solid rgba(143,31,24,.22) !important;
  overflow:auto !important;
}
.utcm-story-v4 .utcm-story-cover{
  min-height:132px !important;
  margin:0 -26px 22px !important;
  border-radius:22px 22px 0 0 !important;
  background:
    radial-gradient(circle at 18% 10%, rgba(255,255,255,.34), transparent 34%),
    linear-gradient(135deg, rgba(32,19,15,.94), rgba(143,31,24,.92) 58%, rgba(199,138,67,.78));
  position:relative !important;
  overflow:hidden !important;
}
.utcm-story-v4 .utcm-story-cover:after{
  content:'';position:absolute;inset:auto -10% -42px -10%;height:86px;
  background:rgba(255,250,244,.96);border-radius:50% 50% 0 0;
}
.utcm-story-v4 .utcm-story-cover-inner{
  position:relative;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px;
}
.utcm-story-v4 .utcm-story-badge{
  display:inline-flex !important;align-items:center !important;gap:8px !important;
  padding:9px 14px !important;border-radius:999px !important;background:rgba(255,255,255,.92) !important;
  border:1px solid rgba(255,255,255,.55) !important;color:var(--utcm-bordeaux) !important;
  font-family:Inter,system-ui,sans-serif !important;font-size:12px !important;font-weight:900 !important;
  letter-spacing:.03em !important;text-transform:uppercase !important;box-shadow:0 12px 30px rgba(20,8,4,.18) !important;
}
.utcm-story-v4 .utcm-story-close{
  position:relative !important;z-index:3 !important;background:rgba(255,255,255,.95) !important;border:0 !important;
  color:var(--utcm-bordeaux) !important;box-shadow:0 12px 30px rgba(20,8,4,.18) !important;
}
.utcm-story-v4 > .utcm-story-back{
  margin:-12px 0 16px !important;color:var(--utcm-bordeaux) !important;background:transparent !important;
  font-size:13px !important;font-weight:900 !important;border:0 !important;padding:0 !important;
}
.utcm-story-v4 .utcm-story-top{
  display:grid !important;grid-template-columns:330px minmax(0,1fr) !important;gap:28px !important;align-items:start !important;
}
.utcm-story-v4 .utcm-story-left{
  margin-top:-98px !important;position:relative !important;z-index:3 !important;background:#fffdf9 !important;
  border:1px solid rgba(143,31,24,.18) !important;border-radius:22px !important;padding:18px !important;
  box-shadow:0 24px 52px rgba(57,29,17,.16) !important;text-align:center !important;
}
.utcm-story-v4 .utcm-story-photo{
  width:260px !important;height:260px !important;border-radius:50% !important;object-fit:cover !important;
  margin:0 auto 16px !important;border:7px solid #fff !important;box-shadow:0 16px 38px rgba(55,30,18,.18) !important;
  background:#f3e8dc !important;
}
.utcm-story-v4 .utcm-story-placeholder{display:flex !important;align-items:center !important;justify-content:center !important;font-size:72px !important}
.utcm-story-v4 .utcm-story-quote{font-size:16px !important;color:#3b2118 !important;line-height:1.48 !important}
.utcm-story-v4 .utcm-story-right h3{
  font-family:Fraunces,Georgia,serif !important;font-size:42px !important;line-height:1 !important;
  color:#1f130f !important;letter-spacing:-.02em !important;margin:0 0 8px !important;text-align:left !important;
}
.utcm-story-v4 .utcm-story-place{color:#5e3729 !important;font-size:16px !important;font-weight:900 !important;margin:0 0 18px !important;text-align:left !important}
.utcm-story-v4 .utcm-story-info{
  background:#fffdf9 !important;border:1px solid rgba(143,31,24,.16) !important;border-radius:16px !important;
  overflow:hidden !important;margin:0 0 16px !important;
}
.utcm-story-v4 .utcm-story-info div{
  grid-template-columns:180px minmax(0,1fr) !important;padding:12px 16px !important;border-bottom:1px solid rgba(143,31,24,.12) !important;
}
.utcm-story-v4 .utcm-story-info a{color:var(--utcm-bordeaux) !important;text-decoration:none !important;word-break:break-all !important}
.utcm-story-v4 .utcm-story-text{
  border-radius:18px !important;background:#fffdf9 !important;border:1px solid rgba(143,31,24,.16) !important;
  box-shadow:0 8px 26px rgba(57,29,17,.06) !important;
}
.utcm-story-sections{
  display:grid !important;grid-template-columns:1fr 1fr !important;gap:18px !important;margin:24px 0 0 !important;
}
.utcm-person-mini-map,.utcm-story-timeline,.utcm-story-relations{
  background:#fffdf9;border:1px solid rgba(143,31,24,.16);border-radius:18px;padding:18px;box-shadow:0 8px 26px rgba(57,29,17,.06);
}
.utcm-person-mini-map h4,.utcm-story-timeline h4,.utcm-story-relations h4,
.utcm-person-mini-map h2,.utcm-story-timeline h2,.utcm-story-relations h2{
  margin:0 0 14px;font-family:Fraunces,Georgia,serif;color:#261711;font-size:20px;line-height:1.1;
}
.utcm-person-mini-map > div{
  min-height:86px;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;
  background:linear-gradient(90deg,#fff6ed,#f7e7d8);border:1px solid rgba(143,31,24,.12);border-radius:14px;padding:14px;
}
.utcm-person-mini-map span{font-weight:900;color:#2a1710;white-space:nowrap}
.utcm-person-mini-map i{height:3px;border-radius:99px;background:linear-gradient(90deg,var(--utcm-bordeaux),var(--utcm-gold));position:relative;display:block}
.utcm-person-mini-map i:before,.utcm-person-mini-map i:after{content:'';position:absolute;top:50%;width:12px;height:12px;border-radius:50%;background:var(--utcm-bordeaux);transform:translateY(-50%)}
.utcm-person-mini-map i:before{left:0}.utcm-person-mini-map i:after{right:0;background:var(--utcm-gold)}
.utcm-person-mini-map small{display:block;margin-top:9px;color:#715246;font-weight:700}
.utcm-story-timeline ol{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.utcm-story-timeline li{position:relative;padding:10px 12px 10px 38px;background:#fff7ef;border:1px solid rgba(143,31,24,.12);border-radius:13px}
.utcm-story-timeline li:before{content:'';position:absolute;left:14px;top:16px;width:10px;height:10px;border-radius:50%;background:var(--utcm-bordeaux);box-shadow:0 0 0 4px rgba(143,31,24,.12)}
.utcm-story-timeline strong{display:block;color:#261711;font-size:14px}.utcm-story-timeline span{display:block;color:#78584b;font-size:12px;font-weight:700}
.utcm-story-v4 .utcm-story-gallery{margin-top:22px !important;background:#fffdf9 !important;border:1px solid rgba(143,31,24,.16) !important;border-radius:18px !important;padding:18px !important}
.utcm-story-v4 .utcm-story-gallery-grid{display:grid !important;grid-template-columns:repeat(5,minmax(0,1fr)) !important;gap:10px !important}
.utcm-gallery-thumb{border:0;background:transparent;padding:0;cursor:pointer;border-radius:12px;overflow:hidden;display:block}
.utcm-story-v4 .utcm-gallery-thumb img,.utcm-story-v4 .utcm-story-gallery img{
  width:100% !important;aspect-ratio:1.18/1 !important;object-fit:cover !important;border-radius:12px !important;
  border:1px solid rgba(143,31,24,.16) !important;transition:transform .16s ease, filter .16s ease !important;
}
.utcm-gallery-thumb:hover img{transform:scale(1.035);filter:saturate(1.05)}
.utcm-story-relations{margin-top:22px}
.utcm-story-relations > h4{font-size:22px;margin-bottom:16px}
.utcm-relation-group{border-top:1px solid rgba(143,31,24,.12);padding-top:14px;margin-top:14px}
.utcm-relation-group:first-of-type{border-top:0;padding-top:0;margin-top:0}
.utcm-relation-group h4,.utcm-relation-group h3{font-family:Inter,system-ui,sans-serif !important;font-size:13px !important;text-transform:uppercase;letter-spacing:.04em;color:#714537 !important;margin:0 0 10px !important}
.utcm-relation-group p{margin:0;color:#8b7066;font-size:13px;font-weight:600}
.utcm-relation-people{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px}
.utcm-related-person,.utcm-relation-people a{
  flex:0 0 118px;min-height:126px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:7px;
  border:1px solid rgba(143,31,24,.14);border-radius:15px;background:#fff7ef;color:#261711;text-decoration:none;padding:10px;cursor:pointer;
}
.utcm-related-person img,.utcm-relation-people a img,.utcm-related-person span,.utcm-relation-people a span{
  width:54px;height:54px;border-radius:50%;object-fit:cover;background:#ead8c9;display:flex;align-items:center;justify-content:center;font-size:24px;
}
.utcm-related-person b,.utcm-relation-people a b{font-size:12px;line-height:1.15;text-align:center;color:#261711}
.utcm-related-person small,.utcm-relation-people a small{font-size:11px;line-height:1.15;color:#7d5c4e;text-align:center}
.utcm-story-v4 .utcm-story-lower{grid-template-columns:1fr 1fr !important;gap:18px !important}
.utcm-story-v4 .utcm-story-card,.utcm-story-v4 .utcm-greet,.utcm-story-v4 .utcm-story-share{
  background:#fffdf9 !important;border:1px solid rgba(143,31,24,.16) !important;border-radius:18px !important;
}
.utcm-muted{margin:0;color:#8b7066;font-size:14px;font-weight:600}
.utcm-story-v4 .utcm-story-share{display:flex !important;gap:8px !important;align-items:center !important;flex-wrap:wrap !important}
.utcm-story-v4 .utcm-story-share a,.utcm-story-v4 .utcm-story-share button{
  min-height:36px !important;border-radius:999px !important;padding:8px 13px !important;font-size:12px !important;
}
.utcm-story-v4 .utcm-share-wa{background:#18a957 !important;color:#fff !important;border-color:#18a957 !important}
.utcm-story-v4 .utcm-share-fb{background:#2854a3 !important;color:#fff !important;border-color:#2854a3 !important}
.utcm-story-v4 .utcm-share-ms{background:#6d42d8 !important;color:#fff !important;border-color:#6d42d8 !important}
.utcm-story-v4 .utcm-share-tg{background:#258dcc !important;color:#fff !important;border-color:#258dcc !important}
.utcm-story-v4 .utcm-share-mail{background:#8f1f18 !important;color:#fff !important;border-color:#8f1f18 !important}
.utcm-story-v4 .utcm-share-copy,.utcm-story-v4 .utcm-share-qr,.utcm-story-v4 .utcm-share-native{background:#2b211d !important;color:#fff !important;border-color:#2b211d !important}

.utcm-gallery-lightbox,.utcm-qr-modal{position:fixed;inset:0;z-index:1000001;display:none;align-items:center;justify-content:center;padding:18px}
.utcm-gallery-lightbox.is-open,.utcm-qr-modal.is-open{display:flex}
.utcm-gallery-lightbox-bg,.utcm-qr-backdrop{position:absolute;inset:0;background:rgba(14,10,8,.78);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.utcm-gallery-lightbox-box,.utcm-qr-box{position:relative;z-index:2;max-width:min(980px,calc(100vw - 28px));max-height:calc(100vh - 28px);display:flex;align-items:center;justify-content:center}
.utcm-gallery-lightbox img{max-width:min(900px,calc(100vw - 70px));max-height:calc(100vh - 120px);border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.45);object-fit:contain;cursor:zoom-in;transition:transform .18s ease}
.utcm-gallery-lightbox img.is-zoomed{transform:scale(1.42);cursor:zoom-out}
.utcm-gallery-close,.utcm-gallery-prev,.utcm-gallery-next{position:absolute;z-index:4;border:0;border-radius:50%;background:#fff;color:#8f1f18;box-shadow:0 12px 32px rgba(0,0,0,.25);cursor:pointer;font-weight:900}
.utcm-gallery-close{top:-16px;right:-16px;width:42px;height:42px;font-size:28px}.utcm-gallery-prev,.utcm-gallery-next{top:50%;transform:translateY(-50%);width:48px;height:48px;font-size:38px;line-height:1}.utcm-gallery-prev{left:-58px}.utcm-gallery-next{right:-58px}
.utcm-gallery-count{position:absolute;left:50%;bottom:-40px;transform:translateX(-50%);color:#fff;font-size:13px;font-weight:800;white-space:nowrap}
.utcm-qr-box{display:block;text-align:center;background:#fffdf9;border-radius:20px;padding:24px;border:1px solid rgba(143,31,24,.22);box-shadow:0 30px 90px rgba(0,0,0,.38);width:min(330px,calc(100vw - 34px))}
.utcm-qr-box button{position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:50%;border:1px solid rgba(143,31,24,.25);background:#fff;color:#8f1f18;font-size:22px;cursor:pointer}
.utcm-qr-box h4{font-family:Fraunces,Georgia,serif;margin:0 0 14px;color:#261711;font-size:22px}.utcm-qr-box img{width:220px;height:220px}.utcm-qr-box p{margin:12px 0 0;color:#6f5146;font-size:12px;word-break:break-all}


/* Pagina URL personale: nasconde il carosello/slider del tema sopra la scheda. */
body.utcm-no-theme-carousel .aft-main-banner-section,
body.utcm-no-theme-carousel .aft-frontpage-feature-section,
body.utcm-no-theme-carousel .aft-slider-part,
body.utcm-no-theme-carousel .aft-banner-wrapper,
body.utcm-no-theme-carousel .af-main-banner-section,
body.utcm-no-theme-carousel .af-slider-part,
body.utcm-no-theme-carousel .af-banner-wrapper,
body.utcm-no-theme-carousel .af-carousel,
body.utcm-no-theme-carousel .main-banner-section,
body.utcm-no-theme-carousel .banner-carousel-section,
body.utcm-no-theme-carousel .banner-slider-section,
body.utcm-no-theme-carousel .featured-slider,
body.utcm-no-theme-carousel .featured-posts-section,
body.utcm-no-theme-carousel .home-slider,
body.utcm-no-theme-carousel .home-carousel,
body.utcm-no-theme-carousel .site-carousel,
body.utcm-no-theme-carousel .hero-carousel,
body.utcm-no-theme-carousel .main-slider,
body.utcm-no-theme-carousel .front-slider,
body.utcm-no-theme-carousel .news-carousel,
body.utcm-no-theme-carousel .owl-carousel,
body.utcm-no-theme-carousel .slick-slider,
body.utcm-no-theme-carousel .swiper-container{
  display:none !important;
}
body.utcm-personal-url .utcm-person-page{
  margin-top:0 !important;
}

.utcm-person-page{padding:30px 0;background:#f6eee6}.utcm-person-standalone{max-width:1080px !important;transform:none !important;margin-left:auto !important;margin-right:auto !important;width:min(1080px,calc(100vw - 30px)) !important}
.utcm-standalone-card{background:#fffdf9;border:1px solid rgba(143,31,24,.18);border-radius:24px;box-shadow:0 22px 70px rgba(57,29,17,.14);overflow:hidden;padding:0 24px 26px}
.utcm-standalone-cover{min-height:150px;margin:0 -24px 24px;padding:20px;display:flex;justify-content:space-between;align-items:flex-start;background:linear-gradient(135deg,#1f130f,#8f1f18 58%,#c78a43);position:relative}.utcm-standalone-home{color:#fff !important;text-decoration:none;font-weight:900;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:8px 14px}
.utcm-standalone-profile{display:grid;grid-template-columns:290px minmax(0,1fr);gap:28px;margin-top:-96px;position:relative;z-index:2}.utcm-standalone-photo{background:#fffdf9;border:1px solid rgba(143,31,24,.16);border-radius:22px;padding:16px;text-align:center;box-shadow:0 18px 44px rgba(57,29,17,.14)}.utcm-standalone-photo img,.utcm-standalone-photo span{width:238px;height:238px;border-radius:50%;object-fit:cover;background:#ead8c9;display:flex;align-items:center;justify-content:center;font-size:74px;margin:auto}.utcm-standalone-main h1{font-family:Fraunces,Georgia,serif;font-size:44px;line-height:1;margin:0 0 10px;color:#1f130f}.utcm-standalone-place,.utcm-standalone-family{font-weight:900;color:#5e3729}.utcm-standalone-message{background:#fff7ef;border:1px solid rgba(143,31,24,.14);border-radius:18px;padding:18px;margin-top:16px}.utcm-standalone-message strong{display:block;font-family:Fraunces,Georgia,serif;font-size:20px;color:#261711;margin-bottom:8px}.utcm-standalone-message p{margin:0;color:#3b2118}.utcm-standalone-card .utcm-person-mini-map,.utcm-standalone-card .utcm-story-timeline,.utcm-standalone-card .utcm-story-gallery,.utcm-standalone-card .utcm-story-relations{margin-top:22px}.utcm-standalone-share{margin-top:22px !important}

@media (max-width:820px){
  .utcm-story-v4{width:calc(100vw - 20px) !important;padding:0 14px 18px !important;border-radius:18px !important}
  .utcm-story-v4 .utcm-story-cover{min-height:104px !important;margin:0 -14px 16px !important;border-radius:18px 18px 0 0 !important}
  .utcm-story-v4 .utcm-story-top,.utcm-standalone-profile{grid-template-columns:1fr !important;gap:14px !important}
  .utcm-story-v4 .utcm-story-left{margin-top:-70px !important}.utcm-story-v4 .utcm-story-photo{width:166px !important;height:166px !important}
  .utcm-story-v4 .utcm-story-right h3,.utcm-standalone-main h1{text-align:center !important;font-size:28px !important}.utcm-story-v4 .utcm-story-place{text-align:center !important}
  .utcm-story-v4 .utcm-story-info div{grid-template-columns:1fr !important;gap:4px !important}.utcm-story-sections,.utcm-story-v4 .utcm-story-lower{grid-template-columns:1fr !important}
  .utcm-story-v4 .utcm-story-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}.utcm-relation-people{padding-bottom:8px}.utcm-related-person,.utcm-relation-people a{flex-basis:112px}
  .utcm-gallery-prev{left:8px}.utcm-gallery-next{right:8px}.utcm-gallery-close{right:4px;top:4px}.utcm-gallery-lightbox img{max-width:calc(100vw - 30px);max-height:calc(100vh - 110px)}
  .utcm-standalone-card{padding:0 14px 18px}.utcm-standalone-cover{margin:0 -14px 16px;min-height:120px}.utcm-standalone-photo{max-width:230px;margin:0 auto}.utcm-standalone-photo img,.utcm-standalone-photo span{width:178px;height:178px}.utcm-person-mini-map > div{grid-template-columns:1fr;gap:8px;text-align:center}.utcm-person-mini-map i{width:100%;height:3px}
}

/* v4.0.2 - URL personale: rinforzo anti-carosello del tema */
html.utcm-personal-url-html .aft-main-banner-section,
html.utcm-personal-url-html .aft-frontpage-feature-section,
html.utcm-personal-url-html .aft-slider-part,
html.utcm-personal-url-html .aft-banner-wrapper,
html.utcm-personal-url-html .af-main-banner-section,
html.utcm-personal-url-html .af-slider-part,
html.utcm-personal-url-html .af-banner-wrapper,
html.utcm-personal-url-html .af-carousel,
html.utcm-personal-url-html .frontpage-feature-section,
html.utcm-personal-url-html .main-banner-section,
html.utcm-personal-url-html .banner-carousel-section,
html.utcm-personal-url-html .banner-slider-section,
html.utcm-personal-url-html .banner-section,
html.utcm-personal-url-html .banner-wrapper,
html.utcm-personal-url-html .featured-slider,
html.utcm-personal-url-html .featured-section,
html.utcm-personal-url-html .featured-posts-section,
html.utcm-personal-url-html .home-slider,
html.utcm-personal-url-html .home-carousel,
html.utcm-personal-url-html .site-carousel,
html.utcm-personal-url-html .hero-carousel,
html.utcm-personal-url-html .main-slider,
html.utcm-personal-url-html .front-slider,
html.utcm-personal-url-html .news-carousel,
html.utcm-personal-url-html .theme-carousel-block,
html.utcm-personal-url-html .theme-carousel-slider,
html.utcm-personal-url-html .theme-slider-section,
html.utcm-personal-url-html .theme-banner-section,
html.utcm-personal-url-html .twp-slider-section,
html.utcm-personal-url-html .twp-banner-section,
html.utcm-personal-url-html .twp-featured-section,
html.utcm-personal-url-html .twp-carousel,
html.utcm-personal-url-html .owl-carousel,
html.utcm-personal-url-html .slick-slider,
html.utcm-personal-url-html .swiper-container,
html.utcm-personal-url-html .swiper,
html.utcm-personal-url-html .splide,
body.utcm-personal-url [data-utcm-hidden-carousel="1"]{
  display:none !important;
  height:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}

/* v4.0.3 - Pagina URL personale: galleria, condivisione completa e rifinitura mobile */
.utcm-standalone-card .utcm-story-gallery{
  background:#fffdf9 !important;
  border:1px solid rgba(143,31,24,.16) !important;
  border-radius:18px !important;
  padding:18px !important;
}
.utcm-standalone-card .utcm-story-gallery h2,
.utcm-standalone-card .utcm-story-relations h2,
.utcm-standalone-card .utcm-story-timeline h2,
.utcm-standalone-card .utcm-person-mini-map h2{
  font-family:Fraunces,Georgia,serif !important;
  font-size:22px !important;
  line-height:1.1 !important;
  color:#261711 !important;
  margin:0 0 14px !important;
}
.utcm-standalone-gallery-grid{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:10px !important;
}
.utcm-standalone-gallery-grid .utcm-gallery-thumb{
  width:100% !important;
  border:0 !important;
  background:transparent !important;
  padding:0 !important;
  cursor:pointer !important;
  border-radius:12px !important;
  overflow:hidden !important;
  display:block !important;
}
.utcm-standalone-gallery-grid .utcm-gallery-thumb img{
  width:100% !important;
  aspect-ratio:1.18/1 !important;
  object-fit:cover !important;
  border-radius:12px !important;
  border:1px solid rgba(143,31,24,.16) !important;
  transition:transform .16s ease, filter .16s ease !important;
}
.utcm-standalone-gallery-grid .utcm-gallery-thumb:hover img{
  transform:scale(1.035) !important;
  filter:saturate(1.07) contrast(1.03) !important;
}
.utcm-gallery-help{
  margin:10px 0 0 !important;
  color:#806153 !important;
  font-size:13px !important;
  font-weight:700 !important;
}
.utcm-standalone-share{
  justify-content:center !important;
  gap:8px !important;
  flex-wrap:wrap !important;
}
.utcm-standalone-share a,
.utcm-standalone-share button{
  min-height:36px !important;
  border-radius:999px !important;
  padding:8px 13px !important;
  font-size:12px !important;
  font-weight:900 !important;
}
.utcm-standalone-share .utcm-share-wa{background:#18a957 !important;color:#fff !important;border-color:#18a957 !important}
.utcm-standalone-share .utcm-share-fb{background:#2854a3 !important;color:#fff !important;border-color:#2854a3 !important}
.utcm-standalone-share .utcm-share-ms{background:#6d42d8 !important;color:#fff !important;border-color:#6d42d8 !important}
.utcm-standalone-share .utcm-share-tg{background:#258dcc !important;color:#fff !important;border-color:#258dcc !important}
.utcm-standalone-share .utcm-share-mail{background:#8f1f18 !important;color:#fff !important;border-color:#8f1f18 !important}
.utcm-standalone-share .utcm-standalone-copy,
.utcm-standalone-share .utcm-standalone-qr,
.utcm-standalone-share .utcm-standalone-native{background:#2b211d !important;color:#fff !important;border-color:#2b211d !important}
.utcm-standalone-share a:hover,
.utcm-standalone-share button:hover{
  transform:translateY(-1px) !important;
  filter:brightness(1.04) !important;
}

@media (max-width:820px){
  .utcm-standalone-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:8px !important}
  .utcm-standalone-share span{flex-basis:100% !important;text-align:center !important}
  .utcm-standalone-share a,
  .utcm-standalone-share button{flex:1 1 calc(50% - 8px) !important;text-align:center !important;justify-content:center !important}
  .utcm-standalone-card .utcm-story-gallery,
  .utcm-standalone-card .utcm-story-relations,
  .utcm-standalone-card .utcm-story-timeline,
  .utcm-standalone-card .utcm-person-mini-map{padding:14px !important;border-radius:16px !important}
}

/* -------------------------------------------------------------------------
   v4.0.4 — Esperienza mobile/App
   Solo rifinitura HTML/CSS/UX: layout più compatto, barra inferiore e popup.
   ------------------------------------------------------------------------- */
.utcm-person-appbar{display:none}

@media (max-width:768px){
  :is(html.utcm-mobile-viewport body .utcm-wrap.utcm-breakout, .utcm-wrap.utcm-mobile-app){
    padding:0 10px calc(90px + env(safe-area-inset-bottom)) !important;
    background:linear-gradient(180deg,#fbf4ec 0%,#f4e8dc 100%) !important;
  }
  :is(html.utcm-mobile-viewport body .utcm-wrap.utcm-breakout, .utcm-wrap.utcm-mobile-app) .utcm-appbar{
    left:8px !important;right:8px !important;bottom:calc(8px + env(safe-area-inset-bottom)) !important;
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;gap:5px !important;padding:6px !important;
    border-radius:22px !important;background:rgba(255,253,249,.96) !important;
    box-shadow:0 18px 44px rgba(47,25,15,.24) !important;
  }
  :is(html.utcm-mobile-viewport body .utcm-wrap.utcm-breakout, .utcm-wrap.utcm-mobile-app) .utcm-appbar a{
    min-height:46px !important;border-radius:16px !important;padding:4px 2px !important;
    transition:transform .14s ease, background-color .14s ease, border-color .14s ease !important;
  }
  :is(html.utcm-mobile-viewport body .utcm-wrap.utcm-breakout, .utcm-wrap.utcm-mobile-app) .utcm-appbar a:active{transform:scale(.96) !important}
  :is(html.utcm-mobile-viewport body .utcm-wrap.utcm-breakout, .utcm-wrap.utcm-mobile-app) .utcm-appbar a span{font-size:18px !important}
  :is(html.utcm-mobile-viewport body .utcm-wrap.utcm-breakout, .utcm-wrap.utcm-mobile-app) .utcm-appbar a em{font-size:9.5px !important;letter-spacing:-.01em !important}
  :is(html.utcm-mobile-viewport body .utcm-wrap.utcm-breakout, .utcm-wrap.utcm-mobile-app) .utcm-appbar .utcm-appbar-main{
    min-height:54px !important;margin-top:-10px !important;border-radius:18px !important;
  }
  :is(html.utcm-mobile-viewport body .utcm-wrap.utcm-breakout, .utcm-wrap.utcm-mobile-app) .utcm-appbar .utcm-appbar-main span{font-size:24px !important}

  .utcm-wrap.utcm-breakout .utcm-hero{
    padding:18px 14px !important;margin:0 0 12px !important;border-radius:0 0 22px 22px !important;
  }
  .utcm-wrap.utcm-breakout .utcm-hero h2{font-size:24px !important;line-height:1.05 !important;margin-bottom:7px !important}
  .utcm-wrap.utcm-breakout .utcm-hero p{font-size:14px !important;line-height:1.38 !important}
  .utcm-wrap.utcm-breakout .utcm-callout{gap:8px !important;margin:10px 0 !important}
  .utcm-wrap.utcm-breakout .utcm-callout article{padding:11px !important;border-radius:16px !important}
  .utcm-wrap.utcm-breakout .utcm-callout strong{font-size:17px !important}
  .utcm-wrap.utcm-breakout .utcm-callout span{font-size:13px !important;line-height:1.35 !important}
  .utcm-wrap.utcm-breakout .utcm-share-project{gap:7px !important;padding:10px !important}
  .utcm-wrap.utcm-breakout .utcm-share-project a,
  .utcm-wrap.utcm-breakout .utcm-share-project button{min-height:36px !important;padding:7px 11px !important;font-size:12px !important;border-radius:999px !important}

  .utcm-wrap.utcm-breakout .utcm-grid{gap:10px !important}
  .utcm-wrap.utcm-breakout .utcm-mapbox{border-radius:18px !important;box-shadow:0 8px 26px rgba(57,29,17,.08) !important}
  .utcm-wrap.utcm-breakout .utcm-mapbox #utcm-map{height:50vh !important;min-height:310px !important;max-height:460px !important}
  .utcm-wrap.utcm-breakout .utcm-side,
  .utcm-wrap.utcm-breakout .utcm-featured,
  .utcm-wrap.utcm-breakout .utcm-stats-section,
  .utcm-wrap.utcm-breakout .utcm-family-section,
  .utcm-wrap.utcm-breakout .utcm-form{
    border-radius:18px !important;padding:14px !important;margin-top:12px !important;
    box-shadow:0 8px 26px rgba(57,29,17,.06) !important;
  }
  .utcm-wrap.utcm-breakout label{font-size:13px !important;margin:10px 0 6px !important}
  .utcm-wrap.utcm-breakout input,
  .utcm-wrap.utcm-breakout select,
  .utcm-wrap.utcm-breakout textarea{min-height:44px !important;border-radius:13px !important;padding:10px 12px !important;font-size:16px !important}
  .utcm-wrap.utcm-breakout .utcm-stat{padding:12px !important;margin:12px 0 !important;border-radius:16px !important}
  .utcm-wrap.utcm-breakout .utcm-stat strong{font-size:26px !important}
  .utcm-wrap.utcm-breakout .utcm-featured article{flex:0 0 78% !important;min-width:78% !important;border-radius:16px !important;padding:12px !important}
  .utcm-wrap.utcm-breakout .utcm-stats-cards{gap:8px !important}
  .utcm-wrap.utcm-breakout .utcm-stats-cards article{padding:12px !important;border-radius:16px !important}
  .utcm-wrap.utcm-breakout .utcm-stats-cards strong{font-size:25px !important}
  .utcm-wrap.utcm-breakout .utcm-submit,
  .utcm-wrap.utcm-breakout .utcm-secondary{min-height:44px !important;border-radius:999px !important;font-size:13px !important}
}

@media (max-width:820px){
  body.utcm-personal-url .utcm-person-page{
    padding:10px 0 calc(84px + env(safe-area-inset-bottom)) !important;
    background:linear-gradient(180deg,#fbf4ec 0%,#f3e5d8 100%) !important;
  }
  body.utcm-personal-url .utcm-person-standalone{
    width:100% !important;max-width:100% !important;padding:0 10px !important;margin:0 auto !important;
  }
  body.utcm-personal-url .utcm-standalone-card{
    border-radius:22px !important;padding:0 12px 18px !important;box-shadow:0 12px 40px rgba(57,29,17,.10) !important;
    overflow:visible !important;border-color:rgba(143,31,24,.14) !important;
  }
  body.utcm-personal-url .utcm-standalone-cover{
    min-height:112px !important;margin:0 -12px 16px !important;padding:14px !important;border-radius:22px 22px 0 0 !important;
  }
  body.utcm-personal-url .utcm-story-badge{
    padding:7px 10px !important;font-size:10.5px !important;border-radius:999px !important;max-width:60% !important;
    white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;
  }
  body.utcm-personal-url .utcm-standalone-home{
    padding:7px 10px !important;font-size:12px !important;border-radius:999px !important;
  }
  body.utcm-personal-url .utcm-standalone-profile{
    grid-template-columns:1fr !important;gap:12px !important;margin-top:-66px !important;
  }
  body.utcm-personal-url .utcm-standalone-photo{
    width:min(220px,72vw) !important;margin:0 auto !important;border-radius:20px !important;padding:12px !important;
  }
  body.utcm-personal-url .utcm-standalone-photo img,
  body.utcm-personal-url .utcm-standalone-photo span{
    width:152px !important;height:152px !important;font-size:52px !important;
  }
  body.utcm-personal-url .utcm-standalone-main h1{
    font-size:29px !important;line-height:1.02 !important;text-align:center !important;margin:0 0 8px !important;
  }
  body.utcm-personal-url .utcm-standalone-place,
  body.utcm-personal-url .utcm-standalone-family{text-align:center !important;font-size:13px !important;margin:5px 0 !important;line-height:1.32 !important}
  body.utcm-personal-url .utcm-standalone-message{
    margin-top:12px !important;padding:13px !important;border-radius:16px !important;
  }
  body.utcm-personal-url .utcm-standalone-message strong{font-size:18px !important;margin-bottom:5px !important}
  body.utcm-personal-url .utcm-standalone-message p{font-size:13.5px !important;line-height:1.45 !important}

  body.utcm-personal-url .utcm-standalone-card .utcm-person-mini-map,
  body.utcm-personal-url .utcm-standalone-card .utcm-story-timeline,
  body.utcm-personal-url .utcm-standalone-card .utcm-story-gallery,
  body.utcm-personal-url .utcm-standalone-card .utcm-story-relations,
  body.utcm-personal-url .utcm-standalone-card .utcm-story-share{
    margin-top:12px !important;padding:13px !important;border-radius:17px !important;
    box-shadow:0 8px 24px rgba(57,29,17,.06) !important;
  }
  body.utcm-personal-url .utcm-standalone-card h2,
  body.utcm-personal-url .utcm-standalone-card h4{font-size:19px !important;margin-bottom:10px !important}
  body.utcm-personal-url .utcm-person-mini-map > div{padding:12px !important;border-radius:14px !important}
  body.utcm-personal-url .utcm-story-timeline li{padding:9px 10px 9px 34px !important;border-radius:13px !important}
  body.utcm-personal-url .utcm-story-timeline strong{font-size:13px !important}

  body.utcm-personal-url .utcm-standalone-gallery-grid{
    display:flex !important;overflow-x:auto !important;gap:10px !important;padding:0 2px 8px !important;
    scroll-snap-type:x mandatory !important;-webkit-overflow-scrolling:touch !important;
  }
  body.utcm-personal-url .utcm-standalone-gallery-grid .utcm-gallery-thumb{
    flex:0 0 74% !important;scroll-snap-align:center !important;border-radius:15px !important;
  }
  body.utcm-personal-url .utcm-standalone-gallery-grid .utcm-gallery-thumb img{
    aspect-ratio:1.28/1 !important;border-radius:15px !important;box-shadow:0 10px 28px rgba(43,27,20,.12) !important;
  }
  body.utcm-personal-url .utcm-gallery-help{font-size:12px !important;text-align:center !important;margin-top:4px !important}
  body.utcm-personal-url .utcm-relation-people{
    gap:8px !important;padding-bottom:8px !important;scroll-snap-type:x mandatory !important;-webkit-overflow-scrolling:touch !important;
  }
  body.utcm-personal-url .utcm-related-person,
  body.utcm-personal-url .utcm-relation-people a{
    flex:0 0 104px !important;min-height:116px !important;border-radius:14px !important;padding:9px !important;scroll-snap-align:start !important;
  }
  body.utcm-personal-url .utcm-related-person img,
  body.utcm-personal-url .utcm-relation-people a img,
  body.utcm-personal-url .utcm-related-person span,
  body.utcm-personal-url .utcm-relation-people a span{width:48px !important;height:48px !important;font-size:22px !important}

  body.utcm-personal-url .utcm-standalone-share{display:grid !important;grid-template-columns:1fr 1fr !important;gap:7px !important;align-items:stretch !important}
  body.utcm-personal-url .utcm-standalone-share span{grid-column:1/-1 !important;text-align:center !important;font-size:17px !important;margin-bottom:2px !important}
  body.utcm-personal-url .utcm-standalone-share a,
  body.utcm-personal-url .utcm-standalone-share button{
    width:100% !important;min-height:38px !important;padding:7px 9px !important;border-radius:999px !important;
    font-size:11.5px !important;justify-content:center !important;text-align:center !important;
  }
  body.utcm-personal-url .utcm-person-appbar{
    position:fixed !important;left:10px !important;right:10px !important;bottom:calc(8px + env(safe-area-inset-bottom)) !important;z-index:1000000 !important;
    display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:6px !important;
    padding:7px !important;border-radius:23px !important;background:rgba(255,253,249,.96) !important;
    border:1px solid rgba(143,31,24,.16) !important;box-shadow:0 18px 44px rgba(47,25,15,.25) !important;
    backdrop-filter:blur(12px) !important;-webkit-backdrop-filter:blur(12px) !important;
  }
  body.utcm-personal-url .utcm-person-appbar a{
    min-height:48px !important;border-radius:17px !important;display:flex !important;flex-direction:column !important;
    align-items:center !important;justify-content:center !important;gap:3px !important;text-decoration:none !important;
    color:#261711 !important;background:#fff7ef !important;border:1px solid rgba(143,31,24,.10) !important;font-weight:900 !important;
  }
  body.utcm-personal-url .utcm-person-appbar a:active{transform:scale(.96) !important}
  body.utcm-personal-url .utcm-person-appbar span{font-size:18px !important;line-height:1 !important}
  body.utcm-personal-url .utcm-person-appbar em{font-style:normal !important;font-size:10px !important;line-height:1 !important}

  .utcm-gallery-lightbox{padding:10px !important;align-items:center !important}
  .utcm-gallery-lightbox-box{width:100% !important;max-width:100% !important;max-height:100dvh !important}
  .utcm-gallery-lightbox img{
    max-width:calc(100vw - 22px) !important;max-height:calc(100dvh - 122px) !important;border-radius:16px !important;
  }
  .utcm-gallery-lightbox img.is-zoomed{transform:scale(1.18) !important}
  .utcm-gallery-close{top:calc(8px + env(safe-area-inset-top)) !important;right:10px !important;width:42px !important;height:42px !important}
  .utcm-gallery-prev,.utcm-gallery-next{
    top:auto !important;bottom:16px !important;transform:none !important;width:46px !important;height:46px !important;font-size:34px !important;
  }
  .utcm-gallery-prev{left:calc(50% - 58px) !important}.utcm-gallery-next{right:calc(50% - 58px) !important}
  .utcm-gallery-count{bottom:72px !important;background:rgba(0,0,0,.38) !important;padding:5px 10px !important;border-radius:999px !important}
  .utcm-qr-modal{padding:14px !important}.utcm-qr-box{border-radius:18px !important;padding:22px 18px !important}
}

@media (max-width:520px){
  body.utcm-personal-url .utcm-standalone-gallery-grid .utcm-gallery-thumb{flex-basis:82% !important}
  body.utcm-personal-url .utcm-standalone-main h1{font-size:27px !important}
  body.utcm-personal-url .utcm-standalone-photo img,
  body.utcm-personal-url .utcm-standalone-photo span{width:142px !important;height:142px !important}
}

@media (max-width:600px){
  .utcm-story-modal.is-open{padding:0 !important;align-items:stretch !important;justify-content:stretch !important}
  .utcm-story-modal .utcm-story-v4{
    width:100vw !important;height:100vh !important;height:100dvh !important;max-height:100vh !important;max-height:100dvh !important;
    border-radius:0 !important;padding:0 12px calc(16px + env(safe-area-inset-bottom)) !important;border:0 !important;
  }
  .utcm-story-v4 .utcm-story-cover{min-height:94px !important;margin:0 -12px 14px !important;border-radius:0 0 20px 20px !important}
  .utcm-story-v4 .utcm-story-cover-inner{padding:14px 12px !important}
  .utcm-story-v4 .utcm-story-left{margin-top:-56px !important;border-radius:18px !important;padding:11px !important}
  .utcm-story-v4 .utcm-story-photo{width:142px !important;height:142px !important;border-width:5px !important}
  .utcm-story-v4 .utcm-story-right h3{font-size:26px !important;text-align:center !important}
  .utcm-story-v4 .utcm-story-text,
  .utcm-story-v4 .utcm-person-mini-map,
  .utcm-story-v4 .utcm-story-timeline,
  .utcm-story-v4 .utcm-story-gallery,
  .utcm-story-v4 .utcm-story-relations,
  .utcm-story-v4 .utcm-story-card,
  .utcm-story-v4 .utcm-greet,
  .utcm-story-v4 .utcm-story-share{border-radius:16px !important;padding:13px !important;margin-top:12px !important}
  .utcm-story-v4 .utcm-story-gallery-grid{display:flex !important;overflow-x:auto !important;gap:10px !important;scroll-snap-type:x mandatory !important;padding-bottom:8px !important}
  .utcm-story-v4 .utcm-gallery-thumb{flex:0 0 80% !important;scroll-snap-align:center !important}
  .utcm-story-v4 .utcm-story-share{display:grid !important;grid-template-columns:1fr 1fr !important;gap:7px !important}
  .utcm-story-v4 .utcm-story-share span{grid-column:1/-1 !important;text-align:center !important;font-size:17px !important}
  .utcm-story-v4 .utcm-story-share a,
  .utcm-story-v4 .utcm-story-share button{width:100% !important;min-height:38px !important;font-size:11.5px !important;padding:7px 8px !important}
}


/* v4.0.5 - Il filo di Cenadi: rete di relazioni più leggibile */
.utcm-filo-section{
  position:relative !important;
  overflow:hidden !important;
  background:linear-gradient(135deg,#fffdf9 0%,#fff6ed 58%,#f4e0ce 100%) !important;
  border-color:rgba(143,31,24,.18) !important;
}
.utcm-filo-section:before{
  content:'' !important;
  position:absolute !important;
  inset:0 auto 0 0 !important;
  width:5px !important;
  background:linear-gradient(180deg,var(--utcm-bordeaux),var(--utcm-gold)) !important;
  opacity:.9 !important;
}
.utcm-filo-head{
  position:relative !important;
  z-index:1 !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:12px 18px !important;
  align-items:end !important;
  margin:0 0 16px !important;
}
.utcm-filo-kicker{
  grid-column:1/-1 !important;
  width:max-content !important;
  max-width:100% !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
  border:1px solid rgba(143,31,24,.14) !important;
  background:#fffdf9 !important;
  color:#8f1f18 !important;
  border-radius:999px !important;
  padding:6px 10px !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
}
.utcm-filo-head h2,.utcm-filo-head h4{
  margin:0 !important;
  font-family:Fraunces,Georgia,serif !important;
  color:#21120d !important;
  font-size:26px !important;
  line-height:1.05 !important;
}
.utcm-filo-head p{
  grid-column:1/2 !important;
  margin:0 !important;
  color:#68483b !important;
  font-size:14px !important;
  line-height:1.45 !important;
  font-weight:700 !important;
}
.utcm-filo-counters{
  grid-row:2 / span 2 !important;
  grid-column:2/3 !important;
  display:flex !important;
  gap:8px !important;
  align-self:center !important;
}
.utcm-filo-counters span{
  min-width:76px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:1px !important;
  padding:10px 8px !important;
  border-radius:16px !important;
  background:#fffdf9 !important;
  border:1px solid rgba(143,31,24,.14) !important;
  box-shadow:0 8px 24px rgba(57,29,17,.06) !important;
}
.utcm-filo-counters strong{
  color:#8f1f18 !important;
  font-size:22px !important;
  line-height:1 !important;
  font-family:Fraunces,Georgia,serif !important;
}
.utcm-filo-counters em{
  font-style:normal !important;
  color:#6f5044 !important;
  font-size:10.5px !important;
  line-height:1.1 !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.03em !important;
}
.utcm-filo-grid{
  position:relative !important;
  z-index:1 !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:13px !important;
}
.utcm-filo-panel{
  margin:0 !important;
  padding:14px !important;
  border:1px solid rgba(143,31,24,.13) !important;
  border-radius:18px !important;
  background:rgba(255,253,249,.82) !important;
  box-shadow:0 8px 24px rgba(57,29,17,.055) !important;
}
.utcm-filo-panel:first-of-type{
  border-top:1px solid rgba(143,31,24,.13) !important;
  padding-top:14px !important;
  margin-top:0 !important;
}
.utcm-relation-title{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:10px !important;
  margin:0 0 10px !important;
}
.utcm-relation-title h3,.utcm-relation-title h4{
  margin:0 !important;
  font-family:Inter,system-ui,sans-serif !important;
  color:#5c2d22 !important;
  font-size:13px !important;
  line-height:1.15 !important;
  text-transform:uppercase !important;
  letter-spacing:.035em !important;
}
.utcm-relation-title small{
  max-width:130px !important;
  color:#8a6b5e !important;
  font-size:10.5px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  text-align:right !important;
}
.utcm-filo-section .utcm-relation-people{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(104px,1fr)) !important;
  gap:8px !important;
  overflow:visible !important;
  padding:0 !important;
}
.utcm-filo-section .utcm-related-person,
.utcm-filo-section .utcm-relation-people a{
  width:100% !important;
  min-height:122px !important;
  flex:initial !important;
  border-radius:16px !important;
  background:#fff8f1 !important;
  border-color:rgba(143,31,24,.14) !important;
  box-shadow:0 6px 18px rgba(57,29,17,.045) !important;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease !important;
}
.utcm-filo-section .utcm-related-person:hover,
.utcm-filo-section .utcm-relation-people a:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 12px 26px rgba(57,29,17,.10) !important;
  border-color:rgba(143,31,24,.26) !important;
}
.utcm-filo-section .utcm-related-person img,
.utcm-filo-section .utcm-relation-people a img,
.utcm-filo-section .utcm-related-person span,
.utcm-filo-section .utcm-relation-people a span{
  width:58px !important;
  height:58px !important;
  border:3px solid #fffdf9 !important;
  box-shadow:0 7px 16px rgba(57,29,17,.10) !important;
}
.utcm-filo-section .utcm-related-person b,
.utcm-filo-section .utcm-relation-people a b{
  font-size:12.5px !important;
  color:#21120d !important;
}
.utcm-filo-section .utcm-related-person small,
.utcm-filo-section .utcm-relation-people a small{
  font-size:10.5px !important;
  color:#77574b !important;
}
.utcm-relation-empty{
  min-height:72px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  padding:12px !important;
  border:1px dashed rgba(143,31,24,.20) !important;
  border-radius:14px !important;
  background:#fffaf5 !important;
  color:#806154 !important;
  font-size:12.5px !important;
  font-weight:800 !important;
}
.utcm-filo-empty{
  position:relative !important;
  z-index:1 !important;
  display:grid !important;
  gap:6px !important;
  padding:18px !important;
  border:1px dashed rgba(143,31,24,.22) !important;
  border-radius:18px !important;
  background:#fffaf5 !important;
  text-align:center !important;
}
.utcm-filo-empty strong{
  font-family:Fraunces,Georgia,serif !important;
  color:#24130e !important;
  font-size:20px !important;
}
.utcm-filo-empty span{
  color:#735448 !important;
  font-size:13.5px !important;
  font-weight:700 !important;
}
@media (max-width:880px){
  .utcm-filo-head{grid-template-columns:1fr !important;align-items:start !important}
  .utcm-filo-head p{grid-column:1/-1 !important}
  .utcm-filo-counters{grid-row:auto !important;grid-column:1/-1 !important;width:100% !important;display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important}
  .utcm-filo-counters span{min-width:0 !important}
  .utcm-filo-grid{grid-template-columns:1fr !important}
  .utcm-filo-section .utcm-relation-people{display:flex !important;overflow-x:auto !important;scroll-snap-type:x mandatory !important;padding-bottom:6px !important;-webkit-overflow-scrolling:touch !important}
  .utcm-filo-section .utcm-related-person,
  .utcm-filo-section .utcm-relation-people a{flex:0 0 118px !important;scroll-snap-align:start !important}
}
@media (max-width:600px){
  .utcm-filo-section:before{width:4px !important}
  .utcm-filo-head{gap:8px !important;margin-bottom:12px !important}
  .utcm-filo-kicker{font-size:10px !important;padding:6px 9px !important}
  .utcm-filo-head h2,.utcm-filo-head h4{font-size:21px !important}
  .utcm-filo-head p{font-size:12.5px !important;line-height:1.35 !important}
  .utcm-filo-counters{gap:6px !important}
  .utcm-filo-counters span{padding:8px 5px !important;border-radius:14px !important}
  .utcm-filo-counters strong{font-size:19px !important}
  .utcm-filo-counters em{font-size:9px !important}
  .utcm-filo-panel{padding:11px !important;border-radius:16px !important}
  .utcm-relation-title{display:block !important;margin-bottom:8px !important}
  .utcm-relation-title h3,.utcm-relation-title h4{font-size:12px !important;margin-bottom:3px !important}
  .utcm-relation-title small{display:block !important;max-width:none !important;text-align:left !important;font-size:10px !important}
  .utcm-filo-section .utcm-related-person,
  .utcm-filo-section .utcm-relation-people a{flex-basis:106px !important;min-height:112px !important;padding:8px !important}
  .utcm-filo-section .utcm-related-person img,
  .utcm-filo-section .utcm-relation-people a img,
  .utcm-filo-section .utcm-related-person span,
  .utcm-filo-section .utcm-relation-people a span{width:48px !important;height:48px !important;font-size:22px !important}
}

/* 4.0.6 - tasto correzione scheda */
.utcm-story-correction{
  background:linear-gradient(135deg,rgba(255,248,230,.98),rgba(255,255,255,.98)) !important;
  border:1px solid rgba(201,138,34,.28) !important;
  box-shadow:0 16px 38px rgba(92,56,14,.10) !important;
}
.utcm-story-correction h2,
.utcm-story-correction h4{
  margin:0 0 8px !important;
  color:var(--utcm-brand-ink) !important;
  font-family:var(--utcm-title-font) !important;
}
.utcm-story-correction p{
  margin:0 0 12px !important;
  color:rgba(62,45,28,.78) !important;
  line-height:1.45 !important;
}

.utcm-request-edit-form{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  flex-wrap:wrap !important;
}
.utcm-request-edit-email{
  flex:1 1 220px !important;
  min-height:38px !important;
  padding:9px 12px !important;
  border-radius:999px !important;
  border:1px solid rgba(128,63,18,.22) !important;
  background:rgba(255,255,255,.94) !important;
  color:var(--utcm-ink) !important;
  font-size:13px !important;
  outline:none !important;
  box-shadow:inset 0 1px 2px rgba(92,56,14,.04) !important;
}
.utcm-request-edit-email:focus{
  border-color:rgba(128,63,18,.48) !important;
  box-shadow:0 0 0 3px rgba(184,116,47,.13) !important;
}
.utcm-request-edit{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:38px !important;
  padding:9px 15px !important;
  border-radius:999px !important;
  border:1px solid rgba(128,63,18,.22) !important;
  background:linear-gradient(135deg,#7f3f12,#b8742f) !important;
  color:#fff !important;
  font-weight:800 !important;
  font-size:13px !important;
  cursor:pointer !important;
  box-shadow:0 10px 24px rgba(127,63,18,.18) !important;
}
.utcm-request-edit:hover{transform:translateY(-1px);filter:brightness(1.03)}
.utcm-request-edit:disabled{opacity:.72 !important;cursor:default !important;transform:none !important}
.utcm-request-edit-status{
  display:block !important;
  margin-top:9px !important;
  color:rgba(62,45,28,.78) !important;
  font-size:12.5px !important;
  line-height:1.35 !important;
}
.utcm-standalone-correction{
  margin:22px 0 0 !important;
  padding:18px !important;
  border-radius:22px !important;
}
body.utcm-personal-url .utcm-standalone-correction{
  max-width:760px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
@media (max-width: 768px){
  .utcm-story-correction{padding:13px !important;border-radius:16px !important}
  .utcm-request-edit-form{display:grid !important;grid-template-columns:1fr !important;gap:8px !important;width:100% !important}
  .utcm-request-edit-email{width:100% !important;min-height:40px !important;font-size:12.5px !important}
  .utcm-request-edit{width:100% !important;min-height:40px !important;font-size:12.5px !important;padding:8px 10px !important}
  .utcm-request-edit-status{text-align:center !important;font-size:12px !important}
  .utcm-standalone-correction{margin-top:14px !important;padding:14px !important}
}

/* v4.0.8 - Messaggio assistenza sotto condivisione scheda */
.utcm-share-support{
  margin:8px auto 0 !important;
  max-width:760px !important;
  text-align:center !important;
  font-size:12.5px !important;
  line-height:1.45 !important;
  color:#6f625b !important;
}
.utcm-share-support a{
  color:#8f1f18 !important;
  font-weight:800 !important;
  text-decoration:none !important;
}
.utcm-share-support a:hover{
  text-decoration:underline !important;
}
@media(max-width:640px){
  .utcm-share-support{font-size:12px !important;padding:0 10px !important;margin-top:7px !important}
}
