/* Mirage Cuisine — La Table frontend */
.mirage-menu{
    --mirage-creme:#FAF9F7;
    --mirage-blue:#000058;
    background:var(--mirage-creme);
    color:#222;
    padding:clamp(2rem,5vw,5rem) 0 clamp(4rem,8vw,8rem);
    margin-block:2rem;
}
.mirage-menu__hero{
    width:min(1100px,92vw);
    height:clamp(260px,38vw,500px);
    margin:0 auto clamp(3rem,7vw,6rem);
    overflow:hidden;
}
.mirage-menu__hero img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}
.mirage-menu__header{
    width:min(760px,88vw);
    margin:0 auto clamp(5rem,9vw,8rem);
    text-align:center;
}
.mirage-menu__header h2{
    font-family:Georgia,serif;
    font-weight:400;
    font-size:clamp(2.7rem,6vw,5.2rem);
    line-height:1.02;
    margin:0 0 1.2rem;
}
.mirage-menu__header>p{
    font-family:Georgia,serif;
    font-size:clamp(1.05rem,2vw,1.35rem);
    line-height:1.55;
    max-width:650px;
    margin:0 auto;
}
.mirage-menu__intro{
    margin:2.5rem auto 0;
    max-width:650px;
    text-align:left;
}
.mirage-menu__items{
    width:min(900px,88vw);
    margin:0 auto;
}
.mirage-menu__course{
    margin:0 auto clamp(5.5rem,10vw,8rem);
}
.mirage-menu__course>h3{
    color:var(--mirage-blue);
    text-align:center;
    font-size:.68rem;
    letter-spacing:.25em;
    text-transform:uppercase;
    font-weight:600;
    margin:0 0 2rem;
    display:flex;
    align-items:center;
    gap:1.5rem;
}
.mirage-menu__course>h3::before,
.mirage-menu__course>h3::after{
    content:"";
    height:1px;
    background:rgba(0,0,0,.14);
    flex:1;
}
.mirage-menu__course-items{
    border-top:0;
}
.mirage-menu__item{
    padding:2.1rem 0;
    border-bottom:1px solid rgba(0,0,0,.14);
}
.mirage-menu__course-items .mirage-menu__item:last-child{
    border-bottom:0;
}
.mirage-menu__item--has-image{
    display:grid;
    grid-template-columns:minmax(220px,38%) 1fr;
    gap:clamp(2rem,5vw,4rem);
    align-items:center;
}
.mirage-menu__item-image{
    aspect-ratio:4/3;
    overflow:hidden;
}
.mirage-menu__item-image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}
.mirage-menu__item-content{
    min-width:0;
}
.mirage-menu__item h4{
    font-family:Georgia,serif;
    font-size:clamp(1.65rem,3vw,2.15rem);
    line-height:1.2;
    font-weight:400;
    margin:0 0 .7rem;
}
.mirage-menu__item h4 a{
    color:inherit;
    text-decoration:none;
}
.mirage-menu__item p{
    max-width:650px;
    margin:.2rem 0 1rem;
    line-height:1.65;
}
.mirage-menu__link{
    color:var(--mirage-blue);
    font-size:.67rem;
    letter-spacing:.13em;
    text-transform:uppercase;
    text-decoration:none;
}
.mirage-menu__item--custom h4{
    margin-bottom:.45rem;
}
.mirage-menu__item--custom h4 a{
    text-decoration:none;
}
@media(max-width:700px){
    .mirage-menu{
        padding-top:1rem;
    }
    .mirage-menu__hero{
        width:100%;
        height:clamp(260px,58vw,360px);
        margin-bottom:3rem;
    }
    .mirage-menu__header,
    .mirage-menu__items{
        width:min(88vw,620px);
    }
    .mirage-menu__header{
        margin-bottom:4.5rem;
    }
    .mirage-menu__course{
        margin-bottom:5rem;
    }
    .mirage-menu__course>h3{
        gap:.8rem;
    }
    .mirage-menu__item--has-image{
        grid-template-columns:1fr;
        gap:1.4rem;
    }
    .mirage-menu__item-image{
        aspect-ratio:16/10;
    }
    .mirage-menu__item{
        padding:1.7rem 0;
    }
}


/* La Table overview */
.mirage-la-table{
    --mirage-creme:#FAF9F7;
    --mirage-blue:#000058;
    color:#222;
    background:var(--mirage-creme);
    padding:clamp(1rem,4vw,4rem) 0 clamp(4rem,8vw,8rem);
}
.mirage-la-table__intro{
    width:min(760px,88vw);
    margin:0 auto clamp(4rem,8vw,7rem);
    text-align:center;
}
.mirage-la-table__eyebrow{
    color:var(--mirage-blue);
    font-size:.68rem;
    letter-spacing:.23em;
    text-transform:uppercase;
    margin:0 0 1.3rem;
}
.mirage-la-table__intro h2{
    font-family:Georgia,serif;
    font-weight:400;
    font-size:clamp(2.7rem,6vw,5rem);
    line-height:1.02;
    margin:0 0 1.2rem;
}
.mirage-la-table__intro>p:last-child{
    font-family:Georgia,serif;
    font-size:clamp(1rem,1.8vw,1.2rem);
    line-height:1.65;
    max-width:650px;
    margin:0 auto;
}
.mirage-la-table__featured{
    width:min(1120px,92vw);
    margin:0 auto clamp(5rem,9vw,8rem);
    display:grid;
    grid-template-columns:1.35fr 1fr;
    background:#EEEFDF;
}
.mirage-la-table__featured-image{
    display:block;
    min-height:420px;
    overflow:hidden;
}
.mirage-la-table__featured-image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}
.mirage-la-table__featured-copy{
    padding:clamp(2rem,5vw,4rem);
    align-self:center;
}
.mirage-la-table__card-eyebrow,
.mirage-la-table__section-header>p{
    color:var(--mirage-blue);
    font-size:.66rem;
    letter-spacing:.22em;
    text-transform:uppercase;
    margin:0 0 1rem;
}
.mirage-la-table__featured-copy h3{
    font-family:Georgia,serif;
    font-weight:400;
    font-size:clamp(2rem,4vw,3.2rem);
    line-height:1.08;
    margin:0 0 1.3rem;
}
.mirage-la-table__featured-copy h3 a,
.mirage-la-table__card h3 a,
.mirage-la-table__recipe-card h3 a{
    color:inherit;
    text-decoration:none;
}
.mirage-la-table__lead{
    font-family:Georgia,serif;
    font-style:italic;
    font-size:1.15rem;
    line-height:1.5;
    margin:0 0 1rem;
}
.mirage-la-table__excerpt,
.mirage-la-table__card-copy p{
    line-height:1.65;
}
.mirage-la-table__link{
    display:inline-block;
    margin-top:1rem;
    color:var(--mirage-blue);
    font-size:.66rem;
    letter-spacing:.13em;
    text-transform:uppercase;
    text-decoration:none;
}
.mirage-la-table__section{
    width:min(1120px,92vw);
    margin:0 auto clamp(5rem,9vw,8rem);
}
.mirage-la-table__section-header{
    text-align:center;
    margin:0 auto 3rem;
}
.mirage-la-table__section-header>p{
    display:flex;
    align-items:center;
    gap:1.4rem;
    justify-content:center;
}
.mirage-la-table__section-header>p::before,
.mirage-la-table__section-header>p::after{
    content:"";
    height:1px;
    background:rgba(0,0,0,.14);
    width:min(160px,15vw);
}
.mirage-la-table__section-header h2{
    font-family:Georgia,serif;
    font-weight:400;
    font-size:clamp(2rem,4vw,3.2rem);
    margin:.4rem 0 .6rem;
}
.mirage-la-table__section-header span{
    font-family:Georgia,serif;
    font-style:italic;
    color:#666;
}
.mirage-la-table__grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:clamp(2rem,5vw,4rem);
}
.mirage-la-table__card-image{
    display:block;
    aspect-ratio:16/10;
    overflow:hidden;
}
.mirage-la-table__card-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.mirage-la-table__card-copy{
    padding-top:1.2rem;
}
.mirage-la-table__card h3{
    font-family:Georgia,serif;
    font-size:clamp(1.7rem,3vw,2.3rem);
    font-weight:400;
    margin:0 0 .6rem;
}
.mirage-la-table__recipes{
    border-top:1px solid rgba(0,0,0,.14);
    padding-top:clamp(3rem,6vw,5rem);
}
.mirage-la-table__recipe-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr)) auto;
    gap:1.5rem;
    align-items:end;
}
.mirage-la-table__recipe-image{
    display:block;
    width:100%;
    aspect-ratio:4/3;
    overflow:hidden;
}
.mirage-la-table__recipe-image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}
.mirage-la-table__recipe-image-placeholder{
    display:block;
    width:100%;
    height:100%;
    background:rgba(0,0,0,.035);
}
.mirage-la-table__recipe-card h3{
    font-family:Georgia,serif;
    font-size:1.35rem;
    font-weight:400;
    margin:.8rem 0 0;
}
.mirage-la-table__all-recipes{
    min-height:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    color:var(--mirage-blue);
    text-decoration:none;
    padding:1rem;
}
.mirage-la-table__all-recipes span{
    font-size:2.2rem;
    line-height:1;
    margin-bottom:.7rem;
}
.mirage-la-table__all-recipes small{
    font-size:.64rem;
    letter-spacing:.13em;
    text-transform:uppercase;
}
@media(max-width:800px){
    .mirage-la-table__featured{
        grid-template-columns:1fr;
    }
    .mirage-la-table__featured-image{
        min-height:0;
        aspect-ratio:16/10;
    }
    .mirage-la-table__grid{
        grid-template-columns:1fr;
    }
    .mirage-la-table__recipe-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .mirage-la-table__all-recipes{
        grid-column:1/-1;
        min-height:auto;
        padding-top:1.5rem;
    }
}
@media(max-width:520px){
    .mirage-la-table__recipe-grid{
        grid-template-columns:1fr;
    }
    .mirage-la-table__recipe-card h3{
        margin-top:.6rem;
    }
}


/* v0.8.0 — Recipe archive */
.mirage-recipe-archive{
    width:min(1120px,92vw);
    margin:0 auto;
    padding:clamp(2rem,5vw,5rem) 0 clamp(5rem,9vw,8rem);
}
.mirage-recipe-archive__intro{
    width:min(760px,88vw);
    margin:0 auto clamp(3rem,6vw,5rem);
    text-align:center;
}
.mirage-recipe-archive__eyebrow{
    color:#000058;
    font-size:.66rem;
    letter-spacing:.22em;
    text-transform:uppercase;
    margin:0 0 1rem;
}
.mirage-recipe-archive__intro h1{
    font-family:Georgia,serif;
    font-weight:400;
    font-size:clamp(2.7rem,6vw,5rem);
    line-height:1.02;
    margin:0 0 1rem;
}
.mirage-recipe-archive__intro>p:last-child{
    font-family:Georgia,serif;
    font-style:italic;
    font-size:clamp(1rem,1.8vw,1.2rem);
    color:#666;
    margin:0;
}
.mirage-recipe-archive__filters{
    border-top:1px solid rgba(0,0,0,.14);
    border-bottom:1px solid rgba(0,0,0,.14);
    padding:1.5rem 0;
    margin-bottom:clamp(3rem,6vw,5rem);
    display:grid;
    gap:1rem;
}
.mirage-recipe-archive__filter-group{
    display:flex;
    align-items:baseline;
    justify-content:center;
    gap:1.25rem;
    flex-wrap:wrap;
}
.mirage-recipe-archive__filter-label{
    color:#000058;
    font-size:.64rem;
    letter-spacing:.18em;
    text-transform:uppercase;
    font-weight:600;
}
.mirage-recipe-archive__filter-group nav{
    display:flex;
    justify-content:center;
    gap:.35rem 1.1rem;
    flex-wrap:wrap;
}
.mirage-recipe-archive__filter-group nav a{
    color:#555;
    text-decoration:none;
    font-size:.72rem;
    letter-spacing:.08em;
    text-transform:uppercase;
    padding:.2rem 0;
    border-bottom:1px solid transparent;
}
.mirage-recipe-archive__filter-group nav a:hover,
.mirage-recipe-archive__filter-group nav a.is-active{
    color:#000058;
    border-bottom-color:#000058;
}
.mirage-recipe-archive__grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:clamp(2rem,4vw,3.5rem);
}
.mirage-recipe-archive__image{
    display:block;
    aspect-ratio:4/3;
    overflow:hidden;
    background:#EEEFDF;
}
.mirage-recipe-archive__image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}
.mirage-recipe-archive__image--empty{
    background:#EEEFDF;
}
.mirage-recipe-archive__card-copy{
    padding-top:1rem;
}
.mirage-recipe-archive__card-meta{
    color:#000058;
    font-size:.62rem;
    letter-spacing:.16em;
    text-transform:uppercase;
    margin:0 0 .5rem;
}
.mirage-recipe-archive__card h2{
    font-family:Georgia,serif;
    font-size:clamp(1.55rem,2.5vw,2rem);
    font-weight:400;
    line-height:1.15;
    margin:0 0 .55rem;
}
.mirage-recipe-archive__card h2 a{
    color:inherit;
    text-decoration:none;
}
.mirage-recipe-archive__card-copy>p:last-child:not(.mirage-recipe-archive__card-meta){
    line-height:1.6;
    color:#555;
    margin:0;
}
.mirage-recipe-archive__empty{
    text-align:center;
    font-family:Georgia,serif;
    font-style:italic;
    color:#666;
    padding:3rem 0;
}
@media(max-width:800px){
    .mirage-recipe-archive__grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:520px){
    .mirage-recipe-archive__grid{grid-template-columns:1fr;}
    .mirage-recipe-archive__filter-group{align-items:center; flex-direction:column; gap:.6rem;}
}

/* Menu body inside the WordPress Editorial template */
.mirage-menu--body{
    width:min(900px,88vw);
    margin:0 auto;
    padding:0 0 clamp(4rem,8vw,7rem);
    background:transparent;
}
.mirage-menu--body .mirage-menu__body-description{
    max-width:760px;
    margin:0 auto clamp(2rem,4vw,4rem);
    text-align:center;
    font-family:Georgia,serif;
    font-style:italic;
    font-size:clamp(1.05rem,2vw,1.35rem);
    line-height:1.6;
}
.mirage-menu--body .mirage-menu__intro--body{
    max-width:760px;
    margin:0 auto clamp(4rem,8vw,6rem);
}
.mirage-menu--body .mirage-menu__items{
    width:100%;
}
.mirage-menu--body .mirage-menu__course{
    margin-bottom:clamp(4.5rem,8vw,7rem);
}


/* v0.7.2 — Editorial integration: full-bleed hero + fluid À la carte */
.mirage-menu--body{
    width:100%;
    max-width:none;
    margin:0;
}
.mirage-menu--body .mirage-menu__header--editorial {
    width:100vw;
    max-width:none;
    text-align:center;
    margin:0 0 clamp(2.5rem,5vw,4rem) 50%;
    transform:translateX(-50%);
    padding:clamp(2rem,4vw,3.5rem) 6vw 0;
    box-sizing:border-box;
}
.mirage-menu--body .mirage-menu__header--editorial h1 {
    margin:0 0 1rem;
}
.mirage-menu--body .mirage-menu__header--editorial p {
    margin:0;
    width:100%;
    max-width:none;
    text-align:center;
    font-style:italic;
}
.mirage-menu--body .mirage-menu__hero--editorial {
    width:100vw;
    max-width:none;
    margin:0 0 clamp(2.5rem,5vw,4rem) 50%;
    transform:translateX(-50%);
    overflow:hidden;
}
.mirage-menu--body .mirage-menu__hero--editorial img {
    display:block;
    width:100%;
    height:auto;
    max-height:none;
    object-fit:cover;
}
.mirage-menu--body .mirage-menu__intro--body{
    width:min(760px,88vw);
}
.mirage-menu--body .mirage-menu__items{
    width:min(900px,88vw);
}

/* À la carte: the grid follows the number of recipes instead of reserving empty columns. */
.mirage-la-table__recipe-grid{
    grid-template-columns:repeat(var(--mirage-recipe-count, 1),minmax(0,1fr));
}
.mirage-la-table__recipe-grid .mirage-la-table__all-recipes{
    grid-column:1 / -1;
    min-height:auto;
    justify-self:center;
    padding:1.8rem 1rem 0;
    flex-direction:row;
    gap:.8rem;
}
.mirage-la-table__recipe-grid .mirage-la-table__all-recipes span{
    margin:0;
}
@media(max-width:800px){
    .mirage-la-table__recipe-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:520px){
    .mirage-la-table__recipe-grid{
        grid-template-columns:1fr;
    }
}


/* v0.9.2 — Couchgating overview */
.mirage-couchgating{
    --mirage-creme:#FAF9F7;
    --mirage-blue:#000058;
    color:#222;
    background:var(--mirage-creme);
    padding:0 0 clamp(4rem,8vw,8rem);
}
.mirage-couchgating__hero{
    width:100vw;
    margin:0 0 clamp(3rem,6vw,5rem) 50%;
    transform:translateX(-50%);
    max-height:min(58vw,680px);
    overflow:hidden;
}
.mirage-couchgating__hero img{
    display:block;
    width:100%;
    height:100%;
    max-height:min(58vw,680px);
    object-fit:cover;
}
.mirage-couchgating__intro{
    width:min(760px,88vw);
    margin:0 auto clamp(4rem,8vw,7rem);
    text-align:center;
}
.mirage-couchgating__eyebrow,
.mirage-couchgating__card-eyebrow,
.mirage-couchgating__section-header>p{
    color:var(--mirage-blue);
    font-size:.68rem;
    letter-spacing:.23em;
    text-transform:uppercase;
    margin:0 0 1.2rem;
}
.mirage-couchgating__intro h2{
    font-family:Georgia,serif;
    font-weight:400;
    font-size:clamp(2.7rem,6vw,5rem);
    line-height:1.02;
    margin:0 0 1.2rem;
}
.mirage-couchgating__intro>p:last-child{
    font-family:Georgia,serif;
    font-size:clamp(1rem,1.8vw,1.2rem);
    line-height:1.65;
    max-width:680px;
    margin:0 auto;
}
.mirage-couchgating__featured{
    width:min(1120px,92vw);
    margin:0 auto clamp(5rem,9vw,8rem);
    display:grid;
    grid-template-columns:1.35fr 1fr;
    background:#EEEFDF;
}
.mirage-couchgating__featured-image{
    display:block;
    min-height:420px;
    overflow:hidden;
}
.mirage-couchgating__featured-image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}
.mirage-couchgating__featured-copy{
    padding:clamp(2rem,5vw,4rem);
    align-self:center;
}
.mirage-couchgating__featured-copy h3,
.mirage-couchgating__card h3{
    font-family:Georgia,serif;
    font-weight:400;
    line-height:1.08;
    margin:0 0 1rem;
}
.mirage-couchgating__featured-copy h3{
    font-size:clamp(2rem,4vw,3.2rem);
}
.mirage-couchgating__featured-copy h3 a,
.mirage-couchgating__card h3 a{
    color:inherit;
    text-decoration:none;
}
.mirage-couchgating__lead{
    font-family:Georgia,serif;
    font-style:italic;
    font-size:1.15rem;
    line-height:1.5;
    margin:0 0 1rem;
}
.mirage-couchgating__excerpt,
.mirage-couchgating__card-copy p{
    line-height:1.65;
}
.mirage-couchgating__link{
    display:inline-block;
    margin-top:1rem;
    color:var(--mirage-blue);
    font-size:.66rem;
    letter-spacing:.13em;
    text-transform:uppercase;
    text-decoration:none;
}
.mirage-couchgating__section{
    width:min(1120px,92vw);
    margin:0 auto clamp(4rem,8vw,7rem);
}
.mirage-couchgating__section-header{
    text-align:center;
    margin:0 auto 3rem;
}
.mirage-couchgating__section-header>p{
    display:flex;
    align-items:center;
    gap:1.4rem;
    justify-content:center;
}
.mirage-couchgating__section-header>p::before,
.mirage-couchgating__section-header>p::after{
    content:"";
    height:1px;
    background:rgba(0,0,0,.14);
    width:min(160px,15vw);
}
.mirage-couchgating__section-header h2{
    font-family:Georgia,serif;
    font-weight:400;
    font-size:clamp(2rem,4vw,3.2rem);
    margin:.4rem 0 .6rem;
}
.mirage-couchgating__section-header span{
    font-family:Georgia,serif;
    font-style:italic;
    color:#666;
}
.mirage-couchgating__grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:clamp(2rem,5vw,4rem);
}
.mirage-couchgating__card-image{
    display:block;
    aspect-ratio:16/10;
    overflow:hidden;
}
.mirage-couchgating__card-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.mirage-couchgating__card-copy{
    padding-top:1.2rem;
}
.mirage-couchgating__card h3{
    font-size:clamp(1.7rem,3vw,2.3rem);
}
.mirage-couchgating__etymology{
    width:min(760px,88vw);
    margin:0 auto;
    border-top:1px solid rgba(0,0,0,.14);
    border-bottom:1px solid rgba(0,0,0,.14);
    padding:1.15rem 0;
}
.mirage-couchgating__etymology summary{
    cursor:pointer;
    color:var(--mirage-blue);
    font-size:.68rem;
    letter-spacing:.2em;
    text-transform:uppercase;
    list-style:none;
    text-align:center;
}
.mirage-couchgating__etymology summary::-webkit-details-marker{display:none;}
.mirage-couchgating__etymology summary::after{
    content:' +';
}
.mirage-couchgating__etymology[open] summary::after{
    content:' −';
}
.mirage-couchgating__etymology>div{
    max-width:650px;
    margin:1.3rem auto .3rem;
    line-height:1.7;
    text-align:center;
    color:#555;
}
@media(max-width:800px){
    .mirage-couchgating__featured{grid-template-columns:1fr;}
    .mirage-couchgating__featured-image{min-height:0;aspect-ratio:16/10;}
    .mirage-couchgating__grid{grid-template-columns:1fr;}
}
@media(max-width:520px){
    .mirage-couchgating__hero{max-height:360px;}
    .mirage-couchgating__hero img{max-height:360px;}
}
