/* Charte du Portail Dauphine — d'après le logo de l'Hôtel Dauphine Saint Germain
   (monogramme HD/SG : framboise Pantone 1710 #E4003C, grège #908270, pierre #D1CCC3).
   Un seul thème, clair, comme l'hôtel : papier blanc, encre chaude, accent framboise employé avec retenue.
   Titres : Cormorant Garamond (proche du Didot du logo) ; texte : Jost (proche du « RIVE GAUCHE »). */
:root {
  --papier: #FFFFFF;
  --fond: #F8F6F3;
  --pierre: #D1CCC3;
  --trait: #E7E2DA;
  --grege: #908270;
  --grege-fonce: #6B6052;
  --encre: #2A2420;
  --framboise: #E4003C;
  --framboise-fonce: #B5002F;
  --framboise-voile: #E4003C0F;
  --titre: "Cormorant Garamond", "Didot", "Bodoni 72", Georgia, serif;
  --texte: "Jost", "Futura", "Avenir Next", "Helvetica Neue", Arial, sans-serif;
  color-scheme: light;
}
* { box-sizing: border-box; }
body { background: var(--fond); color: var(--encre); font-family: var(--texte); }

/* En-tête commun (injecté par le serveur sur toutes les pages après connexion). */
.hd-entete { background: var(--papier); border-bottom: 1px solid var(--trait); }
.hd-entete-in { max-width: 1180px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap;
  padding-block: 12px; padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); }
.hd-marque { display: flex; align-items: center; gap: 14px; text-decoration: none; color: var(--grege-fonce); }
.hd-marque img { height: 54px; width: auto; display: block; }
.hd-marque span { font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var(--grege); border-left: 1px solid var(--trait); padding-left: 14px; }
.hd-nav { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.hd-nav a, .hd-nav button { font: 500 13px var(--texte); letter-spacing: .08em; text-transform: uppercase; color: var(--grege-fonce);
  text-decoration: none; background: none; border: 0; padding: 8px 10px; cursor: pointer; border-bottom: 1px solid transparent; }
.hd-nav a:hover, .hd-nav button:hover { color: var(--framboise); }
.hd-nav a[aria-current="page"] { color: var(--encre); border-bottom-color: var(--framboise); }
.hd-nav form { margin: 0; }
.hd-nav a:focus-visible, .hd-nav button:focus-visible, .hd-marque:focus-visible { outline: 2px solid var(--framboise); outline-offset: 2px; }
@media (max-width: 560px) { .hd-marque span { display: none; } .hd-marque img { height: 44px; } .hd-nav a, .hd-nav button { padding: 6px 7px; font-size: 12px; } }

/* Pied commun. */
.hd-pied { text-align: center; color: var(--grege); font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase; padding: 28px 16px 36px; }
.hd-pied b { color: var(--framboise); font-weight: 500; letter-spacing: .3em; }

/* Bandeau de page : dégradé bordeaux → framboise (couleurs du monogramme), façade en filigrane à droite. */
.hd-bandeau { position: relative; overflow: hidden; color: #FFFFFF;
  background: linear-gradient(115deg, #2E0812 0%, #6E0C26 48%, #B5002F 100%); }
.hd-bandeau::before { content: ""; position: absolute; inset: 0 0 0 auto; width: min(46%, 560px);
  background: url("/static/facade.jpg") center 35% / cover no-repeat; opacity: .28; mix-blend-mode: luminosity;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 45%); mask-image: linear-gradient(90deg, transparent, #000 45%); }
.hd-bandeau::after { content: "★ ★ ★"; position: absolute; right: max(18px, env(safe-area-inset-right, 0px)); top: 14px; font-size: 11px; letter-spacing: .3em; color: #F3C9D3; opacity: .8; }
.hd-bandeau-in { position: relative; z-index: 1; max-width: 1180px; margin: 0 auto; padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); }
.hd-bandeau h1 { color: #FFFFFF; }
