#GPtable {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 4px; /* slightly more breathing room */
    background-color: rgba(255,255,255,0.3);
}

/* Header */
#GPtable thead th {
    background-color: #e7cc3d;
    padding: 12px;
    text-align: center;
    border: none;
    
    /* rounded look */
    box-shadow: 
        inset 0 -2px 4px rgba(0,0,0,0.12),
        0 2px 4px rgba(0,0,0,0.08);
}

/* round top corners */
#GPtable thead th:first-child {
    border-top-left-radius: 10px;
}

#GPtable thead th:last-child {
    border-top-right-radius: 10px;
}

/* Body cells */
#GPtable tbody td {
    padding: 12px;
    border-top: 1px solid rgba(0,0,0,0.06);
}

/* rounded row edges */
#GPtable tbody tr td:first-child {
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
}

#GPtable tbody tr td:last-child {
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
}

/* Left column */
#GPtable td:first-child,
#GPtable th:first-child {
    width: 30%;
    font-weight: bold;
    text-align: left;
    background-color: rgba(255,255,255,0.55);
}

/* Gradient columns */
#GPtable td:nth-child(2),
#GPtable th:nth-child(2) {
    background-color: rgba(231,204,61,0.35);
}

#GPtable td:nth-child(3),
#GPtable th:nth-child(3) {
    background-color: rgba(231,204,61,0.25);
}

#GPtable td:nth-child(4),
#GPtable th:nth-child(4) {
    background-color: rgba(231,204,61,0.18);
}

#GPtable td:nth-child(5),
#GPtable th:nth-child(5) {
    background-color: rgba(231,204,61,0.12);
}


.bonus-wrapper{
    max-width: 920px;
    margin: 50px auto;
}

/* Carte principale Bonus B/C/D - titre jaune */
.bonus-card{
    margin-bottom: 28px;
    border-radius: 16px;
    overflow: hidden;
    background: #e7cc3d; /* jaune titre */
    box-shadow: 0 8px 24px rgba(0,0,0,0.06);
    transition: transform 0.2s ease;
}

.bonus-card:hover{
    transform: translateY(-2px);
}

/* Header */
.bonus-card > summary{
    cursor: pointer;
    padding: 20px;
    font-size: 1.35rem;
    font-weight: 600;
    position: relative;
    list-style: none;
    color:#333;
}

summary::-webkit-details-marker{
    display:none;
}

.bonus-card > summary::after{
    content: "▾";
    position: absolute;
    right: 24px;
    font-size: 1.2rem;
    transition: transform 0.3s ease;
}

.bonus-card[open] > summary::after{
    transform: rotate(180deg);
}

/* Blocs internes Requirements / What to expect */
.bonus-inner{
    margin: 14px 18px 26px 18px;
    border-radius: 12px;

    /* très léger dégradé blanc → jaune */
    background: linear-gradient(
        135deg,
        rgba(255,255,255,0.9),
        rgba(242, 234, 192, 0.98) )
    ;

    box-shadow: 0 6px 14px rgba(0,0,0,0.05);
    transition: max-height 0.3s ease, opacity 0.3s ease;
}

.bonus-inner > summary{
    cursor:pointer;
    padding:16px;
    font-weight:600;
    list-style:none;
    position:relative;
}

.bonus-inner > summary::after{
    content:"＋";
    position:absolute;
    right:18px;
    transition:.2s;
}

.bonus-inner[open] > summary::after{
    content:"−";
}

/* contenu interne */
.bonus-inner p,
.bonus-inner ul,
.bonus-inner strong{
    padding-left:18px;
    padding-right:18px;
    margin-top:8px;
    padding-bottom:10px;
}

.bonus-inner ul{
    padding-bottom:18px;
}

.bonus-inner strong{
    display:block;
    margin-top:12px;
}

