/* ==========================================================
   COMPONENTS — LA FISELERIE
========================================================== */

/* CONTAINERS */

.fisel-container {
    width: min(1200px, 92%);
    margin: 0 auto;
}

/* SECTION TITLES */

.fisel-section-title {
    position: relative;
    color: var(--fisel-teal-dark);
    font-size: clamp(2rem, 4vw, 2.8rem);
    line-height: 1.05;
    margin: 0 0 34px;
}

.fisel-section-title::before {
    content: "";
    display: block;
    width: 50px;
    height: 4px;
    border-radius: 999px;
    margin-bottom: 16px;
    background: var(--fisel-orange);
}

/* BUTTONS */

.fisel-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 26px;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 800;
    line-height: 1;
    transition: .3s ease;
}

.fisel-btn-primary {
    background: var(--fisel-orange);
    color: #fff;
}

.fisel-btn-primary:hover {
    background: var(--fisel-teal-dark);
    color: #fff;
    transform: translateY(-4px);
}

.fisel-btn-secondary {
    background: var(--fisel-teal);
    color: #fff;
}

.fisel-btn-secondary:hover {
    background: var(--fisel-orange);
    color: #fff;
    transform: translateX(4px);
}

/* CARDS */

.fisel-card {
    background: #fff;
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 15px 40px rgba(0,0,0,.08);
    transition: .35s ease;
}

.fisel-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 22px 55px rgba(0,0,0,.15);
}

/* IMAGE CARDS */

.fisel-card-image {
    display: block;
    overflow: hidden;
}

.fisel-card-image img {
    width: 100%;
    height: 230px;
    object-fit: cover;
    display: block;
    transition: .5s ease;
}

.fisel-card:hover .fisel-card-image img {
    transform: scale(1.05);
}

/* BADGES */

.fisel-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.fisel-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    border-radius: 999px;
    background: rgba(255,255,255,.14);
    backdrop-filter: blur(8px);
    color: #fff;
    font-weight: 900;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.12);
}

/* HERO BASE */

.fisel-hero {
    position: relative;
    min-height: 560px;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    background: linear-gradient(135deg, var(--fisel-teal-dark), var(--fisel-teal));
}

.fisel-hero-image {
    position: absolute;
    inset: 0;
    z-index: 1;
}

.fisel-hero-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .5;
}

.fisel-hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient(
        180deg,
        rgba(0,0,0,.25) 0%,
        rgba(0,0,0,.82) 100%
    );
}

.fisel-hero-content {
    position: relative;
    z-index: 3;
    color: #fff;
    padding: 130px 0 70px;
}

.fisel-hero-kicker {
    display: inline-block;
    margin-bottom: 18px;
    color: var(--fisel-yellow);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .85rem;
}

.fisel-hero-title {
    color: #fff;
    font-size: clamp(3rem, 7vw, 5.8rem);
    line-height: .95;
    margin: 0;
}

/* SIDEBAR CARD */

.fisel-sidebar-card {
    position: relative;
    overflow: hidden;
    background: #fff;
    border-radius: 28px;
    padding: 38px;
    box-shadow: 0 20px 55px rgba(0,0,0,.1);
}

.fisel-sidebar-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 7px;
    background: linear-gradient(
        90deg,
        var(--fisel-orange),
        var(--fisel-yellow),
        var(--fisel-teal)
    );
}

/* RESPONSIVE COMPONENTS */

@media (max-width: 768px) {
    .fisel-hero {
        min-height: 460px;
    }

    .fisel-hero-content {
        padding: 100px 0 50px;
    }

    .fisel-badge {
        width: 100%;
        justify-content: center;
    }

    .fisel-btn {
        width: 100%;
        max-width: 320px;
    }
}
/* ==========================================================
   EVENT CARD
========================================================== */

.fisel-event-card{

    display:flex;

    flex-direction:column;

    height:100%;

}

.fisel-event-card-content{

    padding:26px;

    display:flex;

    flex-direction:column;

    flex:1;

}

.fisel-event-card-date{

    color:var(--fisel-orange);

    font-weight:700;

    text-transform:uppercase;

    letter-spacing:.05em;

    font-size:.9rem;

    margin-bottom:12px;

}

.fisel-event-card h3{

    margin:0 0 18px;

    line-height:1.3;

    font-size:1.45rem;

}

.fisel-event-card h3 a{

    color:var(--fisel-teal-dark);

    text-decoration:none;

    transition:.3s;

}

.fisel-event-card h3 a:hover{

    color:var(--fisel-orange);

}

.fisel-event-card-meta{

    display:flex;

    flex-direction:column;

    gap:8px;

    margin-bottom:28px;

    color:#666;

    flex:1;

}

.fisel-event-card-meta span{

    display:flex;

    align-items:center;

    gap:8px;

}

.fisel-event-card .fisel-btn{

    align-self:flex-start;

}
/* ==========================================================
   ARTIST CARD
========================================================== */

.fisel-artist-card{

    display:flex;

    flex-direction:column;

    height:100%;

}

.fisel-artist-card-content{

    padding:26px;

    display:flex;

    flex-direction:column;

    flex:1;

}

.fisel-artist-card h3{

    margin:0 0 14px;

    font-size:1.45rem;

    line-height:1.3;

}

.fisel-artist-card h3 a{

    color:var(--fisel-teal-dark);

    text-decoration:none;

    transition:.3s;

}

.fisel-artist-card h3 a:hover{

    color:var(--fisel-orange);

}

.fisel-artist-card p{

    color:#666;

    margin-bottom:26px;

    line-height:1.7;

    flex:1;

}

.fisel-artist-placeholder{

    display:flex;

    align-items:center;

    justify-content:center;

    height:230px;

    padding:25px;

    background:linear-gradient(
        135deg,
        var(--fisel-teal-dark),
        var(--fisel-teal)
    );

    color:#fff;

    text-align:center;

    font-size:1.4rem;

    font-weight:800;

}
/* ==========================================================
   PARTNER CARD
========================================================== */

.fisel-partner-card{

    display:flex;

    align-items:center;

    justify-content:center;

}

.fisel-partner-logo{

    width:100%;

    min-height:140px;

    padding:30px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#fff;

    border-radius:22px;

    text-decoration:none;

    box-shadow:0 15px 35px rgba(0,0,0,.08);

    transition:.35s ease;

}

.fisel-partner-logo:hover{

    transform:translateY(-6px);

    box-shadow:0 22px 50px rgba(0,0,0,.14);

}

.fisel-partner-logo img{

    max-width:100%;

    max-height:90px;

    width:auto;

    height:auto;

    object-fit:contain;

    transition:.3s ease;

}

.fisel-partner-logo:hover img{

    transform:scale(1.05);

}

.fisel-partner-name{

    color:var(--fisel-teal-dark);

    font-weight:800;

    text-align:center;

    line-height:1.4;

}