/* ============================================================
   CLINIQUE DES MONTRES v8
   Titres  : Playfair Display (serif bold — clone Patek)
   Corps   : Lato (grotesque lisible)
   Arabe   : Amiri
   Palette : Blanc · Bleu #1A6FD4 · Or #B8963E · Beige #F5F2EC
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;0,800;1,400;1,600;1,700&family=Lato:wght@300;400;700&family=Amiri:ital,wght@0,400;0,700;1,400&display=swap');

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
img{display:block;max-width:100%;}
a{text-decoration:none;color:inherit;}
button{border:none;cursor:pointer;background:none;font-family:inherit;}
ul{list-style:none;}

:root{
  --blue:#1A6FD4;
  --blue-dk:#0F4A8F;
  --blue-dp:#0A2A5A;
  --gold:#B8963E;
  --gold-lt:#CFA84E;
  --white:#FFFFFF;
  --beige:#F5F2EC;      /* ONE unified beige */
  --grey-text:#5A6472;
  --font-title:'Playfair Display','Georgia',serif;
  --font-body:'Lato','Helvetica Neue',sans-serif;
  --font-ar:'Amiri','Times New Roman',serif;
  --ls-caps:0.18em;
  --pad:80px;
  --ease:cubic-bezier(0.16,1,0.3,1);
  --grade:brightness(0.82) contrast(1.08) saturate(0.75) hue-rotate(190deg);
  --grade-hero:brightness(0.55) contrast(1.12) saturate(0.65) hue-rotate(195deg);
  --grade-full:brightness(0.48) contrast(1.10) saturate(0.60) hue-rotate(195deg);
}

body{
  font-family:var(--font-body);
  font-size:16px;
  font-weight:400;
  color:var(--blue-dp);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

/* ── RTL ── */
body.ar{font-family:var(--font-ar);direction:rtl;text-align:right;}
body.ar .eyebrow{flex-direction:row-reverse;}
body.ar .eyebrow::before{display:none;}
body.ar .nav-links{flex-direction:row-reverse;}
body.ar .hero-eyebrow{flex-direction:row-reverse;}
body.ar .hero-eyebrow::before{display:none;}
body.ar .split{direction:rtl;}
body.ar .split.reverse{direction:ltr;}
body.ar .split.reverse>*{direction:rtl;}
body.ar .location-item{flex-direction:row-reverse;}
body.ar .footer-top{direction:rtl;}
body.ar .info-block{direction:rtl;}
body.ar .info-item{border-left:none;border-right:2px solid rgba(184,150,62,.4);padding-left:0;padding-right:20px;}

/* ── EYEBROW ── */
.eyebrow{
  font-family:var(--font-body);
  font-size:11px;
  font-weight:700;
  letter-spacing:var(--ls-caps);
  text-transform:uppercase;
  color:var(--gold);
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:18px;
}
body.ar .eyebrow{font-family:var(--font-ar);letter-spacing:0;font-size:14px;}
.eyebrow::before{content:'';width:30px;height:1px;background:var(--gold);flex-shrink:0;}

/* ── HEADINGS ── */
h1,h2,h3,.section-title,.hero-title{
  font-family:var(--font-title);
}
body.ar h1,body.ar h2,body.ar h3,body.ar .section-title,body.ar .hero-title{
  font-family:var(--font-ar);
}

h2.section-title{
  font-size:clamp(28px,4vw,50px);
  font-weight:700;
  line-height:1.12;
  color:var(--blue-dp);
  letter-spacing:-0.01em;
}
h2.section-title em{font-style:italic;color:var(--gold);font-weight:600;}

.body-copy{
  font-family:var(--font-body);
  font-size:16px;
  font-weight:300;
  line-height:1.85;
  color:var(--grey-text);
}
body.ar .body-copy{font-family:var(--font-ar);font-size:18px;}

/* ── BUTTONS ── */
.btn{
  font-family:var(--font-body);
  font-size:11px;
  font-weight:700;
  letter-spacing:var(--ls-caps);
  text-transform:uppercase;
  padding:14px 38px;
  display:inline-block;
  transition:all .35s var(--ease);
  cursor:pointer;
}
body.ar .btn{font-family:var(--font-ar);letter-spacing:0;font-size:14px;}
.btn-blue{background:var(--blue);color:var(--white);border:1px solid var(--blue);}
.btn-blue:hover{background:var(--blue-dk);border-color:var(--blue-dk);}
.btn-dark{background:var(--blue-dp);color:var(--white);border:1px solid var(--blue-dp);}
.btn-dark:hover{background:var(--gold);border-color:var(--gold);}
.btn-line{background:transparent;color:var(--blue-dp);border:1px solid var(--blue-dp);}
.btn-line:hover{background:var(--blue-dp);color:var(--white);}
.btn-gold{background:transparent;color:var(--gold);border:1px solid var(--gold);}
.btn-gold:hover{background:var(--gold);color:var(--white);}
.btn-white{background:transparent;color:var(--white);border:1px solid rgba(255,255,255,.5);}
.btn-white:hover{border-color:var(--gold);color:var(--gold);}

/* ── NAV ── */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:500;
  height:76px;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 var(--pad);
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(26,111,212,.12);
  transition:box-shadow .4s var(--ease);
}
.nav.scrolled{box-shadow:0 1px 0 rgba(26,111,212,.10);}

.nav-lang{display:flex;gap:0;border:1px solid rgba(26,111,212,.25);overflow:hidden;margin-left:8px;}
.lang-btn{
  font-family:var(--font-body);
  font-size:10px;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;
  padding:6px 12px;color:var(--blue);
  background:transparent;cursor:pointer;transition:all .2s;border:none;
}
.lang-btn.active{background:var(--blue);color:var(--white);}
.lang-btn:hover:not(.active){background:rgba(26,111,212,.08);}

.nav-links{display:flex;gap:36px;align-items:center;}
.nav-links a{
  font-family:var(--font-body);
  font-size:11px;font-weight:700;
  letter-spacing:var(--ls-caps);text-transform:uppercase;
  color:var(--blue-dp);transition:color .2s;position:relative;
}
body.ar .nav-links a{font-family:var(--font-ar);letter-spacing:0;font-size:13px;}
.nav-links a::after{
  content:'';position:absolute;bottom:-4px;left:0;right:0;
  height:1px;background:var(--gold);
  transform:scaleX(0);transition:transform .3s var(--ease);transform-origin:left;
}
.nav-links a:hover{color:var(--gold);}
.nav-links a:hover::after{transform:scaleX(1);}

.nav-logo{
  position:absolute;left:50%;transform:translateX(-50%);
  display:flex;align-items:center;gap:14px;
}
.logo-name{
  font-family:var(--font-title);
  font-size:18px;font-weight:700;letter-spacing:.04em;
  color:var(--blue-dp);display:block;line-height:1.2;
}
.logo-tagline{
  font-family:var(--font-body);
  font-size:9px;font-weight:700;
  letter-spacing:.28em;text-transform:uppercase;
  color:var(--gold);display:block;margin-top:3px;
}

.nav-right{display:flex;align-items:center;gap:20px;}
.nav-right a{
  font-family:var(--font-body);
  font-size:11px;font-weight:700;
  letter-spacing:var(--ls-caps);text-transform:uppercase;
  color:var(--blue-dp);transition:color .2s;
}
body.ar .nav-right a{font-family:var(--font-ar);letter-spacing:0;font-size:13px;}
.nav-right a:hover{color:var(--gold);}
.nav-cta{
  font-family:var(--font-body);
  font-size:10px;font-weight:700;
  letter-spacing:var(--ls-caps);text-transform:uppercase;
  padding:10px 22px;
  background:var(--blue);color:var(--white);
  border:1px solid var(--blue);transition:all .3s var(--ease);
}
body.ar .nav-cta{font-family:var(--font-ar);letter-spacing:0;font-size:13px;}
.nav-cta:hover{background:var(--gold);border-color:var(--gold);}

/* ── HERO ── */
.hero{
  margin-top:76px;position:relative;
  height:calc(100vh - 76px);min-height:640px;
  overflow:hidden;display:flex;align-items:flex-end;
}
.hero-bg{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center center;
  filter:var(--grade-hero);
}
.hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(10,42,90,.95) 0%,rgba(10,42,90,.55) 40%,rgba(10,42,90,.15) 72%,transparent 100%);
}
.hero-content{position:relative;z-index:2;padding:0 var(--pad) 88px;max-width:780px;}
.hero-eyebrow{
  font-family:var(--font-body);
  font-size:11px;font-weight:700;
  letter-spacing:var(--ls-caps);text-transform:uppercase;
  color:var(--gold-lt);
  display:flex;align-items:center;gap:14px;
  margin-bottom:28px;opacity:0;transform:translateY(20px);
}
body.ar .hero-eyebrow{font-family:var(--font-ar);letter-spacing:0;}
.hero-eyebrow::before{content:'';width:40px;height:1px;background:var(--gold);}

h1.hero-title{
  font-family:var(--font-title);
  font-size:clamp(48px,8vw,90px);
  font-weight:700;
  line-height:1.06;
  color:var(--white);
  letter-spacing:-.01em;
  margin-bottom:24px;
  opacity:0;transform:translateY(30px);
}
body.ar h1.hero-title{font-family:var(--font-ar);letter-spacing:0;line-height:1.3;}
h1.hero-title em{font-style:italic;color:var(--gold-lt);font-weight:600;}

.hero-sub{
  font-family:var(--font-body);
  font-size:17px;font-weight:300;
  line-height:1.75;
  color:rgba(255,255,255,.68);
  max-width:500px;margin-bottom:44px;
  opacity:0;transform:translateY(20px);
}
body.ar .hero-sub{font-family:var(--font-ar);font-size:18px;}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;opacity:0;}

.hero-badge{
  position:absolute;bottom:88px;right:var(--pad);z-index:2;
  border:1px solid rgba(184,150,62,.55);
  padding:22px 28px;text-align:center;
  backdrop-filter:blur(8px);
  background:rgba(10,42,90,.35);
  opacity:0;transform:translateY(20px);
}
body.ar .hero-badge{right:auto;left:var(--pad);}
.hero-badge-num{
  font-family:var(--font-title);
  font-size:54px;font-weight:700;
  color:var(--white);line-height:1;display:block;
}
.hero-badge-label{
  font-family:var(--font-body);
  font-size:9px;font-weight:700;
  letter-spacing:var(--ls-caps);text-transform:uppercase;
  color:var(--gold-lt);margin-top:6px;display:block;
}
body.ar .hero-badge-label{font-family:var(--font-ar);letter-spacing:0;font-size:12px;}
.hero-badge-stars{color:var(--gold);font-size:10px;letter-spacing:4px;margin-top:8px;display:block;}

.slide-dots{
  position:absolute;right:28px;top:50%;transform:translateY(-50%);
  z-index:3;display:flex;flex-direction:column;gap:10px;
}
body.ar .slide-dots{right:auto;left:28px;}
.dot{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.28);transition:background .3s;}
.dot.active{background:var(--gold);}

/* ── SPLIT ── */
.split{display:grid;grid-template-columns:1fr 1fr;min-height:560px;}
.split.reverse{direction:rtl;}
.split.reverse>*{direction:ltr;}
body.ar .split{direction:rtl;}
body.ar .split.reverse{direction:ltr;}
body.ar .split.reverse>*{direction:rtl;}
.split-img{overflow:hidden;}
.split-img img{width:100%;height:100%;object-fit:cover;filter:var(--grade);transition:transform .9s var(--ease);}
.split-img:hover img{transform:scale(1.04);}
.split-body{display:flex;flex-direction:column;justify-content:center;padding:88px 72px;background:var(--beige);}
.split.reverse .split-body{background:var(--white);}
.split-body h2{margin-bottom:24px;}
.split-body p{
  font-family:var(--font-body);
  font-size:16px;font-weight:300;
  line-height:1.85;color:var(--grey-text);margin-bottom:20px;
}
body.ar .split-body p{font-family:var(--font-ar);font-size:18px;}
.split-body .btn{margin-top:16px;}

/* ── INFO SECTION ── */
.info-section{
  padding:100px var(--pad);background:var(--blue-dp);
  display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;
}
.info-img-wrap{overflow:hidden;}
.info-img-wrap img{width:100%;display:block;filter:brightness(.95) contrast(1.05);}
.info-content .eyebrow{color:var(--gold-lt);}
.info-content h2{color:var(--white);margin-bottom:24px;}
.info-block{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:32px;}
.info-item{border-left:2px solid rgba(184,150,62,.4);padding-left:20px;}
.info-item-title{
  font-family:var(--font-body);
  font-size:11px;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;
  color:var(--gold-lt);display:block;margin-bottom:8px;
}
body.ar .info-item-title{font-family:var(--font-ar);letter-spacing:0;font-size:13px;}
.info-item-text{
  font-family:var(--font-body);
  font-size:14px;font-weight:300;
  color:rgba(255,255,255,.65);line-height:1.70;
}
body.ar .info-item-text{font-family:var(--font-ar);font-size:15px;}

/* ── LÉGENDE ── */
.legend{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:96px;padding:120px var(--pad);}
.legend-steps{list-style:none;display:flex;flex-direction:column;gap:32px;margin:32px 0 44px;}
.legend-steps li{display:flex;gap:24px;align-items:flex-start;}
.legend-steps .num{
  font-family:var(--font-title);font-size:14px;font-style:italic;
  color:var(--gold);min-width:20px;padding-top:4px;flex-shrink:0;
}
.legend-steps p{
  font-family:var(--font-body);font-size:16px;font-weight:300;
  line-height:1.80;color:var(--grey-text);
}
body.ar .legend-steps p{font-family:var(--font-ar);font-size:17px;}
.legend-steps em{font-style:italic;color:var(--blue-dp);font-weight:400;}
.legend-illustration{position:relative;overflow:hidden;background:#EEF4FC;}
.legend-illustration::after{
  content:'';position:absolute;top:-16px;right:-16px;bottom:16px;left:16px;
  border:1px solid rgba(26,111,212,.20);z-index:-1;
}

/* ── SERVICES ── */
.services{padding:120px var(--pad);background:var(--beige);}
.services-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:56px;}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;}
.service-card{background:var(--white);overflow:hidden;position:relative;transition:box-shadow .3s var(--ease);}
.service-card:hover{box-shadow:0 16px 48px rgba(26,111,212,.12);}
.service-card-img{width:100%;height:220px;object-fit:cover;filter:var(--grade);transition:transform .6s var(--ease);}
.service-card:hover .service-card-img{transform:scale(1.04);}
.service-card-body{padding:32px 28px 40px;}
.service-card-body .num{
  font-family:var(--font-body);font-size:11px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;
  color:var(--gold);display:block;margin-bottom:10px;
}
.service-card-body h3{
  font-family:var(--font-title);font-size:22px;font-weight:700;
  color:var(--blue-dp);margin-bottom:12px;line-height:1.25;
}
body.ar .service-card-body h3{font-family:var(--font-ar);}
.service-card-body p{
  font-family:var(--font-body);font-size:15px;font-weight:300;
  line-height:1.75;color:var(--grey-text);
}
body.ar .service-card-body p{font-family:var(--font-ar);font-size:16px;}
.service-card::after{
  content:'';position:absolute;bottom:0;left:0;right:0;
  height:2px;background:var(--blue);
  transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease);
}
.service-card:hover::after{transform:scaleX(1);}

/* ── ACCORDION ── */
.accordion{margin-top:56px;border-top:1px solid rgba(26,111,212,.15);}
.accordion-item{border-bottom:1px solid rgba(26,111,212,.15);}
.accordion-header{
  display:flex;justify-content:space-between;align-items:center;
  padding:22px 0;cursor:pointer;
  font-family:var(--font-title);font-size:19px;font-weight:600;
  color:var(--blue-dp);transition:color .2s;
}
body.ar .accordion-header{font-family:var(--font-ar);font-size:21px;}
.accordion-header:hover{color:var(--gold);}
.accordion-icon{
  width:28px;height:28px;border:1px solid rgba(26,111,212,.3);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;transition:all .3s var(--ease);
  font-size:18px;color:var(--blue);font-weight:300;
}
.accordion-item.open .accordion-icon{background:var(--blue);color:var(--white);transform:rotate(45deg);}
.accordion-body{max-height:0;overflow:hidden;transition:max-height .5s var(--ease),padding .3s;}
.accordion-item.open .accordion-body{max-height:200px;padding-bottom:24px;}
.accordion-body p{
  font-family:var(--font-body);font-size:15px;font-weight:300;
  line-height:1.80;color:var(--grey-text);
}
body.ar .accordion-body p{font-family:var(--font-ar);font-size:16px;}

/* ── COLLECTION — ONE unified beige ── */
.collection-section{padding:120px var(--pad);background:var(--beige);}
.collection-header{text-align:center;margin-bottom:64px;}
.collection-header .eyebrow{justify-content:center;}
.collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:52px;}
.watch-card{
  background:var(--beige);   /* same beige — no contrast */
  border:1px solid rgba(26,111,212,.10);
  overflow:hidden;transition:all .3s var(--ease);
}
.watch-card:hover{border-color:var(--blue);box-shadow:0 12px 40px rgba(26,111,212,.10);transform:translateY(-4px);}
.watch-card-img-wrap{
  width:100%;height:240px;
  background:var(--beige);   /* unified beige */
  display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.watch-card-img{width:auto;height:200px;object-fit:contain;transition:transform .5s var(--ease);}
.watch-card:hover .watch-card-img{transform:scale(1.06);}
.watch-card-body{padding:24px 24px 32px;background:var(--white);}
.watch-badge{
  display:inline-block;
  font-family:var(--font-body);font-size:10px;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;
  color:var(--white);background:var(--blue);
  padding:4px 12px;margin-bottom:12px;
}
body.ar .watch-badge{font-family:var(--font-ar);letter-spacing:0;font-size:12px;}
.watch-card-body h3{
  font-family:var(--font-title);font-size:20px;font-weight:700;
  color:var(--blue-dp);margin-bottom:8px;
}
body.ar .watch-card-body h3{font-family:var(--font-ar);}
.watch-price-range{
  font-family:var(--font-body);font-size:14px;font-weight:700;
  color:var(--gold);margin-bottom:14px;display:block;letter-spacing:.04em;
}
.watch-meta{display:flex;flex-direction:column;gap:4px;margin-bottom:20px;}
.watch-meta span{
  font-family:var(--font-body);font-size:13px;font-weight:300;color:var(--grey-text);
}
body.ar .watch-meta span{font-family:var(--font-ar);font-size:14px;}
.collection-cta{text-align:center;}

/* ── FULLSCREEN ── */
.fullscreen-block{position:relative;height:75vh;min-height:480px;overflow:hidden;display:flex;align-items:center;}
.fullscreen-block img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:var(--grade-full);}
.fullscreen-overlay{
  position:absolute;inset:0;
  background:linear-gradient(110deg,rgba(10,42,90,.88) 0%,rgba(10,42,90,.25) 65%,transparent 100%);
}
.fullscreen-content{position:relative;z-index:2;padding:0 var(--pad);max-width:600px;}
.fullscreen-content .eyebrow{color:var(--gold-lt);}
.fullscreen-content h2{color:var(--white);margin-bottom:22px;}
.fullscreen-content p{
  font-family:var(--font-body);font-size:16px;font-weight:300;
  color:rgba(255,255,255,.65);line-height:1.85;margin-bottom:36px;
}
body.ar .fullscreen-content p{font-family:var(--font-ar);font-size:17px;}

/* ── ENGAGEMENTS ── */
.engagements{padding:120px var(--pad);background:var(--white);}
.engagements-header{text-align:center;margin-bottom:72px;}
.engagements-header .eyebrow{justify-content:center;}
.engagements-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:56px;}
.engage-line{width:28px;height:2px;background:var(--blue);margin-bottom:24px;}
.engage-title{
  font-family:var(--font-title);font-size:20px;font-weight:700;
  color:var(--blue-dp);margin-bottom:14px;line-height:1.3;
}
body.ar .engage-title{font-family:var(--font-ar);}
.engage-text{
  font-family:var(--font-body);font-size:15px;font-weight:300;
  line-height:1.80;color:var(--grey-text);
}
body.ar .engage-text{font-family:var(--font-ar);font-size:16px;}

/* ── RDV ── */
.rdv-section{padding:100px var(--pad);background:var(--beige);}
.rdv-section .eyebrow,.rdv-section h2{margin-bottom:14px;}
.rdv-section>p.body-copy{margin-bottom:48px;max-width:640px;}
.rdv-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:64px;align-items:start;}

.cal-widget{background:var(--white);padding:28px;border:1px solid rgba(26,111,212,.12);}
.cal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;}
.cal-month{
  font-family:var(--font-title);font-size:18px;font-weight:700;
  color:var(--blue-dp);letter-spacing:.02em;
}
body.ar .cal-month{font-family:var(--font-ar);}
.cal-nav-btn{
  background:none;border:1px solid rgba(26,111,212,.25);
  width:30px;height:30px;color:var(--blue);cursor:pointer;
  font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .2s;
}
.cal-nav-btn:hover{background:var(--blue);color:var(--white);}
.cal-days-hdr{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:6px;}
.cal-days-hdr span{
  font-family:var(--font-body);font-size:10px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;
  color:var(--grey-text);text-align:center;padding:4px 0;
}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;}
.cal-day{
  aspect-ratio:1;display:flex;align-items:center;justify-content:center;
  font-family:var(--font-body);font-size:13px;font-weight:400;
  color:var(--blue-dp);cursor:pointer;border:1px solid transparent;transition:all .2s;
}
.cal-day:hover{border-color:var(--blue);color:var(--blue);}
.cal-day.selected{background:var(--blue);color:var(--white);}
.cal-day.today{border-color:var(--gold);color:var(--gold);}
.cal-day.empty,.cal-day.past{color:rgba(90,100,114,.3);cursor:default;pointer-events:none;}

.slots-widget{background:var(--white);padding:24px;border:1px solid rgba(26,111,212,.12);margin-top:14px;}
.slots-label{
  font-family:var(--font-body);font-size:11px;font-weight:700;
  letter-spacing:var(--ls-caps);text-transform:uppercase;
  color:var(--gold);display:block;margin-bottom:14px;
}
body.ar .slots-label{font-family:var(--font-ar);letter-spacing:0;font-size:13px;}
.slots-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;}
.slot-btn{
  font-family:var(--font-body);font-size:13px;font-weight:400;
  padding:9px 4px;border:1px solid rgba(26,111,212,.22);
  color:var(--blue-dp);background:none;cursor:pointer;transition:all .2s;text-align:center;
}
.slot-btn:hover,.slot-btn.selected{background:var(--blue);color:var(--white);border-color:var(--blue);}

/* ── FORM ── */
.rdv-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.form-group{display:flex;flex-direction:column;gap:6px;}
.form-group.full{grid-column:1/-1;}
.form-group label{
  font-family:var(--font-body);font-size:10px;font-weight:700;
  letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--blue-dp);
}
body.ar .form-group label{font-family:var(--font-ar);letter-spacing:0;font-size:12px;}
.form-group input,.form-group textarea,.form-group select{
  font-family:var(--font-body);font-size:15px;font-weight:300;
  color:var(--blue-dp);border:1px solid rgba(26,111,212,.22);
  padding:11px 13px;background:var(--white);outline:none;
  transition:border-color .2s;width:100%;
}
body.ar .form-group input,body.ar .form-group textarea{
  font-family:var(--font-ar);font-size:16px;text-align:right;
}
.form-group input:focus,.form-group textarea:focus{border-color:var(--blue);}
.form-group textarea{resize:vertical;min-height:88px;}
.form-submit-wrap{grid-column:1/-1;margin-top:6px;}

/* ── VALIDATION STYLES ── */
.form-group input.error,.form-group textarea.error{border-color:#C0392B;background:rgba(192,57,43,.03);}
.form-group input.valid,.form-group textarea.valid{border-color:#27AE60;}
.field-error{
  font-family:var(--font-body);font-size:12px;font-weight:400;
  color:#C0392B;margin-top:4px;display:none;
}
.field-error.show{display:block;}
body.ar .field-error{font-family:var(--font-ar);font-size:13px;text-align:right;}
.phone-counter{
  font-family:var(--font-body);font-size:11px;
  color:var(--grey-text);text-align:right;
  margin-top:3px;display:block;letter-spacing:.04em;
}
.phone-counter.over{color:#C0392B;font-weight:700;}
.slot-date-errors{
  display:none;
  background:rgba(192,57,43,.06);border:1px solid rgba(192,57,43,.3);
  padding:11px 14px;margin-bottom:14px;
  font-family:var(--font-body);font-size:13px;font-weight:400;color:#C0392B;
}
.slot-date-errors.show{display:block;}
body.ar .slot-date-errors{font-family:var(--font-ar);font-size:14px;text-align:right;}

.form-confirmation{
  display:none;text-align:center;padding:44px 28px;
  background:var(--white);border:1px solid rgba(26,111,212,.15);
}
.form-confirmation.show{display:block;}
.conf-icon{font-size:44px;margin-bottom:18px;display:block;}
.conf-title{
  font-family:var(--font-title);font-size:26px;font-weight:700;
  color:var(--blue-dp);margin-bottom:12px;
}
body.ar .conf-title{font-family:var(--font-ar);}
.conf-sub{
  font-family:var(--font-body);font-size:15px;font-weight:300;
  color:var(--grey-text);line-height:1.75;
}
body.ar .conf-sub{font-family:var(--font-ar);font-size:16px;}

/* ── LOCALISATION ── */
.location-section{display:grid;grid-template-columns:1fr 1fr;min-height:540px;}
.location-map iframe{width:100%;height:100%;border:0;display:block;}
.location-info{background:var(--blue-dp);padding:88px 72px;display:flex;flex-direction:column;justify-content:center;}
.location-info .eyebrow{color:var(--gold-lt);}
.location-info h2{color:var(--white);margin-bottom:36px;}
.location-details{display:flex;flex-direction:column;gap:26px;}
.location-item{display:flex;gap:18px;align-items:flex-start;}
.location-icon{
  width:34px;height:34px;border:1px solid rgba(184,150,62,.4);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;
}
.location-icon svg{width:15px;height:15px;fill:var(--gold);}
.loc-label{
  font-family:var(--font-body);font-size:10px;font-weight:700;
  letter-spacing:var(--ls-caps);text-transform:uppercase;
  color:var(--gold);display:block;margin-bottom:5px;
}
body.ar .loc-label{font-family:var(--font-ar);letter-spacing:0;font-size:12px;}
.loc-val{
  font-family:var(--font-body);font-size:15px;font-weight:300;
  color:rgba(255,255,255,.75);line-height:1.60;
}
body.ar .loc-val{font-family:var(--font-ar);font-size:16px;}
.location-cta{margin-top:40px;}

/* ── FOOTER ── */
footer{background:var(--blue-dp);padding:88px var(--pad) 44px;}
.footer-top{
  display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;
  gap:64px;margin-bottom:56px;padding-bottom:56px;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.footer-brand p{
  font-family:var(--font-body);font-size:15px;font-weight:300;
  color:rgba(255,255,255,.40);line-height:1.80;
  margin-top:18px;max-width:280px;
}
body.ar .footer-brand p{font-family:var(--font-ar);font-size:16px;}
.footer-col h4{
  font-family:var(--font-body);font-size:9px;font-weight:700;
  letter-spacing:var(--ls-caps);text-transform:uppercase;
  color:var(--gold);margin-bottom:22px;
}
body.ar .footer-col h4{font-family:var(--font-ar);letter-spacing:0;font-size:12px;}
.footer-col a{
  display:block;font-family:var(--font-body);font-size:14px;font-weight:300;
  color:rgba(255,255,255,.48);margin-bottom:11px;transition:color .2s;
}
body.ar .footer-col a{font-family:var(--font-ar);font-size:15px;}
.footer-col a:hover{color:rgba(255,255,255,.90);}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;}
.footer-copy{
  font-family:var(--font-body);font-size:12px;font-weight:300;
  letter-spacing:.06em;color:rgba(255,255,255,.22);
}
.footer-sig{
  font-family:var(--font-title);font-size:15px;font-style:italic;
  color:rgba(184,150,62,.40);
}

/* ── GSAP STATES ── */
.gsap-up{opacity:0;transform:translateY(40px);}
.gsap-left{opacity:0;transform:translateX(-40px);}
.gsap-right{opacity:0;transform:translateX(40px);}
.gsap-fade{opacity:0;}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  :root{--pad:48px;}
  .engagements-grid{grid-template-columns:repeat(2,1fr);gap:40px;}
  .footer-top{grid-template-columns:1fr 1fr;gap:44px;}
  .rdv-grid{grid-template-columns:1fr;gap:48px;}
  .info-section{grid-template-columns:1fr;gap:48px;}
  .collection-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:768px){
  :root{--pad:24px;}
  .nav-links{display:none;}
  .nav-logo{position:relative;left:auto;transform:none;}
  .legend,.split,.location-section{grid-template-columns:1fr;}
  .split.reverse{direction:ltr;}
  .split-img{height:320px;}
  .split-body{padding:52px 24px;}
  .services-grid{grid-template-columns:1fr;}
  .services-header{flex-direction:column;align-items:flex-start;gap:20px;}
  .engagements-grid{grid-column:1fr;gap:36px;}
  .footer-top{grid-template-columns:1fr;gap:36px;}
  .hero-badge{display:none;}
  .footer-bottom{flex-direction:column;gap:12px;text-align:center;}
  .location-info{padding:52px 24px;}
  .slots-grid{grid-template-columns:repeat(2,1fr);}
  .collection-grid{grid-template-columns:1fr;}
  .rdv-form{grid-template-columns:1fr;}
  .form-group.full{grid-column:1;}
  .nav-lang{margin-left:4px;}
}
