/* Formulaires gérés : rendu Fluent Forms au gabarit des formulaires de la maquette (panel, field, choice, check, btn-lg). */
/* Les couleurs suivent l'univers de la page (--u, --u-mid, --u-light de la maquette), avec les valeurs de la station hors gabarit. */
.cts-form-page {
    --cts-f-line: var(--line, #dccdb6);
    --cts-f-u: var(--u, #235e6e);
    --cts-f-u-mid: var(--u-mid, #b8dce5);
    --cts-f-u-light: var(--u-light, #e7eff1);
    --cts-f-ink: var(--ink, #183f4b);
    --cts-f-mute: var(--ink-mute, #7a6550);
    --cts-f-err: var(--err, #b03a34);
    --cts-f-btn: var(--terra-btn, #a0521f);
    --cts-f-btn-hover: var(--terra-ink, #8c4415);
    --cts-f-serif: var(--serif, 'Cormorant Garamond', Georgia, serif);
    max-width: 58rem;
    margin: 2rem auto;
    padding: clamp(1.35rem, 3vw, 2rem);
    border: 1px solid var(--cts-f-line);
    border-top: 3px solid var(--cts-f-u-mid);
    border-radius: 6px;
    background: #fff;
    color: var(--cts-f-ink);
}
.cts-form-page > :last-child { margin-bottom: 0; }
.cts-form-page .fluentform.ff-default { padding: 0; border: 0; border-radius: 0; background: none; }
.cts-form-page .fluentform form > fieldset { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.15rem; }
/* Espacements de la maquette : les champs côte à côte (.field-row > .field) n'ont pas de marge, un champ seul garde 1,15 rem */
.cts-form-page .fluentform .ff-el-group { margin: 0 0 .5rem; min-width: 0; }
.cts-form-page .fluentform .ff-el-group.cts-field-wide { margin-bottom: 1.15rem; }
/* Cases à cocher enchaînées comme les .check de la maquette ; le bouton suit à 1,25 rem (btn-row) */
.cts-form-page .fluentform .ff-el-group.cts-field-wide:has(> .ff-el-input--content > .ff-el-form-check > label > input[type="checkbox"]) { margin-bottom: .2rem; }
.cts-form-page .fluentform .ff-custom_html:has(.cts-form-question) { margin-bottom: .38rem; }
/* Case de traitement : fin de rubrique de la maquette avant elle (fieldset, 1,5 rem), bouton 1,25 rem après (btn-row) */
.cts-form-page .fluentform .ff-el-group.cts-field-wide:has(input[name="privacy[]"]) { margin-top: 2rem; }
.cts-form-page .fluentform .ff-el-group.cts-field-wide:has(input[name="privacy[]"]) + .ff-el-group:has(input[name="marketing[]"]) { margin-top: 0; }
.cts-form-page .fluentform .ff-el-group.ff_submit_btn_wrapper { margin: 1.25rem 0 0; }
.cts-form-page .cts-field-wide,
.cts-form-page .fluentform .ff-el-section-break,
.cts-form-page .fluentform .ff-custom_html,
.cts-form-page .fluentform form > fieldset > p,
.cts-form-page .fluentform form > fieldset > .cts-form-notice,
.cts-form-page .ff_submit_btn_wrapper,
.cts-form-page .wpas { grid-column: 1 / -1; }
.cts-form-page .wpas { height: 0; margin: 0; }

/* Libellés (.field label) et astérisque (.req) */
.cts-form-page .ff-default .ff-el-input--label { margin-bottom: .38rem; padding: 0; }
.cts-form-page .ff-default .ff-el-input--label label { display: inline; margin: 0; font-size: .85rem; font-weight: 700; line-height: 1.6; color: var(--cts-f-ink); }
.cts-form-page .ff-default .ff-el-input--label.ff-el-is-required.asterisk-right label::after { content: '*'; margin-left: .25em; color: var(--cts-f-err); }
.cts-form-page .ff-default .ff-el-input--label sup { font-size: .7em; }
.cts-form-page .req { color: var(--cts-f-err); }

/* Champs (input, select, textarea de la maquette) */
.cts-form-page .ff-default .ff-el-form-control { width: 100%; min-height: 44px; padding: .72rem .9rem; border: 1px solid var(--cts-f-line); border-radius: 3px; background-color: #fff; font: inherit; font-size: .95rem; line-height: 1.6; color: var(--cts-f-ink); box-shadow: none; transition: .15s ease; }
.cts-form-page .ff-default textarea.ff-el-form-control { min-height: 120px; resize: vertical; }
/* Précisions de la demande de disponibilités : trois lignes, comme le textarea rows="3" de la maquette */
.cts-form-page--residence .ff-default textarea.ff-el-form-control { min-height: 0; }
.cts-form-page .ff-default .ff-el-form-control::placeholder { color: var(--cts-f-mute); opacity: .75; }
.cts-form-page .ff-default .ff-el-form-control:focus { outline: none; border-color: var(--cts-f-u); background-color: #fff; box-shadow: 0 0 0 3px var(--cts-f-u-light); }
.cts-form-page .ff-default .ff-el-is-error .ff-el-form-control { border-color: var(--cts-f-err); }
.cts-form-page .ff-default .error.text-danger,
.cts-form-page .ff-errors-in-stack .error { margin-top: .3rem; font-size: .8rem; font-weight: 600; color: var(--cts-f-err); }

/* Intertitres (legend de la maquette) */
.cts-form-page .fluentform .ff-el-section-break { margin: .35rem 0 .3rem; }
/* Rubrique suivante : marge de fin de fieldset de la maquette (1,5 rem) */
.cts-form-page .fluentform .ff-el-group + .ff-el-section-break { margin-top: 1.1rem; }
.cts-form-page .fluentform .ff-el-section-break hr,
.cts-form-page .fluentform .ff-el-section-break .ff-section_break_desk:empty { display: none; }
.cts-form-page .fluentform .ff-el-section-break .ff-el-section-title { margin: 0; padding: 0; font-family: var(--cts-f-serif); font-size: 1.2rem; font-weight: 600; line-height: 1.4; color: var(--cts-f-ink); }
.cts-form-page .cts-form-heading { margin: 0 0 .35rem; font-size: 1.4rem; }
.cts-form-page .cts-form-lead { margin: 0 0 .4rem; font-size: .875rem; color: var(--cts-f-mute); }
/* Contact et documentation : légendes à 1,05 rem, choix du sujet ou du projet présenté comme une légende */
.cts-form-page--contact .fluentform .ff-el-section-break .ff-el-section-title,
.cts-form-page--brochure .fluentform .ff-el-section-break .ff-el-section-title,
.cts-form-page--contact .ff-default .cts-choice-cards > .ff-el-input--label label,
.cts-form-page--brochure .ff-default .cts-choice-cards > .ff-el-input--label label { font-family: var(--cts-f-serif); font-size: 1.05rem; font-weight: 600; line-height: 1.6; }
.cts-form-page--contact .ff-default .cts-choice-cards > .ff-el-input--label,
.cts-form-page--brochure .ff-default .cts-choice-cards > .ff-el-input--label { margin-bottom: .85rem; }

/* Textes de la maquette placés entre les champs */
.cts-form-page .fluentform .ff-custom_html { margin-bottom: 1.15rem; }
.cts-form-page .fluentform .ff-custom_html > :last-child { margin-bottom: 0; }
.cts-form-page .cts-form-hint,
.cts-form-page .cts-routing { margin: .3rem 0 0; font-size: .8rem; line-height: 1.6; color: var(--cts-f-mute); }
.cts-form-page .fluentform .ff-custom_html .cts-form-hint:first-child { margin-top: 0; }
.cts-form-page .cts-form-question { margin: 0; font-size: .85rem; font-weight: 700; color: var(--cts-f-ink); }
.cts-form-page .cts-form-text { margin: 0; font-size: .875rem; line-height: 1.6; }
.cts-form-page .cts-form-note { margin: 0; padding: 1.2rem 1.4rem; border: 1px solid var(--cts-f-u-mid); border-left: 3px solid var(--cts-f-u); border-radius: 4px; background: var(--cts-f-u-light); font-size: .93rem; }
.cts-form-page .cts-form-note strong { display: block; margin-bottom: .35rem; font-family: var(--cts-f-serif); font-size: 1.08rem; font-weight: 600; }
.cts-form-page > .cts-form-hint { margin-top: .9rem; }
.cts-form-page .cts-date-hint { color: var(--cts-f-ink); }
.cts-form-page .cts-date-hint:empty { display: none; }
.cts-form-page.is-sent > .cts-form-hint,
.cts-form-page.is-sent > .cts-form-privacy { display: none; }

/* Cases à cocher et boutons radio en ligne (.check, .check-inline) */
.cts-form-page .ff-default .ff-el-form-check { margin: 0; padding: 0; }
.cts-form-page .ff-default .ff-el-form-check label.ff-el-form-check-label { display: flex; gap: .65rem; align-items: flex-start; margin: 0; padding: .3rem 0; font-size: .92rem; font-weight: 400; line-height: 1.6; color: var(--ink-soft, #43443b); cursor: pointer; }
.cts-form-page .ff-default .ff-el-form-check-input { flex: none; width: 17px; height: 17px; margin: .2rem 0 0; accent-color: var(--cts-f-u); cursor: pointer; }
.cts-form-page .ff-default .ff-el-form-check-label a { color: var(--u-dark, var(--cts-f-ink)); }
.cts-form-page .cts-inline-choices .ff-el-input--content { display: flex; flex-wrap: wrap; gap: .2rem 1.6rem; }
/* Boutons radio en ligne : dans un .field de la maquette, le libellé prend le gras et la taille des libellés de champ */
.cts-form-page .ff-default .cts-inline-choices .ff-el-form-check label.ff-el-form-check-label { gap: .3rem; align-items: center; font-size: .85rem; font-weight: 700; color: var(--cts-f-ink); }
.cts-form-page .ff-default .cts-inline-choices .ff-el-form-check-input { margin-top: 0; }

/* Cartes de choix (.choice-grid, .choice) */
.cts-form-page .cts-choice-cards .ff-el-input--content,
.cts-form-page .cts-offer-cards .ff-el-input--content { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); gap: .85rem; }
.cts-form-page .ff-default .cts-choice-cards .ff-el-form-check,
.cts-form-page .ff-default .cts-offer-cards .ff-el-form-check { position: relative; margin: 0; border: 1.5px solid var(--cts-f-line); border-radius: 4px; background: #fff; transition: .15s ease; }
.cts-form-page .ff-default .cts-choice-cards .ff-el-form-check:hover,
.cts-form-page .ff-default .cts-offer-cards .ff-el-form-check:hover { border-color: var(--cts-f-u-mid); }
.cts-form-page .ff-default .cts-choice-cards .ff-el-form-check:has(input:checked),
.cts-form-page .ff-default .cts-offer-cards .ff-el-form-check:has(input:checked) { border-color: var(--cts-f-u); background: var(--cts-f-u-light); box-shadow: 0 0 0 3px color-mix(in srgb, var(--cts-f-u) 12%, transparent); }
.cts-form-page .ff-default .cts-choice-cards .ff-el-form-check label.ff-el-form-check-label,
.cts-form-page .ff-default .cts-offer-cards .ff-el-form-check label.ff-el-form-check-label { display: flex; flex-direction: column; gap: 0; height: 100%; margin: 0; padding: 1rem 1.1rem; }
.cts-form-page .ff-default .cts-choice-cards .ff-el-form-check-input,
.cts-form-page .ff-default .cts-offer-cards .ff-el-form-check-input { position: absolute; opacity: 0; pointer-events: none; }
.cts-form-page .cts-choice-cards .ff-el-form-check-label > span:not(.cts-choice-desc),
.cts-form-page .cts-offer-cards .ff-el-form-check-label > span { display: block; margin-bottom: .2rem; font-size: .95rem; font-weight: 700; line-height: 1.6; color: var(--cts-f-ink); }
.cts-form-page .cts-choice-cards .cts-choice-desc { display: block; font-size: .84rem; font-weight: 400; line-height: 1.6; color: var(--cts-f-mute); }
/* Hors contact et documentation, les cartes sont dans un .field de la maquette : sous-texte en gras */
.cts-form-page:not(.cts-form-page--contact):not(.cts-form-page--brochure) .cts-choice-cards .cts-choice-desc { font-weight: 700; }
.cts-form-page .cts-choice-cards .ff-el-form-check:has(input:focus-visible),
.cts-form-page .cts-offer-cards .ff-el-form-check:has(input:focus-visible) { outline: 2px solid var(--cts-f-u); outline-offset: 3px; }

/* Les clearfix de Fluent Forms (::before/::after) deviendraient des éléments de grille ou de flex : décalage du bouton, case vide. */
.cts-form-page .ff_submit_btn_wrapper::before, .cts-form-page .ff_submit_btn_wrapper::after,
.cts-form-page .ff-el-input--content::before, .cts-form-page .ff-el-input--content::after,
.cts-form-page .fluentform form > fieldset::before, .cts-form-page .fluentform form > fieldset::after { content: none; display: none; }

/* Bouton d'envoi (.btn.btn-primary.btn-lg) et ses voisins */
.cts-form-page .ff_submit_btn_wrapper { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; margin: 1.25rem 0 0; padding: 0; }
.cts-form-page .ff-default .ff-btn-submit.cts-form-submit { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; margin: 0; padding: .9rem 1.6rem; border: 1px solid var(--cts-f-btn); border-radius: 4px; background: var(--cts-f-btn); font-family: inherit; font-size: .95rem; font-weight: 700; line-height: 1.2; color: #fff; opacity: 1; box-shadow: none; transition: .18s ease; }
.cts-form-page .ff-default .ff-btn-submit.cts-form-submit:hover,
.cts-form-page .ff-default .ff-btn-submit.cts-form-submit:focus-visible { border-color: var(--cts-f-btn-hover); background: var(--cts-f-btn-hover); opacity: 1; }
.cts-form-page .ff-default .ff-btn-submit.cts-form-submit:disabled { opacity: .5; cursor: not-allowed; }
.cts-form-page .cts-form-cancel { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: .78rem 1.35rem; border: 1px solid color-mix(in srgb, var(--cts-f-u) 45%, transparent); border-radius: 4px; background: transparent; font-size: .91rem; font-weight: 700; line-height: 1.2; color: var(--u-dark, var(--cts-f-ink)); text-decoration: none; }
.cts-form-page .cts-form-cancel:hover { background: var(--cts-f-u-light); }

/* Confirmation après envoi */
.cts-form-page .ff-message-success { margin: 0; padding: 1.2rem 1.4rem; border: 1px solid var(--cts-f-u-mid); border-left: 3px solid var(--cts-f-u); border-radius: 4px; background: var(--cts-f-u-light); box-shadow: none; font-size: .95rem; color: var(--cts-f-ink); }
.cts-form-page .ff-message-success > :last-child { margin-bottom: 0; }

/* Mentions de confidentialité, dans la carte */
.cts-form-privacy { font-size: .875rem; line-height: 1.6; }
.cts-form-page .cts-form-privacy--short { margin: .5rem 0 0; font-size: .8rem; color: var(--cts-f-mute); }
.cts-form-page .cts-form-privacy:not(.cts-form-privacy--short) { margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid var(--line-soft, #eae0ce); }
.cts-form-page .cts-form-privacy h2 { margin: 0 0 .5rem; font-family: var(--cts-f-serif); font-size: 1.2rem; font-weight: 600; }
.cts-form-page .cts-form-privacy p { margin: 0 0 .6rem; }
.cts-form-page .cts-form-privacy p:last-child { margin-bottom: 0; }

/* Recette de la demande de cure et collecte fermée */
.cts-form-notice { margin: 0 0 1.15rem; padding: 1rem 1.25rem; border-left: 3px solid var(--u, #235e6e); border-radius: 4px; background: var(--u-light, #e7eff1); font-size: .9rem; }
.cts-form-page .cts-form-preview { min-width: 0; margin: 0; padding: 0; border: 0; }
.cts-form-page .cts-form-preview > legend { margin-bottom: 1rem; font-weight: 600; }
.cts-date-summary { margin: .3rem 0 0; font-size: .8rem; line-height: 1.6; color: var(--ink-mute, #7a6550); }
.cts-date-summary:empty { display: none; }
.cts-calendar { margin: 1.5rem 0; overflow-x: auto; }
.cts-calendar summary { cursor: pointer; padding: .75rem 0; font-weight: 600; }
.cts-calendar table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.cts-calendar caption { padding: .5rem; text-align: left; }
.cts-calendar th, .cts-calendar td { padding: .75rem; border: 1px solid var(--line, #dccdb6); text-align: left; }

/* Demande de cure : formulaire et colonne d'aide (cart-layout de la maquette : 1fr et 370 px) */
.wp-block-columns.cts-cure-layout { display: grid; grid-template-columns: minmax(0, 1fr) 370px; gap: 2.25rem; align-items: start; max-width: none; margin: 0; }
.cts-cure-layout > .wp-block-column { min-width: 0; flex-basis: auto !important; }
.cts-cure-main .cts-form-page { margin: 0; max-width: none; }
.cts-cure-sidebar > * + * { margin-top: 1.5rem; }
.cts-cure-help h2 { margin-top: 0; font-size: 1.2rem; }
.cts-cure-help .wp-block-details { margin: 0; padding: 0; border-bottom: 1px solid var(--line-soft, #eae0ce); }
.cts-cure-help summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.05rem .2rem; font-weight: 600; line-height: 1.5; color: var(--ink, #183f4b); list-style: none; cursor: pointer; }
.cts-cure-help summary::-webkit-details-marker { display: none; }
.cts-cure-help summary::after { content: '+'; flex: none; font-size: 1.3rem; font-weight: 400; line-height: 1; color: var(--u, #235e6e); }
.cts-cure-help details[open] > summary::after { content: '–'; }
.cts-cure-help summary:focus { outline: none; }
.cts-cure-help summary:focus-visible { outline: 2px solid var(--u, #235e6e); outline-offset: 2px; }
.cts-cure-help .wp-block-details > :not(summary) { margin: 0; padding: 0 .2rem 1.05rem; font-size: .9rem; line-height: 1.6; }
.cts-cure-help a { color: var(--u-dark, inherit); text-underline-offset: .2em; }
.cts-cure-booking-terms { margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid var(--line-soft, #eae0ce); font-size: .8rem; line-height: 1.6; color: var(--ink-mute, #7a6550); }
.cts-cure-booking-terms h3 { margin-top: 0; font-size: .95rem; }
/* Bandeau « Un doute sur les démarches ? » : section suivante de la maquette (section, padding-top 0) */
.cts-cure-layout + .next-actions { margin-top: clamp(3rem, 6vw, 5rem); }
.cts-reservation-steps { max-width: 58rem; margin: 2rem auto; font-size: .95rem; }
.cts-cure-main .cts-reservation-steps { margin: 1.5rem 0 0; padding: clamp(1.35rem, 3vw, 2rem); border: 1px solid var(--line, #dccdb6); border-top: 3px solid var(--u-mid, #a9cbd3); border-radius: 6px; background: #fff; }
.cts-cure-main .cts-reservation-steps h2 { margin-top: 0; font-size: 1.2rem; }
.cts-cure-main .cts-reservation-steps ol { margin-bottom: 0; padding-left: 1.4rem; }
.cts-cure-main .cts-reservation-steps li { margin: .6rem 0; padding-left: .35rem; line-height: 1.6; }

@media (max-width: 960px) {
    .wp-block-columns.cts-cure-layout { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
    .cts-form-page .fluentform form > fieldset { grid-template-columns: minmax(0, 1fr); }
    .cts-form-page .fluentform .ff-el-group { margin-bottom: 1.15rem; }
    .cts-form-page .ff-default .ff-btn-submit.cts-form-submit { white-space: normal; text-align: center; }
}

/* Demande rapide de l'accueil : panneau translucide sur le fond des Thermes ; la mention de confidentialité passe sous le lien du formulaire complet. */
.cj-panel { display: flex; flex-direction: column; }
.cj-panel .cts-form-page { display: contents; }
.cj-panel .cts-form-privacy--short { order: 1; margin-top: .8rem; }
.cj-panel .cts-form-page .fluentform form > fieldset { column-gap: 1rem; }
.cj-panel .cts-form-page .fluentform .ff-el-group { margin-bottom: .5rem; }
.cj-panel .cts-form-page .fluentform .ff-el-group.cts-field-wide { margin-bottom: 1.15rem; }
.cj-panel .cts-form-page .fluentform .ff-el-group.cts-field-wide:has(input[name="privacy[]"]) { margin-top: 0; }
.cj-panel .cts-form-page .ff-default .ff-el-input--label { margin-bottom: .45rem; line-height: 1.2; }
.cj-panel .cts-form-page .ff-default .ff-el-input--label label { line-height: 1.2; font-size: .78rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: #d4bfa0; }
.cj-panel .cts-form-page .ff-default .ff-el-input--label.ff-el-is-required.asterisk-right label::after { color: #d4845a; }
.cj-panel .cts-form-page .ff-default .ff-el-form-control { min-height: 0; padding: .78rem .95rem; border: 1px solid rgba(255, 255, 255, .18); border-radius: 2px; background-color: rgba(255, 255, 255, .08); font-size: .85rem; font-weight: 300; color: #fff; -webkit-appearance: none; appearance: none; }
.cj-panel .cts-form-page .ff-default select.ff-el-form-control { background-image: none; }
.cj-panel .cts-form-page .ff-default select.ff-el-form-control option { background: #183f4b; color: #fff; }
.cj-panel .cts-form-page .ff-default textarea.ff-el-form-control { min-height: 76px; }
.cj-panel .cts-form-page .ff-default .ff-el-form-control:focus { border-color: #d4845a; background-color: rgba(255, 255, 255, .12); box-shadow: none; }
.cj-panel .cts-form-page .ff-default .ff-el-form-check label.ff-el-form-check-label { font-size: .82rem; color: rgba(255, 255, 255, .78); }
.cj-panel .cts-form-page .ff-default .ff-el-form-check label.ff-el-form-check-label a { color: #b8dce5; }
/* Cases sur fond sombre : dessin propre plutôt que la case blanche du navigateur */
.cj-panel .cts-form-page .ff-default .ff-el-form-check-input[type="checkbox"],
.cj-panel .cts-form-check input { -webkit-appearance: none; appearance: none; display: grid; place-content: center; border: 1px solid rgba(255, 255, 255, .35); border-radius: 2px; background: rgba(255, 255, 255, .08); }
.cj-panel .cts-form-page .ff-default .ff-el-form-check-input[type="checkbox"]::before,
.cj-panel .cts-form-check input::before { content: ''; width: 9px; height: 5px; margin-top: -2px; border: solid #fff; border-width: 0 0 2px 2px; transform: rotate(-45deg) scale(0); transition: transform .12s ease; }
.cj-panel .cts-form-page .ff-default .ff-el-form-check-input[type="checkbox"]:checked,
.cj-panel .cts-form-check input:checked { border-color: #d4845a; background: #d4845a; }
.cj-panel .cts-form-page .ff-default .ff-el-form-check-input[type="checkbox"]:checked::before,
.cj-panel .cts-form-check input:checked::before { transform: rotate(-45deg) scale(1); }
.cj-panel .cts-form-page .ff-default .ff-el-form-check-input[type="checkbox"]:focus-visible,
.cj-panel .cts-form-check input:focus-visible { outline: 2px solid #d4845a; outline-offset: 2px; }
.cj-panel .cts-form-page .req { color: #d4845a; }
.cj-panel .cts-form-page .ff-default .ff-btn-submit.cts-form-submit { width: 100%; padding: 1rem 1.5rem; border-color: #a0521f; background: #a0521f; letter-spacing: .02em; }
.cj-panel .cts-form-page .ff-default .ff-btn-submit.cts-form-submit:hover { border-color: #b5612e; background: #b5612e; }
.cj-panel .cts-form-page .cts-form-notice { background: rgba(255, 255, 255, .1); color: #fff; }
.cj-panel .cts-form-page .cts-form-notice a, .cj-panel .cts-form-privacy a { color: #b8dce5; }
.cj-panel .cts-form-privacy--short { color: rgba(255, 255, 255, .6); }
.cj-panel .cts-form-page .ff-message-success { border: 0; background: rgba(255, 255, 255, .08); color: #fff; }
@media (max-width: 640px) {
    .cj-panel .cts-form-page .fluentform form > fieldset { grid-template-columns: minmax(0, 1fr); }
    .cj-panel .cts-form-page .ff-default .ff-btn-submit.cts-form-submit { padding-inline: 1rem; font-size: .9rem; letter-spacing: 0; white-space: nowrap; }
}

/* Documentation : récapitulatif des documents et téléchargements (couvertures au format de la brochure, pastilles pour les tarifs) */
.cts-doc-recap:empty { display: none; }
#pdf .grid-4 .card-media { aspect-ratio: 3 / 4; display: flex; align-items: center; justify-content: center; overflow: hidden; }
#pdf .grid-4 .card-media img { width: 100%; height: 100%; object-fit: cover; }
#pdf .grid-4 .card-media > span { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 2.2rem; }
#pdf .grid-4 .card:nth-child(3) .card-media { background: #e6f1f3; color: #235e6e; }
#pdf .grid-4 .card:nth-child(4) .card-media { background: #f7efe2; color: #7d5a27; }
#pdf .grid-4 .card-title { font-size: 1.02rem; }

/* Confirmation des données fictives de la recette Cure (case .check de la maquette) */
.cts-form-recette { margin: 0 0 1.5rem; }
.cts-form-check { display: flex; gap: .65rem; align-items: flex-start; font-size: .92rem; line-height: 1.6; cursor: pointer; }
.cts-form-check input { flex: none; width: 17px; height: 17px; margin: .2rem 0 0; accent-color: var(--u, #235e6e); cursor: pointer; }
.cj-panel .cts-form-check { font-size: .82rem; color: rgba(255, 255, 255, .78); }

/* Candidature : champ du CV au dessin de input[type=file] de la maquette (bordure tiretée) */
.cts-form-page .ff-default input[type="file"].cts-cv-input { min-height: 0; padding: .6rem .9rem; border: 1px dashed var(--cts-f-line); border-radius: 3px; font-size: .9rem; }
.cts-form-page .cts-cv-status:empty { display: none; }
.cts-form-page .cts-cv-status { color: var(--cts-f-err); font-weight: 600; }
.cts-form-page > .cts-cv-result { margin-top: .9rem; }
