/* Langues, formulaire enrichi, compte, règlement et ajustements de droite à gauche (arabe). */

/* --- Sélecteur de langue --- */
.lang-switch{position:relative}
.lang-switch summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:8px 10px;border-radius:6px;border:1px solid var(--line)}
.lang-switch summary::-webkit-details-marker{display:none}
.lang-switch svg{width:16px;height:16px}
.lang-switch>div{position:absolute;top:calc(100% + 6px);inset-inline-end:0;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 18px 40px #2022201a;padding:6px;min-width:140px;z-index:30;display:flex;flex-direction:column}
.lang-switch>div a{padding:9px 12px;border-radius:6px;font-size:13px}
.lang-switch>div a:hover,.lang-switch>div a.active{background:var(--mint);color:var(--blue)}
.mobile-langs,.footer-langs{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.mobile-langs a,.footer-langs a{font-size:13px;padding:6px 10px;border:1px solid var(--line);border-radius:20px}
.mobile-langs a.active,.footer-langs a.active{background:var(--ink);color:#fff;border-color:var(--ink)}

/* --- Formulaire --- */
.field-block{display:flex;flex-direction:column;gap:8px}
.field-label{font-size:12px;font-weight:600;color:var(--ink)}
.tag-input{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:48px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:#fff;cursor:text}
.tag-input:focus-within{outline:2px solid var(--blue);outline-offset:1px}
.tag-list{display:contents}
.tag{display:inline-flex;align-items:center;gap:6px;padding:5px 6px 5px 11px;border-radius:20px;background:var(--mint);color:var(--blue);font-size:12px;font-weight:600}
.tag button{border:0;background:none;color:inherit;font-size:15px;line-height:1;cursor:pointer;padding:0 4px}
.tag-input input{flex:1;min-width:160px;border:0;outline:0;padding:6px 4px;font:inherit;background:transparent}
.suggestions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.suggestions small{font-size:11px;color:var(--muted)}
.suggestion{border:1px dashed #c8d2ef;background:#fff;color:var(--ink);border-radius:20px;padding:5px 10px;font-size:11px;cursor:pointer}
.suggestion:hover{border-style:solid;color:var(--blue)}
.language-row{display:grid;grid-template-columns:1.2fr 1fr 1.1fr auto;gap:8px;align-items:center;margin-bottom:8px}
.language-row [data-language-custom][hidden]{display:none}
.language-row:not(:has([data-language-custom]:not([hidden]))){grid-template-columns:1.6fr 1.3fr auto}
.language-row select,.language-row input,.date-pair select{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:6px;background:#fff;font:inherit;font-size:13px;color:var(--ink)}
.language-row .remove-row,.repeat-card .remove-row{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:17px;color:var(--muted)}
.date-field{display:flex;flex-direction:column;gap:6px}
.date-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.date-pair select:disabled{opacity:.45}
.current-toggle{font-size:12px;margin-top:2px}
.legacy-field,.legacy-note{font-size:11px;color:var(--muted)}
.licence-grid{display:flex;flex-wrap:wrap;gap:6px}
.check-pill input{position:absolute;opacity:0;pointer-events:none}
.check-pill span{display:inline-block;min-width:44px;text-align:center;padding:8px 10px;border:1px solid var(--line);border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;background:#fff}
.check-pill input:checked+span{background:var(--ink);color:#fff;border-color:var(--ink)}
.check-pill input:focus-visible+span{outline:2px solid var(--blue);outline-offset:2px}
.char-count{font-size:10px;color:var(--muted);margin-inline-start:6px}

/* --- Verrouillage anti-fraude --- */
.lock-banner{margin:0 0 20px;padding:12px 16px;border-radius:8px;background:#fff7e6;border:1px solid #f0d9a8;color:#7a5a17;font-size:13px}
.is-locked input{background:#f3f4ef!important;color:#6b7068;cursor:not-allowed}
.lock-tag{font-size:11px;margin-inline-start:4px}
.locked-list{border:1px dashed var(--line);border-radius:8px;padding:14px;background:#fafbf7;margin-bottom:12px}
.lock-note{font-size:12px;color:#7a5a17;margin:0 0 10px}
.locked-item{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline;padding:6px 0;border-top:1px solid #eceee8;font-size:13px}
.locked-item small{color:var(--muted)}
.edit-limit{font-size:13px;color:#963f33;background:#f8e8e4;padding:10px 12px;border-radius:6px}

/* --- Conditions, compte, suppression --- */
.terms-box{border:1px solid var(--line);border-radius:8px;padding:14px;background:#fafbf7;font-size:12px;line-height:1.6}
.terms-box p{margin:0 0 10px;color:var(--muted)}
.terms-box a{color:var(--blue);text-decoration:underline}
.check-inline{display:flex;gap:10px;align-items:flex-start;font-size:12px}
.check-inline input{margin-top:3px;flex:none}
.button-danger{background:#a63a2c;color:#fff;border:0}
.button-danger:hover{background:#8a2e22}
.danger-zone{margin-top:14px;font-size:12px;color:var(--muted)}
.danger-zone summary{cursor:pointer;color:#a63a2c;font-weight:600}
.danger-zone p{margin:10px 0}
.account-container{max-width:1000px}
.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.account-grid h2{font-size:20px;margin:0 0 14px}
.account-list{display:grid;grid-template-columns:auto 1fr;gap:10px 18px;font-size:14px;margin:0 0 16px}
.account-list dt{color:var(--muted)}.account-list dd{margin:0;font-weight:600}
.danger-card{border-color:#ecc9c1!important}
.danger-card form{display:flex;flex-direction:column;gap:12px;margin-top:14px}
.danger-card label{display:flex;flex-direction:column;gap:6px;font-size:13px}
.danger-card input[type=password]{padding:11px 12px;border:1px solid var(--line);border-radius:6px}
.legal-section{padding:60px 0 90px}
.legal-container{max-width:820px;font-size:15px;line-height:1.75}
.legal-container h1{font:700 40px/1.15 Manrope,sans-serif;letter-spacing:-.03em;margin:10px 0 6px}
.legal-container h2{font:700 20px/1.3 Manrope,sans-serif;margin:34px 0 8px}
.legal-container ul{padding-inline-start:22px}
.legal-container li{margin:6px 0}
.legal-container a{color:var(--blue);text-decoration:underline}
.legal-updated{color:var(--muted);font-size:13px}
.legal-highlight{background:var(--mint);border-radius:10px;padding:18px 22px;margin:22px 0}
.legal-highlight strong{display:block;margin-bottom:4px}
.legal-highlight p{margin:0}

/* --- Arabe : typographie --- */
[lang=ar] body,.locale-ar{font-family:'IBM Plex Sans Arabic','DM Sans',sans-serif}
.locale-ar h1,.locale-ar h2,.locale-ar h3,.locale-ar .button,.locale-ar .kicker,.locale-ar .ticket-price,.locale-ar .brand,.locale-ar .legal-container h1,.locale-ar .legal-container h2{font-family:Cairo,'IBM Plex Sans Arabic',sans-serif;letter-spacing:0!important}
.locale-ar h1,.locale-ar h2{line-height:1.3}
.locale-ar em,.locale-ar .serif{font-family:Cairo,sans-serif!important;font-style:normal!important;color:var(--blue)}
.locale-ar .kicker,.locale-ar .hero-label,.locale-ar .stage-caption,.locale-ar .writing-top span,.locale-ar .ticket-top span{letter-spacing:0!important;text-transform:none}
.locale-ar .brand,.locale-ar .brand span{direction:ltr;font-family:Manrope,sans-serif}
.locale-ar input,.locale-ar textarea,.locale-ar select,.locale-ar button{font-family:inherit}
.locale-ar .legal-container{font-size:16px;line-height:1.95}

/* --- Droite à gauche : flèches et éléments positionnés --- */
[dir=rtl] .arrow{display:inline-block;transform:scaleX(-1)}
[dir=rtl] .button span[aria-hidden],[dir=rtl] .text-link span{display:inline-block}
[dir=rtl] .preview-choose{left:22px;right:22px}
[dir=rtl] .premium-ribbon{right:auto;left:14px}
[dir=rtl] .back-link{display:inline-block}
[dir=rtl] .photo-upload-copy>strong span{margin-left:0;margin-right:8px}
[dir=rtl] .flash{text-align:right}
[dir=rtl] .tag{padding:5px 11px 5px 6px}
[dir=rtl] .ticket-offer s,[dir=rtl] .price-line s{direction:ltr}
[dir=rtl] .catalog-filters,[dir=rtl] .writing-options,[dir=rtl] .hero-facts{direction:rtl}
[dir=rtl] .sample-cv{text-align:right}

/* Aperçu du CV en arabe (indépendant de la langue du site) */
.preview-paper[dir=rtl]{font-family:'IBM Plex Sans Arabic',Tahoma,sans-serif;text-align:right;line-height:1.75}
.preview-paper[dir=rtl] h1,.preview-paper[dir=rtl] h2{font-family:Cairo,'IBM Plex Sans Arabic',sans-serif;letter-spacing:0;text-transform:none}
.preview-paper[dir=rtl] .preview-photo{float:left;margin:0 20px 15px 0}
.preview-paper[dir=rtl].cv-layout-sidebar .preview-sidebar{margin-left:0;margin-right:-15px}
.preview-paper[dir=rtl] .preview-head:has(.preview-photo) h1,.preview-paper[dir=rtl] .preview-head:has(.preview-photo)>p{max-width:calc(100% - 98px)}
.preview-paper[dir=rtl] .preview-entry>div{flex-direction:row}
.preview-paper[dir=rtl].cv-layout-frame{border-left:0;border-right:6px solid var(--cv-accent)}
.preview-paper[dir=rtl].cv-layout-timeline .preview-entry{padding-left:0;padding-right:25%}
.preview-paper[dir=rtl].cv-layout-timeline .preview-entry:before{left:auto;right:21%}
.preview-paper[dir=rtl].cv-layout-timeline .preview-entry span{left:auto;right:0}
.preview-paper[dir=rtl].cv-layout-portrait{background:linear-gradient(270deg,var(--cv-accent) 34%,#fff 34%)}
.preview-paper:not([dir=rtl]) .preview-section-content p{unicode-bidi:plaintext}

@media(max-width:760px){
  .language-row,.language-row:not(:has([data-language-custom]:not([hidden]))){grid-template-columns:1fr 1fr auto}
  .language-row [data-language-custom]:not([hidden]){grid-column:1/-1;grid-row:2}
  .account-grid{grid-template-columns:1fr}
  .legal-container h1{font-size:30px}
}
/* L’espacement des lettres casse la liaison des lettres arabes */
[dir=rtl] .sample-cv,[dir=rtl] .sample-cv *,.preview-paper[dir=rtl],.preview-paper[dir=rtl] *,.locale-ar .catalog-card-meta h3{letter-spacing:0!important}
/* Blocs pleine largeur et champs composés dans la grille du formulaire */
.field-grid .full{grid-column:1/-1}
.field-grid .tag-input input{display:inline-block;width:auto;flex:1;min-width:150px;margin:0;border:0;padding:6px 4px;background:transparent;box-shadow:none}
.field-grid .language-row select,.field-grid .language-row input,.field-grid .date-pair select{margin-top:0}
.field-grid .check-pill input{width:auto}
.field-grid .check-inline input{display:inline-block;width:auto;margin-top:3px}
.field-grid .field-block{min-width:0}
@media(max-width:760px){.field-grid .full{grid-column:auto}}
.danger-card label.check-inline{flex-direction:row;align-items:flex-start}
