/* 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; }
}

/* ===== NUOVO LAYOUT CORSO ===== */

/* Hero Section */
.mle-single-course .mle-hero {
  text-align: center !important;
  padding: 40px 0 !important;
  max-width: 900px !important;
  margin: 0 auto !important;
}

.mle-single-course .mle-tagline {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--mle-accent) !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  margin-bottom: 12px !important;
}

.mle-single-course .mle-hero-title {
  font-size: 48px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  margin-bottom: 16px !important;
  color: var(--mle-text) !important;
}

.mle-single-course .mle-hero-subtitle {
  font-size: 18px !important;
  line-height: 1.6 !important;
  color: #666 !important;
  margin-bottom: 0 !important;
}

/* Feature Cards Grid */
.mle-single-course .mle-feature-cards {
  padding: 40px 0 !important;
}

.mle-single-course .mle-features-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
  margin-bottom: 32px !important;
}

.mle-single-course .mle-feature-card {
  text-align: center !important;
  padding: 24px 20px !important;
  background: #fff !important;
  border: 1px solid #e8eaee !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.04) !important;
  transition: all 0.3s ease !important;
}

.mle-single-course .mle-feature-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.08) !important;
}

.mle-single-course .mle-feature-icon {
  width: 56px !important;
  height: 56px !important;
  margin: 0 auto 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--mle-muted) !important;
  border-radius: 50% !important;
  color: var(--mle-primary) !important;
}

.mle-single-course .mle-feature-title {
  font-size: 16px !important;
  font-weight: 700 !important;
  margin-bottom: 8px !important;
  color: var(--mle-text) !important;
}

.mle-single-course .mle-feature-text {
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: #666 !important;
}

/* Hero Buttons */
.mle-single-course .mle-hero-buttons {
  display: flex !important;
  gap: 16px !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  margin-top: 32px !important;
}

.mle-single-course .mle-hero-buttons .mle-btn {
  padding: 14px 32px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}

/* Description Section (sfondo nero) */
.mle-single-course .mle-description-section {
  background: #2d3436 !important;
  padding: 60px 0 !important;
  margin: 40px 0 !important;
  border-radius: 16px !important;
  color: #fff !important;
}

.mle-single-course .mle-description-container {
  max-width: 900px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
}

.mle-single-course .mle-description-icon {
  text-align: center !important;
  margin-bottom: 24px !important;
  color: var(--mle-primary) !important;
  opacity: 0.9 !important;
}

.mle-single-course .mle-description-heading {
  font-size: 32px !important;
  font-weight: 700 !important;
  text-align: center !important;
  margin-bottom: 32px !important;
  color: #fff !important;
  line-height: 1.3 !important;
}

.mle-single-course .mle-description .entry-content {
  color: #e8e8e8 !important;
  line-height: 1.8 !important;
  font-size: 16px !important;
}

.mle-single-course .mle-description .entry-content p {
  color: #e8e8e8 !important;
  margin-bottom: 16px !important;
}

.mle-single-course .mle-description .is-clamped:not(.expanded)::after {
  background: linear-gradient(180deg, rgba(45,52,54,0) 0%, #2d3436 70%) !important;
}

.mle-single-course .mle-btn.link.light {
  color: var(--mle-accent) !important;
}

.mle-single-course .mle-btn.link.light:hover {
  color: #fff !important;
}

/* Program Section */
.mle-single-course .mle-program-section {
  padding: 60px 0 !important;
}

.mle-single-course .mle-program-header {
  display: grid !important;
  grid-template-columns: 1fr 1.5fr !important;
  gap: 60px !important;
  align-items: start !important;
}

.mle-single-course .mle-program-left {
  position: sticky !important;
  top: 24px !important;
}

.mle-single-course .mle-section-title {
  font-size: 36px !important;
  font-weight: 700 !important;
  margin-bottom: 24px !important;
  line-height: 1.3 !important;
}

.mle-single-course .mle-program-buttons {
  display: flex !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  margin-top: 24px !important;
}

.mle-single-course .mle-btn.secondary {
  background: transparent !important;
  border: 2px solid #dfe3e8 !important;
  color: var(--mle-text) !important;
  padding: 10px 20px !important;
  font-weight: 600 !important;
}

.mle-single-course .mle-btn.secondary:hover {
  border-color: var(--mle-primary) !important;
  color: var(--mle-primary) !important;
}

.mle-single-course .mle-program-items {
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
}

.mle-single-course .mle-program-item {
  display: flex !important;
  gap: 16px !important;
  padding: 20px !important;
  background: #fff !important;
  border: 1px solid #e8eaee !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.04) !important;
  transition: all 0.3s ease !important;
}

.mle-single-course .mle-program-item:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,.08) !important;
  transform: translateX(4px) !important;
}

.mle-single-course .mle-program-item-icon {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--mle-muted) !important;
  border-radius: 50% !important;
  color: var(--mle-primary) !important;
}

.mle-single-course .mle-program-item-title {
  font-size: 18px !important;
  font-weight: 700 !important;
  margin-bottom: 8px !important;
  color: var(--mle-text) !important;
}

.mle-single-course .mle-program-item-desc {
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: #666 !important;
  margin: 0 !important;
}

/* Contact Section */
.mle-single-course .mle-contact-section {
  background: var(--mle-muted) !important;
  padding: 60px 0 !important;
  margin: 40px 0 !important;
  border-radius: 16px !important;
}

.mle-single-course .mle-contact-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 60px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
}

.mle-single-course .mle-contact-intro {
  font-size: 16px !important;
  line-height: 1.6 !important;
  color: #666 !important;
  margin-bottom: 32px !important;
}

.mle-single-course .mle-contact-details {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

.mle-single-course .mle-contact-item {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  font-size: 16px !important;
  color: var(--mle-text) !important;
}

.mle-single-course .mle-contact-icon {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #fff !important;
  border-radius: 50% !important;
  color: var(--mle-primary) !important;
}

.mle-single-course .mle-contact-form .mle-card {
  background: #fff !important;
  padding: 32px !important;
}

/* Related Events Section */
.mle-single-course .mle-related-section {
  padding: 60px 0 40px !important;
}

.mle-single-course .mle-related-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 32px !important;
}

.mle-single-course .mle-related-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
}

.mle-single-course .mle-related-card {
  background: #fff !important;
  border: 1px solid #e8eaee !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.04) !important;
  transition: all 0.3s ease !important;
}

.mle-single-course .mle-related-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.08) !important;
}

.mle-single-course .mle-related-thumb {
  width: 100% !important;
  height: 200px !important;
  overflow: hidden !important;
}

.mle-single-course .mle-related-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.mle-single-course .mle-related-content {
  padding: 20px !important;
}

.mle-single-course .mle-related-cats {
  display: flex !important;
  gap: 6px !important;
  margin-bottom: 12px !important;
  flex-wrap: wrap !important;
}

.mle-single-course .mle-related-title {
  font-size: 18px !important;
  font-weight: 700 !important;
  margin-bottom: 8px !important;
  line-height: 1.3 !important;
}

.mle-single-course .mle-related-title a {
  color: var(--mle-text) !important;
}

.mle-single-course .mle-related-title a:hover {
  color: var(--mle-primary) !important;
}

.mle-single-course .mle-related-excerpt {
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: #666 !important;
  margin-bottom: 12px !important;
}

.mle-single-course .mle-related-meta {
  display: flex !important;
  gap: 16px !important;
  font-size: 13px !important;
  color: #888 !important;
  flex-wrap: wrap !important;
}

.mle-single-course .mle-related-meta span {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

/* Responsive per nuovo layout */
@media (max-width: 1200px) {
  .mle-single-course .mle-features-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .mle-single-course .mle-program-header {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }

  .mle-single-course .mle-program-left {
    position: static !important;
  }

  .mle-single-course .mle-contact-grid {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }
}

@media (max-width: 768px) {
  .mle-single-course .mle-hero-title {
    font-size: 32px !important;
  }

  .mle-single-course .mle-hero-subtitle {
    font-size: 16px !important;
  }

  .mle-single-course .mle-features-grid {
    grid-template-columns: 1fr !important;
  }

  .mle-single-course .mle-description-heading {
    font-size: 24px !important;
  }

  .mle-single-course .mle-section-title {
    font-size: 28px !important;
  }

  .mle-single-course .mle-related-grid {
    grid-template-columns: 1fr !important;
  }

  .mle-single-course .mle-hero-buttons {
    flex-direction: column !important;
  }

  .mle-single-course .mle-hero-buttons .mle-btn {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
  }
}
