/*
 * Phase 2 — Lot CSS 2AK
 * Module : bibliothèque Méditations
 * Extraction stricte du bloc nf-meditations-css.
 * Aucune règle de navigation et aucun JavaScript modifiés.
 */

.nf-md-card{display:flex;align-items:center;gap:13px;padding:14px;background:#fff;border:1px solid rgba(42,37,32,.1);border-radius:14px;margin-bottom:9px;cursor:pointer;transition:border-color .15s}
.nf-md-card:hover{border-color:var(--nf-copper,#C46742)}
.nf-md-card.locked{opacity:1;cursor:pointer;background:rgba(196,103,66,.035)}
.nf-md-card.locked:hover{border-color:rgba(196,103,66,.45);background:rgba(196,103,66,.06)}
.nf-md-ic{font-size:1.5rem;flex:none;line-height:1}
.nf-md-info{flex:1;min-width:0}
.nf-md-t{font-weight:600;font-size:.95rem;color:var(--nf-ink,#2A2520)}
.nf-md-s{font-size:.76rem;color:var(--nf-ink-mid,#6b5d4f);margin-top:2px}
.nf-md-play{flex:none;width:38px;height:38px;border-radius:50%;background:var(--nf-copper,#C46742);color:#FDF9EE;display:flex;align-items:center;justify-content:center;font-size:.85rem}
.nf-md-lock{flex:none;font-size:.66rem;color:var(--nf-copper,#C46742);background:rgba(196,103,66,.1);padding:4px 9px;border-radius:999px;text-align:center}
.nf-md-player{background:#fff;border:1px solid rgba(42,37,32,.1);border-radius:16px;padding:20px;margin-top:12px}
.nf-md-pt{font-family:var(--font-serif,serif);font-size:1.3rem;color:var(--nf-ink,#2A2520)}
.nf-md-ps{font-size:.8rem;color:var(--nf-ink-mid,#6b5d4f);margin-top:3px}

/*
 * Lot AUDIO-A4-MED-1
 * Ambiance sonore facultative pour méditations et body scans.
 */
.nf-md-ambiance{
  margin-top:16px;
  padding:15px;
  border:1px solid rgba(196,103,66,.18);
  border-radius:14px;
  background:rgba(196,103,66,.055);
}
.nf-md-ambiance-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:7px;
}
.nf-md-ambiance-head strong{
  font-family:var(--font-serif,Georgia,serif);
  font-size:1.04rem;
  color:var(--nf-ink,#2A2520);
}
.nf-md-ambiance-head span{
  padding:4px 8px;
  border-radius:999px;
  background:#fff;
  color:var(--nf-copper,#C46742);
  font-family:var(--font-mono,monospace);
  font-size:.54rem;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.nf-md-ambiance p{
  margin:0 0 12px;
  color:var(--nf-ink-mid,#6b5d4f);
  font-size:.78rem;
  line-height:1.45;
}
.nf-md-ambiance-field{
  display:grid;
  gap:6px;
  color:var(--nf-ink-mid,#6b5d4f);
  font-family:var(--font-mono,monospace);
  font-size:.58rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.nf-md-ambiance-field select{
  width:100%;
  min-height:44px;
  padding:10px 36px 10px 12px;
  border:1px solid rgba(42,37,32,.16);
  border-radius:11px;
  background:#fff;
  color:var(--nf-ink,#2A2520);
  font-family:var(--font-ui,system-ui,sans-serif);
  font-size:.88rem;
  text-transform:none;
}
.nf-md-ambiance-volume-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:14px;
  color:var(--nf-ink-mid,#6b5d4f);
  font-size:.76rem;
}
.nf-md-ambiance-volume-head strong{
  color:var(--nf-copper,#C46742);
  font-family:var(--font-mono,monospace);
  font-size:.72rem;
}
.nf-md-ambiance-range{
  width:100%;
  margin:8px 0 4px;
  accent-color:var(--nf-copper,#C46742);
}
.nf-md-ambiance-status{
  min-height:18px;
  margin-top:6px;
  color:var(--nf-ink-mid,#6b5d4f);
  font-size:.72rem;
  line-height:1.35;
}
.nf-md-ambiance-status.playing{color:#3f7251}
.nf-md-ambiance-status.err{color:#9b3830}

@media (max-width:560px){
  .nf-md-player{padding:16px}
  .nf-md-ambiance{padding:13px}
  .nf-md-ambiance-field select{font-size:16px}
}

/*
 * Lot AUDIO-A4-MED-R7
 * Choix Oui / Non d'une ambiance sonore, par séance.
 */
.nf-md-ambiance-toggle{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:12px 0 14px;
  padding:12px;
  border:1px solid rgba(42,37,32,.12);
  border-radius:12px;
  background:#fff;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.nf-md-ambiance-toggle-copy{
  display:grid;
  gap:3px;
  min-width:0;
}
.nf-md-ambiance-toggle-copy strong{
  color:var(--nf-ink,#2A2520);
  font-size:.84rem;
  line-height:1.25;
}
.nf-md-ambiance-toggle-copy small{
  color:var(--nf-ink-mid,#6b5d4f);
  font-size:.68rem;
  line-height:1.35;
}
.nf-md-ambiance-switch{
  display:flex;
  align-items:center;
  gap:8px;
  flex:none;
}
.nf-md-ambiance-switch input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.nf-md-ambiance-switch-track{
  position:relative;
  display:block;
  width:46px;
  height:26px;
  border-radius:999px;
  background:rgba(42,37,32,.18);
  transition:background .18s ease;
}
.nf-md-ambiance-switch-track::after{
  content:"";
  position:absolute;
  top:3px;
  left:3px;
  width:20px;
  height:20px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 5px rgba(42,37,32,.22);
  transition:transform .18s ease;
}
.nf-md-ambiance-switch input:checked + .nf-md-ambiance-switch-track{
  background:var(--nf-copper,#C46742);
}
.nf-md-ambiance-switch input:checked + .nf-md-ambiance-switch-track::after{
  transform:translateX(20px);
}
.nf-md-ambiance-switch input:focus-visible + .nf-md-ambiance-switch-track{
  outline:3px solid rgba(196,103,66,.25);
  outline-offset:2px;
}
.nf-md-ambiance-switch strong{
  min-width:27px;
  color:var(--nf-copper,#C46742);
  font-family:var(--font-mono,monospace);
  font-size:.7rem;
}
.nf-md-ambiance-options{
  transition:opacity .18s ease;
}
.nf-md-ambiance-options.is-disabled{
  opacity:.42;
}
.nf-md-ambiance-options.is-disabled select,
.nf-md-ambiance-options.is-disabled input{
  cursor:not-allowed;
}
@media (max-width:560px){
  .nf-md-ambiance-toggle{
    align-items:flex-start;
    padding:11px;
  }
  .nf-md-ambiance-switch{
    margin-top:2px;
  }
}


/* ACC-2 — fiche consultable et verrouillage par forfait des contenus guidés. */
.nf-md-lock{max-width:116px;line-height:1.25;white-space:normal}
.nf-md-readonly{background:#fff;border:1px solid rgba(42,37,32,.1);border-radius:16px;padding:20px;margin-top:12px}
.nf-md-ro-eyebrow{font-family:var(--font-mono,monospace);font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:var(--nf-copper,#C46742);margin-bottom:8px}
.nf-md-ro-title{font-family:var(--font-serif,Georgia,serif);font-size:1.32rem;line-height:1.2;color:var(--nf-ink,#2A2520)}
.nf-md-ro-meta{margin-top:6px;font-size:.78rem;color:var(--nf-ink-mid,#6b5d4f)}
.nf-md-ro-description{margin:16px 0 0;font-size:.88rem;line-height:1.55;color:var(--nf-ink-mid,#6b5d4f)}
.nf-md-ro-objective{display:grid;gap:4px;margin-top:14px;padding:12px 14px;border-radius:12px;background:rgba(42,37,32,.035)}
.nf-md-ro-objective strong{font-family:var(--font-mono,monospace);font-size:.54rem;letter-spacing:.12em;text-transform:uppercase;color:var(--nf-copper,#C46742)}
.nf-md-ro-objective span{font-size:.84rem;line-height:1.4;color:var(--nf-ink,#2A2520)}
.nf-md-access-banner{display:flex;align-items:flex-start;gap:12px;margin-top:18px;padding:15px;border:1px solid rgba(196,103,66,.2);border-radius:14px;background:rgba(196,103,66,.065)}
.nf-md-access-banner.progression{border-color:rgba(74,123,92,.22);background:rgba(74,123,92,.07)}
.nf-md-access-banner.unassigned{border-color:rgba(42,37,32,.12);background:rgba(42,37,32,.035)}
.nf-md-access-icon{flex:none;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;font-size:.9rem}
.nf-md-access-copy{min-width:0}
.nf-md-access-copy strong{display:block;font-size:.92rem;line-height:1.35;color:var(--nf-ink,#2A2520)}
.nf-md-access-copy p{margin:5px 0 0;font-size:.78rem;line-height:1.45;color:var(--nf-ink-mid,#6b5d4f)}
.nf-md-upgrade{width:100%;margin-top:14px;background:var(--nf-copper,#C46742);color:#fff;border-color:var(--nf-copper,#C46742)}

@media (max-width:560px){
  .nf-md-lock{max-width:92px;font-size:.61rem;padding:5px 7px}
  .nf-md-readonly{padding:16px}
  .nf-md-access-banner{padding:13px}
}


/* ACC-7-R1 — même verrouillage doré pour Méditations et Body scans */
.nf-md-card.locked{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  border-color:var(--eca-access-lock-border,rgba(184,134,11,.55));
  background:linear-gradient(180deg,#fff,rgba(184,134,11,.035));
}
.nf-md-card.locked .nf-md-ic{grid-column:1;grid-row:1;}
.nf-md-card.locked .nf-md-info{grid-column:2;grid-row:1;}
.nf-md-card.locked .nf-md-lock{
  grid-column:1 / -1;
  grid-row:2;
  width:100%;
  max-width:none;
  min-height:38px;
  box-sizing:border-box;
  margin-top:2px;
  padding:10px 12px;
  border-radius:10px;
  background:var(--eca-access-lock-bg,var(--nf-gold,#B8860B));
  color:var(--eca-access-lock-text,#fffaf2);
  font-family:var(--font-ui,system-ui,sans-serif);
  font-size:.74rem;
  font-weight:600;
  line-height:1.25;
  text-align:center;
  box-shadow:var(--eca-access-lock-shadow,0 2px 7px rgba(122,88,6,.20));
}
.nf-md-access-banner.plan{
  border-color:var(--eca-access-lock-border,rgba(184,134,11,.55));
  background:rgba(184,134,11,.07);
}
.nf-md-access-banner.plan .nf-md-access-icon{
  background:var(--eca-access-lock-bg,var(--nf-gold,#B8860B));
  color:var(--eca-access-lock-text,#fffaf2);
}
@media(max-width:560px){
  .nf-md-card.locked .nf-md-lock{font-size:.72rem;padding:10px;}
}

/* FICHES-GUIDEES-DESCRIPTIVES-R1 — cartes descriptives Méditations et Body scans. */
.nf-md-card.nf-md-card-rich,
.nf-md-card.nf-md-card-rich.locked{
  display:block;
  padding:16px;
  border-radius:16px;
  cursor:pointer;
  background:linear-gradient(180deg,#fff,rgba(196,103,66,.025));
}
.nf-md-card.nf-md-card-rich[data-content-nature="meditation"]{
  border-left:3px solid var(--nf-copper,#C46742);
}
.nf-md-card.nf-md-card-rich[data-content-nature="body_scan"]{
  border-left:3px solid var(--nf-sage,#7D9B86);
}
.nf-md-card-rich .nf-md-card-head{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-bottom:10px;
}
.nf-md-card-rich.locked .nf-md-ic,
.nf-md-card-rich.locked .nf-md-info{
  grid-column:auto;
  grid-row:auto;
}
.nf-md-card-rich .nf-md-card-eyebrow{
  margin-bottom:3px;
  color:var(--nf-copper,#C46742);
  font-family:var(--font-mono,monospace);
  font-size:.56rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.nf-md-card-rich[data-content-nature="body_scan"] .nf-md-card-eyebrow{
  color:var(--nf-sage-dark,#4F735C);
}
.nf-md-card-rich .nf-md-t{
  font-family:var(--font-serif,Georgia,serif);
  font-size:1.08rem;
  font-weight:500;
  line-height:1.22;
}
.nf-md-card-section{
  margin-top:9px;
  padding:11px 12px;
  border:1px solid rgba(42,37,32,.08);
  border-radius:12px;
  background:rgba(255,255,255,.72);
}
.nf-md-card-label{
  margin-bottom:5px;
  color:var(--nf-copper,#C46742);
  font-family:var(--font-mono,monospace);
  font-size:.54rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.nf-md-card-text{
  color:var(--nf-ink-mid,#6b5d4f);
  font-size:.82rem;
  line-height:1.48;
}
.nf-md-benefits{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:10px;
}
.nf-md-benefit{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:4px 9px;
  border-radius:999px;
  background:rgba(196,103,66,.09);
  color:var(--nf-copper,#C46742);
  font-size:.68rem;
  line-height:1.25;
}
.nf-md-card-rich[data-content-nature="body_scan"] .nf-md-benefit{
  background:rgba(125,155,134,.12);
  color:var(--nf-sage-dark,#4F735C);
}
.nf-md-card-rich .nf-md-lock{
  width:100%;
  max-width:none;
  min-height:40px;
  box-sizing:border-box;
  margin-top:12px;
  padding:10px 12px;
  border-radius:10px;
  background:var(--eca-access-lock-bg,var(--nf-gold,#B8860B));
  color:var(--eca-access-lock-text,#fffaf2);
  font-family:var(--font-ui,system-ui,sans-serif);
  font-size:.74rem;
  font-weight:600;
  line-height:1.25;
  text-align:center;
  box-shadow:var(--eca-access-lock-shadow,0 2px 7px rgba(122,88,6,.20));
}
.nf-md-card-action{
  width:100%;
  min-height:44px;
  margin-top:10px;
  padding:11px 14px;
  border:1px solid var(--nf-copper,#C46742);
  border-radius:12px;
  background:transparent;
  color:var(--nf-copper,#C46742);
  font-family:var(--font-ui,system-ui,sans-serif);
  font-size:.82rem;
  font-weight:600;
  cursor:pointer;
}
.nf-md-card-action.is-primary{
  background:var(--nf-copper,#C46742);
  color:#fff;
}
.nf-md-ro-section{
  margin-top:14px;
}
.nf-md-ro-benefits{
  margin-top:12px;
}
@media(max-width:560px){
  .nf-md-card.nf-md-card-rich,
  .nf-md-card.nf-md-card-rich.locked{padding:14px;}
  .nf-md-card-rich .nf-md-t{font-size:1.02rem;}
  .nf-md-card-text{font-size:.8rem;}
  .nf-md-benefit{font-size:.66rem;}
}

