/* Maison Peter Recettes v0.1 */

:root{
    --mpr-red:#e13a33;
    --mpr-red-dark:#b6221c;
    --mpr-black:#111213;
    --mpr-black-2:#18191a;
    --mpr-paper:#f4f1ec;
    --mpr-text:#171717;
    --mpr-muted:#6b6965;
}

.mpr-container{
    width:min(1180px,calc(100% - 40px));
    margin:0 auto;
}

.mpr-single,
.mpr-archive{
    font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    background:var(--mpr-paper);
    color:var(--mpr-text);
}

.mpr-hero,
.mpr-archive-hero{
    background:
        radial-gradient(circle at 82% 14%,rgba(225,58,51,.12),transparent 25%),
        linear-gradient(145deg,#101112,#191a1b);
    color:#fff;
}

.mpr-hero .mpr-container{
    padding:64px 0 0;
}

.mpr-archive-hero .mpr-container{
    padding:72px 0 64px;
}

.mpr-breadcrumb{
    display:flex;
    gap:10px;
    align-items:center;
    margin-bottom:28px;
    color:rgba(255,255,255,.45);
    font-size:12px;
}

.mpr-breadcrumb a{
    color:rgba(255,255,255,.72);
    text-decoration:none;
}

.mpr-eyebrow{
    color:var(--mpr-red);
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.14em;
}

.mpr-hero h1,
.mpr-archive-hero h1{
    margin:12px 0 0;
    max-width:880px;
    color:#fff;
    font-size:clamp(44px,6vw,78px);
    line-height:1;
    letter-spacing:-.045em;
}

.mpr-archive-hero h1{
    font-size:clamp(48px,7vw,88px);
}

.mpr-lead,
.mpr-archive-hero p{
    max-width:720px;
    margin:18px 0 0;
    color:rgba(255,255,255,.72);
    font-size:17px;
    line-height:1.65;
}

.mpr-featured{
    margin-top:38px;
    overflow:hidden;
    border-radius:18px 18px 0 0;
    max-height:610px;
}

.mpr-featured img{
    width:100%;
    height:auto;
    max-height:610px;
    object-fit:cover;
    display:block;
}

.mpr-quick-grid{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    background:#161718;
    border-top:1px solid rgba(255,255,255,.08);
}

.mpr-quick{
    min-height:95px;
    padding:20px 18px;
    border-right:1px solid rgba(255,255,255,.08);
}

.mpr-quick:last-child{border-right:0}

.mpr-quick span{
    display:block;
    color:rgba(255,255,255,.48);
    font-size:10px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.mpr-quick strong{
    display:block;
    margin-top:8px;
    color:#fff;
    font-size:17px;
}

.mpr-content{
    padding:62px 0 80px;
}

.mpr-intro{
    max-width:820px;
    margin:0 auto 48px;
    color:#4e4d49;
    font-size:17px;
    line-height:1.8;
}

.mpr-recipe-grid{
    display:grid;
    grid-template-columns:minmax(290px,.82fr) minmax(0,1.7fr);
    gap:52px;
    align-items:start;
}

.mpr-ingredients{
    position:sticky;
    top:120px;
    padding:30px;
    background:#fff;
    border:1px solid rgba(0,0,0,.08);
    border-radius:16px;
    box-shadow:0 16px 40px rgba(0,0,0,.06);
}

.mpr-section-heading{
    display:flex;
    align-items:baseline;
    gap:12px;
    margin-bottom:24px;
}

.mpr-section-heading span{
    color:var(--mpr-red);
    font-size:11px;
    font-weight:800;
    letter-spacing:.12em;
}

.mpr-section-heading h2{
    margin:0;
    font-size:30px;
    letter-spacing:-.03em;
}

.mpr-ingredient-list{
    list-style:none;
    padding:0;
    margin:0;
}

.mpr-ingredient-list li{
    padding:13px 0;
    border-bottom:1px solid #ece8e1;
}

.mpr-ingredient-list li:last-child{border-bottom:0}

.mpr-ingredient-list label{
    display:flex;
    gap:11px;
    align-items:flex-start;
    cursor:pointer;
    line-height:1.48;
}

.mpr-ingredient-list input{
    margin-top:4px;
    accent-color:var(--mpr-red);
}

.mpr-ingredient-list input:checked + span{
    color:#aaa49c;
    text-decoration:line-through;
}

.mpr-ingredient-list strong{
    margin-right:5px;
}

.mpr-step-list{
    list-style:none;
    padding:0;
    margin:0;
}

.mpr-step-list li{
    display:grid;
    grid-template-columns:58px 1fr;
    gap:18px;
    padding:26px 0;
    border-top:1px solid #dad6d0;
}

.mpr-step-list li:first-child{border-top:0;padding-top:0}

.mpr-step-number{
    color:var(--mpr-red);
    font-size:26px;
    font-weight:800;
}

.mpr-step-list p{
    margin:0;
    color:#44423f;
    font-size:17px;
    line-height:1.72;
}

.mpr-bottom-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    margin-top:54px;
}

.mpr-note-card{
    padding:27px;
    background:#171819;
    color:#fff;
    border-radius:14px;
}

.mpr-note-label{
    color:var(--mpr-red);
    font-size:10px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.1em;
}

.mpr-note-card p{
    margin:13px 0 0;
    color:rgba(255,255,255,.72);
    line-height:1.65;
}

.mpr-actions{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    margin-top:46px;
    padding-top:28px;
    border-top:1px solid #d8d4ce;
}

.mpr-actions a{
    color:var(--mpr-red-dark);
    text-decoration:none;
    font-weight:800;
}

.mpr-print{
    min-height:44px;
    padding:0 18px;
    border:1px solid var(--mpr-red);
    border-radius:6px;
    background:transparent;
    color:var(--mpr-red-dark);
    font-weight:800;
    cursor:pointer;
}

.mpr-print:hover{
    background:var(--mpr-red);
    color:#fff;
}

/* Archive */
.mpr-library{
    padding:58px 0 78px;
}

.mpr-filter-section{
    margin-bottom:54px;
}

.mpr-filter-label{
    margin-bottom:14px;
    color:#77736d;
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.12em;
}

.mpr-filter-row{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
}

.mpr-filter-row a{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:9px 13px;
    border:1px solid #d7d2ca;
    border-radius:999px;
    color:#33312e;
    text-decoration:none;
    font-size:13px;
    font-weight:700;
}

.mpr-filter-row a span{
    display:grid;
    place-items:center;
    min-width:20px;
    height:20px;
    padding:0 5px;
    border-radius:999px;
    background:#e9e4dd;
    font-size:10px;
}

.mpr-filter-row a:hover{
    border-color:var(--mpr-red);
    color:var(--mpr-red-dark);
}

.mpr-list-head{
    margin-bottom:24px;
}

.mpr-list-head h2{
    margin:8px 0 0;
    font-size:36px;
    letter-spacing:-.035em;
}

.mpr-card-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
}

.mpr-card{
    overflow:hidden;
    border-radius:15px;
    background:#fff;
    color:var(--mpr-text);
    text-decoration:none;
    border:1px solid rgba(0,0,0,.07);
    box-shadow:0 15px 34px rgba(0,0,0,.06);
}

.mpr-card:hover{
    transform:translateY(-3px);
}

.mpr-card__image{
    aspect-ratio:16/10;
    overflow:hidden;
    background:#171819;
}

.mpr-card__image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.mpr-card__placeholder{
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    color:var(--mpr-red);
    font-size:36px;
    font-weight:800;
}

.mpr-card__body{
    padding:22px;
}

.mpr-card__terms{
    color:var(--mpr-red);
    font-size:10px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.07em;
}

.mpr-card h3{
    margin:9px 0 0;
    font-size:23px;
    line-height:1.15;
    letter-spacing:-.02em;
}

.mpr-card p{
    margin:10px 0 0;
    color:#68645f;
    font-size:14px;
    line-height:1.55;
}

.mpr-card__link{
    display:inline-block;
    margin-top:16px;
    color:var(--mpr-red-dark);
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.05em;
}

.mpr-back{margin-bottom:24px}

.mpr-back a{
    color:var(--mpr-red-dark);
    text-decoration:none;
    font-weight:800;
}

.mpr-empty-state{
    padding:52px;
    border:1px dashed #cfc9c0;
    border-radius:14px;
    text-align:center;
}

.mpr-pagination{margin-top:40px}

.mpr-pagination .nav-links{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:7px;
}

.mpr-pagination a,
.mpr-pagination span{
    display:grid;
    place-items:center;
    min-width:38px;
    min-height:38px;
    padding:0 10px;
    border:1px solid #d7d1c8;
    border-radius:6px;
    text-decoration:none;
    color:#34312e;
}

.mpr-pagination .current{
    background:var(--mpr-red);
    border-color:var(--mpr-red);
    color:#fff;
}

.mpr-empty{color:#77736d}

@media(max-width:900px){
    .mpr-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
    .mpr-recipe-grid{grid-template-columns:1fr;gap:36px}
    .mpr-ingredients{position:static}
    .mpr-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:600px){
    .mpr-container{width:min(100% - 28px,1180px)}
    .mpr-hero .mpr-container{padding-top:44px}
    .mpr-featured{margin-left:-14px;margin-right:-14px;border-radius:0}
    .mpr-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .mpr-quick{min-height:82px;padding:16px 13px}
    .mpr-content{padding:42px 0 58px}
    .mpr-ingredients{padding:22px}
    .mpr-step-list li{grid-template-columns:42px 1fr;gap:12px}
    .mpr-step-number{font-size:21px}
    .mpr-step-list p{font-size:15px}
    .mpr-bottom-grid{grid-template-columns:1fr}
    .mpr-actions{align-items:flex-start;flex-direction:column}
    .mpr-card-grid{grid-template-columns:1fr}
    .mpr-archive-hero .mpr-container{padding:52px 0 46px}
}

@media print{
    @page{
        size:Letter portrait;
        margin:.34in .38in;
    }

    header,.mp-header,footer,.mp-footer,.mpr-actions,.mpr-breadcrumb,.mpr-favorite-wrap{display:none!important}

    html,body{
        background:#fff!important;
        color:#000!important;
        font-size:9pt!important;
        line-height:1.22!important;
    }

    .mpr-single,.mpr-hero,.mpr-content{
        background:#fff!important;
        color:#000!important;
    }

    .mpr-container{
        width:100%!important;
        max-width:none!important;
        margin:0!important;
    }

    .mpr-hero .mpr-container{
        padding:0!important;
        display:grid!important;
        grid-template-columns:minmax(0,1fr) 1.72in!important;
        grid-template-areas:
            "eyebrow eyebrow"
            "title title"
            "lead photo"
            "quick quick"!important;
        column-gap:12pt!important;
        row-gap:0!important;
        align-items:start!important;
    }
    .mpr-content{padding:10pt 0 0!important}

    .mpr-eyebrow{
        grid-area:eyebrow!important;
        font-size:6.8pt!important;
        margin:0 0 3pt!important;
    }
    .mpr-hero h1{
        grid-area:title!important;
        color:#000!important;
        font-size:22pt!important;
        line-height:.98!important;
        margin:0 0 6pt!important;
        max-width:none!important;
    }

    .mpr-lead{
        grid-area:lead!important;
        color:#222!important;
        font-size:8.5pt!important;
        line-height:1.25!important;
        margin:0!important;
        max-width:none!important;
        align-self:start!important;
    }

    /* Miniature alignée au texte d'introduction: le haut de page devient un vrai bloc 2 colonnes. */
    .mpr-featured{
        grid-area:photo!important;
        display:block!important;
        width:100%!important;
        height:1.05in!important;
        margin:0!important;
        border-radius:5pt!important;
        overflow:hidden!important;
        box-shadow:none!important;
        break-inside:avoid!important;
        align-self:start!important;
    }
    .mpr-featured img{
        display:block!important;
        width:100%!important;
        height:100%!important;
        object-fit:cover!important;
        object-position:center!important;
    }

    .mpr-quick-grid{
        grid-area:quick!important;
        display:grid!important;
        grid-template-columns:repeat(6,1fr)!important;
        background:#fff!important;
        border:1px solid #bbb!important;
        margin-top:7pt!important;
        break-inside:avoid!important;
    }
    .mpr-quick{
        min-height:0!important;
        padding:4pt 5pt!important;
        border-color:#ccc!important;
    }
    .mpr-quick span{color:#555!important;font-size:5.8pt!important}
    .mpr-quick strong{color:#000!important;font-size:8pt!important;margin-top:2pt!important}

    .mpr-intro{
        max-width:none!important;
        margin:0 0 8pt!important;
        font-size:8.2pt!important;
        line-height:1.25!important;
    }

    .mpr-recipe-grid{
        display:grid!important;
        grid-template-columns:31% 1fr!important;
        gap:14pt!important;
        align-items:start!important;
    }

    .mpr-ingredients{
        position:static!important;
        padding:8pt!important;
        border:1px solid #ccc!important;
        border-radius:7pt!important;
        box-shadow:none!important;
        break-inside:auto!important;
    }

    .mpr-section-heading{
        display:block!important;
        margin:0 0 5pt!important;
        text-align:left!important;
    }
    .mpr-section-heading span{display:none!important}
    .mpr-section-heading h2{
        font-size:15pt!important;
        line-height:1!important;
        margin:0!important;
        text-align:left!important;
    }

    .mpr-ingredient-list li{
        padding:3pt 0!important;
        font-size:7.7pt!important;
        line-height:1.18!important;
        break-inside:avoid!important;
    }
    .mpr-ingredient-list input{
        width:8pt!important;
        height:8pt!important;
        margin-right:3pt!important;
    }

    .mpr-step-list li{
        display:grid!important;
        grid-template-columns:20pt 1fr!important;
        gap:6pt!important;
        padding:5pt 0!important;
        border-bottom:1px solid #ddd!important;
        break-inside:avoid!important;
    }
    .mpr-step-number{
        font-size:11pt!important;
        line-height:1!important;
    }
    .mpr-step-list p{
        font-size:8pt!important;
        line-height:1.22!important;
        margin:0!important;
    }

    .mpr-bottom-grid{
        gap:8pt!important;
        margin-top:8pt!important;
    }
    .mpr-note-card{
        padding:7pt!important;
        break-inside:avoid!important;
    }
    .mpr-note-card p{font-size:7.8pt!important;line-height:1.2!important}
}


/* =========================================================
   HUB catégories — v0.2
   ========================================================= */

.mpr-hub{
    padding:58px 0 82px;
}

.mpr-hub-group + .mpr-hub-group{
    margin-top:62px;
}

.mpr-hub-group__head{
    margin-bottom:22px;
}

.mpr-hub-group__head h2{
    margin:8px 0 0;
    font-size:34px;
    letter-spacing:-.03em;
}

.mpr-hub-group__head p{
    margin:9px 0 0;
    color:#6e6a64;
}

.mpr-category-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:14px;
}

.mpr-category-card{
    overflow:hidden;
    border-radius:14px;
    background:#fff;
    color:#171717;
    text-decoration:none;
    border:1px solid rgba(0,0,0,.07);
    box-shadow:0 12px 30px rgba(0,0,0,.05);
}

.mpr-category-card:hover{
    transform:translateY(-3px);
    border-color:rgba(225,58,51,.26);
}

.mpr-category-card__art{
    aspect-ratio:16/9;
    display:grid;
    place-items:center;
    background:
        radial-gradient(circle at 72% 18%,rgba(225,58,51,.16),transparent 34%),
        linear-gradient(145deg,#191a1b,#0d0e0f);
}

.mpr-category-card__art span{
    color:var(--mpr-red);
    font-size:34px;
    font-weight:800;
}

.mpr-category-card__body{
    padding:16px;
}

.mpr-category-card h3{
    margin:0;
    font-size:18px;
}

.mpr-category-card p{
    margin:6px 0 0;
    color:#77736d;
    font-size:12px;
}

.mpr-category-card__body > span{
    display:inline-block;
    margin-top:13px;
    color:var(--mpr-red-dark);
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
}

/* =========================================================
   RECIPE MODAL
   ========================================================= */

body.mpr-modal-open{
    overflow:hidden;
}

.mpr-modal[hidden]{
    display:none!important;
}

.mpr-modal{
    position:fixed;
    inset:0;
    z-index:999999;
}

.mpr-modal-backdrop{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.76);
    backdrop-filter:blur(6px);
    -webkit-backdrop-filter:blur(6px);
}

.mpr-modal-shell{
    position:absolute;
    left:50%;
    top:50%;
    width:min(1180px,calc(100% - 44px));
    max-height:90vh;
    transform:translate(-50%,-50%);
    overflow:auto;
    border-radius:18px;
    background:var(--mpr-paper);
    box-shadow:0 32px 100px rgba(0,0,0,.50);
}

.mpr-modal-loading{
    padding:70px;
    text-align:center;
    color:#666;
}

.mpr-modal-card{
    position:relative;
}

.mpr-modal-close{
    position:sticky;
    z-index:20;
    top:14px;
    float:right;
    margin:14px 14px -58px 0;
    width:42px;
    height:42px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:50%;
    background:rgba(14,15,16,.82);
    color:#fff;
    font-size:27px;
    line-height:1;
    cursor:pointer;
}

.mpr-modal-head{
    display:grid;
    grid-template-columns:1.1fr 1fr;
    min-height:330px;
    background:#111213;
    color:#fff;
}

.mpr-modal-head__copy{
    padding:48px 44px;
    align-self:center;
}

.mpr-modal-head h2{
    margin:10px 0 0;
    color:#fff;
    font-size:clamp(36px,5vw,62px);
    line-height:1;
    letter-spacing:-.04em;
}

.mpr-modal-head p{
    margin:16px 0 0;
    color:rgba(255,255,255,.70);
    font-size:16px;
    line-height:1.6;
}

.mpr-modal-image{
    min-height:330px;
}

.mpr-modal-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.mpr-modal-quick{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    background:#171819;
}

.mpr-modal-quick > div{
    padding:17px 15px;
    border-right:1px solid rgba(255,255,255,.08);
}

.mpr-modal-quick span{
    display:block;
    color:rgba(255,255,255,.44);
    font-size:9px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.07em;
}

.mpr-modal-quick strong{
    display:block;
    margin-top:7px;
    color:#fff;
    font-size:15px;
}

.mpr-modal-body{
    display:grid;
    grid-template-columns:.9fr 1.6fr;
    gap:42px;
    padding:42px;
}

.mpr-modal-ingredients{
    padding:26px;
    background:#fff;
    border:1px solid rgba(0,0,0,.07);
    border-radius:14px;
}

.mpr-modal-notes{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    padding:0 42px 36px;
}

.mpr-modal-footer{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    padding:24px 42px 32px;
    border-top:1px solid #d8d4ce;
}

.mpr-modal-footer a{
    color:var(--mpr-red-dark);
    text-decoration:none;
    font-weight:800;
}

@media(max-width:1050px){
    .mpr-category-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media(max-width:800px){
    .mpr-modal-shell{
        inset:0;
        width:100%;
        max-height:none;
        height:100%;
        transform:none;
        left:0;
        top:0;
        border-radius:0;
    }

    .mpr-modal-head{
        grid-template-columns:1fr;
    }

    .mpr-modal-image{
        order:-1;
        min-height:240px;
        max-height:340px;
    }

    .mpr-modal-head__copy{
        padding:30px 24px 32px;
    }

    .mpr-modal-quick{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .mpr-modal-body{
        grid-template-columns:1fr;
        padding:26px 18px;
    }

    .mpr-modal-notes{
        grid-template-columns:1fr;
        padding:0 18px 24px;
    }

    .mpr-modal-footer{
        padding:20px 18px 28px;
        flex-direction:column;
        align-items:flex-start;
    }
}

@media(max-width:620px){
    .mpr-category-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:430px){
    .mpr-category-grid{
        grid-template-columns:1fr;
    }
}


/* ===== Maison Peter Recettes v0.4 — Viandes ===== */

.mpr-hub{
    background:#111315;
    color:#f4f1ec;
    min-height:70vh;
    padding-bottom:72px;
}

.mpr-shell{
    width:min(1180px, calc(100% - 40px));
    margin:0 auto;
}

.mpr-page-hero{
    padding:72px 0 52px;
    border-bottom:1px solid rgba(255,255,255,.08);
    background:
        radial-gradient(circle at 80% 0%, rgba(225,58,51,.10), transparent 34%),
        #111315;
}

.mpr-eyebrow,
.mpr-section-kicker{
    margin:0 0 10px;
    color:#e13a33;
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.16em;
}

.mpr-page-hero h1{
    margin:0;
    font-size:clamp(2.8rem, 6vw, 5.4rem);
    line-height:.95;
    letter-spacing:-.04em;
}

.mpr-page-intro{
    max-width:760px;
    margin:22px 0 0;
    color:#bfc1c3;
    font-size:1.08rem;
    line-height:1.65;
}

.mpr-section-stack{
    padding-top:34px;
}

.mpr-recipe-section{
    padding:42px 0 54px;
    border-bottom:1px solid rgba(255,255,255,.08);
}

.mpr-section-heading{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:24px;
}

.mpr-section-heading h2{
    margin:0;
    font-size:clamp(2rem, 4vw, 3.2rem);
    line-height:1;
    letter-spacing:-.035em;
}

.mpr-count{
    color:#8f9396;
    font-size:.9rem;
}

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

.mpr-recipe-card{
    overflow:hidden;
    border:1px solid rgba(255,255,255,.09);
    border-radius:18px;
    background:#17191b;
    transition:transform .2s ease, border-color .2s ease;
}

.mpr-recipe-card:hover{
    transform:translateY(-3px);
    border-color:rgba(225,58,51,.55);
}

.mpr-card-link{
    color:inherit;
    text-decoration:none;
}

.mpr-card-media{
    aspect-ratio:16/10;
    overflow:hidden;
    background:#0c0d0e;
}

.mpr-card-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .35s ease;
}

.mpr-recipe-card:hover .mpr-card-media img{
    transform:scale(1.035);
}

.mpr-card-placeholder{
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    color:#5f6366;
    font-size:.9rem;
    text-transform:uppercase;
    letter-spacing:.12em;
}

.mpr-card-body{
    padding:20px 20px 22px;
}

.mpr-card-meta{
    margin:0 0 9px;
    color:#e13a33;
    font-size:.76rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.mpr-card-body h3{
    margin:0;
    font-size:1.35rem;
    line-height:1.15;
}

.mpr-card-excerpt{
    margin:12px 0 0;
    color:#aeb1b3;
    line-height:1.55;
}

.mpr-card-cta{
    display:inline-block;
    margin-top:18px;
    font-weight:800;
    color:#f3f1ed;
}

.mpr-empty-state{
    padding:24px;
    border:1px dashed rgba(255,255,255,.12);
    border-radius:16px;
    color:#7f8386;
}

@media (max-width:900px){
    .mpr-card-grid{
        grid-template-columns:repeat(2, minmax(0,1fr));
    }
}

@media (max-width:640px){
    .mpr-shell{
        width:min(100% - 28px, 1180px);
    }

    .mpr-page-hero{
        padding:52px 0 38px;
    }

    .mpr-card-grid{
        grid-template-columns:1fr;
    }

    .mpr-section-heading{
        align-items:start;
        flex-direction:column;
        gap:8px;
    }
}


/* Favoris membre */
.mpr-favorite-wrap{margin:18px 0 4px}.mpr-favorite-wrap .mp-profile-favorite-form{display:inline;margin:0}.mpr-favorite-wrap .mp-profile-favorite-button{display:inline-flex;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.06);color:#fff;border-radius:999px;padding:10px 16px;font:inherit;font-weight:800;cursor:pointer;transition:.18s ease}.mpr-favorite-wrap .mp-profile-favorite-button:hover{border-color:#e13a33;background:rgba(225,58,51,.08);transform:translateY(-1px)}.mpr-favorite-wrap .mp-profile-favorite-button.is-favorite{background:#fff;color:#171717;border-color:#fff}.mpr-favorite-wrap .mp-profile-favorite-heart{color:#e13a33;font-size:21px;line-height:1}.mpr-favorite-wrap--modal .mp-profile-favorite-button{border-color:rgba(255,255,255,.18)}


/* 0.5.4 — Favoris directement sur les cartes */
.mpr-card-shell,
.mpr-recipe-card{position:relative;}
.mpr-card-favorite{position:absolute;right:14px;top:14px;z-index:5;}
.mpr-card-favorite .mp-profile-favorite-form{margin:0;display:block;}
.mpr-card-favorite .mp-profile-favorite-button{
  width:42px;height:42px;padding:0;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.58);
  background:rgba(18,18,18,.88);color:#fff;
  box-shadow:0 5px 18px rgba(0,0,0,.18);
  cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease;
  backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);
}
.mpr-card-favorite .mp-profile-favorite-button:hover{transform:translateY(-1px) scale(1.04);border-color:#e13a33;background:#171717;}
.mpr-card-favorite .mp-profile-favorite-button.is-favorite{background:#171717;border-color:#e13a33;}
.mpr-card-favorite .mp-profile-favorite-heart{color:#e13a33;font-size:24px;line-height:1;transform:translateY(-1px);}
@media (max-width:640px){.mpr-card-favorite{right:10px;top:10px}.mpr-card-favorite .mp-profile-favorite-button{width:39px;height:39px}}


/* v0.5.5 — fiche recette : titres simplifiés */
.mpr-steps > .mpr-section-heading{
    justify-content:flex-start;
    text-align:left;
}
.mpr-steps > .mpr-section-heading h2{
    margin-left:0;
}
