/*
 * Style « Doux » : grands arrondis, ombres douces, boutons en pastille.
 */

:root,
[data-theme="default"] {
    --rb-border-global: 22px;
    --rb-border-button: 999px;
    --rb-soft-shadow: 0 14px 34px -14px rgba(0, 0, 0, .45), 0 2px 6px -2px rgba(0, 0, 0, .25);
}

html body .banner,
html body .card,
html body .accordion-item,
html body .modal-content,
html body .dropdown-menu,
html body .alert {
    border: 0;
    border-radius: var(--rb-border-global) !important;
    box-shadow: var(--rb-soft-shadow);
}

html body .card,
html body .accordion-item,
html body .modal-content {
    overflow: hidden;
    background-color: var(--color-contrast-lower);
}

html body .card-body {
    padding: 1.4rem 1.5rem;
}

html body .card-header,
html body .card-footer {
    border: 0;
    background: hsla(var(--color-contrast-low-h), var(--color-contrast-low-s), var(--color-contrast-low-l), .45);
}

/* Bandeaux : pastille arrondie, icône ronde */
html body .banner {
    background-color: var(--color-contrast-low);
    background-image: linear-gradient(120deg, hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), .14), transparent 55%);
}

html body .banner .banner-icon {
    top: 8px;
    left: 8px;
    width: 50px;
    height: calc(100% - 16px);
    border-radius: 16px;
}

html body .banner .banner-icon::before {
    display: none;
}

html body .banner .banner-title {
    padding-left: 72px;
}

html body .banner .banner-title.no-image {
    padding-left: 22px;
}

/* Listes et tableaux : lignes arrondies et espacées */
html body .list-group {
    gap: 6px;
}

html body .list-group-item {
    border: 0;
    border-radius: 14px !important;
    background-color: var(--color-contrast-lower);
}

html body .table--custom .table-row {
    border-radius: 14px;
    box-shadow: var(--rb-soft-shadow);
}

/* Boutons en pastille */
html body .btn,
html body .badge,
html body .nav-pills .nav-link {
    border-radius: var(--rb-border-button);
}

html body .btn {
    padding-right: 1.1rem;
    padding-left: 1.1rem;
}

html body .btn-primary {
    box-shadow: 0 10px 24px -10px hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), .8);
}

html body .btn-group > .btn {
    border-radius: 0;
}

html body .btn-group > .btn:first-child {
    border-radius: 999px 0 0 999px;
}

html body .btn-group > .btn:last-child {
    border-radius: 0 999px 999px 0;
}

html body .form-control,
html body .form-select {
    border-radius: 14px;
}

html body .input-group > .form-control {
    border-radius: 0;
}

html body .page-link {
    margin: 0 3px;
    border-radius: 12px !important;
}

html body .progress {
    border-radius: 999px;
}

/* Navigation : bord inférieur arrondi, ombre douce */
html body .header .navbar {
    border-radius: 0 0 22px 22px;
    box-shadow: var(--rb-soft-shadow);
}

html body .footer .footer--top {
    border-radius: 28px 28px 0 0;
}
