
.laj-contact-page{background:#f7f1e8;color:#211a18}
.laj-contact-page main{padding:38px clamp(18px,5vw,82px) 76px}
.lajc-hero{max-width:1320px;margin:0 auto;background:#fffaf4;padding:50px clamp(28px,5vw,70px) 42px;border-bottom:1px solid #c8a86a}
.lajc-eyebrow{margin:0 0 14px;color:#8b1f32;font:700 10px/1.2 Montserrat,sans-serif;letter-spacing:.16em;text-transform:uppercase}
.lajc-hero h1{max-width:850px;margin:0;color:#7a1e2d;font:500 clamp(48px,6.4vw,88px)/.94 "Playfair Display",Georgia,serif;letter-spacing:-.04em}
.lajc-hero>p:last-child{max-width:760px;margin:22px 0 0;color:#665d57;font:400 15px/1.7 Montserrat,sans-serif}
.lajc-shell{max-width:1050px;margin:30px auto 0}
.lajc-form,.lajc-success{background:#fffaf4;padding:clamp(24px,4vw,48px)}
.lajc-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.lajc-form label{display:flex;flex-direction:column;gap:8px;color:#4c403a;font:600 10px/1.2 Montserrat,sans-serif;letter-spacing:.05em;text-transform:uppercase}
.lajc-form label span{color:#8b1f32}
.lajc-form input,.lajc-form select,.lajc-form textarea{width:100%;box-sizing:border-box;border:1px solid rgba(122,30,45,.19);background:#fff;padding:13px 14px;color:#2c2421;font:400 13px/1.45 Montserrat,sans-serif;text-transform:none;letter-spacing:0;border-radius:0}
.lajc-form textarea{resize:vertical;min-height:160px}
.lajc-full{grid-column:1/-1}
.lajc-consent{margin:22px 0!important;display:grid!important;grid-template-columns:18px 1fr!important;align-items:start!important;gap:10px!important;text-transform:none!important;letter-spacing:0!important;font-weight:400!important;line-height:1.5!important}
.lajc-consent input{width:16px!important;height:16px;margin:1px 0 0}
.lajc-consent span{color:#665d57!important}
.lajc-consent a{color:#7a1e2d}
.lajc-form button,.lajc-primary{display:inline-block;border:0;background:#821e31;color:#fff;text-decoration:none;padding:15px 22px;font:700 9px/1 Montserrat,sans-serif;letter-spacing:.09em;text-transform:uppercase;cursor:pointer}
.lajc-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.lajc-error{margin:0 0 14px;padding:13px 16px;background:#f8e7e8;color:#7a1e2d;font:600 12px/1.5 Montserrat,sans-serif}
.lajc-success span{color:#a37b49;font:700 9px/1.2 Montserrat,sans-serif;letter-spacing:.15em;text-transform:uppercase}
.lajc-success h2{margin:10px 0 12px;color:#7a1e2d;font:500 clamp(34px,5vw,58px)/1 "Playfair Display",Georgia,serif}
.lajc-success p{max-width:700px;margin:0 0 24px;color:#665d57;font:400 14px/1.7 Montserrat,sans-serif}
@media(max-width:700px){
  .laj-contact-page main{padding:20px 14px 48px}
  .lajc-hero{padding:34px 22px 30px}
  .lajc-grid{grid-template-columns:1fr}
  .lajc-full{grid-column:auto}
  .lajc-form,.lajc-success{padding:24px 20px}
}


/* ==========================================================
   v0.1.2 — continuité visuelle Contact -> Premier échange
   ========================================================== */
.lajc-steps{
  max-width:1050px;
  margin:24px auto 0;
  display:flex;
  align-items:center;
  gap:14px;
}
.lajc-step{
  flex:1;
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  border:1px solid rgba(122,30,45,.13);
  background:rgba(255,250,244,.58);
  color:#7f736c;
}
.lajc-step.is-active{
  background:#fffaf4;
  border-color:rgba(122,30,45,.28);
  color:#4c403a;
}
.lajc-step>span{
  width:29px;
  height:29px;
  border-radius:50%;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  background:#e8d9c9;
  color:#7a1e2d;
  font:700 10px/1 Montserrat,sans-serif;
}
.lajc-step.is-active>span{
  background:#7a1e2d;
  color:#fff;
}
.lajc-step div{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.lajc-step strong{
  font:700 9px/1.2 Montserrat,sans-serif;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.lajc-step small{
  font:400 10px/1.35 Montserrat,sans-serif;
  color:#8d8179;
}
.lajc-step-arrow{
  color:#b89a6b;
  font-size:18px;
}

.lajc-next{
  margin-top:22px;
  padding:24px 28px;
  background:#efe4d7;
  border-left:3px solid #c8a86a;
}
.lajc-next>span{
  display:block;
  margin-bottom:6px;
  color:#a37b49;
  font:700 9px/1.2 Montserrat,sans-serif;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.lajc-next h2{
  margin:0;
  color:#7a1e2d;
  font:500 clamp(27px,3vw,40px)/1.06 "Playfair Display",Georgia,serif;
}
.lajc-next p{
  max-width:720px;
  margin:11px 0 0;
  color:#665d57;
  font:400 12px/1.65 Montserrat,sans-serif;
}
.lajc-next-wait{
  margin-top:14px;
  color:#8b7c73;
  font:600 9px/1.4 Montserrat,sans-serif;
  letter-spacing:.03em;
}

@media(max-width:700px){
  .lajc-steps{
    align-items:stretch;
    flex-direction:column;
    gap:8px;
  }
  .lajc-step-arrow{
    display:none;
  }
  .lajc-next{
    padding:21px 20px;
  }
}


/* ==========================================================
   v0.1.3 — deux façons de prendre contact
   Formulaire OU réservation directe, sans ordre imposé.
   ========================================================== */
.lajc-steps,
.lajc-next{display:none!important}

.lajc-shell{
  max-width:1260px!important;
}

.lajc-contact-choices{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
  gap:24px;
  align-items:start;
}

.lajc-form-card,
.lajc-booking-card{
  background:#fffaf4;
  padding:clamp(24px,3.5vw,46px);
}

.lajc-choice-kicker,
.lajc-booking-card>span{
  display:block;
  margin:0 0 8px;
  color:#a37b49;
  font:700 9px/1.2 Montserrat,sans-serif;
  letter-spacing:.15em;
  text-transform:uppercase;
}

.lajc-form-card>h2,
.lajc-booking-card h2{
  margin:0;
  color:#7a1e2d;
  font:500 clamp(30px,3.2vw,46px)/1.02 "Playfair Display",Georgia,serif;
  letter-spacing:-.02em;
}

.lajc-choice-intro,
.lajc-booking-card>p{
  margin:13px 0 24px;
  color:#665d57;
  font:400 12px/1.65 Montserrat,sans-serif;
}

.lajc-form-card .lajc-form{
  background:transparent!important;
  padding:0!important;
}

.lajc-booking-card{
  position:sticky;
  top:24px;
  background:#efe4d7;
  border-top:3px solid #c8a86a;
}

.lajc-booking-card h2{
  max-width:420px;
}

.lajc-booking-note{
  margin:0 0 22px;
  padding:14px 0 0;
  border-top:1px solid rgba(122,30,45,.14);
  color:#7d6f67;
  font:600 9px/1.55 Montserrat,sans-serif;
  letter-spacing:.03em;
}

.lajc-booking-card .lajc-primary{
  display:inline-block;
  background:#821e31;
  color:#fff;
  padding:15px 20px;
  border:1px solid #821e31;
  transition:transform .2s ease,background .2s ease;
}
.lajc-booking-card .lajc-primary:hover{
  transform:translateY(-1px);
  background:#6f1829;
}

.lajc-success{
  max-width:820px;
  margin:0 auto;
}

@media(max-width:900px){
  .lajc-contact-choices{
    grid-template-columns:1fr;
  }
  .lajc-booking-card{
    position:static;
  }
}

@media(max-width:700px){
  .lajc-form-card,
  .lajc-booking-card{
    padding:24px 20px;
  }
}


/* ==========================================================
   v0.2.0 — apparence réglable directement dans chaque bloc
   ========================================================== */
.laj-contact-page .lajc-hero h1{
  font-size:clamp(42px,5.5vw,var(--lajc-font-hero-title,76px))!important;
  color:var(--lajc-color-hero-title,#7a1e2d)!important;
}
.laj-contact-page .lajc-hero>p:last-child{
  font-size:var(--lajc-font-hero-intro,15px)!important;
}
.laj-contact-page .lajc-form-card>h2{
  font-size:clamp(24px,3vw,var(--lajc-font-form-title,42px))!important;
  color:var(--lajc-color-form-title,#7a1e2d)!important;
}
.laj-contact-page .lajc-choice-intro{
  font-size:var(--lajc-font-form-intro,12px)!important;
}
.laj-contact-page .lajc-form input,
.laj-contact-page .lajc-form select,
.laj-contact-page .lajc-form textarea{
  font-size:var(--lajc-font-form-fields,13px)!important;
}
.laj-contact-page .lajc-success h2{
  font-size:clamp(26px,4vw,var(--lajc-font-success-title,48px))!important;
  color:var(--lajc-color-success-title,#7a1e2d)!important;
}
.laj-contact-page .lajc-success p{
  font-size:var(--lajc-font-success-text,14px)!important;
}
.laj-contact-page .lajc-booking-card h2{
  font-size:clamp(24px,3vw,var(--lajc-font-booking-title,42px))!important;
  color:var(--lajc-color-booking-title,#7a1e2d)!important;
}
.laj-contact-page .lajc-booking-card>p{
  font-size:var(--lajc-font-booking-text,12px)!important;
}

/* La page Contact profite également mieux des grands écrans. */
@media(min-width:1100px){
  .laj-contact-page .lajc-hero{
    max-width:1760px!important;
    padding-left:clamp(34px,4vw,76px)!important;
    padding-right:clamp(34px,4vw,76px)!important;
  }
  .laj-contact-page .lajc-hero h1{max-width:1050px!important}
  .laj-contact-page .lajc-hero>p:last-child{max-width:900px!important}
  .laj-contact-page .lajc-shell{max-width:1440px!important}
}
@media(min-width:1800px){
  .laj-contact-page .lajc-hero{max-width:2040px!important}
  .laj-contact-page .lajc-shell{max-width:1560px!important}
}

/* Administration : même présentation que Mon approche. */
.lajc-admin-style{
  margin:16px 0 26px;
  padding:0;
  max-width:1000px;
  border:1px solid #d9d1c7;
  background:#fffaf3;
}
.lajc-admin-style summary{
  cursor:pointer;
  padding:13px 15px;
  color:#7a1e2d;
  font-weight:700;
}
.lajc-admin-style[open] summary{border-bottom:1px solid #e7dfd5}
.lajc-admin-style>div,
.lajc-admin-style>p{
  margin-left:15px!important;
  margin-right:15px!important;
}
.lajc-admin-style>div:last-child{margin-bottom:16px!important}


/* ==========================================================
   v0.3.0 — audit exhaustif : chaque élément visible a son
   réglage local de taille / couleur dans son propre bloc.
   ========================================================== */
.laj-contact-page .lajc-hero .lajc-eyebrow{
  font-size:var(--lajc-font-hero-eyebrow,10px)!important;
  color:var(--lajc-color-hero-eyebrow,#8b1f32)!important;
}
.laj-contact-page .lajc-hero h1{
  font-size:clamp(42px,5.5vw,var(--lajc-font-hero-title,76px))!important;
  color:var(--lajc-color-hero-title,#7a1e2d)!important;
}
.laj-contact-page .lajc-hero>p:last-child{
  font-size:var(--lajc-font-hero-intro,15px)!important;
  color:var(--lajc-color-hero-intro,#665d57)!important;
}

.laj-contact-page .lajc-choice-kicker{
  font-size:var(--lajc-font-form-eyebrow,9px)!important;
  color:var(--lajc-color-form-eyebrow,#a37b49)!important;
}
.laj-contact-page .lajc-form-card>h2{
  font-size:clamp(24px,3vw,var(--lajc-font-form-title,42px))!important;
  color:var(--lajc-color-form-title,#7a1e2d)!important;
}
.laj-contact-page .lajc-choice-intro{
  font-size:var(--lajc-font-form-intro,12px)!important;
  color:var(--lajc-color-form-intro,#665d57)!important;
}
.laj-contact-page .lajc-form label{
  font-size:var(--lajc-font-form-label,10px)!important;
  color:var(--lajc-color-form-label,#4c403a)!important;
}
.laj-contact-page .lajc-form input,
.laj-contact-page .lajc-form select,
.laj-contact-page .lajc-form textarea{
  font-size:var(--lajc-font-form-fields,13px)!important;
  color:var(--lajc-color-form-field-text,#2c2421)!important;
  background:var(--lajc-color-form-field-bg,#fff)!important;
}
.laj-contact-page .lajc-consent{
  font-size:var(--lajc-font-form-consent,10px)!important;
}
.laj-contact-page .lajc-consent span{
  color:var(--lajc-color-form-consent,#665d57)!important;
}
.laj-contact-page .lajc-form button{
  font-size:var(--lajc-font-form-button,9px)!important;
  color:var(--lajc-color-form-button-text,#fff)!important;
  background:var(--lajc-color-form-button-bg,#821e31)!important;
}

.laj-contact-page .lajc-error{
  font-size:var(--lajc-font-error,12px)!important;
  color:var(--lajc-color-error-text,#7a1e2d)!important;
  background:var(--lajc-color-error-bg,#f8e7e8)!important;
}
.laj-contact-page .lajc-success>span{
  font-size:var(--lajc-font-success-badge,9px)!important;
  color:var(--lajc-color-success-badge,#a37b49)!important;
}
.laj-contact-page .lajc-success h2{
  font-size:clamp(26px,4vw,var(--lajc-font-success-title,48px))!important;
  color:var(--lajc-color-success-title,#7a1e2d)!important;
}
.laj-contact-page .lajc-success p{
  font-size:var(--lajc-font-success-text,14px)!important;
  color:var(--lajc-color-success-text,#665d57)!important;
}

.laj-contact-page .lajc-booking-card{
  background:var(--lajc-color-booking-bg,#efe4d7)!important;
}
.laj-contact-page .lajc-booking-card>span{
  font-size:var(--lajc-font-booking-eyebrow,9px)!important;
  color:var(--lajc-color-booking-eyebrow,#a37b49)!important;
}
.laj-contact-page .lajc-booking-card h2{
  font-size:clamp(24px,3vw,var(--lajc-font-booking-title,42px))!important;
  color:var(--lajc-color-booking-title,#7a1e2d)!important;
}
.laj-contact-page .lajc-booking-card>p{
  font-size:var(--lajc-font-booking-text,12px)!important;
  color:var(--lajc-color-booking-text,#665d57)!important;
}
.laj-contact-page .lajc-booking-note{
  font-size:var(--lajc-font-booking-note,9px)!important;
  color:var(--lajc-color-booking-note,#7d6f67)!important;
}
.laj-contact-page .lajc-booking-card .lajc-primary{
  font-size:var(--lajc-font-booking-button,9px)!important;
  color:var(--lajc-color-booking-button-text,#fff)!important;
  background:var(--lajc-color-booking-button-bg,#821e31)!important;
  border-color:var(--lajc-color-booking-button-bg,#821e31)!important;
}
