/* BRAND Menslab */
.mle { --mle-text:#333333; --mle-primary:#ff6600; --mle-accent:#00a1df; --mle-bg:#ffffff; --mle-muted:#f3f5f7; }
.mle, .mle * { box-sizing: border-box !important; }
.mle { color: var(--mle-text) !important; font: 400 16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial !important; }
.mle a { color: var(--mle-accent) !important; text-decoration: none !important; }
.mle a:hover { text-decoration: underline !important; }
.mle h1,.mle h2,.mle h3{ color: var(--mle-text) !important; margin:0 0 12px !important; font-weight:700 !important; line-height:1.25 !important; }
.mle h1{ font-size:32px !important } .mle h2{ font-size:24px !important } .mle h3{ font-size:18px !important }
.mle .mle-container{ max-width:1200px !important; margin:0 auto !important; padding:16px !important; }

/* Cards */
.mle .mle-grid{ display:grid !important; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)) !important; gap:20px !important; }
.mle .mle-card{ background:#fff !important; border:1px solid #e8eaee !important; border-radius:12px !important; padding:18px !important; box-shadow:0 4px 16px rgba(0,0,0,.04) !important; display:flex !important; flex-direction:column !important; }
.mle .mle-card.form{ padding:22px !important; }
.mle .mle-card-title a{ color:var(--mle-text) !important; }
.mle .mle-badges{ display:flex !important; flex-wrap:wrap !important; gap:6px !important; margin:8px 0 !important; }
.mle .mle-badge{ background:var(--mle-muted) !important; color:#222 !important; padding:4px 10px !important; border-radius:999px !important; font-size:12px !important; }
.mle .mle-badge.mle-highlight{ background:#fff2e6 !important; color:#c24a00 !important; border:1px solid #ffd7b3 !important; }

/* Meta & countdown */
.mle .mle-meta{ font-size:14px !important; color:#444 !important; display:grid !important; gap:4px !important; margin-bottom:8px !important; }
.mle .mle-countdown{ font-weight:700 !important; color:var(--mle-primary) !important; margin:8px 0 10px !important; }
.mle .mle-countdown.big{ font-size:20px !important; }

/* Buttons */
.mle .mle-actions{ margin-top:auto !important; display:flex !important; flex-wrap:wrap !important; gap:10px !important; align-items:center !important; }
.mle .mle-btn{ display:inline-flex !important; align-items:center !important; gap:8px !important; padding:10px 14px !important; border-radius:10px !important; border:1px solid #dfe3e8 !important; font-weight:600 !important; background:#fff !important; color:var(--mle-text) !important; transition: all .2s ease !important; }
.mle .mle-btn.primary{ background: var(--mle-primary) !important; border-color: var(--mle-primary) !important; color:#fff !important; }
.mle .mle-btn.accent{ background: var(--mle-accent) !important; border-color: var(--mle-accent) !important; color:#fff !important; }
.mle .mle-btn:hover{ transform: translateY(-1px) !important; box-shadow:0 6px 18px rgba(0,0,0,.06) !important; }

.mle .mle-iconbtn{ width:38px !important; height:38px !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; border-radius:10px !important; background: var(--mle-muted) !important; border:1px solid #e2e6ea !important; transition:.2s !important; color:#222 !important; }
.mle .mle-iconbtn:hover{ background:#eaf6fb !important; border-color:#d5eef9 !important; }

/* Share */
.mle .mle-share{ display:flex !important; gap:8px !important; margin-top:10px !important; }

/* Layout singolo */
.mle .mle-layout{ display:grid !important; grid-template-columns:2fr 1fr !important; gap:24px !important; }
.mle .mle-col-main{ min-width:0 !important; }
.mle .mle-col-aside{ min-width:0 !important; }
.mle .mle-sticky{ position:sticky !important; top:24px !important; }

/* Form */
.mle .mle-form-title{ font-size:18px !important; margin-bottom:8px !important; }
.mle .mle-form .row{ display:grid !important; grid-template-columns:1fr 1fr !important; gap:12px !important; }
.mle .mle-form label{ display:block !important; font-weight:600 !important; margin:8px 0 6px !important; }
.mle .mle-form input, .mle .mle-form textarea{ width:100% !important; padding:10px 12px !important; border:1px solid #dfe3e8 !important; border-radius:8px !important; outline:none !important; transition:border-color .15s, box-shadow .15s !important; background:#fff !important; color:var(--mle-text) !important; }
.mle .mle-form input:focus, .mle .mle-form textarea:focus{ border-color: var(--mle-accent) !important; box-shadow:0 0 0 3px rgba(0,161,223,.15) !important; }
.mle .mle-form .field.ok input, .mle .mle-form .field.ok textarea{ border-color:#39b54a !important; box-shadow:0 0 0 2px rgba(57,181,74,.15) !important; }
.mle .mle-form .field.err input, .mle .mle-form .field.err textarea{ border-color:#ff5a5a !important; box-shadow:0 0 0 2px rgba(255,90,90,.15) !important; }

.mle .mle-hp{ position:absolute !important; left:-9999px !important; height:0 !important; width:0 !important; opacity:0 !important; }

/* Privacy allineata: checkbox a sinistra, testo a destra */
.mle .mle-privacy{ display:flex !important; align-items:flex-start !important; gap:8px !important; margin-top:6px !important; }
.mle .mle-privacy input{ margin-top:3px !important; }
.mle .mle-form .submit{ margin-top:12px !important; }
.mle .mle-form .btn-spinner{ width:16px !important; height:16px !important; margin-left:8px !important; border-radius:50% !important; border:2px solid rgba(255,255,255,.6) !important; border-top-color:#fff !important; display:none !important; }
.mle .mle-form button.loading .btn-spinner{ display:inline-block !important; animation:mle-spin 1s linear infinite !important; }
.mle .mle-form button.loading .btn-label{ opacity:.6 !important; }
@keyframes mle-spin{ to { transform: rotate(360deg); } }

.mle .mle-alert{ padding:10px 12px !important; border-radius:8px !important; margin:0 0 8px !important; font-size:14px !important; }
.mle .mle-alert.err{ background:#ffecec !important; color:#b80000 !important; border:1px solid #ffc7c7 !important; }
.mle .mle-form-success{ display:flex !important; align-items:center !important; gap:8px !important; background:#ecfff2 !important; border:1px solid #c2f3d1 !important; color:#0a7a2a !important; border-radius:10px !important; padding:14px 16px !important; font-weight:600 !important; }
.mle .mle-form-success .ico{ width:20px !important; height:20px !important; border-radius:50% !important; background:#39b54a !important; display:inline-block !important; position:relative !important; }
.mle .mle-form-success .ico::after{ content:'' !important; position:absolute !important; left:5px !important; top:2px !important; width:8px !important; height:12px !important; border-right:2px solid #fff !important; border-bottom:2px solid #fff !important; transform:rotate(45deg) !important; }

/* ==== Feature cards ==== */
.mle .mle-features{ display:grid !important; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)) !important; gap:12px !important; margin:8px 0 16px !important; }
.mle .mle-feat{ background:var(--mle-muted) !important; border:1px solid #e5e7ea !important; border-radius:12px !important; padding:10px 12px !important; display:flex !important; align-items:center !important; gap:10px !important; }
.mle .mle-feat .lbl{ font-size:12px !important; color:#666 !important; }
.mle .mle-feat .val{ font-weight:700 !important; color:#222 !important; }
.mle .mle-feat.countdown{ background:#fff2e6 !important; border-color:#ffd7b3 !important; }
.mle .mle-feat.countdown .val{ color:var(--mle-primary) !important; }

/* ==== Descrizione clamp ==== */
.mle .mle-description{ margin-top:8px !important; }
.mle .mle-collapsible{ position:relative !important; }
.mle .mle-collapsible.is-clamped:not(.expanded){ max-height:520px !important; overflow:hidden !important; }
.mle .mle-collapsible.is-clamped:not(.expanded)::after{
  content:'' !important; position:absolute !important; left:0 !important; right:0 !important; bottom:0 !important; height:80px !important;
  background:linear-gradient(180deg, rgba(255,255,255,0) 0%, #fff 70%) !important;
}
.mle .mle-toggle-wrap{ margin-top:8px !important; }
.mle .mle-btn.link{ background:transparent !important; border:none !important; padding:0 !important; color:var(--mle-accent) !important; font-weight:700 !important; }
.mle .mle-btn.link:hover{ text-decoration:underline !important; box-shadow:none !important; transform:none !important; }

/* ==== Checkbox alignment (privacy e billing) ==== */
.mle .mle-form input[type=checkbox]{ width:auto !important; height:auto !important; margin-right:8px !important; }
.mle .mle-privacy{ display:flex !important; align-items:flex-start !important; gap:8px !important; margin-top:6px !important; }
.mle .mle-privacy input{ margin-top:3px !important; }
.mle .mle-form .row .field > label{ display:flex !important; align-items:center !important; gap:8px !important; }

/* ==== CTA, calendari e share separati ==== */
.mle .mle-actions.row{ align-items:center !important; gap:12px !important; }
.mle .mle-cal{ display:flex !important; gap:8px !important; }
.mle .mle-iconbtn.calendar{ background:#fff2e6 !important; border-color:#ffd7b3 !important; color:#c24a00 !important; }
.mle .mle-iconbtn.calendar:hover{ background:#ffe4cc !important; }

/* Share block con titolo e colori piattaforma */
.mle .mle-share-block{ margin-top:16px !important; }
.mle .mle-share-label{ font-size:12px !important; color:#666 !important; margin-bottom:6px !important; }
.mle .mle-iconbtn.fb{ background:#e7f0ff !important; border-color:#cfe0ff !important; color:#1877F2 !important; }
.mle .mle-iconbtn.ln{ background:#e6f3ff !important; border-color:#cfe7ff !important; color:#0A66C2 !important; }
.mle .mle-iconbtn.x{ background:#f1f3f5 !important; border-color:#e2e6ea !important; color:#111 !important; }
.mle .mle-iconbtn.wa{ background:#e6fff2 !important; border-color:#c8f7e0 !important; color:#25D366 !important; }

/* Responsive ritocchi */
@media (max-width: 1024px){
  .mle .mle-features{ grid-template-columns:1fr 1fr !important; }
}
@media (max-width: 680px){
  .mle .mle-features{ grid-template-columns:1fr !important; }
}

/* Responsive */
@media (max-width: 1024px){
  .mle .mle-layout{ grid-template-columns:1fr !important; }
  .mle .mle-sticky{ position: static !important; }
  .mle .mle-form .row{ grid-template-columns:1fr !important; }
}
