/* Ported from design prototype: Moulin de Plaisance - Le Carnet.html */

/* ───── En-tête du carnet ───── */
  .carnet-head { padding: 32px 0 0; }
  .breadcrumb {
    display: flex; align-items: center; gap: 8px;
    font-size: 13px; color: var(--ink-soft); margin-bottom: 18px;
  }
  .breadcrumb a { color: inherit; text-decoration: none; opacity: 0.78; }
  .breadcrumb a:hover { opacity: 1; color: var(--ink); }
  .breadcrumb .sep { opacity: 0.4; }

  .carnet-head-grid {
    display: grid; grid-template-columns: 1fr; gap: 28px; align-items: end;
  }
  @media (min-width: 900px) {
    .carnet-head-grid { grid-template-columns: 1.5fr 1fr; gap: 72px; }
  }
  .carnet-head-grid h1 {
    font-weight: 600; font-size: clamp(56px, 8vw, 96px);
    line-height: 0.95; letter-spacing: -0.03em; margin: 0;
  }
  .carnet-head-grid h1 .alt { color: var(--blue-deep); font-weight: 400; font-style: italic; }

  /* ───── Filtres par rubrique ───── */
  .rubriques {
    display: flex; flex-wrap: wrap; gap: 8px;
    padding: 28px 0; margin-top: 40px;
    border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
  }
  .rubrique {
    padding: 9px 16px; border-radius: var(--r-pill);
    border: 1px solid var(--line-strong); background: transparent;
    color: var(--ink-soft); font-family: inherit; font-size: 14px; font-weight: 500;
    cursor: pointer; transition: background .15s, color .15s, border-color .15s;
  }
  .rubrique:hover { color: var(--ink); border-color: var(--ink); }
  .rubrique.active { background: var(--ink); color: #fff; border-color: var(--ink); }

  /* ───── Article à la une ───── */
  .featured {
    display: grid; grid-template-columns: 1fr; gap: 32px;
    align-items: center; padding: 56px 0 0;
  }
  @media (min-width: 900px) {
    .featured { grid-template-columns: 1.15fr 1fr; gap: 64px; }
  }
  .featured .frame { aspect-ratio: 4/3; border-radius: var(--r-sm); }
  .featured .copy { display: flex; flex-direction: column; align-items: flex-start; }
  .featured .copy h2 {
    font-weight: 600; font-size: clamp(30px, 4vw, 46px);
    line-height: 1.04; letter-spacing: -0.025em; margin: 16px 0 0;
  }
  .featured .copy h2 a { color: inherit; text-decoration: none; }
  .featured .copy h2 a:hover { color: var(--blue-deep); }
  .featured .copy .excerpt { font-size: 18px; line-height: 1.6; color: var(--ink-soft); margin: 20px 0 0; max-width: 52ch; text-wrap: pretty; }
  .featured .meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 24px; color: var(--stone); font-size: 13px; }
  .featured .meta .dot { width: 3px; height: 3px; border-radius: 999px; background: var(--stone); }

  /* ───── Grille d'articles ───── */
  .carnet-grid {
    display: grid; grid-template-columns: 1fr; gap: 40px 32px;
  }
  @media (min-width: 640px) { .carnet-grid { grid-template-columns: 1fr 1fr; } }
  @media (min-width: 1000px) { .carnet-grid { grid-template-columns: repeat(3, 1fr); } }

  .post-card { display: flex; flex-direction: column; text-decoration: none; color: inherit; }
  .post-card .frame { aspect-ratio: 16/11; border-radius: var(--r-sm); margin-bottom: 18px; }
  .post-card .rub { color: var(--blue-deep); margin-bottom: 10px; }
  .post-card h3 {
    font-weight: 600; font-size: 22px; line-height: 1.18;
    letter-spacing: -0.012em; margin: 0; transition: color .15s;
  }
  .post-card:hover h3 { color: var(--blue-deep); }
  .post-card .excerpt { font-size: 15px; line-height: 1.55; color: var(--ink-soft); margin: 10px 0 0; text-wrap: pretty; }
  .post-card .meta { display: flex; align-items: center; gap: 10px; margin-top: 16px; color: var(--stone); font-size: 12.5px; }
  .post-card .meta .dot { width: 3px; height: 3px; border-radius: 999px; background: var(--stone); }

  .carnet-empty { display: none; padding: 64px 0; text-align: center; color: var(--stone); }

  /* ───── Bandeau « écrit par vos hôtes » ───── */
  .hosts-note {
    display: grid; grid-template-columns: 1fr; gap: 24px; align-items: center;
    background: var(--blue-soft); border-radius: var(--r-md);
    padding: 40px 32px;
  }
  @media (min-width: 760px) {
    .hosts-note { grid-template-columns: auto 1fr; gap: 32px; padding: 48px 56px; }
  }
  .hosts-note .seal-lg {
    display: inline-flex; align-items: center; justify-content: center;
    width: 72px; height: 72px; border-radius: 999px;
    background: #fff; color: var(--blue-deep); flex: 0 0 auto;
  }
  .hosts-note .seal-lg svg { width: 40px; height: 40px; }
  .hosts-note p { margin: 0; font-size: 18px; line-height: 1.6; color: var(--ink); max-width: 70ch; text-wrap: pretty; }
  .hosts-note p strong { font-weight: 600; }
