/* DesClics INFO — style.css v9 */
@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&family=Exo+2:wght@300;400;600&display=swap');
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
:root{
  --cyan:#00d4ff;
  --bg:#04080f;--bg2:#080d1a;--bg3:#0d1528;
  --text:#f0f8ff;          /* blanc pur légèrement bleuté — textes principaux */
  --text2:#d8eeff;         /* blanc atténué — sous-titres, descriptions */
  --muted:#a0c8e0;         /* bleu-gris clair — éléments secondaires uniquement */
  --hint:#6a9ab8;          /* labels, meta — petit texte de guidage */
  --border:rgba(0,180,255,.15);
  --grid:rgba(0,180,255,.05);
  --green:#00ff88;
  --font-display:'Orbitron',monospace;
  --font-body:'Exo 2',sans-serif;
}
html{scroll-behavior:smooth;}
body{font-family:var(--font-body);background:var(--bg);color:var(--text);font-size:17px;line-height:1.8;overflow-x:hidden;}
body::before{content:'';position:fixed;inset:0;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:40px 40px;pointer-events:none;z-index:0;}
section,nav,footer{position:relative;z-index:1;}
a{color:inherit;text-decoration:none;}
/* Paragraphes globaux : blanc atténué, lisible */
p{font-size:16px;color:var(--text2);line-height:1.9;}
strong{color:var(--text);}

/* Tahoma — téléphones et numéros département */
.tahoma,a[href^="tel"]{font-family:Tahoma,Geneva,Verdana,sans-serif;letter-spacing:.5px;}

/* ── NAV ── */
nav{display:flex;align-items:center;justify-content:space-between;padding:1rem 2.5rem;border-bottom:1px solid var(--border);background:rgba(4,8,15,.97);position:sticky;top:0;z-index:200;gap:1rem;}
.logo{font-family:var(--font-display);font-weight:900;font-size:1.15rem;letter-spacing:3px;color:var(--cyan);white-space:nowrap;flex-shrink:0;}
.logo a{color:inherit;}
.logo span{color:var(--text);}
.nav-right{display:flex;align-items:center;gap:0;margin-left:auto;}
.nav-links{display:flex;list-style:none;gap:0;align-items:center;}
.nav-links li a{color:var(--text2);font-size:13px;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;padding:.5rem .85rem;display:block;transition:color .2s;}
.nav-links li a:hover,.nav-links li a.active{color:var(--cyan);}
.btn-client{background:var(--cyan);color:#04080f;padding:.5rem 1.2rem;font-family:var(--font-body);font-size:13px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;border:none;cursor:pointer;white-space:nowrap;margin-left:1.2rem;transition:all .2s;flex-shrink:0;}
.btn-client:hover{background:#fff;}
.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;background:transparent;border:1px solid var(--border);cursor:pointer;padding:6px;margin-left:1rem;flex-shrink:0;}
.hamburger span{display:block;height:1.5px;background:var(--cyan);transition:all .3s;}
.hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}
.mobile-menu{display:none;position:absolute;top:100%;left:0;right:0;background:rgba(4,8,15,.99);border-bottom:1px solid var(--border);flex-direction:column;padding:1rem 2rem 1.5rem;gap:.2rem;z-index:199;}
.mobile-menu.open{display:flex;}
.mobile-menu a{color:var(--text2);font-size:15px;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;padding:.75rem 0;border-bottom:1px solid rgba(0,180,255,.07);transition:color .2s;}
.mobile-menu a:hover{color:var(--cyan);}
.btn-client-m{background:var(--cyan);color:#04080f;padding:.7rem 1rem;text-align:center;font-weight:700;letter-spacing:1.5px;border:none;margin-top:.8rem;cursor:pointer;font-family:var(--font-body);font-size:15px;text-transform:uppercase;width:100%;}

/* ── MODALE LOGIN ── */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(4,8,15,.88);z-index:1000;align-items:center;justify-content:center;padding:1rem;}
.modal-overlay.open{display:flex;}
.modal-box{background:var(--bg2);border:1px solid var(--border);padding:2.5rem;width:100%;max-width:440px;position:relative;animation:modalIn .25s ease;max-height:90vh;overflow-y:auto;}
@keyframes modalIn{from{opacity:0;transform:translateY(-20px);}to{opacity:1;transform:translateY(0);}}
.modal-close{position:absolute;top:1rem;right:1rem;background:transparent;border:none;color:var(--muted);font-size:18px;cursor:pointer;transition:color .2s;}
.modal-close:hover{color:var(--cyan);}
.modal-header{text-align:center;margin-bottom:1.8rem;}
.modal-icon{display:block;font-size:2rem;color:var(--cyan);margin-bottom:.6rem;}
.modal-header h3{font-family:var(--font-display);font-size:1rem;letter-spacing:2px;color:var(--cyan);margin-bottom:.3rem;}
.modal-header p{font-size:14px;color:var(--text2);}
.access-badge{display:flex;align-items:center;gap:.5rem;background:rgba(0,180,255,.06);border:1px solid var(--border);padding:.45rem .9rem;margin-bottom:1.5rem;font-size:14px;color:var(--text2);}
.access-badge::before{content:'';width:6px;height:6px;background:var(--green);border-radius:50%;flex-shrink:0;}

/* ── FORMULAIRES ── */
.form-group{margin-bottom:1.3rem;}
.form-group label{display:block;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:.45rem;}
.form-group input,.form-group textarea,.form-group select{width:100%;background:rgba(0,180,255,.04);border:1px solid var(--border);color:var(--text);padding:.75rem 1rem;font-family:var(--font-body);font-size:16px;outline:none;transition:border-color .2s;resize:vertical;}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--cyan);}
.form-group input::placeholder,.form-group textarea::placeholder{color:#4a6a7a;}
.form-group select option{background:var(--bg2);color:var(--text);}

/* ── BOUTONS ── */
.btn-primary{display:inline-block;background:var(--cyan);color:#04080f;padding:.8rem 2.2rem;font-family:var(--font-body);font-size:15px;font-weight:700;letter-spacing:1px;text-transform:uppercase;border:none;cursor:pointer;transition:all .2s;text-decoration:none;}
.btn-primary:hover{background:#fff;}
.btn-secondary{display:inline-block;background:transparent;border:1px solid var(--border);color:var(--text);padding:.8rem 2.2rem;font-family:var(--font-body);font-size:15px;font-weight:600;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:all .2s;text-decoration:none;}
.btn-secondary:hover{border-color:var(--cyan);color:var(--cyan);}
.btn-login{width:100%;background:var(--cyan);color:#04080f;padding:.8rem;font-family:var(--font-display);font-size:.9rem;font-weight:700;letter-spacing:2px;border:none;cursor:pointer;text-transform:uppercase;margin-top:.5rem;transition:all .2s;}
.btn-login:hover{background:#fff;}
.login-note{font-size:14px;color:var(--text2);text-align:center;margin-top:1rem;}
.login-note a{color:var(--cyan);}

/* ── SECTION HEAD ── */
.section-head{text-align:center;margin-bottom:3rem;}
.section-head .tag{font-size:13px;letter-spacing:3px;color:var(--cyan);text-transform:uppercase;margin-bottom:.7rem;}
.section-head h2{font-family:var(--font-display);font-size:clamp(1.4rem,3vw,2.1rem);font-weight:700;letter-spacing:1px;color:var(--text);}
.section-sub{font-size:16px;color:var(--text2);margin-top:.7rem;letter-spacing:.3px;}

/* ── GÉO ── */
.geo{padding:5rem 2rem;background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.geo-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;max-width:960px;margin:0 auto;}
.geo-svg{width:100%;max-width:320px;margin:0 auto;display:block;}
.geo-cities{display:flex;flex-direction:column;gap:1.2rem;}
.city-card{display:flex;align-items:flex-start;gap:1rem;padding:1.1rem 1.3rem;border:1px solid var(--border);background:rgba(0,180,255,.04);}
.city-dot{width:10px;height:10px;background:var(--cyan);margin-top:6px;flex-shrink:0;box-shadow:0 0 8px var(--cyan);}
.city-card h3{font-family:var(--font-display);font-size:.9rem;letter-spacing:1px;color:var(--cyan);margin-bottom:.3rem;}
.city-card p{font-size:15.5px;color:var(--text2);}

/* ── SERVICES ── */
.services{padding:5rem 2rem;}
.services-grid{max-width:1100px;margin:0 auto 1.5rem;display:grid;gap:1.2rem;}
.services-grid--3{grid-template-columns:repeat(3,1fr);}
.services-grid--2{grid-template-columns:repeat(2,1fr);}
.svc-card{border:1px solid var(--border);background:var(--bg3);overflow:hidden;transition:border-color .3s;display:flex;flex-direction:column;}
.svc-card:hover{border-color:var(--cyan);}
.svc-photo{position:relative;height:155px;background-size:cover;background-position:center;flex-shrink:0;}
.svc-photo-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,8,15,.2) 0%,rgba(4,8,15,.72) 100%);}
.svc-icon-abs{position:absolute;bottom:.8rem;right:1rem;font-size:2rem;z-index:1;}
.svc-body{padding:1.4rem 1.6rem;flex:1;}
.svc-body h3{font-family:var(--font-display);font-size:.9rem;letter-spacing:1px;color:var(--text);margin-bottom:.65rem;}
.svc-body p{font-size:15.5px;color:var(--text2);line-height:1.85;}
.svc-link{display:inline-block;margin-top:.9rem;font-size:14.5px;color:var(--cyan);letter-spacing:1px;font-weight:600;text-decoration:none;transition:opacity .2s;}
.svc-link:hover{opacity:.7;}
.svc-card--vet{border-color:rgba(0,220,130,.2);}
.svc-card--vet:hover{border-color:#00dc82;}

/* ── MATÉRIEL ── */
.materiel{padding:5rem 2rem;border-top:1px solid var(--border);}
.materiel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;max-width:1100px;margin:0 auto 3rem;}
.mat-card{border:1px solid var(--border);background:var(--bg);overflow:hidden;transition:border-color .3s;}
.mat-card:hover{border-color:var(--cyan);}
.mat-photo{position:relative;height:175px;background-size:cover;background-position:center;}
.mat-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,8,15,.2) 0%,rgba(4,8,15,.65) 100%);}
.mat-label{position:absolute;bottom:.8rem;left:1rem;font-family:var(--font-display);font-size:.82rem;letter-spacing:1.5px;color:var(--cyan);z-index:1;}
.mat-body{padding:1.4rem 1.5rem;}
.mat-body p{font-size:15.5px;color:var(--text2);margin-bottom:.9rem;line-height:1.85;}
.mat-list{list-style:none;margin-bottom:1.3rem;}
.mat-list li{font-size:15px;color:var(--text2);padding:.35rem 0 .35rem 1rem;border-bottom:1px solid rgba(0,180,255,.07);position:relative;}
.mat-list li::before{content:'›';color:var(--cyan);position:absolute;left:0;}
.btn-mat{display:inline-block;background:transparent;border:1px solid var(--border);color:var(--cyan);padding:.55rem 1.3rem;font-size:14px;font-weight:600;letter-spacing:1px;text-transform:uppercase;text-decoration:none;transition:all .2s;}
.btn-mat:hover{background:rgba(0,212,255,.1);border-color:var(--cyan);}
.materiel-conseil{display:flex;align-items:center;gap:2rem;background:rgba(0,180,255,.04);border:1px solid var(--border);padding:1.6rem 2rem;max-width:1100px;margin:0 auto;flex-wrap:wrap;}
.conseil-icon{font-size:2.2rem;flex-shrink:0;}
.conseil-text{flex:1;min-width:200px;}
.conseil-text strong{font-family:var(--font-display);font-size:.9rem;letter-spacing:1px;color:var(--cyan);display:block;margin-bottom:.5rem;}
.conseil-text p{font-size:15.5px;color:var(--text2);}

/* ── ENCART VÉTÉRINAIRE ── */
.vet-banner{border-top:1px solid rgba(0,220,130,.2);border-bottom:1px solid rgba(0,220,130,.2);background:var(--bg);}
.vet-banner-inner{display:grid;grid-template-columns:1fr 1fr;max-width:1200px;margin:0 auto;min-height:420px;}
.vet-banner-photo{position:relative;background-size:cover;background-position:center;min-height:320px;}
.vet-photo-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,8,15,.1) 0%,rgba(4,8,15,.5) 100%);}
.vet-banner-content{padding:3.5rem 3rem;display:flex;flex-direction:column;justify-content:center;background:var(--bg2);}
.vet-banner-content h2{font-family:var(--font-display);font-size:clamp(1.2rem,2.5vw,1.8rem);font-weight:700;line-height:1.3;margin:.8rem 0 1rem;color:var(--text);}
.vet-banner-content p{color:var(--text2);font-size:16px;line-height:1.9;margin-bottom:1.5rem;}
.btn-vet{display:inline-block;background:transparent;border:1px solid rgba(0,220,130,.4);color:#00dc82;padding:.75rem 1.6rem;font-size:15px;font-weight:600;letter-spacing:1px;text-decoration:none;transition:all .2s;align-self:flex-start;}
.btn-vet:hover{background:rgba(0,220,130,.1);border-color:#00dc82;}
.nav-vet{color:#00dc82 !important;}
.nav-vet:hover{opacity:.75;}

/* ── À PROPOS ── */
.about{padding:5rem 2rem;background:var(--bg2);border-top:1px solid var(--border);}
.about-inner{max-width:760px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;}
.about-text p{color:var(--text2);font-size:16px;line-height:1.9;margin-bottom:1rem;}
.about-stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.stat{text-align:center;padding:1.3rem;border:1px solid var(--border);}
.stat-num{font-family:var(--font-display);font-size:2.2rem;color:var(--cyan);font-weight:700;display:block;}
.stat-label{font-size:13px;letter-spacing:1px;color:var(--text2);text-transform:uppercase;}

/* ── CONTACT ── */
.contact{padding:5rem 2rem;border-top:1px solid var(--border);}
.contact-inner{max-width:660px;margin:0 auto;}
.contact-sub{color:var(--text2);font-size:16.5px;text-align:center;margin-bottom:2rem;line-height:1.85;}
.contact-info{display:flex;justify-content:center;gap:3rem;flex-wrap:wrap;margin-bottom:2.5rem;}
.ci-label{font-size:12.5px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:.3rem;}
.ci-val{font-family:var(--font-display);font-size:.95rem;color:var(--cyan);}
.ci-val a{color:var(--cyan);font-family:Tahoma,Geneva,Verdana,sans-serif;font-size:1.1rem;letter-spacing:.5px;}
.ci-addr{font-size:.85rem;font-family:var(--font-body);}
.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}

/* ── FOOTER ── */
footer{padding:1.6rem 2.5rem;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;font-size:13.5px;color:var(--text2);letter-spacing:.5px;flex-wrap:wrap;gap:.5rem;background:var(--bg2);}
.footer-links{display:flex;gap:1.5rem;flex-wrap:wrap;align-items:center;}
.footer-links a{color:var(--text2);transition:color .2s;}
.footer-links a:hover{color:var(--cyan);}
.footer-modal-btn{background:transparent;border:none;color:var(--text2);cursor:pointer;font-family:var(--font-body);font-size:13.5px;letter-spacing:.5px;padding:0;transition:color .2s;}
.footer-modal-btn:hover{color:var(--cyan);}

/* ── MODALES LÉGALES ── */
.modal-legal{max-width:640px !important;max-height:82vh;overflow-y:auto;}
.modal-legal-title{font-family:var(--font-display);font-size:1rem;letter-spacing:2px;color:var(--cyan);margin-bottom:1.5rem;padding-bottom:.8rem;border-bottom:1px solid var(--border);}
.modal-legal-body{font-size:15.5px;color:var(--text2);line-height:1.9;}
.modal-legal-body h4{font-family:var(--font-display);font-size:.82rem;letter-spacing:1px;color:var(--text);margin:1.3rem 0 .5rem;}
.modal-legal-body p{margin-bottom:.7rem;}
.credits-table{width:100%;border-collapse:collapse;font-size:15px;margin-top:1rem;}
.credits-table th{text-align:left;padding:.5rem .7rem;border-bottom:1px solid var(--border);font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);}
.credits-table td{padding:.5rem .7rem;border-bottom:1px solid rgba(0,180,255,.06);color:var(--text2);}
.credits-table a{color:var(--cyan);}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  .services-grid--3{grid-template-columns:1fr 1fr;}
  .vet-banner-inner{grid-template-columns:1fr;}
  .vet-banner-photo{min-height:240px;}
  .vet-banner-content{padding:2rem 1.5rem;}
}
@media(max-width:768px){
  .nav-links,.btn-client{display:none;}
  .hamburger{display:flex;}
  nav{padding:1rem 1.5rem;}
}
@media(max-width:640px){
  .geo-grid,.about-inner,.services-grid--3,.services-grid--2{grid-template-columns:1fr;}
  .contact-form-grid{grid-template-columns:1fr;}
  footer{flex-direction:column;text-align:center;}
}
