/*
Theme Name: Cecilia Tetard - Page Rendez-vous V01
Author: OpenAI
Version: 1.0.0
Description: Maquette autonome WordPress de la page Prendre rendez-vous. Aucun plugin Hostinger modifié.
*/

:root{
  --cream:#fbf8f3;
  --paper:#fffdf9;
  --terracotta:#9f3f29;
  --terracotta-dark:#8f341f;
  --forest:#123f31;
  --forest-2:#244e35;
  --sage:#eef2e9;
  --sage-2:#e8eee2;
  --ink:#17211d;
  --muted:#676b67;
  --line:#e3e1dc;
  --blush:#f7e1db;
  --white:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Montserrat",Arial,sans-serif;
  color:var(--ink);
  background:#fff;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
svg{display:block}
.page-rdv{overflow:hidden}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* HEADER */
.site-header{
  height:74px;
  display:flex;
  align-items:center;
  padding:0 6.4%;
  gap:34px;
  background:#fff;
  border-bottom:1px solid #f2f0ec;
  position:relative;
  z-index:20;
}
.brand{display:flex;flex-direction:column;min-width:205px}
.brand strong{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:25px;
  font-weight:500;
  line-height:1;
  letter-spacing:.01em;
}
.brand span{font-size:10px;margin-top:6px}
.site-nav{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:29px;
  font-size:11px;
  white-space:nowrap;
}
.site-nav>a:not(.nav-cta){padding:27px 0 9px}
.site-nav .active{border-bottom:1px solid var(--terracotta)}
.search-link{width:20px;display:flex;align-items:center;justify-content:center}
.search-link svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7}
.nav-cta{
  color:#fff;
  padding:15px 25px;
  min-width:178px;
  border-radius:28px;
  text-align:center;
  background:linear-gradient(90deg,#2d5439,#3b623d);
  box-shadow:0 5px 15px rgba(24,61,39,.10);
}
.menu-toggle{display:none;background:none;border:0;font-size:25px}

/* HERO */
.rdv-hero{
  background:
    radial-gradient(circle at 52% 18%,rgba(255,255,255,.96) 0,rgba(255,255,255,.78) 29%,rgba(251,248,243,.94) 71%),
    #faf7f2;
  min-height:349px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  border-bottom:1px solid #f6f2ed;
}
.hero-inner{padding:28px 20px 29px}
.eyebrow{
  font-size:11px;
  letter-spacing:.24em;
  color:#9d4d3b;
  margin-bottom:15px;
}
.rdv-hero h1{
  margin:0;
  font-family:"Cormorant Garamond",Georgia,serif;
  color:var(--terracotta-dark);
  font-size:57px;
  line-height:.89;
  font-weight:500;
  letter-spacing:-.025em;
}
.hero-rule{width:82px;height:1px;background:#cfc8c1;margin:18px auto 13px}
.rdv-hero p{
  margin:0;
  font-size:14px;
  line-height:1.62;
  font-weight:400;
}
.signature{
  font-family:"Caveat","Cormorant Garamond",serif;
  color:var(--terracotta);
  font-size:27px;
  line-height:1.05;
  transform:rotate(-1.2deg);
}
.rdv-hero .signature{margin-top:14px}
.hero-values{
  color:#a15949;
  font-size:10px;
  letter-spacing:.24em;
  margin-top:22px;
}

/* MAIN FORM AREA */
.rdv-main{
  max-width:1100px;
  margin:0 auto;
  padding:29px 30px 31px;
  display:grid;
  grid-template-columns:300px minmax(0,1fr);
  gap:35px;
}
.reassurance{padding:7px 6px 0 0}
.reassurance-item{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:19px;
  align-items:start;
  padding:0 0 23px;
  margin-bottom:22px;
  border-bottom:1px solid #deded9;
}
.reassurance-item:last-of-type{border-bottom:0;margin-bottom:6px}
.round-icon{
  width:62px;height:62px;border-radius:50%;
  background:var(--sage);
  display:flex;align-items:center;justify-content:center;
}
.round-icon svg{width:38px;height:38px;fill:none;stroke:#183a2e;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.reassurance h2{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:22px;
  font-weight:500;
  margin:6px 0 3px;
}
.reassurance p{
  font-size:11px;
  line-height:1.65;
  margin:0;
  color:#404743;
}
.trust-note{display:flex;gap:13px;align-items:center;margin:22px 0 0 5px}
.trust-note svg{width:52px;height:87px;fill:none;stroke:#559058;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.trust-note .signature{font-size:25px;color:#204834}

.form-card{
  border-radius:12px;
  background:#fff;
  padding:16px 20px 18px;
  box-shadow:0 2px 17px rgba(34,44,39,.11);
  border:1px solid #f3f2ef;
}
.form-card>h2{
  margin:0;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:29px;
  line-height:1.05;
  color:var(--terracotta);
  font-weight:500;
}
.form-intro{
  font-size:12px;
  line-height:1.55;
  margin:4px 0 15px;
}
.form-alert{
  padding:10px 12px;border-radius:7px;margin-bottom:12px;font-size:11px
}
.form-alert.success{background:#edf6ed;color:#22532d}
.form-alert.error{background:#fff1ec;color:#8b341f}
.rdv-form input[type="text"],
.rdv-form input[type="email"],
.rdv-form input[type="tel"],
.rdv-form select,
.rdv-form textarea{
  width:100%;
  border:1px solid #d9dbd7;
  border-radius:7px;
  background:#fff;
  font-family:"Montserrat",sans-serif;
  font-size:10.7px;
  color:#263029;
  outline:none;
  transition:.2s;
}
.rdv-form input[type="text"],
.rdv-form input[type="email"],
.rdv-form input[type="tel"],
.rdv-form select{
  height:38px;
  padding:0 13px;
}
.rdv-form textarea{height:74px;padding:10px 13px;resize:vertical}
.rdv-form input:focus,.rdv-form select:focus,.rdv-form textarea:focus{border-color:#8eaa91;box-shadow:0 0 0 2px rgba(88,126,90,.08)}
.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:9px 11px}
.offer-fieldset{border:0;padding:0;margin:11px 0 12px;min-width:0}
.offer-fieldset legend{font-size:10.4px;margin-bottom:7px}
.offer-choice-grid{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:8px}
.offer-choice{
  min-height:119px;
  border:1px solid #d9dbd7;
  border-radius:7px;
  padding:11px 10px 8px 42px;
  position:relative;
  cursor:pointer;
  display:block;
}
.offer-choice.featured{background:#f2f8ee;border-color:#80a579}
.offer-choice input{position:absolute;opacity:0;pointer-events:none}
.fake-radio{
  position:absolute;left:15px;top:14px;
  width:17px;height:17px;border-radius:50%;
  border:1.5px solid #34443b;
  background:#fff;
}
.offer-choice input:checked + .fake-radio{border-color:#1c5a3d;background:#1c5a3d;box-shadow:inset 0 0 0 5px #1c5a3d}
.offer-choice input:checked + .fake-radio:after{
  content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:#fff;left:4.5px;top:4.5px
}
.offer-choice-copy{display:block}
.offer-choice-copy strong{font-size:10.5px;line-height:1.55;font-weight:500}
.offer-choice-copy strong b{font-size:12px}
.offer-choice-copy small{display:block;font-size:9px;line-height:1.5;color:#555f58;margin-top:3px}
.lower-fields{margin-top:8px}
.lower-fields label>span,.message-label>span{display:block;font-size:9.7px;margin:0 0 6px}
.message-label{display:block;margin-top:12px}
.check-line{
  display:grid;
  grid-template-columns:17px 1fr;
  gap:9px;
  align-items:start;
  font-size:9.7px;
  line-height:1.45;
  margin-top:11px;
  cursor:pointer;
}
.check-line input{position:absolute;opacity:0}
.check-ui{width:14px;height:14px;border:1px solid #52645a;border-radius:2px;background:#fff;position:relative;margin-top:1px}
.check-line input:checked + .check-ui{background:#0f4c34;border-color:#0f4c34}
.check-line input:checked + .check-ui:after{content:"✓";position:absolute;color:#fff;font-size:10px;left:2px;top:-1px;font-weight:600}
.form-actions{display:flex;align-items:center;gap:22px;margin-top:16px}
.submit-btn{
  border:0;
  background:linear-gradient(90deg,#366339,#285730);
  color:#fff;
  font-family:"Montserrat",sans-serif;
  font-size:10.5px;
  padding:14px 25px;
  border-radius:27px;
  cursor:pointer;
  min-width:305px;
}
.privacy-note{display:flex;align-items:center;gap:10px;color:#727a75;font-size:9.2px;line-height:1.4}
.privacy-note svg{width:26px;height:26px;fill:none;stroke:#385148;stroke-width:1.6}

/* BENEFITS */
.benefit-strip{
  max-width:1114px;
  margin:0 auto 18px;
  background:linear-gradient(90deg,#f1f4ed,#f7f7f2,#f1f4ed);
  border-radius:5px;
  min-height:109px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  align-items:center;
  padding:11px 28px;
}
.benefit{
  position:relative;
  text-align:center;
  padding:0 24px;
}
.benefit:not(:last-child):after{
  content:"";position:absolute;right:0;top:15%;height:70%;width:1px;background:#dfe3db
}
.benefit-icon{
  width:47px;height:47px;border-radius:50%;background:#e3eadc;margin:0 auto 6px;
  display:flex;align-items:center;justify-content:center;
}
.benefit-icon svg{width:31px;height:31px;fill:none;stroke:#183a2e;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.benefit h3{font-family:"Cormorant Garamond",Georgia,serif;font-size:16px;font-weight:500;margin:0 0 3px}
.benefit p{font-size:9.4px;margin:0;color:#575f59}

/* NEWSLETTER */
.newsletter{
  min-height:76px;
  background:linear-gradient(90deg,#f4ddd6,#fbebe6);
  display:grid;
  grid-template-columns:54px 1fr 390px;
  gap:16px;
  align-items:center;
  padding:12px 6.4%;
}
.newsletter-icon{
  width:45px;height:45px;border-radius:50%;background:#f1cabe;display:flex;align-items:center;justify-content:center
}
.newsletter-icon svg{width:28px;height:28px;fill:none;stroke:#9f4c36;stroke-width:1.5}
.newsletter-copy h2{
  font-family:"Cormorant Garamond",Georgia,serif;font-size:23px;font-weight:500;color:#a2442d;margin:0
}
.newsletter-copy p{font-size:9.4px;color:#9b4e3c;margin:2px 0 0}
.newsletter-form{display:flex;gap:11px}
.newsletter-form input{
  flex:1;border:0;border-radius:24px;background:#fff;padding:0 21px;height:38px;font:10px "Montserrat",sans-serif
}
.newsletter-form button{
  width:144px;border:0;border-radius:24px;background:#0f4c34;color:#fff;font:10px "Montserrat",sans-serif
}

/* FOOTER */
.footer{
  background:linear-gradient(105deg,#0f4737,#0b352b);
  color:#fff;
  padding:25px 6.4% 12px;
}
.footer-grid{
  display:grid;
  grid-template-columns:2fr 1.08fr 1.08fr .9fr 1.05fr;
  gap:35px;
}
.footer-brand strong{font-family:"Cormorant Garamond",Georgia,serif;font-size:20px;font-weight:500}
.footer .subtitle{font-size:9.5px;margin:5px 0 16px}
.footer .promise{font-size:9.4px;line-height:1.65}
.footer h3{font-size:9.4px;margin:0 0 9px;font-weight:600}
.footer a{display:block;font-size:9px;margin:4px 0;color:#fff}
.social-icons{display:flex;gap:10px}
.social-icons a{width:22px;height:22px}
.social-icons svg{width:21px;height:21px;fill:none;stroke:#fff;stroke-width:1.7}
.social-icons a:last-child svg path{fill:#fff;stroke:none}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.30);
  margin-top:17px;
  padding-top:12px;
  display:flex;
  justify-content:space-between;
  font-size:8.7px;
}

/* RESPONSIVE */
@media(max-width:1080px){
  .site-header{padding:0 3.5%}
  .site-nav{gap:17px}
  .rdv-main{grid-template-columns:270px 1fr;padding-left:22px;padding-right:22px}
  .newsletter{grid-template-columns:54px 1fr 330px}
}
@media(max-width:900px){
  .site-nav{display:none}
  .menu-toggle{display:block;margin-left:auto}
  .rdv-main{grid-template-columns:1fr;max-width:760px}
  .reassurance{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
  .reassurance-item{grid-template-columns:1fr;text-align:center;border:0;padding:0}
  .round-icon{margin:auto}
  .trust-note{display:none}
  .offer-choice-grid{grid-template-columns:1fr}
  .offer-choice{min-height:auto}
  .benefit-strip{grid-template-columns:repeat(2,1fr);gap:20px;padding:22px}
  .benefit:nth-child(2):after{display:none}
  .newsletter{grid-template-columns:50px 1fr}
  .newsletter-form{grid-column:1/-1}
  .footer-grid{grid-template-columns:2fr 1fr 1fr}
}
@media(max-width:620px){
  .site-header{height:67px;padding:0 18px}
  .brand strong{font-size:22px}
  .brand span{font-size:9px}
  .rdv-hero{min-height:325px}
  .rdv-hero h1{font-size:46px}
  .rdv-hero p br{display:none}
  .hero-values{font-size:8px;line-height:1.7}
  .rdv-main{padding:25px 14px}
  .reassurance{grid-template-columns:1fr}
  .reassurance-item{grid-template-columns:63px 1fr;text-align:left;border-bottom:1px solid #e4e4de;padding-bottom:15px}
  .round-icon{margin:0}
  .form-card{padding:17px 13px}
  .form-intro br{display:none}
  .two-cols{grid-template-columns:1fr}
  .form-actions{flex-direction:column;align-items:stretch}
  .submit-btn{min-width:0;width:100%}
  .benefit-strip{margin:0 14px 18px;grid-template-columns:1fr}
  .benefit:after{display:none!important}
  .newsletter{padding:18px;grid-template-columns:45px 1fr}
  .newsletter-form{flex-direction:column}
  .newsletter-form button{width:100%;height:38px}
  .footer{padding:27px 20px 15px}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1/-1}
  .footer-bottom{flex-direction:column;gap:7px}
}
