/* Urgent bar (identique au site principal) */
.urgent-bar-ll{background:var(--ink); color:#DCE6F0; font-size:0.82rem; padding:9px 0;}
.urgent-bar-ll .wrap{display:flex; align-items:center; justify-content:center; gap:10px; flex-wrap:wrap; text-align:center;}
.urgent-bar-ll strong{color:var(--white);}
.urgent-bar-ll a{font-weight:800; color:var(--orange); margin-left:4px;}
.live-dot-ll{width:7px;height:7px;border-radius:50%;background:var(--orange); display:inline-block; animation:pulse-dot-ll 1.8s infinite;}
@keyframes pulse-dot-ll{
  0%{box-shadow:0 0 0 0 rgba(242,115,46,0.55);}
  70%{box-shadow:0 0 0 7px rgba(242,115,46,0);}
  100%{box-shadow:0 0 0 0 rgba(242,115,46,0);}
}

/* Sticky header (identique au site principal : fond sombre) */
.site-header{position:sticky; top:0; z-index:100; background:#0B1622; border-bottom:1px solid rgba(242,115,46,0.25);}
.headbar{display:flex; align-items:center; justify-content:space-between; padding:14px 24px; max-width:1120px; margin:0 auto; gap:16px;}
.logo-link img{height:44px; width:auto; display:block;}
.main-nav-lg{display:flex; gap:22px;}
.main-nav-lg a{font-size:0.9rem; font-weight:600; color:#C9D7E8;}
.main-nav-lg a:hover{color:var(--white);}
.main-nav-lg a[aria-disabled]{color:#5C6C7C; cursor:default; pointer-events:none;}
.head-actions-lg{display:flex; align-items:center; gap:16px;}
.head-phone-lg{font-weight:800; color:var(--white); font-size:0.95rem;}
.btn-urgent{background:var(--orange); color:var(--white); font-weight:700; font-size:0.85rem; padding:10px 18px; border-radius:8px;}
.btn-urgent:hover{background:var(--orange-dark);}
.burger{display:none; background:none; border:none; font-size:1.4rem; cursor:pointer; color:var(--white);}
.mobile-nav{display:none; flex-direction:column; border-top:1px solid rgba(255,255,255,0.1); padding:8px 24px; background:#0B1622;}
.mobile-nav a{padding:12px 0; font-weight:600; font-size:0.92rem; border-bottom:1px solid rgba(255,255,255,0.1); color:#C9D7E8;}
.mobile-nav.open{display:flex;}

/* Hero */
.ll-hero{padding:56px 0;}
.ll-hero-grid{display:grid; grid-template-columns:1.1fr 0.9fr; gap:40px; align-items:center;}
.ll-hero h1{font-size:clamp(1.9rem,3.6vw,2.6rem); line-height:1.15;}
.ll-hero-sub{margin-top:16px; color:var(--ink-soft); font-size:1.02rem; max-width:52ch;}
.ll-hero-ctas{margin-top:26px; display:flex; gap:14px; flex-wrap:wrap;}
.ll-hero-art svg{width:100%; height:auto;}
.ll-hero-photo{border-radius:16px; overflow:hidden; box-shadow:0 20px 44px -18px rgba(11,79,158,0.35);}
.artisan-banner{width:100%; height:auto; display:block; border-radius:16px; box-shadow:0 20px 44px -18px rgba(11,79,158,0.35);}
.ll-hero-photo img{width:100%; height:100%; min-height:320px; max-height:420px; object-fit:cover; display:block;}

/* Trust badges */
.ll-trust{padding:32px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.ll-trust-row{display:flex; flex-wrap:wrap; gap:28px; justify-content:center;}
.trust-item{display:flex; align-items:center; gap:8px; font-size:0.9rem; font-weight:600; color:var(--ink);}
.trust-item svg{width:20px; height:20px; color:var(--blue); flex:none;}

.ll-intro{color:var(--ink-soft); margin-top:12px; max-width:70ch; font-size:0.98rem;}

/* Bannière CTA finale (identique dans l'esprit à .pro-band de l'accueil) */
.cta-band{background:var(--blue); color:var(--white); text-align:center; border-radius:16px; padding:48px 32px;}
.cta-band h2{color:var(--white);}
.cta-band p{color:#DCE9FA; margin-top:10px; max-width:50ch; margin-left:auto; margin-right:auto;}

/* Bloc FAQ (les <details>/<summary> sont déjà stylés globalement) */
.faq-block{border-top:1px solid var(--line);}

/* Prix : chaque intervention entourée d'un carré orange */
.price-table-wrap{border-radius:12px; overflow-x:auto;}
table.price-table{width:100%; border-collapse:separate; border-spacing:0 10px;}
table.price-table thead th{background:var(--blue-pale); text-align:left; padding:14px 18px; font-size:0.82rem; color:var(--blue-dark); font-weight:700;}
table.price-table tbody td{padding:16px 18px; border-top:2px solid var(--orange); border-bottom:2px solid var(--orange); font-size:0.92rem; vertical-align:middle; background:var(--white);}
table.price-table tbody td:first-child{border-left:2px solid var(--orange); border-radius:8px 0 0 8px;}
table.price-table tbody td:last-child{border-right:2px solid var(--orange); border-radius:0 8px 8px 0;}
table.price-table tbody tr:hover td{background:var(--blue-pale);}
table.price-table .amt{font-family:'Space Grotesk',sans-serif; font-weight:700; white-space:nowrap; color:var(--blue);}
table.price-table td.name{font-weight:700; color:var(--ink);}
.price-cards{display:none;}
@media (max-width:720px){
  table.price-table{display:none;}
  .price-cards{display:flex; flex-direction:column; gap:12px;}
  .price-card{border:2px solid var(--orange); border-radius:12px; padding:16px 18px; background:var(--white);}
  .price-card .pc-top{display:flex; justify-content:space-between; align-items:flex-start; gap:10px;}
  .price-card .pc-name{font-weight:700; font-size:0.98rem; color:var(--ink);}
  .price-card .pc-desc{color:var(--ink-soft); font-size:0.85rem; margin-top:4px;}
  .price-card .pc-amt{font-family:'Space Grotesk',sans-serif; font-weight:700; white-space:nowrap; color:var(--blue);}
}

/* Service carousel : défilement horizontal, flèches, glisser-déposer */
.ll-carousel{position:relative; margin-top:32px;}
.ll-svc-grid{
  display:flex; gap:18px; overflow-x:auto; scroll-snap-type:x proximity; scroll-behavior:smooth;
  padding-bottom:6px; margin:0; cursor:grab; -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.ll-svc-grid::-webkit-scrollbar{display:none;}
.ll-svc-grid.dragging{cursor:grabbing; scroll-snap-type:none;}
.ll-svc-card{
  border:1px solid var(--line); border-radius:12px; padding:20px; display:flex; flex-direction:column; gap:8px;
  flex:0 0 260px; scroll-snap-align:start; background:var(--white);
}
.ll-svc-card h3{font-size:1rem;}
.ll-svc-card p{color:var(--ink-soft); font-size:0.86rem; flex:1;}
.ll-svc-card a{font-size:0.84rem; font-weight:800; color:var(--blue);}
.ll-badge{display:inline-block; font-size:0.65rem; font-weight:800; padding:3px 8px; border-radius:20px; width:fit-content;}
.ll-badge.urgence{background:#FDE8DC; color:var(--orange);}
.ll-badge.rdv{background:var(--blue-pale); color:var(--blue);}
.ll-car-arrow{
  position:absolute; top:50%; transform:translateY(-50%); width:40px; height:40px; border-radius:50%;
  border:1px solid var(--line); background:var(--white); color:var(--ink); font-size:1.4rem; line-height:1;
  display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:5;
  box-shadow:0 6px 16px -6px rgba(0,0,0,0.2);
}
.ll-car-arrow:hover{border-color:var(--blue); color:var(--blue);}
.ll-car-arrow.prev{left:-14px;}
.ll-car-arrow.next{right:-14px;}
.ll-car-arrow[disabled]{opacity:0.35; cursor:default; pointer-events:none;}
@media (max-width:720px){
  .ll-car-arrow{display:none;}
  .ll-svc-card{flex-basis:78vw;}
}

/* Intervention form */
.ll-form-section{background:var(--blue-pale);}
.ll-form{max-width:640px; margin-top:28px; background:var(--white); border-radius:16px; padding:28px; border:1px solid var(--line);}
.ll-step-label{font-size:0.78rem; font-weight:700; color:var(--orange); margin-bottom:6px;}
.ll-step h3{font-size:1.1rem; margin-bottom:16px;}
.ll-choice-grid{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
.ll-date-field{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:14px;}
.ll-date-field[hidden]{display:none;}
.ll-estimate{
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  background:var(--blue-pale); border:1px solid var(--blue); border-radius:10px;
  padding:14px 16px; margin-top:16px;
}
.ll-estimate[hidden]{display:none;}
.ll-estimate-label{display:block; font-size:0.82rem; font-weight:700; color:var(--ink);}
.ll-estimate-note{display:block; font-size:0.74rem; color:var(--ink-soft); margin-top:2px;}
.ll-estimate-amt{font-family:'Space Grotesk',sans-serif; font-weight:800; font-size:1.15rem; color:var(--blue); white-space:nowrap;}
.ll-estimate-recap{margin-top:0; margin-bottom:20px;}
.ll-choice{border:1px solid var(--line); border-radius:8px; padding:12px 14px; display:flex; align-items:center; gap:10px; cursor:pointer; font-size:0.88rem;}
.ll-choice:has(input:checked){border-color:var(--blue); background:var(--blue-pale);}
.ll-form .btn, .ll-form .btn.outline{margin-top:20px; margin-right:10px;}
.ll-form-note{color:#C0392B; font-size:0.85rem; margin-top:14px;}

/* Advantages */
.adv-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:28px;}
.adv-card{background:var(--blue-pale); border-radius:10px; padding:18px; font-size:0.92rem; font-weight:600; color:var(--ink);}

/* How it works */
.how-steps-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:28px;}
.how-step{background:var(--white); border-radius:12px; padding:20px; border:1px solid var(--line);}
.how-num{display:inline-flex; width:30px; height:30px; border-radius:50%; background:var(--blue); color:var(--white); align-items:center; justify-content:center; font-weight:800; font-size:0.9rem;}
.how-step h3{font-size:0.98rem; margin-top:12px;}
.how-step p{color:var(--ink-soft); font-size:0.85rem; margin-top:6px;}

/* City chips */
.city-chip-grid{display:flex; flex-wrap:wrap; gap:10px; margin-top:24px;}
.city-chip{border:1px solid var(--line); border-radius:20px; padding:9px 18px; font-size:0.88rem; font-weight:600; color:var(--ink);}
.city-chip:hover{border-color:var(--blue); color:var(--blue);}

.ll-seo h3{font-size:1.05rem; margin-top:22px;}
.ll-seo p{color:var(--ink-soft); margin-top:8px; max-width:76ch; font-size:0.95rem;}

/* Footer variant */
.foot-grid-ll{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr 1fr; gap:28px;}
.foot-grid-ll h4{color:var(--white); font-size:0.8rem; margin-bottom:12px;}
.foot-grid-ll ul{display:flex; flex-direction:column; gap:8px; list-style:none; padding:0; margin:0;}
.foot-grid-ll a, .foot-grid-ll li{font-size:0.85rem; color:#9DB0C2;}
.foot-grid-ll a:hover{color:var(--white);}
.foot-bottom-ll{display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:0.8rem; margin-top:30px; padding-top:18px; border-top:1px solid rgba(255,255,255,0.1);}

/* Mobile fixed CTA bar */
.mobile-cta-bar{display:none; position:fixed; bottom:0; left:0; right:0; z-index:90; background:var(--white); border-top:1px solid var(--line); box-shadow:0 -6px 16px -8px rgba(0,0,0,0.15);}
.mobile-cta-bar a{flex:1; text-align:center; padding:14px 0; font-weight:700; font-size:0.9rem;}
.mobile-cta-bar a:first-child{color:var(--blue); border-right:1px solid var(--line);}
.mobile-cta-bar a:last-child{background:var(--orange); color:var(--white);}

@media (max-width:920px){
  .main-nav-lg, .head-actions-lg{display:none;}
  .burger{display:block;}
  .ll-hero-grid{grid-template-columns:1fr;}
  .ll-hero-art{order:-1; max-width:260px; margin:0 auto;}
  .ll-hero-art.ll-hero-photo{max-width:100%; width:100%;}
  .ll-hero-photo img{min-height:220px; max-height:280px;}
  .adv-grid, .how-steps-grid{grid-template-columns:1fr 1fr;}
  .foot-grid-ll{grid-template-columns:1fr 1fr;}
  .mobile-cta-bar{display:flex;}
  body{padding-bottom:54px;}
}
@media (max-width:600px){
  .ll-choice-grid, .adv-grid, .how-steps-grid{grid-template-columns:1fr;}
}

/* RTL (hébreu) */
html[dir="rtl"] table.price-table thead th{text-align:right;}
html[dir="rtl"] table.price-table tbody td:first-child{border-left:none; border-right:2px solid var(--orange); border-radius:0 8px 8px 0;}
html[dir="rtl"] table.price-table tbody td:last-child{border-right:none; border-left:2px solid var(--orange); border-radius:8px 0 0 8px;}
html[dir="rtl"] .ll-car-arrow.prev{left:auto; right:-14px;}
html[dir="rtl"] .ll-car-arrow.next{right:auto; left:-14px;}
html[dir="rtl"] .ll-svc-grid{direction:rtl;}
html[dir="rtl"] .urgent-bar-ll a{margin-left:0; margin-right:4px;}
html[dir="rtl"] .ll-form .btn, html[dir="rtl"] .ll-form .btn.outline{margin-right:0; margin-left:10px;}
html[dir="rtl"] .mobile-cta-bar a:first-child{border-right:none; border-left:1px solid var(--line);}
html[dir="rtl"] .cta-band p{direction:rtl;}
html[dir="rtl"] .ll-estimate{direction:rtl;}
html[dir="rtl"] .ll-choice:has(input:checked){direction:rtl;}


/* Bouton de chat flottant WhatsApp, présent sur tout le site */
.whatsapp-fab{
  position:fixed; bottom:22px; right:22px; left:auto; z-index:999;
  width:56px; height:56px; border-radius:50%;
  background:#25D366; display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 20px -6px rgba(0,0,0,0.4);
  transition:transform 0.2s ease;
}
.whatsapp-fab:hover{ transform:scale(1.08); }
@media (max-width:640px){
  .whatsapp-fab{ bottom:84px; right:16px; width:50px; height:50px; }
}
html[dir="rtl"] .whatsapp-fab{ right:auto; left:22px; }
@media (max-width:640px){
  html[dir="rtl"] .whatsapp-fab{ left:16px; right:auto; }
}

/* ---- Effets visuels (identiques à la page d'accueil) ---- */
html{scroll-behavior:smooth;}
.reveal{opacity:0; transform:translateY(22px); transition:opacity .7s cubic-bezier(.22,.9,.3,1), transform .7s cubic-bezier(.22,.9,.3,1);}
.reveal.reveal-visible{opacity:1; transform:translateY(0);}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .reveal, .reveal.reveal-visible{opacity:1; transform:none; transition:none;}
}

.price-card, .ll-svc-card, .how-step, .adv-card, .trust-item{transition:transform .28s cubic-bezier(.22,.9,.3,1), box-shadow .28s ease;}
.price-card:hover, .ll-svc-card:hover{transform:translateY(-5px); box-shadow:0 16px 30px -12px rgba(11,79,158,0.22);}
.how-step:hover{transform:translateY(-4px); box-shadow:0 14px 26px -12px rgba(15,23,42,0.16);}
.how-num{transition:transform .35s cubic-bezier(.34,1.56,.64,1);}
.how-step:hover .how-num{transform:scale(1.12) rotate(-4deg);}

.btn{position:relative; overflow:hidden; transition:transform .18s ease, box-shadow .18s ease, background .15s;}
.btn:hover{transform:translateY(-2px); box-shadow:0 10px 22px -8px rgba(242,115,46,0.45);}
.btn:active{transform:translateY(0) scale(0.97);}
.btn-ripple{position:absolute; border-radius:50%; background:rgba(255,255,255,0.55); transform:scale(0); animation:btnRipple .55s ease-out; pointer-events:none;}
@keyframes btnRipple{ to{ transform:scale(2.6); opacity:0; } }

.whatsapp-fab:hover{ transform:scale(1.08) rotate(6deg); }
.ll-choice{transition:transform .18s ease, border-color .18s ease, background .18s ease;}
.ll-choice:hover{border-color:var(--blue); transform:translateY(-1px);}
.city-chip{transition:transform .18s ease, border-color .18s ease, color .18s ease;}
.city-chip:hover{transform:translateY(-2px);}
#faq details summary, .faq-block summary{cursor:pointer; transition:color .2s ease;}
#faq details[open] summary, .faq-block details[open] summary{color:var(--blue);}
