/* ============================================================================
   Corporéam — Boîte à outils « pages HTML libre » (mode raw)
   Design system calqué sur page-public.html (Cormorant + Nunito, charte).
   Tout est encapsulé sous .cor-page pour NE PAS toucher aux pages à modules.
   Le créateur/Claude compose librement la mise en page avec ces classes ;
   le STYLE (couleurs, typos, espacements) reste maison « par construction ».
   ============================================================================ */

.cor-page {
  --teal:#1A5D68; --teal-light:#45888C; --teal-pale:#e8f4f5;
  --gold:#9F790B; --gold-light:#d4a917;
  --terracotta:#AC7D69; --terracotta-dark:#783F23;
  --navy:#0F2B4C; --cream:#FDFBF7; --cream2:#FBF6F0; --white:#FFFFFF;
  --page-bg:#F5F0E8;
  --text-dark:#1a1a1a; --text-medium:#4a4a4a; --text-light:#7a7a7a;
  --border:#e8e5e0; --green:#4E8A3E;
  --maxw:1100px; --maxw-narrow:760px;

  font-family:'Nunito',system-ui,sans-serif;
  color:var(--text-dark);
  line-height:1.7;
  font-size:17px;
  background:var(--page-bg);
}

/* Filet de sécurité (responsive + anti-débordement) — non contournable */
.cor-page *{box-sizing:border-box;}
.cor-page img,.cor-page video,.cor-page iframe{max-width:100%;height:auto;}
.cor-page{overflow-wrap:break-word;word-break:break-word;}

/* ---- Titres ---- */
.cor-page h1,.cor-page h2,.cor-page h3,.cor-page h4{
  font-family:'Cormorant Garamond',serif; color:var(--navy);
  font-weight:400; line-height:1.2; margin:0 0 .5em; text-wrap:balance;
}
.cor-page h1{font-size:clamp(1.9rem,5vw,3.6rem); color:var(--teal);}
.cor-page h2{font-size:clamp(1.75rem,6vw,2.6rem); color:var(--teal);}
.cor-page h3{font-size:1.5rem; color:var(--teal);}
.cor-page p{margin:0 0 1.1em; color:var(--text-medium);}
.cor-page a{color:var(--teal);}
.cor-page em{font-style:italic; color:var(--gold);}
.cor-page strong{color:var(--text-dark);}

/* ---- Sections & conteneurs ---- */
.cor-section{padding:100px 0;}
.cor-section--cream{background:var(--cream);}
.cor-section--cream2{background:var(--cream2);}
.cor-section--white{background:var(--white);}
.cor-section--teal{background:var(--teal); color:#fff;}
.cor-section--teal h1,.cor-section--teal h2,.cor-section--teal h3{color:#fff;}
.cor-section--teal p{color:rgba(255,255,255,.9);}

.cor-container{max-width:var(--maxw); margin:0 auto; padding:0 40px;}
.cor-container--narrow{max-width:var(--maxw-narrow);}
.cor-fullbleed{width:100%;}                 /* bord à bord : pas de conteneur */

/* ---- Libellé / eyebrow ---- */
.cor-label{
  display:block; font-family:'Nunito',sans-serif; font-weight:600;
  font-size:.72rem; letter-spacing:.28em; text-transform:uppercase;
  color:var(--gold); margin-bottom:16px;
}

/* ---- Titre/sous-titre de section (centrés) ---- */
.cor-title{text-align:center; color:var(--teal); font-size:clamp(1.75rem,6vw,2.6rem); margin-bottom:16px;}
.cor-subtitle{text-align:center; color:var(--text-medium); font-weight:300;
  font-size:1.05rem; max-width:660px; margin:0 auto 60px;}

/* ---- Hero ---- */
.cor-hero{
  position:relative; min-height:82vh; display:flex; align-items:center;
  justify-content:center; text-align:center; padding:120px 40px 80px;
  background:var(--page-bg); background-size:cover; background-position:center; overflow:hidden;
}
.cor-hero::after{content:''; position:absolute; inset:0; background:rgba(255,255,255,.55); z-index:1;}
.cor-hero__inner{position:relative; z-index:2; max-width:840px; margin:0 auto;
  display:flex; flex-direction:column; align-items:center;}
.cor-hero__subtitle{font-size:clamp(1rem,2vw,1.15rem); color:var(--text-medium);
  font-weight:300; max-width:620px; margin:0 auto 36px;}

/* ---- Boutons ---- */
.cor-btn{
  display:inline-block; padding:14px 30px; border-radius:8px; text-decoration:none;
  font-family:'Nunito',sans-serif; font-weight:600; font-size:.95rem; cursor:pointer;
  background:var(--teal); color:#fff; border:1px solid var(--teal);
  transition:background .3s, transform .2s;
}
.cor-btn:hover{background:#14474f; transform:translateY(-2px);}
.cor-btn--gold{background:var(--gold); border-color:var(--gold); color:#fff;}
.cor-btn--gold:hover{background:#8a6a09; border-color:#8a6a09;}
.cor-btn--ghost{background:transparent; color:var(--teal);}
.cor-btn--ghost:hover{background:var(--teal-pale); transform:translateY(-2px);}

/* ---- Grille de cartes ---- */
.cor-grid{display:grid; gap:24px;}
.cor-grid--2{grid-template-columns:repeat(2,1fr);}
.cor-grid--3{grid-template-columns:repeat(3,1fr);}
.cor-grid--4{grid-template-columns:repeat(4,1fr);}

.cor-card{
  background:var(--white); border:1px solid var(--border); border-radius:14px;
  padding:28px 26px; transition:transform .2s, box-shadow .2s;
}
.cor-card:hover{transform:translateY(-4px); box-shadow:0 14px 40px rgba(26,93,104,.10);}
.cor-card--cream{background:var(--cream);}
.cor-card--teal{background:var(--teal-pale); border-color:#cfe6e8;}
.cor-card--center{text-align:center;}
.cor-card h3{margin-top:0;}
/* Icône image ronde (comme le module cartes) */
.cor-card__img{width:88px; height:88px; margin:0 auto 18px; border-radius:50%; overflow:hidden;}
.cor-card__img img{width:100%; height:100%; object-fit:cover;}

/* ---- Citation / pull-quote ---- */
.cor-quote{
  font-family:'Cormorant Garamond',serif; font-size:1.72rem; font-style:italic;
  color:var(--teal); line-height:1.55; border-left:2px solid var(--gold);
  padding-left:30px; margin:0;
}
.cor-quote::before{content:"\201C"; display:block; font-family:'Cormorant Garamond',serif;
  font-size:4rem; line-height:.5; color:var(--gold); opacity:.5; margin:6px 0 14px -8px;}

/* ---- Texte + image côte à côte ---- */
.cor-textimg{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;}
.cor-textimg--reverse{direction:rtl;} .cor-textimg--reverse>*{direction:ltr;}
.cor-textimg img{border-radius:16px; width:100%;}

/* ---- Bande citation pleine largeur ---- */
.cor-quoteband{background:var(--teal); color:#fff; text-align:center; padding:80px 40px;}
.cor-quoteband .cor-quote{border:0; padding:0; color:#fff; font-size:2rem;}
.cor-quoteband .cor-quote::before{color:var(--gold-light);}

/* ============================ MOBILE ============================ */
@media (max-width:768px){
  .cor-page{font-size:16px;}
  .cor-section{padding:64px 0;}
  .cor-container{padding:0 22px;}
  .cor-grid--2,.cor-grid--3,.cor-grid--4{grid-template-columns:1fr;}
  .cor-textimg{grid-template-columns:1fr; gap:28px;}
  .cor-hero{min-height:70vh; padding:90px 22px 60px;}
}
