:root{
 --green:#0F5132;--green-dark:#083B25;--tomato:#E0503D;--tomato-dark:#C83C2B;
 --orange:#F59E0B;--cream:#FFF7ED;--light-green:#D8EBD7;--dark:#1F2937;
 --muted:#68736D;--white:#fff;--border:rgba(15,81,50,.10);
 --shadow:0 18px 48px rgba(35,50,42,.09);--radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fffdfa;color:var(--dark);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}
body.admin-bar .site-header{top:32px}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
button,input{font:inherit}
button{cursor:pointer}
.container{width:min(1280px,calc(100% - 48px));margin-inline:auto}
.section{padding:64px 0}
.svg-icon{width:1em;height:1em;display:block}
.screen-reader-text{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}

/* Header */
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(15,81,50,.08);backdrop-filter:blur(12px)}
.site-header__inner{min-height:84px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:34px}
.brand{display:flex;align-items:center;gap:10px;color:var(--green-dark);white-space:nowrap}
.brand__mark{width:48px;height:43px;object-fit:contain}
.brand__text{display:flex;flex-direction:column;line-height:1}
.brand__text strong{font-size:25px;font-weight:900;letter-spacing:-1px}
.brand__text strong em{color:var(--tomato);font-style:normal}
.brand__text small{margin-top:6px;font-size:11px;font-weight:700;color:#33443b}
.main-navigation{display:flex;justify-content:center}
.main-navigation ul{display:flex;align-items:center;gap:27px;list-style:none;padding:0;margin:0}
.main-navigation a{position:relative;font-size:14px;font-weight:750}
.main-navigation a:after{content:"";position:absolute;left:0;right:100%;bottom:-9px;height:2px;background:var(--tomato);transition:.2s ease}
.main-navigation a:hover:after{right:0}
.header-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:50%}
.header-icon:hover{background:var(--cream)}
.header-icon .svg-icon{width:20px;height:20px}
.menu-toggle{display:none;border:0;background:transparent;width:44px;height:44px;padding:9px}
.menu-toggle>span:not(.screen-reader-text){display:block;height:2px;margin:5px 0;background:var(--green-dark)}

/* Hero */
.hero{background:linear-gradient(90deg,#fff8ee 0 51%,#ead4b8 51% 100%)}
.hero__grid{display:grid;grid-template-columns:1fr 1fr;min-height:510px}
.hero__content{display:flex;flex-direction:column;justify-content:center;padding:65px 48px 65px 0}
.eyebrow{font-size:11px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;color:var(--green-dark)}
.hero h1{margin:13px 0 14px;font-size:clamp(58px,6.5vw,88px);line-height:.9;letter-spacing:-4px;color:var(--green-dark)}
.hero h1 span{color:var(--tomato)}
.hero__content>p{margin:0 0 25px;max-width:680px;font-size:22px;color:#283b32}
.hero__content>p strong{color:var(--tomato)}
.hero-search{height:60px;display:flex;align-items:center;gap:10px;padding:6px 6px 6px 18px;background:#fff;border:1px solid rgba(15,81,50,.08);border-radius:999px;box-shadow:var(--shadow)}
.hero-search__icon{color:var(--green);font-size:22px}
.hero-search__icon .svg-icon{width:22px;height:22px}
.hero-search input{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;color:var(--dark)}
.hero-search button{height:48px;padding:0 28px;border:0;border-radius:999px;background:var(--tomato);color:#fff;font-weight:800}
.hero-search button:hover{background:var(--tomato-dark)}
.quick-pills{display:flex;gap:9px;flex-wrap:wrap;margin-top:15px}
.quick-pills a{padding:8px 14px;border:1px solid var(--border);border-radius:999px;background:#fff;font-size:12px;font-weight:750}
.quick-pills a:hover{background:var(--green);color:#fff}
.hero__media{position:relative;overflow:hidden;min-height:510px}
.hero__media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,248,238,.12),transparent 35%,rgba(0,0,0,.06))}
.hero-handwritten{position:absolute;top:80px;right:90px;margin:0;color:#fff;font:italic 24px Georgia,serif;line-height:1.2;text-shadow:0 2px 10px rgba(0,0,0,.25);transform:rotate(-6deg)}
.hero-badge{position:absolute;right:30px;bottom:30px;padding:17px 22px;border-radius:20px;background:var(--green);color:#fff;font-size:12px;font-weight:850;text-align:center;transform:rotate(-4deg)}

/* Categories */
.category-strip{background:#fff;border-bottom:1px solid rgba(15,81,50,.06)}
.category-grid{display:grid;grid-template-columns:repeat(8,1fr)}
.category-grid a{min-height:124px;padding:18px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center;border-right:1px solid rgba(15,81,50,.07)}
.category-grid a:first-child{border-left:1px solid rgba(15,81,50,.07)}
.category-grid a:hover{background:var(--cream)}
.category-grid strong{font-size:12px;line-height:1.2}
.category-icon{color:var(--green)}
.category-icon--orange{color:var(--orange)}
.category-icon--tomato{color:var(--tomato)}
.category-icon .svg-icon{width:30px;height:30px}

/* Fridge */
/* Espacement entre les catégories et le bloc frigo */
.fridge-section {
    padding: 25px 0 30px;
}

/* Évite un espace supplémentaire sous les catégories */
.category-strip {
    margin-bottom: 0;
}

/* Bloc frigo */
.fridge-box {
    margin-top: 0;
}
.fridge-box{display:grid;grid-template-columns:285px 1fr;gap:20px 35px;padding:30px 32px;border-radius:22px;background:linear-gradient(105deg,#f4faef,#eef7e9);border:1px solid rgba(15,81,50,.06)}
.fridge-box__intro{grid-row:span 2;display:flex;gap:15px}
.fridge-icon{width:54px;height:64px;flex:0 0 54px;display:grid;place-items:center;border-radius:12px;background:var(--green);color:#fff}
.fridge-icon .svg-icon{width:30px;height:30px}
.fridge-box h2{margin:0 0 8px;font-size:28px;line-height:1.05;color:var(--green-dark);letter-spacing:-1px}
.fridge-box p{margin:0;font-size:13px}
.ingredient-picker{display:grid;grid-template-columns:repeat(8,minmax(70px,1fr));gap:10px}
.ingredient-picker button{min-height:83px;padding:7px 5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:2px solid transparent;border-radius:12px;background:#fff;color:#222;font-size:10px;font-weight:800;transition:.18s ease}
.ingredient-picker button .svg-icon{width:37px;height:37px}
.ingredient-picker button:hover,.ingredient-picker button.is-selected{transform:translateY(-2px);border-color:var(--green);box-shadow:0 8px 20px rgba(15,81,50,.08)}
.ingredient-picker button.is-selected{background:#edf8e9}
.fridge-box__actions{display:flex;justify-content:space-between;align-items:center;gap:15px}
.more-ingredients,.find-recipes{min-height:43px;border:0;border-radius:999px;font-weight:800}
.more-ingredients{padding:0 17px;background:#fff;color:var(--green)}
.find-recipes{display:flex;align-items:center;gap:9px;padding:0 23px;background:var(--green);color:#fff}
.find-recipes .svg-icon{width:18px;height:18px}
.find-recipes:hover{background:var(--green-dark)}

/* Sections */
.section-heading{margin-bottom:24px;display:flex;justify-content:space-between;align-items:end;gap:18px}
.section-heading h2,.page-intro h1{margin:0;font-size:clamp(32px,4vw,43px);line-height:1;letter-spacing:-1.7px;color:var(--green-dark)}
.section-heading h2 span,.page-intro h1 span{color:var(--tomato)}
.section-heading>a{color:var(--tomato);font-size:12px;font-weight:850}
.recipe-grid{display:grid;gap:18px}
.recipe-grid--4{grid-template-columns:repeat(4,1fr)}
.recipe-grid--5{grid-template-columns:repeat(5,1fr);gap:15px}
.recipe-card{overflow:hidden;border:1px solid rgba(15,81,50,.07);border-radius:16px;background:#fff;box-shadow:0 11px 30px rgba(35,50,42,.055);transition:.2s ease}
.recipe-card:hover{transform:translateY(-4px);box-shadow:0 17px 36px rgba(35,50,42,.1)}
.recipe-card__image-wrap{position:relative;display:block;aspect-ratio:1.42;overflow:hidden;background:#eee}
.recipe-card__image{width:100%;height:100%;object-fit:cover;transition:.35s ease}
.recipe-card:hover .recipe-card__image{transform:scale(1.04)}
.recipe-card__heart{position:absolute;right:11px;top:11px;width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.92);color:var(--green-dark);box-shadow:0 4px 15px rgba(0,0,0,.09)}
.recipe-card__heart .svg-icon{width:19px;height:19px}
.recipe-card__content{padding:15px}
.recipe-card h3{margin:0 0 12px;min-height:45px;font-size:16px;line-height:1.25}
.recipe-grid--5 .recipe-card h3{font-size:13px;min-height:40px}
.recipe-card__meta{display:flex;flex-wrap:wrap;gap:7px 12px;color:#56625c;font-size:10px}
.recipe-card__meta span{display:flex;align-items:center;gap:4px}
.recipe-card__meta .svg-icon{width:13px;height:13px;color:var(--green)}
.servings-dot:before{content:"•";color:var(--tomato);font-size:14px}
.recipe-card__tag{display:inline-block;margin-top:10px;padding:5px 9px;border-radius:999px;background:var(--light-green);color:var(--green);font-size:9px;font-weight:850}
.latest-section{padding-top:58px}

/* Benefits */
.benefits-section{margin-top:18px;background:linear-gradient(90deg,#fff8ee,#ffe0da,#fff8ee)}
.benefits-inner{min-height:152px;display:grid;grid-template-columns:1.7fr repeat(4,1fr);align-items:center;gap:25px}
.benefits-slogan{color:var(--tomato);font:italic 25px Georgia,serif;line-height:1.15}
.benefit{display:flex;align-items:center;gap:10px}
.benefit>span{color:var(--tomato)}
.benefit>span .svg-icon{width:28px;height:28px}
.benefit strong{font-size:11px;line-height:1.25}

/* Newsletter */
.newsletter-section{padding:34px 0;background:linear-gradient(90deg,#f0f7e9,#f8fbf4)}
.newsletter{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.newsletter__copy{display:flex;gap:15px;align-items:center}
.newsletter__copy>span{color:var(--green)}
.newsletter__copy .svg-icon{width:31px;height:31px}
.newsletter h2{margin:0 0 4px;font-size:19px}
.newsletter p{margin:0;font-size:11px;color:var(--muted)}
.newsletter__form{height:53px;display:flex;padding:5px;background:#fff;border:1px solid var(--border);border-radius:999px}
.newsletter__form input{min-width:0;flex:1;border:0;outline:0;padding:0 18px;background:transparent}
.newsletter__form button{padding:0 25px;border:0;border-radius:999px;background:var(--tomato);color:#fff;font-weight:850}
.newsletter__form button:hover{background:var(--tomato-dark)}

/* Footer */
.site-footer{padding-top:52px;background:var(--green-dark)!important;color:#fff!important}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr .7fr;gap:45px;padding-bottom:42px}
.brand--footer{color:#fff}
.brand--footer .brand__text small{color:rgba(255,255,255,.72)}
.footer-copy{max-width:300px;color:rgba(255,255,255,.68);font-size:12px}
.site-footer h3{margin:0 0 14px;color:#fff;font-size:14px}
.footer-links{display:flex;flex-direction:column;gap:8px}
.footer-links a,.footer-links span{font-size:12px;color:rgba(255,255,255,.72)}
.footer-links a:hover{color:#fff}
.social-links{display:flex;gap:8px}
.social-links a{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--green-dark);font-size:12px;font-weight:900}
.footer-bottom{padding:16px 0;border-top:1px solid rgba(255,255,255,.11);color:rgba(255,255,255,.62);font-size:11px}

/* Inner pages */
.page-intro{max-width:760px;margin-bottom:34px}
.page-intro p{color:var(--muted)}
.generic-page{min-height:55vh}
.generic-card,.empty-state{padding:30px;border:1px solid var(--border);border-radius:var(--radius);background:#fff}
.empty-state{grid-column:1/-1;text-align:center}
.pagination-wrap{margin-top:40px}
.single-recipe{padding:35px 0 75px}
.recipe-breadcrumb{display:flex;gap:8px;margin-bottom:24px;color:var(--muted);font-size:12px}
.recipe-hero{display:grid;grid-template-columns:1fr .85fr;align-items:center;gap:44px;margin-bottom:48px}
.recipe-hero h1{margin:10px 0 15px;font-size:clamp(42px,5vw,67px);line-height:.97;letter-spacing:-2.5px;color:var(--green-dark)}
.recipe-hero__content>p{font-size:17px;color:var(--muted)}
.recipe-hero__image img{width:100%;aspect-ratio:1.35;object-fit:cover;border-radius:27px;box-shadow:var(--shadow)}
.recipe-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:28px}
.recipe-facts div{padding:14px 9px;display:grid;justify-items:center;gap:3px;border-radius:13px;background:var(--cream)}
.recipe-facts .svg-icon{width:23px;height:23px;color:var(--tomato)}
.recipe-facts strong{font-size:12px;color:var(--green-dark)}
.recipe-facts small{font-size:9px;color:var(--muted)}
.recipe-layout{display:grid;grid-template-columns:1fr 300px;gap:34px;align-items:start}
.recipe-block{padding:28px;border:1px solid var(--border);border-radius:20px;background:#fff}
.recipe-block h2{margin-top:0;color:var(--green)}
.sidebar-card{position:sticky;top:115px;padding:23px;border-radius:19px;background:var(--green);color:#fff}
.sidebar-card h3{margin-top:0}
.sidebar-card ul{list-style:none;padding:0;margin:0 0 19px}
.sidebar-card li{padding:10px 0;display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.15);font-size:12px}
.sidebar-card button{width:100%;padding:11px;border:0;border-radius:999px;background:#fff;color:var(--green);font-weight:850}

/* responsive */
@media(max-width:1100px){
 .main-navigation ul{gap:16px}.main-navigation a{font-size:12px}
 .category-grid{grid-template-columns:repeat(4,1fr)}
 .fridge-box{grid-template-columns:1fr}.fridge-box__intro{grid-row:auto}
 .ingredient-picker{grid-template-columns:repeat(4,1fr)}
 .recipe-grid--5{grid-template-columns:repeat(3,1fr)}
 .benefits-inner{grid-template-columns:1.4fr repeat(2,1fr);padding:24px 0}
 .footer-grid{grid-template-columns:1.4fr 1fr 1fr}
}
@media(max-width:860px){
 body.admin-bar .site-header{top:46px}
 .container{width:min(100% - 30px,1280px)}
 .site-header__inner{grid-template-columns:auto 1fr auto;min-height:72px}
 .header-actions{display:none}
 .menu-toggle{display:block;justify-self:end}
 .main-navigation{display:none;position:absolute;left:0;right:0;top:100%;padding:12px 20px 22px;background:#fff;border-top:1px solid var(--border);box-shadow:0 20px 35px rgba(0,0,0,.08)}
 .main-navigation.is-open{display:block}
 .main-navigation ul{display:grid;gap:0}
 .main-navigation a{display:block;padding:10px 0;font-size:14px}
 .hero{background:#fff8ee}
 .hero__grid{grid-template-columns:1fr}
 .hero__content{padding:55px 0 30px}
 .hero__media{min-height:390px;border-radius:22px;margin-bottom:20px;width:100%!important;}
 .hero-search{max-width:720px}
 .category-grid{grid-template-columns:repeat(4,1fr)}
 .recipe-grid--4{grid-template-columns:repeat(2,1fr)}
 .newsletter{grid-template-columns:1fr;gap:18px}
 .footer-grid{grid-template-columns:1fr 1fr}
 .recipe-hero,.recipe-layout{grid-template-columns:1fr}
 .recipe-hero__image{order:-1}
 .sidebar-card{position:static}
}
@media(max-width:600px){
 .section{padding:46px 0}
 .brand__mark{width:39px;height:36px}.brand__text strong{font-size:20px}.brand__text small{display:none}
 .hero h1{font-size:clamp(53px,16vw,74px)}
 .hero__content>p{font-size:18px}
 .hero-search{height:auto;padding:7px;display:grid;grid-template-columns:auto 1fr;border-radius:18px}
 .hero-search input{height:45px}.hero-search button{grid-column:1/-1;width:100%;height:46px}
 .hero__media{min-height:310px;width:100%!important;}.hero-handwritten{right:20px;top:35px;font-size:18px}.hero-badge{right:15px;bottom:15px}
 .category-grid{grid-template-columns:repeat(2,1fr)}
 .category-grid a{min-height:105px;border-bottom:1px solid rgba(15,81,50,.07)}
 .fridge-box{padding:22px 17px}.ingredient-picker{grid-template-columns:repeat(2,1fr)}
 .fridge-box__actions{flex-direction:column}.more-ingredients,.find-recipes{width:100%;justify-content:center}
 .section-heading{align-items:flex-start;flex-direction:column}
 .recipe-grid--4,.recipe-grid--5{grid-template-columns:1fr}
 .recipe-card__image-wrap{aspect-ratio:1.6}
 .recipe-card h3,.recipe-grid--5 .recipe-card h3{min-height:0;font-size:16px}
 .benefits-inner{grid-template-columns:1fr 1fr;gap:20px}.benefits-slogan{grid-column:1/-1}
 .benefit{flex-direction:column;align-items:flex-start}
 .newsletter__form{height:auto;padding:0;display:grid;gap:8px;background:transparent;border:0}
 .newsletter__form input,.newsletter__form button{height:49px;border-radius:999px}.newsletter__form input{background:#fff;border:1px solid var(--border)}
 .footer-grid{grid-template-columns:1fr}
 .recipe-facts{grid-template-columns:repeat(2,1fr)}
}
@media print{.site-header,.site-footer,.recipe-breadcrumb,.recipe-sidebar,.newsletter-section{display:none!important}}
.brand__mark {
    width: 240px;
    height: auto;
    max-width: 100%;
    object-fit: contain;
    display: block;
}

@media (max-width: 860px) {
    .brand__mark {
        width: 180px;
    }
}

@media (max-width: 600px) {
    .brand__mark {
        width: 145px;
    }
}
/* Logo Ach Naklo */
.brand img {
    width: 250px;
    height: auto;
    max-width: 100%;
    display: block;
    object-fit: contain;
}

/* Tablette */
@media (max-width: 860px) {
    .brand img {
        width: 180px;
    }
}

/* Mobile */
@media (max-width: 600px) {
    .brand img {
        width: 145px;
    }
}

/* Supprimer l'espace près de l'image du hero */
.hero__grid {
    gap: 0;
}

.hero__media {
    min-height: 510px;
    width: calc(100% + 120px);
    overflow: hidden;
}

.hero__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}
/* Bouton Trouver des recettes */
.find-recipes {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    min-height: 46px;
    padding: 0 24px;

    background: #0F5132 !important;
    color: #ffffff !important;

    border: none;
    border-radius: 50px;

    font-size: 14px;
    font-weight: 700;

    cursor: pointer;
    transition: all 0.2s ease;
}

/* Icône recherche */
.find-recipes img {
    width: 18px;
    height: 18px;

    filter: brightness(0) invert(1);
}

/* Hover */
.find-recipes:hover {
    background: #083B25 !important;
    transform: translateY(-1px);
}

/* Mobile */
@media (max-width: 600px) {
    .find-recipes {
        width: 100%;
    }
}

/* Newsletter */
.newsletter__form {
    display: flex;
    align-items: center;
    gap: 10px;

    width: 100%;
    max-width: 650px;
}

.newsletter__form input {
    flex: 1;
    min-width: 0;

    height: 54px;
    padding: 0 22px;

    border: 1px solid rgba(15, 81, 50, 0.10);
    border-radius: 50px;

    background: #ffffff;

    outline: none;
}

.newsletter__form button {
    flex: 0 0 auto;

    height: 54px;
    padding: 0 26px;

    border: none;
    border-radius: 50px;

    background: #E0503D !important;
    color: #ffffff !important;

    font-size: 14px;
    font-weight: 700;

    cursor: pointer;
}

.newsletter__form button:hover {
    background: #C83C2B !important;
}

@media (max-width: 600px) {
    .newsletter__form {
        flex-direction: column;
    }

    .newsletter__form input,
    .newsletter__form button {
        width: 100%;
    }
}
/* =========================
   FOOTER ACH NAKLO
========================= */

.site-footer {
    background: #083B25 !important;
    color: #ffffff !important;
    padding-top: 50px;
}

.site-footer,
.site-footer p,
.site-footer span,
.site-footer li,
.site-footer h2,
.site-footer h3,
.site-footer h4 {
    color: #ffffff !important;
}

.site-footer a {
    color: rgba(255, 255, 255, 0.85) !important;
    text-decoration: none;
}

.site-footer a:hover {
    color: #ffffff !important;
}

/* Logo dans le footer */
.site-footer .brand img {
    max-width: 220px;
    height: auto;
}

/* Colonnes */
.footer-grid {
    padding-bottom: 40px;
}

/* Texte secondaire */
.footer-copy {
    color: rgba(255, 255, 255, 0.70) !important;
}

/* Liens */
.footer-links {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.footer-links span,
.footer-links a {
    color: rgba(255, 255, 255, 0.75) !important;
}

/* Réseaux sociaux */
.social-links a {
    width: 38px;
    height: 38px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    background: #ffffff !important;
    color: #083B25 !important;

    border-radius: 50%;
}

/* Barre du bas */
.footer-bottom {
    padding: 18px 0;

    border-top: 1px solid rgba(255, 255, 255, 0.12);

    background: #062E1D !important;

    color: rgba(255, 255, 255, 0.70) !important;
}
/* Réseaux sociaux footer */

.social-links {
    display: flex;
    align-items: center;
    gap: 12px;
}

.social-links a {
    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #ffffff !important;
    color: #0F5132 !important;

    border-radius: 50%;

    font-size: 20px;

    transition: all 0.2s ease;
}

.social-links a:hover {
    background: #E0503D !important;
    color: #ffffff !important;

    transform: translateY(-3px);
}

.social-links i {
    line-height: 1;
}

/* =========================
   FINITIONS ACH NAKLO
========================= */

/* Garder la partie droite de l'image du hero visible */
.hero__media img {
    object-position: center right;
}

/* Titres cartes */
.recipe-card h3 {
    font-size: 16px;
    line-height: 1.35;
    font-weight: 750;
}

/* Dernières recettes */
.recipe-grid--5 .recipe-card h3 {
    font-size: 14px;
    line-height: 1.35;
}

/* Infos sous les recettes */
.recipe-card__meta {
    font-size: 11px;
    gap: 7px 12px;
}

/* Liens "Voir toutes..." */
.section-heading > a {
    font-size: 13px;
    font-weight: 700;
    color: #E0503D;
}

.section-heading > a:hover {
    color: #0F5132;
}

/* Un peu moins d'espace vertical */
.recipes-section {
    padding-top: 55px;
    padding-bottom: 55px;
}

.benefits-section {
    margin-top: 0;
}

/* Mobile */
@media (max-width: 600px) {

    .recipe-card h3,
    .recipe-grid--5 .recipe-card h3 {
        font-size: 16px;
    }

    .recipe-card__meta {
        font-size: 11px;
    }
}
/* Icône menu mobile */
@media (max-width: 860px) {

    .menu-toggle {
        display: flex !important;
        flex-direction: column;
        align-items: center;
        justify-content: center;

        width: 44px;
        height: 44px;

        padding: 8px;
        margin-left: auto;

        border: 0;
        background: transparent;

        cursor: pointer;
        z-index: 1001;
    }

    .menu-toggle > span:not(.screen-reader-text) {
        display: block !important;

        width: 24px;
        height: 3px;

        margin: 3px 0;

        background: #0F5132 !important;

        border-radius: 10px;
    }
}

/* =========================================================
   ACH NAKLO - PAGE DETAIL RECETTE
========================================================= */

.single-recipe {
    padding: 35px 0 80px;
}


/* =========================================================
   BREADCRUMB
========================================================= */

.recipe-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;

    margin-bottom: 30px;

    color: #7a817d;

    font-size: 12px;
}

.recipe-breadcrumb a {
    color: #4d5a53;
}

.recipe-breadcrumb a:hover {
    color: #e0503d;
}


/* =========================================================
   HERO RECETTE
========================================================= */

.recipe-hero {
    display: grid;
    grid-template-columns: 1fr 1fr;

    gap: 50px;

    align-items: center;

    margin-bottom: 38px;
}


.recipe-category {
    display: inline-flex;

    margin-bottom: 15px;

    padding: 7px 13px;

    border-radius: 50px;

    background: #d8ebd7;

    color: #0f5132;

    font-size: 11px;

    font-weight: 800;

    text-transform: uppercase;

    letter-spacing: 0.05em;
}


.recipe-hero h1 {
    margin: 0 0 20px;

    max-width: 650px;

    color: #083b25;

    font-size: clamp(45px, 5vw, 70px);

    line-height: 0.98;

    letter-spacing: -3px;
}


.recipe-intro {
    max-width: 640px;

    margin: 0 0 28px;

    color: #68736d;

    font-size: 17px;

    line-height: 1.6;
}


.recipe-hero__image {
    overflow: hidden;

    border-radius: 28px;
}


.recipe-main-image {
    width: 100%;

    height: 100%;

    aspect-ratio: 1.35;

    display: block;

    object-fit: cover;

    border-radius: 28px;

    box-shadow: 0 20px 50px rgba(35, 50, 42, 0.12);
}


/* =========================================================
   INFOS PRINCIPALES
========================================================= */

.recipe-facts {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 10px;

    margin-top: 26px;
}


.recipe-facts > div {
    min-height: 92px;

    padding: 15px 10px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    text-align: center;

    background: #fff7ed;

    border-radius: 14px;
}


.recipe-facts .svg-icon {
    width: 23px;

    height: 23px;

    margin-bottom: 6px;

    color: #e0503d;
}


.recipe-facts strong {
    color: #083b25;

    font-size: 13px;

    font-weight: 800;
}


.recipe-facts small {
    margin-top: 3px;

    color: #78827d;

    font-size: 9px;
}


/* =========================================================
   BOUTONS
========================================================= */

.recipe-actions {
    display: flex;

    flex-wrap: wrap;

    gap: 10px;

    margin-top: 22px;
}


.recipe-actions button {
    min-height: 45px;

    padding: 0 20px;

    border: 0;

    border-radius: 50px;

    background: #0f5132;

    color: #ffffff;

    font-size: 13px;

    font-weight: 700;

    cursor: pointer;

    transition: 0.2s ease;
}


.recipe-actions button:hover {
    background: #083b25;

    transform: translateY(-1px);
}


.recipe-actions .favorite-button {
    background: #ffffff;

    color: #0f5132;

    border: 1px solid rgba(15, 81, 50, 0.15);
}


.recipe-actions .favorite-button:hover {
    background: #f4faef;
}


/* =========================================================
   RESUME
========================================================= */

.recipe-summary {
    display: grid;

    grid-template-columns: repeat(5, 1fr);

    gap: 1px;

    margin: 35px 0 55px;

    overflow: hidden;

    background: rgba(15, 81, 50, 0.08);

    border-radius: 18px;
}


.recipe-summary > div {
    min-height: 78px;

    padding: 16px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    text-align: center;

    background: #ffffff;
}


.recipe-summary span {
    color: #7a817d;

    font-size: 10px;

    text-transform: uppercase;

    letter-spacing: 0.05em;
}


.recipe-summary strong {
    margin-top: 5px;

    color: #083b25;

    font-size: 13px;
}


/* =========================================================
   GRILLE INGREDIENTS + BUDGET
========================================================= */

.recipe-content-grid {
    display: grid;

    grid-template-columns: minmax(0, 1fr) 260px;

    gap: 30px;

    align-items: start;

    margin-bottom: 70px;
}


.recipe-panel {
    padding: 30px;

    background: #ffffff;

    border: 1px solid rgba(15, 81, 50, 0.08);

    border-radius: 22px;

    box-shadow: 0 12px 35px rgba(35, 50, 42, 0.05);
}


.recipe-panel__title {
    display: flex;

    align-items: flex-start;

    justify-content: space-between;

    gap: 20px;

    margin-bottom: 25px;
}


.recipe-panel__small {
    color: #e0503d;

    font-size: 10px;

    font-weight: 800;

    text-transform: uppercase;

    letter-spacing: 0.05em;
}


.recipe-panel h2 {
    margin: 5px 0 0;

    color: #083b25;

    font-size: 32px;

    letter-spacing: -1px;
}


/* Portions */

.portion-selector {
    display: flex;

    align-items: center;

    gap: 7px;
}


.portion-selector > span {
    margin-right: 5px;

    color: #78827d;

    font-size: 11px;
}


.portion-selector button {
    width: 36px;

    height: 36px;

    display: grid;

    place-items: center;

    border: 1px solid rgba(15, 81, 50, 0.12);

    border-radius: 50%;

    background: #ffffff;

    color: #0f5132;

    font-weight: 800;

    cursor: pointer;
}


.portion-selector button.is-active {
    background: #0f5132;

    color: #ffffff;
}


/* =========================================================
   INGREDIENTS
========================================================= */

.ingredients-list {
    margin: 0;

    padding: 0;

    list-style: none;
}


.ingredients-list li {
    min-height: 50px;

    display: grid;

    grid-template-columns: 28px 1fr auto;

    gap: 10px;

    align-items: center;

    border-bottom: 1px solid rgba(15, 81, 50, 0.08);
}


.ingredients-list li:last-child {
    border-bottom: 0;
}


.ingredient-check {
    width: 22px;

    height: 22px;

    display: grid;

    place-items: center;

    border-radius: 50%;

    background: #d8ebd7;

    color: #0f5132;

    font-size: 11px;

    font-weight: 900;
}


.ingredient-name {
    color: #2f3b35;

    font-size: 13px;
}


.ingredients-list strong {
    color: #083b25;

    font-size: 12px;

    white-space: nowrap;
}


/* =========================================================
   BUDGET
========================================================= */

.recipe-budget-card {
    padding: 30px 20px;

    text-align: center;

    background: linear-gradient(
        160deg,
        #fff7ed,
        #fff0e6
    );

    border-radius: 22px;

    border: 1px solid rgba(224, 80, 61, 0.08);
}


.recipe-budget-icon {
    width: 58px;

    height: 58px;

    margin: 0 auto;

    display: grid;

    place-items: center;

    border-radius: 50%;

    background: #ffffff;

    color: #e0503d;
}


.recipe-budget-icon .svg-icon {
    width: 28px;

    height: 28px;
}


.recipe-budget-card p {
    margin: 16px 0 6px;

    color: #78827d;

    font-size: 11px;

    text-transform: uppercase;
}


.recipe-budget-card strong {
    display: block;

    color: #e0503d;

    font-size: 30px;

    line-height: 1;
}


.recipe-budget-card small {
    display: block;

    margin-top: 7px;

    color: #78827d;

    font-size: 11px;
}


/* =========================================================
   PREPARATION
========================================================= */

.recipe-preparation {
    margin-bottom: 60px;
}


.recipe-heading {
    margin-bottom: 28px;
}


.recipe-heading h2 {
    margin-top: 6px;
}


.recipe-steps {
    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 18px;
}


.recipe-step {
    padding: 24px;

    display: grid;

    grid-template-columns: 52px 1fr;

    gap: 17px;

    align-items: start;

    background: #ffffff;

    border: 1px solid rgba(15, 81, 50, 0.08);

    border-radius: 18px;

    box-shadow: 0 10px 25px rgba(35, 50, 42, 0.04);
}


.recipe-step__number {
    width: 48px;

    height: 48px;

    display: grid;

    place-items: center;

    border-radius: 50%;

    background: #0f5132;

    color: #ffffff;

    font-size: 14px;

    font-weight: 900;
}


.recipe-step h3 {
    margin: 3px 0 7px;

    color: #083b25;

    font-size: 16px;
}


.recipe-step p {
    margin: 0;

    color: #68736d;

    font-size: 13px;

    line-height: 1.65;
}


/* =========================================================
   ASTUCE
========================================================= */

.recipe-tip {
    display: flex;

    align-items: flex-start;

    gap: 18px;

    padding: 25px 30px;

    margin-bottom: 60px;

    background: linear-gradient(
        100deg,
        #fff2d8,
        #fff7ed
    );

    border-radius: 18px;
}


.recipe-tip__icon {
    flex: 0 0 auto;

    font-size: 30px;
}


.recipe-tip span {
    display: block;

    margin-bottom: 5px;

    color: #e0503d;

    font-size: 11px;

    font-weight: 900;

    text-transform: uppercase;

    letter-spacing: 0.04em;
}


.recipe-tip p {
    margin: 0;

    color: #4c554f;

    line-height: 1.65;

    font-size: 14px;
}


/* =========================================================
   ACCOMPAGNEMENTS
========================================================= */

.recipe-accompaniments {
    margin-bottom: 65px;
}


.accompaniment-list {
    display: grid;

    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 12px;
}


.accompaniment-list div {
    min-height: 60px;

    padding: 16px;

    display: flex;

    align-items: center;

    gap: 10px;

    border-radius: 15px;

    background: #f4faef;

    color: #0f5132;

    font-size: 13px;

    font-weight: 700;
}


.accompaniment-list span {
    width: 24px;

    height: 24px;

    flex: 0 0 24px;

    display: grid;

    place-items: center;

    border-radius: 50%;

    background: #0f5132;

    color: #ffffff;

    font-size: 10px;
}


/* =========================================================
   CONTENU WORDPRESS
========================================================= */

.recipe-editor-content {
    max-width: 850px;

    margin: 0 auto 65px;

    padding: 30px;

    background: #ffffff;

    border: 1px solid rgba(15, 81, 50, 0.08);

    border-radius: 18px;

    font-size: 15px;

    line-height: 1.8;
}


.recipe-editor-content p:first-child {
    margin-top: 0;
}


.recipe-editor-content p:last-child {
    margin-bottom: 0;
}


/* =========================================================
   RECETTES SIMILAIRES
========================================================= */

.related-recipes {
    margin-top: 50px;

    padding-top: 20px;
}


/* =========================================================
   RESPONSIVE TABLETTE
========================================================= */

@media (max-width: 900px) {

    .recipe-hero {
        grid-template-columns: 1fr;
    }

    .recipe-hero__image {
        order: -1;
    }

    .recipe-main-image {
        aspect-ratio: 1.5;
    }

    .recipe-content-grid {
        grid-template-columns: 1fr;
    }

    .recipe-budget-card {
        max-width: 350px;
    }

    .recipe-summary {
        grid-template-columns: repeat(3, 1fr);
    }

    .recipe-steps {
        grid-template-columns: 1fr;
    }

    .accompaniment-list {
        grid-template-columns: repeat(2, 1fr);
    }

}


/* =========================================================
   RESPONSIVE MOBILE
========================================================= */

@media (max-width: 600px) {

    .single-recipe {
        padding-top: 20px;
    }

    .recipe-breadcrumb {
        margin-bottom: 20px;

        font-size: 11px;
    }

    .recipe-hero {
        gap: 25px;
    }

    .recipe-hero h1 {
        font-size: 42px;

        line-height: 1;

        letter-spacing: -2px;
    }

    .recipe-intro {
        font-size: 15px;
    }

    .recipe-main-image {
        aspect-ratio: 1.2;

        border-radius: 18px;
    }

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

    .recipe-actions {
        flex-direction: column;
    }

    .recipe-actions button {
        width: 100%;
    }

    .recipe-summary {
        grid-template-columns: repeat(2, 1fr);

        margin-bottom: 35px;
    }

    .recipe-content-grid {
        margin-bottom: 50px;
    }

    .recipe-panel {
        padding: 20px;
    }

    .recipe-panel__title {
        flex-direction: column;

        align-items: flex-start;
    }

    .recipe-panel h2 {
        font-size: 27px;
    }

    .ingredients-list li {
        grid-template-columns: 26px 1fr auto;
    }

    .recipe-step {
        grid-template-columns: 42px 1fr;

        padding: 18px;
    }

    .recipe-step__number {
        width: 40px;

        height: 40px;
    }

    .recipe-tip {
        padding: 20px;

        flex-direction: column;
    }

    .accompaniment-list {
        grid-template-columns: 1fr;
    }

    .recipe-editor-content {
        padding: 20px;
    }

}


/* =========================================================
   PRINT
========================================================= */

@media print {

    .site-header,
    .site-footer,
    .recipe-breadcrumb,
    .recipe-actions,
    .related-recipes,
    .newsletter-section {
        display: none !important;
    }

    .single-recipe {
        padding: 0;
    }

    .recipe-hero,
    .recipe-content-grid {
        display: block;
    }

}

/* =========================================================
   PAGE FAVORIS
========================================================= */

.favorites-page {
    padding: 60px 0 90px;
    min-height: 600px;
}

.favorites-header {
    max-width: 650px;
    margin-bottom: 40px;
}

.favorites-header h1 {
    margin: 7px 0 12px;
    color: #083b25;
    font-size: clamp(42px, 5vw, 64px);
    line-height: 1;
    letter-spacing: -2px;
}

.favorites-header h1 span {
    color: #e0503d;
}

.favorites-header p {
    margin: 0;
    color: #68736d;
    font-size: 15px;
}


/* GRID */

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


/* CARD */

.favorite-recipe-card {
    overflow: hidden;
    background: #ffffff;
    border: 1px solid rgba(15, 81, 50, 0.08);
    border-radius: 20px;
    box-shadow: 0 12px 30px rgba(35, 50, 42, 0.05);
}

.favorite-recipe-card__image {
    display: block;
    overflow: hidden;
    aspect-ratio: 1.2;
}

.favorite-recipe-card__image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.favorite-recipe-card:hover img {
    transform: scale(1.04);
}

.favorite-recipe-card__content {
    padding: 20px;
}

.favorite-recipe-card__label {
    color: #e0503d;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.favorite-recipe-card h2 {
    margin: 8px 0 20px;
    font-size: 20px;
    line-height: 1.2;
}

.favorite-recipe-card h2 a {
    color: #083b25;
    text-decoration: none;
}

.favorite-recipe-card__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}

.favorite-recipe-card__link {
    color: #0f5132;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

.favorite-remove {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: #fff1ef;
    color: #e0503d;
    font-size: 18px;
    cursor: pointer;
}


/* EMPTY */

.favorites-empty {
    padding: 70px 20px;
    text-align: center;
    background: #fff7ed;
    border-radius: 24px;
}

.favorites-empty__icon {
    font-size: 50px;
    color: #e0503d;
}

.favorites-empty h2 {
    margin: 15px 0 8px;
    color: #083b25;
}

.favorites-empty p {
    margin-bottom: 25px;
    color: #68736d;
}

.favorites-empty__button {
    display: inline-flex;
    min-height: 46px;
    padding: 0 24px;
    align-items: center;
    justify-content: center;
    border-radius: 50px;
    background: #0f5132;
    color: #ffffff;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}


/* RESPONSIVE */

@media (max-width: 1000px) {

    .favorites-grid {
        grid-template-columns: repeat(3, 1fr);
    }

}

@media (max-width: 760px) {

    .favorites-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}

@media (max-width: 520px) {

    .favorites-grid {
        grid-template-columns: 1fr;
    }

}
/* =========================================================
   ARCHIVE RECETTES
========================================================= */

.recipes-archive {
    padding: 65px 0 90px;
}


/* HEADER */

.recipes-archive__header {
    max-width: 720px;
    margin-bottom: 35px;
}

.recipes-archive__header h1 {
    margin: 8px 0 15px;

    color: #083b25;

    font-size: clamp(46px, 6vw, 76px);
    line-height: 0.95;
    letter-spacing: -3px;
}

.recipes-archive__header h1 span {
    color: #e0503d;
}

.recipes-archive__header p {
    max-width: 620px;

    margin: 0;

    color: #68736d;

    font-size: 16px;
    line-height: 1.65;
}


/* =========================================================
   SEARCH
========================================================= */

.recipes-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;

    gap: 10px;

    max-width: 800px;

    margin-bottom: 25px;
}

.recipes-search__field {
    position: relative;
}

.recipes-search__field i {
    position: absolute;

    top: 50%;
    left: 20px;

    transform: translateY(-50%);

    color: #819088;
}

.recipes-search input {
    width: 100%;
    height: 54px;

    padding: 0 20px 0 50px;

    border: 1px solid rgba(15, 81, 50, 0.12);
    border-radius: 50px;

    background: #ffffff;

    color: #1f2937;

    outline: none;
}

.recipes-search input:focus {
    border-color: #0f5132;
}

.recipes-search button {
    min-width: 135px;

    padding: 0 25px;

    border: 0;
    border-radius: 50px;

    background: #0f5132;

    color: #ffffff;

    font-weight: 800;

    cursor: pointer;

    transition: 0.2s ease;
}

.recipes-search button:hover {
    background: #083b25;
}


/* =========================================================
   FILTRES
========================================================= */

.recipes-filters {
    display: flex;
    flex-wrap: wrap;

    gap: 9px;

    margin-bottom: 40px;
}

.recipes-filter {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 39px;

    padding: 0 17px;

    border: 1px solid rgba(15, 81, 50, 0.12);
    border-radius: 50px;

    background: #ffffff;

    color: #0f5132;

    font-size: 12px;
    font-weight: 800;

    text-decoration: none;

    transition: 0.2s ease;
}

.recipes-filter:hover {
    background: #f4faef;
}

.recipes-filter.is-active {
    border-color: #0f5132;

    background: #0f5132;

    color: #ffffff;
}


/* =========================================================
   RESULTATS
========================================================= */

.recipes-results-header {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;

    margin-bottom: 25px;
}

.recipes-results-header > div {
    display: flex;
    align-items: baseline;

    gap: 6px;
}

.recipes-results-header strong {
    color: #083b25;

    font-size: 23px;
}

.recipes-results-header span {
    color: #78827d;

    font-size: 12px;
}

.recipes-reset {
    color: #e0503d;

    font-size: 12px;
    font-weight: 800;

    text-decoration: none;
}


/* =========================================================
   GRID
========================================================= */

.recipes-archive__grid {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 22px;
}


/* =========================================================
   PAGINATION
========================================================= */

.recipes-pagination {
    display: flex;
    justify-content: center;

    margin-top: 50px;
}

.recipes-pagination .page-numbers {
    width: 42px;
    height: 42px;

    margin: 0 4px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #ffffff;

    border: 1px solid rgba(15, 81, 50, 0.1);

    color: #0f5132;

    font-size: 12px;
    font-weight: 800;

    text-decoration: none;
}

.recipes-pagination .page-numbers.current {
    background: #0f5132;

    color: #ffffff;
}


/* =========================================================
   EMPTY
========================================================= */

.recipes-empty {
    padding: 70px 20px;

    text-align: center;

    border-radius: 24px;

    background: #fff7ed;
}

.recipes-empty__icon {
    font-size: 48px;
}

.recipes-empty h2 {
    margin: 15px 0 7px;

    color: #083b25;
}

.recipes-empty p {
    margin: 0 0 25px;

    color: #68736d;
}

.recipes-empty a {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 45px;

    padding: 0 23px;

    border-radius: 50px;

    background: #0f5132;

    color: #ffffff;

    font-size: 12px;
    font-weight: 800;

    text-decoration: none;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1050px) {

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

}


@media (max-width: 760px) {

    .recipes-archive {
        padding-top: 35px;
    }

    .recipes-search {
        grid-template-columns: 1fr;
    }

    .recipes-search button {
        height: 50px;
    }

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

}


@media (max-width: 520px) {

    .recipes-archive__header h1 {
        font-size: 44px;
        letter-spacing: -2px;
    }

    .recipes-archive__grid {
        grid-template-columns: 1fr;
    }

    .recipes-results-header {
        align-items: flex-start;
        flex-direction: column;
    }

}

/* =========================================================
   FILTRES FRIGO
========================================================= */

.fridge-active-filters {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 8px;

    margin: -15px 0 35px;
}

.fridge-active-filters__label {
    margin-right: 4px;

    color: #68736d;

    font-size: 12px;
    font-weight: 700;
}

.fridge-active-ingredient {
    display: inline-flex;
    align-items: center;

    min-height: 34px;

    padding: 0 13px;

    border-radius: 50px;

    background: #d8ebd7;

    color: #0f5132;

    font-size: 11px;
    font-weight: 800;
}

.fridge-active-reset {
    margin-left: 5px;

    color: #e0503d;

    font-size: 11px;
    font-weight: 800;

    text-decoration: none;
}

/* ========================================
   FRIGO - BOUTONS INGREDIENTS
======================================== */

.fridge-ingredients button,
.fridge-picker button,
[data-fridge-picker] [data-ingredient] {
    min-height: 44px;
    padding: 0 18px;
    border: 1px solid rgba(15, 81, 50, 0.10);
    border-radius: 999px;
    background: #ffffff;
    color: #111111;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s ease;
}

/* Hover */
.fridge-ingredients button:hover,
.fridge-picker button:hover,
[data-fridge-picker] [data-ingredient]:hover {
    background: #f4faef;
    border-color: #0f5132;
    color: #0f5132;
    transform: translateY(-1px);
}

/* Bouton sélectionné */
.fridge-ingredients button.is-selected,
.fridge-picker button.is-selected,
[data-fridge-picker] [data-ingredient].is-selected {
    background: #0f5132;
    border-color: #0f5132;
    color: #ffffff;
}

/* Hover quand déjà sélectionné */
.fridge-ingredients button.is-selected:hover,
.fridge-picker button.is-selected:hover,
[data-fridge-picker] [data-ingredient].is-selected:hover {
    background: #083b25;
    border-color: #083b25;
    color: #ffffff;
}

[data-fridge-picker] [data-ingredient]:hover {
    background: #f4faef;
    color: #0f5132;
    border-color: #0f5132;
}

/* =========================================================
   SCORE FRIGO
========================================================= */

.recipe-match-wrapper {
    position: relative;
}

.recipe-match-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 5;

    padding: 7px 11px;

    border-radius: 50px;

    background: #ffffff;

    color: #0f5132;

    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);

    font-size: 10px;
    font-weight: 800;
}
[data-fridge-picker] [data-ingredient] {
    border: 2px solid transparent;
    transition: all 0.2s ease;
    cursor: pointer;
}

[data-fridge-picker] [data-ingredient]:hover {
    border-color: #0f5132;
    background: #f4faef;
}

[data-fridge-picker] [data-ingredient].is-selected {
    background: #0f5132 !important;
    border-color: #0f5132 !important;
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(15, 81, 50, 0.18);
}

[data-fridge-picker] [data-ingredient].is-selected * {
    color: #ffffff !important;
}

/* =========================================================
   INGREDIENTS SUPPLEMENTAIRES
========================================================= */

.ingredient-picker .ingredient-extra[hidden] {
    display: none !important;
}

.ingredient-picker {
    transition: all 0.25s ease;
}

.more-ingredients {
    cursor: pointer;
}

.more-ingredients:hover {
    color: #0f5132;
    border-color: #0f5132;
    background: #ffffff;
}
.ingredient-emoji {
    display: block;
    font-size: 30px;
    line-height: 1;
    margin-bottom: 8px;
}
/* =========================================================
   PAGE CATEGORIE RECETTE
========================================================= */

.recipe-category-page {
    padding: 40px 0 90px;
}

.recipe-category-header {
    max-width: 750px;
    margin: 35px 0 45px;
}

.recipe-category-header h1 {
    margin: 8px 0 15px;

    color: #083b25;

    font-size: clamp(48px, 6vw, 76px);
    line-height: 0.95;
    letter-spacing: -3px;
}

.recipe-category-header h1 span {
    color: #e0503d;
}

.recipe-category-header p {
    max-width: 620px;

    margin: 0;

    color: #68736d;

    font-size: 16px;
    line-height: 1.65;
}

@media (max-width: 600px) {

    .recipe-category-page {
        padding-top: 25px;
    }

    .recipe-category-header {
        margin-top: 25px;
    }

    .recipe-category-header h1 {
        font-size: 44px;
        letter-spacing: -2px;
    }

}
/* =========================================================
   HEADER ACTIONS + RECHERCHE
========================================================= */

.header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin-left: 20px;
    white-space: nowrap;
}

/* Recherche + Favoris */
.header-search-toggle,
.header-favorite {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0;
    border: 0;
    border-radius: 50%;

    background: transparent;
    color: #083B25;

    font-size: 18px;
    line-height: 1;

    text-decoration: none;
    cursor: pointer;

    transition:
        background 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}

.header-search-toggle:hover,
.header-favorite:hover {
    background: #F4FAEF;
    color: #0F5132;
    transform: translateY(-1px);
}

/* Mon menu */
.header-week-menu {
    width: auto !important;
    min-width: max-content !important;
    height: 42px;
    flex: 0 0 auto !important;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;

    padding: 0 17px;

    border: 0;
    border-radius: 999px;

    background: #0F5132 !important;
    color: #FFFFFF !important;

    font-size: 12px;
    font-weight: 800;
    line-height: 1;

    white-space: nowrap;
    text-decoration: none;

    transition:
        background 0.2s ease,
        transform 0.2s ease;
}

.header-week-menu i {
    flex: 0 0 auto;
    font-size: 15px;
    line-height: 1;
    color: #FFFFFF !important;
}

.header-week-menu span {
    display: inline-block;
    width: auto;
    color: #FFFFFF !important;
    white-space: nowrap;
}

.header-week-menu:hover {
    background: #083B25 !important;
    color: #FFFFFF !important;
    transform: translateY(-1px);
}

/* Overlay recherche */
.header-search-overlay {
    position: fixed;
    inset: 0;
    z-index: 99999;

    display: flex;
    align-items: flex-start;
    justify-content: center;

    padding: 100px 20px 20px;
}

.header-search-overlay[hidden] {
    display: none !important;
}

.header-search-overlay__backdrop {
    position: absolute;
    inset: 0;

    background: rgba(4, 35, 21, 0.55);

    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}

.header-search-overlay__box {
    position: relative;
    z-index: 2;

    width: min(760px, 100%);
    padding: 42px;

    background: #FFF7ED;
    border-radius: 28px;

    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.20);
}

.header-search-overlay__close {
    position: absolute;
    top: 18px;
    right: 20px;

    width: 38px;
    height: 38px;

    display: grid;
    place-items: center;

    padding: 0;
    border: 0;
    border-radius: 50%;

    background: #FFFFFF;
    color: #083B25;

    font-size: 25px;
    cursor: pointer;
}

.header-search-overlay__box h2 {
    margin: 8px 0 25px;

    color: #083B25;

    font-size: clamp(38px, 5vw, 58px);
    line-height: 0.95;
    letter-spacing: -2px;
}

.header-search-overlay__box h2 span {
    color: #E0503D;
}

/* Formulaire recherche */
.header-global-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
}

.header-global-search__field {
    position: relative;
}

.header-global-search__field i {
    position: absolute;
    top: 50%;
    left: 20px;

    transform: translateY(-50%);
    color: #7A817D;
}

.header-global-search input {
    width: 100%;
    height: 56px;

    padding: 0 20px 0 50px;

    border: 1px solid rgba(15, 81, 50, 0.15);
    border-radius: 50px;

    background: #FFFFFF;
    outline: none;

    font-size: 14px;
}

.header-global-search input:focus {
    border-color: #0F5132;
}

.header-global-search button {
    min-width: 135px;
    padding: 0 25px;

    border: 0;
    border-radius: 50px;

    background: #0F5132;
    color: #FFFFFF;

    font-weight: 800;
    cursor: pointer;
}

.header-global-search button:hover {
    background: #083B25;
}

/* Suggestions */
.header-search-suggestions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;

    gap: 8px;
    margin-top: 20px;
}

.header-search-suggestions > span {
    margin-right: 3px;
    color: #68736D;
    font-size: 11px;
}

.header-search-suggestions a {
    padding: 7px 12px;

    border-radius: 50px;

    background: #FFFFFF;
    color: #0F5132;

    font-size: 11px;
    font-weight: 800;

    text-decoration: none;
}

.header-search-suggestions a:hover {
    background: #D8EBD7;
}

body.search-overlay-open {
    overflow: hidden;
}

/* Responsive header */
@media (max-width: 1100px) {
    .header-actions {
        gap: 4px;
        margin-left: 10px;
    }

    .header-week-menu {
        padding: 0 12px;
    }
}

@media (max-width: 860px) {
    .header-actions {
        display: none;
    }
}

@media (max-width: 600px) {
    .header-search-overlay {
        padding: 75px 14px 14px;
    }

    .header-search-overlay__box {
        padding: 35px 20px 25px;
        border-radius: 20px;
    }

    .header-global-search {
        grid-template-columns: 1fr;
    }

    .header-global-search button {
        height: 50px;
    }

    .header-search-overlay__box h2 {
        font-size: 38px;
    }
}

/* =========================================================
   PAGE RESULTATS DE RECHERCHE
========================================================= */

.search-results-page {
    min-height: 650px;
    padding: 65px 0 90px;
}


/* HEADER */

.search-results-header {
    max-width: 850px;
    margin-bottom: 30px;
}

.search-results-header h1 {
    margin: 8px 0 15px;

    color: #083b25;

    font-size: clamp(44px, 5vw, 68px);
    line-height: 1;
    letter-spacing: -3px;
}

.search-results-header h1 span {
    color: #e0503d;
}

.search-results-header p {
    margin: 0;

    color: #68736d;

    font-size: 14px;
}


/* SEARCH */

.search-results-form {
    max-width: 760px;
    margin-bottom: 45px;
}


/* TOOLBAR */

.search-results-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    margin-bottom: 25px;
}

.search-results-toolbar > div {
    display: flex;
    align-items: baseline;

    gap: 6px;
}

.search-results-toolbar strong {
    color: #083b25;

    font-size: 24px;
}

.search-results-toolbar span {
    color: #78827d;

    font-size: 12px;
}

.search-results-toolbar > a {
    color: #e0503d;

    font-size: 12px;
    font-weight: 800;

    text-decoration: none;
}


/* EMPTY */

.search-empty {
    padding: 70px 25px;

    text-align: center;

    background: #fff7ed;

    border-radius: 26px;
}

.search-empty__icon {
    font-size: 52px;
}

.search-empty h2 {
    margin: 15px 0 8px;

    color: #083b25;

    font-size: 32px;
}

.search-empty > p {
    margin: 0 auto 25px;

    color: #68736d;
}


/* Suggestions */

.search-empty__suggestions {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;

    gap: 8px;

    margin-bottom: 30px;
}

.search-empty__suggestions span {
    color: #68736d;

    font-size: 11px;
}

.search-empty__suggestions a {
    padding: 8px 14px;

    border-radius: 50px;

    background: #ffffff;

    color: #0f5132;

    font-size: 11px;
    font-weight: 800;

    text-decoration: none;
}

.search-empty__suggestions a:hover {
    background: #d8ebd7;
}


/* Button */

.search-empty__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 46px;

    padding: 0 24px;

    border-radius: 50px;

    background: #0f5132;

    color: #ffffff;

    font-size: 12px;
    font-weight: 800;

    text-decoration: none;
}

.search-empty__button:hover {
    background: #083b25;
}


/* MOBILE */

@media (max-width: 600px) {

    .search-results-page {
        padding: 35px 0 70px;
    }

    .search-results-header h1 {
        font-size: 42px;
        letter-spacing: -2px;
    }

    .search-results-toolbar {
        flex-direction: column;
        align-items: flex-start;
    }

    .search-empty {
        padding: 50px 18px;
    }

}

/* =========================================================
   MENU DE LA SEMAINE
========================================================= */

.weekly-menu-page {
    padding: 60px 0 90px;
}

.weekly-menu-header {
    max-width: 700px;
    margin-bottom: 40px;
}

.weekly-menu-header h1 {
    margin: 8px 0 15px;

    color: #083b25;

    font-size: clamp(48px, 6vw, 72px);
    line-height: 0.95;
    letter-spacing: -3px;
}

.weekly-menu-header h1 span {
    color: #e0503d;
}

.weekly-menu-header p {
    margin: 0;

    color: #68736d;

    font-size: 16px;
    line-height: 1.6;
}


/* GRID */

.weekly-menu-grid {
    display: grid;
    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 18px;
}


/* JOUR */

.weekly-day {
    overflow: hidden;

    min-height: 300px;

    background: #ffffff;

    border: 1px solid rgba(15, 81, 50, 0.08);
    border-radius: 20px;

    box-shadow:
        0 10px 30px rgba(35, 50, 42, 0.04);
}

.weekly-day__header {
    padding: 15px 18px;

    background: #0f5132;

    color: #ffffff;

    font-size: 13px;
    font-weight: 900;
}


/* VIDE */

.weekly-day__empty {
    min-height: 245px;

    padding: 25px;

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    text-align: center;
}

.weekly-day__empty > span {
    font-size: 35px;
}

.weekly-day__empty p {
    margin: 12px 0 15px;

    color: #68736d;

    font-size: 12px;
}

.weekly-day__empty a {
    color: #0f5132;

    font-size: 11px;
    font-weight: 800;

    text-decoration: none;
}


/* RECETTE */

.weekly-recipe__image {
    display: block;

    aspect-ratio: 1.5;

    overflow: hidden;
}

.weekly-recipe__image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
}

.weekly-recipe__content {
    padding: 18px;
}

.weekly-recipe h3 {
    margin: 0 0 18px;

    font-size: 17px;
    line-height: 1.25;
}

.weekly-recipe h3 a {
    color: #083b25;

    text-decoration: none;
}

.weekly-recipe__actions {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 10px;
}

.weekly-recipe__actions > a {
    color: #0f5132;

    font-size: 11px;
    font-weight: 800;

    text-decoration: none;
}

.weekly-recipe__actions button {
    width: 34px;
    height: 34px;

    display: grid;
    place-items: center;

    border: 0;
    border-radius: 50%;

    background: #fff1ef;

    color: #e0503d;

    font-size: 20px;

    cursor: pointer;
}


/* ACTIONS */

.weekly-menu-actions {
    display: flex;
    align-items: center;
    justify-content: center;

    flex-wrap: wrap;

    gap: 10px;

    margin-top: 35px;
}

.weekly-menu-add,
.weekly-menu-clear {
    min-height: 45px;

    padding: 0 22px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 50px;

    font-size: 12px;
    font-weight: 800;

    cursor: pointer;
}

.weekly-menu-add {
    background: #0f5132;

    color: #ffffff;

    text-decoration: none;
}

.weekly-menu-clear {
    border: 1px solid rgba(224, 80, 61, 0.2);

    background: #ffffff;

    color: #e0503d;
}


/* =========================================================
   CONTROLE SUR LA FICHE RECETTE
========================================================= */

.week-menu-control {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.week-menu-day {
    min-height: 45px;

    padding: 0 35px 0 16px;

    border: 1px solid rgba(15, 81, 50, 0.15);
    border-radius: 50px;

    background: #ffffff;

    color: #083b25;

    font-size: 12px;
    font-weight: 700;

    cursor: pointer;
}

.add-week-menu {
    min-height: 45px;

    padding: 0 20px;

    border: 0;
    border-radius: 50px;

    background: #e0503d;

    color: #ffffff;

    font-size: 12px;
    font-weight: 800;

    cursor: pointer;
}


/* RESPONSIVE */

@media (max-width: 1050px) {

    .weekly-menu-grid {
        grid-template-columns:
            repeat(3, 1fr);
    }

}

@media (max-width: 760px) {

    .weekly-menu-grid {
        grid-template-columns:
            repeat(2, 1fr);
    }

}

@media (max-width: 520px) {

    .weekly-menu-grid {
        grid-template-columns: 1fr;
    }

    .week-menu-control {
        width: 100%;
    }

    .week-menu-day,
    .add-week-menu {
        width: 100%;
    }

}


/* =========================================================
   LISTE DE COURSES
========================================================= */

.shopping-list-section {
    margin-top: 70px;
    padding: 35px;

    background: #fff7ed;

    border-radius: 24px;
}

.shopping-list-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 25px;

    margin-bottom: 30px;
}

.shopping-list-header h2 {
    margin: 7px 0 8px;

    color: #083b25;

    font-size: 38px;
    line-height: 1;
    letter-spacing: -1.5px;
}

.shopping-list-header h2 span {
    color: #e0503d;
}

.shopping-list-header p {
    margin: 0;

    color: #68736d;

    font-size: 13px;
}


/* PRINT */

.shopping-list-print {
    min-height: 44px;

    padding: 0 18px;

    display: inline-flex;
    align-items: center;
    gap: 8px;

    border: 1px solid rgba(15, 81, 50, 0.12);
    border-radius: 50px;

    background: #ffffff;

    color: #0f5132;

    font-size: 12px;
    font-weight: 800;

    cursor: pointer;
}


/* LIST */

.shopping-list {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 10px;
}


.shopping-list-item {
    min-height: 58px;

    padding: 12px 15px;

    display: grid;

    grid-template-columns:
        24px 1fr auto;

    gap: 10px;

    align-items: center;

    background: #ffffff;

    border: 1px solid rgba(15, 81, 50, 0.08);

    border-radius: 14px;

    cursor: pointer;
}


.shopping-list-item input {
    position: absolute;

    opacity: 0;

    pointer-events: none;
}


.shopping-list-check {
    width: 22px;
    height: 22px;

    display: grid;
    place-items: center;

    border: 2px solid #d8ebd7;

    border-radius: 50%;

    color: transparent;

    font-size: 10px;

    transition: 0.2s ease;
}


.shopping-list-name {
    color: #2f3b35;

    font-size: 13px;
    font-weight: 700;
}


.shopping-list-quantity {
    color: #0f5132;

    font-size: 12px;

    text-align: right;
}


.shopping-list-item:has(input:checked) {
    opacity: 0.55;
}


.shopping-list-item input:checked
+ .shopping-list-check {

    background: #0f5132;

    border-color: #0f5132;

    color: #ffffff;
}


.shopping-list-item:has(input:checked)
.shopping-list-name {

    text-decoration: line-through;
}


/* EMPTY */

.shopping-list-empty {
    padding: 45px 20px;

    text-align: center;
}


.shopping-list-empty > span {
    display: block;

    margin-bottom: 10px;

    font-size: 40px;
}


.shopping-list-empty strong {
    display: block;

    color: #083b25;

    font-size: 18px;
}


.shopping-list-empty p {
    margin: 7px 0 0;

    color: #68736d;

    font-size: 12px;
}


/* MOBILE */

@media (max-width: 700px) {

    .shopping-list-section {
        padding: 25px 18px;
    }

    .shopping-list-header {
        align-items: flex-start;

        flex-direction: column;
    }

    .shopping-list {
        grid-template-columns: 1fr;
    }

}

/* =========================================================
   AJOUT MANUEL COURSES
========================================================= */

.shopping-list-add {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        160px
        auto;

    gap: 10px;

    margin-bottom: 25px;
}

.shopping-list-add input {
    height: 48px;

    padding: 0 18px;

    border: 1px solid rgba(15, 81, 50, 0.12);
    border-radius: 50px;

    background: #ffffff;

    outline: none;
}

.shopping-list-add input:focus {
    border-color: #0f5132;
}

.shopping-list-add button {
    min-height: 48px;

    padding: 0 22px;

    border: 0;
    border-radius: 50px;

    background: #0f5132;
    color: #ffffff;

    font-size: 12px;
    font-weight: 800;

    cursor: pointer;
}

.shopping-list-add button:hover {
    background: #083b25;
}

@media (max-width: 700px) {

    .shopping-list-add {
        grid-template-columns: 1fr;
    }

}
/* =========================================================
   LISTE DE COURSES V2
========================================================= */

.shopping-list-item {
    min-height: 58px;

    padding: 11px 13px;

    display: grid;

    grid-template-columns:
        26px
        minmax(0, 1fr)
        auto
        36px;

    gap: 10px;

    align-items: center;

    background: #ffffff;

    border: 1px solid rgba(15, 81, 50, 0.08);

    border-radius: 14px;

    transition:
        opacity 0.2s ease,
        background 0.2s ease;
}


.shopping-list-checkbox {
    display: block;

    width: 22px;
    height: 22px;

    cursor: pointer;
}


.shopping-list-checkbox input {
    position: absolute;

    opacity: 0;

    pointer-events: none;
}


.shopping-list-check {
    width: 22px;
    height: 22px;

    display: grid;
    place-items: center;

    border: 2px solid #D8EBD7;

    border-radius: 50%;

    color: transparent;

    font-size: 10px;

    transition: 0.2s ease;
}


.shopping-list-checkbox
input:checked
+
.shopping-list-check {

    background: #0F5132;

    border-color: #0F5132;

    color: #ffffff;
}


.shopping-list-name {
    color: #2F3B35;

    font-size: 13px;
    font-weight: 700;
}


.shopping-list-quantity {
    color: #0F5132;

    font-size: 12px;

    white-space: nowrap;
}


/* ARTICLE ACHETE */

.shopping-list-item.is-checked {
    background: #F4FAEF;

    opacity: 0.55;
}


.shopping-list-item.is-checked
.shopping-list-name {

    text-decoration: line-through;
}


/* =========================================================
   CORBEILLE
========================================================= */

.shopping-list-item-actions {
    display: flex;
    justify-content: flex-end;
}


.shopping-list-delete {
    width: 34px;
    height: 34px;

    display: grid;
    place-items: center;

    padding: 0;

    border: 0;

    border-radius: 50%;

    background: #FFF1EF;

    color: #E0503D;

    font-size: 13px;

    cursor: pointer;

    transition: 0.2s ease;
}


.shopping-list-delete:hover {
    background: #E0503D;

    color: #ffffff;
}


/* =========================================================
   ACTIONS LISTE
========================================================= */

.shopping-list-actions {
    display: flex;

    align-items: center;
    justify-content: flex-end;

    flex-wrap: wrap;

    gap: 9px;

    margin-top: 22px;
}


.shopping-list-actions button {
    min-height: 42px;

    padding: 0 16px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 7px;

    border-radius: 50px;

    font-size: 11px;
    font-weight: 800;

    cursor: pointer;

    transition: 0.2s ease;
}


.shopping-list-remove-checked {
    border: 0;

    background: #0F5132;

    color: #ffffff;
}


.shopping-list-remove-checked:hover {
    background: #083B25;
}


.shopping-list-clear-manual {
    border: 1px solid rgba(
        224,
        80,
        61,
        0.18
    );

    background: #ffffff;

    color: #E0503D;
}


.shopping-list-clear-manual:hover {
    background: #FFF1EF;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .shopping-list-item {
        grid-template-columns:
            26px
            minmax(0, 1fr)
            auto
            34px;

        padding: 11px;
    }


    .shopping-list-actions {
        align-items: stretch;

        flex-direction: column;
    }


    .shopping-list-actions button {
        width: 100%;
    }

}

/* =========================================================
   PAGES LEGALES
========================================================= */

.generic-card {
    max-width: 1000px;
    margin: 0 auto;

    padding: 45px 55px;

    background: #ffffff;

    border: 1px solid rgba(15, 81, 50, 0.10);
    border-radius: 24px;

    box-shadow: 0 12px 35px rgba(35, 50, 42, 0.04);
}

.generic-card h2 {
    margin: 38px 0 14px;

    color: #083B25;

    font-size: 24px;
    line-height: 1.2;
}

.generic-card h2:first-child {
    margin-top: 0;
}

.generic-card p {
    margin: 0 0 16px;

    color: #4f5d56;

    font-size: 15px;
    line-height: 1.8;
}

.generic-card strong {
    color: #1f2937;
}

.generic-card a {
    color: #E0503D;
    font-weight: 700;
}

.generic-card a:hover {
    color: #0F5132;
}

@media (max-width: 600px) {

    .generic-card {
        padding: 28px 20px;
    }

    .generic-card h2 {
        font-size: 21px;
    }

}

/* =========================================================
   PAGE CONTACT
========================================================= */

.contact-page {
    padding: 70px 0 100px;
    min-height: 700px;
}


/* Header */

.contact-header {
    max-width: 760px;
    margin-bottom: 45px;
}

.contact-header h1 {
    margin: 8px 0 15px;

    color: #083B25;

    font-size: clamp(48px, 6vw, 76px);
    line-height: 0.95;
    letter-spacing: -3px;
}

.contact-header h1 span {
    color: #E0503D;
}

.contact-header p {
    max-width: 650px;

    margin: 0;

    color: #68736D;

    font-size: 16px;
    line-height: 1.7;
}


/* Layout */

.contact-layout {
    display: grid;

    grid-template-columns:
        330px
        minmax(0, 1fr);

    gap: 30px;

    align-items: start;
}


/* =========================================================
   INFORMATIONS
========================================================= */

.contact-info {
    display: grid;
    gap: 13px;
}

.contact-info__card {
    min-height: 110px;

    padding: 22px;

    display: flex;
    align-items: center;

    gap: 16px;

    background: #F4FAEF;

    border: 1px solid rgba(15, 81, 50, 0.07);

    border-radius: 18px;
}

.contact-info__icon {
    width: 48px;
    height: 48px;

    flex: 0 0 48px;

    display: grid;
    place-items: center;

    border-radius: 50%;

    background: #0F5132;

    color: #FFFFFF;

    font-size: 17px;
}

.contact-info__card small {
    display: block;

    margin-bottom: 4px;

    color: #78827D;

    font-size: 10px;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.contact-info__card strong {
    color: #083B25;

    font-size: 13px;
    line-height: 1.4;
}


/* =========================================================
   FORM CARD
========================================================= */

.contact-form-card {
    padding: 36px;

    background: #FFFFFF;

    border: 1px solid rgba(15, 81, 50, 0.09);

    border-radius: 24px;

    box-shadow:
        0 18px 45px rgba(35, 50, 42, 0.06);
}


/* Form */

.contact-form {
    display: grid;
    gap: 20px;
}

.contact-form__row {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 16px;
}

.contact-field {
    display: grid;
    gap: 7px;
}

.contact-field label {
    color: #083B25;

    font-size: 11px;
    font-weight: 800;
}

.contact-field input,
.contact-field select,
.contact-field textarea {
    width: 100%;

    border: 1px solid rgba(15, 81, 50, 0.13);

    border-radius: 14px;

    background: #FFFDF9;

    color: #1F2937;

    outline: none;

    font: inherit;

    transition:
        border 0.2s ease,
        box-shadow 0.2s ease;
}

.contact-field input,
.contact-field select {
    height: 52px;

    padding: 0 16px;
}

.contact-field textarea {
    min-height: 170px;

    padding: 15px 16px;

    resize: vertical;
}

.contact-field input:focus,
.contact-field select:focus,
.contact-field textarea:focus {
    border-color: #0F5132;

    box-shadow:
        0 0 0 3px rgba(15, 81, 50, 0.07);
}


/* =========================================================
   CONSENT
========================================================= */

.contact-consent {
    display: grid;

    grid-template-columns:
        18px
        minmax(0, 1fr);

    gap: 10px;

    align-items: start;

    color: #68736D;

    font-size: 11px;
    line-height: 1.6;
}

.contact-consent input {
    margin-top: 3px;

    accent-color: #0F5132;
}

.contact-consent a {
    color: #E0503D;

    font-weight: 700;
}


/* =========================================================
   BOUTON
========================================================= */

.contact-submit {
    width: fit-content;

    min-height: 50px;

    padding: 0 24px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 10px;

    border: 0;

    border-radius: 50px;

    background: #0F5132;

    color: #FFFFFF;

    font-size: 13px;
    font-weight: 800;

    cursor: pointer;

    transition: 0.2s ease;
}

.contact-submit:hover {
    background: #083B25;

    transform: translateY(-1px);
}


/* =========================================================
   ALERTES
========================================================= */

.contact-alert {
    margin-bottom: 25px;

    padding: 16px 18px;

    display: flex;
    align-items: flex-start;

    gap: 12px;

    border-radius: 15px;
}

.contact-alert > i {
    margin-top: 3px;

    font-size: 18px;
}

.contact-alert strong {
    display: block;

    margin-bottom: 3px;
}

.contact-alert p {
    margin: 0;

    font-size: 12px;
}

.contact-alert--success {
    background: #EAF6E6;

    color: #0F5132;
}

.contact-alert--error {
    background: #FFF1EF;

    color: #B63C2D;
}


/* =========================================================
   HONEYPOT
========================================================= */

.contact-honeypot {
    position: absolute !important;

    left: -9999px !important;

    width: 1px;
    height: 1px;

    overflow: hidden;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 850px) {

    .contact-layout {
        grid-template-columns: 1fr;
    }

    .contact-info {
        grid-template-columns:
            repeat(3, 1fr);
    }

}


@media (max-width: 650px) {

    .contact-page {
        padding: 40px 0 70px;
    }

    .contact-header h1 {
        font-size: 45px;

        letter-spacing: -2px;
    }

    .contact-info {
        grid-template-columns: 1fr;
    }

    .contact-form-card {
        padding: 24px 18px;
    }

    .contact-form__row {
        grid-template-columns: 1fr;
    }

    .contact-submit {
        width: 100%;
    }

}

.footer-links {
    margin: 0;
    padding: 0;
    list-style: none;

    display: grid;
    gap: 10px;
}

.footer-links a {
    color: rgba(255, 255, 255, 0.75);

    font-size: 13px;
    text-decoration: none;

    transition: 0.2s ease;
}

.footer-links a:hover {
    color: #ffffff;
}
/* =========================================================
   HERO - FIX FINAL DESKTOP + MOBILE
========================================================= */

.hero__media {
    position: relative;
    overflow: hidden;
}

.hero__media picture {
    display: block;
    width: 100%;
    height: 100%;
}

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


/* DESKTOP */

@media (min-width: 861px) {

    .hero__media {
        min-height: 510px;
        height: 510px;
        width: calc(100% + 120px);
    }

    .hero__media picture,
    .hero__media picture img {
        height: 100%;
    }

    .hero__media picture img {
        object-position: center right;
    }

}


/* TABLETTE + MOBILE */

@media (max-width: 860px) {

    .hero__media {
        width: 100% !important;

        min-height: 0 !important;
        height: auto !important;
        aspect-ratio: auto !important;

        margin: 0 !important;

        border-radius: 0;
        overflow: hidden;
    }

    .hero__media picture {
        display: block;
        width: 100%;
        height: auto !important;
    }

    .hero__media picture img {
        position: static !important;

        display: block;

        width: 100% !important;
        max-width: 100% !important;

        height: auto !important;

        object-fit: initial !important;
        object-position: initial !important;

        margin: 0 !important;
    }

}