/* ========================= */
/* PAGE AGENDA PREMIUM */
/* ========================= */

.agenda-page{
    background:
        radial-gradient(circle at top left, rgba(0,107,255,.08), transparent 26%),
        radial-gradient(circle at top right, rgba(132,64,255,.06), transparent 24%),
        linear-gradient(180deg,#f5f8ff 0%,#ffffff 38%,#f4f7fb 100%);
    color:#06123a;
}

.agenda-premium{
    position:relative;
    max-width:1500px;
    margin:0 auto;
    padding:26px 32px 64px;
    border-radius:34px;
    background:linear-gradient(180deg,#eef4ff 0%,#f5f8ff 35%,#ffffff 100%);
    font-family:Inter, ui-sans-serif, system-ui, Arial, sans-serif;
}

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

.agenda-hero{
    position:relative;
    display:grid;
    grid-template-columns:1fr 310px;
    gap:36px;
    align-items:center;
    min-height:430px;
    padding:46px;
    border-radius:34px;
    overflow:hidden;
    background:
        linear-gradient(90deg, rgba(2,8,23,.95) 0%, rgba(2,8,23,.86) 36%, rgba(2,8,23,.42) 64%, rgba(2,8,23,.18) 100%),
        url('/images/agenda/entete.png');
    background-size:cover;
    background-position:center;
    border:1px solid rgba(255,255,255,.10);
    box-shadow:0 32px 90px rgba(0,0,0,.35);
}

.agenda-hero__content{
    position:relative;
    z-index:2;
    max-width:720px;
}

.agenda-hero__badge{
    display:inline-flex;
    height:32px;
    align-items:center;
    padding:0 14px;
    border-radius:999px;
    background:rgba(0,107,255,.18);
    color:#5db1ff;
    border:1px solid rgba(93,177,255,.25);
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    margin-bottom:18px;
}

.agenda-hero h1{
    margin:0 0 18px;
    font-size:66px;
    line-height:.95;
    font-weight:900;
    letter-spacing:-2px;
    color:#fff;
    text-transform:uppercase;
    text-shadow:0 10px 32px rgba(0,0,0,.45);
}

.agenda-hero p{
    max-width:600px;
    margin:0 0 28px;
    color:rgba(255,255,255,.80);
    font-size:17px;
    line-height:1.6;
    font-weight:600;
}

.agenda-highlight-box{
    display:flex;
    align-items:center;
    gap:18px;
}

.agenda-highlight-box__badge,
.agenda-highlight-box h2,
.agenda-highlight-box p{
    display:none;
}

.agenda-highlight-box__right{
    display:flex;
    flex-wrap:wrap;
    align-items:stretch;
    gap:12px;
}

.agenda-highlight-box__right > *{
    flex:1;
}

.agenda-alert-button,
.agenda-highlight-box__right a{
    display:inline-flex;
    min-width:230px;
    height:54px;
    align-items:center;
    justify-content:center;
    padding:0 22px;
    border:1px solid #dce8ff;
    border-radius:14px;
    background:#ffffff;
    color:#006BFF;
    font-size:14px;
    font-weight:900;
    text-decoration:none;
    cursor:pointer;
    box-shadow:0 14px 30px rgba(0,107,255,.10);
    transition:.2s ease;
    white-space:nowrap;
    box-sizing:border-box;
}

.agenda-alert-button:hover,
.agenda-highlight-box__right a:hover{
    transform:translateY(-2px);
    background:#f7faff;
    box-shadow:0 18px 38px rgba(0,107,255,.14);
}

.agenda-hero__stats{
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    gap:18px;
}

.agenda-hero__stats article{
    min-height:104px;
    padding:22px;
    border-radius:22px;
    background:rgba(5,15,34,.74);
    border:1px solid rgba(255,255,255,.10);
    backdrop-filter:blur(16px);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

.agenda-hero__stats strong{
    display:block;
    color:#fff;
    font-size:42px;
    line-height:1;
    font-weight:900;
}

.agenda-hero__stats span{
    display:block;
    margin-top:8px;
    color:rgba(255,255,255,.74);
    font-size:14px;
    font-weight:800;
}

/* ========================= */
/* FILTRES - MASQUÉS MAIS CONSERVÉS */
/* ========================= */

.agenda-filters{
    display:none;
    flex-wrap:wrap;
    gap:10px;
    margin-top:28px;
}

.agenda-filter-button{
    display:inline-flex;
    height:42px;
    align-items:center;
    justify-content:center;
    padding:0 18px;
    border-radius:999px;
    border:1px solid #dce8ff;
    background:#fff;
    color:#06123a;
    font-size:13px;
    font-weight:900;
    cursor:pointer;
    box-shadow:0 8px 20px rgba(6,18,58,.05);
}

.agenda-filter-button.is-active{
    background:#006BFF;
    color:#fff;
    border-color:#006BFF;
}

/* ========================= */
/* ONGLETS */
/* ========================= */

.agenda-period-tabs{
    display:flex;
    gap:0;
    width:max-content;
    margin:32px 0 28px;
    padding:5px;
    border-radius:999px;
    background:#ffffff;
    border:1px solid #dce8ff;
    box-shadow:0 10px 28px rgba(6,18,58,.08);
}

.agenda-period-tabs a{
    display:inline-flex;
    height:44px;
    align-items:center;
    justify-content:center;
    padding:0 28px;
    border-radius:999px;
    color:#06123a;
    font-size:14px;
    font-weight:900;
    text-decoration:none;
}

.agenda-period-tabs a.is-active{
    background:#006BFF;
    color:#fff;
    box-shadow:0 12px 28px rgba(0,107,255,.28);
}

/* ========================= */
/* CARTES MOIS */
/* ========================= */

.agenda-month-nav{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:calc((100% - 100px) / 6);
    grid-template-columns:none;
    gap:20px;
    overflow-x:auto;
    overflow-y:hidden;
    padding:6px 4px 28px;
    margin:0 0 34px;
    scroll-behavior:smooth;
    scrollbar-width:thin;
    scrollbar-color:#006BFF #dce8ff;
}

.agenda-month-nav::-webkit-scrollbar{
    height:10px;
}

.agenda-month-nav::-webkit-scrollbar-track{
    background:#dce8ff;
    border-radius:999px;
}

.agenda-month-nav::-webkit-scrollbar-thumb{
    background:#006BFF;
    border-radius:999px;
}

.agenda-month-card,
.agenda-month-nav a{
    position:relative;
    min-width:0;
    min-height:285px;
    display:flex;
    align-items:flex-end;
    padding:22px;
    border-radius:24px;
    overflow:hidden;
    text-decoration:none;
    background-size:cover;
    background-position:center;
    border:1px solid rgba(255,255,255,.10);
    box-shadow:0 18px 50px rgba(0,0,0,.28);
    transition:transform .22s ease, box-shadow .22s ease;
}

.agenda-month-card:hover,
.agenda-month-nav a:hover{
    transform:translateY(-6px);
    box-shadow:0 28px 70px rgba(0,0,0,.40);
}

.agenda-month-card__overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(0,0,0,.02) 0%, rgba(0,0,0,.22) 48%, rgba(0,0,0,.82) 100%);
}

.agenda-month-card__content{
    position:relative;
    z-index:2;
}

.agenda-month-card__label{
    display:none;
}

.agenda-month-card strong,
.agenda-month-nav a strong{
    display:block;
    color:#fff;
    font-size:31px;
    line-height:1;
    font-weight:900;
    letter-spacing:-1px;
    text-transform:uppercase;
    text-shadow:0 8px 24px rgba(0,0,0,.58);
}

.agenda-month-card small,
.agenda-month-nav a span{
    display:inline-flex;
    margin-top:12px;
    height:28px;
    align-items:center;
    padding:0 11px;
    border-radius:999px;
    background:rgba(0,0,0,.36);
    color:#fff;
    font-size:13px;
    font-weight:900;
    backdrop-filter:blur(10px);
}

/* ========================= */
/* MOIS */
/* ========================= */

.agenda-month{
    margin-top:28px;
    padding:30px;
    border-radius:30px;
    background:rgba(255,255,255,.88);
    border:1px solid rgba(6,18,58,.08);
    box-shadow:0 20px 55px rgba(6,18,58,.10);
    backdrop-filter:blur(16px);
}

.agenda-month__header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    margin-bottom:28px;
}

.agenda-month__header span{
    color:#5db1ff;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
}

.agenda-month__header h2{
    margin:6px 0 0;
    color:#06123a;
    font-size:34px;
    line-height:1;
    font-weight:900;
    letter-spacing:-1px;
}

.agenda-month__header strong{
    display:inline-flex;
    height:36px;
    align-items:center;
    padding:0 15px;
    border-radius:999px;
    background:rgba(0,107,255,.16);
    color:#006BFF;
    font-size:13px;
    font-weight:900;
}

/* ========================= */
/* SORTIES MAJEURES */
/* ========================= */

.agenda-featured{
    margin-bottom:30px;
}

.agenda-featured__title{
    margin-bottom:16px;
    color:#06123a;
    font-size:15px;
    font-weight:900;
    text-transform:uppercase;
}

.agenda-featured__grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}

.agenda-featured-card{
    overflow:hidden;
    border-radius:24px;
    background:#fff;
    border:1px solid rgba(6,18,58,.06);
    box-shadow:0 18px 42px rgba(6,18,58,.10);
}

.agenda-featured-card__image{
    position:relative;
    height:230px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(180deg,#ffffff,#eef4ff);
}

.agenda-featured-card__image img{
    width:100%;
    height:100%;
    object-fit:contain;
    padding:18px;
}

.agenda-featured-card__image span{
    position:absolute;
    top:14px;
    left:14px;
    height:28px;
    display:inline-flex;
    align-items:center;
    padding:0 11px;
    border-radius:999px;
    background:#006BFF;
    color:#fff;
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
}

.agenda-featured-card__body{
    padding:18px;
}

.agenda-featured-card__body small{
    display:inline-flex;
    height:28px;
    align-items:center;
    padding:0 10px;
    border-radius:999px;
    background:rgba(0,107,255,.16);
    color:#006BFF;
    font-size:11px;
    font-weight:900;
    margin-bottom:12px;
}

.agenda-featured-card h3{
    min-height:46px;
    margin:0 0 10px;
    font-size:19px;
    line-height:1.22;
    font-weight:900;
}

.agenda-featured-card h3 a{
    color:#06123a;
    text-decoration:none;
}

.agenda-featured-card p{
    color:#64748b;
    font-size:13px;
    font-weight:700;
    margin-bottom:14px;
}

.agenda-featured-card__meta{
    display:flex;
    gap:8px;
    margin-bottom:14px;
}

.agenda-featured-card__meta span{
    height:27px;
    display:inline-flex;
    align-items:center;
    padding:0 9px;
    border-radius:999px;
    background:#eef4ff;
    color:#006BFF;
    font-size:11px;
    font-weight:900;
}

.agenda-featured-card__btn{
    display:flex;
    height:40px;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    background:#006BFF;
    color:#fff;
    font-size:13px;
    font-weight:900;
    text-decoration:none;
}

/* ========================= */
/* TIMELINE */
/* ========================= */

.agenda-timeline{
    display:flex;
    flex-direction:column;
    gap:30px;
}

.agenda-week{
    display:grid;
    grid-template-columns:92px 1fr;
    gap:24px;
}

.agenda-week__marker{
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
}

.agenda-week__marker::after{
    content:"";
    position:absolute;
    top:74px;
    bottom:-44px;
    width:3px;
    border-radius:999px;
    background:linear-gradient(180deg,#006BFF,rgba(0,107,255,.08));
}

.agenda-week:last-child .agenda-week__marker::after{
    display:none;
}

.agenda-week__marker strong{
    width:70px;
    height:70px;
    border-radius:18px;
    background:linear-gradient(135deg,#006BFF,#004ec7);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:21px;
    font-weight:900;
    box-shadow:0 16px 38px rgba(0,107,255,.26);
}

.agenda-week__marker span{
    margin-top:8px;
    color:#06123a;
    background:#ffffff;
    border:1px solid #dce8ff;
    border-radius:999px;
    padding:5px 10px;
    box-shadow:0 8px 18px rgba(6,18,58,.06);
    font-size:12px;
    font-weight:900;
}

.agenda-week__content{
    padding-bottom:26px;
    border-bottom:1px solid rgba(6,18,58,.08);
}

.agenda-week__header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:16px;
}

.agenda-week__header h3{
    margin:0;
    color:#06123a;
    font-size:20px;
    font-weight:900;
}

.agenda-week__header span{
    color:#64748b;
    font-size:13px;
    font-weight:800;
}

/* ========================= */
/* PRODUITS */
/* ========================= */

.agenda-products-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
}

.agenda-product-card{
    display:grid;
    grid-template-columns:104px 1fr;
    gap:14px;
    padding:14px;
    border-radius:20px;
    background:#ffffff;
    border:1px solid rgba(6,18,58,.06);
    box-shadow:0 14px 34px rgba(6,18,58,.08);
    transition:.2s ease;
}

.agenda-product-card:hover{
    transform:translateY(-3px);
    background:#fff;
}

.agenda-product-card__image{
    height:132px;
    border-radius:16px;
    background:#f7faff;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}

.agenda-product-card__image img{
    width:100%;
    height:100%;
    object-fit:contain;
    padding:8px;
}

.agenda-product-card__top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:8px;
    margin-bottom:8px;
}

.agenda-product-card__top span{
    display:inline-flex;
    max-width:130px;
    height:24px;
    align-items:center;
    padding:0 9px;
    border-radius:999px;
    background:#006BFF;
    color:#fff;
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.agenda-product-card h4{
    min-height:40px;
    margin:0 0 7px;
    font-size:14px;
    line-height:1.35;
    font-weight:900;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

.agenda-product-card h4 a{
    color:#06123a;
    text-decoration:none;
}

.agenda-product-card p{
    margin:0 0 6px;
    color:#64748b;
    font-size:12px;
    font-weight:700;
}

.agenda-product-card__body > strong{
    display:block;
    margin-bottom:9px;
    color:#23a862;
    font-size:12px;
    font-weight:900;
}

.agenda-product-card__body > strong.is-soon{
    color:#e28a00;
}

.agenda-product-card__body > strong.is-past{
    color:#64748b;
}

.agenda-product-card__stats{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}

.agenda-product-card__stats span{
    display:inline-flex;
    height:24px;
    align-items:center;
    padding:0 8px;
    border-radius:999px;
    background:#eef4ff;
    color:#006BFF;
    font-size:10px;
    font-weight:900;
}

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

.agenda-product-reminder-button,
.agenda-admin-featured-button{
    width:36px;
    height:36px;
    border:0;
    border-radius:50%;
    background:#eef3fb;
    color:#7f8da3;
    font-size:15px;
    cursor:pointer;
    transition:.2s ease;
    flex:0 0 36px;
}

.agenda-product-reminder-button:hover,
.agenda-admin-featured-button:hover{
    background:#dfeeff;
    color:#006BFF;
    transform:translateY(-1px);
}

.agenda-product-reminder-button.is-active{
    background:#006BFF;
    color:#fff;
    box-shadow:0 10px 22px rgba(0,107,255,.22);
}

.agenda-admin-featured-button.is-active{
    background:#ffbf00;
    color:#fff;
    box-shadow:0 10px 24px rgba(255,191,0,.28);
}

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

.agenda-empty{
    margin-top:20px;
    padding:40px;
    border-radius:24px;
    background:#fff;
    border:1px solid rgba(6,18,58,.08);
    text-align:center;
}

.agenda-empty h2{
    color:#06123a;
    font-size:26px;
    margin-bottom:8px;
}

.agenda-empty p{
    color:#64748b;
    font-weight:700;
}

/* ========================= */
/* POPUP ALERTES NOUVEAUTÉS */
/* ========================= */

.agenda-alert-popup,
.agenda-reminder-popup{
    position:fixed;
    inset:0;
    z-index:999999;
    display:none;
}

.agenda-alert-popup.is-visible,
.agenda-reminder-popup.is-visible{
    display:block;
}

.agenda-alert-popup__overlay,
.agenda-reminder-popup__overlay{
    position:absolute;
    inset:0;
    background:rgba(3,10,35,.68);
    backdrop-filter:blur(8px);
}

.agenda-alert-popup__content,
.agenda-reminder-popup__content{
    position:relative;
    z-index:2;
    width:min(560px, calc(100% - 32px));
    margin:7vh auto 0;
    padding:28px;
    border-radius:26px;
    background:#fff;
    color:#06123a;
    box-shadow:0 30px 90px rgba(0,0,0,.30);
    box-sizing:border-box;
}

.agenda-reminder-popup__content{
    width:min(420px, calc(100% - 32px));
    margin-top:10vh;
}

.agenda-alert-popup__close,
.agenda-reminder-popup__close{
    position:absolute;
    top:16px;
    right:16px;
    width:38px;
    height:38px;
    border:0;
    border-radius:50%;
    background:#f1f5ff;
    color:#06123a;
    font-weight:900;
    cursor:pointer;
    z-index:10;
}

.agenda-alert-popup h2,
.agenda-reminder-popup h2{
    margin:0 44px 10px 0;
    color:#06123a;
    font-size:26px;
    line-height:1.15;
    font-weight:900;
}

.agenda-alert-popup p,
.agenda-reminder-popup p{
    margin:0 0 20px;
    color:#667085;
    font-size:14px;
    line-height:1.5;
    font-weight:700;
}

.agenda-alert-popup__categories,
.agenda-alert-popup__channels{
    display:grid;
    gap:10px;
    margin-bottom:18px;
}

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

.agenda-alert-popup label,
.agenda-reminder-popup label{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:46px;
    padding:12px 14px;
    border-radius:14px;
    background:#f7faff;
    border:1px solid #e2ebfb;
    color:#06123a;
    font-size:14px;
    font-weight:900;
    cursor:pointer;
}

.agenda-alert-popup input,
.agenda-reminder-popup input[type="checkbox"]{
    width:18px;
    height:18px;
    accent-color:#006BFF;
}

.agenda-alert-popup__submit,
.agenda-reminder-popup button[type="submit"]{
    width:100%;
    height:50px;
    border:0;
    border-radius:14px;
    background:#006BFF;
    color:#fff;
    font-size:14px;
    font-weight:900;
    cursor:pointer;
    box-shadow:0 14px 28px rgba(0,107,255,.20);
}

.agenda-reminder-popup form{
    display:flex;
    flex-direction:column;
    gap:14px;
}

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

@media(max-width:1200px){
    .agenda-products-grid{
        grid-template-columns:repeat(3,1fr);
    }

    .agenda-featured__grid{
        grid-template-columns:1fr 1fr;
    }

    .agenda-month-nav{
        grid-auto-columns:calc((100% - 60px) / 4);
    }
}

@media(max-width:900px){
    .agenda-premium{
        padding:18px 16px 46px;
    }

    .agenda-hero{
        grid-template-columns:1fr;
        min-height:auto;
        padding:30px;
    }

    .agenda-hero h1{
        font-size:42px;
    }

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

    .agenda-month-nav{
        grid-auto-columns:calc((100% - 20px) / 2);
    }

    .agenda-week{
        grid-template-columns:1fr;
    }

    .agenda-week__marker{
        align-items:flex-start;
    }

    .agenda-week__marker::after{
        display:none;
    }

    .agenda-products-grid{
        grid-template-columns:1fr 1fr;
    }
}

/* ========================= */
/* MOBILE AGENDA SIMPLIFIÉ */
/* ========================= */

@media(max-width:650px){

    .agenda-premium{
        padding:14px 12px 40px;
        border-radius:0;
    }

    .agenda-hero{
        min-height:auto;
        padding:18px;
        border-radius:22px;
        display:block;
    }

    .agenda-hero__badge,
    .agenda-hero h1,
    .agenda-hero p,
    .agenda-hero__stats,
    .agenda-filters,
    .agenda-month-nav{
        display:none !important;
    }

    .agenda-highlight-box{
        display:block;
        margin:0;
    }

    .agenda-highlight-box__right{
        display:flex;
        flex-direction:column;
        gap:10px;
        width:100%;
    }

    .agenda-alert-button,
    .agenda-highlight-box__right a{
        width:100%;
        min-width:0;
        height:50px;
        padding:0 14px;
        font-size:14px;
        border-radius:14px;
        box-sizing:border-box;
    }

    .agenda-period-tabs{
        width:100%;
        margin:18px 0;
    }

    .agenda-period-tabs a{
        flex:1;
        padding:0 10px;
        font-size:13px;
    }

    .agenda-month{
        margin-top:16px;
        padding:16px;
        border-radius:22px;
    }

    .agenda-month__header{
        flex-direction:column;
        align-items:flex-start;
        margin-bottom:18px;
    }

    .agenda-month__header h2{
        font-size:26px;
    }

    .agenda-week{
        display:block;
    }

    .agenda-week__marker{
        display:none;
    }

    .agenda-week__header{
        flex-direction:column;
        align-items:flex-start;
        gap:6px;
    }

    .agenda-products-grid{
        grid-template-columns:1fr;
        gap:14px;
    }

    .agenda-product-card{
        width:100%;
        grid-template-columns:100px 1fr;
        box-sizing:border-box;
    }

    .agenda-product-card__image{
        height:132px;
    }

    .agenda-featured__grid{
        grid-template-columns:1fr;
    }

    .agenda-alert-popup__content,
    .agenda-reminder-popup__content{
        width:calc(100% - 24px);
        margin:6vh auto 0;
        padding:22px;
    }

    .agenda-alert-popup__categories{
        grid-template-columns:1fr;
    }
}
@media(max-width:650px){

    .agenda-alert-popup,
    .agenda-reminder-popup{
        overflow-y:auto !important;
        -webkit-overflow-scrolling:touch;
    }

    .agenda-alert-popup__content,
    .agenda-reminder-popup__content{
        max-height:calc(100vh - 32px) !important;
        overflow-y:auto !important;
        margin:16px auto !important;
    }
}

/* ========================= */
/* AGENDA - PREMIUM FINAL */
/* ========================= */

/* Correction Chrome : empêche les cartes de dépasser */
.agenda-products-grid{
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
}

.agenda-product-card,
.agenda-featured-card{
    min-width:0 !important;
    overflow:hidden;
}

/* Sorties majeures : rendu premium doré */
.agenda-featured{
    padding:18px;
    margin-bottom:34px;
    border-radius:26px;
    background:
        linear-gradient(180deg, rgba(255,248,230,.72), rgba(255,255,255,.88));
    border:1px solid rgba(255,191,0,.48);
    box-shadow:
        0 18px 42px rgba(255,191,0,.12),
        inset 0 0 0 1px rgba(255,255,255,.65);
}

.agenda-featured__title{
    display:flex;
    align-items:center;
    gap:10px;
    color:#06123a !important;
    margin-bottom:18px;
}

.agenda-featured__title::before{
    content:"⭐";
    font-size:20px;
}

.agenda-featured__title::after{
    content:"";
    flex:1;
    height:1px;
    background:linear-gradient(90deg, rgba(255,191,0,.75), transparent);
}

.agenda-featured-card{
    border:1px solid rgba(255,191,0,.60) !important;
    box-shadow:
        0 18px 44px rgba(6,18,58,.08),
        0 0 0 1px rgba(255,255,255,.70) inset !important;
}

.agenda-featured-card__body small{
    background:#fff2cc !important;
    color:#9a6500 !important;
}

/* Boutons haut : rendu type maquette */
.agenda-highlight-box__right{
    display:grid !important;
    grid-template-columns:1fr 1fr;
    gap:18px !important;
    width:100%;
    max-width:920px;
}

.agenda-alert-button,
.agenda-highlight-box__right a{
    position:relative;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:14px;
    height:74px !important;
    padding:0 22px !important;
    border-radius:18px !important;
    background:#fff !important;
    color:#06123a !important;
    border:1px solid #dce8ff !important;
    box-shadow:0 14px 34px rgba(6,18,58,.08) !important;
    font-size:15px !important;
    font-weight:900 !important;
}

.agenda-alert-button::after,
.agenda-highlight-box__right a::after{
    content:"›";
    margin-left:auto;
    color:#006BFF;
    font-size:30px;
    line-height:1;
}

.agenda-alert-button:hover,
.agenda-highlight-box__right a:hover{
    transform:translateY(-2px);
    box-shadow:0 20px 44px rgba(6,18,58,.12) !important;
}

/* Mobile : boutons bien larges et lisibles */
@media(max-width:650px){

    .agenda-highlight-box__right{
        grid-template-columns:1fr !important;
        gap:12px !important;
        max-width:none !important;
    }

    .agenda-alert-button,
    .agenda-highlight-box__right a{
        width:100% !important;
        min-height:68px !important;
        height:auto !important;
        box-sizing:border-box !important;
        padding:14px 18px !important;
        font-size:14px !important;
        border-radius:18px !important;
    }

    .agenda-products-grid{
        grid-template-columns:1fr !important;
    }

    .agenda-featured{
        padding:14px !important;
        border-radius:22px !important;
    }
}

/* Mobile : réafficher les semaines */
@media(max-width:650px){

    .agenda-week__marker{
        display:flex !important;
        flex-direction:row !important;
        align-items:center !important;
        gap:10px !important;
        margin-bottom:12px !important;
    }

    .agenda-week__marker strong{
        width:52px !important;
        height:52px !important;
        border-radius:14px !important;
        font-size:16px !important;
    }

    .agenda-week__marker span{
        margin-top:0 !important;
        color:#06123a !important;
    }

    .agenda-week__marker::after{
        display:none !important;
    }
}
.agenda-date-badge{
    display:inline-flex;
    align-items:center;
    width:max-content;
    margin-left:6px;
    padding:4px 8px;
    border-radius:999px;
    font-size:11px;
    font-weight:900;
    line-height:1;
    vertical-align:middle;
}

.agenda-date-badge--estimated{
    background:#fff4e5;
    color:#a05a00;
    border:1px solid #ffd99b;
}

.agenda-view-tabs{
    display:flex;
    gap:8px;
    margin:18px 0 26px;
    padding:6px;
    width:max-content;
    border-radius:999px;
    background:#fff;
    border:1px solid #dce8ff;
    box-shadow:0 10px 28px rgba(6,18,58,.08);
}

.agenda-view-tabs a{
    display:inline-flex;
    height:42px;
    align-items:center;
    justify-content:center;
    padding:0 20px;
    border-radius:999px;
    color:#06123a;
    font-size:13px;
    font-weight:900;
    text-decoration:none;
}

.agenda-view-tabs a.is-active{
    background:#006BFF;
    color:#fff;
}

.agenda-covers-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
    gap:20px;
}

.agenda-cover-card{
    overflow:hidden;
    border-radius:22px;
    background:#fff;
    border:1px solid #e4ecff;
    box-shadow:0 14px 34px rgba(6,18,58,.08);
}

.agenda-cover-card img{
    width:100%;
    height:300px;
    object-fit:contain;
    background:#fff;
}

.agenda-cover-card__body{
    padding:14px;
}

.agenda-cover-card h3{
    margin:0 0 8px;
    font-size:14px;
    line-height:1.3;
}

.agenda-cover-card small{
    color:#64748b;
}
/* ========================= */
/* VUE JAQUETTES PAR MOIS */
/* ========================= */

.agenda-jackets-view{
    display:flex;
    flex-direction:column;
    gap:34px;
}

.agenda-jackets-month{
    overflow:hidden;
    border-radius:30px;
    background:#ffffff;
    border:1px solid rgba(6,18,58,.08);
    box-shadow:0 20px 55px rgba(6,18,58,.10);
}

.agenda-jackets-month__hero{
    position:relative;
    min-height:240px;
    display:flex;
    align-items:flex-end;
    padding:34px;
    background-size:cover;
    background-position:center;
}

.agenda-jackets-month__overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(180deg, rgba(0,0,0,.10) 0%, rgba(0,0,0,.38) 46%, rgba(0,0,0,.82) 100%),
        linear-gradient(90deg, rgba(0,25,70,.70), transparent 70%);
}

.agenda-jackets-month__content{
    position:relative;
    z-index:2;
}

.agenda-jackets-month__content span{
    display:inline-flex;
    height:30px;
    align-items:center;
    padding:0 12px;
    border-radius:999px;
    background:rgba(0,107,255,.92);
    color:#fff;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    margin-bottom:12px;
}

.agenda-jackets-month__content h2{
    margin:0;
    color:#fff;
    font-size:48px;
    line-height:1;
    font-weight:900;
    text-transform:uppercase;
    text-shadow:0 12px 32px rgba(0,0,0,.55);
}

.agenda-jackets-month__content p{
    margin:10px 0 0;
    color:rgba(255,255,255,.86);
    font-size:15px;
    font-weight:800;
}

.agenda-jackets-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(170px, 1fr));
    gap:18px;
    padding:24px;
}

.agenda-jacket-card{
    position:relative;
    display:flex;
    flex-direction:column;
    min-width:0;
    border-radius:22px;
    background:#fff;
    border:1px solid #e4ecff;
    box-shadow:0 12px 30px rgba(6,18,58,.08);
    overflow:hidden;
    transition:.2s ease;
}

.agenda-jacket-card:hover{
    transform:translateY(-4px);
    box-shadow:0 20px 44px rgba(6,18,58,.12);
}

.agenda-jacket-card__featured{
    position:absolute;
    z-index:3;
    top:10px;
    left:10px;
    display:inline-flex;
    height:26px;
    align-items:center;
    padding:0 10px;
    border-radius:999px;
    background:#ffbf00;
    color:#06123a;
    font-size:10px;
    font-weight:900;
    box-shadow:0 8px 18px rgba(255,191,0,.28);
}

.agenda-jacket-card__image{
    height:245px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:16px;
    background:linear-gradient(180deg,#f8fbff,#ffffff);
}

.agenda-jacket-card__image img{
    width:100%;
    height:100%;
    object-fit:contain;
}

.agenda-jacket-card__body{
    padding:14px;
}

.agenda-jacket-card__category{
    display:inline-flex;
    max-width:100%;
    height:24px;
    align-items:center;
    padding:0 9px;
    border-radius:999px;
    background:#006BFF;
    color:#fff;
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    margin-bottom:10px;
}

.agenda-jacket-card h3{
    min-height:42px;
    margin:0 0 8px;
    font-size:14px;
    line-height:1.35;
    font-weight:900;
}

.agenda-jacket-card h3 a{
    color:#06123a;
    text-decoration:none;
}

.agenda-jacket-card p{
    margin:0 0 12px;
    color:#64748b;
    font-size:12px;
    font-weight:700;
}

.agenda-jacket-card__actions{
    display:flex;
    gap:8px;
    justify-content:flex-end;
}

@media(max-width:900px){
    .agenda-jackets-month__hero{
        min-height:200px;
        padding:26px;
    }

    .agenda-jackets-month__content h2{
        font-size:36px;
    }

    .agenda-jackets-grid{
        grid-template-columns:repeat(auto-fill, minmax(145px, 1fr));
        gap:14px;
        padding:16px;
    }

    .agenda-jacket-card__image{
        height:210px;
    }
}

@media(max-width:650px){
    .agenda-jackets-view{
        gap:22px;
    }

    .agenda-jackets-month{
        border-radius:24px;
    }

    .agenda-jackets-month__hero{
        min-height:170px;
        padding:22px;
    }

    .agenda-jackets-month__content h2{
        font-size:30px;
    }

    .agenda-jackets-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:12px;
        padding:12px;
    }

    .agenda-jacket-card__image{
        height:190px;
        padding:10px;
    }

    .agenda-jacket-card__body{
        padding:12px;
    }
}

/* ========================= */
/* VUE SORTIES MAJEURES */
/* ========================= */

.agenda-majors-view{
    display:flex;
    flex-direction:column;
    gap:34px;
}

.agenda-majors-month{
    overflow:hidden;
    border-radius:30px;
    background:
        linear-gradient(180deg, rgba(255,248,230,.86), rgba(255,255,255,.96));
    border:1px solid rgba(255,191,0,.52);
    box-shadow:
        0 22px 60px rgba(255,191,0,.14),
        0 20px 55px rgba(6,18,58,.08);
}

.agenda-majors-month__hero{
    position:relative;
    min-height:250px;
    display:flex;
    align-items:flex-end;
    padding:34px;
    background-size:cover;
    background-position:center;
}

.agenda-majors-month__overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,.42) 48%, rgba(0,0,0,.86) 100%),
        linear-gradient(90deg, rgba(40,24,0,.74), transparent 72%);
}

.agenda-majors-month__content{
    position:relative;
    z-index:2;
}

.agenda-majors-month__content span{
    display:inline-flex;
    height:32px;
    align-items:center;
    padding:0 13px;
    border-radius:999px;
    background:#ffbf00;
    color:#06123a;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    margin-bottom:12px;
    box-shadow:0 10px 22px rgba(255,191,0,.28);
}

.agenda-majors-month__content h2{
    margin:0;
    color:#fff;
    font-size:50px;
    line-height:1;
    font-weight:900;
    text-transform:uppercase;
    text-shadow:0 12px 32px rgba(0,0,0,.58);
}

.agenda-majors-month__content p{
    margin:10px 0 0;
    color:rgba(255,255,255,.88);
    font-size:15px;
    font-weight:800;
}

.agenda-majors-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));
    gap:20px;
    padding:24px;
}

.agenda-major-card{
    display:grid;
    grid-template-columns:150px 1fr;
    gap:18px;
    padding:16px;
    border-radius:24px;
    background:#fff;
    border:1px solid rgba(255,191,0,.45);
    box-shadow:
        0 16px 36px rgba(6,18,58,.08),
        inset 0 0 0 1px rgba(255,255,255,.72);
}

.agenda-major-card__image{
    height:210px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:18px;
    background:linear-gradient(180deg,#fff8e8,#ffffff);
    overflow:hidden;
}

.agenda-major-card__image img{
    width:100%;
    height:100%;
    object-fit:contain;
    padding:12px;
}

.agenda-major-card__body{
    min-width:0;
}

.agenda-major-card__badge{
    display:inline-flex;
    height:28px;
    align-items:center;
    padding:0 11px;
    border-radius:999px;
    background:#ffbf00;
    color:#06123a;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    margin-bottom:10px;
}

.agenda-major-card h3{
    margin:0 0 10px;
    font-size:21px;
    line-height:1.2;
    font-weight:900;
}

.agenda-major-card h3 a{
    color:#06123a;
    text-decoration:none;
}

.agenda-major-card p{
    margin:0 0 14px;
    color:#64748b;
    font-size:13px;
    font-weight:700;
}

.agenda-major-card__meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:16px;
}

.agenda-major-card__meta span{
    display:inline-flex;
    height:27px;
    align-items:center;
    padding:0 10px;
    border-radius:999px;
    background:#f3f7ff;
    color:#06123a;
    font-size:11px;
    font-weight:900;
}

.agenda-major-card__actions{
    display:flex;
    align-items:center;
    gap:10px;
}

.agenda-major-card__actions > a{
    display:inline-flex;
    height:40px;
    align-items:center;
    justify-content:center;
    padding:0 16px;
    border-radius:12px;
    background:#006BFF;
    color:#fff;
    font-size:13px;
    font-weight:900;
    text-decoration:none;
}

@media(max-width:900px){
    .agenda-majors-month__hero{
        min-height:210px;
        padding:26px;
    }

    .agenda-majors-month__content h2{
        font-size:38px;
    }

    .agenda-majors-grid{
        grid-template-columns:1fr;
        padding:16px;
    }
}

@media(max-width:650px){
    .agenda-majors-month{
        border-radius:24px;
    }

    .agenda-majors-month__hero{
        min-height:175px;
        padding:22px;
    }

    .agenda-majors-month__content h2{
        font-size:30px;
    }

    .agenda-major-card{
        grid-template-columns:110px 1fr;
        gap:12px;
        padding:12px;
        border-radius:20px;
    }

    .agenda-major-card__image{
        height:165px;
    }

    .agenda-major-card h3{
        font-size:15px;
    }

    .agenda-major-card__actions{
        flex-wrap:wrap;
    }

    .agenda-major-card__actions > a{
        width:100%;
    }
}
/* ========================= */
/* VUE CALENDRIER */
/* ========================= */

.agenda-calendar-view{
    display:flex;
    flex-direction:column;
    gap:34px;
}

.agenda-calendar-month{
    overflow:hidden;
    border-radius:30px;
    background:#fff;
    border:1px solid rgba(6,18,58,.08);
    box-shadow:0 20px 55px rgba(6,18,58,.10);
}

.agenda-calendar-month__hero{
    position:relative;
    min-height:230px;
    display:flex;
    align-items:flex-end;
    padding:34px;
    background-size:cover;
    background-position:center;
}

.agenda-calendar-month__overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.78)),
        linear-gradient(90deg, rgba(0,25,70,.75), transparent 72%);
}

.agenda-calendar-month__content{
    position:relative;
    z-index:2;
}

.agenda-calendar-month__content span{
    display:inline-flex;
    height:30px;
    align-items:center;
    padding:0 12px;
    border-radius:999px;
    background:#006BFF;
    color:#fff;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    margin-bottom:12px;
}

.agenda-calendar-month__content h2{
    margin:0;
    color:#fff;
    font-size:48px;
    font-weight:900;
    text-transform:uppercase;
}

.agenda-calendar-month__content p{
    margin:10px 0 0;
    color:rgba(255,255,255,.88);
    font-size:15px;
    font-weight:800;
}

.agenda-calendar-grid{
    display:grid;
    grid-template-columns:repeat(5, minmax(0, 1fr));
    padding:18px;
}

.agenda-calendar-day-name{
    padding:12px;
    text-align:center;
    color:#06123a;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    border-bottom:1px solid #e4ecff;
}

.agenda-calendar-cell{
    min-height:150px;
    padding:10px;
    border-right:1px solid #e4ecff;
    border-bottom:1px solid #e4ecff;
    background:#fff;
}

.agenda-calendar-cell:nth-child(7n){
    border-right:0;
}

.agenda-calendar-cell.is-empty{
    background:#f7faff;
}

.agenda-calendar-cell__day{
    display:block;
    margin-bottom:8px;
    color:#06123a;
    font-size:15px;
    font-weight:900;
}

.agenda-calendar-product{
    display:grid;
    grid-template-columns:38px 1fr;
    gap:8px;
    align-items:center;
    min-height:48px;
    margin-bottom:7px;
    padding:6px;
    border-radius:12px;
    background:#f7faff;
    border:1px solid #e4ecff;
    text-decoration:none;
}

.agenda-calendar-product.is-major{
    background:#fff8e8;
    border-color:rgba(255,191,0,.55);
}

.agenda-calendar-product img{
    width:38px;
    height:46px;
    object-fit:contain;
}

.agenda-calendar-product span{
    color:#06123a;
    font-size:11px;
    line-height:1.25;
    font-weight:900;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

.agenda-calendar-more{
    display:inline-flex;
    margin-top:2px;
    height:24px;
    align-items:center;
    padding:0 9px;
    border-radius:999px;
    background:#eaf2ff;
    color:#006BFF;
    font-size:11px;
    font-weight:900;
}

@media(max-width:900px){
    .agenda-calendar-grid{
        display:flex;
        flex-direction:column;
        gap:10px;
        padding:14px;
    }

    .agenda-calendar-day-name,
    .agenda-calendar-cell.is-empty{
        display:none;
    }

    .agenda-calendar-cell{
        min-height:auto;
        border:1px solid #e4ecff;
        border-radius:18px;
    }

    .agenda-calendar-cell:not(:has(.agenda-calendar-product)){
        display:none;
    }

    .agenda-calendar-cell__day{
        font-size:18px;
    }

    .agenda-calendar-product{
        grid-template-columns:46px 1fr;
    }

    .agenda-calendar-product img{
        width:46px;
        height:58px;
    }
}
/* Agenda pleine largeur */
.agenda-premium{
    max-width:none !important;
    width:100% !important;
    padding-left:24px !important;
    padding-right:24px !important;
    box-sizing:border-box !important;
}

@media(max-width:650px){
    .agenda-premium{
        padding-left:10px !important;
        padding-right:10px !important;
    }
}

/* ========================= */
/* AGENDA FULL WIDTH GLOBAL */
/* ========================= */

main.agenda-page{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    display:block !important;
}

main.agenda-page > .agenda-premium{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    border-radius:0 !important;
    padding-left:24px !important;
    padding-right:24px !important;
    box-sizing:border-box !important;
}

@media(max-width:650px){
    main.agenda-page > .agenda-premium{
        padding-left:10px !important;
        padding-right:10px !important;
    }
}

/* CALENDRIER DEALFUN - 5 COLONNES FORCÉES */
.agenda-calendar-grid{
    display:grid !important;
    grid-template-columns:repeat(5, minmax(0, 1fr)) !important;
    padding:18px !important;
}

/* Annule les anciennes règles prévues pour 7 colonnes */
.agenda-calendar-cell:nth-child(7n){
    border-right:1px solid #e4ecff !important;
}

.agenda-calendar-cell:nth-child(5n){
    border-right:0 !important;
}
/* POPUP CALENDRIER */

.agenda-calendar-popup{
    position:fixed;
    inset:0;
    z-index:9999;
    display:none;
}

.agenda-calendar-popup.is-visible{
    display:block;
}

.agenda-calendar-popup__overlay{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.65);
}

.agenda-calendar-popup__content{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:min(700px,95vw);
    max-height:80vh;
    overflow:auto;
    background:#fff;
    border-radius:24px;
    padding:24px;
}

.agenda-calendar-popup__close{
    float:right;
    border:0;
    background:none;
    font-size:22px;
    cursor:pointer;
}

.agenda-calendar-popup__results{
    display:flex;
    flex-direction:column;
    gap:12px;
    margin-top:20px;
}

.agenda-calendar-popup__product{
    display:flex;
    gap:12px;
    align-items:center;
    text-decoration:none;
    padding:10px;
    border-radius:14px;
    background:#f8faff;
}

.agenda-calendar-popup__product img{
    width:60px;
    height:80px;
    object-fit:contain;
}

.agenda-calendar-popup__product strong{
    display:block;
    color:#06123a;
}

.agenda-calendar-popup__product span{
    color:#64748b;
    font-size:13px;
}
.agenda-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin:20px 0 28px;
}

@media(max-width:900px){

    .agenda-toolbar{
        flex-direction:column;
        align-items:stretch;
    }

    .agenda-view-tabs,
    .agenda-period-tabs{
        width:100%;
    }
}

/* ========================= */
/* CALENDRIER VISUEL */
/* ========================= */

.agenda-calendar-cover{
    position:relative;
    display:inline-flex;
    width:58px;
    height:76px;
    align-items:center;
    justify-content:center;
    margin:4px;
    padding:4px;
    border-radius:12px;
    background:#f7faff;
    border:1px solid #e4ecff;
    text-decoration:none;
    vertical-align:top;
    transition:.2s ease;
}

.agenda-calendar-cover:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 22px rgba(6,18,58,.12);
}

.agenda-calendar-cover.is-major{
    background:#fff8e8;
    border-color:rgba(255,191,0,.72);
    box-shadow:0 8px 18px rgba(255,191,0,.16);
}

.agenda-calendar-cover.is-major::after{
    content:"⭐";
    position:absolute;
    top:-8px;
    right:-6px;
    font-size:12px;
}

.agenda-calendar-cover img{
    width:100%;
    height:100%;
    object-fit:contain;
}

@media(max-width:900px){
    .agenda-calendar-cover{
        width:72px;
        height:96px;
    }
}

@media(max-width:650px){
    .agenda-calendar-cover{
        width:68px;
        height:90px;
    }
}