/* Mini-programme « Active ton magnétisme amoureux » : identité « petit carnet » */
body.mini {
  --paper: #F3F0E4; --paper-2: #FAF8F0; --card: #FFFFFF;
  --ink: #1F3A2E; --ink-soft: #4A6356; --accent: #D7261E; --accent-soft: #FF8A80;
  --line: rgba(31, 58, 46, 0.14); --on-accent: #FFFFFF; --gold: #A88A3C; --sage: #DCE6D3;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) body.mini {
    --paper: #17201A; --paper-2: #1D2921; --card: #24332A;
    --ink: #EDEBDD; --ink-soft: #B3BFAE; --accent: #F0574E; --accent-soft: #FF8A80;
    --line: rgba(237, 235, 221, 0.14); --on-accent: #FFFFFF; --gold: #D2B46A; --sage: #2E4537;
  }
}
:root[data-theme="dark"] body.mini {
  --paper: #17201A; --paper-2: #1D2921; --card: #24332A;
  --ink: #EDEBDD; --ink-soft: #B3BFAE; --accent: #F0574E; --accent-soft: #FF8A80;
  --line: rgba(237, 235, 221, 0.14); --on-accent: #FFFFFF; --gold: #D2B46A; --sage: #2E4537;
}

.mini .sprig { width: 120px; height: auto; color: var(--gold); flex: none; }
.mini .sprig.flip { transform: scaleX(-1); }

/* Ouverture centrée */
.mini-hero { text-align: center; padding: 64px 0 80px; }
.mini-hero .wrap { display: flex; flex-direction: column; align-items: center; }
.mini-hero .portrait-round { width: 132px; height: 132px; border-radius: 50%; overflow: hidden; border: 3px solid var(--card); box-shadow: 0 0 0 1px var(--gold); margin-bottom: 22px; }
.mini-hero .portrait-round img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; }
.mini-hero h1 { font-size: clamp(2.8rem, 8vw, 5.4rem); max-width: 860px; }
.mini-hero h1 em { display: block; }
.mini-hero .question { font-family: "Instrument Serif", Georgia, serif; font-style: italic; font-size: clamp(1.4rem, 3.2vw, 1.9rem); line-height: 1.3; color: var(--ink); max-width: 640px; margin: 4px 0 18px; text-wrap: balance; }
.mini-hero .lead { margin: 0 auto 8px; }
.mini-hero .actions { justify-content: center; }
.mini-hero .ornament { display: flex; align-items: center; gap: 18px; margin-top: 36px; color: var(--gold); }
.mini-hero .ornament span { font-size: 0.8rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink-soft); }

/* Notes de carnet */
.notes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px 24px; margin-top: 36px; }
.note-card { position: relative; background: var(--card); padding: 30px 24px 22px; border-radius: 4px; box-shadow: 0 1px 0 var(--line), 0 10px 24px -18px rgba(31, 58, 46, 0.45); }
.note-card:nth-child(odd) { transform: rotate(-1.2deg); }
.note-card:nth-child(even) { transform: rotate(1deg); }
.note-card::before { content: ""; position: absolute; top: -10px; left: 50%; width: 84px; height: 22px; transform: translateX(-50%) rotate(-2deg); background: color-mix(in srgb, var(--sage) 85%, transparent); }
.note-card b { display: block; font-size: 0.75rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent); margin-bottom: 8px; }
.note-card p { font-family: "Instrument Serif", Georgia, serif; font-size: 1.3rem; line-height: 1.35; margin: 0; }

/* Les 4 clés */
.keys { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 36px; }
.key { display: flex; flex-direction: column; background: var(--card); border: 1px solid var(--line); border-radius: 160px 160px 18px 18px; padding: 40px 22px 24px; text-align: center; min-width: 0; }
.key .roman { font-family: "Instrument Serif", Georgia, serif; font-style: italic; font-size: 2.6rem; line-height: 1; color: var(--accent); }
.key small { display: block; font-size: 0.75rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-soft); margin: 10px 0 8px; }
.key h3 { font-size: 1.5rem; }
.key p { font-size: 0.98rem; color: var(--ink-soft); }
.key .exo { margin-top: auto; font-size: 0.85rem; font-weight: 700; color: var(--ink); border-top: 1px dashed var(--line); padding-top: 14px; }

/* Situations */
.situations { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 32px; }
.situations > div { padding: 8px 28px; border-left: 1px solid var(--line); min-width: 0; }
.situations > div:first-child { border-left: 0; padding-left: 0; }
.situations em { font-size: 1.6rem; display: block; margin-bottom: 8px; }

/* Portrait en arche */
.arch { border-radius: 999px 999px 18px 18px; overflow: hidden; max-width: 380px; justify-self: center; aspect-ratio: 3 / 4; }
.arch img { width: 100%; height: 100%; object-fit: cover; }

/* Ticket d'offre */
.ticket { position: relative; max-width: 560px; margin: 32px auto 0; background: var(--card); border: 1.5px dashed var(--accent); border-radius: 24px; padding: 40px 32px 32px; text-align: center; }
.ticket::before, .ticket::after { content: ""; position: absolute; top: 50%; width: 28px; height: 28px; border-radius: 50%; background: var(--paper); border: 1.5px dashed var(--accent); transform: translateY(-50%); }
.ticket::before { left: -15px; clip-path: inset(0 0 0 50%); }
.ticket::after { right: -15px; clip-path: inset(0 50% 0 0); }
.ticket .check { text-align: left; }
.ticket .price-main { font-size: 4.6rem; }

/* L'invitation vers Le Fil d'Or garde les couleurs du Fil d'Or */
.filor { --ink: #1F3A2E; --paper: #DCE6D3; --card: #F7FAF4; --accent: #D7261E; --accent-soft: #FF8A80; --on-accent: #FFFFFF; }

@media (max-width: 900px) {
  .keys { grid-template-columns: repeat(2, 1fr); }
  .notes { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .keys, .notes, .situations { grid-template-columns: 1fr; }
  .situations > div { border-left: 0; border-top: 1px solid var(--line); padding: 20px 0; }
  .situations > div:first-child { border-top: 0; }
  .mini .sprig { width: 72px; }
  .ticket { padding: 32px 20px 24px; }
}

.value-line { margin: 22px 0 2px; color: var(--ink-soft); }
.value-line .strike, .mini-hero .strike { color: var(--ink-soft); }
