/* contact-smart.css — formulaire de contact intelligent. S'appuie sur les jetons de la page (--ink, --bg, --white, --muted, --fb, --ft) avec replis.
   Identité maison : Cormorant (titres) + Plus Jakarta/DM Sans (corps), encre #1B263B, mer #2F5D73, CTA corail de la page. Sobre : aucun doré. */
#contact-smart{--cs-ink:var(--ink,#1B263B);--cs-muted:var(--muted,#6B6B6B);--cs-bg:var(--bg,#faf7f3);--cs-white:var(--white,#fff);--cs-line:rgba(27,38,59,.12);--cs-sea:#2F5D73;--cs-err:#b42318;--cs-ease:cubic-bezier(.23,1,.32,1);font:300 .95rem/1.5 var(--fb,'DM Sans',sans-serif);color:var(--cs-ink);font-variant-numeric:lining-nums}
#contact-smart [hidden]{display:none!important}
/* Accueils : la carte qui porte le formulaire est un élément de grille ; sans min-width:0 la largeur minimale du
   formulaire élargit la colonne (cartes rognées de 2 px et sans marge droite à 375 px). */
.contact__form-card{min-width:0}
#contact-smart *,#contact-smart *::before,#contact-smart *::after{box-sizing:border-box}
/* Boutons, listes et calendrier héritent de la typo de la page (sinon police système). */
#contact-smart button,#contact-smart select,#contact-smart input,#contact-smart textarea{font-family:inherit}
#contact-smart a:focus-visible,#contact-smart button:focus-visible{outline:2px solid var(--cs-sea);outline-offset:2px;border-radius:4px}
.cs-types{border:0;margin:0 0 1.25rem;padding:0;min-width:0}
.cs-legend{font:400 1.35rem/1.25 var(--ft,'Cormorant Garamond',serif);margin:0 0 .9rem;padding:0}
.cs-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
.cs-card{position:relative;display:flex;flex-direction:column;gap:.2rem;padding:1rem 1.1rem;border:1.5px solid var(--cs-line);border-radius:12px;background:var(--cs-white);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color .16s var(--cs-ease),transform .12s var(--cs-ease)}
@media(hover:hover) and (pointer:fine){.cs-card:hover{border-color:rgba(27,38,59,.3)}}
.cs-card:active{transform:scale(.985)}
.cs-card input{position:absolute;opacity:0;pointer-events:none}
.cs-card:has(input:checked){border-color:var(--cs-ink);box-shadow:0 6px 20px rgba(27,38,59,.08)}
.cs-card:has(input:focus-visible){outline:2px solid var(--cs-sea);outline-offset:2px}
.cs-card__t{font-weight:500;font-size:.98rem}
.cs-card__d{font-size:.84rem;color:var(--cs-muted)}
/* Profil choisi : une ligne sobre « profil — Changer ». */
.cs-chosen{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.8rem 1rem .8rem 1.1rem;border:1.5px solid var(--cs-ink);border-radius:12px;background:var(--cs-white);animation:cs-in .2s var(--cs-ease)}
.cs-chosen__t{font-weight:500;font-size:.98rem;min-width:0}
.cs-change{flex:0 0 auto;background:none;border:0;padding:.35rem .2rem;color:var(--cs-sea);font-size:.86rem;font-weight:500;text-decoration:underline;text-underline-offset:3px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.cs-change:active{transform:scale(.97)}
/* Ligne entière cliquable (rouvre le choix) : main au survol, filet mer, réponse au doigt. */
.cs-chosen{cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color .2s var(--cs-ease),transform .12s var(--cs-ease)}
@media(hover:hover) and (pointer:fine){.cs-chosen:hover{border-color:var(--cs-sea)}.cs-chosen:hover .cs-change{color:var(--cs-ink)}}
.cs-chosen:active{transform:scale(.99)}
@keyframes cs-in{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}
.cs-form{display:flex;flex-direction:column;gap:.85rem}
.cs-row{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
.cs-row:has(> .cs-field:not([hidden]) + .cs-field[hidden]),.cs-row:has(> .cs-field[hidden] + .cs-field:not([hidden])){grid-template-columns:1fr}
.cs-field{display:flex;flex-direction:column;gap:.35rem;min-width:0;scroll-margin:110px 0 24px}
.cs-label{font:500 .75rem/1.2 var(--fb,'DM Sans',sans-serif);letter-spacing:.1em;text-transform:uppercase;color:var(--cs-muted)}
.cs-opt{text-transform:none;letter-spacing:0;font-weight:300}
.cs-input{width:100%;padding:.8rem 1.05rem;background:var(--cs-bg);border:1.5px solid transparent;border-radius:6px;font:300 .92rem/1.3 var(--fb,'DM Sans',sans-serif);color:var(--cs-ink);outline:none;transition:border-color .16s var(--cs-ease),background-color .16s var(--cs-ease),box-shadow .16s var(--cs-ease)}
/* Texte indicatif : #6B6B6B plein = 4,99:1 sur #faf7f3, 4,93:1 sur #F8F5F0, 5,33:1 sur blanc (l'ancien rgba(107,107,107,.62) : 2,44:1). */
.cs-input::placeholder{color:#6B6B6B;opacity:1}
.cs-input:focus{border-color:var(--cs-sea);background:var(--cs-white);box-shadow:0 0 0 3px rgba(47,93,115,.12)}
select.cs-input{-webkit-appearance:none;appearance:none;padding-right:2.4rem;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5 6 7.5 9 4.5' fill='none' stroke='%231B263B' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' opacity='.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center;background-size:12px 12px}
textarea.cs-input{min-height:110px;resize:vertical;line-height:1.5}
.cs-hint{font-size:.78rem;color:var(--cs-muted)}
.cs-sug{color:var(--cs-sea)}
.cs-email-sug[hidden]{display:none}
.cs-sug-apply{font:inherit;font-weight:500;color:var(--cs-sea);background:none;border:0;padding:2px 0;margin:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere;border-radius:3px;transition:color .2s var(--cs-ease)}
.cs-sug-apply:hover{color:var(--cs-ink)}
.cs-sug-apply:focus-visible{outline:2px solid var(--cs-sea);outline-offset:2px}
.cs-count{align-self:flex-end;font-size:.76rem;color:var(--cs-muted);font-variant-numeric:lining-nums tabular-nums}
.cs-count.is-max{color:var(--cs-err)}
/* La recherche de pays (dans le champ téléphone) n'est pas le champ en erreur : jamais colorée. */
.cs-invalid .cs-input:not(.cs-cc-search),.cs-invalid .rc-trigger{border-color:var(--cs-err)!important}
.cs-err{color:var(--cs-err);font-size:.8rem;min-height:0}
.cs-err:empty{display:none}
.cs-shortcuts:empty,.cs-kw:empty{display:none}
.cs-shortcuts,.cs-kw{display:flex;flex-direction:column;gap:.6rem}
.cs-kw{margin-top:-.35rem}
.cs-sc--key{padding:1.1rem 1.2rem;border-radius:12px;background:var(--cs-white);border:1.5px solid var(--cs-sea);animation:cs-in .2s var(--cs-ease)}
.cs-sc--key p{margin:.35rem 0 .8rem;color:var(--cs-muted)}
.cs-sc__after{margin:.75rem 0 0!important;font-size:.85rem;color:var(--cs-muted)}
/* Bouton contour encre (même dessin que .btn-outline des pages, défini ici aussi : toutes les pages hôtes ne l'ont pas). */
#contact-smart .cs-sc .btn-outline{background:transparent;color:var(--cs-ink);border:1.5px solid var(--cs-ink);-webkit-tap-highlight-color:transparent}
@media(hover:hover) and (pointer:fine){#contact-smart .cs-sc .btn-outline:hover{background:var(--cs-ink);color:#fff}}
.cs-sc--key .btn-outline:active{transform:scale(.97)}
/* « Obtenir mon code maintenant » : bleu Méditerranée de la maison (mer #2F5D73, celui du calendrier et des liens ;
   blanc 7,0:1), sobre ; survol = bleu nuit (encre #1B263B). */
#contact-smart .cs-btn-deep{background:var(--cs-sea);color:#fff;border:0;transition:background-color .2s var(--cs-ease),transform .12s var(--cs-ease);-webkit-tap-highlight-color:transparent}
@media(hover:hover) and (pointer:fine){#contact-smart .cs-btn-deep:hover{background:var(--cs-ink);color:#fff}}
#contact-smart .cs-btn-deep:active{transform:scale(.97)}
#contact-smart .cs-btn-deep:focus-visible{outline:2px solid var(--cs-sea);outline-offset:2px}
.cs-sc--line{margin:0;padding:.7rem .9rem;border-left:3px solid var(--cs-sea);background:var(--cs-white);font-size:.88rem;line-height:1.5}
.cs-sc--kw{animation:cs-in .2s var(--cs-ease)}
.cs-sc a:not(.btn),.cs-tsdown a,.cs-panel a:not(.btn){color:var(--cs-sea);text-decoration:underline;text-underline-offset:2px;font-weight:500}
.cs-panel{padding:1.2rem 1.3rem;border-radius:12px;background:var(--cs-white);border:1px solid var(--cs-line)}
.cs-panel h3{font:400 1.25rem/1.25 var(--ft,'Cormorant Garamond',serif);margin:0 0 .4rem}
.cs-panel p{margin:0 0 .9rem;color:var(--cs-muted)}
.cs-panel--soft{font-size:.9rem}
.cs-subj-careers .cs-panel--soft[data-for="other"]{display:none!important}
.cs-hp{position:absolute!important;left:-9999px!important;top:auto;width:1px;height:1px;overflow:hidden;opacity:0}
.cs-turnstile{min-height:65px}
.cs-tsdown{padding:.8rem 1rem;border-radius:8px;background:#fff7ed;border:1px solid #fed7aa;font-size:.88rem;line-height:1.5}
.cs-status:empty{display:none}
.cs-status{scroll-margin:110px 0 24px}
.cs-status--err{padding:.75rem 1rem;border-radius:6px;background:#fef2f2;color:#991b1b;border-left:3px solid #991b1b;font-size:.88rem}
.cs-submit{width:100%;justify-content:center;-webkit-tap-highlight-color:transparent}
.cs-submit:active:not([disabled]){transform:scale(.97)}
.cs-submit[disabled]{opacity:.55;cursor:not-allowed;transform:none}
.cs-submit.is-sending{cursor:progress;opacity:.8}
.cs-privacy{margin:0;font-size:.78rem;color:var(--cs-muted);text-align:center}
.cs-done{text-align:center;padding:1.5rem 0;outline:none;scroll-margin:110px 0 24px;animation:cs-in .25s var(--cs-ease)}
/* Confirmation v3 : apparition échelonnée (transform + opacity seulement), une seule fois par envoi. */
@keyframes cs-rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes cs-pop{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:none}}
.cs-done>*{animation:cs-rise .42s var(--cs-ease) both}
.cs-done>:nth-child(2){animation-delay:.06s}.cs-done>:nth-child(3){animation-delay:.12s}.cs-done>:nth-child(4){animation-delay:.18s}
.cs-done>:nth-child(5){animation-delay:.24s}.cs-done>:nth-child(6){animation-delay:.3s}.cs-done>:nth-child(7){animation-delay:.36s}
.cs-done__icon{width:60px;height:60px;margin:0 auto 1.1rem;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--cs-sea);color:#fff;box-shadow:0 0 0 8px rgba(47,93,115,.08);animation-name:cs-pop!important}
.cs-done__icon svg{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.cs-done__eyebrow{font-size:.7rem!important;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--cs-sea)!important;margin:0 0 .45rem!important}
.cs-done h3{font:400 1.75rem/1.15 var(--ft,'Cormorant Garamond',serif);margin:0 0 .55rem;color:var(--cs-ink);text-wrap:balance}
.cs-done p{color:var(--cs-muted);margin:0 0 .7rem}
.cs-done__lead{max-width:30ch;margin:0 auto 1.4rem!important;text-wrap:balance}
.cs-done__ref{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:.75rem;row-gap:.15rem;max-width:340px;margin:0 auto 1.6rem;padding:.75rem .75rem .75rem 1rem;border:1px solid var(--cs-line);border-radius:12px;background:var(--cs-bg);text-align:left}
.cs-done__ref-label{grid-column:1;font-size:.64rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--cs-muted)}
.cs-done__ref-val{grid-column:1;min-width:0;color:var(--cs-ink);font-size:1.02rem;font-weight:500;letter-spacing:.03em;font-variant-numeric:lining-nums tabular-nums;overflow-wrap:anywhere}
.cs-done__copy{grid-column:2;grid-row:1/3;width:40px;height:40px;padding:0;display:flex;align-items:center;justify-content:center;border:1px solid var(--cs-line);border-radius:10px;background:var(--cs-white);color:var(--cs-ink);cursor:pointer;transition:transform .12s var(--cs-ease),border-color .15s,color .15s}
.cs-done__copy svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.cs-done__copy:active{transform:scale(.97)}
.cs-done__copy.is-copied{border-color:var(--cs-sea);color:var(--cs-sea)}
@media(hover:hover) and (pointer:fine){.cs-done__copy:hover{border-color:var(--cs-sea)}}
.cs-done__urgent{font-size:.85rem;margin:0!important}
.cs-done__urgent a{color:var(--cs-sea);font-weight:500;text-decoration:none;white-space:nowrap;font-variant-numeric:lining-nums}
.cs-done__extra{max-width:340px;margin:1.4rem auto 0}
.cs-row:not(:has(> .cs-field:not([hidden]))){display:none}
#contact-smart .btn{white-space:normal;max-width:100%;text-align:center;justify-content:center}
/* Calendrier partagé (claim-calendar.css) : typo de la page, séparateur neutre (pas d'or), survol souris seulement. */
#contact-smart .rc-trigger{background:var(--cs-bg);border:1.5px solid transparent;border-radius:6px;font:300 .92rem/1.3 var(--fb,'DM Sans',sans-serif);color:var(--cs-ink);cursor:pointer}
#contact-smart .rc-trigger:hover{border-color:transparent}
#contact-smart .rc-trigger:focus-visible,#contact-smart .rc-trigger[aria-expanded="true"]{border-color:var(--cs-sea);background:var(--cs-white);box-shadow:0 0 0 3px rgba(47,93,115,.12);outline:none}
#contact-smart .rc-disp .rc-ph{color:#6B6B6B;font-weight:300}
/* Aide en pied de calendrier : claim-calendar.css dit #aab0b8 (2,2:1 sur blanc) → #6B6B6B (5,33:1). */
#contact-smart .rc-foot-hint{color:#6B6B6B;font-size:.75rem}
#contact-smart .rc-disp .rc-val{font-weight:500}
#contact-smart .rc-disp .rc-sep{color:var(--cs-muted)}
#contact-smart .rc-trigger>svg{stroke:var(--cs-sea)}
#contact-smart .rc-pop{border-color:var(--cs-line);box-shadow:0 12px 32px rgba(27,38,59,.14)}
#contact-smart .rc-title{color:var(--cs-ink)}
#contact-smart .rc-cell{font-variant-numeric:lining-nums tabular-nums}
@media not all and (hover:hover){#contact-smart .rc-cell:not(.rc-cell--empty):hover{background:none}}
/* Flèches de mois : propriétés nommées (claim-calendar.css dit « transition:.15s » = all), survol souris seulement, réponse au doigt. */
#contact-smart .rc-nav{transition:border-color .15s var(--cs-ease),color .15s var(--cs-ease),transform .12s var(--cs-ease);-webkit-tap-highlight-color:transparent}
#contact-smart .rc-nav:hover{border-color:var(--cp-border,#e5e7eb);color:var(--cp-ink-2)}
@media(hover:hover) and (pointer:fine){#contact-smart .rc-nav:hover{border-color:var(--cs-sea);color:var(--cs-sea)}}
#contact-smart .rc-nav:active{transform:scale(.95)}
/* Téléphone : sélecteur pays (drapeau image — les emoji-drapeaux ne rendent pas sous Windows) + numéro national */
.cs-phone{position:relative;display:flex;gap:.5rem;align-items:stretch}
.cs-cc{flex:0 0 auto;display:inline-flex;align-items:center;gap:.45rem;padding:0 .7rem 0 .85rem;background:var(--cs-bg);border:1.5px solid transparent;border-radius:6px;font:400 .92rem/1 var(--fb,'DM Sans',sans-serif);color:var(--cs-ink);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color .16s var(--cs-ease),background-color .16s var(--cs-ease),transform .12s var(--cs-ease)}
.cs-cc:focus-visible,.cs-cc[aria-expanded="true"]{border-color:var(--cs-sea);background:var(--cs-white);box-shadow:0 0 0 3px rgba(47,93,115,.12);outline:none}
.cs-cc:active{transform:scale(.97)}
.cs-flag{display:block;flex:0 0 auto;width:20px;height:15px;border-radius:2px;object-fit:cover;box-shadow:0 0 0 1px rgba(27,38,59,.12)}
.cs-cc__dial,.cs-cc-opt__d{font-variant-numeric:lining-nums tabular-nums}
.cs-cc__chev{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;opacity:.55;transition:transform .2s var(--cs-ease)}
.cs-cc[aria-expanded="true"] .cs-cc__chev{transform:rotate(180deg)}
.cs-phone__num{flex:1 1 auto;min-width:0}
.cs-invalid .cs-cc{border-color:var(--cs-err)!important}
#cs-channel::-webkit-calendar-picker-indicator{opacity:.4}
.cs-cc-panel{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:60;min-width:min(260px,100%);scroll-margin:88px 0 16px;padding:.5rem;background:var(--cs-white);border:1px solid var(--cs-line);border-radius:10px;box-shadow:0 12px 32px rgba(27,38,59,.14);transform-origin:top left;animation:cs-pop .16s var(--cs-ease)}
@keyframes cs-pop{from{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}
.cs-cc-search{margin-bottom:.35rem;text-overflow:ellipsis}
.cs-cc-list{max-height:264px;overflow-y:auto;overscroll-behavior:contain}
.cs-cc-group{padding:.6rem .6rem .3rem;font:500 .75rem/1.2 var(--fb,'DM Sans',sans-serif);letter-spacing:.1em;text-transform:uppercase;color:var(--cs-muted)}
.cs-cc-opt{display:flex;align-items:center;gap:.6rem;padding:.55rem .6rem;border-radius:6px;cursor:pointer;font-size:.9rem}
.cs-cc-opt.is-active{background:var(--cs-bg)}
@media(hover:hover) and (pointer:fine){.cs-cc-opt:hover{background:var(--cs-bg)}}
.cs-cc-opt[aria-selected="true"] .cs-cc-opt__n{font-weight:500}
.cs-cc-opt__n{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cs-cc-opt__d{color:var(--cs-muted)}
.cs-cc-empty{padding:.8rem .6rem;color:var(--cs-muted);font-size:.88rem}
/* Variante « inline » (?layout=inline) : formulaire visible d'emblée, profil en puces en tête.
   Puces = même registre que les champs (rayon 6 px, encre, mer au focus) ; choisie = encre pleine, texte blanc (15:1).
   Graisse identique au repos et choisie : la largeur ne change jamais, les puces ne se réorganisent pas sous le doigt. */
.cs-types--chips{margin:0 0 .3rem}
.cs-legend--chips{font:500 .75rem/1.2 var(--fb,'DM Sans',sans-serif);letter-spacing:.1em;text-transform:uppercase;color:var(--cs-ink);margin:0 0 .65rem}
.cs-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.cs-chip{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:0 1.05rem;border:1.5px solid rgba(27,38,59,.2);border-radius:6px;background:var(--cs-white);color:var(--cs-ink);font:400 .9rem/1.2 var(--fb,'DM Sans',sans-serif);letter-spacing:.005em;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background-color .2s var(--cs-ease),border-color .2s var(--cs-ease),color .2s var(--cs-ease),transform .12s var(--cs-ease)}
.cs-chip input{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}
@media(hover:hover) and (pointer:fine){.cs-chip:hover{border-color:rgba(27,38,59,.48)}}
.cs-chip:active{transform:scale(.97)}
.cs-chip.is-checked,.cs-chip:has(input:checked){background:var(--cs-ink);border-color:var(--cs-ink);color:#fff}
.cs-chip:has(input:focus-visible){outline:2px solid var(--cs-sea);outline-offset:2px}
.cs-types--chips.cs-invalid .cs-chip:not(.is-checked){border-color:var(--cs-err)}
/* Profil choisi (puces repliées) : même registre que les puces — rayon 6 px, filet encre, « Changer » en mer. */
.cs-types--chips .cs-chosen{min-height:48px;padding:.4rem .55rem .4rem 1rem;border-radius:6px;animation:cs-in .22s var(--cs-ease)}
.cs-types--chips .cs-chosen__t{font-size:.94rem}
.cs-types--chips .cs-change{min-height:40px;padding:.5rem .6rem}
.cs-types--chips .cs-err{display:block;margin-top:.55rem}
.cs-types--chips .cs-err:empty{display:none}
/* Champs du profil : fondu discret à l'apparition (opacité + translation seulement). */
.cs-layout-inline .cs-pf{animation:cs-in .22s var(--cs-ease)}
/* Groupe : la demande de devis remplace l'envoi, comme avec les cartes. */
.cs-form--inline.cs-is-group>.cs-turnstile,.cs-form--inline.cs-is-group>.cs-tsdown,.cs-form--inline.cs-is-group>.cs-status,.cs-form--inline.cs-is-group>.cs-submit,.cs-form--inline.cs-is-group>.cs-privacy{display:none!important}
@media(max-width:600px){
  .cs-cards,.cs-row{grid-template-columns:1fr}
  .cs-cards{gap:.55rem}
  .cs-card{padding:.85rem 1rem}
  /* 16 px : iOS ne zoome pas sur le champ au toucher. */
  #contact-smart .cs-input,#contact-smart .rc-trigger,#contact-smart .cs-cc{font-size:16px}
  /* Liste des pays : toute la largeur du champ, recherche lisible en entier. */
  .cs-cc-panel{min-width:0}
}
@media(prefers-reduced-motion:reduce){#contact-smart *{transition:none!important;animation:none!important}}
