/* Les fiches recettes partagent les couleurs et le dessin du menu illustré. */
.ms-recipe-view { padding-block: 23px 35px; }
.ms-recipe-view .ms-recipe-breadcrumb { margin-bottom: 26px; gap: 9px; font-size: 11px; }
.ms-recipe-icon { display: block; flex-shrink: 0; width: 27px; height: 27px; }
.ms-recipe-hero { display: grid; gap: 30px; padding-bottom: 31px; }
.ms-recipe-family { display: inline-flex; align-items: center; gap: 9px; padding: 4px 13px 4px 7px; border-radius: 30px; color: var(--drink-color) !important; background: var(--drink-bg); font-size: 11px; font-weight: 500; text-decoration: none; }
.ms-recipe-family .ms-drink-icon { width: 26px; height: 26px; }
.ms-recipe-family > span:last-child { font-size: 17px; padding-left: 7px; }
.ms-recipe-view .ms-recipe-title { margin: 17px 0 15px; font: 500 clamp(37px, 11vw, 60px)/1.09 var(--ms-serif); letter-spacing: -1.8px; overflow-wrap: anywhere; }
.ms-recipe-title em { color: var(--drink-color, var(--ms-rose)); font-weight: inherit; }
.ms-recipe-view .ms-recipe-description { margin: 0; max-width: 44ch; color: var(--ms-muted); font-size: 14px; line-height: 1.8; }
.ms-recipe-facts { display: flex; align-items: stretch; gap: 0; margin: 23px 0; padding-block: 17px; border-block: 1px solid var(--ms-line); }
.ms-recipe-facts > div { flex: 1; display: grid; align-content: start; grid-template-columns: 21px 1fr; grid-template-rows: auto auto; gap: 3px 7px; min-width: 0; padding-right: 8px; }
.ms-recipe-facts > div + div { border-left: 1px solid var(--ms-line); padding-left: 10px; }
.ms-recipe-facts .ms-recipe-icon { grid-row: 1 / 3; width: 21px; height: 24px; margin-top: 2px; color: var(--drink-color, var(--ms-rose)); }
.ms-recipe-facts dt { align-self: start; color: var(--ms-muted); font-size: 9px; font-weight: 400; }
.ms-recipe-facts dd { margin: 0; color: var(--ms-ink); font: 500 24px/1.3 var(--ms-serif); }
.ms-recipe-facts dd small { font: 400 11px/1.3 var(--ms-sans); }
.ms-recipe-facts dd.ms-fact-word { padding-top: 5px; font: 600 12px/1.35 var(--ms-sans); }
.ms-recipe-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 22px; }
.ms-recipe-hero-actions .ms-button { gap: 30px; min-width: 154px; }
.ms-print-button { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; border: 0; padding: 6px 0; color: var(--ms-muted); background: transparent; font: 400 11px/1.5 var(--ms-sans); }
.ms-print-button .ms-recipe-icon { width: 18px; height: 18px; }
.ms-print-button:hover { color: var(--ms-rose); }
.ms-recipe-visual { position: relative; min-width: 0; margin: 3px 5px 9px; }
.ms-recipe-visual::before { content: ''; position: absolute; inset: -6px -6px 5px 6px; border: 1px solid #d8b9a4; border-radius: 70px 18px 18px 18px; transform: rotate(2deg); }
.ms-recipe-photo-frame { position: relative; overflow: hidden; aspect-ratio: 1.25; border-radius: 70px 18px 18px 18px; background: var(--drink-bg); }
.ms-recipe-photo-frame img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ms-recipe-stamp { position: absolute; top: -15px; right: -5px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; width: 87px; height: 87px; border-radius: 50%; outline: 1px dashed #bd9f67; outline-offset: -6px; background: #f6e8bc; color: #7b5a32; transform: rotate(10deg); text-align: center; font: 500 10px/1.4 var(--ms-sans); }
.ms-recipe-stamp .ms-recipe-icon { width: 21px; height: 21px; }
.ms-recipe-photo-note { position: absolute; bottom: -12px; left: 16px; display: flex; align-items: center; gap: 16px; padding: 10px 16px; background: var(--ms-cream); color: var(--ms-ink); border: 1px solid var(--ms-line); box-shadow: 0 4px 12px rgb(53 39 34 / 5%); transform: rotate(-3deg); font: italic 17px/1.4 var(--ms-serif); }
.ms-recipe-photo-note > span { color: var(--ms-rose); font-size: 25px; }
.ms-recipe-intro { display: flex; gap: 14px; margin: 12px 0 33px; padding: 20px; border: 1px dashed #d3bca7; border-radius: 14px; background: #fbf4e7; }
.ms-recipe-intro > .ms-recipe-icon { color: #a1753c; width: 28px; height: 28px; }
.ms-recipe-intro .ms-eyebrow { color: #85603c; font-size: 9px; margin: 0 0 7px; }
.ms-recipe-intro p:not(.ms-eyebrow) { margin: 0 0 10px; color: #736353; font-size: 13px; line-height: 1.8; }
.ms-recipe-intro p:last-child { margin-bottom: 0; }
.ms-cooking-grid { display: grid; gap: 37px; padding-block: 5px 35px; }
.ms-ingredients-card { position: relative; min-width: 0; padding: 28px 22px 23px; border: 1px solid #e6dcd0; border-radius: 19px; background: #f5f0e5; }
.ms-ingredient-heading { position: relative; padding-right: 38px; }
.ms-ingredient-heading > .ms-recipe-icon { position: absolute; right: 0; top: 3px; width: 38px; height: 38px; color: #92764d; transform: rotate(-9deg); }
.ms-ingredient-heading .ms-eyebrow { font-size: 8px; letter-spacing: 1.4px; margin-bottom: 8px; }
.ms-recipe-view .ms-recipe-section-title { margin: 0; font: 500 30px/1.2 var(--ms-serif); letter-spacing: -.7px; }
.ms-recipe-section-title em { color: var(--drink-color, var(--ms-rose)); }
.ms-ingredient-yield { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px; margin-top: 17px; font-size: 11px; color: #776a54; }
.ms-checklist-hint { margin: 13px 0 7px; font-size: 11px; color: var(--ms-muted); }
.ms-ingredient-list { margin: 0; padding: 0; list-style: none; }
.ms-recipe-view .ms-check-item { max-width: none; border-bottom: 1px solid #e3d8c8; }
.ms-check-item label { display: flex; align-items: start; gap: 13px; padding: 17px 0; cursor: pointer; }
.ms-cooking-check { appearance: none; -webkit-appearance: none; display: inline-block; flex-shrink: 0; width: 22px; height: 22px; padding: 0; margin: 1px 0 0; border: 1.5px solid #b8a792; border-radius: 6px; background: var(--ms-cream); cursor: pointer; }
.ms-cooking-check:checked { background-color: #627552; border-color: #627552; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4 4L19 6'/%3E%3C/svg%3E"); }
.ms-ingredient-copy { color: var(--ms-ink); font-size: 14px; line-height: 1.65; }
.ms-ingredient-copy strong { font-weight: 700; }
.ms-ingredient-copy small { display: block; margin-top: 5px; color: var(--ms-muted); font-size: 11px; line-height: 1.7; }
.ms-check-item.is-complete .ms-ingredient-copy, .ms-check-item:has(input:checked) .ms-ingredient-copy { color: #6c7761; text-decoration: line-through; text-decoration-color: #9baf89; }
.ms-ingredient-progress-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin: 18px 0 6px; color: var(--ms-muted); font-size: 10px; }
.ms-ingredient-progress-row button { min-height: 35px; padding: 4px 0; border: 0; background: transparent; color: var(--ms-muted); font-size: 10px; text-decoration: underline; text-underline-offset: 3px; }
.ms-ingredient-meter { appearance: none; display: block; width: 100%; height: 5px; border: 0; border-radius: 10px; overflow: hidden; background: #e2d9cb; }
.ms-ingredient-meter::-webkit-progress-bar { background: #e2d9cb; border-radius: 10px; }
.ms-ingredient-meter::-webkit-progress-value { background: #7d9568; border-radius: 10px; transition: width .2s; }
.ms-ingredient-meter::-moz-progress-bar { background: #7d9568; border-radius: 10px; }
.ms-recipe-view .ms-ingredient-note { position: relative; margin: 22px 0 0; padding-right: 30px; color: #76634e; font: 400 18px/1.45 var(--ms-serif); }
.ms-ingredient-note em { color: #9c7251; }
.ms-ingredient-note > span { position: absolute; right: -1px; top: 5px; color: #af8c60; font-size: 33px; }
.ms-ingredient-next { display: inline-flex; align-items: center; gap: 17px; min-height: 44px; margin-top: 14px; color: #7b634c !important; text-decoration: none; font-size: 11px; }
.ms-ingredient-next > span { font-size: 19px; }
.ms-ingredient-next:hover { text-decoration: underline; text-underline-offset: 4px; }
.ms-preparation { min-width: 0; }
.ms-preparation-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 17px; }
.ms-preparation-heading .ms-eyebrow { margin-bottom: 8px; font-size: 9px; }
.ms-step-count { flex-shrink: 0; padding: 6px 10px; border: 1px solid var(--ms-line); border-radius: 30px; color: var(--ms-muted); font-size: 10px; }
.ms-recipe-timing { margin-bottom: 24px; color: var(--ms-muted); font-size: 11px; }
.ms-step-list { list-style: none; margin: 0; padding: 0; }
.ms-recipe-view .ms-recipe-step { position: relative; display: grid; grid-template-columns: 36px minmax(0, 1fr) 28px; column-gap: 11px; max-width: none; padding-block: 21px; border-top: 1px solid var(--ms-line); }
.ms-step-number { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: #f7e6e2; color: #a45c62; font: 500 18px/1 var(--ms-serif); }
.ms-recipe-step:nth-child(3n + 2) .ms-step-number { background: #f5ecd6; color: #9b7943; }
.ms-recipe-step:nth-child(3n + 3) .ms-step-number { background: #eaf0e2; color: #6a7d54; }
.ms-recipe-view .ms-step-title { margin: 3px 0 9px; font: 500 21px/1.3 var(--ms-serif); letter-spacing: -.25px; }
.ms-step-copy p { margin: 0; color: var(--ms-muted); font-size: 13px; line-height: 1.8; }
.ms-step-toggle { display: grid; place-items: start center; width: 44px; min-height: 44px; margin: 0 -8px; padding-top: 5px; cursor: pointer; }
.ms-step-toggle .ms-cooking-check { width: 20px; height: 20px; border-radius: 50%; }
.ms-recipe-step.is-complete .ms-step-number { background: #e5eedc; color: #506742; }
.ms-recipe-step.is-complete .ms-step-title { color: #627552; }
.ms-step-progress { margin: 4px 0 0; padding-top: 12px; border-top: 1px solid var(--ms-line); color: var(--ms-muted); font-size: 11px; }
.ms-recipe-done { display: flex; align-items: center; gap: 16px; margin-top: 20px; padding: 20px; border-radius: 14px; background: #ecf2e4; color: #526d40; }
.ms-recipe-done strong { font: 500 22px/1.3 var(--ms-serif); }
.ms-recipe-done p { margin: 4px 0 0; font-size: 12px; }
.ms-legacy-recipe { padding: 27px 22px; margin-block: 10px 38px; background: #f7f1e6; border: 1px solid #e7dccd; border-radius: 18px; }
.ms-legacy-recipe .ms-preparation-heading > .ms-drink-icon { color: #a1774d; }
.ms-legacy-recipe .legacy-body { color: var(--ms-muted); font-size: 15px; line-height: 1.8; }
.ms-legacy-recipe .legacy-body h2, .ms-legacy-recipe .legacy-body h3 { font: 500 25px/1.3 var(--ms-serif); margin-block: 26px 12px; }
.ms-legacy-recipe .legacy-body p:last-child { margin-bottom: 0; }
.ms-legacy-recipe .legacy-body img { max-width: 100%; height: auto; }
.ms-legacy-recipe .legacy-body { overflow-wrap: anywhere; }
.ms-recipe-extras { margin-top: 6px; padding-block: 29px 35px; border-top: 1px solid var(--ms-line); }
.ms-recipe-extras-heading { display: flex; align-items: center; gap: 16px; margin-bottom: 23px; }
.ms-recipe-extras-heading > span { color: #b08a5f; font-size: 35px; line-height: 1; }
.ms-recipe-view .ms-recipe-extras-heading p { margin: 0; font: 500 27px/1.25 var(--ms-serif); letter-spacing: -.45px; }
.ms-recipe-extras-heading em { color: var(--ms-rose); }
.ms-recipe-tip-grid { display: grid; gap: 17px; }
.ms-recipe-tip { position: relative; min-width: 0; padding: 23px; border-radius: 15px; background: #f4f0e6; }
.ms-recipe-tip:nth-child(3n + 2) { background: #f8eeeb; }
.ms-recipe-tip:nth-child(3n + 3) { background: #edf1e6; }
.ms-tip-number { display: block; color: #a18b75; font: italic 22px/1 var(--ms-serif); margin-bottom: 13px; }
.ms-recipe-view .ms-tip-title { margin: 0 0 15px; font: 500 25px/1.25 var(--ms-serif); letter-spacing: -.3px; }
.ms-recipe-tip p, .ms-recipe-tip li { color: var(--ms-muted); font-size: 13px; line-height: 1.85; }
.ms-recipe-tip p:last-child { margin-bottom: 0; }
.ms-recipe-tip ul { padding-left: 18px; }
.ms-recipe-tip li + li { margin-top: 9px; }
.ms-recipe-faq { display: grid; gap: 22px; padding-block: 17px 38px; }
.ms-recipe-faq .ms-eyebrow { font-size: 9px; margin-bottom: 10px; }
.ms-recipe-faq .ms-recipe-section-title br { display: none; }
.ms-faq-spark { display: none; color: #b99168; font-size: 62px; }
.ms-faq-list { border-top: 1px solid var(--ms-line); }
.ms-faq-list details { border-bottom: 1px solid var(--ms-line); }
.ms-faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-block: 19px; cursor: pointer; list-style: none; }
.ms-faq-list summary::-webkit-details-marker { display: none; }
.ms-recipe-view .ms-faq-list h3 { margin: 0; font: 500 16px/1.5 var(--ms-sans); }
.ms-faq-list summary > span { color: var(--ms-rose); font: 400 25px/1 var(--ms-sans); }
.ms-faq-list details[open] summary > span { transform: rotate(45deg); }
.ms-faq-answer { padding-bottom: 20px; color: var(--ms-muted); font-size: 14px; line-height: 1.8; }
.ms-faq-answer p:last-child { margin: 0; }
.ms-recipe-related { padding-block: 15px 30px; border-top: 1px solid var(--ms-line); }
.ms-recipe-related .ms-section-heading { margin-bottom: 21px; }
.ms-related-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; padding: 0; margin: 0; list-style: none; }
.ms-related-card { display: block; text-decoration: none; }
.ms-related-photo { aspect-ratio: 1.35; overflow: hidden; margin-bottom: 11px; border-radius: 10px; background: var(--ms-paper); }
.ms-related-photo img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .25s; }
.ms-related-card:hover img { transform: scale(1.045); }
.ms-related-card > span { display: flex; justify-content: space-between; gap: 10px; color: var(--ms-ink); font: 500 18px/1.35 var(--ms-serif); }
.ms-related-card > span > span { color: var(--ms-rose); font: 400 19px/1 var(--ms-sans); }
.ms-recipe-date { margin: 15px 0 0; padding-top: 15px; border-top: 1px solid var(--ms-line); color: var(--ms-muted); font-size: 10px; }
@media (min-width: 700px) {
  .ms-recipe-view { padding-top: 29px; }
  .ms-recipe-hero { grid-template-columns: 1fr 1fr; align-items: center; gap: 38px; padding-bottom: 42px; }
  .ms-recipe-hero-no-photo { grid-template-columns: 1fr; }
  .ms-recipe-title { font-size: 45px; }
  .ms-recipe-photo-frame { aspect-ratio: .92; border-radius: 95px 20px 20px 20px; }
  .ms-recipe-visual::before { border-top-left-radius: 95px; }
  .ms-cooking-grid { grid-template-columns: .82fr 1.25fr; align-items: start; gap: 34px; }
  .ms-cooking-grid-single { grid-template-columns: 1fr; }
  .ms-ingredients-card { position: sticky; top: 104px; }
  .ms-ingredient-heading { padding-right: 0; }
  .ms-ingredient-heading > .ms-recipe-icon { display: none; }
  .ms-recipe-view .ms-recipe-section-title { font-size: 31px; }
  .ms-recipe-facts > div { grid-template-columns: 1fr; }
  .ms-recipe-facts .ms-recipe-icon { grid-row: auto; margin-bottom: 4px; }
  .ms-recipe-intro { padding: 23px 27px; gap: 21px; }
  .ms-recipe-intro p:not(.ms-eyebrow) { max-width: none; }
  .ms-recipe-tip-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
  .ms-related-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
  .ms-legacy-recipe { padding: 35px 42px; }
}
@media (min-width: 1000px) {
  .ms-recipe-view { padding-block: 30px 45px; }
  .ms-recipe-view .ms-recipe-breadcrumb { margin-bottom: 34px; font-size: 11px; }
  .ms-recipe-hero { grid-template-columns: 1fr 1fr; gap: 86px; padding-block: 0 45px; }
  .ms-recipe-hero-copy { padding-block: 13px; }
  .ms-recipe-view .ms-recipe-title { margin-block: 23px 20px; font-size: 64px; letter-spacing: -2.5px; }
  .ms-recipe-view .ms-recipe-description { font-size: 15px; }
  .ms-recipe-family { font-size: 11px; }
  .ms-recipe-facts { margin-block: 28px; padding-block: 18px; }
  .ms-recipe-facts > div { grid-template-columns: 26px 1fr; gap: 2px 10px; }
  .ms-recipe-facts > div + div { padding-left: 20px; }
  .ms-recipe-facts .ms-recipe-icon { grid-row: 1 / 3; width: 26px; height: 26px; margin-top: 4px; }
  .ms-recipe-facts dt { font-size: 10px; }
  .ms-recipe-facts dd { font-size: 28px; }
  .ms-recipe-facts dd small { font-size: 12px; }
  .ms-recipe-facts dd.ms-fact-word { font-size: 13px; padding-top: 7px; }
  .ms-print-button { font-size: 12px; }
  .ms-recipe-hero-actions { gap: 29px; }
  .ms-recipe-photo-frame { aspect-ratio: 1.23; border-top-left-radius: 125px; }
  .ms-recipe-visual::before { inset: -8px -8px 8px 8px; border-top-left-radius: 125px; }
  .ms-recipe-stamp { width: 109px; height: 109px; right: -9px; top: -19px; font-size: 12px; }
  .ms-recipe-stamp .ms-recipe-icon { width: 26px; height: 26px; }
  .ms-recipe-photo-note { bottom: -15px; left: 25px; padding: 12px 22px; font-size: 21px; }
  .ms-recipe-intro { gap: 23px; padding: 25px 30px; margin-block: 9px 43px; }
  .ms-recipe-intro > .ms-recipe-icon { width: 35px; height: 35px; }
  .ms-recipe-intro p:not(.ms-eyebrow) { font-size: 14px; }
  .ms-cooking-grid { grid-template-columns: 365px minmax(0, 1fr); gap: 70px; padding-bottom: 54px; }
  .ms-cooking-grid-single { grid-template-columns: 1fr; }
  .ms-ingredients-card { padding: 31px 28px 29px; border-radius: 20px; top: 115px; }
  .ms-ingredient-heading { padding-right: 32px; }
  .ms-ingredient-heading > .ms-recipe-icon { display: block; width: 34px; height: 34px; right: -3px; }
  .ms-recipe-view .ms-recipe-section-title { font-size: 37px; }
  .ms-ingredient-heading .ms-recipe-section-title { font-size: 30px; }
  .ms-ingredient-yield { margin-top: 20px; }
  .ms-ingredient-copy { font-size: 14px; }
  .ms-ingredient-copy small { font-size: 12px; }
  .ms-ingredient-note { margin-top: 25px; }
  .ms-preparation-heading { margin-bottom: 17px; }
  .ms-step-count { font-size: 11px; padding: 7px 15px; }
  .ms-recipe-timing { font-size: 12px; margin-bottom: 27px; }
  .ms-recipe-view .ms-recipe-step { grid-template-columns: 44px minmax(0, 1fr) 30px; column-gap: 22px; padding-block: 26px; }
  .ms-step-number { width: 44px; height: 44px; font-size: 23px; }
  .ms-recipe-view .ms-step-title { font-size: 25px; margin-block: 5px 11px; }
  .ms-step-copy p { font-size: 14px; line-height: 1.9; }
  .ms-step-toggle { padding-top: 10px; }
  .ms-recipe-extras { padding-block: 43px 55px; }
  .ms-recipe-extras-heading { margin-bottom: 30px; gap: 22px; }
  .ms-recipe-view .ms-recipe-extras-heading p { font-size: 37px; }
  .ms-recipe-extras-heading > span { font-size: 49px; }
  .ms-recipe-tip-grid { gap: 25px; }
  .ms-recipe-tip { padding: 30px 33px; }
  .ms-recipe-view .ms-tip-title { font-size: 29px; margin-bottom: 18px; }
  .ms-recipe-tip p, .ms-recipe-tip li { font-size: 14px; }
  .ms-recipe-tip:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .ms-recipe-tip:last-child:nth-child(odd) p { max-width: none; }
  .ms-recipe-faq { grid-template-columns: 1fr 1.7fr; gap: 55px; padding-block: 12px 63px; }
  .ms-recipe-faq .ms-recipe-section-title br { display: initial; }
  .ms-faq-spark { display: block; margin-top: 23px; }
  .ms-recipe-view .ms-faq-list h3 { font-size: 16px; }
  .ms-faq-list summary { padding-block: 22px; }
  .ms-recipe-related { padding-block: 35px; }
  .ms-related-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
  .ms-related-photo { aspect-ratio: 1.65; }
  .ms-related-card > span { font-size: 22px; }
  .ms-legacy-recipe { max-width: 920px; margin-inline: auto; padding: 38px 48px; }
}
@media (max-width: 359px) {
  .ms-recipe-facts > div { grid-template-columns: 1fr; }
  .ms-recipe-facts .ms-recipe-icon { grid-row: auto; margin-bottom: 3px; }
  .ms-recipe-hero-actions { gap: 10px 14px; }
  .ms-recipe-hero-actions .ms-button { min-width: 135px; gap: 22px; padding-inline: 18px; }
  .ms-print-button { font-size: 10px; }
  .ms-recipe-intro { padding: 17px; gap: 10px; }
  .ms-ingredients-card { padding-inline: 18px; }
  .ms-recipe-view .ms-recipe-section-title { font-size: 28px; }
  .ms-recipe-view .ms-recipe-step { grid-template-columns: 30px minmax(0, 1fr) 24px; column-gap: 9px; }
  .ms-step-number { width: 30px; height: 30px; font-size: 16px; }
  .ms-recipe-view .ms-step-title { font-size: 19px; }
}
@media (prefers-reduced-motion: reduce) {
  .ms-ingredient-meter::-webkit-progress-value { transition: none; }
}
@media (min-width: 700px) and (max-height: 700px) {
  .ms-ingredients-card { position: static; }
}
@media print {
  .ms-recipe-view { width: 100%; padding: 0; }
  .ms-recipe-breadcrumb, .ms-recipe-family, .ms-recipe-hero-actions, .ms-recipe-stamp, .ms-recipe-photo-note, .ms-ingredient-progress-row, .ms-ingredient-meter, .ms-ingredient-note, .ms-ingredient-next, .ms-step-toggle, .ms-step-progress, .ms-recipe-done, .ms-recipe-related, .ms-recipe-date { display: none !important; }
  .ms-recipe-hero { display: block; padding-bottom: 15px; }
  .ms-recipe-view .ms-recipe-title { font-size: 32pt; }
  .ms-recipe-visual { display: none; }
  .ms-recipe-facts { max-width: 550px; }
  .ms-cooking-grid, .ms-recipe-tip-grid, .ms-recipe-faq { display: block; }
  .ms-ingredients-card { position: static; padding: 16px; margin-bottom: 24px; break-inside: avoid; background: none; }
  .ms-recipe-step, .ms-recipe-tip, .ms-faq-list details { break-inside: avoid; }
  .ms-recipe-intro, .ms-recipe-tip { background: none; padding: 12px 0; }
  .ms-ingredient-copy, .ms-check-item.is-complete .ms-ingredient-copy, .ms-check-item:has(input:checked) .ms-ingredient-copy { color: black; text-decoration: none; }
  .ms-cooking-check { background: none !important; border-color: #555; }
  .ms-faq-list details::details-content { display: block; content-visibility: visible; }
}

/* --- Compteur de portions et lien vers le hub d'ingredient ---------------- */
/* Ajoutes a l'integration : le recalcul par portions et le maillage par
   ingredient sont des fonctionnalites du moteur, pas de la maquette. */
.ms-servings { display: inline-flex; align-items: center; gap: 4px; margin: 0 0 16px;
  padding: 4px; border: 1px solid var(--ms-line); border-radius: 30px; background: var(--ms-cream); }
.ms-servings button { display: grid; place-content: center; width: 38px; height: 38px;
  border: 0; border-radius: 50%; background: transparent; color: var(--ms-ink);
  font-size: 19px; line-height: 1; cursor: pointer; }
.ms-servings button:hover:not(:disabled) { background: var(--ms-pink); }
.ms-servings button:disabled { opacity: .35; cursor: default; }
.ms-servings > span { padding: 0 8px; font-size: 13px; white-space: nowrap; }
.ms-servings output { font-weight: 600; font-variant-numeric: tabular-nums; }

/* Les quantites changent a l'ecran : chiffres a chasse fixe pour que la liste
   ne tressaute pas a chaque increment. */
.ms-ingredient-list [data-qty-base] { font-variant-numeric: tabular-nums; }

/* Lien discret vers /ingredient/<slug>/, hors du <label> pour ne pas cocher
   la case au clic. */
.ms-ingredient-hub { display: inline-block; margin: 2px 0 0 34px; font-size: 11px;
  color: var(--ms-muted); text-decoration: none; }
.ms-ingredient-hub:hover { color: var(--ms-rose); text-decoration: underline; text-underline-offset: 3px; }
