/* ==========================================================================
   FACEDANCE — Stile front-end
   Palette: Nero #0a0b08 · Oro #cda349 · Verde smeraldo #1c6b4d · Beige #ece2c8
   by Pietro Braga — Diritti riservati
   ========================================================================== */

:root{
  --fd-nero:#0a0b08;
  --fd-nero-2:#13150e;
  --fd-oro:#cda349;
  --fd-oro-2:#eccf7e;
  --fd-smeraldo:#1c6b4d;
  --fd-beige:#ece2c8;
  --fd-beige-2:#cfc09a;
}

/* ==========================================================================
   PANNELLO DI ISOLAMENTO DAL TEMA
   Ogni shortcode "principale" viene avvolto automaticamente in questo
   pannello (vedi facedance_wrap_shortcode_output() nel file principale).
   Senza, il tema del sito mescola i propri font/colori/margini con i nostri,
   e il risultato finale può apparire molto diverso dall'anteprima.
   ========================================================================== */
.facedance-section{
  background:var(--fd-nero) !important;
  color:var(--fd-beige) !important;
  border-radius:20px;
  padding:32px 24px;
  margin:24px auto;
  max-width:1100px;
  font-family:'Inter', sans-serif !important;
  line-height:1.6;
  box-sizing:border-box;
}
.facedance-section *{ box-sizing:border-box; }
.facedance-section h1, .facedance-section h2, .facedance-section h3, .facedance-section h4{
  font-family:'Space Grotesk', sans-serif !important;
  color:var(--fd-beige) !important;
  margin:0 0 .5em;
  line-height:1.25;
}
.facedance-section p{ color:inherit; margin:0 0 1em; }
.facedance-section ul, .facedance-section ol{ margin:0; padding:0; list-style:none; }
.facedance-section img{ max-width:100%; height:auto; }
/* i link generici prendono il colore oro; i bottoni/azioni con classi proprie restano come disegnati */
.facedance-section a{ color:var(--fd-oro-2); text-decoration:none; }
.facedance-section a:hover{ color:var(--fd-oro); }
.facedance-section input, .facedance-section select, .facedance-section textarea, .facedance-section button{
  font-family:'Inter', sans-serif; box-shadow:none;
}
.facedance-section input[type=text], .facedance-section input[type=email], .facedance-section input[type=password], .facedance-section input[type=url], .facedance-section input[type=number], .facedance-section select, .facedance-section textarea, .facedance-section button{
  appearance:none;
}

/* ---- Wordmark riutilizzabile ---- */
.facedance-wordmark{font-weight:800; letter-spacing:-.01em;}
.facedance-wordmark .fd-face{color:var(--fd-beige);}
.facedance-wordmark .fd-dance{
  background:linear-gradient(115deg,var(--fd-oro-2) 10%, var(--fd-smeraldo) 95%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.facedance-logo-svg{vertical-align:middle;}

/* ---- Credito copyright ---- */
.facedance-credit{
  font-size:.78rem; color:var(--fd-beige-2); text-align:center; padding:18px 0; letter-spacing:.04em;
}

/* ---- Contenitori generici ---- */
.facedance-empty{
  background:var(--fd-nero-2); color:var(--fd-beige-2); padding:18px; border-radius:10px;
  border:1px solid rgba(205,163,73,.2); text-align:center;
}
.facedance-grid{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(240px,1fr)); gap:18px; margin:20px 0;
}
.facedance-card{
  background:var(--fd-nero-2); border:1px solid rgba(205,163,73,.18); border-radius:12px;
  padding:16px; color:var(--fd-beige);
}
.facedance-card h4{margin:10px 0 6px; font-size:1rem;}
.facedance-card img{width:100%; border-radius:8px; margin-bottom:8px;}
.fd-meta{font-size:.8rem; color:var(--fd-beige-2); margin:4px 0;}
.fd-price{color:var(--fd-oro); font-weight:700;}

/* ---- Feed ---- */
.facedance-feed{display:flex; flex-direction:column; gap:18px; max-width:640px; margin:0 auto;}
.facedance-feed-card{
  background:var(--fd-nero-2); border:1px solid rgba(205,163,73,.18); border-radius:14px; overflow:hidden; color:var(--fd-beige);
}
.fd-card-head{display:flex; align-items:center; gap:10px; padding:14px 16px;}
.fd-card-head img{border-radius:50%;}
.fd-card-head .fd-head-text time{display:block; font-size:.72rem; color:var(--fd-beige-2);}
.fd-card-media{position:relative;}
.fd-card-media img{width:100%; display:block;}
.fd-live-tag{
  position:absolute; top:10px; left:10px; z-index:2; background:#b5302f; color:#fff; font-size:.65rem;
  padding:3px 9px; border-radius:5px; font-weight:700; letter-spacing:.04em;
}

/* ---- Embed video (YouTube, Vimeo, Facebook, Instagram via oEmbed) ---- */
.fd-video-embed{position:relative; width:100%; aspect-ratio:16/9; background:#000; overflow:hidden;}
.fd-video-embed iframe, .fd-video-embed embed, .fd-video-embed object{
  position:absolute; top:0; left:0; width:100% !important; height:100% !important; border:0;
}
.fd-video-embed blockquote{margin:0; padding:16px; font-size:.85rem; color:var(--fd-beige-2);}
.fd-live-tag-video{position:relative; display:inline-block; margin:0 16px 8px;}
.fd-video-fallback{
  display:flex; flex-direction:column; gap:4px; align-items:center; justify-content:center;
  padding:30px 16px; background:linear-gradient(135deg,var(--fd-nero-2),var(--fd-nero)); text-align:center;
}
.fd-video-fallback a{color:var(--fd-oro-2); font-weight:700; text-decoration:none; font-size:.95rem;}
.fd-video-fallback a:hover{color:var(--fd-oro);}
.fd-video-fallback-note{font-size:.72rem; color:var(--fd-beige-2); max-width:320px;}
.fd-share-video{max-width:480px;}

/* ---- Biglietto da visita digitale ---- */
.facedance-card-page{max-width:640px;}
.fd-bizcard-wrap{display:flex; justify-content:center;}
.fd-bizcard{
  position:relative; overflow:hidden; border-radius:18px; padding:22px;
  width:340px; aspect-ratio:85/55; /* proporzione reale di un biglietto da visita standard 85×55mm */
  display:flex; flex-direction:column; justify-content:space-between;
  background:
    radial-gradient(circle at 15% 20%, rgba(205,163,73,.25), transparent 55%),
    radial-gradient(circle at 90% 80%, rgba(28,107,77,.35), transparent 55%),
    linear-gradient(135deg, var(--fd-nero-2), var(--fd-nero));
  border:1px solid rgba(205,163,73,.3);
  box-shadow:0 20px 50px -20px rgba(0,0,0,.6);
}
.fd-card-size-note{text-align:center; font-size:.7rem; color:var(--fd-beige-2); opacity:.7; margin-top:10px;}

/* ---- App unica a tab [facedance_app] ---- */
.facedance-app{max-width:1100px; margin:0 auto;}
.fd-app-banner{margin-bottom:20px;}
.fd-app-tabs{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:24px; border-bottom:1px solid rgba(205,163,73,.18); padding-bottom:14px;}
.fd-app-tab{
  background:var(--fd-nero-2); border:1px solid rgba(205,163,73,.2); color:var(--fd-beige-2);
  border-radius:18px; padding:8px 16px; font-size:.82rem; cursor:pointer; transition:.15s; font-family:inherit;
}
.fd-app-tab:hover{border-color:rgba(205,163,73,.5);}
.fd-app-tab.is-active{background:linear-gradient(115deg,var(--fd-oro-2),var(--fd-smeraldo)); color:var(--fd-nero); border-color:transparent; font-weight:700;}
.fd-app-panel{display:none;}
.fd-app-panel.is-active{display:block; animation:fdFadeIn .25s ease;}
@keyframes fdFadeIn{ from{opacity:0; transform:translateY(4px);} to{opacity:1; transform:translateY(0);} }
.fd-app-account-links{display:grid; grid-template-columns:repeat(auto-fit, minmax(200px,1fr)); gap:14px;}
.fd-app-account-links a.facedance-card{display:block; text-decoration:none; color:var(--fd-beige); font-weight:600; text-align:center; transition:.15s;}
.fd-app-account-links a.facedance-card:hover{border-color:var(--fd-oro); color:var(--fd-oro-2);}
.fd-bizcard-pattern{
  position:absolute; inset:0; opacity:.06; pointer-events:none;
  background-image:radial-gradient(circle, var(--fd-beige) 1px, transparent 1px);
  background-size:14px 14px;
}
.fd-bizcard-top{display:flex; align-items:center; gap:8px; position:relative; z-index:1;}
.fd-bizcard-top svg{width:22px; height:22px;}
.fd-bizcard-wordmark .facedance-wordmark{font-size:.78rem;}
.fd-bizcard-body{display:flex; align-items:center; gap:12px; position:relative; z-index:1; flex:1;}
.fd-bizcard-photo img{border-radius:50%; border:2px solid var(--fd-oro); display:block; width:54px; height:54px;}
.fd-bizcard-info{flex:1; min-width:0;}
.fd-bizcard-info h2{margin:0 0 1px; font-family:'Space Grotesk',sans-serif; font-size:.92rem; color:var(--fd-beige); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.fd-bizcard-role{margin:0 0 4px; font-size:.6rem; letter-spacing:.05em; text-transform:uppercase; color:var(--fd-oro); font-weight:700;}
.fd-bizcard-meta{margin:0 0 3px; font-size:.62rem; color:var(--fd-beige-2); line-height:1.4;}
.fd-bizcard-badge{margin:0; font-size:.58rem; color:var(--fd-smeraldo); font-weight:700;}
.fd-bizcard-qr{flex-shrink:0; display:flex; flex-direction:column; align-items:center; gap:2px;}
.fd-bizcard-qr img{border-radius:6px; background:var(--fd-beige); padding:3px; width:56px; height:56px;}
.fd-bizcard-footer{
  font-size:.55rem; color:var(--fd-beige-2); letter-spacing:.03em; position:relative; z-index:1;
  border-top:1px solid rgba(205,163,73,.2); padding-top:6px;
}

@page{ size:85mm 55mm; margin:0; }
@media print{
  .facedance-card-page, .facedance-card-page *{ visibility:visible; }
  body *{ visibility:hidden; }
  .facedance-card-page{ position:absolute; left:0; top:0; }
  .fd-bizcard-wrap{ width:85mm; height:55mm; }
  .fd-bizcard{ width:85mm; height:55mm; aspect-ratio:auto; padding:5mm; border-radius:0; background:#fff !important; border:none !important; box-shadow:none !important; color:#0a0b08 !important; }
  .fd-bizcard-pattern{ display:none; }
  .fd-bizcard-info h2, .fd-bizcard-meta, .fd-bizcard-footer{ color:#0a0b08 !important; }
  .fd-bizcard-wordmark .fd-face{ color:#0a0b08 !important; }
  .fd-bizcard-wordmark .fd-dance{ background:none !important; color:#0a0b08 !important; -webkit-text-fill-color:#0a0b08; }
  .fd-bizcard-qr img{ background:#fff !important; }
}

.fd-card-body{padding:12px 16px;}
.fd-card-body h3{margin:0 0 6px; font-size:1.05rem;}
.fd-card-actions{
  display:flex; align-items:center; gap:14px; padding:10px 16px; border-top:1px solid rgba(205,163,73,.12); flex-wrap:wrap;
}
.fd-action{color:var(--fd-beige-2); text-decoration:none; font-size:.85rem;}

/* ---- Eventi: griglia moderna con evento in evidenza ---- */
.facedance-events{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:20px;
}
.fd-event-card{
  background:var(--fd-nero-2); border:1px solid rgba(205,163,73,.18); border-radius:16px; overflow:hidden; color:var(--fd-beige);
  display:flex; flex-direction:column; transition:.2s;
}
.fd-event-card:hover{border-color:rgba(205,163,73,.5); transform:translateY(-3px);}
.fd-event-hero{grid-column:1 / -1; flex-direction:row;}
.fd-event-media{
  position:relative; min-height:170px; background:linear-gradient(135deg,var(--fd-smeraldo),var(--fd-nero-2));
  flex:1 1 100%;
}
.fd-event-hero .fd-event-media{flex:1 1 50%;}
.fd-event-media img{width:100%; height:100%; object-fit:cover; display:block; min-height:170px;}
.fd-event-media-fallback{
  height:170px; display:flex; align-items:center; justify-content:center; font-size:2.6rem; opacity:.6;
}
.fd-event-countdown{
  position:absolute; top:12px; right:12px; background:rgba(10,11,8,.78); border:1px solid var(--fd-oro);
  color:var(--fd-oro-2); font-size:.72rem; font-weight:700; padding:5px 11px; border-radius:20px; letter-spacing:.02em;
}
.fd-event-tag{
  position:absolute; bottom:12px; left:12px; background:rgba(10,11,8,.78); color:var(--fd-beige);
  font-size:.7rem; padding:4px 10px; border-radius:14px; border:1px solid rgba(236,226,200,.25);
}
.fd-event-body{padding:18px; flex:1 1 50%; display:flex; flex-direction:column;}
.fd-event-body h3{margin:0 0 8px; font-size:1.1rem; font-family:'Space Grotesk',sans-serif;}
.fd-event-hero .fd-event-body h3{font-size:1.5rem;}
.fd-event-excerpt{font-size:.85rem; color:var(--fd-beige-2); margin:8px 0 14px; line-height:1.55;}
.fd-btn-ghost{
  margin-top:auto; align-self:flex-start; border:1px solid var(--fd-oro); color:var(--fd-oro-2); text-decoration:none;
  font-size:.8rem; padding:8px 16px; border-radius:18px; transition:.2s;
}
.fd-btn-ghost:hover{background:var(--fd-oro); color:var(--fd-nero);}

@media (max-width:760px){
  .facedance-events{grid-template-columns:1fr;}
  .fd-event-hero{flex-direction:column;}
}

/* ---- Link autore verso il profilo pubblico ---- */
.fd-author-link{color:inherit; text-decoration:none;}
.fd-author-link:hover{color:var(--fd-oro);}

/* ---- Pagina profilo pubblico ---- */
.facedance-profile-page{
  max-width:760px; margin:24px auto; padding:24px 20px 60px;
  background:var(--fd-nero) !important; color:var(--fd-beige) !important;
  border-radius:20px; font-family:'Inter', sans-serif !important; box-sizing:border-box;
}
.facedance-profile-page *{ box-sizing:border-box; }
.facedance-profile-page h1, .facedance-profile-page h2, .facedance-profile-page h3, .facedance-profile-page h4{
  font-family:'Space Grotesk', sans-serif !important; color:var(--fd-beige) !important;
}
.facedance-profile-page p{ color:inherit; }
.facedance-profile-page ul, .facedance-profile-page ol{ margin:0; padding:0; list-style:none; }
.facedance-profile-page a{ color:var(--fd-oro-2); text-decoration:none; }
.facedance-profile-page a:hover{ color:var(--fd-oro); }
.fd-profile-cover{
  height:200px; border-radius:0 0 20px 20px; margin:0 -20px;
  background:
    radial-gradient(circle at 20% 30%, rgba(205,163,73,.35), transparent 55%),
    radial-gradient(circle at 80% 70%, rgba(28,107,77,.45), transparent 55%),
    linear-gradient(135deg, var(--fd-nero-2), var(--fd-nero));
  position:relative;
}
.fd-profile-avatar{
  position:absolute; left:30px; bottom:-46px; border-radius:50%;
  border:4px solid var(--fd-nero); box-shadow:0 8px 24px rgba(0,0,0,.4);
}
.fd-profile-avatar img{border-radius:50%; display:block;}
.fd-profile-info{padding:60px 10px 30px;}
.fd-profile-info h1{font-family:'Space Grotesk',sans-serif; margin:0 0 2px; font-size:1.7rem; color:var(--fd-beige);}
.fd-profile-role{
  display:inline-block; margin:0 0 10px; font-size:.75rem; letter-spacing:.05em; text-transform:uppercase;
  color:var(--fd-oro); font-weight:700;
}
.fd-profile-bio{font-size:.92rem; color:var(--fd-beige-2); line-height:1.6; max-width:520px; margin:10px 0 16px;}
.fd-profile-stats{display:flex; gap:28px; margin:22px 0 10px; flex-wrap:wrap;}
.fd-profile-stats div{display:flex; flex-direction:column; align-items:center;}
.fd-profile-stats strong{font-family:'Space Grotesk',sans-serif; font-size:1.3rem; color:var(--fd-beige);}
.fd-profile-stats span{font-size:.7rem; color:var(--fd-beige-2); letter-spacing:.03em; text-transform:uppercase;}
.fd-profile-badges{display:flex; flex-wrap:wrap; gap:10px; margin-top:18px;}
.fd-badge-chip{
  background:var(--fd-nero-2); border:1px solid rgba(205,163,73,.3); border-radius:20px;
  padding:6px 14px 6px 10px; font-size:.78rem; color:var(--fd-beige-2); display:inline-flex; align-items:center; gap:6px;
}
.fd-badge-chip .e{font-size:1rem;}
.fd-profile-feed{margin-top:46px;}
.fd-profile-feed h2{font-family:'Space Grotesk',sans-serif; font-size:1.2rem; color:var(--fd-oro-2); margin-bottom:20px;}
.fd-profile-actions{display:flex; gap:10px; flex-wrap:wrap; margin:18px 0 4px;}

/* ---- Bottone "Scrivi un messaggio" ---- */
.facedance-message-btn{
  display:inline-block; background:transparent; border:1px solid var(--fd-beige-2); color:var(--fd-beige);
  border-radius:18px; padding:5px 14px; font-size:.78rem; text-decoration:none; transition:.2s;
}
.facedance-message-btn:hover{border-color:var(--fd-oro); color:var(--fd-oro-2);}

/* ---- Messaggi privati: inbox ---- */
.facedance-messages{max-width:560px;}
.fd-messages-title{font-family:'Space Grotesk',sans-serif; font-size:1.5rem; margin:30px 0 20px;}
.fd-conversations{display:flex; flex-direction:column; gap:8px;}
.fd-conversation-row{
  display:flex; align-items:center; gap:12px; padding:12px 14px; border-radius:12px;
  background:var(--fd-nero-2); border:1px solid rgba(205,163,73,.16); text-decoration:none; color:var(--fd-beige);
  transition:.15s;
}
.fd-conversation-row:hover{border-color:rgba(205,163,73,.4);}
.fd-conversation-row img{border-radius:50%; flex-shrink:0;}
.fd-conversation-text{flex:1; min-width:0;}
.fd-conversation-text strong{display:block; font-family:'Space Grotesk',sans-serif; font-size:.92rem;}
.fd-conversation-text p{margin:2px 0 0; font-size:.8rem; color:var(--fd-beige-2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.fd-unread-badge{
  background:var(--fd-oro); color:var(--fd-nero); font-size:.72rem; font-weight:800; border-radius:50%;
  width:22px; height:22px; display:flex; align-items:center; justify-content:center; flex-shrink:0;
}

/* ---- Messaggi privati: conversazione ---- */
.fd-back-link{display:inline-block; margin:30px 0 16px; color:var(--fd-beige-2); text-decoration:none; font-size:.85rem;}
.fd-back-link:hover{color:var(--fd-oro);}
.fd-thread-header{display:flex; align-items:center; gap:12px; padding-bottom:16px; border-bottom:1px solid rgba(205,163,73,.18); margin-bottom:18px;}
.fd-thread-header img{border-radius:50%;}
.fd-thread-header strong{font-family:'Space Grotesk',sans-serif; font-size:1.05rem;}
.fd-thread-messages{display:flex; flex-direction:column; gap:10px; min-height:160px; margin-bottom:20px;}
.fd-bubble{
  max-width:75%; background:var(--fd-nero-2); border:1px solid rgba(205,163,73,.18); border-radius:14px 14px 14px 4px;
  padding:10px 14px; align-self:flex-start;
}
.fd-bubble p{margin:0; font-size:.88rem; color:var(--fd-beige); line-height:1.5;}
.fd-bubble time{display:block; margin-top:4px; font-size:.66rem; color:var(--fd-beige-2);}
.fd-bubble-mine{
  align-self:flex-end; border-radius:14px 14px 4px 14px;
  background:linear-gradient(115deg,rgba(236,207,126,.18),rgba(28,107,77,.28)); border-color:rgba(205,163,73,.4);
}
.fd-thread-form{display:flex; gap:10px; align-items:flex-end;}
.fd-thread-form textarea{
  flex:1; resize:none; min-height:46px; background:var(--fd-nero-2); border:1px solid rgba(205,163,73,.3);
  border-radius:10px; padding:10px 12px; color:var(--fd-beige); font-family:inherit; font-size:.85rem;
}
.fd-thread-form .fd-btn-primary{padding:11px 18px;}

/* ---- Corsi & Agenda ---- */
.facedance-courses-grid{grid-template-columns:repeat(auto-fill, minmax(260px,1fr));}
.fd-course-card{
  background:var(--fd-nero-2); border:1px solid rgba(205,163,73,.2); border-radius:14px; padding:16px; color:var(--fd-beige);
}
.fd-course-head{display:flex; justify-content:space-between; align-items:flex-start; gap:8px; flex-wrap:wrap;}
.fd-course-head h4{margin:0; font-size:.98rem; font-family:'Space Grotesk',sans-serif;}
.fd-course-day{font-size:.72rem; color:var(--fd-oro); border:1px solid rgba(205,163,73,.35); border-radius:12px; padding:3px 9px; white-space:nowrap;}
.fd-capacity-bar{height:6px; background:rgba(236,226,200,.12); border-radius:4px; overflow:hidden; margin:10px 0 4px;}
.fd-capacity-fill{height:100%; background:linear-gradient(90deg,var(--fd-oro),var(--fd-smeraldo));}
.fd-capacity-label{font-size:.72rem !important;}
.fd-course-card form{margin-top:10px;}
.fd-btn-sm{padding:7px 14px !important; font-size:.78rem !important; width:auto !important;}
.fd-course-booked{display:inline-block; margin-top:10px; color:var(--fd-smeraldo); font-weight:700; font-size:.82rem;}
.fd-course-full{display:inline-block; margin-top:10px; color:var(--fd-beige-2); font-size:.82rem; font-style:italic;}

.facedance-agenda{max-width:760px;}
.fd-agenda-section{margin:36px 0; padding-top:30px; border-top:1px solid rgba(205,163,73,.15);}
.fd-agenda-section:first-of-type{border-top:none; padding-top:0;}
.fd-agenda-section h2{font-family:'Space Grotesk',sans-serif; font-size:1.15rem; color:var(--fd-oro-2); margin-bottom:16px;}
.fd-course-form{max-width:420px;}
.fd-course-manage-actions{display:flex; gap:8px; margin-top:-10px; margin-bottom:18px;}
.fd-btn-danger{border-color:#b5302f !important; color:#e6a2a0 !important;}
.fd-btn-danger:hover{background:#b5302f !important; color:#fff !important;}

.fd-bookings-list{display:flex; flex-direction:column; gap:10px;}
.fd-booking-row{
  display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 14px;
  background:var(--fd-nero-2); border:1px solid rgba(205,163,73,.16); border-radius:12px;
}
.fd-booking-row strong{font-family:'Space Grotesk',sans-serif; font-size:.92rem;}
.fd-payment-line{color:var(--fd-oro-2) !important;}
.fd-section-hint{font-size:.8rem; color:var(--fd-beige-2); margin:-6px 0 16px;}
.fd-payment-checkboxes{display:flex; flex-direction:column; gap:8px; margin-bottom:6px;}
.fd-payment-form textarea{
  background:var(--fd-nero); border:1px solid rgba(205,163,73,.3); border-radius:8px; padding:10px 12px;
  color:var(--fd-beige); font-family:inherit; font-size:.85rem; resize:vertical;
}
.fd-sala-form{max-width:420px;}
.fd-sale-list{display:flex; flex-direction:column; gap:8px; margin-top:18px;}
.fd-sala-row{
  display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 14px;
  background:var(--fd-nero-2); border:1px solid rgba(205,163,73,.16); border-radius:12px;
}
.fd-sala-row strong{font-family:'Space Grotesk',sans-serif; font-size:.92rem;}

/* ---- Header agenda: logo + bottone stampa ---- */
.fd-agenda-print-header{
  display:flex; align-items:center; gap:14px; padding-bottom:18px; margin-bottom:8px;
  border-bottom:1px solid rgba(205,163,73,.2);
}
.fd-agenda-print-header .facedance-wordmark{font-size:1.2rem; margin-right:auto;}
.fd-print-btn{
  background:transparent; border:1px solid var(--fd-oro); color:var(--fd-oro-2); border-radius:18px;
  padding:7px 16px; font-size:.8rem; cursor:pointer; transition:.2s;
}
.fd-print-btn:hover{background:var(--fd-oro); color:var(--fd-nero);}

/* ---- Timeline: la vera agenda, giorno per giorno ---- */
.fd-timeline{display:flex; flex-direction:column; gap:4px;}
.fd-timeline-day{display:flex; gap:16px; padding:14px 0; border-bottom:1px solid rgba(205,163,73,.12);}
.fd-timeline-date{
  flex:0 0 130px; font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:.82rem;
  color:var(--fd-oro-2); text-transform:capitalize; padding-top:2px;
}
.fd-timeline-items{flex:1; display:flex; flex-direction:column; gap:8px;}
.fd-timeline-item{
  display:flex; align-items:center; gap:10px; background:var(--fd-nero-2); border:1px solid rgba(205,163,73,.16);
  border-radius:8px; padding:8px 10px; font-size:.84rem;
}
.fd-timeline-item-reminder{border-color:rgba(205,163,73,.3); border-style:dashed;}
.fd-timeline-time{font-family:'Space Grotesk',sans-serif; color:var(--fd-oro); font-weight:700; font-size:.78rem; flex:0 0 50px;}
.fd-timeline-text{flex:1; color:var(--fd-beige);}
.fd-timeline-x{
  background:none; border:none; color:var(--fd-beige-2); cursor:pointer; font-size:.85rem; padding:2px 6px; border-radius:4px;
}
.fd-timeline-x:hover{color:#e6a2a0;}
.fd-reminder-form{max-width:420px;}

/* ---- Offerte di lavoro ---- */
.fd-job-card{position:relative;}
.fd-job-tag{
  display:inline-block; background:rgba(205,163,73,.18); border:1px solid rgba(205,163,73,.4); color:var(--fd-oro-2);
  font-size:.7rem; padding:3px 10px; border-radius:12px; margin:4px 0 8px;
}
.fd-job-card .facedance-message-btn{margin-top:8px;}

/* ---- Negozi & Fornitori ---- */
.fd-shop-links{display:flex; gap:14px; margin-top:8px; flex-wrap:wrap;}
.fd-shop-links a{color:var(--fd-oro-2); text-decoration:none; font-size:.82rem;}
.fd-shop-links a:hover{color:var(--fd-oro);}

/* ---- Banner Sponsor ---- */
.fd-banner-sponsor{
  position:relative; background:var(--fd-nero-2); border:1px solid rgba(205,163,73,.25); border-radius:14px;
  padding:14px; max-width:900px; margin:0 auto;
}
.fd-banner-label{
  position:absolute; top:10px; left:10px; z-index:2; background:rgba(10,11,8,.75); color:var(--fd-beige-2);
  font-size:.62rem; letter-spacing:.08em; text-transform:uppercase; padding:3px 9px; border-radius:10px;
}
.fd-banner-img-link{display:block; border-radius:10px; overflow:hidden;}
.fd-banner-img-link img{width:100%; display:block;}
.fd-banner-fallback{
  height:120px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,var(--fd-smeraldo),var(--fd-nero));
  color:var(--fd-beige); font-family:'Space Grotesk',sans-serif; font-weight:700;
}
.fd-banner-contacts{display:flex; gap:16px; justify-content:center; margin-top:10px; flex-wrap:wrap;}
.fd-banner-contacts a{color:var(--fd-beige-2); text-decoration:none; font-size:.8rem;}
.fd-banner-contacts a:hover{color:var(--fd-oro);}
.fd-banner-empty{
  text-align:center; padding:22px; border:1px dashed rgba(205,163,73,.35); border-radius:14px;
  color:var(--fd-beige-2); font-size:.85rem; max-width:900px; margin:0 auto;
}
.fd-banner-empty a{color:var(--fd-oro); text-decoration:none; font-weight:700;}
.fd-banner-request{max-width:480px;}

/* ---- Stampa: solo il planner, niente nav/form/menu del sito ---- */
@media print{
  body *{ visibility:hidden; }
  .facedance-agenda, .facedance-agenda *{ visibility:visible; }
  .facedance-agenda{ position:absolute; left:0; top:0; width:100%; background:#fff !important; color:#0a0b08 !important; }
  .no-print{ display:none !important; }
  .fd-agenda-print-header{ border-bottom:2px solid #0a0b08; }
  .facedance-wordmark .fd-face{ color:#0a0b08 !important; }
  .facedance-wordmark .fd-dance{ background:none !important; color:#0a0b08 !important; -webkit-text-fill-color:#0a0b08; }
  .fd-timeline-date{ color:#0a0b08 !important; }
  .fd-timeline-item, .fd-timeline-day{ background:#fff !important; border-color:#ccc !important; }
  .fd-timeline-text{ color:#0a0b08 !important; }
  .fd-timeline-time{ color:#0a0b08 !important; }
  .facedance-credit{ color:#888 !important; }
}

/* ---- Dance Emoticon Pack ---- */
.facedance-emoticon{display:block;}
.fd-emoticon-pack{display:flex; flex-wrap:wrap; gap:14px; margin:24px 0;}
.fd-emoticon-chip{
  background:var(--fd-nero-2); border:1px solid rgba(205,163,73,.2); border-radius:14px;
  padding:14px 10px 10px; display:flex; flex-direction:column; align-items:center; gap:8px;
  font-size:.74rem; color:var(--fd-beige-2); width:100px; text-align:center;
}

/* ---- I-Dance ---- */
.facedance-idance-btn{
  background:transparent; border:1px solid var(--fd-smeraldo); color:var(--fd-beige);
  border-radius:20px; padding:6px 14px; font-size:.82rem; cursor:pointer; transition:.2s;
}
.facedance-idance-btn .fd-count{color:var(--fd-oro); font-weight:700; margin-left:4px;}
.facedance-idance-btn.is-active{
  background:linear-gradient(115deg,var(--fd-oro-2),var(--fd-smeraldo)); color:var(--fd-nero); border-color:transparent;
}
.facedance-idance-btn.is-active .fd-count{color:var(--fd-nero);}

/* ---- I Dance with You (segui) ---- */
.facedance-follow-btn{
  margin-left:auto; background:transparent; border:1px solid var(--fd-oro); color:var(--fd-beige-2);
  border-radius:18px; padding:5px 12px; font-size:.74rem; cursor:pointer; transition:.2s; white-space:nowrap;
}
.facedance-follow-btn .fd-count{color:var(--fd-oro); font-weight:700; margin-left:3px;}
.facedance-follow-btn.is-active{
  background:linear-gradient(115deg,var(--fd-smeraldo),var(--fd-oro)); color:var(--fd-nero); border-color:transparent; font-weight:700;
}
.facedance-card-directory .facedance-follow-btn{margin:10px 0 0; width:100%; text-align:center;}

/* ---- Reazioni rapide a tema danza ---- */
.fd-quick-reactions{display:flex; gap:6px; padding:0 16px 8px;}
.fd-reaction{
  background:var(--fd-nero); border:1px solid rgba(205,163,73,.18); border-radius:10px;
  width:38px; height:46px; padding:2px; cursor:pointer; transition:.15s; display:flex; align-items:center; justify-content:center;
}
.fd-reaction:hover{transform:scale(1.12); border-color:rgba(205,163,73,.4);}
.fd-reaction.is-active{background:rgba(205,163,73,.22); border-color:var(--fd-oro); transform:scale(1.08);}
.fd-reaction .facedance-emoticon{width:100%; height:100%;}

/* ---- Condivisione social ---- */
.fd-share{display:flex; gap:8px; margin-left:auto; font-size:.78rem;}
.fd-share a{color:var(--fd-beige-2); text-decoration:none;}
.fd-share a:hover{color:var(--fd-oro);}

/* ---- Form di registrazione ---- */
.facedance-registration{max-width:480px; margin:0 auto;}
.fd-form{display:flex; flex-direction:column; gap:14px; background:var(--fd-nero-2); padding:24px; border-radius:14px; border:1px solid rgba(205,163,73,.2);}
.fd-form label{display:flex; flex-direction:column; gap:6px; font-size:.85rem; color:var(--fd-beige-2);}
.fd-form input[type=text], .fd-form input[type=email], .fd-form input[type=password], .fd-form select{
  background:var(--fd-nero); border:1px solid rgba(205,163,73,.3); border-radius:8px; padding:10px 12px; color:var(--fd-beige);
}
.fd-consent{flex-direction:row !important; align-items:flex-start; gap:8px !important; font-size:.78rem;}
.fd-consent input{margin-top:3px;}
.fd-btn-primary{
  background:linear-gradient(115deg,var(--fd-oro-2),var(--fd-smeraldo)); color:var(--fd-nero); font-weight:800;
  border:none; border-radius:8px; padding:12px; cursor:pointer; letter-spacing:.02em;
}
.fd-msg{padding:10px 14px; border-radius:8px; margin-bottom:14px; font-size:.85rem;}
.fd-msg-successo{background:rgba(28,107,77,.25); border:1px solid var(--fd-smeraldo); color:var(--fd-beige);}
.fd-msg-errore{background:rgba(181,48,47,.2); border:1px solid #b5302f; color:var(--fd-beige);}

/* ---- Dashboard admin ---- */
.facedance-admin-dashboard h1{display:flex; align-items:center; gap:12px;}


/* ---- Registrazione piattaforma: leggibile e indipendente dal tema ---- */
.fd-registration-shell{max-width:640px!important;}
.fd-registration-intro{margin:0 0 16px;}
.fd-registration-intro h3{font-size:1.35rem!important;margin:5px 0 8px!important;}
.fd-registration-intro p{color:var(--fd-beige-2)!important;font-size:.88rem;line-height:1.6;}
.fd-form-help,.fd-registration-note{margin:0!important;color:var(--fd-beige-2)!important;font-size:.76rem!important;line-height:1.55;}
.fd-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;}
.fd-registration-message{display:none;margin:0 0 14px!important;}
.fd-registration-message.is-visible{display:block;}
.fd-registration-form.is-loading .fd-registration-submit{pointer-events:none;opacity:.78;}
.fd-submit-loading{display:none;}
.fd-registration-form.is-loading .fd-submit-copy{display:none;}
.fd-registration-form.is-loading .fd-submit-loading{display:inline;}
.facedance-section .fd-registration-consent,.facedance-community-mode .fd-registration-consent{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:11px!important;margin:5px 0 0!important;padding:13px 14px!important;background:rgba(236,207,126,.08)!important;border:1px solid rgba(205,163,73,.38)!important;border-radius:12px!important;color:var(--fd-beige)!important;font-size:.82rem!important;line-height:1.55!important;cursor:pointer!important;}
.facedance-section .fd-registration-consent span,.facedance-community-mode .fd-registration-consent span{display:block!important;color:var(--fd-beige)!important;}
.facedance-section .fd-registration-consent a,.facedance-community-mode .fd-registration-consent a{color:var(--fd-oro-2)!important;text-decoration:underline!important;text-underline-offset:2px;}
.facedance-section .fd-registration-consent input[type=checkbox],.facedance-community-mode .fd-registration-consent input[type=checkbox]{appearance:auto!important;-webkit-appearance:checkbox!important;display:block!important;visibility:visible!important;opacity:1!important;width:20px!important;height:20px!important;min-width:20px!important;margin:2px 0 0!important;padding:0!important;border:1px solid var(--fd-oro)!important;border-radius:3px!important;background:#fff!important;accent-color:var(--fd-oro)!important;box-shadow:none!important;}
.facedance-section .fd-registration-form input:focus,.facedance-community-mode .fd-registration-form input:focus,.facedance-community-mode .fd-registration-form select:focus{outline:2px solid rgba(236,207,126,.75)!important;outline-offset:2px!important;}
