/*!
Theme Name: 	Rougeline
Description: 	Les paysans de Rougeline
Version: 		1.0
Author: 		madeinmouse.com
Author URI: 	https://www.madeinmouse.com
Tags: 			Rougeline
*/

/* * { box-shadow: inset 0 0 0 10px rgba(0, 255, 0, 0.5);}*/
body {
    font-family: 'Asap Condensed', sans-serif ;
}
h1, h2, h3, h4, h5, h6 {
    font-family: 'Asap Condensed', sans-serif ;
}
h1 {
    font-family: 'Friendly', sans-serif ;
    font-size: 3rem;
    margin-bottom: 20px;
    color:#a2c617;
}
.friendly {
    font-family: 'Friendly', sans-serif !important;
}
h2 {
    font-family: Asap Condensed;
    font-size: 3rem;
    color:#ae0b21;
}
h3 {
    font-family: Asap Condensed;
    color:#ae0b21;
    font-size: 1.5rem ;
    margin-bottom: 15px;
}
h4 {

}
.green-circle {
    background:#a2c617 ;
    border-radius: 120px;
    padding: 60px;
    width: 241px;
    margin: auto;
    color:#fff;
    text-align: center;
}
.green-circle h1{
    color:#fff;
}
.chapo p { font-size: 1.2rem; font-weight: bold; font-family: 'Gotham', sans-serif;}
a { color:#60762B; text-decoration: none;}
a:hover { color:#a2c617; text-decoration: none;}
p { font-size: 1.1rem; line-height: 1.5rem;}
.breadcrumbs {
    padding: 0px 15px 20px 15px

}
#breadcrumbs a, #breadcrumbs span{
    font-size: 0.8rem;
}
.vc_tta-color-white.vc_tta-style-classic.vc_tta-tabs .vc_tta-panels {
    background: #fff !important;
}
small h5 {
    font-size:1rem;
}
.vcenter {
    display: inline-block;
    vertical-align: middle;
    float: none;
}
.breadcrumbs a {
    text-decoration: none;
    color: #d8222b;

}
.breadcrumbs a:hover {
    color: #ae0b21;
}
.date {  color:#ccc; }
btn:focus, a:focus
{
    outline: none;
}
.navbar-toggler:focus
{
    outline: none !important;
    box-shadow: none;
}
.btn-rougeline .vc_btn3{
    font-size: 1rem !important;
    margin-bottom: 10px !important;
    background: #A2C617 !important;
    padding:5px 15px !important;
    border: 0px !important;
    font-family: Asap Condensed,sans-serif !important;
    display: inline-block !important;
    color: #364F24 !important;
}
.btn-rougeline .vc_btn3 i{
    font-size: 1.5rem !important;
}

.btn-rougeline .vc_btn3:hover {

    background: #A2C617 !important;
}
.dropdown-item:focus, .dropdown-item:active, .dropdown-item:hover {
    background: #a2c617;
    color: #364F24 !important;;
}
.btn-firm, .btn-primary{
    font-size: 1rem !important;
    color: #364F24 !important;;
    margin-bottom: 10px !important;
    font-weight: 600;
    background: #A2C617 !important;
    padding: 3px 12px 3px 15px !important;
    border: 0px !important;
    font-family: Asap Condensed,sans-serif !important;
    display: inline-block !important;
}
.btn-firm:hover , .btn-primary:hover {
    background: #A2C617 !important;
}
.text-vert-1 {
    color: #364F24 !important;
    font-weight: 600;
}
.sjb-page .btn { border-radius: 5px !important;}
.highlight {
    position: relative;
    z-index: 1;
}

.highlight::before {
    content: "";
    position: absolute;

    /* proportions adaptées à 2rem */
    left: -0.25em;
    right: -0.25em;
    bottom: -0.25em;
    height: 1.8em;

    background: #a2c617;
    z-index: -1;
    border-radius: 0.20em;

    /* 🎯 rotation légère */
    transform: rotate(-2.5deg);
}
.highlight-2 {
    position: relative;
    z-index: 1;
}

.highlight-2::before {
    content: "";
    position: absolute;

    /* proportions adaptées à 2rem */
    left: -0.15em;
    right: -0.20em;
    bottom: 0.15em;
    height: 0.8em;

    background: #a2c617;
    z-index: -1;
    border-radius: 0.20em;

    /* 🎯 rotation légère */
    transform: rotate(-2.5deg);
}
.text-vert-2 {
    color: #a2c617;
}
.size-1 { font-size: 1rem;}
.size-15 { font-size: 1.5rem;}
.size-2 { font-size: 2rem;}
.size-25 { font-size: 2.5rem;}
.size-3 { font-size: 3rem;}

.navbar-light .navbar-nav .nav-link {
    color: #364F24;
    font-weight: 600;
    font-size: 1.1rem;
    padding: 1px 6px;
    margin-right:20px;
    border-radius: 5px;
}
.navbar-light .navbar-nav .active .nav-link {
    color: #fff;
    background: #364F24;
    padding: 1px 6px;
    margin-right:20px;
    border-radius: 5px;
}
.navbar.sticky-top{
    margin-bottom: 0px;
}
.navbar.bg-light {
    background: #fff !important;
    box-shadow: 0px 0px 5px rgba(0,0,0,.3);
}
.navbar-light .navbar-toggler {
    border-radius: 50px;
    padding: .4rem .4rem;
}
.navbar-light .navbar-toggler-icon {
    color:#ae0b21;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28174, 11, 14, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* Styles améliorés pour la navbar mobile */
@media (max-width: 991.98px) {
    .navbar {
        padding: 10px 0;
    }

    .navbar-brand {
        padding: 0;
    }

    .navbar-brand img {
        max-width: 180px;
        height: auto;
    }

    .navbar-toggler {
        border: 2px solid #ae0b21;
        padding: 8px 12px;
        transition: all 0.3s ease;
    }

    .navbar-toggler:hover,
    .navbar-toggler:focus {
        background-color: #ae0b21;
        border-color: #ae0b21;
    }

    .navbar-toggler:hover .navbar-toggler-icon,
    .navbar-toggler:focus .navbar-toggler-icon {
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    }

    .navbar-collapse {
        padding-top: 15px;
    }

    .navbar-nav {
        width: 100%;
    }

    .navbar-nav .nav-item {
        margin-bottom: 5px;
    }

    .navbar-light .navbar-nav .nav-link {
        padding: 12px 15px;
        font-size: 1.1rem;
        font-weight: 500;
        color: #364F24;
        border-radius: 8px;
        transition: all 0.3s ease;
        display: block;
        width: 100%;
    }

    .navbar-light .navbar-nav .nav-link:hover {
        background-color: #e6ecc8;
        color: #364F24;
        transform: translateX(5px);
    }

    .navbar-light .navbar-nav .active .nav-link {
        background-color: #364F24;
        color: #fff;
        padding: 15px 10px;
        }

    .navbar-light .navbar-nav .active .nav-link:hover {
        background-color: #2a3d1c;
        transform: translateX(5px);
    }

    /* Dropdown menu mobile */
    .navbar-nav .dropdown-menu {
        position: static;
        float: none;
        width: 100%;
        margin-top: 5px;
        border: none;
        box-shadow: none;
        background-color: #f9f9f9;
        border-radius: 8px;
        padding: 10px 0;
    }

    .navbar-nav .dropdown-item {
        padding: 10px 30px;
        color: #364F24;
        font-size: 1rem;
        transition: all 0.3s ease;
    }

    .navbar-nav .dropdown-item:hover,
    .navbar-nav .dropdown-item:focus {
        background-color: #e6ecc8;
        color: #364F24;
        padding-left: 35px;
    }

    .navbar-nav .dropdown-toggle::after {
        float: right;
        margin-top: 8px;
    }
}
.home-tetiere-white p { font-size: 2rem; color:#fff; line-height:2.5rem; font-weight: normal;}
.cartouche { width: 200px; font-size: 5rem;}
.cartouche div {
    font-size: 5rem;
    font-family: Asap Condensed;
    padding: 5px 10px;
    background: #00CC00;
    border: 3px #fff solid;
    border-radius: 10px;
    color: #fff;
    display: inline-block;
}
.section-1 div p{
    font-size: 1.8rem !important;
    line-height: 2rem !important;
    font-family: 'Asap Condensed', sans-serif;
    text-align: left;
    color: #fff;
    font-weight: 400;
    text-shadow:
            0 0 2px #9A1C18,
            0 0 2px #9A1C18,
            0 0 2px #9A1C18,
            0 0 2px #9A1C18,
            0 0 2px #9A1C18,
            0 0 2px #9A1C18,
            0 0 2px #9A1C18,
            0 0 2px #9A1C18,
            0 0 2px #9A1C18,
            0 0 2px #9A1C18,
            0 0 2px #9A1C18,
            0 0 2px #9A1C18,
            0 0 2px #9A1C18,
            0 0 2px #9A1C18,
            0 0 2px #9A1C18,
            0 0 2px #9A1C18,
            0 0 2px #9A1C18,
            0 0 2px #9A1C18,
            0 0 2px #9A1C18,
            0 0 2px #9A1C18;
}

.home-block-news {

}
.home-block-news a:hover {
    color: #d8222b;
}
.home-block-news h4 {
    color: #d8222b;
    font-size: 1.5rem;
    font-family: 'Asap Condensed', sans-serif;
}
.article h4{
    color:#9A1C18;
    font-weight:bold;
}
.home-block-news .vc_gitem_row {
    margin-bottom:20px;
}
.see-more { margin-bottom: 0px; }

.section-7-t-1 {
    font-size: 3.5rem;
    color: #ae0b21;
    font-family: 'Asap Condensed', sans-serif;

}
.sidebar .widget-title {
    margin-top: 30px;
    font-size:1.5rem;
}
.p-1 {
    text-align: center;
    color: #203213;
    font-size: 1.8rem !important;
    line-height: 2rem !important;
    font-family: 'Asap Condensed', sans-serif;

}
.section-7-p-1 {
    text-align: center;
    color: #203213;
    font-size: 2.3rem !important;
    line-height: 2rem !important;;
    font-family: 'Asap Condensed', sans-serif;
    padding: 30px !important;
}
.section-9-p-1 {
    font-size: 1.2rem;
}
.vc_grid-filter {
    background:#e6ecc8;
    padding:19px 10px 10px 10px;
}
.vc_grid-filter.vc_grid-filter-color-grey>.vc_grid-filter-item.vc_active,
.vc_grid-filter.vc_grid-filter-color-grey>.vc_grid-filter-item.vc_active:hover {
    background: #a2c617;

}
.vc_grid-filter.vc_grid-filter-color-grey>.vc_grid-filter-item.vc_active>span,
.vc_grid-filter.vc_grid-filter-color-grey>.vc_grid-filter-item.vc_active>span:hover {

    color:#fff;
}
.vc_grid-filter.vc_grid-filter-color-grey>.vc_grid-filter-item:hover {
    background:#a2c617 ;
}
.vc_grid-filter.vc_grid-filter-color-grey>.vc_grid-filter-item:hover>span {
    color:#fff;
}

.titre-module-article  {
    margin-top:20px;
    margin-bottom: 10px;
}
.titre-module-article h4 {
    font-size: 1.3rem;

}
.recipe-title {
    display: block;
    text-align: center;
    font-family: Asap Condensed;
    color: #ae0b21;
    font-size: 1.5rem;
}
.extrait-module-article p {
    font-size: 1rem;
}

.footer {
    background: #364F24;
    color:#fff;
    margin-top: 50px;
}
.footer h3 {
    font-size: 1rem;
    font-family: 'Asap Condensed';
    color:#a2c617;
    text-transform: uppercase;
}
.footer h3{
    text-align: left;
    margin-top: 20px;
    margin-bottom: 0px;
}
.footer ul {
margin-top: 15px;
    padding:0px;
}
.footer ul li {
    border-bottom: 1px solid #364F24;
    list-style: none;
}
.footer a {
    color:#fff;
    text-decoration: none;
}
.footer a:hover {
    color:#a2c617;
    text-decoration: none;
}
.last-footer{
    background: #a2c617 !important;
    color:#fff;
    font-size: .9rem;
    padding: 15px 0px 15px 0px;
}
.last-footer a { color:#fff}
.last-footer a:hover { color:#364F24}

#btn-home {
    position: fixed;
    z-index: 9999998;
    color: #ad0d21;
    right: 20px;
    top: 50px;
    height: 38px;
    border-radius: 34px;
    background: rgba(255,255,255,1);
    padding: 2px 2px;
    line-height: 2rem;
    font-size: 2rem;
}
.offcanvas {
    z-index: 9999999;
    background: #a2c617;
    box-shadow: 0px 0px 5px #333;
}

.offcanvas ul li {
    text-transform: uppercase;
    color:#fff;
    list-style: none;
    padding:2px 0px;
}
.offcanvas ul li a {
    text-decoration: none;
    color:#fff;
}
.offcanvas ul li a:hover {
    text-decoration: none;
    color:#60762B;
}

.offcanvas ul li a { font-weight: bold; }
.offcanvas ul li .sub-menu li a {
    font-weight: normal;
    text-transform: none;
}


/* Contact 7 form */
div.wpcf7 {
    width: 100%;

}
.form7-block {
    display: inline-block;
    margin-top:15px;
}
div.wpcf7 label {
    width: 100%;
}
.wpcf7 textarea{
    height:100px !important;
}
.wpcf7 input[type="email"] { margin:10px 0px;}
.wpcf7 p { margin-bottom: 0px;}
.wpcf7 p label { padding: 5px 0px;}
.wpcf7-form-control-wrap { width: 100%; }
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 textarea {
    display: block;
    width: 100%;
    padding: .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #495057;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    border-radius: .25rem;
}
.wpcf7 input[type="submit"],
.wpcf7 input[type="button"] {
    background-color:#607630;
    width:100%;
    height: 40px;
    color:#fff;
    text-align:center;
    border:0px;
    text-transform:uppercase;
    border-radius: 5px;
    margin-top:10px;
}
.wpcf7-not-valid-tip{
    color:#607630 !important;
    padding: 5px 0px;
    text-align: left;
    font-size: 0.6rem;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output{
    border: 2px solid #607630;
    margin: 0em;
    padding: 15px;

}
.wpcf7 .ajax-loader{
    margin-top: 10px;
    margin: auto;
}
@media (max-width: 575.98px) {
    .section-1 p {
        font-size:1.5rem;
        line-height:1.5rem;
    }

    .section-2 p, .section-2 h2,.section-2 div {
        text-align: center !important;
    }
}

@media (max-width: 767.98px) {
    .side { padding-left: 0px; }
    .navbar-light .navbar-nav .nav-link { padding: 10px 10px !important; }
    h2 { font-size: 2.8rem;}

}

@media (max-width: 991.98px) {
    .side { padding-left: 20px; }


}

@media (min-width: 1199.98px) {
    .side { padding-left: 20px; }

}

@media (max-width: 1199.99px) {
    .side { padding-left: 20px; }

}

.fpd-modal-wrapper > .fpd-container {
    height: 100% !important;
}
.fpd-modal-product-designer .fpd-done {
    position: absolute;
    top: 0;
    left: 10px;
}

.date-article > div { color:#999 !important;}

.fa-instagram {
    color: transparent;
    background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
    background: -webkit-radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
    background-clip: text;
    -webkit-background-clip: text;
}
.pagination ul  { width:100%; }
.pagination ul li { float: left; list-style: none; padding: 5px 10px;
    margin-right: 5px ; border-radius: 5px;  background: #f2f2f2; }


#catalog .wpb_single_image img {
    height: 110px !important;
    width: auto !important;
    vertical-align: top !important;
}
.titre-produit h5 {
    font-size: 1.2rem;
    font-weight: bold;
    font-family: 'Gotham', sans-serif;}
.produit .vc_custom_heading { text-transform: lowercase !important; }
.produit .vc_custom_heading:first-letter  { text-transform: capitalize !important; }

.recipes {
    background: #e6ecc8 !important;
}
.recipes .active {
    background: #d2d7b9 !important;
}
.list-group-item { background: none; border: none;}



.list-group-item.active {
    z-index: 2;
    color: #fff;
    background-color: #fff;
    border-color: #fff;
}
 #catalog .zrp-logo img {
    height: 210px !important;
    width: auto !important;
    vertical-align: top !important;
}
 .overlay-content img { width: 80px !important;}

.full-image img { width:100% !important; }

.emploi-title a {
    font-family: Asap Condensed !important;
    color: #ae0b21 !important;
    font-size: 1.6rem !important;

}

/* Forcer même hauteur des rangées intérieures WPBakery */
.vc-row-inner-equal {
    display: flex;
    align-items: stretch;
}

.vc-row-inner-equal > .vc_column_container {
    display: flex;
}

.vc-row-inner-equal > .vc_column_container > .vc_column-inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height:450px;
}

/* Timeline Rougeline */
.rougeline-timeline-wrapper {
    max-width: 850px;
    margin: 0 auto;
    padding: 40px 20px;
}

.timeline-intro {
    margin-bottom: 50px;
    font-size: 1.1rem;
    line-height: 1.8;
    color: #333;
    text-align: left;
}

.timeline-intro p {
    margin-bottom: 15px;
}

.rougeline-timeline {
    position: relative;

    gap: 0;
}

.timeline-item {
    align-items: stretch;
    display: flex;
}

.timeline-item > [class*="col-"] {
    display: flex;
    flex-direction: column;
}

.timeline-left,
.timeline-right {
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: center;
    justify-content: center;
    min-height: 150px;
}

.timeline-logo-wrapper,
.timeline-image-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
}

.timeline-logo,
.timeline-image {
    max-width: 150px;
    max-height: 150px;
    padding:0px 10px;
    width: auto;
    height: auto;
    display: block;
    object-fit: contain;
}

.timeline-center {
    background: #364F24;
    color: #fff;
    padding: 0px 25px;
    gap: 0px;
    min-height: 150px;
    height: 100%;
    display: flex;
    flex-direction: column;
}

/* Border radius sur le premier élément */
.rougeline-timeline > .timeline-item:first-child .timeline-center {
    border-top-left-radius: 18px;
    border-top-right-radius: 18px;
}

/* Border radius sur le dernier élément */
.rougeline-timeline > .timeline-item:last-child .timeline-center {
    border-bottom-left-radius: 18px;
    border-bottom-right-radius: 18px;
}

.timeline-year {
    margin-bottom: 0px;
}

.year-number {
    font-size: 4rem;
    font-family: 'Friendly', sans-serif;
    font-weight: normal;
    line-height: 1.2;
    color: #BDD35F;
    display: block;
}

.timeline-description {
    color: #fff;
    font-size: 1rem;
    line-height: 1.7;
    text-align: center;
}

.timeline-description p {
    margin-bottom: 12px;
    color: #fff;
}

.timeline-description p:last-child {
    margin-bottom: 0;
}

/* Responsive */
@media (max-width: 768px) {
    .timeline-left,
    .timeline-right {
        min-height: auto;
        margin-bottom: 15px;
    }

    .timeline-center {
        padding: 25px 20px;
    }

    .year-number {
        font-size: 2rem;
    }

    .timeline-logo,
    .timeline-image {
        max-width: 120px;
    }
}

.footer-bottom-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.footer-text {
    text-align: right;
}

.footer-socials {
    text-align: right;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
.footer-socials-big {
    text-align: center;
    display: flex;
    align-items: center;
}

/* Mobile : centrer les deux colonnes */
@media (max-width: 767.98px) {
    .footer {
        text-align: center;
    }

    .footer h3 {
        text-align: center;
    }

    .footer ul {
        text-align: center;
    }

    .footer-text {
        text-align: center;
        margin-bottom: 10px;
    }

    .footer-socials {
        text-align: center;
        justify-content: center;
    }

    .last-footer {
        font-size: 0.75rem;

    }

    .last-footer a {
        font-size: 0.75rem;
    }
}

.social-icon {
    display: inline-flex;
    width: 38px;
    height: 38px;
    margin-left: 8px;
    border-radius: 50%;
    background-color: #B71918;
    align-items: center;
    justify-content: center;
    transition: transform .2s ease, background-color .2s ease;
}

.social-icon i {
    color: #fff;
    font-size: 16px;
}
.decalage-absolute {
    position: relative;
}
.social-icon:hover {
    transform: translateY(-2px);
    background-color: #861111;
}
.fond-beige {display: none; }
/* Recettes Rougeline */
.rougeline-recipes-wrapper {

}

.recipes-title {
    color: #a2c617;
    font-size: 2rem;
    font-family: 'Asap Condensed', sans-serif;
    margin-bottom: 30px;
    text-align: center;
}

.recipes-filters {
    display: flex;
    gap: 20px;
    margin-bottom: 30px;
    flex-wrap: wrap;
    justify-content: center;
}

.filter-group {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.filter-group label {
    font-size: 0.9rem;
    color: #333;
    font-weight: bold;
}

.recipe-filter {
    padding: 8px 15px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 1rem;
    min-width: 200px;
}

/* Aligne Selectize sur le style des filtres recettes */
.rougeline-recipes-wrapper .selectize-control {
    min-width: 200px;
}

/* Le wrapper Selectize reprend la classe recipe-filter -> on neutralise pour éviter le double cadre */
.rougeline-recipes-wrapper .selectize-control.recipe-filter {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}
.selectize-control { padding-bottom: 0px; }
.selectize-input > input { font-size: 1rem !important; color:#000 !important;}
.selectize-dropdown .optgroup {
    font-size: 1rem;
    color:#000 !important;
}
.selectize-control.plugin-remove_button [data-value] .remove {
    border-left:#ccc 1px solid !important;
}
.rougeline-recipes-wrapper .selectize-control.multi .selectize-input,
.rougeline-recipes-wrapper .selectize-control.single .selectize-input {
    padding: 0px 15px !important;
    border: 1px solid #ccc !important;
    border-radius: 4px !important;
    font-size: 1rem !important;
    font-family: inherit !important;
    text-shadow: none;
    box-shadow: none !important;
    background: #fff !important;
    min-height: 38px !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    width: 100% !important;
}

.rougeline-recipes-wrapper .selectize-control.multi .selectize-input.has-items {
    padding: 0px 12px !important;
}

.rougeline-recipes-wrapper .selectize-control.multi .selectize-input > div {
    background: #f2f2f2 !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    color: #364F24 !important;
    margin: 0 !important;
    line-height: 1.2 !important;
    text-shadow: none !important;
}

.rougeline-recipes-wrapper .selectize-dropdown {
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.08) !important;
}

.rougeline-recipes-wrapper .selectize-control.focus .selectize-input {
    border-color: #a2c617 !important;
}

#recipe-search {
    min-width: 250px;
    padding-top: 6px;
    padding-bottom: 6px;
}

.recipe-search-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.recipe-reset-btn {
    padding: 6px 14px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background: #fff;
    color: #364F24;
    font-size: 1rem;
    font-family: 'Asap Condensed', sans-serif;
    cursor: pointer;
    white-space: nowrap;
}

.recipe-reset-btn:hover {
    border-color: #a2c617;
    background: #f7fbe8;
}

.recipes-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    column-gap: 80px;
    row-gap: 40px;
    margin-bottom: 40px;
}

.recipes-grid .no-recipes-message {
    grid-column: 1 / -1;
    text-align: center;
    color: #364F24;
    font-size: 1.1rem;
    margin: 20px 0;
}

/* Réduire la largeur des colonnes pour rougeline_last_recipes en version lg */
@media (min-width: 992px) {
    .rougeline-last-recipes-wrapper > h2 {
        max-width: 900px;
        margin-bottom: 40px;
        padding-left: 0px;
        margin-left: auto;
        margin-right: auto;
        text-align: left;
    }

    .rougeline-last-recipes-wrapper .recipes-grid {
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
        gap: 76px;
        max-width: 900px;
        margin-left: auto;
        margin-right: auto;
    }
}

.recipe-card {
    border-radius: 28px;
    overflow: hidden;
    background: #a2c617;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.recipe-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.recipe-link {
    display: block;
    text-decoration: none;
}

.recipe-image {
    width: 100%;
    height: 200px;
    overflow: hidden;
    background: #f0f0f0;
}

.recipe-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.recipe-title {
    padding: 15px;
    text-align: center;
    font-size: 1rem;
    color: #364F24;
    min-height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.recipe-title.light-green {
    background-color: #a2c617;
    font-weight: bold;
}

.recipe-title.olive-green {
    background-color: #a2c617;
}

.recipe-title.dark-red {
    background-color: #ae0b21;
    color: #fff;
}

.load-more-wrapper {
    text-align: center;
    margin-top: 40px;
}
.recipe-modal-body h1 {
    font-family: 'Friendly', sans-serif;
    font-size: 1.5rem;
}
.load-more-btn,.vc_btn3-style-gradient-custom {
    background-color: #a2c617 !important;
    color: #364F24 !important;
    border: none !important;
    font-weight: 600 !important;
    padding: 5px 15px !important ;
    font-size: 1rem !important;
    border-radius: 5px !important;
    cursor: pointer !important;
    transition: background-color 0.3s ease !important;
    font-family: 'Asap Condensed', sans-serif !important;
}

a.vc_general.vc_btn3.load-more-btn {
    background-color: #a2c617 !important;
    color: #364F24 !important;
    border: none !important;
    font-weight: 600 !important;
    padding: 5px 15px !important;
    font-size: 1rem !important;
    border-radius: 5px !important;
    cursor: pointer !important;
    font-family: 'Asap Condensed', sans-serif !important;
    text-decoration: none !important;
    display: inline-block !important;
}

.load-more-btn:hover,.vc_btn3-style-gradient-custom  {
    background-color: #8fb015 !important;
}

a.vc_general.vc_btn3.load-more-btn:hover {
    background-color: #8fb015 !important;
    color: #364F24 !important;
}

.load-more-btn:disabled {
    background-color: #ccc;
    cursor: not-allowed;
}

/* Modal recette en plein écran */
#recipe-modal .modal-dialog.modal-fullscreen {
    width: 100vw;
    max-width: 100%;
    height: 100vh;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

#recipe-modal .modal-content {
    height: 100vh;
    border-radius: 15px;
    border: none;
    overflow: hidden;
}

#recipe-modal .modal-body {
    padding: 30px;
    height: 100vh;
    overflow-y: auto;
    position: relative;
    display: flex;
    flex-direction: column;
}

.btn-close-modal {
    position: absolute;
    top: 15px;
    right: 15px;
    background: transparent;
    border: none;
    font-size: 2rem;
    color: #333;
    cursor: pointer;
    z-index: 10;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.btn-close-modal:hover {
    background-color: #f0f0f0;
    color: #ae0b21;
}

.btn-close-modal span {
    line-height: 1;
}

.btn-close-sticky {
    position: sticky;
    bottom: 20px;
    align-self: flex-end;
    border: 1px solid #a2c617;
    background: #fff;
    color: #a2c617;
    padding: 5px 30px;
    font-size: 1rem;
    font-family: 'Asap Condensed', sans-serif;
    border-radius: 25px;
    cursor: pointer;
    z-index: 1000;
    transition: background-color 0.3s ease, transform 0.2s ease;
    margin-top: 0px;
    margin-left: auto;
    display: block;
    width: fit-content;
}

.btn-close-sticky:hover {
    background: #8fb014;
    color:#fff;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0,0,0,0.3);
}

.btn-close-sticky:active {
    transform: translateY(0);
}

.recipe-modal-image img {
    width: 100%;
    height: auto;
    max-height: 400px;
    object-fit: cover;
}

.recipe-modal-content {
    font-size: 1rem;
    line-height: 1.7;
    flex: 1;
}

.recipe-modal-content h1
{
    color: #a2c617 !important;
    font-family: 'Friendly', sans-serif !important;
    margin-top: 18px;
    margin-bottom: 10px;
}

.recipe-modal-content h2,
.recipe-modal-content h3, .recipe-modal-content .vc_do_custom_heading {
    color: #ae0b21;
    font-family: 'Asap Condensed', sans-serif;
    margin-top: 25px;
    margin-bottom: 15px;
}

.recipe-modal-content .vc_single_image-img {

    margin-bottom: 15px !important;
}

.recipe-modal-content h1:first-child,
.recipe-modal-content h2:first-child,
.recipe-modal-content h3:first-child {
    margin-top: 0;
}
.rougeline-last-recipes-wrapper { padding-top: 20px; }
/* Responsive */
@media (max-width: 768px) {
    .recipes-grid {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
        gap: 15px;
    }

    .rougeline-last-recipes-wrapper .recipes-grid {
        gap: 24px;
    }

    .recipes-filters {
        flex-direction: column;
    }

    .recipe-filter {
        width: 100%;
        min-width: auto;
    }
}

/* Fruits et Légumes */
.rougeline-fruits-legumes-wrapper {
    max-width: 1400px;
    margin: 0 auto;
    padding: 40px 20px;
}

/* Tabs verticaux à gauche */
.fruits-legumes-tabs {
    border-right: 2px solid #e0e0e0;
    padding-right: 20px;
    margin-right: 20px;
}

.fruits-legumes-tabs .nav-link {
    padding: 15px 20px;
    margin-bottom: 10px;
    border-radius: 8px;
    background: #f9f9f9;
    color: #60762B;
    font-family: 'Asap Condensed', sans-serif;
    font-size: 1.1rem;
    text-align: left;
    border: none;
    transition: all 0.3s ease;
    cursor: pointer;
}

.fruits-legumes-tabs .nav-link:hover {
    background: #e6ecc8;
    color: #60762B;
}

.fruits-legumes-tabs .nav-link.active {
    background: #a2c617;
    color: #fff;
}

/* Contenu des tabs */
.fruits-legumes-tabContent {
    min-height: 400px;
}

.level2-section {
    margin-bottom: 40px;
}

.level2-title {
    font-family: 'Friendly', sans-serif;
    font-size: 3rem;
    color: #ae0b21;
    margin-bottom: 25px;
    padding-bottom: 10px;
    text-align: center;
    border-bottom: 1px solid #a2c617;
}

/* Catalogue d'articles */
.catalog-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 25px;
    margin-bottom: 30px;
}

.catalog-item {
    background: #f9f9f9;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.catalog-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.catalog-link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.catalog-image {
    width: 100%;
    height: 180px;
    overflow: hidden;
    background: #f0f0f0;
}

.catalog-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.fruit-legume-modal-content h1 { margin-bottom: 20px !important;}
.catalog-title {
    padding: 15px;
    text-align: center;
    font-size: 1rem;
    color: #364F24;
    min-height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f9f9f9;
    font-family: 'Asap Condensed', sans-serif;
}

/* Responsive */
@media (max-width: 992px) {
    .fruits-legumes-tabs {
        border-right: none;
        padding-right: 0;
        padding-bottom: 20px;
        margin-right: 0;
        margin-bottom: 30px;
    }

    .fruits-legumes-tabs .nav-link {
        text-align: center;
    }

    .catalog-grid {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
        gap: 20px;
    }
}

@media (max-width: 768px) {
    .catalog-grid {
        grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
        gap: 15px;
    }

    .catalog-image {
        height: 150px;
    }

    .level2-title {
        font-size: 2.5rem;
    }
}



#fruit-legume-modal .modal-title {
    font-family: 'Friendly', sans-serif;
    font-size: 2.5rem;
    color: #a2c617;
    margin: 0;
}

#fruit-legume-modal .btn-close {
    font-size: 1.5rem;
    opacity: 0.7;
    padding: 10px;
}

#fruit-legume-modal .btn-close:hover {
    opacity: 1;
}

#fruit-legume-modal .modal-dialog {
    display: flex;
    align-items: center;
    min-height: calc(100% - 3.5rem);
}

#fruit-legume-modal .modal-content {
    border-radius: 15px;
    overflow: hidden;
    width: 100%;
}

#fruit-legume-modal .modal-body {
    padding: 30px;
    min-height: 400px;
    overflow-y: auto;
    position: relative;
    display: flex;
    flex-direction: column;
}

.spinner-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 400px;
    width: 100%;
    flex: 1;
}

.spinner-fruit-legume {
    color: #a2c617;
    width: 3rem;
    height: 3rem;
    border-width: 0.3em;
}

.spinner-recipe {
    color: #a2c617;
    width: 3rem;
    height: 3rem;
    border-width: 0.3em;
}

.fruit-legume-modal-content {
    font-size: 1rem;
    line-height: 1.7;
    flex: 1;
}

.fruit-legume-modal-content h1 {
    color: #a2c617 !important;
    font-family: 'Friendly', sans-serif !important;
    margin-top: 18px;
    margin-bottom: 10px;
}

.fruit-legume-modal-content h2,
.fruit-legume-modal-content h3,
.fruit-legume-modal-content .vc_do_custom_heading {
    color: #ae0b21;
    font-family: 'Asap Condensed', sans-serif;
    margin-top: 25px;
    margin-bottom: 15px;
}

.fruit-legume-modal-content .vc_single_image-img {
    margin-bottom: 15px !important;
}

.fruit-legume-modal-content h1:first-child,
.fruit-legume-modal-content h2:first-child,
.fruit-legume-modal-content h3:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    #fruit-legume-modal .modal-title {
        font-size: 1.8rem;
    }

    #fruit-legume-modal .modal-body {
        padding: 20px 15px;
    }
}

/* Desktop uniquement */
@media (min-width: 1200px) {
    .block-projet {
        margin-top: -400px;
    }

    @-moz-document url-prefix() {
        .block-projet {
            position: relative;
            transform: translateY(-0px);
        }
    }
    .decalage-absolute { 
        position: absolute; 
        left: -70px; 
        top: 30px; 
        width: 200px;
        border-radius: 30px;
    }
    .fond-beige {display: inline-block; }
}

/* Shortcode actualités — cartes type maquette */
.bloc-actualites {
    max-width: 1400px;
    margin: 0 auto;
    padding: 20px 15px 40px;
}

.actualites-rubrique-titre {
    text-align: center;
    margin: 0 auto 2rem;
    max-width: 900px;
    line-height: 1.25;
    font-weight: 600;
}

.liste-actualites {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

@media (max-width: 1199px) {
    .liste-actualites {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 991px) {
    .liste-actualites {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}

@media (max-width: 575px) {
    .liste-actualites {
        grid-template-columns: 1fr;
    }
}

.actualite-item {
    margin: 0;
    padding: 0;
}

.actualite-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    border-radius: 28px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.12);
    text-decoration: none;
    color: inherit;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.actualite-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.14);
    color: inherit;
}

.actualite-thumb-wrap {
    display: block;
    overflow: hidden;
    line-height: 0;
    background: #e8e8e8;
}

.actualite-image {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    aspect-ratio: 4 / 3;
}

.actualite-no-img {
    min-height: 200px;
    background: linear-gradient(180deg, #e5e5e5 0%, #d8d8d8 100%);
}

.actualite-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: #a2c617;
    padding: 16px 18px 18px;
    text-align: left;
}

.actualite-titre {
    font-family: 'Asap Condensed', sans-serif;
    font-size: 1.05rem;
    font-weight: 700;
    color: #364f24 !important;
    margin: 0 0 8px;
    line-height: 1.3;
}

.actualite-date {
    font-family: 'Asap Condensed', sans-serif;
    font-size: 0.9rem;
    font-weight: 400;
    color: #364f24;
    opacity: 0.9;
    display: block;
}

.bloc-actualites .actualites-vide {
    text-align: center;
    color: #364f24;
    margin: 2rem 0;
    font-size: 1.1rem;
}