/*
Theme Name: Hello Elementor Child
Template: hello-elementor
*/

/* ===========================================================
   POLICE
=========================================================== */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');

.rc-search-page, .rc-search-page *,
.rc-searchbar, .rc-searchbar * {
  font-family: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
}

@supports (overflow-x: clip){ body{ overflow-x: clip; } }

/* ===========================================================
   HERO RECHERCHE MOULINET
=========================================================== */
.rc-search-page h1{ display:none; }

.rc-search-page .rc-hero-search{
  position: relative;
  width: 100vw; max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 260px 0 160px;
  text-align: center;
  overflow: visible;
  z-index: 10;
}
.rc-search-page .rc-hero-search::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background:
    linear-gradient(180deg, rgba(0,0,0,.32) 0%, rgba(0,0,0,.12) 100%),
    url('/wp-content/themes/hello-elementor-child/images/HeroSearch.webp') center/cover no-repeat;
}
.rc-hero-search .search-hero__bg{
  position:absolute; inset:0; z-index:-1;
  background:
    linear-gradient(180deg, rgba(0,0,0,.32) 0%, rgba(0,0,0,.12) 100%),
    url('/wp-content/themes/hello-elementor-child/images/HeroSearch.webp') center/cover no-repeat;
}

.rc-search-page .rc-hero-search .rc-results-title{
  margin: 0 20px 26px;
  font-weight: 700; font-size: clamp(24px, 3.2vw, 38px);
  line-height: 1.2; color:#fff;
}
.rc-search-page .rc-hero-search .rc-results-title span{ color:#FF5C1B; }

/* Barre de recherche (Hero) */
.rc-search-page .form-recherche-moulinet--hero{
  position: relative;
  display: grid; grid-template-columns: 1fr auto;
  gap: 12px; align-items: center;
  max-width: 880px; margin: 0 auto; z-index: 20;
}
.rc-search-page .form-recherche-moulinet--hero #autocomplete-input{
  height: 80px; padding: 0 24px; font-size: 20px;
  border-radius: 40px; border: 1px solid #E5E7EB;
  background:#fff; color:#002833;
  box-shadow: 0 6px 16px rgba(0,0,0,.06);
  outline:none; -webkit-appearance:none;
}
.rc-search-page .form-recherche-moulinet--hero #autocomplete-input:focus{
  border-color:#004E66; box-shadow: 0 0 0 4px rgba(0,78,102,.12);
}
.rc-search-page .form-recherche-moulinet--hero button[type="submit"]{
  height: 80px; min-width: 80px; border-radius: 40px; border:none;
  background:#004E66; color:#fff;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition: background .2s ease, transform .1s ease;
}
.rc-search-page .form-recherche-moulinet--hero button[type="submit"]:hover{
  background:#FF5C1B; color:#fff;
}
.rc-search-page .form-recherche-moulinet--hero button[type="submit"] svg{
  width: 32px; height: 32px;
}

.rc-search-page .form-recherche-moulinet--hero #autocomplete-results{
  position:absolute; left:0; right: calc(80px + 12px); top: calc(100% + 8px);
  z-index: 99999; background:#fff; border:1px solid #E5E7EB;
  border-radius:12px; max-height:320px; overflow-y:auto;
  box-shadow: 0 12px 28px rgba(0,0,0,.12);
  display:none; opacity:0; transform: translateY(4px);
  transition: opacity .2s ease, transform .2s ease, box-shadow .2s ease;
  pointer-events: none;
}
.rc-search-page .form-recherche-moulinet--hero #autocomplete-results.show{
  display:block; opacity:1; transform: translateY(0);
  pointer-events: auto;
  box-shadow: 0 16px 32px rgba(0,0,0,.18);
}
.rc-search-page .form-recherche-moulinet--hero #autocomplete-results ul{
  list-style:none; margin:0; padding:6px 0;
}
.rc-search-page .form-recherche-moulinet--hero #autocomplete-results li{
  display:flex; align-items:center; gap:10px;
  padding:10px 14px; border-radius:8px; cursor:pointer;
  color:#002833; font-size:1rem;
}
.rc-search-page .form-recherche-moulinet--hero #autocomplete-results li:hover{
  background:#F6F8FA;
}

/* ===========================================================
   ZONE RESULTATS
=========================================================== */
.rc-search-page .rc-results-zone{
  background:#0B2F38; padding:56px 0 80px; position: relative; z-index: 1;
}
.rc-search-page .rc-results-inner{ max-width:1280px; margin:0 auto; padding:0 20px; }
.rc-search-page .rc-search-results{ max-width:1180px; margin:0 auto; }

/* compteur lisible */
.rc-results-zone .rc-search-results p,
.rc-results-zone .rc-search-results .woocommerce-result-count{
  color:#fff !important;
}

/* ===========================================================
   TABLEAU RESULTATS
=========================================================== */
.rc-search-page .results-table {
  position: relative;
  width: 100%;
  margin-top: 18px;
  font-size: .95rem;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 6px 16px rgba(0,0,0,.12);
  min-width: 680px;

  border-collapse: collapse !important;
  border: none !important;
}

.rc-search-page .results-table thead tr { background:#004E66; color:#fff; }
.rc-search-page .results-table th,
.rc-search-page .results-table td {
  padding:12px 10px; text-align:left; vertical-align:middle; border:none;
}

.rc-search-page .results-table tbody tr { border-bottom:1px solid rgba(0,56,76,0.25); }
.rc-search-page .results-table tbody tr:last-child{ border-bottom:none; }

.rc-search-page .results-table thead tr th:first-child{ border-top-left-radius:12px; }
.rc-search-page .results-table thead tr th:last-child{ border-top-right-radius:12px; }
.rc-search-page .results-table tbody tr:last-child td:first-child{ border-bottom-left-radius:12px; }
.rc-search-page .results-table tbody tr:last-child td:last-child{ border-bottom-right-radius:12px; }

/* Thumb column */
.rc-search-page .results-table .thumbcell{ width:90px; text-align:center; }
.rc-search-page .results-table .thumbcell img{
  max-height:50px; margin:auto; display:block;
}

.rc-search-page .results-table td.col-nom{
  font-weight:600; font-size:1.05rem; color:#002833;
}
.rc-search-page .results-table td.col-nom a{
  color:#002833; text-decoration:none;
}

@media(max-width:600px){
  .rc-search-page .results-table th,
  .rc-search-page .results-table td{ padding:10px 8px; font-size:13px; }
  .rc-search-page .results-table td.col-nom{ font-size:14px; }
}

/* Pagination */
.rc-pagination{
  display:flex; gap:8px; justify-content:center; margin:20px 0 0;
}
.rc-pagination a{
  display:inline-block; min-width:40px; height:40px; line-height:40px;
  text-align:center; border-radius:8px;
  background:#fff; color:#004E66;
  border:1px solid #E5E7EB;
  box-shadow:0 2px 6px rgba(0,0,0,.05);
}
.rc-pagination a:hover{
  background:#FF5C1B; color:#fff; border-color:#FF5C1B;
}
.rc-pagination a.is-active{
  background:#004E66; color:#fff; border-color:#004E66;
}

/* =================================================================
   BARRE DE RECHERCHE ACCUEIL (autre page)
================================================================= */
.rc-searchbar{
  display:grid; grid-template-columns:1fr auto; gap:12px; max-width:880px;
  margin:0 auto; position:relative;
}
.rc-searchbar #autocomplete-input{
  height:80px; padding:0 24px; font-size:20px; border-radius:40px;
  border:1px solid #E5E7EB; background:#fff; box-shadow:0 6px 16px rgba(0,0,0,.06);
}
.rc-searchbar #autocomplete-input:focus{
  border-color:#004E66; box-shadow:0 0 0 4px rgba(0,78,102,.12);
}
.rc-searchbar .rc-btn{
  height:80px; min-width:80px; border-radius:40px; border:none;
  background:#004E66; color:#fff; display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:.2s background;
}
.rc-searchbar .rc-btn:hover{ background:#FF5C1B; }

.rc-searchbar #autocomplete-results{
  position:absolute; left:0; right:0; top:calc(100% + 8px);
  background:#fff; border:1px solid #E5E7EB; border-radius:12px;
  max-height:320px; overflow-y:auto; z-index:9999;
  display:none; opacity:0; transform:translateY(4px);
  transition:.2s opacity,.2s transform;
  pointer-events:none;
}
.rc-searchbar #autocomplete-results.show{
  display:block; opacity:1; transform:translateY(0); pointer-events:auto;
}

@media(max-width:540px){
  .rc-searchbar #autocomplete-input{ height:68px; font-size:18px; }
  .rc-searchbar .rc-btn{ height:68px; min-width:68px; }
}
/* ===========================================================
   MODULE RC — VARIABLES & STRUCTURE GLOBALE
=========================================================== */

:root{
  --rc-primary:#004E66;
  --rc-accent:#FF5C1B;
  --rc-ink:#10242C;
  --rc-line:#D9E2E6;
  --rc-bg:#F6FAFB;
  --rc-surface:#FFFFFF;
  --rc-soft:#ECF5F7;
  --rc-radius:16px;
  --rc-shadow:0 10px 28px rgba(0,0,0,.06);
}


/* Container du module */
.rc{
  font-family:Poppins,system-ui,-apple-system,Roboto,Arial,sans-serif;
  max-width:1100px;
  margin:0 auto;
  padding:24px 24px 64px;
  color:var(--rc-ink);
}

/* Grille générale */
.rc-grid{
  display:grid;
  gap:24px;
  grid-template-columns:1fr;
}
@media(min-width:960px){
  .rc-grid{ grid-template-columns:1fr 1fr; }
}

/* Cartes principales (bloc pièces, roulements, casting, spinning) */
.rc-card{
  background:var(--rc-surface);
  border:1px solid var(--rc-line);
  border-radius:var(--rc-radius);
  padding:22px;
  box-shadow:var(--rc-shadow);
}
#bloc-casting.rc-card,
#bloc-spinning.rc-card{
  grid-column:1 / -1;
}

/* TITRES */
.rc-card h3{
  margin:0 0 14px;
  font-size:clamp(18px,2vw,22px);
  font-weight:600;
}

/* Lignes de champs */
.rc-row{
  display:flex;
  gap:20px;
  flex-wrap:wrap;
  margin-bottom:12px;
}
.rc-field{
  flex:1 1 260px;
  min-width:220px;
  position:relative;
}

/* Label + icône */
.rc-label{
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:600;
  margin-bottom:6px;
}
.rc-ico{
  width:18px; height:18px;
  color:var(--rc-primary);
  display:flex; align-items:center; justify-content:center;
}

/* Inputs + selects */
.rc-input,
.rc-select{
  width:100%;
  padding:12px 14px;
  border:1px solid var(--rc-line);
  border-radius:12px;
  background:#fff;
  color:#0f222a;
  transition:.15s border,.15s box-shadow;
}
.rc-input:focus,
.rc-select:focus{
  border-color:var(--rc-primary);
  box-shadow:0 0 0 4px rgba(0,78,102,.12);
}
.rc-select:disabled,
.rc-input:disabled{
  background:var(--rc-soft);
  color:#8AA0A9;
}

/* Flèche select */
.rc-select{
  appearance:none;-webkit-appearance:none;-moz-appearance:none;
  background:
    linear-gradient(45deg,transparent 50%,var(--rc-primary) 50%),
    linear-gradient(135deg,var(--rc-primary) 50%,transparent 50%) no-repeat,
    linear-gradient(to right,transparent,transparent);
  background-size:6px 6px,6px 6px,1px 1.9em;
  background-position:
    calc(100% - 22px) calc(1em + 2px),
    calc(100% - 17px) calc(1em + 2px),
    calc(100% - 2.4em) 0.5em;
}

/* Barre de recherche avec icône loupe */
.rc-searchwrap{ position:relative; }
.rc-searchwrap .rc-input{ padding-left:40px; }
.rc-searchwrap svg{
  position:absolute; left:12px; top:50%; transform:translateY(-50%);
  width:18px; height:18px; color:var(--rc-primary);
}

/* Autocomplete (unifié) */
.rc-suggest{
  position:absolute;
  z-index:9999;
  top:calc(100% + 6px);
  left:0; right:0;
  background:var(--rc-surface);
  border:1px solid var(--rc-line);
  border-radius:14px;
  max-height:280px;
  overflow:auto;
  display:none;
  box-shadow:var(--rc-shadow);
}
.rc-suggest .sg-item{
  padding:12px 14px;
  cursor:pointer;
  display:flex;
  gap:8px;
  align-items:center;
}
.rc-suggest .sg-item:hover{
  background:rgba(0,78,102,.06);
}

/* Spinner loading */
.rc-field.is-loading::after{
  content:"";
  position:absolute;
  right:12px; bottom:12px;
  width:16px; height:16px;
  border-radius:50%;
  border:2px solid rgba(0,78,102,.25);
  border-top-color:var(--rc-primary);
  animation:rcspin .7s linear infinite;
}
@keyframes rcspin{
  to{ transform:rotate(360deg); }
}

/* Zone info */
.rc-info{
  margin-top:14px;
  border:1px solid var(--rc-line);
  background:linear-gradient(180deg,#fff 0%, var(--rc-bg) 160%);
  border-radius:14px;
  padding:14px;
}

.rc-media{ text-align:center; margin-top:10px; }
.rc-media img{
  width:100%;
  max-width:320px;
  border-radius:12px;
}
/* ===========================================================
   MODULE RC — RESULTATS & CARTES
=========================================================== */

.rc-list{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
}
@media(min-width:720px){
  .rc-list{ grid-template-columns:1fr 1fr; }
}
.rc-list--single{
  grid-template-columns:1fr;
}

/* Carte résultat */
.rc-item{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:14px;
  align-items:center;
  border:1px solid var(--rc-line);
  border-radius:16px;
  padding:14px;
  background:var(--rc-surface);
  transition: box-shadow .2s, transform .12s, border-color .2s;
}
.rc-item:hover{
  box-shadow:var(--rc-shadow);
  transform:translateY(-1px);
  border-color: rgba(0,78,102,.25);
}

/* Désactive le hover sur mobile */
@media(hover:none){
  .rc-item:hover{ box-shadow:none; transform:none; }
}

/* Thumb */
.rc-thumb{
  width:120px;
  height:120px;
  border-radius:14px;
  background:var(--rc-soft);
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}
.rc-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* Contenu */
.rc-body{ min-width:0; }

.rc-title{
  font-weight:600;
  margin:0 0 6px;
  font-size:16px;
  line-height:1.35;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.rc-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px 14px;
  color:#4f6770;
  font-size:13.5px;
  margin-bottom:8px;
}
@media(prefers-color-scheme: dark){
  .rc-meta{ color:#98ADBA; }
}

.rc-badges{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.rc-badge-chip{
  font-size:12px;
  font-weight:600;
  color:var(--rc-primary);
  background: rgba(0,78,102,.10);
  border:1px solid rgba(0,78,102,.22);
  padding:5px 10px;
  border-radius:999px;
}

/* Actions */
.rc-actions{
  margin-top:10px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.rc-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 14px;
  border-radius:12px;
  font-weight:600;
  text-decoration:none;
  border:1px solid var(--rc-primary);
  color:var(--rc-primary);
  background:#fff;
  transition:background .15s, transform .12s;
}
.rc-btn:hover{
  background:rgba(0,78,102,.08);
  transform:translateY(-1px);
}

.rc-btn--primary{
  background:var(--rc-primary);
  color:#fff;
  border-color:var(--rc-primary);
}
.rc-btn--primary:hover{
  background:#003646;
  border-color:#003646;
}

/* État vide */
.rc-empty{
  padding:16px;
  border:1px dashed var(--rc-line);
  border-radius:14px;
  text-align:center;
  color:#5b7280;
}
.rc-empty::before{
  content:"🔎 ";
}

/* Correctifs bloc "Roulement par dimensions" */
#bloc-roulements #resultat-roulement{
  border:none;
  background:transparent;
  padding:0;
}
#bloc-roulements #resultat-roulement .rc-list{
  display:block;
}
#bloc-roulements #resultat-roulement .rc-item{
  width:100%;
  box-shadow:var(--rc-shadow);
  border:1px solid var(--rc-line);
  border-radius:var(--rc-radius);
}

/* Ajustements titres + meta */
#bloc-roulements #resultat-roulement .rc-title{
  font-size:17px;
}
#bloc-roulements #resultat-roulement .rc-meta{
  font-size:14px;
}
:root{--rc-primary:#004E66;--rc-accent:#FF5C1B;--rc-ink:#10242C;--rc-line:#D9E2E6;--rc-bg:#F6FAFB;--rc-surface:#FFFFFF;--rc-soft:#ECF5F7;--rc-radius:16px;--rc-shadow:0 10px 28px rgba(0,0,0,.06)}
@media(prefers-color-scheme:dark){:root{--rc-ink:#E6EDF2;--rc-line:#2A3A42;--rc-bg:#0E1A1F;--rc-surface:#0B1418;--rc-soft:#0F1C22;--rc-shadow:0 12px 32px rgba(0,0,0,.5)}}
.rc{font-family:Poppins,system-ui,-apple-system,Roboto,Arial,sans-serif;max-width:1100px;margin:0 auto;padding:24px 24px 64px;color:var(--rc-ink)}
.rc-grid{display:grid;gap:24px;grid-template-columns:1fr}
@media(min-width:960px){.rc-grid{grid-template-columns:1fr 1fr}}
.rc-card{background:var(--rc-surface);border:1px solid var(--rc-line);border-radius:var(--rc-radius);padding:22px;box-shadow:var(--rc-shadow)}
#bloc-casting.rc-card,#bloc-spinning.rc-card{grid-column:1/-1}
.rc-card h3{margin:0 0 14px;font-size:clamp(18px,2vw,22px);font-weight:600}
.rc-row{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:12px}
.rc-field{flex:1 1 260px;min-width:220px;position:relative}
.rc-label{display:flex;align-items:center;gap:8px;font-weight:600;margin-bottom:6px}
.rc-ico{width:18px;height:18px;color:var(--rc-primary);display:flex;align-items:center;justify-content:center}
.rc-input,.rc-select{width:100%;padding:12px 14px;border:1px solid var(--rc-line);border-radius:12px;background:#fff;color:#0f222a;transition:.15s border,.15s box-shadow}
.rc-input:focus,.rc-select:focus{border-color:var(--rc-primary);box-shadow:0 0 0 4px rgba(0,78,102,.12)}
.rc-select:disabled,.rc-input:disabled{background:var(--rc-soft);color:#8AA0A9}
.rc-select{appearance:none;background:linear-gradient(45deg,transparent 50%,var(--rc-primary) 50%),linear-gradient(135deg,var(--rc-primary) 50%,transparent 50%) no-repeat,linear-gradient(to right,transparent,transparent);background-size:6px 6px,6px 6px,1px 1.9em;background-position:calc(100% - 22px) calc(1em + 2px),calc(100% - 17px) calc(1em + 2px),calc(100% - 2.4em) .5em}
.rc-searchwrap{position:relative}
.rc-searchwrap .rc-input{padding-left:40px}
.rc-searchwrap svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--rc-primary)}
.rc-suggest{position:absolute;z-index:9999;top:calc(100% + 6px);left:0;right:0;background:var(--rc-surface);border:1px solid var(--rc-line);border-radius:14px;max-height:280px;overflow:auto;display:none;box-shadow:var(--rc-shadow)}
.rc-suggest .sg-item{padding:12px 14px;cursor:pointer;display:flex;gap:8px;align-items:center}
.rc-suggest .sg-item:hover{background:rgba(0,78,102,.06)}
.rc-field.is-loading::after{content:"";position:absolute;right:12px;bottom:12px;width:16px;height:16px;border-radius:50%;border:2px solid rgba(0,78,102,.25);border-top-color:var(--rc-primary);animation:rcspin .7s linear infinite}
@keyframes rcspin{to{transform:rotate(360deg)}}
.rc-info{margin-top:14px;border:1px solid var(--rc-line);background:linear-gradient(180deg,#fff 0%,var(--rc-bg) 160%);border-radius:14px;padding:14px}
.rc-media{text-align:center;margin-top:10px}
.rc-media img{width:100%;max-width:320px;border-radius:12px}
.rc-list{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:720px){.rc-list{grid-template-columns:1fr 1fr}}
.rc-list--single{grid-template-columns:1fr}
.rc-item{display:grid;grid-template-columns:120px 1fr;gap:14px;align-items:center;border:1px solid var(--rc-line);border-radius:16px;padding:14px;background:var(--rc-surface);transition:box-shadow .2s,transform .12s,border-color .2s}
.rc-item:hover{box-shadow:var(--rc-shadow);transform:translateY(-1px);border-color:rgba(0,78,102,.25)}
@media(hover:none){.rc-item:hover{box-shadow:none;transform:none}}
.rc-thumb{width:120px;height:120px;border-radius:14px;background:var(--rc-soft);overflow:hidden;display:flex;align-items:center;justify-content:center}
.rc-thumb img{width:100%;height:100%;object-fit:cover}
.rc-body{min-width:0}
.rc-title{font-weight:600;margin:0 0 6px;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rc-meta{display:flex;flex-wrap:wrap;gap:10px 14px;color:#4f6770;font-size:13.5px;margin-bottom:8px}
@media(prefers-color-scheme:dark){.rc-meta{color:#98ADBA}}
.rc-badges{display:flex;gap:8px;flex-wrap:wrap}
.rc-badge-chip{font-size:12px;font-weight:600;color:var(--rc-primary);background:rgba(0,78,102,.10);border:1px solid rgba(0,78,102,.22);padding:5px 10px;border-radius:999px}
.rc-actions{margin-top:10px;display:flex;gap:10px;flex-wrap:wrap}
.rc-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:12px;font-weight:600;text-decoration:none;border:1px solid var(--rc-primary);color:var(--rc-primary);background:#fff;transition:background .15s,transform .12s}
.rc-btn:hover{background:rgba(0,78,102,.08);transform:translateY(-1px)}
.rc-btn--primary{background:var(--rc-primary);color:#fff;border-color:var(--rc-primary)}
.rc-btn--primary:hover{background:#003646;border-color:#003646}
.rc-empty{padding:16px;border:1px dashed var(--rc-line);border-radius:14px;text-align:center;color:#5b7280}
.rc-empty:before{content:"🔎 "}
#bloc-roulements #resultat-roulement{border:none;background:0 0;padding:0}
#bloc-roulements #resultat-roulement .rc-list{display:block}
#bloc-roulements #resultat-roulement .rc-item{width:100%;box-shadow:var(--rc-shadow);border:1px solid var(--rc-line);border-radius:var(--rc-radius)}
#bloc-roulements #resultat-roulement .rc-title{font-size:17px}
#bloc-roulements #resultat-roulement .rc-meta{font-size:14px}
/**************************************************
  VARIABLES
**************************************************/
:root{
  --rc-primary:#004E66;
  --rc-accent:#FF5C1B;
  --rc-ink:#10242C;
  --rc-line:#D9E2E6;
  --rc-bg:#F6FAFB;
  --rc-surface:#FFFFFF;
  --rc-soft:#ECF5F7;
  --rc-shadow:0 10px 28px rgba(0,0,0,.06);
  --rc-radius:16px;
  --rc-gap:18px;
}

/**************************************************
  LAYOUT GLOBAL
**************************************************/
.rc{
  font-family:Poppins,system-ui,-apple-system,Roboto,sans-serif;
  max-width:1100px;
  margin:0 auto;
  padding:24px 24px 64px;
  color:var(--rc-ink);
}

.rc-grid{
  display:grid;
  gap:24px;
  grid-template-columns:1fr;
}
@media(min-width:960px){
  .rc-grid{ grid-template-columns:1fr 1fr; }
}

.rc-card{
  background:var(--rc-surface);
  border:1px solid var(--rc-line);
  border-radius:var(--rc-radius);
  padding:20px;
  box-shadow:var(--rc-shadow);
}

.rc-card h3{
  margin:0 0 14px;
  font-size:clamp(18px,2vw,22px);
  font-weight:600;
}

/**************************************************
  CARTES PLEINE LARGEUR
**************************************************/
#bloc-casting.rc-card,
#bloc-spinning.rc-card{
  grid-column:1 / -1;
}

/* Bloc Pièces = pleine largeur */
#bloc-pieces .rc-list{
  grid-template-columns:1fr !important;
}
#bloc-pieces .rc-item{
  width:100%;
}

/**************************************************
  CHAMPS & LABELS
**************************************************/
.rc-row{
  display:flex;
  gap:var(--rc-gap);
  flex-wrap:wrap;
}
.rc-field{
  flex:1 1 260px;
  min-width:220px;
  position:relative;
}
.rc-label{
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:600;
  margin-bottom:8px;
}
.rc-ico{
  width:18px;
  height:18px;
  color:var(--rc-primary);
}

/**************************************************
  INPUTS & SELECTS
**************************************************/
.rc-input,.rc-select{
  width:100%;
  padding:12px 14px;
  border:1px solid var(--rc-line);
  border-radius:12px;
  background:#FFF;
  color:var(--rc-ink);
  outline:none;
  transition:0.15s border,0.15s box-shadow;
}
.rc-input:focus,.rc-select:focus{
  border-color:var(--rc-primary);
  box-shadow:0 0 0 4px rgba(0,78,102,.12);
}
.rc-select:disabled,.rc-input:disabled{
  background:var(--rc-soft);
  color:#8AA0A9;
}

/* Flèche du select */
.rc-select{
  appearance:none;
  background-image:
    linear-gradient(45deg,transparent 50%,var(--rc-primary) 50%),
    linear-gradient(135deg,var(--rc-primary) 50%,transparent 50%),
    linear-gradient(to right,transparent,transparent);
  background-position:
    calc(100% - 22px) calc(1em + 2px),
    calc(100% - 17px) calc(1em + 2px),
    calc(100% - 2.4em) 0.5em;
  background-size:6px 6px,6px 6px,1px 1.9em;
  background-repeat:no-repeat;
}

/**************************************************
  SEARCH WRAP + ICON
**************************************************/
.rc-searchwrap{ position:relative; }
.rc-searchwrap .rc-input{ padding-left:42px; }
.rc-searchwrap > svg{
  position:absolute;
  left:12px; top:50%;
  transform:translateY(-50%);
  width:18px; height:18px;
  color:var(--rc-primary);
}

/**************************************************
  AUTOCOMPLETE
**************************************************/
#suggestions,#cast-suggest,#spin-suggest{
  position:absolute;
  z-index:999;
  top:calc(100% + 6px);
  left:0; right:0;
  background:var(--rc-surface);
  border:1px solid var(--rc-line);
  border-radius:14px;
  max-height:280px;
  overflow:auto;
  display:none;
  box-shadow:var(--rc-shadow);
}
.sg-item{
  padding:12px 14px;
  cursor:pointer;
  display:flex;
  gap:8px;
  align-items:center;
}
.sg-item:hover{
  background:rgba(0,78,102,.06);
}

/**************************************************
  LOADING SPINNER
**************************************************/
.rc-field.is-loading::after{
  content:"";
  position:absolute;
  right:12px; bottom:12px;
  width:16px; height:16px;
  border-radius:999px;
  border:2px solid rgba(0,78,102,.25);
  border-top-color:var(--rc-primary);
  animation:rc-spin .7s linear infinite;
}
@keyframes rc-spin{ to{ transform:rotate(360deg); } }

/**************************************************
  INFO BOX
**************************************************/
.rc-info{
  margin-top:14px;
  border:1px solid var(--rc-line);
  background:linear-gradient(180deg,#fff 0%,var(--rc-bg) 160%);
  border-radius:14px;
  padding:14px;
}

/**************************************************
  MEDIA
**************************************************/
.rc-media img{
  width:100%;
  max-width:320px;
  border-radius:12px;
}

/**************************************************
  LISTE & ITEMS
**************************************************/
.rc-list{
  display:grid;
  gap:16px;
  grid-template-columns:1fr;
}
@media(min-width:720px){
  .rc-list{ grid-template-columns:1fr 1fr; }
}

.rc-item{
  display:grid;
  grid-template-columns:88px 1fr;
  gap:14px;
  align-items:center;
  border:1px solid var(--rc-line);
  border-radius:16px;
  background:
    radial-gradient(180px 60px at -20% -40%,rgba(0,78,102,.06),transparent 60%),
    var(--rc-surface);
  padding:14px;
  transition: box-shadow .2s, transform .12s;
}
.rc-item:hover{
  transform:translateY(-1px);
  box-shadow:var(--rc-shadow);
  border-color:rgba(0,78,102,.25);
}

/**************************************************
  VIGNETTE CLIQUABLE
**************************************************/
.rc-thumb{
  width:88px;
  height:88px;
  border-radius:14px;
  background:var(--rc-soft);
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}
.rc-thumb-link{
  display:block;
  width:100%;
  height:100%;
}
.rc-thumb img{
  width:100%; height:100%;
  object-fit:cover;
}

/**************************************************
  TITRE & META
**************************************************/
.rc-title{
  font-weight:600;
  margin:0 0 6px;
  font-size:16px;
}
.rc-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
  font-size:13.5px;
  color:#4f6770;
  margin-bottom:8px;
}

/**************************************************
  ACTIONS
**************************************************/
.rc-actions{
  margin-top:10px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.rc-btn{
  padding:10px 14px;
  border-radius:12px;
  font-weight:600;
  text-decoration:none;
  border:1px solid var(--rc-primary);
  color:var(--rc-primary);
  background:#fff;
}
.rc-btn--primary{
  background:var(--rc-primary);
  color:#fff;
}

/**************************************************
  EMPTY STATE
**************************************************/
.rc-empty{
  padding:16px;
  border:1px dashed var(--rc-line);
  border-radius:14px;
  text-align:center;
  color:#5b7280;
}