/*
 * Resilier.fr — composant « modèle de lettre » 2026
 * Version 1.2 — 8 octobre 2026
 *
 * Feuille autonome : aucune dépendance sur .lettre, .adresse-destinataire,
 * .coin ou les anciens correctifs PDF bancaires.
 */

.rg-letter-2026,
.rg-letter-2026 * {
    box-sizing:border-box;
}


.rg-letter-2026-note {
    max-width:780px;
    margin:8px 0 14px!important;
    color:#586d79;
    font-size:14px;
    line-height:1.55;
}

.rg-letter-2026 {
    width:100%;
    margin:24px 0 34px;
}

.rg-letter-2026__paper {
    width:100%;
    max-width:780px;
    margin:0 auto;
    padding:30px 34px 34px;
    border:1px solid #d9e2e7;
    border-radius:9px;
    background:#fffefa;
    color:#263d4b;
    box-shadow:0 3px 13px rgba(24,53,78,.05);
    font:400 15.5px/1.58 Arial,Helvetica,sans-serif;
    text-align:left;
}

.rg-letter-2026__header {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(255px,.92fr);
    gap:54px;
    align-items:start;
    margin:0 0 30px;
}

.rg-letter-2026__sender,
.rg-letter-2026__recipient,
.rg-letter-2026__date,
.rg-letter-2026__right {
    margin:0;
    padding:0;
    border:0;
    background:transparent;
}

.rg-letter-2026__sender {
    text-align:left;
}

.rg-letter-2026__right {
    width:100%;
    min-width:0;
}

.rg-letter-2026__recipient,
.rg-letter-2026__date {
    width:100%;
    margin-left:auto;
    text-align:left;
}

.rg-letter-2026__date {
    margin-top:24px;
}

.rg-letter-2026__line {
    min-height:1.55em;
    margin:0;
    padding:0;
    border:0;
    background:transparent;
    color:inherit;
    line-height:1.55;
}

.rg-letter-2026__subject {
    margin:0 0 36px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:inherit!important;
    line-height:1.55!important;
    text-align:left!important;
}

.rg-letter-2026__body {
    margin:0;
    padding:0;
    border:0;
    background:transparent;
}

.rg-letter-2026__body p {
    margin:0 0 16px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:inherit!important;
    line-height:1.62!important;
    text-align:left!important;
}

.rg-letter-2026__body p:last-child {
    margin-bottom:0!important;
}

/* Blanc volontaire à compléter : espace uniquement, jamais de crochet,
   de trait, de fond ou d'intitulé. */
.rg-letter-2026__blank {
    display:inline-block;
    height:1em;
    margin:0 .12em;
    padding:0;
    border:0!important;
    border-bottom:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:transparent!important;
    vertical-align:-.12em;
}

.rg-letter-2026__blank--short { width:4.5em; }
.rg-letter-2026__blank--medium { width:8.5em; }
.rg-letter-2026__blank--long { width:13.5em; max-width:55%; }

.rg-letter-2026__signature {
    width:min(100%,260px);
    min-height:88px;
    margin:38px 0 0 auto;
    padding:0;
    border:0;
    background:transparent;
    color:inherit;
    line-height:1.55;
    text-align:left;
}

.rg-letter-2026__actions {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    width:100%;
    max-width:780px;
    margin:12px auto 0;
}

.rg-letter-2026__action {
    appearance:none;
    -webkit-appearance:none;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    margin:0;
    padding:10px 14px;
    border:1px solid #9db5c3;
    border-radius:7px;
    background:#fff;
    color:#214b63;
    box-shadow:none;
    font:700 14px/1.25 Arial,Helvetica,sans-serif;
    text-align:center;
    text-decoration:none!important;
    cursor:pointer;
}

.rg-letter-2026__action:hover,
.rg-letter-2026__action:focus-visible {
    background:#f3f8fa;
    border-color:#6f94a8;
    color:#173b56;
}

.rg-letter-2026__action:focus-visible {
    outline:3px solid #2f7aa5;
    outline-offset:2px;
}

.rg-letter-2026__action--recommended {
    border-color:#d5b93a;
    background:#fff8d9;
    color:#3d3a24;
}

.rg-letter-2026__action--recommended:hover,
.rg-letter-2026__action--recommended:focus-visible {
    border-color:#bc9d18;
    background:#fff2b8;
    color:#2e2c1f;
}

.rg-letter-2026__action[disabled] {
    opacity:.6;
    cursor:wait;
}

.rg-letter-2026__status {
    grid-column:1 / -1;
    min-height:0;
    margin:0;
    color:#526c7b;
    font:400 12px/1.35 Arial,Helvetica,sans-serif;
    text-align:center;
}

.rg-letter-2026__status:empty {
    display:none;
}

.rg-letter-2026__status[data-error] {
    color:#8e3030;
}

@media screen and (max-width:760px) {
    .rg-letter-2026 {
        margin:21px 0 30px;
    }

    .rg-letter-2026__paper {
        padding:22px 18px 25px;
        border-radius:8px;
        font-size:15px;
        line-height:1.55;
    }

    .rg-letter-2026__header {
        grid-template-columns:1fr;
        gap:24px;
        margin-bottom:27px;
    }

    .rg-letter-2026__right {
        width:min(82%,300px);
        margin-left:auto;
    }

    .rg-letter-2026__date {
        margin-top:21px;
    }

    .rg-letter-2026__body p {
        margin-bottom:14px!important;
        line-height:1.58!important;
    }

    .rg-letter-2026__blank--long {
        max-width:48%;
    }

    .rg-letter-2026__signature {
        width:min(78%,250px);
        min-height:78px;
        margin-top:31px;
    }

    .rg-letter-2026__actions {
        gap:8px;
    }

    .rg-letter-2026__action {
        min-height:43px;
        padding:9px 8px;
        font-size:13px;
    }
}

@media screen and (max-width:360px) {
    .rg-letter-2026__paper {
        padding-left:15px;
        padding-right:15px;
    }

    .rg-letter-2026__right,
    .rg-letter-2026__signature {
        width:80%;
    }

    .rg-letter-2026__actions {
        grid-template-columns:1fr;
    }
}

@media print {
    .rg-letter-2026__paper {
        max-width:none;
        padding:0;
        border:0;
        border-radius:0;
        box-shadow:none;
    }

    .rg-letter-2026__actions {
        display:none!important;
    }
}
