/* Account: sign-in, offers, and the locks shown to each level. Colors follow the text so every theme works. */
.compte-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:800;letter-spacing:.04em;border:1px solid currentColor;margin-right:6px}
.compte-badge-premium{background:linear-gradient(115deg,#a93c76,#7e2854);color:#fff;border-color:transparent}
.compte-card{border:1px solid color-mix(in srgb,currentColor 18%,transparent);border-radius:18px;padding:22px;background:color-mix(in srgb,currentColor 3%,transparent);margin:0 0 22px;max-width:760px}
.compte-card h2{margin:0 0 8px}
.compte-tabs{display:flex;gap:8px;margin:0 0 16px}
.compte-tabs button{border:1px solid color-mix(in srgb,currentColor 25%,transparent);background:transparent;color:inherit;border-radius:20px;padding:8px 16px;font-weight:700}
.compte-tabs button[aria-selected=true]{background:color-mix(in srgb,currentColor 12%,transparent)}
.compte-form{display:grid;gap:12px;max-width:420px}
.compte-form label{display:grid;gap:5px;font-weight:700;font-size:14px}
.compte-form input,.compte-form textarea{padding:12px 14px;border:1px solid color-mix(in srgb,currentColor 25%,transparent);border-radius:12px;font:inherit;background:transparent;color:inherit}
.compte-form small{font-weight:400;opacity:.75}
.compte-error{color:#b3261e;font-weight:700;margin:0}
.compte-notice{border-radius:14px;padding:14px 16px;margin:0 0 22px;max-width:760px;background:color-mix(in srgb,#2e7d32 12%,transparent);border:1px solid color-mix(in srgb,#2e7d32 35%,transparent)}
.compte-notice.is-warning{background:color-mix(in srgb,#b26a00 12%,transparent);border-color:color-mix(in srgb,#b26a00 35%,transparent)}
.compte-offer{border-radius:14px;padding:14px 16px;margin:0 0 18px;background:color-mix(in srgb,#a93c76 12%,transparent);font-weight:700}
.compte-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:14px 0}
.compte-plan{border:1px solid color-mix(in srgb,currentColor 20%,transparent);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:6px}
.compte-plan b{font-size:16px}
.compte-plan .compte-price{font-size:24px;font-weight:800}
.compte-plan small{opacity:.75;flex:1}
.compte-plan .cta{margin-top:8px}
.compte-levels{width:100%;border-collapse:collapse;font-size:14px;max-width:760px}
.compte-levels th,.compte-levels td{padding:9px 10px;border-bottom:1px solid color-mix(in srgb,currentColor 15%,transparent);text-align:left}
.compte-levels td:not(:first-child),.compte-levels th:not(:first-child){text-align:center}
.compte-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.compte-link{border:0;background:none;color:inherit;padding:4px 0;font:inherit;font-size:14px;text-decoration:underline;justify-self:start;opacity:.85}
.compte-link:hover{opacity:1}
/* same red as the danger buttons of the confirmation windows (atelier.css), which every theme keeps */
body.atelier-theme .compte-card .cta.danger,.compte-card .cta.danger{background:linear-gradient(120deg,#c0392b,#a0281d)!important;color:#fff!important;text-shadow:none!important}
.compte-form altcha-widget{--altcha-max-width:100%;--altcha-color-base:transparent;--altcha-color-text:currentColor;--altcha-border-radius:12px}
/* theme picker and project pages */
.theme-card.is-locked{opacity:.6}
.theme-lock{display:block;font-size:11px;font-weight:800;margin-top:2px}
.project-locked-note{font-size:13px;line-height:1.5;margin:0 0 12px}
.project-invite{max-width:640px}
.project-invite-actions{display:flex;gap:10px;flex-wrap:wrap}
.project-quota{margin:-12px 0 18px;font-size:14px}
@media(max-width:680px){.compte-card{padding:16px}.compte-levels{font-size:13px}}
/* library: patterns not public yet */
.card.is-private-hidden{display:none!important}
.private-badge{align-self:flex-start;display:inline-block;margin:0 0 8px;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:800;border:1px dashed currentColor;opacity:.85}
/* « Qui sommes-nous » : contact form */
.compte-form textarea{resize:vertical;min-height:140px;line-height:1.5}
.contact-trap{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-privacy{font-size:13px;margin:0}
.about p{max-width:65ch;line-height:1.7}
/* « Moi » page: templates */
.template-model{font-size:16px;margin:18px 0 8px}
.template-model small{font-weight:400;font-size:13px}
.template-list{list-style:none;padding:0;margin:0;display:grid;gap:6px;max-width:640px}
.template-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:9px 12px;border-radius:12px;background:color-mix(in srgb,currentColor 6%,transparent)}
.template-actions{display:flex;gap:12px}
.template-actions button{border:0;background:none;color:inherit;padding:2px 0;font:inherit;font-size:13px;text-decoration:underline;cursor:pointer;opacity:.85}
.template-actions button:hover{opacity:1}
.model-config-dialog .template-start{font-weight:600;margin:0 0 4px}
/* « Ajouter à mes échantillons », under the swatch fields of the patterns */
.swatch-row{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:12px 0}
.swatch-row p{flex-basis:100%;margin:0}
/* Legal pages */
.legal{max-width:860px}
.legal h2{margin:26px 0 8px;font-size:22px}
.legal h2:first-child{margin-top:0}
.legal p,.legal li{line-height:1.7;max-width:70ch}
.legal ul{padding-left:20px;display:grid;gap:6px}
.legal-table{overflow-x:auto;margin:10px 0}
.legal-table td,.legal-table th{text-align:left!important;vertical-align:top}
.legal-date{margin-top:24px;font-size:13px}
.legal code{font-size:.92em}
/* Premium patterns: badge on the library cards and the « Modèle premium » page */
.card.is-premium .tag,.premium-badge{display:inline-block;align-self:flex-start;background:linear-gradient(115deg,#a93c76,#7e2854);color:#fff!important;padding:3px 10px;border-radius:20px;letter-spacing:.06em}
.premium-badge{margin:0 0 6px;font-size:12px;font-weight:800}
.premium-card{display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:24px;align-items:start;max-width:860px}
.premium-photo{aspect-ratio:3/4;border-radius:14px;background-size:cover!important;background-position:center!important}
.premium-body h2{margin:0 0 6px}
.premium-body #premiumText{margin:14px 0 4px;line-height:1.6}
.premium-soon{font-size:14px}
@media(max-width:680px){.premium-card{grid-template-columns:1fr}.premium-photo{aspect-ratio:4/3}}
