
/* Regards croisés — styles dédiés, basés sur la charte du site */
.regards-page { background:var(--paper); }
.rc-hero { padding:68px 0 56px; background:linear-gradient(135deg,#eafbf9 0%,#fffdf8 54%,#fff8df 100%); border-bottom:1px solid #eadfce; }
.rc-hero-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr); gap:42px; align-items:center; }
.rc-hero h1 { margin:.12em 0 .06em; font-size:clamp(3.2rem,8vw,6.7rem); line-height:.82; letter-spacing:-.055em; color:var(--ink); }
.rc-hero h1 span { color:var(--coral); }
.rc-signature { margin:20px 0 18px; font-size:clamp(1.35rem,2.5vw,2rem); font-weight:800; color:var(--deep-teal); }
.rc-hero-card { padding:30px; border-radius:24px; background:var(--deep-teal); color:white; box-shadow:0 18px 48px rgba(40,102,114,.2); transform:rotate(1deg); }
.rc-hero-card p { margin:14px 0; }
.rc-badge { display:inline-block; padding:7px 11px; border-radius:999px; background:var(--yellow); color:var(--ink); font-weight:900; font-size:.82rem; letter-spacing:.05em; }
.rc-date { margin-top:24px; padding-top:20px; border-top:1px solid rgba(255,255,255,.28); display:grid; gap:2px; }
.rc-date small { text-transform:uppercase; letter-spacing:.08em; color:#cfe3e6; }
.rc-date strong { font-size:1.8rem; }
.rc-date span { color:#dcebed; }
.rc-concept-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.rc-card { min-height:230px; padding:28px; border-radius:22px; border:1px solid #dfe8e7; position:relative; overflow:hidden; }
.rc-card h3 { margin:42px 0 10px; font-size:1.6rem; }
.rc-card-teal { background:linear-gradient(145deg,#eafbf9,#f9fffe); }
.rc-card-coral { background:linear-gradient(145deg,#fff0ec,#fff9f6); }
.rc-card-yellow { background:linear-gradient(145deg,#fff8df,#fffdf5); }
.rc-num { position:absolute; right:20px; top:14px; font-size:3.4rem; font-weight:900; line-height:1; opacity:.12; }
.rc-manifesto { margin:34px 0 0; padding:28px 32px; border-left:8px solid var(--coral); border-radius:0 18px 18px 0; background:#fff5f1; font-family:Georgia,'Times New Roman',serif; font-size:clamp(1.45rem,3vw,2.15rem); line-height:1.35; }
.rc-story-band { background:linear-gradient(180deg,#fffdf8 0%,#f7f1e6 100%); border-block:1px solid #eadfce; }
.rc-story-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr); gap:40px; align-items:start; }
.rc-story-note { padding:28px; border-radius:22px; background:var(--deep-teal); color:white; }
.rc-story-note span { display:block; margin-top:22px; padding-top:18px; border-top:1px solid rgba(255,255,255,.25); color:#dcebed; }
.rc-facts { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:28px 0; }
.rc-facts div { padding:22px 18px; border-radius:18px; background:linear-gradient(135deg,var(--mist-blue),#f8fcfd); border:1px solid #d7e8ed; text-align:center; }
.rc-facts strong { display:block; color:var(--deep-teal); font-size:1.45rem; }
.rc-facts span { display:block; margin-top:4px; color:var(--muted); font-size:.9rem; }
.rc-callout { margin-top:22px; padding:20px 22px; border-radius:16px; background:#fff8df; border:1px solid #f0e1ae; }
.rc-path-band { background:linear-gradient(135deg,#f7fbfc 0%,var(--mist-blue) 100%); border-block:1px solid #d7e8ed; }
.rc-path { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.rc-path article { padding:28px; border-radius:22px; background:#fff; border:1px solid #dce7ea; box-shadow:0 12px 28px rgba(15,23,32,.05); }
.rc-path article > span { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:var(--coral); color:white; font-weight:900; }
.rc-path h3 { margin:18px 0 10px; }
.rc-disabled { margin-top:14px; opacity:.64; cursor:not-allowed; background:#d7dedf !important; color:#5b6668 !important; border-color:#cbd3d5 !important; }
.rc-follow { margin-top:20px; padding:22px 24px; border-radius:18px; background:#fff; border:1px dashed #c6dfe2; display:flex; justify-content:space-between; align-items:center; gap:20px; }
.rc-follow h3 { margin:0 0 6px; }
.rc-follow p { margin:0; }
.rc-tech-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.rc-tech-grid article { padding:24px; border-radius:18px; background:#fff; border:1px solid #e9dfd1; }
.rc-tech-grid h3 { margin-top:0; color:var(--deep-teal); }
.rc-tech-note { margin-top:18px; text-align:center; font-size:1.05rem; }
.rc-selection-band { background:var(--deep-teal); color:white; }
.rc-selection-band .kicker { color:#7ee7e2; }
.rc-selection-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:42px; align-items:start; }
.rc-checklist { margin:0; padding:24px 26px; list-style:none; border-radius:22px; background:rgba(255,255,255,.09); }
.rc-checklist li { position:relative; padding:12px 0 12px 28px; border-bottom:1px solid rgba(255,255,255,.12); }
.rc-checklist li:last-child { border-bottom:0; }
.rc-checklist li::before { content:'✓'; position:absolute; left:0; color:var(--yellow); font-weight:900; }
.rc-day { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.rc-day div { padding:24px; border-radius:20px; background:linear-gradient(145deg,#eafbf9,#fff9df); border:1px solid #cbe8e4; }
.rc-day strong { display:block; margin-bottom:8px; color:var(--deep-teal); font-size:1.2rem; }
.rc-calendar-band { background:linear-gradient(180deg,#fffdf8 0%,#f7f1e6 100%); border-block:1px solid #eadfce; }
.rc-timeline { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.rc-timeline div { padding:22px; border-radius:18px; background:#fff; border:1px solid #eadfce; }
.rc-timeline time { display:block; color:var(--coral); font-weight:900; letter-spacing:.03em; }
.rc-timeline p { margin:8px 0 0; }
.rc-status-band { padding-block:34px; }
.rc-status { padding:30px 34px; border-radius:22px; background:linear-gradient(135deg,#fff8df,#eafbf9); border:1px solid #e5dcc6; display:flex; justify-content:space-between; gap:28px; align-items:center; }
.rc-status h2 { margin:.1em 0 .35em; }
.rc-status p { max-width:820px; }
@media (max-width:900px){
  .rc-hero-grid,.rc-story-grid,.rc-selection-grid{grid-template-columns:1fr}
  .rc-concept-grid,.rc-path{grid-template-columns:1fr}
  .rc-facts{grid-template-columns:repeat(2,1fr)}
  .rc-tech-grid,.rc-day,.rc-timeline{grid-template-columns:1fr 1fr}
  .rc-hero-card{transform:none}
}
@media (max-width:620px){
  .rc-hero{padding-top:46px}
  .rc-facts,.rc-tech-grid,.rc-day,.rc-timeline{grid-template-columns:1fr}
  .rc-follow,.rc-status{align-items:flex-start; flex-direction:column}
  .rc-manifesto{padding:22px 22px}
}


/* Identité visuelle — Challenge Regards croisés */
.rc-visually-hidden {
  position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important;
  overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important;
}
.rc-brand-visual { margin:14px 0 18px; }
.rc-brand-visual img { display:block; width:min(100%,960px); height:auto; border-radius:20px; box-shadow:0 18px 42px rgba(15,23,32,.08); }
.rc-hero-lead { max-width:760px; margin-top:16px; }
.rc-home-card { overflow:hidden; }
.rc-home-visual { display:block; margin:-1px -1px 24px; border-radius:18px 18px 12px 12px; overflow:hidden; background:#fff; }
.rc-home-visual img { display:block; width:100%; height:auto; }
@media (max-width:900px){
  .rc-brand-visual img { width:100%; }
}


/* =========================================================
   Candidature — Challenge Regards croisés
   ========================================================= */
.rc-form-page { background:var(--paper); }
.rc-form-hero { padding:48px 0 34px; background:linear-gradient(135deg,#eafbf9 0%,#fffdf8 54%,#fff8df 100%); border-bottom:1px solid #eadfce; }
.rc-form-hero-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr); gap:36px; align-items:center; }
.rc-form-hero h1 { margin:.12em 0 .2em; font-size:clamp(2.5rem,6vw,4.8rem); line-height:.94; letter-spacing:-.045em; }
.rc-form-hero .lead { max-width:760px; }
.rc-form-summary { padding:24px; border-radius:22px; background:var(--deep-teal); color:#fff; box-shadow:0 18px 42px rgba(40,102,114,.16); }
.rc-form-summary strong { display:block; margin-bottom:7px; color:var(--yellow); font-size:1.15rem; }
.rc-form-summary p { margin:0 0 12px; }
.rc-form-summary p:last-child { margin-bottom:0; }
.rc-form-wrap { width:min(980px,100%); margin-inline:auto; }
.rc-form-intro { margin-bottom:26px; padding:22px 24px; border-radius:18px; background:#fff8df; border:1px solid #f0e1ae; }
.rc-form-intro p { margin:.25em 0; }
.rc-form-alert { margin-bottom:24px; padding:18px 20px; border-radius:16px; border:1px solid; }
.rc-form-alert.error { background:#fff1f0; border-color:#efb7b0; color:#7e2d24; }
.rc-form-alert.success { background:#eafbf4; border-color:#b9e5d1; color:#1d654b; }
.rc-form-alert ul { margin:8px 0 0; }
.rc-form-section { margin:0 0 24px; padding:0; border:0; border-radius:22px; background:#fff; box-shadow:0 10px 28px rgba(15,23,32,.05); overflow:hidden; }
.rc-form-legend { display:flex; align-items:center; gap:12px; width:100%; padding:18px 22px; background:linear-gradient(135deg,var(--mist-blue),#fffdf8); border-bottom:1px solid #dce7ea; font-weight:900; color:var(--deep-teal); font-size:1.15rem; }
.rc-form-legend span { display:grid; place-items:center; flex:0 0 34px; width:34px; height:34px; border-radius:50%; background:var(--coral); color:#fff; }
.rc-form-body { padding:24px; }
.rc-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.rc-field { min-width:0; }
.rc-field.full { grid-column:1/-1; }
.rc-field label,.rc-field .rc-label { display:block; margin:0 0 7px; font-weight:800; color:var(--ink); }
.rc-required { color:var(--coral); }
.rc-help { display:block; margin:-2px 0 7px; color:var(--muted); font-size:.88rem; line-height:1.45; }
.rc-field input[type=text],.rc-field input[type=email],.rc-field input[type=tel],.rc-field input[type=url],.rc-field input[type=number],.rc-field select,.rc-field textarea { width:100%; padding:12px 13px; border:1px solid #cad9dc; border-radius:12px; background:#fff; color:var(--ink); font:inherit; transition:border-color .15s,box-shadow .15s; }
.rc-field textarea { min-height:112px; resize:vertical; }
.rc-field textarea.rc-long { min-height:170px; }
.rc-field input:focus,.rc-field select:focus,.rc-field textarea:focus { outline:0; border-color:var(--teal); box-shadow:0 0 0 3px rgba(23,179,174,.13); }
.rc-options { display:flex; flex-wrap:wrap; gap:9px 16px; padding:3px 0; }
.rc-option { display:grid; grid-template-columns:18px minmax(0,1fr); align-items:center; column-gap:9px; line-height:1.35; }
.rc-option input { width:18px; height:18px; margin:0; }
.rc-check-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 18px; }
.rc-condition { display:none; margin-top:12px; }
.rc-condition.is-visible { display:block; }
.rc-consents { display:grid; gap:12px; }
.rc-consent { padding:14px 16px; border:1px solid #d9e5e7; border-radius:13px; background:#fbfefe; }
.rc-consent label { display:grid; grid-template-columns:20px minmax(0,1fr); column-gap:10px; align-items:start; font-weight:600; }
.rc-consent input { width:18px; height:18px; margin:.16em 0 0; }
.rc-submit-row { display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; align-items:center; margin-top:22px; }
.rc-submit-note { max-width:620px; color:var(--muted); font-size:.88rem; }
.rc-form-back { margin-top:22px; }
.rc-hp { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.rc-success-card { padding:32px; border-radius:22px; background:linear-gradient(135deg,#eafbf4,#fff8df); border:1px solid #cfe4d9; text-align:center; }
.rc-success-card .rc-ref { display:inline-block; margin:8px 0 18px; padding:8px 12px; border-radius:999px; background:#fff; border:1px solid #d3dfdb; font-weight:900; color:var(--deep-teal); }
@media(max-width:760px){
  .rc-form-hero-grid,.rc-fields,.rc-check-grid{grid-template-columns:1fr}
  .rc-field.full{grid-column:auto}
  .rc-form-body{padding:19px}
  .rc-submit-row{align-items:stretch;flex-direction:column}
}


.rc-form-alert.warning { background:#fff8df; border-color:#e8d28f; color:#6b5615; }
.rc-form-alert.info { background:#eef8fb; border-color:#bfdde5; color:#245e69; }
.rc-code-label { margin:.4rem 0 .15rem; color:var(--muted); font-size:.82rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.rc-edit-panel { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.75fr); gap:24px; align-items:center; margin:0 0 24px; padding:22px 24px; border:1px solid #d8e7ea; border-radius:18px; background:linear-gradient(135deg,#f4fbfb,#fffdf8); }
.rc-edit-panel h2 { margin:.15em 0 .35em; font-size:1.35rem; }
.rc-edit-panel p { margin:.25em 0; }
.rc-lookup-form label { display:block; margin-bottom:7px; font-weight:800; color:var(--ink); }
.rc-lookup-form > div { display:flex; gap:9px; align-items:stretch; }
.rc-lookup-form input { flex:1 1 auto; min-width:0; padding:12px 13px; border:1px solid #cad9dc; border-radius:12px; background:#fff; color:var(--ink); font:inherit; text-transform:uppercase; }
.rc-lookup-form input:focus { outline:0; border-color:var(--teal); box-shadow:0 0 0 3px rgba(23,179,174,.13); }
.rc-lookup-form .btn { flex:0 0 auto; }
@media(max-width:760px){
  .rc-edit-panel{grid-template-columns:1fr}
  .rc-lookup-form > div{flex-direction:column}
}

.rc-secondary-link { display:inline-block; margin-top:10px; font-weight:800; color:var(--deep-teal); text-decoration:underline; text-underline-offset:3px; }


/* Navigation et retours serveur du formulaire */
#modifier,
#candidature-success,
#candidature-locked,
#lookup-error,
#form-errors,
#editing-loaded {
  scroll-margin-top: 132px;
}
.rc-lookup-form .rc-help {
  display:block;
  margin:-2px 0 8px;
}
.rc-form-alert:focus,
.rc-success-card:focus { outline:none; }

/* Regards croisés → feuilleton Un faux départ sur le site de l’auteur */
.rc-author-bridge { margin-top:24px; padding:22px 24px; border:1px solid #c9e3df; border-left:5px solid var(--teal); border-radius:16px; background:#fff; box-shadow:0 7px 22px rgba(15,23,32,.035); }
.rc-author-bridge-label { margin:0 0 6px; color:var(--deep-teal); font-size:.78rem; font-weight:900; letter-spacing:.085em; text-transform:uppercase; }
.rc-author-bridge h3 { margin:0 0 9px; font-size:clamp(1.2rem,2vw,1.45rem); color:var(--ink); }
.rc-author-bridge p:not(.rc-author-bridge-label) { margin:0 0 14px; line-height:1.6; }
.rc-author-bridge-link { display:inline-flex; align-items:center; gap:7px; color:var(--deep-teal); font-weight:800; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }
.rc-author-bridge-link:hover, .rc-author-bridge-link:focus-visible { color:var(--ink); text-decoration-thickness:2px; }
.rc-author-bridge-link:focus-visible { outline:2px solid var(--teal); outline-offset:4px; border-radius:3px; }
@media(max-width:620px){ .rc-author-bridge { padding:19px 18px; } }
