/*
 * AMG Royal Child - theme.css (direction B "Studio clair").
 * Couche 1 : structure commune (ex base.css) ; couche 2 : personnalite B (ex style.css).
 * Couleurs, rayons, ombres : tokens.css uniquement. Pile systeme, aucune webfont.
 * Regles dures : zero <p> dans les composants ; rien de fixe en bas du viewport (video sticky Ezoic) ;
 * resets images/liens/box-sizing scopes a nos conteneurs et exclus des pubs Ezoic ;
 * aucune propriete filtre sur les images ni les pubs ; les contenus a styles inline ne sont jamais forces.
 */


:where(.amgr-header, .amgr-footer, .amgr-wrap, .site-main),
:where(.amgr-header, .amgr-footer, .amgr-wrap, .site-main) *,
:where(.amgr-header, .amgr-footer, .amgr-wrap, .site-main) *::before,
:where(.amgr-header, .amgr-footer, .amgr-wrap, .site-main) *::after {
  box-sizing: border-box;
}

html {
  color-scheme: light dark;
  text-size-adjust: 100%;
}

body {
  margin: 0;
  background: var(--amgr-bg);
  color: var(--amgr-ink);
  font-family: var(--amgr-font-body);
  font-size: 1.0625rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

:where(:where(.amgr-header, .amgr-footer, .amgr-wrap, .site-main) img:not(:where([id^="ezoic-pub-ad-placeholder"], .ezoic-ad, .ez-video-container) img)) {
  display: block;
  max-width: 100%;
  height: auto;
}

:where(:where(.amgr-header, .amgr-footer, .amgr-wrap, .site-main) a:not(:where([id^="ezoic-pub-ad-placeholder"], .ezoic-ad, .ez-video-container) a)) {
  color: var(--amgr-accent);
  text-underline-offset: 0.18em;
  text-decoration-thickness: 1px;
}

:where(:where(.amgr-header, .amgr-footer, .amgr-wrap, .site-main) a:not(:where([id^="ezoic-pub-ad-placeholder"], .ezoic-ad, .ez-video-container) a):hover) {
  text-decoration-thickness: 2px;
}

:focus-visible {
  outline: 3px solid var(--amgr-focus);
  outline-offset: 2px;
  border-radius: 4px;
}

h1,
h2,
h3 {
  font-family: var(--amgr-font-display);
  font-weight: var(--amgr-display-weight);
  letter-spacing: var(--amgr-display-tracking);
  line-height: 1.15;
  margin: 0;
  color: var(--amgr-ink);
}

.amgr-ico {
  flex: none;
  vertical-align: middle;
}

.amgr-wrap {
  width: 100%;
  max-width: 1160px;
  margin-inline: auto;
  padding-inline: 16px;
}

.amgr-narrow {
  max-width: 820px;
}

.amgr-skip {
  position: absolute;
  left: 8px;
  top: -60px;
  z-index: 10;
  padding: 8px 14px;
  background: var(--amgr-btn-bg);
  color: var(--amgr-btn-ink);
  border-radius: var(--amgr-radius-sm);
}

.amgr-skip:focus {
  top: 8px;
}

/* ---------- header (64 px en mobile) ---------- */
.amgr-header {
  background: var(--amgr-header-bg);
  color: var(--amgr-header-ink);
  position: relative;
  z-index: 5;
  box-shadow: 0 1px 0 var(--amgr-header-line);
}

.amgr-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 64px;
}

.amgr-logo {
  display: inline-flex;
  align-items: center;
  color: inherit;
  text-decoration: none;
  line-height: 0;
}

.amgr-logo-svg {
  width: auto;
  height: 44px;
  overflow: visible;
}

.amgr-lw-word {
  fill: var(--amgr-logo-word);
  font-family: var(--amgr-font-display);
  font-weight: var(--amgr-logo-weight);
}

.amgr-lw-tag {
  fill: var(--amgr-logo-tag);
  font-family: var(--amgr-font-body);
  font-weight: 600;
}

.amgr-lw-accent,
.amgr-lw-ital {
  fill: var(--amgr-logo-word-2);
}

.amgr-lw-ital {
  font-style: italic;
}

.amgr-lm-loop,
.amgr-lm-ring,
.amgr-lm-picot {
  stroke: var(--amgr-logo-mark);
}

.amgr-lm-hook,
.amgr-lm-ring2,
.amgr-lm-crown,
.amgr-lm-chain {
  stroke: var(--amgr-logo-mark-2);
}

.amgr-nav {
  display: none;
}

.amgr-nav-list,
.amgr-sub,
.amgr-menu-panel ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.amgr-dd {
  position: relative;
}

.amgr-dd > summary,
.amgr-menu-btn {
  list-style: none;
  cursor: pointer;
}

.amgr-dd > summary::-webkit-details-marker,
.amgr-menu-btn::-webkit-details-marker,
.amgr-faq-q::-webkit-details-marker,
.amgr-toc-title::-webkit-details-marker {
  display: none;
}

.amgr-dd > summary::after {
  content: "";
  display: inline-block;
  width: 0.42em;
  height: 0.42em;
  margin-left: 0.45em;
  border-right: 2px solid currentcolor;
  border-bottom: 2px solid currentcolor;
  transform: translateY(-0.2em) rotate(45deg);
}

.amgr-sub {
  position: absolute;
  top: calc(100% + 10px);
  left: -12px;
  min-width: 210px;
  padding: 8px;
  background: var(--amgr-bg);
  border: 1px solid var(--amgr-line);
  border-radius: var(--amgr-radius-sm);
  box-shadow: var(--amgr-shadow);
}

.amgr-sub-link {
  display: block;
  padding: 8px 12px;
  color: var(--amgr-ink);
  text-decoration: none;
  border-radius: 6px;
}

.amgr-sub-link:hover {
  background: var(--amgr-surface);
}

.amgr-menu {
  position: relative;
}

.amgr-menu-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid var(--amgr-header-line);
  border-radius: var(--amgr-radius-btn);
  color: var(--amgr-header-ink);
  font-weight: 600;
  font-size: 0.95rem;
}

.amgr-menu-panel {
  position: absolute;
  right: 0;
  top: calc(100% + 10px);
  width: min(86vw, 320px);
  padding: 14px;
  background: var(--amgr-bg);
  border: 1px solid var(--amgr-line);
  border-radius: var(--amgr-radius);
  box-shadow: var(--amgr-shadow);
}

.amgr-menu-label {
  display: block;
  margin: 6px 8px 2px;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--amgr-muted);
}

.amgr-menu-panel .amgr-sub-link {
  display: block;
  padding: 10px 8px;
  color: var(--amgr-ink);
  text-decoration: none;
}

/* ---------- boutons ---------- */
.amgr-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 12px 22px;
  border: 2px solid var(--amgr-btn-bg);
  border-radius: var(--amgr-radius-btn);
  background: var(--amgr-btn-bg);
  color: var(--amgr-btn-ink);
  font-family: var(--amgr-font-body);
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.2;
  text-decoration: none;
  text-align: center;
}

.amgr-btn:hover {
  opacity: 0.92;
}

.amgr-btn-alt {
  background: var(--amgr-btn-alt-bg);
  border-color: var(--amgr-btn-alt-bg);
  color: var(--amgr-btn-alt-ink);
}

.amgr-btn-ghost {
  background: transparent;
  color: var(--amgr-accent);
  border-color: var(--amgr-accent);
}

/* ---------- titres de section ---------- */
.amgr-section {
  padding-block: 36px;
}

.amgr-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
}

.amgr-section-titles {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.amgr-kicker {
  display: block;
  font-family: var(--amgr-font-body);
  font-weight: 700;
  align-self: flex-start;
  padding: 4px 12px;
  border-radius: 999px;
  background: var(--amgr-promise-bg);
  color: var(--amgr-accent);
  letter-spacing: 0.04em;
  text-transform: none;
  font-size: 0.82rem;
}

.amgr-section-title {
  font-size: 1.6rem;
  font-weight: 800;
}

.amgr-section-link {
  color: var(--amgr-accent);
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex: none;
  min-height: 44px;
  font-weight: 700;
  font-size: 0.95rem;
  text-decoration: none;
}

/* ---------- heros accueil ---------- */
.amgr-hero {
  padding-block: 22px 10px;
}

.amgr-hero-grid {
  display: grid;
  gap: 22px;
}

.amgr-hero-text {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.amgr-hero-title {
  font-size: 2.6rem;
  line-height: 1.04;
  font-weight: 800;
  letter-spacing: -0.04em;
}

.amgr-hero-lede {
  font-size: 1.12rem;
  color: var(--amgr-muted);
  max-width: 34em;
}

.amgr-hero-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  margin-top: 4px;
}

.amgr-hero-note {
  font-size: 0.9rem;
  color: var(--amgr-muted);
}

.amgr-hero-media {
  margin: 0;
}

.amgr-hero-media img {
  width: 100%;
  object-fit: cover;
  border-radius: var(--amgr-radius);
  aspect-ratio: 1 / 1;
}

.amgr-hero-cap {
  margin-top: 8px;
  font-size: 0.85rem;
  color: var(--amgr-muted);
}

/* ---------- grilles de patrons ---------- */
.amgr-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px 14px;
}

.amgr-card {
  min-width: 0;
}

.amgr-card-link {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

.amgr-card-media {
  display: block;
  overflow: hidden;
  border-radius: var(--amgr-radius);
  background: var(--amgr-surface);
}

.amgr-card-img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.amgr-card-link:hover .amgr-card-img {
  transform: scale(1.03);
}

.amgr-card-body {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding-top: 10px;
}

.amgr-card-cat {
  font-size: 0.74rem;
  letter-spacing: 0.02em;
  text-transform: none;
  font-weight: 600;
  color: var(--amgr-muted);
}

.amgr-card-title {
  font-family: var(--amgr-font-display);
  font-size: 1.05rem;
  line-height: 1.25;
  color: var(--amgr-ink);
  font-weight: 700;
  letter-spacing: -0.01em;
}

.amgr-card-link:hover .amgr-card-title {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}

.amgr-card-sub {
  font-size: 0.86rem;
  color: var(--amgr-muted);
}

.amgr-card-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
  margin-top: 6px;
}

.amgr-card-num {
  display: none;
}

.amgr-level {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  vertical-align: bottom;
  padding: 2px 9px;
  border-radius: 999px;
  font-size: 0.76rem;
  font-weight: 700;
  line-height: 1.6;
  background: var(--amgr-badge-easy-bg);
  color: var(--amgr-badge-easy-ink);
}

.amgr-level-adv {
  background: var(--amgr-badge-adv-bg);
  color: var(--amgr-badge-adv-ink);
}

.amgr-level-int {
  background: var(--amgr-badge-int-bg);
  color: var(--amgr-badge-int-ink);
}

.amgr-time {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.8rem;
  color: var(--amgr-muted);
}

/* ---------- Start here ---------- */
.amgr-start-box {
  padding-block: 4px;
  padding: 26px 16px;
  background: var(--amgr-surface);
  border-radius: var(--amgr-radius);
}

.amgr-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 14px;
}

.amgr-step {
  display: flex;
  gap: 14px;
  padding: 18px;
  border-radius: var(--amgr-radius);
  background: var(--amgr-bg);
  border: 1px solid var(--amgr-line);
}

.amgr-step-num {
  flex: none;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  font-family: var(--amgr-font-display);
  font-weight: 700;
  font-size: 1.15rem;
  background: var(--amgr-promise-bg);
  color: var(--amgr-accent);
}

.amgr-step-body {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.amgr-step-title {
  font-family: var(--amgr-font-display);
  font-weight: var(--amgr-display-weight);
  font-size: 1.15rem;
}

.amgr-step-text {
  color: var(--amgr-muted);
  font-size: 0.98rem;
}

.amgr-step-link {
  color: var(--amgr-accent);
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 36px;
  font-weight: 700;
  font-size: 0.95rem;
}

/* ---------- bandeau recettes (bas de home) ---------- */
.amgr-recipes {
  margin-top: 20px;
  background: var(--amgr-bg);
  border-top: 1px solid var(--amgr-line);
}

.amgr-rgrid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.amgr-rcard a {
  display: flex;
  flex-direction: column;
  gap: 2px;
  color: var(--amgr-ink);
  text-decoration: none;
}

.amgr-rcard-media {
  display: block;
  overflow: hidden;
  margin-bottom: 6px;
  border-radius: var(--amgr-radius-sm);
}

.amgr-rcard-media img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.amgr-rcard-name {
  font-weight: 700;
  font-size: 0.98rem;
}

.amgr-rcard-count {
  font-size: 0.82rem;
  color: var(--amgr-muted);
}

/* ---------- footer ---------- */
.amgr-footer {
  background: var(--amgr-footer-bg);
  color: var(--amgr-footer-ink);
  padding-block: 36px 40px;

  --amgr-logo-word: var(--amgr-footer-ink);
  --amgr-logo-word-2: var(--amgr-footer-link);
  --amgr-logo-tag: var(--amgr-footer-muted);
  --amgr-logo-mark: var(--amgr-footer-mark);
  --amgr-logo-mark-2: var(--amgr-footer-mark-2);
}

.amgr-footer-inner {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.amgr-footer-line,
.amgr-footer-copy {
  color: var(--amgr-footer-muted);
  font-size: 0.92rem;
  max-width: 44em;
}

.amgr-footer-links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 20px;
}

.amgr-footer-links a {
  display: inline-block;
  padding-block: 8px;
  color: var(--amgr-footer-link);
  font-weight: 600;
}

/* ---------- fil d'Ariane ---------- */
.amgr-crumbs ol {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  font-size: 0.82rem;
  color: var(--amgr-muted);
}

.amgr-crumbs li + li::before {
  content: "\203A";
  margin-inline: 7px;
}

.amgr-crumbs a {
  color: var(--amgr-muted);
}

/* ---------- hub ---------- */
.amgr-hub-head {
  padding-block: 18px 6px;
}

.amgr-hub-head .amgr-kicker {
  margin-top: 16px;
}

.amgr-page-title {
  font-size: 2.2rem;
  margin-top: 6px;
}

.amgr-intro {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 12px;
  color: var(--amgr-muted);
  font-size: 1.05rem;
}

.amgr-subcats {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 14px;
}

.amgr-subcat a {
  display: flex;
  align-items: stretch;
  overflow: hidden;
  min-height: 132px;
  background: var(--amgr-surface);
  border-radius: var(--amgr-radius);
  color: var(--amgr-ink);
  text-decoration: none;
}

.amgr-subcat-media {
  flex: 0 0 38%;
}

.amgr-subcat-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.amgr-subcat-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  padding: 14px 16px;
}

.amgr-subcat-name {
  font-family: var(--amgr-font-display);
  font-weight: var(--amgr-display-weight);
  font-size: 1.35rem;
}

.amgr-subcat-text {
  font-size: 0.92rem;
  color: var(--amgr-muted);
}

.amgr-subcat-count {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 4px;
  font-weight: 700;
  font-size: 0.92rem;
  color: var(--amgr-accent);
}

.amgr-chips {
  list-style: none;
  margin: 0 0 18px;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.amgr-chip {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 16px;
  border: 1px solid var(--amgr-line-strong);
  border-radius: 999px;
  color: var(--amgr-ink);
  font-weight: 600;
  font-size: 0.92rem;
  text-decoration: none;
}

.amgr-chip.is-on {
  background: var(--amgr-ink);
  border-color: var(--amgr-ink);
  color: var(--amgr-bg);
}

.amgr-note {
  margin-top: 20px;
  font-size: 0.88rem;
  color: var(--amgr-muted);
}

.amgr-guides {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--amgr-line);
}

.amgr-guide {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 56px;
  padding: 10px 2px;
  border-bottom: 1px solid var(--amgr-line);
  color: var(--amgr-ink);
  font-weight: 600;
  text-decoration: none;
}

.amgr-guide .amgr-ico {
  color: var(--amgr-accent);
}

/* ---------- FAQ (details/summary, zero JS) ---------- */
.amgr-faq-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.amgr-faq-item {
  border-radius: var(--amgr-radius-sm);
  background: var(--amgr-bg);
  border: 1px solid var(--amgr-line);
}

.amgr-faq-q {
  position: relative;
  list-style: none;
  cursor: pointer;
  padding: 16px 48px 16px 18px;
  font-weight: 700;
  line-height: 1.35;
}

.amgr-faq-q::after {
  content: "+";
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.4rem;
  font-weight: 400;
  color: var(--amgr-accent);
}

.amgr-faq-item[open] .amgr-faq-q::after {
  content: "\2212";
}

.amgr-faq-a {
  padding: 0 18px 18px;
  color: var(--amgr-muted);
}

/* ---------- gabarit patron : heros ---------- */
.amgr-phero {
  padding-block: 10px 6px;
}

.amgr-phero-grid {
  display: grid;
  gap: 0;
}

.amgr-phero-head .amgr-crumbs {
  padding-block: 4px 8px;
}

.amgr-ptitle,
.single .entry-title {
  font-size: 1.56rem;
  line-height: 1.16;
  margin: 0 0 12px;

  /* garde-fou budget du pli a 390 px : 3 lignes visuelles maximum */
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.amgr-figure {
  margin: 0;
}

.amgr-phero-media img {
  width: 100%;

  /* plafond du pli : 38svh (<= 55 vh demande) */
  max-height: 38svh;
  object-fit: cover;
  border-radius: var(--amgr-radius);
}

.amgr-fig-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 40px;
  padding-top: 4px;
}

.amgr-fig-cap {
  font-size: 0.84rem;
  color: var(--amgr-muted);
  line-height: 1.35;
}

.amgr-pin {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex: none;
  min-height: 36px;
  padding: 0 12px;
  border-radius: 999px;
  background: var(--amgr-pin-bg);
  color: var(--amgr-pin-ink);
  font-size: 0.84rem;
  font-weight: 700;
  text-decoration: none;
}

.amgr-promise {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px;
  margin-top: 4px;
  background: var(--amgr-promise-bg);
  color: var(--amgr-promise-ink);
  border-radius: var(--amgr-radius);
}

.amgr-promise-text {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.amgr-promise-title {
  font-family: var(--amgr-font-display);
  font-weight: var(--amgr-display-weight);
  font-size: 1.2rem;
  line-height: 1.25;
}

.amgr-promise-sub {
  font-size: 0.86rem;
  color: var(--amgr-promise-sub);
}

.amgr-promise .amgr-btn {
  background: var(--amgr-promise-btn-bg);
  border-color: var(--amgr-promise-btn-bg);
  color: var(--amgr-promise-btn-ink);
}

.amgr-btn-jump {
  width: 100%;
}

.amgr-byline {
  display: flex;
  flex-wrap: wrap;
  gap: 2px 14px;
  margin-top: 14px;
  font-size: 0.88rem;
  color: var(--amgr-muted);
}

.amgr-byline a {
  font-weight: 700;
}

.amgr-facts {
  list-style: none;
  margin: 14px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  background: var(--amgr-line);
  border: 1px solid var(--amgr-line);
  border-radius: var(--amgr-radius-sm);
  overflow: hidden;
}

.amgr-facts li {
  display: flex;
  flex-direction: column;
  padding: 10px 12px;
  background: var(--amgr-bg);
}

.amgr-fact-k {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--amgr-muted);
}

.amgr-fact-v {
  font-weight: 600;
  font-size: 0.95rem;
  line-height: 1.35;
}

/* ---------- gabarit patron : corps ---------- */
.amgr-content {
  max-width: 760px;
}

.amgr-article {
  font-size: 1.0625rem;
}

.amgr-article p {
  margin: 0 0 1.05em;
}

.amgr-article h2 {
  font-size: 1.55rem;
  margin: 1.7em 0 0.55em;
  scroll-margin-top: 16px;
}

.amgr-article ul {
  padding-left: 1.2em;
  margin: 0 0 1em;
}

.amgr-article li {
  margin-bottom: 0.3em;
}

.amgr-safety {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0 0 18px;
  padding: 14px 16px;
  border-left: 4px solid var(--amgr-accent-2-deco);
  background: var(--amgr-surface);
  border-radius: 0 var(--amgr-radius-sm) var(--amgr-radius-sm) 0;
  font-size: 0.95rem;
}

.amgr-safety-title {
  color: var(--amgr-accent-2);
}

.amgr-toc {
  margin: 0 0 22px;
  padding: 14px 18px 8px;
  border-radius: var(--amgr-radius-sm);
  border: 0;
  background: var(--amgr-surface);
}

.amgr-toc-title {
  list-style: none;
  cursor: pointer;
  font-family: var(--amgr-font-display);
  font-weight: var(--amgr-display-weight);
  font-size: 1.15rem;
  margin-bottom: 6px;
}

.amgr-toc ol {
  margin: 0;
  padding-left: 1.3em;
}

.amgr-toc li {
  padding-block: 4px;
}

.amgr-toc a {
  display: inline-block;
  min-height: 28px;
  font-weight: 600;
}

.amgr-figure-body {
  margin: 22px 0;
}

.amgr-figure-body img {
  width: 100%;
  border-radius: var(--amgr-radius);
}

.amgr-sizes {
  display: grid;
  gap: 12px;
  margin: 6px 0 10px;
}

.amgr-size {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 14px 16px;
  background: var(--amgr-surface);
  border-radius: var(--amgr-radius-sm);
}

.amgr-size-name {
  font-family: var(--amgr-font-display);
  font-weight: var(--amgr-display-weight);
  font-size: 1.15rem;
}

.amgr-size-dim {
  font-weight: 700;
  color: var(--amgr-accent);
}

.amgr-size-line {
  font-size: 0.93rem;
  color: var(--amgr-muted);
}

.amgr-cta-inline {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 24px 0;
  padding: 18px;
  border: 2px solid var(--amgr-accent-deco);
  border-radius: var(--amgr-radius);
}

.amgr-cta-inline .amgr-btn {
  flex: none;
  white-space: nowrap;
}

.amgr-cta-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.amgr-cta-title {
  font-family: var(--amgr-font-display);
  font-weight: var(--amgr-display-weight);
  font-size: 1.2rem;
}

.amgr-cta-sub {
  color: var(--amgr-muted);
  font-size: 0.95rem;
}

.amgr-dl {
  display: flex;
  gap: 14px;
  align-items: center;
  margin: 10px 0 20px;
  padding: 14px;
  background: var(--amgr-surface);
  border-radius: var(--amgr-radius);
}

.amgr-dl-thumb {
  flex: 0 0 76px;
}

.amgr-dl-thumb img {
  border-radius: 4px;
  box-shadow: var(--amgr-shadow-sm);
}

.amgr-dl-body {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.amgr-dl-title {
  font-family: var(--amgr-font-display);
  font-weight: var(--amgr-display-weight);
  font-size: 1.15rem;
}

.amgr-dl-sub {
  font-size: 0.9rem;
  color: var(--amgr-muted);
}

.amgr-dl-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 6px;
}

.amgr-dl-btns .amgr-btn {
  min-height: 44px;
  padding: 8px 14px;
  font-size: 0.92rem;
}

.amgr-rows {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.amgr-row {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 14px 16px;
  border: 1px solid var(--amgr-line);
  border-radius: var(--amgr-radius-sm);
}

.amgr-row-name {
  font-weight: 800;
  color: var(--amgr-accent);
}

.amgr-row-count {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--amgr-accent-2);
}

.amgr-mini {
  margin: 26px 0;
  padding: 16px;
  background: var(--amgr-surface);
  border-radius: var(--amgr-radius);
}

.amgr-mini-head {
  display: block;
  margin-bottom: 10px;
  font-family: var(--amgr-font-display);
  font-weight: var(--amgr-display-weight);
  font-size: 1.15rem;
}

.amgr-mini-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.amgr-mini-item {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--amgr-ink);
  text-decoration: none;
}

.amgr-mini-media {
  flex: 0 0 64px;
  overflow: hidden;
  border-radius: var(--amgr-radius-sm);
}

.amgr-mini-media img {
  width: 64px;
  height: 80px;
  object-fit: cover;
}

.amgr-mini-body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
}

.amgr-mini-title {
  font-weight: 700;
  line-height: 1.3;
}

.amgr-mini-meta {
  font-size: 0.84rem;
  color: var(--amgr-muted);
}

.amgr-mini-all {
  min-height: 56px;
  padding: 8px 12px;
  border: 1px dashed var(--amgr-line-strong);
  border-radius: var(--amgr-radius-sm);
  color: var(--amgr-accent);
}

.amgr-mini-all .amgr-mini-title {
  color: var(--amgr-accent);
}

.amgr-excerpt-note {
  font-style: italic;
  color: var(--amgr-muted);
}

.amgr-team {
  display: flex;
  gap: 16px;
  margin: 30px 0 10px;
  padding: 20px;
  border-radius: var(--amgr-radius);
  border: 1px solid var(--amgr-line);
  background: var(--amgr-bg);
}

.amgr-team-mark {
  flex: none;
}

.amgr-team-svg {
  width: 48px;
  height: auto;
}

.amgr-team-body {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.amgr-team-title {
  font-family: var(--amgr-font-display);
  font-weight: var(--amgr-display-weight);
  font-size: 1.25rem;
  scroll-margin-top: 16px;
}

.amgr-team-text {
  color: var(--amgr-muted);
  font-size: 0.98rem;
}

.amgr-team-links {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 18px;
}

.amgr-team-links a {
  display: inline-block;
  padding-block: 6px;
  font-weight: 700;
  font-size: 0.95rem;
}

.amgr-content .amgr-faq {
  padding-block: 20px 0;
}

.amgr-more {
  margin-top: 16px;
  background: var(--amgr-bg);
  border-top: 1px solid var(--amgr-line);
}

.amgr-more .amgr-card-media {
  background: var(--amgr-surface);
}

/* ---------- 640 px ---------- */
@media (width >= 640px) {
  .amgr-wrap {
    padding-inline: 24px;
  }

  .amgr-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px 22px;
  }

  .amgr-rgrid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .amgr-steps,
  .amgr-subcats,
  .amgr-sizes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .amgr-promise {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }

  .amgr-btn-jump {
    width: auto;
  }

  .amgr-cta-inline {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }

  .amgr-facts {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .amgr-figure-portrait {
    max-width: 520px;
    margin-inline: auto;
  }
}

/* ---------- 960 px (desktop) ---------- */
@media (width >= 960px) {
  .amgr-header-inner {
    min-height: 84px;
  }

  .amgr-logo-svg {
    height: 52px;
  }

  .amgr-nav {
    display: block;
  }

  .amgr-menu {
    display: none;
  }

  .amgr-nav-list {
    display: flex;
    align-items: center;
    gap: 6px;
  }

  .amgr-nav-link {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 14px;
    color: var(--amgr-header-ink);
    font-weight: 600;
    font-size: 0.98rem;
    text-decoration: none;
    border-radius: var(--amgr-radius-btn);
  }

  .amgr-nav-link:hover {
    background: var(--amgr-surface);
  }

  .amgr-section {
    padding-block: 56px;
  }

  .amgr-section-title {
    font-size: 2.1rem;
  }

  .amgr-hero {
    padding-block: 48px 24px;
  }

  .amgr-hero-grid {
    grid-template-columns: 1fr 1.1fr;
    align-items: center;
    gap: 56px;
  }

  .amgr-hero-title {
    font-size: 4rem;
  }

  .amgr-hero-media img {
    aspect-ratio: 5 / 4;
  }

  .amgr-rgrid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .amgr-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .amgr-step {
    flex-direction: column;
    padding: 24px;
  }

  .amgr-grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .amgr-page-title {
    font-size: 3rem;
  }

  .amgr-phero {
    padding-block: 26px 10px;
  }

  .amgr-phero-grid {
    grid-template:
      "media head" auto
      "media side" 1fr / 1.15fr 1fr;
    gap: 0 44px;
    align-items: start;
  }

  .amgr-phero-head {
    grid-area: head;
  }

  .amgr-phero-media {
    grid-area: media;
  }

  .amgr-phero-side {
    grid-area: side;
  }

  .amgr-phero-media img {
    max-height: 55vh;
  }

  .amgr-ptitle {
    font-size: 2.3rem;
    margin-bottom: 18px;
  }

  .amgr-promise {
    flex-direction: column;
    align-items: stretch;
    padding: 20px;
  }

  .amgr-btn-jump {
    width: 100%;
  }

  .amgr-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .amgr-content {
    padding-top: 10px;
  }

  .amgr-footer-inner {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 14px 48px;
    align-items: start;
  }

  .amgr-footer-links,
  .amgr-footer-copy {
    grid-column: 2;
  }

  .amgr-footer-line {
    grid-column: 2;
    grid-row: 1;
  }

  .amgr-logo-foot {
    grid-row: 1 / span 3;
  }
}

@media (prefers-reduced-motion: reduce) {
  .amgr-card-img {
    transition: none;
  }
}

.amgr-level::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 6px;
  border-radius: 50%;
  background: currentcolor;
  vertical-align: 0.12em;
}

/* personnalite B, 960 px */
@media (width >= 960px) {
  .amgr-hero-grid {
    grid-template-columns: 1fr 1fr;
  }

  .amgr-hero-title {
    font-size: 4.4rem;
  }

  .amgr-start-box {
    padding: 44px;
  }
}

/* ---------- Task 6 : gabarit patron (blocs injectes par hooks) ---------- */
.amgr-pattern .entry-header + .amgr-promise {
  margin-block: 14px;
}

.amgr-inj.amgr-more {
  margin-top: 28px;
  padding-top: 8px;
  border-top: 1px solid var(--amgr-line);
}

.amgr-section-title[role="heading"] {
  display: block;
}

.amgr-pinrow {
  display: flex;
  justify-content: flex-end;
  margin-top: 10px;
}

.amgr-pinrow .amgr-pin {
  min-height: 44px;
  padding-inline: 16px;
}

/* le wrapper .aw du contenu colore ses liens et ses images : on rend la main aux composants */
.aw .amgr-inj a {
  text-decoration: none;
}

.aw .amgr-pin {
  color: var(--amgr-pin-ink);
}

.aw .amgr-cta-inline .amgr-btn {
  color: var(--amgr-btn-alt-ink);
}

.aw .amgr-mini-item,
.aw .amgr-card-link {
  color: var(--amgr-ink);
}

.aw .amgr-mini-all,
.aw .amgr-mini-all .amgr-mini-title {
  color: var(--amgr-accent);
}

.aw .amgr-mini-media img {
  width: 64px;
  height: 80px;
  margin: 0;
  border-radius: 0;
}

.aw .amgr-card .amgr-card-img {
  margin: 0;
  border-radius: 0;
}

/* ---------- GeneratePress : surfaces et typo imposees par le parent, ramenees aux tokens ---------- */
.site-header,
.main-navigation,
.main-navigation .main-nav ul ul {
  background: var(--amgr-header-bg);
  color: var(--amgr-header-ink);
}

.sidebar .widget a,
.footer-widgets .widget a {
  color: var(--amgr-accent);
}

.site-content {
  background: var(--amgr-bg);
  color: var(--amgr-ink);
}

.separate-containers .inside-article,
.separate-containers .comments-area,
.separate-containers .page-header {
  background: var(--amgr-bg);
  color: var(--amgr-ink);
}

.site-main .entry-title,
.site-main .entry-title a {
  color: var(--amgr-ink);
}

.site-main .entry-meta,
.site-main .entry-meta a {
  color: var(--amgr-muted);
}

.sidebar .widget,
.footer-widgets .widget {
  background: var(--amgr-surface);
  color: var(--amgr-ink);
}

.main-navigation .main-nav ul li a,
.main-navigation .menu-toggle {
  color: var(--amgr-header-ink);
}

/* pages generiques (About...) : liens de contenu aux couleurs du theme */
.page:not(.home) .entry-content a:where(:not([class])) {
  color: var(--amgr-accent);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.main-navigation .main-nav ul li:hover > a,
.main-navigation .main-nav ul li.current-menu-item > a {
  color: var(--amgr-accent);
}

.site-footer {
  background: var(--amgr-footer-bg);
  color: var(--amgr-footer-ink);
}

/* anciens articles : carte claire « papier » meme en sombre, les styles inline des recettes restent lisibles */
.amgr-legacy.separate-containers .inside-article {
  background: var(--amgr-paper);
  color: var(--amgr-paper-ink);
  border-radius: var(--amgr-radius);
}

.amgr-legacy.separate-containers .inside-article .entry-title,
.amgr-legacy.separate-containers .inside-article .entry-title a {
  color: var(--amgr-paper-ink);
}

.amgr-legacy.separate-containers .inside-article .entry-meta,
.amgr-legacy.separate-containers .inside-article .entry-meta a {
  color: var(--amgr-paper-muted);
}

.amgr-legacy.separate-containers .inside-article :is(h1, h2, h3, h4, h5, h6, strong, blockquote) {
  color: var(--amgr-paper-ink);
}

.amgr-legacy.separate-containers .inside-article .entry-content a:where(:not([class])),
.amgr-legacy.separate-containers .inside-article .footer-entry-meta a {
  color: var(--amgr-paper-link);
}

/* badges niveau : retour a la ligne (2 lignes max) sous 640 px, ellipse pour les cas extremes */
@media (width < 640px) {
  .amgr-level {
    display: inline-block;
    max-height: calc(2 * 1.6em + 4px);
    border-radius: 12px;
    white-space: normal;
    overflow-wrap: anywhere;
    text-align: left;
  }
}


/* secours : icones du widget social GeneratePress (CSS additionnel de l'ancien theme absent sous le child) */
.site .social-icon {
  width: 18px;
  height: 18px;
  margin-right: 10px;
  vertical-align: middle;
}

/* barre du haut heritee (bloc personnalise injecte par un Element/hook, independant du theme) : masquee, ses liens sont dans notre pied de page */
.custom-topbar-wrapper,
.top-bar {
  display: none;
}

/* patron, bureau : image a la une plafonnee pour que promesse + bouton restent au-dessus du pli (1280 x 800) */
@media (width >= 960px) {
  .amgr-pattern .featured-image img {
    width: 100%;
    max-height: 45vh;
    object-fit: cover;
  }
}

/* pages crochet sans barre laterale : texte du patron en colonne de lecture centree (les grilles du hub gardent leur largeur) */
.amgr-pattern.no-sidebar .inside-article {
  max-width: 780px;
  margin-inline: auto;
}
