/* Personnalisation de la démo, compte, page anglaise et compléments du logiciel — charte « Fiche de chantier ».
   Les règles marquées « fonctionnement » pilotent l'affichage : ne pas les retirer. */

/* Fonctionnement : la démo s'ouvre après le formulaire d'identité ; éléments masqués par les scripts. */
.demo-body:not(.demo-unlocked) .dm-grid, .demo-body:not(.demo-unlocked) .dm-cta-wrap, .demo-body:not(.demo-unlocked) .dm-sticky { display: none !important; }
.account-hidden[hidden], .logo-control img[hidden], .demo-personalize[hidden], .account-terms[hidden], .account-tabs[hidden], #account-form[hidden], #recovery-box[hidden] { display: none !important; }
.activity-mobile { display: none; }

/* En-tête commun quand simple.css est aussi chargé (compte, page anglaise, démo) */
.site-header { display: block; min-height: 0; padding: 0; border: 0; }
.site-header nav.header-actions { gap: 6px; }
.header-inner:not(:has(.tabs)) { grid-template-columns: 1fr auto; }
.site-header .brand img.logo { width: auto; height: 40px; }
.language-link { display: inline-flex; align-items: center; min-height: 44px; padding: 0 12px; border-radius: 10px; font-size: 14px; font-weight: 600; text-decoration: none; white-space: nowrap; }
.language-link:hover { background: rgba(16, 45, 36, .07); }
.interface-language { position: relative; z-index: 31; display: flex; justify-content: flex-end; gap: 10px; margin: 0 auto; padding: 4px var(--gutter, 20px); max-width: var(--container, 1240px); background: var(--paper, #F4F2E9); font-size: 13px; }
.interface-language a { color: inherit; font-weight: 600; }

/* ---------- Cartes « fiche » : identité de la démo et compte ---------- */
.personalize-card, .account-card {
  max-width: 820px; margin: 8px auto 40px; padding: clamp(20px, 3.4vw, 40px);
  background: var(--sheet, #FFF); border: 1.5px solid var(--ink, #102D24); border-radius: 18px; box-shadow: 0 30px 60px -40px rgba(16, 45, 36, .55);
}
.personalize-card h2, .account-card h1 { margin: 12px 0 14px; font-size: clamp(28px, 1.1rem + 2vw, 44px); line-height: 1.04; font-weight: 800; font-stretch: 110%; letter-spacing: -.03em; text-wrap: balance; }
.personalize-card > p, .account-card > p, .privacy-note { margin: 0 0 6px; font-size: 15px; line-height: 1.6; color: var(--ink-2, #33493F); }
.personalize-card .eyebrow::before, .account-card .eyebrow::before { content: ""; width: 18px; height: 18px; background: var(--tick) center / contain no-repeat; }
.personalize-card .form-grid, .account-card .form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 18px; margin: 22px 0; }
.personalize-card label, .account-card label, .logo-control label { display: flex; flex-direction: column; gap: 7px; min-width: 0; font-size: 14px; font-weight: 650; color: var(--ink, #102D24); }
.personalize-card input:not([type="checkbox"]):not([type="file"]), .personalize-card select, .personalize-card textarea,
.account-card input:not([type="checkbox"]):not([type="file"]), .account-card select, .company-panel textarea, .company-panel select, .demo-tax-field input {
  width: 100%; min-height: 50px; padding: 11px 12px; border: 1.5px solid var(--line, #D6D2C1); border-radius: 10px; background: #FBFAF5;
  color: var(--ink, #102D24); font: inherit; font-size: 16px; font-weight: 500; transition: border-color .15s, box-shadow .15s, background-color .15s;
}
.personalize-card input:not([type="checkbox"]):not([type="file"]):focus, .personalize-card select:focus, .personalize-card textarea:focus,
.account-card input:not([type="checkbox"]):not([type="file"]):focus, .account-card select:focus, .company-panel textarea:focus, .company-panel select:focus, .demo-tax-field input:focus {
  outline: none; border-color: var(--ink, #102D24); background: #FFF; box-shadow: 0 0 0 4px var(--lime, #CFF57F);
}
.personalize-card textarea, .company-panel textarea { resize: vertical; line-height: 1.55; }
.personalize-card input[type="file"], .logo-control input[type="file"] { min-height: 50px; padding: 10px; border: 1.5px dashed var(--ink-3, #56675E); border-radius: 10px; background: #FBFAF5; font-size: 14px; }
.personalize-card .wide, .account-card .wide { grid-column: 1 / -1; }
.personalize-card form > .btn { margin: 6px 14px 10px 0; }
.privacy-note { display: flex; gap: 10px; margin: 6px 0 18px; padding: 12px 14px; border-radius: 10px; background: var(--lime-wash, #EDF7D0); font-size: 13.5px; }
.privacy-note::before { content: ""; flex: none; width: 18px; height: 18px; margin-top: 1px; background: var(--tick) center / contain no-repeat; }
.demo-optional { margin: 4px 0 18px; padding: 0 16px; border: 1.5px solid var(--line, #D6D2C1); border-radius: 12px; background: #FBFAF5; }
.demo-optional summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 54px; font-size: 15px; font-weight: 650; cursor: pointer; list-style: none; }
.demo-optional summary::-webkit-details-marker { display: none; }
.demo-optional summary::after { content: ""; flex: none; width: 30px; height: 30px; border: 1.5px solid var(--ink, #102D24); border-radius: 8px; background: #FFF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 5v10M5 10h10' stroke='%23102D24' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / 16px no-repeat; }
.demo-optional[open] summary::after { background-color: var(--lime, #CFF57F); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10h10' stroke='%23102D24' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.demo-optional .form-grid { margin: 4px 0 18px; }
.logo-control { display: grid; gap: 10px; margin: 20px 0; }
.logo-control small { font-size: 12.5px; color: var(--ink-3, #56675E); }
.logo-control img { max-width: 240px; max-height: 100px; padding: 10px; border: 1.5px solid var(--line, #D6D2C1); border-radius: 10px; background: #FFF; object-fit: contain; object-position: left; }
.company-document-logo { display: block; max-width: 180px; max-height: 75px; margin: 0 0 15px; object-fit: contain; object-position: left; }
.company-address { white-space: pre-line; }
.demo-tax-field { display: grid; gap: 8px; margin-top: 22px; padding-top: 18px; border-top: 1px dashed var(--line, #D6D2C1); }
.demo-tax-field input { max-width: 180px; }
.demo-tax-field small { font-size: 12.5px; font-weight: 400; line-height: 1.5; color: var(--ink-3, #56675E); }
.dm-unit { white-space: nowrap; }

/* ---------- Compte ---------- */
.account-page { max-width: 880px; margin: 0 auto; padding: clamp(20px, 3vw, 40px) var(--gutter, 20px) 56px; }
.account-tabs { display: flex; flex-wrap: wrap; gap: 4px; margin: 20px 0 4px; padding: 4px; border-radius: 12px; background: rgba(16, 45, 36, .055); }
.account-tabs button { flex: 1 1 auto; min-height: 46px; padding: 0 14px; border: 1.5px solid transparent; border-radius: 9px; background: transparent; color: var(--ink-2, #33493F); font: inherit; font-size: 15px; font-weight: 650; cursor: pointer; transition: background-color .2s, color .2s; }
.account-tabs button:hover { color: var(--ink, #102D24); background: rgba(255, 255, 255, .6); }
.account-tabs button[aria-pressed="true"] { background: var(--lime, #CFF57F); border-color: rgba(16, 45, 36, .25); color: var(--ink, #102D24); }
.account-terms { display: flex !important; flex-direction: row !important; align-items: flex-start; gap: 12px !important; margin: 4px 0 18px; font-size: 14px !important; font-weight: 400 !important; line-height: 1.55; }
.account-terms input { -webkit-appearance: none; appearance: none; flex: none; width: 24px; height: 24px; min-height: 24px; margin: 0; border: 1.5px solid var(--ink, #102D24); border-radius: 7px; background: #FFF; cursor: pointer; }
.account-terms input:checked { border-color: transparent; background: var(--tick) center / contain no-repeat; }
.account-error { margin: 0 0 16px; padding: 12px 14px; border-left: 3px solid var(--warn, #A9401D); border-radius: 0 10px 10px 0; background: var(--warn-wash, #FAE7DE); color: var(--warn, #A9401D); font-weight: 600; }
.account-card .btn { min-height: 52px; }
.recovery-box { margin-top: 20px; padding: 20px; border: 1.5px solid var(--ink, #102D24); border-radius: 14px; background: var(--lime-wash, #EDF7D0); }
.recovery-box h2 { margin: 0 0 8px; font-size: 22px; font-weight: 800; font-stretch: 106%; letter-spacing: -.02em; }
.recovery-box code { display: block; margin: 14px 0; padding: 14px; border: 1.5px dashed var(--ink, #102D24); border-radius: 10px; background: #FFF; font-family: ui-monospace, "Cascadia Mono", Consolas, monospace; font-size: 16px; letter-spacing: .04em; overflow-wrap: anywhere; }
.recovery-box .btn { margin: 4px 10px 0 0; }
.account-note, .international-note { margin: 14px 0 0; font-size: 13px; line-height: 1.55; color: var(--ink-3, #56675E); }

/* ---------- Page anglaise ---------- */
.english-hero { padding-top: clamp(28px, 5vw, 64px); padding-bottom: clamp(32px, 5vw, 64px); }
.english-hero .title { max-width: 18ch; margin: 16px 0 0; font-size: clamp(38px, 1.4rem + 3vw, 64px); }
.english-hero .lead { max-width: 58ch; margin: 22px 0 12px; }
.english-hero > p:not(.lead):not(.eyebrow):not(.english-price):not(.international-note) { max-width: 60ch; color: var(--ink-2, #33493F); }
.english-price { display: inline-flex; margin: 18px 0 0; padding: 8px 14px; border: 1.5px solid var(--ink, #102D24); border-radius: 10px; background: var(--lime, #CFF57F); font-size: 17px; font-weight: 750; }
.english-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 22px 0; }
.english-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 24px; margin-bottom: 48px; }
.english-grid article { padding: 24px; border: 1.5px solid var(--ink, #102D24); border-radius: 16px; background: #FFF; }
.english-grid h2 { margin: 0 0 10px; font-size: 22px; line-height: 1.15; font-weight: 750; font-stretch: 106%; letter-spacing: -.015em; }
.english-grid p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--ink-2, #33493F); }

/* ---------- Logiciel : raccourcis ajoutés ---------- */
.saved-actions { flex-wrap: wrap; }
.sidebar-note .button { margin-top: 12px; }

@media (max-width: 760px) {
  .personalize-card .form-grid, .account-card .form-grid, .english-grid { grid-template-columns: minmax(0, 1fr); }
  .personalize-card .wide, .account-card .wide { grid-column: auto; }
  .personalize-card form > .btn { width: 100%; margin-right: 0; }
  .account-tabs button { font-size: 13.5px; padding: 0 10px; }
  .header-inner > .language-link, .header-actions .language-link { display: none; }
  .english-actions { flex-direction: column; }
  .english-actions .btn { width: 100%; }
  .site-header .brand img.logo { height: 34px; }
  .activity-mobile { display: inline-flex; min-height: 44px; align-items: center; }
  .saved-actions { justify-content: flex-start; }
}
