@font-face{
    font-family:"Phosphate Solid";
    src:url("./fonts/Phosphate_Fixed_Solid.ttf") format("truetype");
    font-style:normal;
    font-weight:400;
    font-display:swap;
}

@font-face{
    font-family:"Aileron";
    src:url("./fonts/Aileron-Thin.otf") format("opentype");
    font-style:normal;
    font-weight:100;
    font-display:swap;
}

@font-face{
    font-family:"Aileron";
    src:url("./fonts/Aileron-ThinItalic.otf") format("opentype");
    font-style:italic;
    font-weight:100;
    font-display:swap;
}

@font-face{
    font-family:"Aileron";
    src:url("./fonts/Aileron-UltraLight.otf") format("opentype");
    font-style:normal;
    font-weight:200;
    font-display:swap;
}

@font-face{
    font-family:"Aileron";
    src:url("./fonts/Aileron-UltraLightItalic.otf") format("opentype");
    font-style:italic;
    font-weight:200;
    font-display:swap;
}

@font-face{
    font-family:"Aileron";
    src:url("./fonts/Aileron-Light.otf") format("opentype");
    font-style:normal;
    font-weight:300;
    font-display:swap;
}

@font-face{
    font-family:"Aileron";
    src:url("./fonts/Aileron-LightItalic.otf") format("opentype");
    font-style:italic;
    font-weight:300;
    font-display:swap;
}

@font-face{
    font-family:"Aileron";
    src:url("./fonts/Aileron-Regular.otf") format("opentype");
    font-style:normal;
    font-weight:400;
    font-display:swap;
}

@font-face{
    font-family:"Aileron";
    src:url("./fonts/Aileron-Italic.otf") format("opentype");
    font-style:italic;
    font-weight:400;
    font-display:swap;
}

@font-face{
    font-family:"Aileron";
    src:url("./fonts/Aileron-SemiBold.otf") format("opentype");
    font-style:normal;
    font-weight:600;
    font-display:swap;
}

@font-face{
    font-family:"Aileron";
    src:url("./fonts/Aileron-SemiBoldItalic.otf") format("opentype");
    font-style:italic;
    font-weight:600;
    font-display:swap;
}

@font-face{
    font-family:"Aileron";
    src:url("./fonts/Aileron-Bold.otf") format("opentype");
    font-style:normal;
    font-weight:700;
    font-display:swap;
}

@font-face{
    font-family:"Aileron";
    src:url("./fonts/Aileron-BoldItalic.otf") format("opentype");
    font-style:italic;
    font-weight:700;
    font-display:swap;
}

@font-face{
    font-family:"Aileron";
    src:url("./fonts/Aileron-Heavy.otf") format("opentype");
    font-style:normal;
    font-weight:800;
    font-display:swap;
}

@font-face{
    font-family:"Aileron";
    src:url("./fonts/Aileron-HeavyItalic.otf") format("opentype");
    font-style:italic;
    font-weight:800;
    font-display:swap;
}

@font-face{
    font-family:"Aileron";
    src:url("./fonts/Aileron-Black.otf") format("opentype");
    font-style:normal;
    font-weight:900;
    font-display:swap;
}

@font-face{
    font-family:"Aileron";
    src:url("./fonts/Aileron-BlackItalic.otf") format("opentype");
    font-style:italic;
    font-weight:900;
    font-display:swap;
}

:root{
    --container-dark-gradient:linear-gradient(328deg, rgba(23, 23, 23, 1) 0%, rgba(0, 0, 0, 1) 56%, rgba(0, 0, 0, 1) 87%);
}

body{
    margin:0px;
    padding:0px;
    background-color:#1F1F1F;
    font-family:"Aileron", sans-serif;
    overflow-x:hidden;
}

body.modal-open{
    overflow:hidden;
}

main{
    padding-top:0px;
}

header{
    display:flex;
    align-items:center;
    position:relative;
    font-family:"phosphate solid", sans-serif;
}

#logo{
    padding:30px;
}

header ul{
    display:flex;
    gap:150px;
    margin:0;
    margin-left:60px;
    padding:0;
    list-style:none;
}

header li{
    display:inline-block;
    color:#d0d0d0;
    font-size:23px;
}

header li a{
    color:#d0d0d0;
    text-decoration:none;
}

.nav-toggle{
    display:none;
    width:42px;
    height:42px;
    border:0;
    background:transparent;
    cursor:pointer;
    align-items:center;
    justify-content:center;
    padding:0;
}

.nav-toggle img{
    width:28px;
    height:28px;
    display:block;
    filter:none;
}

.sr-only{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0, 0, 0, 0);
    white-space:nowrap;
    border:0;
}

.profilepicture{
    position:absolute;
    height:48px;
    width:48px;
    border-radius:32px;
    background-color:#ffffff;
    right:60px;
}

.admin-entry-stack{
    position:absolute;
    right:60px;
    top:50%;
    transform:translateY(-50%);
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:6px;
}

.admin-entry-btn{
    position:static;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    padding:0 16px;
    border-radius:999px;
    border:1px solid #4a4a4a;
    background:linear-gradient(180deg, #2a2a2a 0%, #202020 100%);
    color:#f0f0f0;
    text-decoration:none;
    font-family:"Aileron", sans-serif;
    font-size:13px;
    font-weight:700;
    letter-spacing:0.02em;
    text-transform:none;
    box-shadow:0 6px 18px rgba(0, 0, 0, 0.25);
    transition:background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.admin-join-link{
    color:#d0d0d0;
    text-decoration:none;
    font-family:"Aileron", sans-serif;
    font-size:14px;
    font-weight:300;
    letter-spacing:0.01em;
    margin-top:3px;
}

.admin-join-link:hover{
    color:#ffffff;
    text-decoration:underline;
}

.admin-entry-btn:hover{
    border-color:#d0d0d0;
    background:#d0d0d0;
    color:#1f1f1f;
    transform:translateY(-1px);
}

.lang-switcher{
    position:fixed;
    left:12px;
    bottom:12px;
    width:34px;
    height:34px;
    border:none;
    border-radius:999px;
    padding:0;
    background:rgba(21, 21, 21, 0.88);
    box-shadow:0 6px 16px rgba(0, 0, 0, 0.28);
    z-index:2147483647;
    cursor:pointer;
    overflow:hidden;
    opacity:0.92;
    transition:transform 0.18s ease, opacity 0.18s ease, box-shadow 0.18s ease;
}

.lang-switcher:hover,
.lang-switcher:focus-visible{
    transform:scale(1.18);
    opacity:1;
    box-shadow:0 10px 22px rgba(0, 0, 0, 0.4);
}

.lang-switcher:focus-visible{
    outline:2px solid #d0d0d0;
    outline-offset:2px;
}

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

body.translation-loading{
    overflow:hidden;
}

.translation-loader{
    position:fixed;
    inset:0;
    background:#1F1F1F;
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:2147483647;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity 1s ease;
}

body.translation-loading .lang-switcher{
    opacity:0;
    pointer-events:none;
}

.translation-loader.is-visible{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}

.translation-loader.is-hiding{
    opacity:0;
    pointer-events:none;
}

.translation-loader-inner{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:16px;
}

.translation-loader-logo,
.translation-loader-text{
    animation:translationLoaderPulse 6s ease-in-out infinite alternate;
    transform-origin:center;
}

.translation-loader-logo{
    width:min(250px, 58vw);
    height:auto;
}

.translation-loader-text{
    margin:0;
    color:#f1f1f1;
    font-family:"Aileron", sans-serif;
    font-weight:300;
    font-size:clamp(18px, 3.4vw, 30px);
    letter-spacing:0.02em;
}

@keyframes translationLoaderPulse{
    0%{
        transform:scale(0.75);
        opacity:0.5;
    }
    50%{
        transform:scale(1);
        opacity:1;
    }
    100%{
        transform:scale(1.25);
        opacity:1;
    }
}

.admin-entry-btn:focus-visible{
    outline:2px solid #d0d0d0;
    outline-offset:3px;
}

.admin-main{
    min-height:calc(100vh - 130px);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:30px 20px 60px;
    box-sizing:border-box;
}

.admin-card{
    width:min(760px, 100%);
    background:var(--container-dark-gradient);
    border:1px solid #3f3f3f;
    border-radius:18px;
    padding:30px;
    box-sizing:border-box;
}

.admin-title{
    margin:0;
    color:#ffffff;
    font-family:"Phosphate Solid", sans-serif;
    font-size:42px;
    line-height:1.05;
}

.admin-subtitle{
    margin:12px 0 0;
    color:#d0d0d0;
    font-family:"Aileron", sans-serif;
    font-size:16px;
    font-weight:300;
}

.admin-error{
    margin:18px 0 0;
    color:#ffb0b0;
    font-family:"Aileron", sans-serif;
    font-size:14px;
}

.admin-success{
    margin:18px 0 0;
    color:#9fe3af;
    font-family:"Aileron", sans-serif;
    font-size:14px;
}

.admin-warning{
    margin:10px 0 0;
    color:#ffd98a;
    font-family:"Aileron", sans-serif;
    font-size:13px;
    font-weight:600;
}

.admin-tabs{
    display:flex;
    gap:8px;
    margin-top:18px;
    flex-wrap:wrap;
}

.admin-tab{
    border:1px solid #3f3f3f;
    background-color:#1a1a1a;
    color:#d0d0d0;
    border-radius:999px;
    padding:8px 14px;
    font-family:"Aileron", sans-serif;
    font-size:13px;
    font-weight:600;
    cursor:pointer;
    transition:background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.admin-tab:hover{
    border-color:#d0d0d0;
    color:#ffffff;
}

.admin-tab.is-active{
    background-color:#d0d0d0;
    color:#1f1f1f;
    border-color:#d0d0d0;
}

.admin-tabpanel{
    display:none;
    margin-top:14px;
}

.admin-tabpanel.is-active{
    display:block;
}

.admin-form{
    margin-top:22px;
    display:flex;
    flex-direction:column;
    gap:10px;
}

.admin-label{
    color:#d0d0d0;
    font-family:"Aileron", sans-serif;
    font-size:14px;
    font-weight:600;
}

.admin-input{
    height:42px;
    border-radius:10px;
    border:1px solid #4f4f4f;
    background-color:#101010;
    color:#ffffff;
    font-family:"Aileron", sans-serif;
    font-size:15px;
    padding:0 12px;
}

.admin-input:focus{
    outline:2px solid #d0d0d0;
    outline-offset:1px;
}

.admin-submit,
.admin-logout{
    margin-top:8px;
    width:max-content;
    min-width:130px;
    height:42px;
    border-radius:999px;
    border:1px solid #d0d0d0;
    background-color:#d0d0d0;
    color:#1f1f1f;
    font-family:"Aileron", sans-serif;
    font-size:14px;
    font-weight:600;
    padding:0 18px;
    cursor:pointer;
    transition:background-color 0.2s ease, color 0.2s ease;
}

.admin-submit:hover,
.admin-logout:hover{
    background-color:transparent;
    color:#d0d0d0;
}

.admin-grid{
    margin-top:22px;
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:14px;
}

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

.admin-panel-item{
    border:1px solid #3f3f3f;
    border-radius:12px;
    padding:14px;
    background:var(--container-dark-gradient);
}

.admin-panel-item h2{
    margin:0;
    color:#ffffff;
    font-family:"Aileron", sans-serif;
    font-size:18px;
    font-weight:700;
}

.admin-panel-item p{
    margin:8px 0 0;
    color:#d0d0d0;
    font-family:"Aileron", sans-serif;
    font-size:14px;
    line-height:1.4;
}

.admin-textarea{
    min-height:140px;
    resize:vertical;
    padding:10px 12px;
    line-height:1.4;
}

.admin-file{
    padding:8px;
    height:auto;
}

.admin-slide-list{
    margin-top:14px;
    display:flex;
    flex-direction:column;
    gap:10px;
    max-height:520px;
    overflow:auto;
    padding-right:4px;
}

.admin-slide-row{
    display:grid;
    grid-template-columns:84px 1fr auto;
    gap:10px;
    align-items:center;
    border:1px solid #343434;
    border-radius:10px;
    padding:8px;
}

.admin-slide-row img{
    width:84px;
    height:64px;
    object-fit:cover;
    border-radius:6px;
}

.admin-slide-row strong{
    color:#f1f1f1;
    display:block;
    font-family:"Aileron", sans-serif;
    font-size:14px;
}

.admin-slide-row p{
    margin:4px 0 0;
    color:#bfbfbf;
    font-size:12px;
}

.admin-log-row{
    grid-template-columns:1fr;
}

.admin-owner-panel{
    margin-top:16px;
}

.admin-subtab-shell{
    margin-top:22px;
}

.admin-subtabs{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-top:14px;
}

.admin-subtab{
    border:1px solid #3f3f3f;
    background-color:#101010;
    color:#d0d0d0;
    border-radius:999px;
    padding:7px 13px;
    font-family:"Aileron", sans-serif;
    font-size:13px;
    font-weight:600;
    cursor:pointer;
}

.admin-subtab:hover{
    border-color:#d0d0d0;
    color:#ffffff;
}

.admin-subtab.is-active{
    border-color:#d0d0d0;
    background-color:#d0d0d0;
    color:#171717;
}

.admin-subtab-filter{
    margin-top:12px;
    max-width:340px;
}

.admin-subtab-panel{
    display:none;
    margin-top:12px;
}

.admin-subtab-panel.is-active{
    display:block;
}

.admin-activity-meta{
    margin:4px 0 0;
    color:#9f9f9f;
    font-size:12px;
}

.admin-form-inline{
    margin-top:16px;
    max-width:420px;
}

.admin-account-list{
    margin-top:14px;
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.admin-account-list span{
    border:1px solid #3f3f3f;
    border-radius:999px;
    padding:6px 10px;
    color:#d0d0d0;
    font-family:"Aileron", sans-serif;
    font-size:12px;
}

.admin-category-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:8px;
}

.admin-category-option{
    display:flex;
    align-items:center;
    gap:8px;
    color:#d0d0d0;
    font-family:"Aileron", sans-serif;
    font-size:13px;
}

.activities-main{
    padding:10px 28px 50px;
}

.activities-shell{
    max-width:1320px;
    margin:0 auto;
}

.activities-grid{
    margin-top:28px;
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:16px;
}

.activity-card{
    display:block;
    border-radius:20px;
    overflow:hidden;
    text-decoration:none;
    border:1px solid #2f2f2f;
    background:var(--container-dark-gradient);
    transition:transform 0.2s ease, border-color 0.2s ease;
}

.activity-card:hover{
    transform:translateY(-3px);
    border-color:#d0d0d0;
}

.activity-card-media{
    height:170px;
    background-size:cover;
    background-position:center;
    position:relative;
}

.activity-card-media::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.55) 100%);
}

.activity-card-body{
    padding:14px;
}

.activity-card h2{
    margin:0;
    color:#ffffff;
    font-family:"Phosphate Solid", sans-serif;
    font-size:28px;
    line-height:1;
}

.activity-card p{
    margin:8px 0 0;
    color:#d0d0d0;
    font-family:"Aileron", sans-serif;
    font-size:14px;
}

.activity-card[data-activity-category="conference"] .activity-card-body{
    background:linear-gradient(135deg, rgba(201,95,95,0.18), rgba(201,95,95,0.05));
}
.activity-card[data-activity-category="gazette"] .activity-card-body{
    background:linear-gradient(135deg, rgba(140,95,201,0.2), rgba(140,95,201,0.06));
}
.activity-card[data-activity-category="podcast"] .activity-card-body{
    background:linear-gradient(135deg, rgba(96,201,118,0.2), rgba(96,201,118,0.06));
}
.activity-card[data-activity-category="fragrance_hub"] .activity-card-body{
    background:linear-gradient(135deg, rgba(214,113,201,0.2), rgba(214,113,201,0.06));
}
.activity-card[data-activity-category="exhibitions"] .activity-card-body{
    background:linear-gradient(135deg, rgba(214,203,113,0.2), rgba(214,203,113,0.06));
}
.activity-card[data-activity-category="events"] .activity-card-body{
    background:linear-gradient(135deg, rgba(113,149,214,0.2), rgba(113,149,214,0.06));
}

.activity-main{
    padding-bottom:60px;
}

.activity-hero{
    min-height:350px;
    background-size:cover;
    background-position:center;
    border-radius:22px;
    margin:16px 28px 20px;
    overflow:hidden;
}

.activity-hero-overlay{
    min-height:350px;
    background:linear-gradient(180deg, rgba(0,0,0,0.25), rgba(0,0,0,0.7));
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    padding:28px;
    box-sizing:border-box;
}

.activity-hero-overlay h1{
    margin:0;
    color:#ffffff;
    font-family:"Phosphate Solid", sans-serif;
    font-size:58px;
    line-height:0.95;
}

.activity-hero-overlay p{
    margin:10px 0 0;
    color:#e6e6e6;
    font-family:"Aileron", sans-serif;
    font-size:22px;
}

.activity-sections{
    max-width:1240px;
    margin:0 auto;
    display:flex;
    flex-direction:column;
    gap:22px;
    padding:0 20px;
    box-sizing:border-box;
}

.activity-section{
    display:grid;
    grid-template-columns:1fr 420px;
    gap:22px;
    background:var(--container-dark-gradient);
    border:1px solid #2f2f2f;
    border-radius:20px;
    padding:20px;
}

.activity-section-right{
    grid-template-columns:420px 1fr;
}

.activity-section-right .activity-section-text{
    order:2;
}

.activity-section-right .activity-section-image{
    order:1;
}

.activity-section-text h2{
    margin:0;
    color:#fff;
    font-family:"Phosphate Solid", sans-serif;
    font-size:38px;
    line-height:0.95;
}

.activity-section-text h3{
    margin:8px 0 0;
    color:#d5d5d5;
    font-family:"Aileron", sans-serif;
    font-size:24px;
    font-weight:300;
}

.activity-section-text p{
    margin:14px 0 0;
    color:#f0f0f0;
    font-family:"Aileron", sans-serif;
    font-size:17px;
    line-height:1.5;
}

.activity-section-buttons{
    margin-top:16px;
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

.activity-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:0 14px;
    border-radius:999px;
    border:1px solid #d0d0d0;
    color:#1f1f1f;
    background:#d0d0d0;
    text-decoration:none;
    font-family:"Aileron", sans-serif;
    font-size:13px;
    font-weight:700;
}

.activity-btn-secondary{
    background:transparent;
    color:#d0d0d0;
}

.activity-section-image{
    border-radius:14px;
    overflow:hidden;
    background:var(--container-dark-gradient);
    min-height:220px;
}

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

.calendar-main{
    padding:8px 20px 48px;
}

.calendar-shell{
    max-width:1360px;
    margin:0 auto;
}

.calendar-title{
    margin:10px 0 0;
    text-align:center;
    color:#ffffff;
    font-family:"Phosphate Solid", sans-serif;
    font-size:44px;
    letter-spacing:0.02em;
}

.calendar-title-line{
    width:120px;
    height:8px;
    border-radius:99px;
    background:#d0d0d0;
    margin:12px auto 28px;
}

.calendar-upcoming{
    display:block;
    width:calc(100vw - 28px);
    max-width:calc(100vw - 28px);
    margin:0 20px 24px 0;
    height:244px;
    position:relative;
}

.calendar-upcoming-label{
    height:244px;
    background:var(--container-dark-gradient);
    border-radius:24px;
    padding:14px 16px;
    box-shadow:0 30px 60px rgba(0, 0, 0, 0.25) inset;
    width:100%;
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
}

.calendar-upcoming-label h2{
    margin:0;
    color:#ffffff;
    font-family:"Aileron", sans-serif;
    font-weight:900;
    font-size:26px;
    line-height:0.95;
    text-align:left;
}

.calendar-upcoming-track{
    margin-top:10px;
    flex:1;
    height:168px;
    width:100%;
    display:flex;
    gap:10px;
    overflow-x:auto;
    overflow-y:hidden;
    padding:2px 4px 2px;
    box-sizing:border-box;
}

.calendar-upcoming > .calendar-upcoming-track{
    position:absolute;
    left:16px;
    right:16px;
    top:66px;
    margin-top:0;
}

.calendar-upcoming-label > .calendar-upcoming-track{
    position:static;
}

.calendar-upcoming-card,
.calendar-day-chip{
    position:relative;
    overflow:hidden;
    filter:saturate(1.35);
}

.calendar-upcoming-card::after,
.calendar-day-chip::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(135deg, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.11) 48%, rgba(0, 0, 0, 0.06) 100%);
    pointer-events:none;
}

.calendar-upcoming-card{
    flex:0 0 270px;
    min-height:112px;
    border:10px solid transparent;
    border-radius:18px;
    padding:10px 12px 10px;
    color:#151515;
    cursor:pointer;
    text-align:left;
    display:flex;
    flex-direction:column;
    background:
        var(--event-bg-gradient, var(--event-color)) padding-box,
        var(--event-border-gradient, var(--event-bg-gradient, var(--event-color))) border-box;
}

.calendar-day-chip{
    background:var(--event-bg-gradient, var(--event-color));
}

.calendar-upcoming-card h3{
    margin:0;
    font-family:"Aileron", sans-serif;
    font-weight:900;
    font-size:17px;
    letter-spacing:0.01em;
    overflow-wrap:anywhere;
}

.calendar-upcoming-date{
    margin:2px 0 6px;
    font-family:"Aileron", sans-serif;
    font-size:18px;
    font-weight:400;
}

.calendar-upcoming-desc{
    margin:0;
    font-family:"Aileron", sans-serif;
    font-size:13px;
    font-weight:200;
    line-height:1.3;
    color:rgba(21, 21, 21, 0.92);
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    text-overflow:ellipsis;
}

.calendar-info-btn{
    width:28px;
    height:28px;
    border:none;
    background:transparent;
    padding:0;
    margin-top:auto;
    cursor:pointer;
    position:relative;
    z-index:1;
}

.calendar-info-icon{
    width:100%;
    height:100%;
    display:block;
    object-fit:contain;
}

.calendar-week-grid{
    margin-top:2px;
}

.calendar-days{
    display:grid;
    grid-template-columns:repeat(5, minmax(0, 1fr));
    gap:10px;
}

.calendar-day-column{
    min-height:300px;
    background:var(--container-dark-gradient);
    border-radius:20px;
    padding:14px 12px;
    box-shadow:0 35px 60px rgba(0, 0, 0, 0.24) inset;
}

.calendar-day-column h3{
    margin:0;
    color:#ffffff;
    font-family:"Aileron", sans-serif;
    font-weight:900;
    font-size:20px;
    line-height:1;
    text-align:center;
    min-height:32px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.calendar-day-events{
    margin-top:10px;
    display:flex;
    flex-direction:column;
    gap:8px;
}

.calendar-day-chip{
    border:none;
    border-radius:12px;
    min-height:34px;
    padding:8px 10px;
    font-family:"Aileron", sans-serif;
    font-weight:800;
    font-size:13px;
    color:#151515;
    text-align:left;
    cursor:pointer;
}

.calendar-day-empty{
    color:#616161;
    font-family:"Aileron", sans-serif;
    font-size:14px;
}

.calendar-week-nav{
    margin-top:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
}

.calendar-week-range{
    margin:0;
    min-width:220px;
    text-align:center;
    color:#d0d0d0;
    font-family:"Aileron", sans-serif;
    font-size:20px;
    font-weight:300;
}

.calendar-week-btn{
    width:40px;
    height:40px;
    border:none;
    border-radius:999px;
    background:#d0d0d0;
    color:#151515;
    font-size:24px;
    line-height:1;
    cursor:pointer;
}

.calendar-modal{
    position:fixed;
    inset:0;
    background:rgba(0, 0, 0, 0.6);
    display:none;
    align-items:center;
    justify-content:center;
    z-index:1000;
    padding:20px;
    box-sizing:border-box;
}

.calendar-modal[aria-hidden="false"]{
    display:flex;
}

.calendar-modal-card{
    width:min(780px, 100%);
    border-radius:24px;
    background:linear-gradient(135deg, #2a2a2a, #1b1b1b);
    border:1px solid #333;
    padding:18px;
    position:relative;
}

.calendar-modal-close{
    position:absolute;
    right:-12px;
    top:-12px;
    width:44px;
    height:44px;
    border:none;
    border-radius:999px;
    background:#f0f0f0;
    color:#1f1f1f;
    font-size:28px;
    line-height:1;
    cursor:pointer;
}

.calendar-modal-content{
    display:grid;
    grid-template-columns:1fr 280px;
    gap:16px;
    align-items:start;
}

.calendar-modal-content.no-image{
    grid-template-columns:1fr;
}

.calendar-modal-text h3{
    margin:0;
    color:#fff;
    font-family:"Phosphate Solid", sans-serif;
    font-size:36px;
    line-height:0.88;
}

.calendar-modal-subtitle{
    margin:8px 0 0;
    color:#f0f0f0;
    font-family:"Aileron", sans-serif;
    font-size:20px;
    font-weight:300;
}

.calendar-modal-line{
    margin:10px 0 12px;
    width:150px;
    height:6px;
    border-radius:99px;
    background:#f0f0f0;
}

.calendar-modal-description{
    margin:0;
    color:#ffffff;
    font-family:"Aileron", sans-serif;
    font-size:15px;
    line-height:1.35;
    white-space:pre-wrap;
}

.calendar-modal-image-wrap{
    width:100%;
    aspect-ratio:1/1;
    border-radius:8px;
    overflow:hidden;
    background:#f2f2f2;
}

.calendar-modal-image-wrap img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.calendar-empty{
    min-height:80px;
    display:flex;
    align-items:center;
    color:#9d9d9d;
    font-size:14px;
}

.slideshow{
    position:relative;
    height:560px;
    display:flex;
    align-items:stretch;
    justify-content:flex-start;
    gap:40px;
    padding:40px;
    box-sizing:border-box;
    background-color:#1F1F1F;
    border:1px solid #2f2f2f;
    border-radius:18px;
    z-index:auto;
    overflow:hidden;
}

.slide-activity-bar{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:12px;
    border-radius:0 0 18px 18px;
}

.slideshowimage{
    flex:0 0 58%;
    max-width:none;
    height:100%;
}

.slideshowimage img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    border-radius:12px;
}

.slideshowtext{
    flex:1;
    max-width:none;
    overflow:hidden;
    position:relative;
    box-sizing:border-box;
    padding-bottom:86px;
}

.slideshowtext p{
    max-height:150px;
    overflow-y:auto;
    overflow-x:hidden;
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:normal;
}

.slideshowh2{
    color:#ffffff;
    font-size:50px;
    margin-top:0px;
    margin-bottom:0px;
    font-family:'phosphate solid', sans-serif;
}

.slideshowh2 u{
    text-underline-offset:8px;
    text-decoration-thickness: 2px;
    text-decoration-color: #D0D0D0;
}
.slideshowh3{
    color:#ffffff;
    margin-top:0px;
}
.slideshowp{
    color:#ffffff;
    margin-top:30px;
    margin-bottom:0px;
    font-family:'aileron', sans serif;
    font-weight:200;
    font-size:17px;
    object-fit: contain;
}

.slideshowtext h3{
    color:#d0d0d0;
}

.soustitre{
    height:8px;
    width:250px;
    border-radius: 4px;
    background-color:#ffffff;
    margin-top:20px;
}

.more{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:50px;
    width:175px;
    border-radius:50px;
    margin-top:30px;
    border:4px solid transparent;
    color:#1F1F1F;
    background-color:#ffffff;
    text-decoration:none;
    font-family:'aileron', sans serif;
    font-weight:200;
    font-size:15px;
    transition:background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.more:hover{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:50px;
    width:175px;
    border-radius:50px;
    margin-top:30px;
    border: 4px solid #ffffff;
    color:#ffffff;
    background-color:#1F1F1F;
    font-family:'aileron', sans serif;
    font-weight:200;
    font-size:15px;
}

.slidecontrols{
    display:flex;
    align-items:center;
    gap:14px;
    margin-top:0;
    position:absolute;
    left:0;
    bottom:10px;
}

.slidedots{
    display:flex;
    align-items:center;
    gap:8px;
}

.slidebtn{
    width:34px;
    height:34px;
    border-radius:999px;
    border:1px solid #d0d0d0;
    background:transparent;
    color:#d0d0d0;
    cursor:pointer;
    font-size:18px;
    line-height:1;
    transition:background-color 0.2s ease, color 0.2s ease;
}

.slidebtn:hover{
    background-color:#d0d0d0;
    color:#1f1f1f;
}

.slidedot{
    width:8px;
    height:8px;
    border-radius:999px;
    border:none;
    background-color:#525252;
    cursor:pointer;
    padding:0;
    transition:background-color 0.2s ease, transform 0.2s ease;
}

.slidedot.is-active{
    background-color:#d0d0d0;
    transform:scale(1.2);
}

.title{
    color:#f3f3f3;
    font-size:50px;
    margin-top:50px;
    margin-bottom:0px;
    font-family:'phosphate solid', sans-serif;
    text-align:center;
}

.soustitredeux{
    height:4px;
    width:100px;
    border-radius: 2px;
    background-color:#D0D0D0;
    margin:20px;
    display: inline-block;
}

.member{
    width:25%;
    margin:50px auto 0;
    text-align:center;
}

.teamslideshow{
    position:relative;
    height:560px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:0;
    padding:18px;
    margin:30px 0 0;
    width:100%;
    box-sizing:border-box;
    background:var(--container-dark-gradient);
    border:1px solid #4a4a4a;
    border-radius:22px;
    overflow:hidden;
    text-align:center;
    padding-bottom:56px;
}

.teamslideshowimage{
    flex:0 0 370px;
    width:100%;
    max-width:100%;
    height:370px;
    min-height:0;
}

.teamslideshowimage img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    border-radius:12px;
}

.teamslideshowtext{
    flex:0 0 130px;
    width:100%;
    max-width:100%;
    height:130px;
    overflow:hidden;
    padding-top:10px;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    gap:6px;
}

.teamslideshowtext p{
    display:none;
}

.teamslideshowh2{
    color:#ffffff;
    font-size:24px;
    line-height:1.15;
    margin-top:0px;
    margin-bottom:0px;
    font-family:'phosphate solid', sans-serif;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.teamslideshowh2 u{
    text-underline-offset:8px;
    text-decoration-thickness:2px;
    text-decoration-color:#D0D0D0;
}

.teamslideshowh3{
    color:#d0d0d0;
    margin-top:0px;
    margin-bottom:0px;
    font-family:'aileron', sans-serif;
    font-weight:300;
    font-size:18px;
    line-height:1.2;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.teamslideshowp{
    color:#ffffff;
    margin-top:30px;
    margin-bottom:0px;
    font-family:'aileron', sans serif;
    font-weight:200;
    font-size:17px;
}

.soustitre-team{
    display:none;
}

.teammore{
    display:none;
}

.teammore:hover{
    display:none;
}

.team-slidecontrols{
    display:flex;
    align-items:center;
    justify-content:center;
    position:absolute;
    left:50%;
    bottom:18px;
    transform:translateX(-50%);
    margin-top:0;
    gap:0;
}

.team-slidedots{
    display:flex;
    align-items:center;
    gap:8px;
}

.team-slideprev,
.team-slidenext{
    display:none;
}

.team-slidebtn{
    width:34px;
    height:34px;
    border-radius:999px;
    border:1px solid #8f8f8f;
    background:transparent;
    color:#d0d0d0;
    cursor:pointer;
    font-size:18px;
    line-height:1;
    transition:background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.team-slidebtn:hover{
    background-color:#d0d0d0;
    color:#1f1f1f;
    border-color:#d0d0d0;
}

.team-slidedot{
    width:8px;
    height:8px;
    border-radius:999px;
    border:none;
    background-color:#6d6d6d;
    cursor:pointer;
    padding:0;
    transition:background-color 0.2s ease, transform 0.2s ease;
}

.team-slidedot.is-active{
    background-color:#ffffff;
    transform:scale(1.2);
}

.home-about{
    width:min(1240px, calc(100% - 56px));
    margin:72px auto 80px;
    display:grid;
    grid-template-columns:minmax(320px, 520px) 1fr;
    gap:28px;
    align-items:stretch;
}

.home-about-media{
    border:1px solid #3a3a3a;
    border-radius:20px;
    overflow:hidden;
    background:var(--container-dark-gradient);
}

.home-about-media img{
    width:100%;
    height:100%;
    min-height:360px;
    object-fit:cover;
    display:block;
}

.home-about-content{
    border:1px solid #3a3a3a;
    border-radius:20px;
    padding:28px;
    box-sizing:border-box;
    background:var(--container-dark-gradient);
}

.home-about-content .title{
    margin-top:0;
    text-align:left;
}

.home-about-content .soustitredeux{
    margin:16px 0 20px;
    display:block;
}

.home-about-content h3{
    margin:0;
    color:#f2f2f2;
    font-family:"Aileron", sans-serif;
    font-size:24px;
    font-weight:600;
    line-height:1.2;
}

.home-about-content p{
    margin:18px 0 0;
    color:#d0d0d0;
    font-family:"Aileron", sans-serif;
    font-size:17px;
    line-height:1.55;
    max-width:62ch;
}

.home-about-cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:24px;
    text-decoration:none;
}

.home-about-cta:hover{
    margin-top:24px;
}

.fragrance-hub{
    width:min(1240px, calc(100% - 56px));
    margin:0 auto 90px;
    text-align:center;
}

.fragrance-hub .title{
    margin-top:0;
}

.fragrance-hub .soustitredeux{
    margin:16px auto 24px;
    display:block;
}

.fragrance-hub-carousel{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:280px;
}

.hub-images{
    width:100%;
    display:grid;
    grid-template-columns:minmax(140px, 0.9fr) minmax(260px, 1.3fr) minmax(140px, 0.9fr);
    gap:12px;
    align-items:center;
}

.hub-image{
    border-radius:18px;
    overflow:hidden;
    border:none;
    background:transparent;
}

.hub-image img{
    width:100%;
    height:220px;
    object-fit:contain;
    display:block;
}

.hub-image-center{
    position:relative;
    box-shadow:0 22px 42px rgba(0, 0, 0, 0.35);
}

.hub-image-side{
    opacity:0.42;
    transform:scale(0.92);
}

.hub-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:44px;
    height:44px;
    border-radius:999px;
    border:1px solid #d0d0d0;
    background:#1f1f1f;
    color:#d0d0d0;
    font-size:22px;
    line-height:1;
    cursor:pointer;
    transition:background-color 0.2s ease, color 0.2s ease;
    z-index:2;
}

.hub-arrow:hover{
    background:#d0d0d0;
    color:#1f1f1f;
}

.hub-arrow-left{
    left:-12px;
}

.hub-arrow-right{
    right:-12px;
}

.hub-info-btn{
    position:absolute;
    top:10px;
    right:10px;
    width:24px;
    height:24px;
    border:none;
    border-radius:999px;
    background:#ffffff;
    color:#7f7f7f;
    font-family:"Aileron", sans-serif;
    font-size:16px;
    font-weight:700;
    line-height:1;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    z-index:3;
}

.hub-controls{
    margin-top:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:12px;
}

.hub-dots{
    display:flex;
    align-items:center;
    gap:8px;
}

.hub-dot{
    width:8px;
    height:8px;
    border-radius:999px;
    border:none;
    background:#5d5d5d;
    padding:0;
    cursor:pointer;
    transition:transform 0.2s ease, background-color 0.2s ease;
}

.hub-dot.is-active{
    background:#ffffff;
    transform:scale(1.25);
}

.hub-lottery-btn{
    width:auto;
    min-width:150px;
    margin-top:0;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    line-height:1;
}

.hub-lottery-btn:hover{
    margin-top:0;
}

.hub-modal{
    position:fixed;
    inset:0;
    display:none;
    align-items:center;
    justify-content:center;
    background:rgba(0, 0, 0, 0.65);
    z-index:1200;
    padding:20px;
    box-sizing:border-box;
}

.hub-modal[aria-hidden="false"]{
    display:flex;
}

.hub-modal-card{
    width:min(560px, 100%);
    background:#1b1b1b;
    border:1px solid #3a3a3a;
    border-radius:18px;
    padding:20px;
    box-sizing:border-box;
    position:relative;
}

.hub-modal-close{
    position:absolute;
    top:10px;
    right:10px;
    width:34px;
    height:34px;
    border:none;
    border-radius:999px;
    background:#f2f2f2;
    color:#1f1f1f;
    font-size:24px;
    line-height:1;
    cursor:pointer;
}

.hub-modal-title{
    margin:0;
    color:#ffffff;
    font-family:"Phosphate Solid", sans-serif;
    font-size:42px;
    line-height:0.95;
}

.hub-modal-subtitle{
    margin:10px 0 0;
    color:#d0d0d0;
    font-family:"Aileron", sans-serif;
    font-size:20px;
    font-weight:300;
}

.hub-modal-description{
    margin:14px 0 0;
    color:#f0f0f0;
    font-family:"Aileron", sans-serif;
    font-size:16px;
    line-height:1.5;
    white-space:pre-wrap;
}

.site-footer{
    margin-top:26px;
    padding:18px 20px 20px;
    border-top:1px solid #333333;
    display:flex;
    align-items:center;
    justify-content:center;
}

.site-footer-logo-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
}

.site-footer-logo{
    width:140px;
    height:auto;
    opacity:0.92;
    display:block;
}

.join-main{
    padding:22px 26px 50px;
}

.join-shell{
    max-width:1320px;
    margin:0 auto;
    display:grid;
    grid-template-columns:minmax(220px, 290px) 1fr;
    gap:16px;
    align-items:stretch;
}

.join-tabs{
    background:var(--container-dark-gradient);
    border:1px solid #3f3f3f;
    border-radius:18px;
    padding:10px;
    display:flex;
    flex-direction:column;
    gap:8px;
}

.join-tab{
    position:relative;
    display:flex;
    align-items:center;
    gap:8px;
    min-height:36px;
    padding:7px 11px;
    border-radius:10px;
    background:#151515;
    color:#ffffff;
    text-decoration:none;
    font-family:"Aileron", sans-serif;
    font-size:14px;
    font-weight:200;
    text-transform:uppercase;
    text-shadow:0 0 3px rgba(0, 0, 0, 0.35);
    transition:padding-right 0.2s ease, transform 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.join-tab:hover{
    padding-right:20px;
}

.join-tab.is-active{
    padding-right:20px;
    background:var(--join-tab-gradient);
    color:#ffffff;
}

.join-tab-dot{
    width:8px;
    height:8px;
    border-radius:999px;
    background:#ff4444;
    box-shadow:0 0 8px rgba(255, 68, 68, 0.85);
    flex:0 0 auto;
}

.join-form-card{
    border:1px solid #3f3f3f;
    border-radius:16px 24px 24px 16px;
    background:var(--container-dark-gradient);
    padding:22px;
}

.join-title{
    margin:0;
    color:#ffffff;
    font-family:"Phosphate Solid", sans-serif;
    font-size:46px;
}

.join-subtitle{
    margin:10px 0 20px;
    color:#d0d0d0;
    font-family:"Aileron", sans-serif;
    font-size:16px;
    font-weight:300;
}

.join-form{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.join-grid{
    display:grid;
    grid-template-columns:150px minmax(0, 1fr) 150px minmax(0, 1fr);
    gap:8px 12px;
    align-items:center;
}

.join-lang-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:8px;
}

.join-formation-grid{
    grid-column:2 / -1;
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:8px;
}

.join-formation-option{
    border:1px solid #3f3f3f;
    border-radius:12px;
    background:#141414;
    min-height:52px;
    padding:8px 10px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    box-sizing:border-box;
    cursor:pointer;
}

.join-formation-option.is-active{
    border-color:#d0d0d0;
}

.join-formation-radio{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.join-formation-name{
    color:#ffffff;
    font-family:"Aileron", sans-serif;
    font-size:13px;
    font-weight:400;
}

.join-formation-year-shell{
    display:flex;
    align-items:center;
    gap:6px;
}

.join-formation-year-label{
    color:#bdbdbd;
    font-size:11px;
    font-family:"Aileron", sans-serif;
}

.join-formation-year-input{
    width:44px;
    height:28px;
    border-radius:8px;
    border:1px solid #4d4d4d;
    background:#0f0f0f;
    color:#ffffff;
    text-align:center;
    font-family:"Aileron", sans-serif;
    font-size:13px;
    padding:0;
}

.join-formation-year-input:disabled{
    opacity:0.55;
}

.join-lang-grid .admin-category-option{
    min-height:34px;
    border:1px solid #3f3f3f;
    border-radius:999px;
    padding:0 10px;
    box-sizing:border-box;
}

.join-lang-checkbox{
    appearance:none;
    width:16px;
    height:16px;
    border-radius:999px;
    border:1px solid #b8b8b8;
    background:#131313;
    margin:0;
    cursor:pointer;
    position:relative;
    flex:0 0 auto;
}

.join-lang-checkbox:checked::after{
    content:"";
    position:absolute;
    inset:3px;
    border-radius:999px;
    background:#d0d0d0;
}

.join-level-wrap{
    margin-top:6px;
}

.join-level-control{
    margin-top:4px;
    display:flex;
    align-items:center;
    gap:10px;
}

.join-level-arrow{
    width:32px;
    height:32px;
    border-radius:999px;
    border:1px solid #d0d0d0;
    background:transparent;
    color:#d0d0d0;
    cursor:pointer;
}

.join-level-bars{
    display:flex;
    gap:6px;
}

.join-level-bar{
    width:50px;
    height:15px;
    border-radius:8px;
    background:#3d3d3d;
    border:1px solid #595959;
}

.join-level-bar.is-active{
    background:#d0d0d0;
    border-color:#d0d0d0;
}

.admin-slide-row details,
.admin-slide-row summary{
    width:100%;
}

details.admin-slide-row summary{
    cursor:pointer;
}

@media (max-width: 1024px){
    .site-header{
        padding:16px 14px;
        align-items:center;
        justify-content:space-between;
        flex-wrap:wrap;
        row-gap:14px;
    }

    #logo{
        padding:0;
        width:170px;
        height:auto;
    }

    .nav-toggle{
        display:inline-flex;
    }

    .site-header .site-nav{
        display:none;
        width:100%;
        flex-direction:column;
        gap:12px;
        margin:0;
        padding:14px;
        border:1px solid #3a3a3a;
        border-radius:14px;
        background-color:#262626;
        box-sizing:border-box;
    }

    .site-header.nav-open .site-nav{
        display:flex;
    }

    .site-header li{
        font-size:24px;
    }

    .site-header .admin-entry-stack{
        position:static;
        transform:none;
        display:none;
        margin:0;
        align-items:flex-start;
    }

    .site-header.nav-open .admin-entry-stack{
        display:flex;
    }

    main{
        padding-top:0px;
    }

    .join-shell{
        grid-template-columns:1fr;
    }

    .join-tabs{
        flex-direction:row;
        flex-wrap:wrap;
    }

    .join-tab{
        flex:1 1 calc(50% - 8px);
    }

    .member{
        width:92%;
        margin:30px auto 0;
    }

    .slideshow{
        position:static;
        height:560px;
        margin:20px;
        padding:24px;
    }

    .slideshowimage{
        flex:0 0 58%;
        height:100%;
    }

    .slideshowimage img{
        height:100%;
    }

    .teamslideshow{
        height:560px;
        margin:20px auto 0;
        padding:24px;
        padding-bottom:56px;
    }

    .teamslideshowimage{
        flex:1;
        width:100%;
        height:auto;
    }

    .teamslideshowimage img{
        height:100%;
    }

    .home-about{
        width:calc(100% - 40px);
        margin:52px auto 60px;
        grid-template-columns:1fr;
        gap:20px;
    }

    .home-about-media img{
        min-height:260px;
    }

    .home-about-content{
        padding:20px;
    }

    .home-about-content h3{
        font-size:20px;
    }

    .home-about-content p{
        font-size:16px;
    }

    .fragrance-hub{
        width:calc(100% - 40px);
        margin:0 auto 64px;
    }

    .hub-images{
        grid-template-columns:0.9fr 1.2fr 0.9fr;
        gap:8px;
    }

    .hub-image img{
        height:170px;
    }

    .hub-arrow{
        width:38px;
        height:38px;
        font-size:20px;
    }

    .hub-arrow-left{
        left:-6px;
    }

    .hub-arrow-right{
        right:-6px;
    }

    .hub-controls{
        gap:12px;
        flex-wrap:wrap;
    }

    .hub-info-btn{
        top:6px;
        right:6px;
        width:22px;
        height:22px;
        font-size:14px;
    }

    .hub-modal-card{
        padding:16px;
    }

    .hub-modal-title{
        font-size:34px;
    }

    .hub-modal-subtitle{
        font-size:18px;
    }

    .hub-modal-description{
        font-size:15px;
    }

    .site-footer{
        margin-top:18px;
        padding:14px 14px 16px;
    }

    .site-footer-logo{
        width:118px;
    }

    .admin-entry-btn{
        right:20px;
        min-height:36px;
        padding:0 11px;
        font-size:11px;
    }

    .admin-title{
        font-size:34px;
    }

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

    .admin-grid-2{
        grid-template-columns:1fr;
    }

    .admin-slide-row{
        grid-template-columns:72px 1fr;
    }

    .admin-slide-row form{
        grid-column:1 / -1;
    }

    .calendar-main{
        padding:4px 14px 40px;
    }

    .calendar-title{
        font-size:44px;
    }

    .calendar-title-line{
        width:120px;
        height:8px;
        margin-bottom:20px;
    }

    .calendar-upcoming{
        grid-template-columns:1fr;
        gap:12px;
    }

    .calendar-upcoming-label{
        border-radius:22px;
        padding:18px 16px;
    }

    .calendar-upcoming-label h2{
        font-size:24px;
    }

    .calendar-upcoming-card{
        flex-basis:248px;
        border-radius:22px;
        padding:12px 14px;
    }

    .calendar-upcoming-card h3{
        font-size:18px;
    }

    .calendar-upcoming-date{
        font-size:18px;
    }

    .calendar-info-btn{
        width:38px;
        height:38px;
    }

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

    .calendar-day-column{
        min-height:260px;
        border-radius:22px;
        padding:14px;
    }

    .calendar-day-column h3{
        font-size:24px;
    }

    .calendar-day-chip{
        border-radius:16px;
        min-height:44px;
        padding:10px 12px;
        font-size:16px;
    }

    .calendar-week-nav{
        margin-top:22px;
        gap:12px;
    }

    .calendar-week-range{
        min-width:220px;
        font-size:22px;
    }

    .calendar-week-btn{
        width:48px;
        height:48px;
        font-size:30px;
    }

    .calendar-modal-card{
        border-radius:24px;
        padding:16px;
    }

    .calendar-modal-content{
        grid-template-columns:1fr;
        gap:14px;
    }

    .calendar-modal-close{
        right:10px;
        top:10px;
        width:42px;
        height:42px;
        font-size:26px;
        z-index:2;
    }

    .calendar-modal-text h3{
        font-size:42px;
    }

    .calendar-modal-subtitle{
        font-size:24px;
    }

    .calendar-modal-line{
        width:180px;
        height:8px;
    }

    .calendar-modal-description{
        font-size:18px;
    }

    .activities-main{
        padding:6px 14px 36px;
    }

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

    .activity-hero{
        margin:12px 14px 16px;
        min-height:240px;
    }

    .activity-hero-overlay{
        min-height:240px;
        padding:16px;
    }

    .activity-hero-overlay h1{
        font-size:36px;
    }

    .activity-hero-overlay p{
        font-size:16px;
    }

    .activity-sections{
        padding:0 14px;
    }

    .activity-section{
        grid-template-columns:1fr;
        gap:14px;
        padding:14px;
    }

    .activity-section-right{
        grid-template-columns:1fr;
    }

    .activity-section-right .activity-section-text,
    .activity-section-right .activity-section-image{
        order:initial;
    }

    .activity-section-text h2{
        font-size:30px;
    }

    .activity-section-text h3{
        font-size:18px;
    }

    .activity-section-text p{
        font-size:15px;
    }
}

@media (max-width: 820px){
    .admin-main{
        min-height:0;
        align-items:flex-start;
        padding:12px 10px 26px;
    }

    .admin-card{
        border-radius:14px;
        padding:14px;
    }

    .admin-title{
        font-size:30px;
    }

    .admin-subtitle{
        margin-top:8px;
        font-size:14px;
    }

    .admin-tabs{
        margin-top:12px;
        gap:8px;
        display:grid;
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }

    .admin-tab{
        width:100%;
        min-height:40px;
        padding:8px 10px;
        border-radius:12px;
        font-size:12px;
        text-align:center;
    }

    .admin-tabpanel{
        margin-top:10px;
    }

    .admin-form{
        margin-top:14px;
        gap:8px;
    }

    .admin-form-inline{
        max-width:none;
    }

    .admin-input{
        height:44px;
        font-size:14px;
    }

    .admin-textarea{
        min-height:120px;
    }

    .admin-submit,
    .admin-logout{
        width:100%;
        min-width:0;
        height:44px;
        margin-top:10px;
    }

    .admin-panel-item{
        padding:12px;
    }

    .admin-panel-item h2{
        font-size:16px;
    }

    .admin-panel-item p{
        font-size:13px;
    }

    .admin-slide-list{
        max-height:none;
        overflow:visible;
        padding-right:0;
    }

    .admin-slide-row{
        grid-template-columns:1fr;
        gap:8px;
    }

    .admin-slide-row img{
        width:100%;
        height:180px;
    }

    .admin-slide-row form{
        width:100%;
    }

    .admin-account-list{
        gap:6px;
    }

    .admin-account-list span{
        width:100%;
        box-sizing:border-box;
        text-align:center;
    }

    .admin-category-grid{
        grid-template-columns:1fr;
    }

    .title{
        font-size:40px;
        margin-top:30px;
    }

    .soustitredeux{
        margin:14px auto;
    }

    .member{
        width:100%;
        margin:18px auto 0;
        padding:0 12px;
        box-sizing:border-box;
    }

    .join-main{
        padding:14px 12px 34px;
    }

    .join-tabs{
        padding:10px;
    }

    .join-tab{
        flex:1 1 100%;
    }

    .join-form-card{
        border-radius:14px;
        padding:14px;
    }

    .join-title{
        font-size:36px;
    }

    .join-grid,
    .join-lang-grid,
    .join-formation-grid{
        grid-template-columns:1fr;
    }

    .join-formation-grid{
        grid-column:1 / -1;
    }

    .slideshow{
        height:auto;
        flex-direction:column;
        gap:16px;
        margin:12px;
        padding:14px;
    }

    .slideshowimage{
        flex:none;
        width:100%;
        height:230px;
    }

    .slideshowtext{
        width:100%;
    }

    .slideshowh2{
        font-size:38px;
        line-height:0.98;
    }

    .slideshowh3{
        font-size:20px;
    }

    .slideshowp{
        margin-top:14px;
        font-size:15px;
        max-height:none;
    }

    .soustitre{
        width:140px;
        margin-top:14px;
    }

    .more{
        height:46px;
        width:auto;
        min-width:154px;
        padding:0 20px;
        margin-top:16px;
    }

    .slidecontrols{
        margin-top:14px;
        justify-content:flex-start;
    }

    .teamslideshow{
        height:auto;
        margin:14px auto 0;
        padding:14px;
        padding-bottom:52px;
        gap:10px;
    }

    .teamslideshowimage{
        flex:none;
        height:240px;
    }

    .teamslideshowtext{
        flex:none;
        height:auto;
        overflow:visible;
        gap:8px;
        padding-top:2px;
    }

    .teamslideshowh2{
        font-size:30px;
        white-space:normal;
        text-overflow:clip;
    }

    .teamslideshowh3{
        font-size:16px;
        white-space:normal;
        text-overflow:clip;
    }

    .home-about{
        width:calc(100% - 24px);
        margin:32px auto 44px;
        gap:14px;
    }

    .home-about-media img{
        min-height:220px;
    }

    .home-about-content{
        padding:16px;
    }

    .home-about-content .title{
        font-size:36px;
    }

    .home-about-content h3{
        font-size:18px;
    }

    .home-about-content p{
        margin-top:12px;
        font-size:15px;
    }

    .fragrance-hub{
        width:calc(100% - 24px);
        margin:0 auto 44px;
    }

    .fragrance-hub-carousel{
        min-height:0;
        padding:0 30px;
        box-sizing:border-box;
    }

    .hub-images{
        grid-template-columns:1fr;
    }

    .hub-image-side{
        display:none;
    }

    .hub-image img{
        height:220px;
    }

    .hub-arrow-left{
        left:0;
    }

    .hub-arrow-right{
        right:0;
    }

    .hub-modal{
        padding:12px;
    }

    .hub-modal-card{
        padding:14px;
    }

    .hub-modal-title{
        font-size:30px;
    }

    .hub-modal-subtitle{
        font-size:16px;
    }

    .hub-modal-description{
        font-size:14px;
    }

    .calendar-upcoming{
        width:100%;
        max-width:100%;
        margin:0 0 20px;
        height:auto;
    }

    .calendar-upcoming-label{
        height:auto;
    }

    .calendar-upcoming-label h2{
        font-size:24px;
    }

    .calendar-upcoming-track{
        height:auto;
        min-height:138px;
    }

    .calendar-upcoming-card{
        flex-basis:220px;
        border-radius:16px;
        padding:10px 12px;
    }

    .calendar-upcoming-card h3{
        font-size:16px;
    }

    .calendar-upcoming-date{
        font-size:16px;
    }

    .calendar-info-btn{
        width:30px;
        height:30px;
    }

    .calendar-days{
        grid-template-columns:1fr;
    }

    .calendar-day-column{
        min-height:0;
    }

    .calendar-day-column h3{
        font-size:24px;
        min-height:26px;
    }

    .calendar-day-chip{
        min-height:40px;
        font-size:14px;
    }

    .calendar-week-nav{
        margin-top:14px;
    }

    .calendar-week-range{
        min-width:0;
        font-size:16px;
    }

    .calendar-week-btn{
        width:40px;
        height:40px;
        font-size:24px;
    }

    .calendar-modal{
        padding:12px;
    }

    .calendar-modal-card{
        border-radius:18px;
        padding:14px;
    }

    .calendar-modal-text h3{
        font-size:32px;
    }

    .calendar-modal-subtitle{
        font-size:18px;
    }

    .calendar-modal-line{
        width:120px;
        height:6px;
    }

    .calendar-modal-description{
        font-size:15px;
    }

    .calendar-modal-close{
        width:36px;
        height:36px;
        font-size:22px;
    }

    .activities-main{
        padding:6px 12px 30px;
    }

    .activity-hero{
        margin:10px 12px 14px;
    }

    .activity-hero-overlay h1{
        font-size:32px;
    }

    .activity-hero-overlay p{
        font-size:15px;
    }

    .activity-sections{
        padding:0 12px;
    }

    .activity-section{
        padding:12px;
    }

    .activity-section-text h2{
        font-size:28px;
    }

    .activity-section-text h3{
        font-size:17px;
    }

    .activity-section-text p{
        font-size:14px;
        margin-top:10px;
    }

    .activity-section-image{
        min-height:180px;
    }

    .activity-section-buttons{
        flex-direction:column;
    }

    .activity-btn{
        width:100%;
    }
}

@media (max-width: 560px){
    .admin-main{
        padding:10px 8px 22px;
    }

    .admin-card{
        border-radius:12px;
        padding:12px;
    }

    .admin-title{
        font-size:26px;
    }

    .admin-subtitle{
        font-size:13px;
    }

    .admin-tabs{
        grid-template-columns:1fr;
    }

    .admin-tab{
        font-size:12px;
        min-height:38px;
    }

    .admin-label{
        font-size:13px;
    }

    .admin-input{
        font-size:14px;
    }

    .admin-panel-item{
        padding:10px;
    }

    .admin-slide-row img{
        height:150px;
    }

    #logo{
        width:144px;
    }

    .site-header .site-nav{
        padding:12px;
    }

    .site-header li{
        font-size:21px;
    }

    .title{
        font-size:34px;
    }

    .slideshow{
        margin:10px;
        padding:12px;
    }

    .slideshowimage{
        height:200px;
    }

    .slideshowh2{
        font-size:32px;
    }

    .slideshowh3{
        font-size:18px;
    }

    .join-title{
        font-size:30px;
    }

    .join-level-bar{
        width:38px;
    }

    .slidecontrols{
        gap:10px;
    }

    .teamslideshowimage{
        height:210px;
    }

    .teamslideshowh2{
        font-size:26px;
    }

    .home-about-content .title{
        font-size:32px;
    }

    .home-about-content h3{
        font-size:16px;
    }

    .home-about-content p{
        font-size:14px;
    }

    .hub-image img{
        height:190px;
    }

    .calendar-title{
        font-size:36px;
    }

    .calendar-upcoming-label h2{
        font-size:20px;
    }

    .calendar-modal-text h3{
        font-size:28px;
    }

    .calendar-modal-subtitle{
        font-size:16px;
    }

    .activity-hero-overlay h1{
        font-size:28px;
    }

    .activity-hero-overlay p{
        font-size:14px;
    }

    .activity-section-text h2{
        font-size:24px;
    }
}
