/*
|--------------------------------------------------------------------------
| Conteneur principal
|--------------------------------------------------------------------------
*/

.sunu-gp-list{

    width:100%;
    max-width:100%;
    margin:40px auto;

    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:30px;
    align-items:start;

}

@media (max-width:1024px){

    .sunu-gp-list{
        grid-template-columns:repeat(2, 1fr);
    }

}

@media (max-width:768px){

    .sunu-gp-list{
        grid-template-columns:1fr;
    }

}

/*
|--------------------------------------------------------------------------
| Carte
|--------------------------------------------------------------------------
*/

.sunu-gp-card{

    position:relative;

    background:#ffffff;

    border-radius:18px;

    padding:25px;

    margin-bottom:30px;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    transition:.30s;

    overflow:hidden;

}

.sunu-gp-card:hover{

    transform:translateY(-5px);

    box-shadow:0 18px 45px rgba(0,0,0,.12);

}

/*
|--------------------------------------------------------------------------
| Header
|--------------------------------------------------------------------------
*/

.sunu-gp-header{

    margin-bottom:20px;

}

.sunu-gp-route{

    display:flex;
    justify-content:center;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;

    margin:0;

    font-size:24px;
    font-weight:700;
    color:#1d3557;

    text-align:center;

}

.sunu-gp-route .country{

    color:#1d3557;

}

.sunu-gp-route .route-separator{

    color:#2563eb;
    font-size:18px;
    white-space:nowrap;

}

.sunu-gp-route .route-separator i{

    margin:0 4px;
    font-size:18px;

}

.sunu-gp-plane{

    font-size:18px;

    color:#2563eb;

    margin:0 6px;

    vertical-align:middle;

}

/*
|--------------------------------------------------------------------------
| Corps
|--------------------------------------------------------------------------
*/

.sunu-gp-body p{

    margin:12px 0;

    font-size:16px;

    color:#555;

}

.sunu-gp-body strong{

    color:#222;

}
/*
|--------------------------------------------------------------------------
| Footer
|--------------------------------------------------------------------------
*/

.sunu-gp-footer{

    margin-top:25px;

}
/*
|--------------------------------------------------------------------------
| Badge
|--------------------------------------------------------------------------
*/

.sunu-gp-badge{

    display:inline-block;

    padding:8px 18px;

    border-radius:30px;

    font-size:13px;

    font-weight:700;

    margin-bottom:20px;

    color:#fff;

    letter-spacing:.4px;

}

.sunu-gp-badge.confirmed{

    background:#22c55e;

}

.sunu-gp-badge.limited{

    background:#f59e0b;

}

.sunu-gp-badge.full{

    background:#ef4444;

}
/*
|--------------------------------------------------------------------------
| Compte à rebours
|--------------------------------------------------------------------------
*/

.sunu-gp-countdown{

    margin-top:18px;

    padding:15px;

    border-radius:12px;

    background:#f8fafc;

    border-left:4px solid #2563eb;

}

.sunu-gp-countdown strong{

    display:block;

    margin-bottom:8px;

    color:#1e3a8a;

}

.sunu-gp-countdown .countdown{

    font-size:18px;

    font-weight:700;

    color:#111827;

}
/*
|--------------------------------------------------------------------------
| Bouton Réserver
|--------------------------------------------------------------------------
*/

.sunu-gp-book-btn{

    display:inline-block;

    width:100%;

    text-align:center;

    padding:16px;

    border-radius:12px;

    background:#2563eb;

    color:#fff;

    text-decoration:none;

    font-size:17px;

    font-weight:700;

    letter-spacing:.3px;

    transition:.30s;

}

.sunu-gp-book-btn:hover{

    background:#1d4ed8;

    color:#fff;

}
/*
|--------------------------------------------------------------------------
| Départ terminé
|--------------------------------------------------------------------------
*/

.sunu-gp-badge.finished{

    background:#6b7280;

}

.sunu-gp-finished-message{

    margin-top:18px;

    padding:18px;

    border-radius:12px;

    background:#f3f4f6;

    border-left:4px solid #6b7280;

    color:#374151;

    font-size:16px;

    line-height:1.6;

}

.sunu-gp-finished-message strong{

    display:block;

    margin-bottom:6px;

    color:#111827;

}
/*
|--------------------------------------------------------------------------
| Responsive
|--------------------------------------------------------------------------
*/

@media (max-width: 992px){

    .sunu-gp-list{

        grid-template-columns:1fr;

    }

}
/* =====================================================
   État vide
===================================================== */

.sunu-gp-empty{

    max-width:700px;

    margin:60px auto;

    padding:50px 40px;

    background:#fff;

    border-radius:18px;

    text-align:center;

    box-shadow:0 15px 35px rgba(0,0,0,.08);

    border:1px solid #edf2f7;

}

.sunu-gp-empty-icon{

    font-size:58px;

    margin-bottom:20px;

}

.sunu-gp-empty h2{

    margin:0 0 15px;

    color:#1d3557;

    font-size:30px;

}

.sunu-gp-empty p{

    margin:0 auto 30px;

    max-width:520px;

    color:#64748b;

    line-height:1.8;

    font-size:16px;

}

.sunu-gp-empty-btn{

    display:inline-block;

    padding:14px 28px;

    background:#2563eb;

    color:#fff;

    text-decoration:none;

    border-radius:10px;

    font-weight:600;

    transition:.3s;

}

.sunu-gp-empty-btn:hover{

    background:#1d4ed8;

    color:#fff;

}

/*--------------------------------------------------------------
MESSAGES
--------------------------------------------------------------*/

.sunu-gp-success{

background:#e8f8ef;

border:1px solid #28a745;

color:#1d6f42;

padding:18px;

border-radius:10px;

margin-bottom:25px;

font-weight:600;

}

.sunu-gp-error{

background:#fdecec;

border:1px solid #dc3545;

color:#a32020;

padding:18px;

border-radius:10px;

margin-bottom:25px;

font-weight:600;

}
