.nicolas-legal {
    padding-block: 130px 50px;
    background: #fff;
}

.nicolas-legal__inner {
    width: 80%;
    max-width: 1080px;
    padding-block: 30px;
}

.nicolas-legal h1 {
    margin: 0 0 30px;
    color: #333;
    font-size: clamp(2rem, 1.6rem + 2vw, 2.6rem);
    line-height: 1.2;
}

.nicolas-legal__accordion { display: grid; gap: 30px; }

.nicolas-legal__item {
    border: 1px solid #d9d9d9;
    border-radius: var(--nicolas-radius-control);
    overflow: hidden;
    background: #f4f4f4;
}

.nicolas-legal__item summary {
    position: relative;
    padding: 20px 70px 20px 20px;
    color: #666;
    font-size: 1.175rem;
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
    list-style: none;
}

.nicolas-legal__item summary::-webkit-details-marker { display: none; }

.nicolas-legal__item summary::after {
    position: absolute;
    top: 50%;
    right: 20px;
    width: 20px;
    height: 20px;
    transform: translateY(-50%);
    border-radius: 50%;
    background: #ccc;
    color: #fff;
    content: "+";
    font-family: Arial, sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 20px;
    text-align: center;
}

.nicolas-legal__item[open] { background: #fff; }
.nicolas-legal__item[open] summary { color: #333; }
.nicolas-legal__item[open] summary::after { content: "−"; }

.nicolas-legal__content {
    padding: 20px;
    color: #666;
    font-size: 1rem;
    line-height: 1.7;
}

.nicolas-legal__content > * + * { margin-top: 1rem; }
.nicolas-legal__content h2 { color: #333; font-size: 1.175rem; }

@media (max-width: 48rem) {
    .nicolas-legal { padding-top: 110px; }
    .nicolas-legal__item summary { padding-right: 58px; }
}
