/* =========================================================
   ACADEMY — SINGLE COURSE (Astra + Sensei)
   Struttura CSS modulare: sostituisci solo il blocco che serve
   ========================================================= */


/* =========================================================
   0) CLEANUP — Meta (autore, data, byline)
   ========================================================= */
body.single-course .entry-meta,
body.single-course .entry-meta * ,
body.single-course .ast-single-post-meta,
body.single-course .ast-single-post-meta *,
body.single-course .posted-by,
body.single-course .posted-on,
body.single-course .byline,
body.single-course .posted-by a,
body.single-course time,
body.single-course .ast-date-meta,
body.single-course .ast-author-meta{
  display: none !important;
}


/* =========================================================
   1) LAYOUT — Larghezze editoriali (un solo posto)
   ========================================================= */

/* Container Astra */
body.single-course .site-content .ast-container{
  max-width: 1040px !important; /* 1040 / 1120 / 1200 */
}

/* Colonna contenuti (header + contenuto) */
body.single-course .type-course .entry-header,
body.single-course .type-course .entry-content{
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}


/* =========================================================
   2) HEADER HERO — Badge + Titolo (H1) + Accent
   ========================================================= */
h2.wp-block-post-title {  font-size: 28px !important;}
/* Fix: Astra sposta talvolta l’H1 nei corsi (logged-in) */
.single.logged-in #main .type-course header.entry-header h1.entry-title{
  margin-right: 0 !important;
}

/* Header: impaginazione badge sopra titolo */
body.single-course .type-course .entry-header{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
}

/* Titolo (resa grafica) */
body.single-course .type-course h1.entry-title{
  font-size: clamp(34px, 4vw, 52px) !important;
  line-height: 1.12 !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  color: #162f65 !important;
  margin: 0 !important;
}

/* Accento grafico sotto H1 */
body.single-course .type-course h1.entry-title::after{
  content: "";
  display: block;
  width: 96px;
  height: 5px;
  margin-top: 16px;
  border-radius: 999px;
  background: #f9b233;
}

/* Badge corso */
.pm-course-code-wrap{
  margin: 0 !important;
}
.pm-course-code{
  display: inline-block;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #162f65;
  background: rgba(249, 178, 51, 0.18);
  border: 1px solid rgba(249, 178, 51, 0.55);
  padding: 6px 12px;
  border-radius: 999px;
}


/* =========================================================
   3) SPACING — Distanze verticali (un solo posto)
   ========================================================= */

/* distanza sotto header (badge + H1) */
body.single-course .entry-header{
  margin-bottom: 12px !important;
  padding-bottom: 0 !important;
}

/* se Astra rimette margini sul titolo */
body.single-course .entry-title{
  margin-bottom: 12px !important;
}

/* spacer Gutenberg troppo “invadente” */
body.single-course .wp-block-spacer{
  height: 12px !important;
}


/* =========================================================
   4) BAND “INIZIAMO” — Card (testo + outline + CTA)
   ========================================================= */

body.single-course .pm-course-band{
  background: #f0f7ff;
  border: 1px solid #dce4ed;
  border-radius: 18px;
  box-shadow: 0 14px 38px rgba(15, 23, 42, 0.08);

  padding: 28px;
}


/* lead */
body.single-course .pm-course-band__lead{
  margin: 0 0 12px 0 !important;
  color: #1f2937;
  font-size: 18px;
  line-height: 1.55;
}

/* titolo band */
body.single-course .pm-course-band__title{
  margin: 0 0 10px 0;
  color: #162f65;
}


/* =========================================================
   5) OUTLINE LEZIONI — FIX chevron sfalsato (SOLO .pm-course-outline)
   ========================================================= */

body.single-course .pm-course-outline{
  margin-top: 8px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* riga lezione */
body.single-course .pm-course-outline a.wp-block-sensei-lms-course-outline-lesson{
  display: flex;
  align-items: center;
  gap: 12px;

  background: #ffffff;
  border: 1px solid #e6edf6;
  border-radius: 14px;
  padding: 14px 16px;

  text-decoration: none;
  color: #162f65;

  position: relative;
}

/* hover */
body.single-course .pm-course-outline a.wp-block-sensei-lms-course-outline-lesson:hover{
  border-color: rgba(22,47,101,0.25);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}

/* testo */
body.single-course .pm-course-outline a.wp-block-sensei-lms-course-outline-lesson > span{
  flex: 1 1 auto;
  font-weight: 600;
  min-width: 0;
}

/* --- 5A) STOP totale: nessuna icona nativa Sensei dentro la riga --- */
body.single-course .pm-course-outline a.wp-block-sensei-lms-course-outline-lesson svg,
body.single-course .pm-course-outline a.wp-block-sensei-lms-course-outline-lesson
  .wp-block-sensei-lms-course-outline-lesson__status,
body.single-course .pm-course-outline a.wp-block-sensei-lms-course-outline-lesson
  .wp-block-sensei-lms-course-outline-lesson__chevron{
  display: none !important;
}

/* --- 5B) STOP pseudo-elementi “estranei” del tema (se esistono) --- */
body.single-course .pm-course-outline a.wp-block-sensei-lms-course-outline-lesson::after{
  content: "" !important;          /* azzera eventuali after del tema */
}

/* --- 5C) Icona sinistra (play) --- */
body.single-course .pm-course-outline a.wp-block-sensei-lms-course-outline-lesson::before{
  content: "\f144"; /* fa-circle-play */
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 18px;
  line-height: 1;

  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;

  border-radius: 999px;
  color: #162f65;
  background: rgba(249,178,51,0.22);
  border: 1px solid rgba(249,178,51,0.55);

  flex-shrink: 0;
}

/* --- 5D) Chevron destro (CREATO CON UN ELEMENTO DEDICATO) --- */
/* usiamo un box “virtuale” stabilissimo in coda alla flex row */
body.single-course .pm-course-outline a.wp-block-sensei-lms-course-outline-lesson{
  /* crea spazio di “fine riga” stabile */
  padding-right: 18px;
}

body.single-course .pm-course-outline a.wp-block-sensei-lms-course-outline-lesson > span{
  margin-right: 6px; /* un filo di aria prima del chevron */
}

/* chevron: lo disegniamo con background-image (niente font, niente sfalsamenti) */
body.single-course .pm-course-outline a.wp-block-sensei-lms-course-outline-lesson{
  /* variabile comoda */
  --pm-chev-size: 14px;
}

body.single-course .pm-course-outline a.wp-block-sensei-lms-course-outline-lesson{
  /* aggiungiamo un “finto chevron” come background posizionato */
  background-image: linear-gradient(transparent, transparent); /* placeholder */
  background-repeat: no-repeat;
  background-position: calc(100% - 16px) 50%;
  background-size: var(--pm-chev-size) var(--pm-chev-size);
}

/* qui mettiamo il vero chevron con SVG inline (sempre perfetto) */
body.single-course .pm-course-outline a.wp-block-sensei-lms-course-outline-lesson{
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%23162f65' fill-opacity='0.55' d='M7.25 4.75a1 1 0 0 1 1.41 0l5 5a1 1 0 0 1 0 1.41l-5 5a1 1 0 1 1-1.41-1.41L11.59 10 7.25 5.66a1 1 0 0 1 0-1.41z'/%3E%3C/svg%3E");
}



/* =========================================================
   6) CTA — Bottoni Sensei (take course + contact)
   ========================================================= */

/* Frequenta il corso */
body.single-course .wp-block-sensei-lms-button-take-course .wp-block-button__link,
body.single-course .wp-block-sensei-lms-button-take-course button.wp-block-button__link{
  background: #162f65 !important;
  border: 1px solid #162f65 !important;
  color: #ffffff !important;
  border-radius: 999px !important;
  padding: 12px 26px !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
  box-shadow: 0 10px 24px rgba(22, 47, 101, 0.18) !important;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease !important;
}
body.single-course .wp-block-sensei-lms-button-take-course .wp-block-button__link:hover,
body.single-course .wp-block-sensei-lms-button-take-course button.wp-block-button__link:hover{
  background: #0f224b !important;
  border-color: #0f224b !important;
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(22, 47, 101, 0.26) !important;
}

/* Contatta il docente */
body.single-course .sensei-contact-teacher-wrapper .wp-block-button__link,
body.single-course #private_message .wp-block-button__link{
  background: #0b1220 !important;
  border: 1px solid #1f2a44 !important;
  color: #ffffff !important;
  border-radius: 999px !important;
  padding: 12px 22px !important;
  font-weight: 600 !important;
  opacity: 0.92;
}
body.single-course .sensei-contact-teacher-wrapper .wp-block-button__link:hover,
body.single-course #private_message .wp-block-button__link:hover{
  opacity: 1;
  transform: translateY(-1px);
}

/* =========================================================
   ACADEMY — Sezione corso (wrapper esterno)
   ========================================================= */

body.single-course .pm-course-section{
  padding-top: 24px !important;
  padding-bottom: 0; /* opzionale, se sotto c’è già respiro */
}


/* ============================================================
   ACADEMY — SENSEI LEARNING MODE (lezioni con sidebar)
   Scope: SOLO pagine lezione in learning mode
   ============================================================ */

/* 0) Scope robusto: Sensei usa classi diverse a seconda della versione.
      Qui agganciamo sia post type "lesson" sia la presenza del wrapper Sensei. */
body.single-lesson,
body.single-sensei_lesson,
body.single-lesson .sensei,
body.single-sensei_lesson .sensei{
  /* nessuna regola globale qui: solo “scope” */
}

/* 1) Contenuto: larghezza e respiro (evita colonne “sparate”) */
/* NB: !important necessario qui (come già fatto sopra per .single-course):
   senza, il CSS interno di Astra per la larghezza del contenuto vince e la
   regola qui sotto non ha alcun effetto — risultato osservato: contenuto a
   piena larghezza, non centrato, blocchi "a tutta larghezza" senza sfondare
   correttamente il bordo. */
body.single-lesson .entry-content,
body.single-sensei_lesson .entry-content{
  max-width: 980px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 2) Titolo lezione (H1 Sensei): più vicino al tuo stile */
body.single-lesson h1,
body.single-sensei_lesson h1{
  color: #162f65;
  letter-spacing: -0.02em;
}

/* 3) Card Parola Mia per il contenuto creato a blocchi */
.pm-lesson.pm-lesson--standard{
  margin-top: 8px;
}

.pm-lesson__card{
  background: #ffffff;
  border: 1px solid #dce4ed;
  border-radius: 18px;
  box-shadow: 0 14px 38px rgba(15, 23, 42, 0.08);
  padding: 22px 22px;
}

.pm-lesson__kicker{
  margin: 0 0 6px 0;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #162f65;
  opacity: 0.75;
}

.pm-lesson__title{
  margin: 0 0 10px 0;
  font-size: clamp(22px, 2.4vw, 30px);
  line-height: 1.15;
  font-weight: 800;
  color: #162f65;
}

.pm-lesson__lead{
  margin: 0;
  font-size: 18px;
  line-height: 1.6;
  color: #1f2937;
}

.pm-lesson__h3{
  margin: 0 0 10px 0;
  color: #162f65;
  font-weight: 800;
}

/* 4) Video: evita che “galleggi” in modo brutto */
.pm-lesson__video{
  margin: 0;
}

/* 5) Lista attività: più leggibile */
.pm-lesson__steps{
  margin-top: 8px;
  margin-bottom: 0;
}
.pm-lesson__steps li{
  margin-bottom: 8px;
}

/* 6) Separatore “sep” coerente */
.sep{
  border: 0;
  height: 1px;
  background: rgba(22,47,101,0.12);
  margin: 16px 0;
}

/* 7) Box “Non hai accesso…” (lock / enroll) — migliora gerarchia e bottone */
body.single-lesson .sensei-message,
body.single-sensei_lesson .sensei-message,
body.single-lesson .sensei-lesson-login,
body.single-sensei_lesson .sensei-lesson-login{
  background: #f0f7ff;
  border: 1px solid #dce4ed;
  border-radius: 18px;
  padding: 18px 18px;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
}

body.single-lesson .sensei-message h3,
body.single-sensei_lesson .sensei-message h3{
  margin-top: 6px;
  color: #162f65;
  font-weight: 800;
}

/* Bottone “Frequenta il corso” dentro i messaggi Sensei */
body.single-lesson .sensei-message a.button,
body.single-sensei_lesson .sensei-message a.button,
body.single-lesson .sensei-message .wp-block-button__link,
body.single-sensei_lesson .sensei-message .wp-block-button__link{
  background: #162f65 !important;
  border: 1px solid #162f65 !important;
  color: #ffffff !important;
  border-radius: 999px !important;
  padding: 12px 22px !important;
  font-weight: 700 !important;
  box-shadow: 0 10px 24px rgba(22, 47, 101, 0.18) !important;
}

/* 8) Lesson Actions (completa lezione / avanti) — uniforma ai tuoi bottoni */
body.single-lesson .wp-block-sensei-lms-lesson-actions .wp-block-button__link,
body.single-sensei_lesson .wp-block-sensei-lms-lesson-actions .wp-block-button__link{
  border-radius: 999px !important;
  font-weight: 700 !important;
}


/* MODAL */
/* =========================================================
   PM DOC MODAL (ACADEMY) — CSS coerente con:
   #pm-doc-modal / #pm-doc-frame / .pm-modal__inner / .pm-modal__close
   JS: aggiunge .is-open a #pm-doc-modal e body.pm-modal-open
   ========================================================= */

/* ---------- 1) Stato chiuso / aperto ---------- */
#pm-doc-modal.pm-modal{
  display: none;
}

#pm-doc-modal.pm-modal.is-open{
  display: block;
  position: fixed;
  inset: 0;
  z-index: 999999;
}

/* ---------- 2) Overlay ---------- */
#pm-doc-modal.pm-modal.is-open::before{
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.55);
}

/* ---------- 3) Finestra (dialog) ---------- */
#pm-doc-modal .pm-modal__inner{
  position: relative;
  z-index: 1;

  width: min(980px, calc(100% - 40px));
  height: min(80vh, 860px);
  margin: 60px auto;

  background: #fff;
  border: 1px solid var(--pm-border, #edf0f5);
  border-radius: var(--pm-radius, 18px);
  box-shadow: var(--pm-shadow, 0 14px 38px rgba(15, 23, 42, 0.14));
  overflow: hidden;

  /* fascia superiore riservata ai controlli */
  padding-top: 56px;
}

/* Header “virtuale” */
#pm-doc-modal .pm-modal__inner::before{
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 56px;
  background: #fff;
  border-bottom: 1px solid var(--pm-border, #edf0f5);
  z-index: 2;
}

/* ---------- 4) Contenuto: iframe ---------- */
#pm-doc-modal #pm-doc-frame{
  display: block;
  width: 100%;
  height: calc(100% - 56px);
  border: 0;
}

/* Se in futuro inserisci immagini nel modal */
#pm-doc-modal .pm-modal__inner img{
  width: 100%;
  max-width: 900px;
  height: auto;
  display: block;
  margin: 0 auto;
}

/* ---------- 5) Pulsante chiusura ---------- */
#pm-doc-modal .pm-modal__close{
  position: absolute;
  top: 12px;
  right: 16px;

  width: 40px;
  height: 40px;

  display: flex;
  align-items: center;
  justify-content: center;

  border: 0;
  border-radius: 12px;
  background: var(--pm-yellow, #f9b233);
  color: #0f172a;

  font-size: 22px;
  line-height: 1;
  cursor: pointer;

  z-index: 5;
}

#pm-doc-modal .pm-modal__close:hover{
  filter: brightness(1.03);
}

/* ---------- 6) Lock scroll pagina ---------- */
body.pm-modal-open{
  overflow: hidden !important;
}
/* FINE MODAL */

/* =========================================================
   PM — Doc buttons (UNICO CSS sostitutivo)
   - verdi rettangolari
   - una sola icona corretta
   - affiancati
   ========================================================= */

/* Contenitore: affiancati */
.pm-doc-actions{
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  align-items: center !important;
  margin: 16px 0 0 !important;
}

/* Pulsante base */
.pm-doc-actions .pm-doc-btn{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;

  padding: 12px 18px !important;
  border-radius: 6px !important;       /* rettangolare */
  text-decoration: none !important;
  font-weight: 600 !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;

  background: #3bb49a !important;      /* verde */
  border: 2px solid #3bb49a !important;
  color: #0b1220 !important;

  box-shadow: none !important;
  transition: filter .15s ease, transform .15s ease !important;
}

.pm-doc-actions .pm-doc-btn:hover{
  filter: brightness(0.95) !important;
  transform: translateY(-1px) !important;
}

.pm-doc-actions .pm-doc-btn:focus-visible{
  outline: 2px solid rgba(15, 23, 42, 0.35) !important;
  outline-offset: 2px !important;
}

/* --- IMPORTANTISSIMO: elimina eventuali icone interne “residue” --- */
.pm-doc-actions .pm-doc-btn svg,
.pm-doc-actions .pm-doc-btn img,
.pm-doc-actions .pm-doc-btn i,
.pm-doc-actions .pm-doc-btn .wp-block-button__link::before,
.pm-doc-actions .pm-doc-btn .wp-block-button__link svg{
  display: none !important;
}

/* Icone via pseudo-elemento (una sola) */
.pm-doc-actions .pm-doc-btn::before{
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
  font-size: 14px !important;
  line-height: 1 !important;
  display: inline-block !important;
}

/* Apri: play */
.pm-doc-actions .pm-btn--open::before{
  content: "\f04b" !important; /* fa-play */
}

/* Scarica: download */
.pm-doc-actions .pm-btn--download::before{
  content: "\f019" !important; /* fa-download */
}


.pm-card{
  background:#fff;
  border:1px solid rgba(22,47,101,.12);
  border-radius:16px;
  padding:22px;
  box-shadow:0 8px 22px rgba(0,0,0,.06);
}

.pm-h2--gram{
  display:flex;
  align-items:center;
  gap:10px;
}

.pm-gram-intro,
.pm-gram-rule{
  margin-top:8px;
  margin-bottom:10px;
}

.pm-gram-warn,
.pm-gram-practice{
  background:#f0f7ff;
  border:1px solid rgba(22,47,101,.14);
  border-radius:14px;
  padding:14px 16px;
}

.pm-gram-warn p,
.pm-gram-practice p{
  margin:0 0 8px;
}
.pm-gram-warn p:last-child,
.pm-gram-practice ol{
  margin-bottom:0;
}

.pm-gram-links a{
  text-decoration:underline;
}


/* ============================================================
   PERIODO IPOTETICO — CARD A LARGHEZZA PIENA
   ============================================================ */

/* Contenitore delle card: UNA SOLA COLONNA */
.pm-ipo-row{
  display:grid;
  grid-template-columns: 1fr;   /* ← chiave */
  gap:20px;
}

/* Card */
.pm-ipo-card{
  width:100%;
  background:#ffffff;
  border:1px solid rgba(22,47,101,.14);
  border-radius:16px;
  padding:18px 20px;
  box-shadow:0 8px 22px rgba(0,0,0,.05);
}

/* Intestazione card */
.pm-ipo-head{
  margin-bottom:14px;
  padding-bottom:10px;
  border-bottom:1px solid rgba(22,47,101,.10);
}

.pm-ipo-kicker{
  font-weight:700;
  font-size:.85rem;
  color:#162F65;
  opacity:.8;
}

.pm-ipo-title{
  margin:4px 0 0;
  font-size:1.25rem;
  color:#162F65;
}

.pm-ipo-title-sub{
  font-size:1.05rem;
  font-weight:600;
  opacity:.75;
}

/* Griglia interna: label | contenuto */
.pm-ipo-grid-clean{
  display:grid;
  grid-template-columns: 160px 1fr;  /* comoda e leggibile */
  row-gap:12px;
  column-gap:18px;
}

/* Label */
.pm-ipo-label{
  font-weight:700;
  color:#162F65;
}

/* Testo: MAI sillabare */
.pm-ipo-card,
.pm-ipo-card *{
  hyphens:none !important;
  -webkit-hyphens:none !important;
  -ms-hyphens:none !important;
}

.pm-ipo-cell{
  word-break:normal !important;
  overflow-wrap:break-word;
  white-space:normal;
}

/* Mobile */
@media (max-width: 520px){
  .pm-ipo-grid-clean{
    grid-template-columns: 1fr;
  }
}
/* ============================================================
   ICONA BOOK (Font Awesome) per titoli grammatica
   ============================================================ */

/* Base icona */
.pm-ico{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:50px;
  height:50px;
  border-radius:8px;
  margin-right:12px;
  background:rgba(22,47,101,.10);
  color:#162F65;
  flex:0 0 auto;
}

/* Disegna l'icona usando FA via pseudo-elemento */
.pm-ico::before{
  font-family:"Font Awesome 6 Free";
  font-weight:900;              /* solid */
  font-size:36px;
  line-height:1;
}

/* Book = \f02d (solid) */
.pm-ico--book::before{
  content:"\f02d";
}

.sensei-lms-course-navigation-lesson__title{
  position: relative;
  padding-left: 34px;
  display: inline-block;
}

.sensei-lms-course-navigation-lesson__title::before{
  content:"";
  font-family:"Font Awesome 6 Free";
  font-weight:900;
  position:absolute;
  left:0;
  top:0.05em;
  width:24px;
  height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  color:#162F65;
}

.pm-lesson--grammar .sensei-lms-course-navigation-lesson__title::before{ content:"\f02d"; }
.pm-lesson--vision  .sensei-lms-course-navigation-lesson__title::before{ content:"\f06e"; }
.pm-lesson--lexicon .sensei-lms-course-navigation-lesson__title::before{ content:"\f02c"; }
.pm-lesson--activity .sensei-lms-course-navigation-lesson__title::before{ content:"\f303"; }


/* ===============================
   TOOLTIP SENSEI – VERSIONE FORZATA
================================ */

/* WRAPPER ESTERNO */
body .sensei-glossary-tooltip {
    background: transparent;
    box-shadow: none;
    border: none;
    padding: 0;
}

/* BOX REALE */
body .sensei-glossary-tooltip__inner {
    background: #ffffff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 25px 55px rgba(0,0,0,0.15);
    border: 1px solid rgba(0,0,0,0.05);
}

/* TITOLO */

body .sensei-glossary-tooltip__title {
    font-size: 1.6rem;
    font-weight: 700;
    color: #1f3c6d;
    background:#eef2f7;
    padding:10px 14px;
    border-radius:6px;
}

/* CONTENUTO */
body .sensei-glossary-tooltip__content {
    padding: 22px;
}

/* GRAMMATICA */

body .sensei-glossary-tooltip__content .grammatica {
    font-size:0.85rem;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:0.05em;
    color:#6b7280;
    margin-top:2px;
    margin-bottom:16px;
}

/* DEFINIZIONE */

body .sensei-glossary-tooltip__content .definizione {
    font-size:1rem;
    line-height:1.5;
    margin-bottom:10px;
}

/* ESEMPIO */

body .sensei-glossary-tooltip__content .esempio {
    font-size:0.95rem;
    font-style:italic;
    color:#4b5563;
    border-top:1px solid #e5e7eb;
    padding-top:8px;
}

.sensei-glossary-phrase {
    font-size: 1.1rem;
    font-weight: 700;
    color: #1f3c6d;
}

@media (min-width: 1024px) {
    /* Layout a due colonne */
    .single-quiz .sensei-container {
        display: flex !important;
        flex-direction: row-reverse !important; /* Domande a sinistra, Video a destra per leggibilità */
        align-items: flex-start;
        gap: 30px;
        max-width: 1200px;
        margin: 0 auto;
    }

    /* Colonna Video e Timer */
    #quiz-video-sticky-js {
        flex: 0 0 350px !important;
        position: sticky;
        top: 20px;
        z-index: 100;
    }

    /* Colonna Domande */
    form.quiz, .sensei-quiz-questions {
        flex: 1;
    }
}

/* Compattazione domande per ridurre lo scroll */
.sensei-quiz-questions .question {
    margin-bottom: 5px !important;
    padding: 5px !important;
}
.sensei-quiz-questions .question h2, 
.sensei-quiz-questions .question .question-title {
    font-size: 16px !important;
    margin-bottom: 5px !important;
}
.sensei-quiz-questions .answer-options li {
    padding: 2px 0 !important;
    font-size: 14px !important;
}

.sensei-glossary-phrase {
    white-space: nowrap;
}


/* ===============================
   AMELIA
================================ */

/* --- Personalizzazioni pagina servizio Amelia --- */

/* Immagine servizio: dimensione fissa, senza ritaglio, allineata a sx, non cliccabile */
.am-fcis__gallery-hero.w100 {
    width: 200px !important;
    height: 200px !important;
    padding-top: 0 !important;
    background-size: contain !important;
    background-position: left center !important;
    background-repeat: no-repeat !important;
    pointer-events: none !important;
    cursor: default !important;
}

/* Prezzo servizio: font più grande */


.am-fcis__header-price {
    font-size: 38px !important;
    font-weight: 700 !important;
    display: flex !important;
    align-items: baseline !important;
    gap: 6px !important;
    flex-wrap: nowrap !important;
}

/* Titolo servizio: più evidenza */
.am-fcis__header-name {
    font-size: 32px !important;
    font-weight: 700 !important;
	color: #9f6531 !important;

}

/* Nasconde il campo "Link di pagamento" nel form per il cliente */
#am-cf-1 {
    display: none !important;
}

/* Prezzo pacchetto: più grande, sfondo centrato sul testo, spazio a sinistra */
.am-fcis__include-price {
    font-size: 20px !important;
    font-weight: 700 !important;
    padding: 6px 14px !important;
    text-align: center !important;
    display: inline-block !important;
    height: auto !important;
    margin-left: 30px !important;
}

/* Spazio sopra la riga "Scade dopo X mesi" nei pacchetti */
.am-fcis__include-info {
    margin-top: 10px !important;
}

.am-cat__wrapper.am-fcis {
    border: 1px solid var(--am-c-card-border) !important;
    border-radius: 8px !important;
}

#post-3111, #post-8172 {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.am-cat__heading.am-fcis__header{
    padding: 20px !important;
}

/* Titolo principale della pagina */
.entry-content h1.wp-block-heading {
    font-size: 40px !important;
    margin-top: 0 !important;
    margin-bottom: 24px !important;
}

/* Sottotitoli di sezione */
.entry-content h2.wp-block-heading {
    font-size: 26px !important;
    margin-top: 18px !important;
    margin-bottom: 16px !important;
}

/* Liste più leggibili */
.entry-content li {
    line-height: 1.6 !important;
    margin-bottom: 8px !important;
}

.entry-content ol,
.entry-content ul {
    margin-bottom: 24px !important;
}

.pm-narrow-text {
    max-width: 760px !important;
}

#post-3111 .wp-block-columns {
    padding-top: 6px !important;
}

.pm-highlight-box {
    background-color: #FBF0E4;
    border-left: 4px solid #9f6531;
    border-radius: 8px;
    padding: 20px 24px !important;
    margin-top: 32px !important;
    margin-bottom: 32px !important;
}

.pm-highlight-box p {
    margin: 0 !important;
    font-size: 17px !important;
    color: #33434C;
}
/* ===============================
   CENTRO MESSAGGI ("Mój Panel")
   Aggiunto 14/09/2026 — stile per lo shortcode [pm_centro_messaggi]
================================ */

.pm-msg-notice {
    padding: 14px 18px;
    border-radius: 8px;
    margin-bottom: 24px;
    font-weight: 600;
}

.pm-msg-notice-ok {
    background-color: #E7F3E8;
    border-left: 4px solid #3E8E4F;
    color: #235229;
}

.pm-msg-notice-error {
    background-color: #FBEAEA;
    border-left: 4px solid #C0392B;
    color: #7A231A;
}

.pm-msg-center {
    display: flex;
    flex-wrap: wrap;
    gap: 32px;
    margin-top: 24px;
    margin-bottom: 24px;
}

.pm-msg-compose,
.pm-msg-list-wrap {
    flex: 1 1 360px;
    min-width: 280px;
}

.pm-msg-center h3 {
    font-size: 20px;
    color: #9f6531;
    margin-bottom: 16px;
}

.pm-msg-form {
    display: flex;
    flex-direction: column;
    gap: 10px;
    background-color: #FBF0E4;
    border-radius: 8px;
    padding: 20px;
}

.pm-msg-form label {
    font-weight: 600;
    color: #33434C;
}

.pm-msg-form select,
.pm-msg-form textarea {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #d8c6b4;
    border-radius: 6px;
    font-size: 15px;
    font-family: inherit;
    box-sizing: border-box;
}

.pm-msg-form textarea {
    min-height: 120px;
    resize: vertical;
}

.pm-msg-form button {
    align-self: flex-start;
    background-color: #f7a828;
    color: #1b2a5b;
    border: none;
    border-radius: 6px;
    padding: 12px 24px;
    font-weight: 700;
    font-size: 15px;
    cursor: pointer;
}

.pm-msg-form button:hover {
    background-color: #e69613;
}

.pm-msg-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
    max-height: 520px;
    overflow-y: auto;
}

.pm-msg-item {
    border-radius: 8px;
    padding: 14px 16px;
    background-color: #F4F5F7;
    border-left: 4px solid #9f6531;
}

.pm-msg-item.pm-msg-mine {
    background-color: #EDF1FA;
    border-left-color: #1b2a5b;
}

.pm-msg-meta {
    font-size: 13px;
    color: #6b7683;
    margin-bottom: 6px;
}

.pm-msg-meta strong {
    color: #33434C;
}

.pm-msg-body p {
    margin: 0 0 8px !important;
    font-size: 15px;
    color: #33434C;
}

.pm-msg-body p:last-child {
    margin-bottom: 0 !important;
}

@media (max-width: 680px) {
    .pm-msg-center {
        flex-direction: column;
    }
}

.pm-msg-actions {
    margin-top: 8px;
}

.pm-msg-actions a {
    font-size: 13px;
    font-weight: 600;
    color: #1b2a5b;
    text-decoration: underline;
}

.pm-msg-replies {
    list-style: none;
    margin: 10px 0 0;
    padding: 0 0 0 18px;
    border-left: 2px solid #d8c6b4;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.pm-msg-reply {
    background-color: #ffffff;
    border-radius: 6px;
    padding: 10px 12px;
    border: 1px solid #e4e4e4;
}

.pm-msg-reply .pm-msg-body p {
    font-size: 14px;
}

/* NUOVA GRIGLIA LEZIONI SENSEI */


/* =========================================
   PM LESSON GRID
   ========================================= */

.pm-lesson-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
    margin: 35px 0;
}


/* CARD */

.pm-lesson-card {
    display: block;
    position: relative;
    overflow: hidden;

    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 14px;

    text-decoration: none !important;
    color: inherit;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        border-color 0.2s ease;
}


.pm-lesson-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.10);
}


/* =========================================
   IMMAGINE
   ========================================= */

.pm-lesson-image {
    position: relative;

    width: 100%;
    aspect-ratio: 16 / 9;

    overflow: hidden;

    background: #f1f1f1;
}


.pm-lesson-image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform 0.35s ease;
}


.pm-lesson-card:hover .pm-lesson-image img {
    transform: scale(1.025);
}


.pm-lesson-placeholder {
    width: 100%;
    height: 100%;

    background: #eeeeee;
}


/* =========================================
   CERCHIO DI STATO
   ========================================= */

.pm-lesson-status {
    position: absolute;

    top: 14px;
    right: 14px;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 34px;
    height: 34px;

    border: 2px solid #ffffff;
    border-radius: 50%;

    background: rgba(255, 255, 255, 0.93);

    color: #1e376d;

    font-size: 20px;
    font-weight: 700;

    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.14);
}


/* Lezione completata */

.pm-lesson-completed .pm-lesson-status {
    background: #1e376d;
    color: #ffffff;
}


/* =========================================
   CONTENUTO
   ========================================= */

.pm-lesson-content {
    padding: 20px 22px 22px;
}


.pm-lesson-title {
    margin: 0 0 10px;

    color: #1e376d;

    font-size: 20px;
    font-weight: 700;
    line-height: 1.35;
}


.pm-lesson-card:hover .pm-lesson-title {
    color: #e99a16;
}


/* =========================================
   TESTO DELLO STATO
   ========================================= */

.pm-lesson-status-text {
    display: inline-block;

    font-size: 14px;
    font-weight: 500;

    color: #737373;
}


.pm-lesson-completed .pm-lesson-status-text {
    color: #1e376d;
    font-weight: 600;
}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 768px) {

    .pm-lesson-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .pm-lesson-title {
        font-size: 18px;
    }

}
