/* ================================================================
   RU Design : coque de page publique commune (composant 20, 2026-10-16)
   Paramètres de design de RU Carrière (décision de Dany) : couverture
   marine quadrillée, grand titre serif en dégradé, sur-titre bleu espacé,
   fond de page gris clair, cartes de 13 px, boutons de 9 px.
   ================================================================ */

/* Polices servies par le site (licence OFL, assets/polices/LICENCE-OFL.txt). */
@font-face{font-family:"RU Serif";font-style:normal;font-weight:600;font-display:swap;src:url(polices/fraunces-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"RU Texte";font-style:normal;font-weight:400;font-display:swap;src:url(polices/archivo-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"RU Texte";font-style:normal;font-weight:500;font-display:swap;src:url(polices/archivo-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"RU Texte";font-style:normal;font-weight:600;font-display:swap;src:url(polices/archivo-latin-600-normal.woff2) format("woff2")}

body.ru-page-pub{
  --rupp-marine:#0E2438;--rupp-sur-marine:#F1F4F2;--rupp-sur-marine-2:#E6ECF2;--rupp-bleu-clair:#5FA8DC;
  --rupp-serif:"RU Serif",Georgia,serif;--rupp-sans:"RU Texte",system-ui,-apple-system,"Segoe UI",sans-serif;
  --rupp-pad:clamp(16px,4vw,44px);
  margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--ru-fond-page,var(--ru-fond,#FFFFFF));color:var(--ru-texte,#0e2438);font-family:var(--rupp-sans);
}
body.ru-page-pub *{box-sizing:border-box}
.rupp-in,.rupp-entete-in,.rupp-couverture-in,.rupp-pied-in{max-width:1280px;margin:0 auto;padding-left:var(--rupp-pad);padding-right:var(--rupp-pad)}

/* Liens déjà visités : le thème (Zox) colore « a:visited » après nos feuilles ; chaque lien de la coque nomme donc aussi son état visité. */
/* ---- Haut marine : en-tête + couverture, un seul bloc ---- */
.rupp-haut{position:relative;overflow:hidden;background:var(--rupp-marine);color:var(--rupp-sur-marine)}
.rupp-haut::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(900px 460px at 78% -12%,rgba(95,168,220,.20),transparent 62%),radial-gradient(700px 380px at 6% 108%,rgba(29,92,143,.34),transparent 66%)}
.rupp-haut::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(900px 460px at 70% 0%,#000,transparent 72%);mask-image:radial-gradient(900px 460px at 70% 0%,#000,transparent 72%)}
.rupp-haut > *{position:relative;z-index:1}

.rupp-entete-in{display:flex;align-items:center;gap:24px;min-height:72px;padding-top:12px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.1)}
.rupp-logo,.rupp-logo:visited{display:inline-flex;align-items:center;min-height:44px;color:var(--rupp-sur-marine);text-decoration:none;font-weight:700}
.rupp-logo img{display:block;height:28px;width:auto}
.rupp-liens{display:flex;gap:4px;min-width:0}
.rupp-liens a,.rupp-liens a:visited{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border-radius:7px;font-size:13.5px;font-weight:500;color:var(--rupp-sur-marine-2);text-decoration:none;transition:background-color .2s ease,color .2s ease}
.rupp-liens a:hover,.rupp-liens a:visited:hover,.rupp-liens a[aria-current="page"]{color:var(--rupp-sur-marine);background:rgba(255,255,255,.08)}
.rupp-compte{margin-left:auto}

.rupp-couverture-in{padding-top:48px;padding-bottom:48px}
.rupp-sur-titre{margin:0 0 16px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:10.5px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--rupp-bleu-clair)}
.rupp-titre{margin:0;max-width:20ch;font-family:var(--rupp-serif);font-weight:600;font-size:clamp(36px,5.8vw,64px);line-height:1;letter-spacing:-.028em;color:var(--rupp-sur-marine);text-wrap:balance}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .rupp-titre{background:linear-gradient(96deg,var(--rupp-sur-marine) 40%,var(--rupp-bleu-clair) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
}
.rupp-desc{margin:20px 0 0;max-width:58ch;font-size:16.5px;line-height:1.55;color:var(--rupp-sur-marine-2)}
.rupp-actions{display:flex;flex-wrap:wrap;gap:var(--ru-esp-entre-boutons,12px);margin-top:28px}
.rupp-haut .ru-btn{border-radius:9px;min-height:44px}
.rupp-haut .ru-btn--secondaire,.rupp-haut .ru-btn--secondaire:visited{background:transparent;border-color:rgba(255,255,255,.28);color:var(--rupp-sur-marine)}
.rupp-haut .ru-btn--secondaire:hover,.rupp-haut .ru-btn--secondaire:focus-visible,.rupp-haut .ru-btn--secondaire:visited:hover,.rupp-haut .ru-btn--secondaire:visited:focus-visible{background:var(--ru-fond,#FFFFFF);border-color:var(--ru-contour-survol,#0A0A0A);color:var(--ru-accent,#1d5c8f)}

/* ---- Contenu : fond gris clair, cartes blanches de 13 px ---- */
.rupp-contenu{flex:1 0 auto;padding-top:var(--ru-esp-sections,32px);padding-bottom:var(--ru-esp-sections,32px);min-height:40vh}
.rupp-carte,.rupp-contenu .ru-carte{background:var(--ru-fond,#FFFFFF);border:1px solid var(--ru-bord,rgba(0,0,0,.10));border-radius:13px;padding:var(--ru-esp-boite,24px)}
.rupp-contenu .rupp-in > * + *{margin-top:var(--ru-esp-sections,32px)}

/* ---- Pied du Réseau ---- */
.rupp-pied{background:var(--rupp-marine);color:var(--rupp-sur-marine-2)}
.rupp-pied-in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:24px;padding-bottom:24px;font-size:13px}
.rupp-pied-nom{font-weight:600;color:var(--rupp-sur-marine)}

/* ---- Téléphone ---- */
@media (max-width:640px){
  .rupp-liens{display:none}
  .rupp-couverture-in{padding-top:32px;padding-bottom:32px}
  .rupp-actions .ru-btn{flex:1 1 100%}
  .rupp-contenu{flex:1 0 auto;padding-top:var(--ru-esp-sections-tel,24px);padding-bottom:var(--ru-esp-sections-tel,24px)}
  .rupp-carte,.rupp-contenu .ru-carte{padding:var(--ru-esp-boite-tel,16px)}
  .rupp-contenu .rupp-in > * + *{margin-top:var(--ru-esp-sections-tel,24px)}
}

/* Téléphone avec la barre du Réseau (17 octobre 2026) : l'en-tête (logo, liens,
   « Mon hub ») répète la barre du haut et le menu ; il reste à l'ordinateur. */
@media (max-width:999px){body:has(.rud-barre-bt) .rupp-entete{display:none}}
a.rupp-logo{text-decoration:none}
/* Livraison 5 : dans la coque mobile, la coque donne déjà 16 px de marge : pas de deuxième marge (le contenu était serré à 256 px à 320 px de large). */
.rud-coque-contenu .rupp-in{padding-left:0;padding-right:0}
/* Pied collé en bas sur une page courte (ordinateur ; le mode application du téléphone a sa propre mise en page). */
html:not(.rud-coque-mode) body.ru-page-pub{display:flex;flex-direction:column;min-height:100vh}
html:not(.rud-coque-mode) body.ru-page-pub > .rud-coque-app,html:not(.rud-coque-mode) body.ru-page-pub .rud-coque-app > .rud-coque-defil,html:not(.rud-coque-mode) body.ru-page-pub .rud-coque-defil > .rud-coque-contenu{display:flex;flex-direction:column;flex:1 0 auto}
