:root{--primary:#ef3b2d;--dark:#101828;--muted:#667085;--light:#f5f7fb;--line:#e4e7ec;--green:#12b76a;--blue:#155eef;--danger:#d92d20;--card:#ffffff}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:#fff;color:var(--dark)}a{color:inherit;text-decoration:none}main{min-height:70vh}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 6vw;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.brand{font-weight:900;font-size:24px;letter-spacing:-.04em}.brand-mark{display:inline-flex;background:var(--primary);color:#fff;border-radius:12px;padding:5px 8px;margin-right:4px}.topbar nav{display:flex;gap:16px;font-weight:700;font-size:14px}.hero{display:grid;grid-template-columns:1.35fr .65fr;gap:28px;align-items:center;padding:70px 6vw;background:radial-gradient(circle at top left,#fff1ef,transparent 35%),linear-gradient(135deg,#fff,#f8fafc)}.hero h1{font-size:clamp(38px,6vw,72px);line-height:.94;margin:12px 0;letter-spacing:-.06em}.hero p{font-size:19px;color:var(--muted);max-width:720px;line-height:1.6}.pill{display:inline-flex;align-items:center;border:1px solid #ffd1cc;background:#fff5f3;color:#b42318;border-radius:999px;padding:8px 12px;font-weight:800;font-size:13px}.pill.success{background:#ecfdf3;color:#027a48;border-color:#abefc6}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:14px;padding:12px 18px;font-weight:900;cursor:pointer;transition:.2s;min-height:44px}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--primary);color:#fff}.btn-dark{background:var(--dark);color:#fff}.btn-light{background:#fff;color:var(--dark);border:1px solid var(--line)}.btn-danger{background:var(--danger);color:#fff}.btn-whatsapp{background:#12b76a;color:#fff}.btn.full{width:100%}.btn.small{padding:8px 10px;border-radius:10px;min-height:34px;font-size:12px}.trust-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.trust-row span{background:#fff;border:1px solid var(--line);padding:10px 12px;border-radius:999px;font-size:14px;font-weight:800}.hero-card{background:#fff;border:1px solid var(--line);box-shadow:0 20px 50px rgba(16,24,40,.08);border-radius:28px;padding:28px}.hero-card h3{font-size:28px;margin:0 0 8px}.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.mini-stats div,.stat{background:var(--light);border:1px solid var(--line);border-radius:18px;padding:16px}.mini-stats strong,.stat strong{display:block;font-size:28px}.mini-stats span,.stat span,.muted{color:var(--muted)}.section{padding:46px 6vw}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.section h2,.section h1{font-size:34px;letter-spacing:-.04em;margin:0}.category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.category-card,.tech-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:0 8px 28px rgba(16,24,40,.04)}.category-card:hover,.tech-card:hover{border-color:#ffaaa2}.cat-icon{font-size:32px;display:block;margin-bottom:14px}.category-card strong{display:block;font-size:18px;margin-bottom:6px}.category-card small{color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.steps div{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px}.steps b{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border-radius:12px;background:var(--primary);color:#fff}.warning-box{margin:20px 6vw 60px;background:#111827;color:#fff;border-radius:28px;padding:28px}.warning-box p{color:#d0d5dd}.form-page{padding:44px 6vw;display:flex;justify-content:center;background:linear-gradient(135deg,#fff,#f8fafc)}.form-card{width:min(560px,100%);background:#fff;border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:0 18px 50px rgba(16,24,40,.08)}.form-card.wide{width:min(900px,100%)}.form-card h1{font-size:40px;letter-spacing:-.05em;margin:12px 0}.grid-form{display:grid;gap:12px}.grid-form label{font-weight:800}.grid-form input,.grid-form select,.grid-form textarea,.inline-form input,.inline-form select,.mini-form input,.mini-form select{width:100%;border:1px solid var(--line);border-radius:14px;padding:13px 14px;font:inherit;background:#fff}.grid-form textarea{resize:vertical}.notice{background:#fffbeb;border:1px solid #fedf89;color:#93370d;border-radius:16px;padding:14px;line-height:1.5}.inline-form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:center;margin-bottom:20px}.ticket-box{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:20px 0}.ticket-box div{background:var(--light);border:1px solid var(--line);border-radius:18px;padding:14px}.ticket-box span{display:block;color:var(--muted);font-size:13px}.ticket-box strong{display:block;margin-top:4px}.badge{display:inline-flex;border-radius:999px;background:#eef2ff;color:#3538cd;padding:5px 10px;font-weight:900;font-size:12px}.badge.ok{background:#ecfdf3;color:#027a48}.ticket-result{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.tech-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.avatar{width:56px;height:56px;border-radius:18px;background:var(--dark);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:24px}.footer{padding:30px 6vw;background:#101828;color:#fff;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer a{color:#fff;text-decoration:underline}.dash-body{display:grid;grid-template-columns:260px 1fr;min-height:100vh;background:#f8fafc}.sidebar{background:#101828;color:#fff;padding:18px;display:flex;flex-direction:column;gap:8px;position:sticky;top:0;height:100vh}.sidebar a{padding:12px 14px;border-radius:14px;color:#fff}.sidebar a:hover{background:rgba(255,255,255,.1)}.dash-brand{margin-bottom:10px}.dash-main{padding:22px;min-width:0}.dash-top{height:58px;background:#fff;border:1px solid var(--line);border-radius:20px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;margin-bottom:18px}.stats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:18px}.panel{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:0 8px 28px rgba(16,24,40,.03);overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.request-layout{display:grid;grid-template-columns:1.5fr .65fr;gap:18px;margin-bottom:18px}.admin-box{grid-template-columns:repeat(3,1fr)}.side-panel{align-self:start}.compact{gap:10px}.actions-cell{display:flex;flex-direction:column;gap:8px}.mini-form{display:flex;gap:6px;flex-wrap:wrap}.mini-form input,.mini-form select{padding:8px;border-radius:10px;font-size:12px}.alert{margin:16px 6vw;padding:14px 16px;border-radius:16px;font-weight:800}.dash-main>.alert{margin:0 0 16px}.alert-success{background:#ecfdf3;color:#027a48;border:1px solid #abefc6}.alert-danger{background:#fef3f2;color:#b42318;border:1px solid #fecdca}.profile-alert{border-radius:18px;padding:16px;margin-bottom:16px;display:flex;justify-content:space-between;gap:10px}.ok-bg{background:#ecfdf3;color:#027a48;border:1px solid #abefc6}.warn-bg{background:#fffbeb;color:#93370d;border:1px solid #fedf89}.check{display:flex;align-items:center;gap:10px}.check input{width:auto}.tech-mode .brand-mark{background:#155eef}@media(max-width:980px){.hero,.request-layout,.dash-body{grid-template-columns:1fr}.category-grid,.steps,.tech-grid{grid-template-columns:repeat(2,1fr)}.stats-grid{grid-template-columns:repeat(2,1fr)}.sidebar{position:relative;height:auto}.topbar{align-items:flex-start;flex-direction:column}.topbar nav{flex-wrap:wrap}.inline-form{grid-template-columns:1fr}.admin-box,.ticket-box{grid-template-columns:1fr}}@media(max-width:560px){.category-grid,.steps,.tech-grid{grid-template-columns:1fr}.hero{padding:36px 4vw}.section,.form-page{padding-left:4vw;padding-right:4vw}.hero h1{font-size:42px}.form-card h1{font-size:32px}.footer{display:block}.dash-main{padding:12px}.panel{padding:12px}th,td{padding:9px}.topbar{padding:12px 4vw}.stats-grid{grid-template-columns:1fr}.mini-stats{grid-template-columns:1fr}}
/* ================================
   HOME V2 - SOS KIN
================================ */

.home-v2 {
  background: #f6f8fb;
  color: #101828;
}

.home-hero-v2 {
  position: relative;
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 34px;
  align-items: center;
  padding: 76px 6vw 56px;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 18%, rgba(239, 59, 45, 0.16), transparent 32%),
    radial-gradient(circle at 88% 12%, rgba(21, 94, 239, 0.14), transparent 30%),
    linear-gradient(135deg, #ffffff 0%, #f8fafc 62%, #fff3f1 100%);
}

.home-hero-v2::before {
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  border-radius: 999px;
  right: -160px;
  bottom: -160px;
  background: rgba(239, 59, 45, 0.10);
}

.hero-left-v2,
.hero-right-v2 {
  position: relative;
  z-index: 1;
}

.hero-badge-v2 {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 9px 14px;
  border-radius: 999px;
  border: 1px solid #ffd1cc;
  background: rgba(255, 245, 243, 0.90);
  color: #b42318;
  font-weight: 900;
  font-size: 13px;
}

.pulse-dot {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #ef3b2d;
  box-shadow: 0 0 0 0 rgba(239, 59, 45, 0.55);
  animation: pulseSOS 1.4s infinite;
}

@keyframes pulseSOS {
  0% { box-shadow: 0 0 0 0 rgba(239, 59, 45, 0.55); }
  70% { box-shadow: 0 0 0 10px rgba(239, 59, 45, 0); }
  100% { box-shadow: 0 0 0 0 rgba(239, 59, 45, 0); }
}

.hero-left-v2 h1 {
  max-width: 850px;
  margin: 18px 0 18px;
  font-size: clamp(42px, 6.2vw, 82px);
  line-height: 0.92;
  letter-spacing: -0.07em;
}

.hero-left-v2 h1 span {
  display: block;
  color: #ef3b2d;
}

.hero-subtitle-v2 {
  max-width: 720px;
  margin: 0;
  color: #667085;
  font-size: 19px;
  line-height: 1.65;
}

.hero-actions-v2 {
  display: flex;
  gap: 13px;
  flex-wrap: wrap;
  margin-top: 26px;
}

.btn-main-v2,
.btn-secondary-v2,
.btn-dark-v2,
.btn-request-tech-v2 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 13px 19px;
  border-radius: 16px;
  border: none;
  font-weight: 950;
  cursor: pointer;
  text-decoration: none;
  transition: 0.2s ease;
}

.btn-main-v2:hover,
.btn-secondary-v2:hover,
.btn-dark-v2:hover,
.btn-request-tech-v2:hover {
  transform: translateY(-2px);
}

.btn-main-v2 {
  background: #ef3b2d;
  color: #ffffff;
  box-shadow: 0 14px 28px rgba(239, 59, 45, 0.22);
}

.btn-secondary-v2 {
  background: #ffffff;
  color: #101828;
  border: 1px solid #e4e7ec;
}

.btn-dark-v2 {
  width: 100%;
  background: #101828;
  color: #ffffff;
}

.hero-trust-v2 {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 26px;
}

.hero-trust-v2 div {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 13px;
  border-radius: 999px;
  border: 1px solid #e4e7ec;
  background: rgba(255,255,255,0.90);
  color: #344054;
  font-weight: 850;
  font-size: 14px;
}

.hero-trust-v2 strong {
  color: #12b76a;
}

.emergency-card-v2 {
  padding: 28px;
  border-radius: 32px;
  background: rgba(255,255,255,0.94);
  border: 1px solid #e4e7ec;
  box-shadow: 0 28px 70px rgba(16, 24, 40, 0.13);
}

.emergency-top-v2 {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
}

.emergency-top-v2 span {
  display: block;
  color: #ef3b2d;
  font-weight: 950;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.emergency-top-v2 h3 {
  margin: 4px 0 0;
  font-size: 30px;
  line-height: 1;
  letter-spacing: -0.04em;
}

.emergency-icon-v2 {
  width: 56px;
  height: 56px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: #fff1ef;
  font-size: 28px;
}

.emergency-card-v2 p {
  color: #667085;
  line-height: 1.6;
}

.stats-v2 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 11px;
  margin-top: 18px;
}

.stats-v2 div {
  padding: 15px;
  border-radius: 18px;
  background: #f8fafc;
  border: 1px solid #e4e7ec;
}

.stats-v2 strong {
  display: block;
  font-size: 26px;
  line-height: 1;
}

.stats-v2 span {
  display: block;
  margin-top: 5px;
  color: #667085;
  font-size: 12px;
  font-weight: 800;
}

.commune-section-v2 {
  padding: 0 6vw;
  margin-top: -18px;
  position: relative;
  z-index: 2;
}

.commune-box-v2 {
  display: grid;
  grid-template-columns: 1fr 0.85fr;
  gap: 20px;
  align-items: center;
  padding: 24px;
  border-radius: 28px;
  background: #101828;
  color: #ffffff;
  box-shadow: 0 18px 44px rgba(16, 24, 40, 0.20);
}

.commune-box-v2 h2 {
  margin: 6px 0 8px;
  font-size: 30px;
  letter-spacing: -0.04em;
}

.commune-box-v2 p {
  margin: 0;
  color: #d0d5dd;
  line-height: 1.5;
}

.small-label-v2 {
  display: inline-block;
  color: #ef3b2d;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.commune-form-v2 {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
}

.commune-form-v2 select,
.commune-form-v2 button {
  min-height: 50px;
  border-radius: 16px;
  font: inherit;
  font-weight: 850;
}

.commune-form-v2 select {
  width: 100%;
  border: 1px solid rgba(255,255,255,0.20);
  padding: 0 14px;
  background: #ffffff;
  color: #101828;
}

.commune-form-v2 button {
  border: none;
  padding: 0 18px;
  background: #ef3b2d;
  color: #ffffff;
  cursor: pointer;
}

.section-v2 {
  padding: 58px 6vw 0;
}

.section-title-v2 {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 20px;
}

.section-title-v2.center {
  justify-content: center;
  text-align: center;
}

.section-title-v2 h2 {
  margin: 6px 0 0;
  font-size: clamp(30px, 4vw, 46px);
  letter-spacing: -0.05em;
  line-height: 1;
}

.section-title-v2 a {
  font-weight: 950;
  color: #ef3b2d;
}

.category-grid-v2 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.category-card-v2 {
  display: flex;
  min-height: 210px;
  flex-direction: column;
  gap: 10px;
  padding: 22px;
  border-radius: 26px;
  background: #ffffff;
  border: 1px solid #e4e7ec;
  box-shadow: 0 10px 30px rgba(16,24,40,0.045);
  transition: 0.2s ease;
}

.category-card-v2:hover {
  transform: translateY(-4px);
  border-color: #ffaaa2;
  box-shadow: 0 22px 44px rgba(16,24,40,0.08);
}

.category-icon-v2 {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  background: #fff1ef;
  font-size: 28px;
}

.category-card-v2 strong {
  font-size: 20px;
  letter-spacing: -0.02em;
}

.category-card-v2 span {
  color: #667085;
  line-height: 1.45;
  font-size: 14px;
}

.category-card-v2 small {
  margin-top: auto;
  color: #ef3b2d;
  font-weight: 950;
}

.technician-section-v2 {
  padding-top: 64px;
}

.technician-grid-v2 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.technician-card-v2 {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 20px;
  border-radius: 26px;
  background: #ffffff;
  border: 1px solid #e4e7ec;
  box-shadow: 0 10px 30px rgba(16,24,40,0.045);
}

.technician-head-v2 {
  display: flex;
  gap: 12px;
  align-items: center;
}

.tech-avatar-v2 {
  width: 58px;
  height: 58px;
  border-radius: 20px;
  display: grid;
  place-items: center;
  background: #101828;
  color: #ffffff;
  font-size: 24px;
  font-weight: 950;
}

.technician-head-v2 h3 {
  margin: 0 0 5px;
  font-size: 18px;
  line-height: 1.15;
}

.verified-badge-v2 {
  display: inline-flex;
  padding: 5px 9px;
  border-radius: 999px;
  background: #ecfdf3;
  color: #027a48;
  font-size: 12px;
  font-weight: 950;
}

.tech-info-v2 {
  display: grid;
  gap: 7px;
}

.tech-info-v2 p,
.tech-bio-v2 {
  margin: 0;
  color: #667085;
  line-height: 1.45;
  font-size: 14px;
}

.tech-info-v2 strong {
  color: #101828;
}

.tech-bio-v2 {
  padding-top: 10px;
  border-top: 1px solid #e4e7ec;
}

.btn-request-tech-v2 {
  margin-top: auto;
  width: 100%;
  background: #fff1ef;
  color: #b42318;
  border: 1px solid #ffd1cc;
}

.empty-tech-v2 {
  padding: 28px;
  border-radius: 26px;
  background: #ffffff;
  border: 1px dashed #d0d5dd;
  text-align: center;
}

.empty-tech-v2 h3 {
  margin: 0 0 8px;
  font-size: 24px;
}

.empty-tech-v2 p {
  color: #667085;
}

.how-section-v2 {
  padding: 64px 6vw 0;
}

.how-grid-v2 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.how-grid-v2 div {
  padding: 22px;
  border-radius: 26px;
  background: #ffffff;
  border: 1px solid #e4e7ec;
}

.how-grid-v2 b {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 15px;
  background: #ef3b2d;
  color: #ffffff;
  margin-bottom: 15px;
}

.how-grid-v2 h3 {
  margin: 0 0 8px;
}

.how-grid-v2 p {
  margin: 0;
  color: #667085;
  line-height: 1.5;
}

.anti-fraud-v2 {
  margin: 64px 6vw 0;
  padding: 30px;
  border-radius: 32px;
  background:
    radial-gradient(circle at 90% 10%, rgba(239,59,45,0.25), transparent 30%),
    #101828;
  color: #ffffff;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 20px;
  align-items: center;
}

.anti-fraud-v2 span {
  color: #fecdca;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 12px;
}

.anti-fraud-v2 h2 {
  margin: 6px 0 8px;
  font-size: 34px;
  letter-spacing: -0.05em;
}

.anti-fraud-v2 p {
  margin: 0;
  max-width: 800px;
  color: #d0d5dd;
  line-height: 1.6;
}

.anti-fraud-v2 a {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border-radius: 16px;
  background: #ffffff;
  color: #101828;
  font-weight: 950;
  white-space: nowrap;
}

.technician-cta-v2 {
  margin: 22px 6vw 64px;
  padding: 28px;
  border-radius: 32px;
  background: #ffffff;
  border: 1px solid #e4e7ec;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 18px;
  align-items: center;
}

.technician-cta-v2 h2 {
  margin: 6px 0 8px;
  font-size: 32px;
  letter-spacing: -0.04em;
}

.technician-cta-v2 p {
  margin: 0;
  color: #667085;
}

.technician-cta-v2 a {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border-radius: 16px;
  background: #101828;
  color: #ffffff;
  font-weight: 950;
  white-space: nowrap;
}

@media (max-width: 1180px) {
  .technician-grid-v2,
  .category-grid-v2 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .home-hero-v2,
  .commune-box-v2,
  .anti-fraud-v2,
  .technician-cta-v2 {
    grid-template-columns: 1fr;
  }

  .category-grid-v2,
  .technician-grid-v2,
  .how-grid-v2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .anti-fraud-v2 a,
  .technician-cta-v2 a {
    width: 100%;
  }
}

@media (max-width: 640px) {
  .home-hero-v2 {
    padding: 42px 4vw 38px;
  }

  .hero-left-v2 h1 {
    font-size: 42px;
  }

  .hero-subtitle-v2 {
    font-size: 16px;
  }

  .commune-section-v2,
  .section-v2,
  .how-section-v2 {
    padding-left: 4vw;
    padding-right: 4vw;
  }

  .commune-box-v2,
  .emergency-card-v2,
  .anti-fraud-v2,
  .technician-cta-v2 {
    border-radius: 24px;
  }

  .commune-form-v2 {
    grid-template-columns: 1fr;
  }

  .category-grid-v2,
  .technician-grid-v2,
  .how-grid-v2,
  .stats-v2 {
    grid-template-columns: 1fr;
  }

  .section-title-v2 {
    align-items: flex-start;
    flex-direction: column;
  }

  .anti-fraud-v2 {
    margin-left: 4vw;
    margin-right: 4vw;
  }

  .technician-cta-v2 {
    margin-left: 4vw;
    margin-right: 4vw;
  }
}
/* =========================================================
   SOS KIN - PUBLIC RESPONSIVE PRO PATCH
   À coller tout en bas de assets/css/style.css
========================================================= */

.public-body {
  background: #f5f7fb;
  overflow-x: hidden;
}

.public-header {
  position: sticky;
  top: 0;
  z-index: 999;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(228, 231, 236, 0.9);
}

.public-header-inner {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
  min-height: 74px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
}

.public-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
}

.public-brand-icon {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 16px;
  background: #ef3b2d;
  color: #fff;
  font-weight: 950;
  letter-spacing: -0.05em;
  box-shadow: 0 12px 24px rgba(239, 59, 45, 0.22);
}

.public-brand strong {
  display: block;
  font-size: 22px;
  line-height: 1;
  letter-spacing: -0.05em;
}

.public-brand small {
  display: block;
  margin-top: 4px;
  color: #667085;
  font-size: 12px;
  font-weight: 800;
}

.public-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
  flex-wrap: wrap;
}

.public-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 12px;
  border-radius: 999px;
  color: #344054;
  font-size: 14px;
  font-weight: 850;
  transition: 0.18s ease;
}

.public-nav a:hover {
  background: #fff1ef;
  color: #b42318;
}

.public-nav .nav-login,
.public-nav .nav-dashboard {
  background: #101828;
  color: #fff;
}

.public-nav .nav-login:hover,
.public-nav .nav-dashboard:hover {
  background: #ef3b2d;
  color: #fff;
}

.public-menu-toggle {
  display: none;
}

.public-menu-button {
  display: none;
}

.public-main {
  min-height: 70vh;
}

.public-footer-v3 {
  width: min(1180px, calc(100% - 32px));
  margin: 44px auto 0;
  padding: 24px 0 34px;
  border-top: 1px solid #e4e7ec;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  color: #667085;
}

.public-footer-v3 strong {
  display: block;
  color: #101828;
  margin-bottom: 5px;
}

.public-footer-v3 a {
  color: #ef3b2d;
  font-weight: 950;
}

/* HOME PRO */

.home-pro {
  --red: #ef3b2d;
  --red-dark: #b42318;
  --dark: #101828;
  --text: #101828;
  --muted: #667085;
  --line: #e4e7ec;
  --soft: #f5f7fb;
  --white: #ffffff;
  width: 100%;
  background:
    radial-gradient(circle at 10% 0%, rgba(239, 59, 45, 0.10), transparent 28%),
    radial-gradient(circle at 95% 8%, rgba(21, 94, 239, 0.10), transparent 26%),
    #f5f7fb;
  color: var(--text);
}

.hero-pro,
.search-commune-pro,
.home-section-pro,
.how-pro,
.security-pro,
.become-tech-pro {
  width: min(1180px, calc(100% - 32px));
  margin-left: auto;
  margin-right: auto;
}

.hero-pro {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(330px, 0.72fr);
  gap: 28px;
  align-items: center;
  padding: 58px 0 34px;
}

.hero-pro-content {
  min-width: 0;
}

.hero-pro-badge {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 9px 13px;
  border-radius: 999px;
  background: #fff1ef;
  border: 1px solid #ffd1cc;
  color: var(--red-dark);
  font-size: 13px;
  font-weight: 950;
}

.hero-pro-badge span {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--red);
  box-shadow: 0 0 0 0 rgba(239, 59, 45, 0.45);
  animation: sosPulse 1.35s infinite;
}

@keyframes sosPulse {
  0% { box-shadow: 0 0 0 0 rgba(239, 59, 45, 0.45); }
  70% { box-shadow: 0 0 0 10px rgba(239, 59, 45, 0); }
  100% { box-shadow: 0 0 0 0 rgba(239, 59, 45, 0); }
}

.hero-pro h1 {
  margin: 18px 0 18px;
  max-width: 760px;
  font-size: clamp(42px, 6.2vw, 78px);
  line-height: 0.95;
  letter-spacing: -0.075em;
}

.hero-pro h1 b {
  display: block;
  color: var(--red);
  font-weight: 950;
}

.hero-pro p {
  max-width: 680px;
  margin: 0;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.65;
}

.hero-pro-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 26px;
}

.hero-btn-primary,
.hero-btn-secondary,
.hero-card-btn,
.tech-action-pro,
.security-pro a,
.become-tech-pro a,
.empty-home-pro a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0 18px;
  border-radius: 16px;
  font-weight: 950;
  text-decoration: none;
  transition: 0.18s ease;
}

.hero-btn-primary,
.hero-card-btn,
.empty-home-pro a {
  background: var(--red);
  color: #fff;
  box-shadow: 0 14px 26px rgba(239, 59, 45, 0.20);
}

.hero-btn-secondary {
  background: #fff;
  color: var(--dark);
  border: 1px solid var(--line);
}

.hero-btn-primary:hover,
.hero-btn-secondary:hover,
.hero-card-btn:hover,
.tech-action-pro:hover,
.security-pro a:hover,
.become-tech-pro a:hover,
.empty-home-pro a:hover {
  transform: translateY(-2px);
}

.hero-pro-points {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 24px;
}

.hero-pro-points div {
  padding: 10px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.92);
  border: 1px solid var(--line);
  color: #344054;
  font-size: 14px;
  font-weight: 850;
}

.hero-pro-card {
  position: relative;
  padding: 26px;
  border-radius: 30px;
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid var(--line);
  box-shadow: 0 24px 60px rgba(16, 24, 40, 0.12);
  overflow: hidden;
}

.hero-pro-card::before {
  content: "";
  position: absolute;
  width: 180px;
  height: 180px;
  right: -70px;
  top: -70px;
  border-radius: 50%;
  background: rgba(239, 59, 45, 0.10);
}

.hero-card-top {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
}

.hero-card-top small {
  display: block;
  color: var(--red);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 12px;
  font-weight: 950;
}

.hero-card-top h2 {
  margin: 5px 0 0;
  font-size: 30px;
  line-height: 1;
  letter-spacing: -0.055em;
}

.hero-card-top span {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  flex: 0 0 58px;
  border-radius: 19px;
  background: #fff1ef;
  font-size: 28px;
}

.hero-card-warning {
  margin: 18px 0;
  padding: 13px 14px;
  border-radius: 18px;
  background: #fffbeb;
  border: 1px solid #fedf89;
  color: #93370d;
  font-weight: 850;
  line-height: 1.45;
}

.hero-card-btn {
  width: 100%;
}

.hero-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 11px;
  margin-top: 18px;
}

.hero-stats div {
  padding: 15px 12px;
  border-radius: 18px;
  background: #f8fafc;
  border: 1px solid var(--line);
}

.hero-stats strong {
  display: block;
  font-size: 25px;
  line-height: 1;
  letter-spacing: -0.04em;
}

.hero-stats span {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.search-commune-pro {
  margin-top: 8px;
  padding: 24px;
  border-radius: 30px;
  background:
    radial-gradient(circle at 100% 0%, rgba(239,59,45,0.18), transparent 28%),
    #101828;
  color: #fff;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.82fr);
  gap: 22px;
  align-items: center;
  box-shadow: 0 18px 42px rgba(16,24,40,0.18);
}

.search-commune-text small,
.home-section-head small,
.security-pro small,
.become-tech-pro small {
  display: inline-block;
  color: var(--red);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 12px;
  font-weight: 950;
}

.search-commune-text h2,
.home-section-head h2,
.security-pro h2,
.become-tech-pro h2 {
  margin: 6px 0 8px;
  font-size: clamp(28px, 3.8vw, 42px);
  line-height: 1;
  letter-spacing: -0.055em;
}

.search-commune-text p {
  margin: 0;
  color: #d0d5dd;
  line-height: 1.55;
}

.search-commune-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
}

.search-commune-form select,
.search-commune-form button {
  min-height: 52px;
  border-radius: 16px;
  font: inherit;
  font-weight: 850;
}

.search-commune-form select {
  width: 100%;
  min-width: 0;
  border: 1px solid rgba(255,255,255,0.20);
  background: #fff;
  color: var(--dark);
  padding: 0 14px;
}

.search-commune-form button {
  border: 0;
  padding: 0 18px;
  background: var(--red);
  color: #fff;
  cursor: pointer;
}

.home-section-pro,
.how-pro {
  padding-top: 58px;
}

.home-section-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 18px;
  margin-bottom: 20px;
}

.home-section-head.center {
  justify-content: center;
  text-align: center;
}

.home-section-head a {
  color: var(--red);
  font-weight: 950;
  white-space: nowrap;
}

.service-grid-pro {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.service-card-pro {
  min-width: 0;
  min-height: 218px;
  display: flex;
  flex-direction: column;
  padding: 21px;
  border-radius: 26px;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 10px 28px rgba(16,24,40,0.045);
  transition: 0.18s ease;
}

.service-card-pro:hover {
  transform: translateY(-4px);
  border-color: #ffaaa2;
  box-shadow: 0 18px 40px rgba(16,24,40,0.08);
}

.service-icon-pro {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: 18px;
  background: #fff1ef;
  font-size: 29px;
  margin-bottom: 15px;
}

.service-card-pro h3 {
  margin: 0 0 9px;
  font-size: 20px;
  letter-spacing: -0.025em;
}

.service-card-pro p {
  margin: 0;
  color: var(--muted);
  line-height: 1.48;
  font-size: 14px;
}

.service-card-pro span {
  margin-top: auto;
  padding-top: 14px;
  color: var(--red);
  font-size: 13px;
  font-weight: 950;
}

.tech-grid-pro {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.tech-card-pro {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 21px;
  border-radius: 28px;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 10px 28px rgba(16,24,40,0.045);
}

.tech-top-pro {
  display: flex;
  align-items: center;
  gap: 12px;
}

.tech-avatar-pro {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  flex: 0 0 58px;
  border-radius: 20px;
  background: #101828;
  color: #fff;
  font-size: 24px;
  font-weight: 950;
}

.tech-top-pro h3 {
  margin: 0 0 5px;
  font-size: 19px;
  line-height: 1.15;
  letter-spacing: -0.025em;
}

.tech-verified-pro {
  display: inline-flex;
  padding: 5px 9px;
  border-radius: 999px;
  background: #ecfdf3;
  color: #027a48;
  font-size: 12px;
  font-weight: 950;
}

.tech-details-pro {
  display: grid;
  gap: 7px;
}

.tech-details-pro p,
.tech-bio-pro {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
  font-size: 14px;
}

.tech-details-pro b {
  color: var(--dark);
}

.tech-bio-pro {
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.tech-action-pro {
  margin-top: auto;
  width: 100%;
  background: #fff1ef;
  color: var(--red-dark);
  border: 1px solid #ffd1cc;
}

.empty-home-pro {
  padding: 28px;
  border-radius: 28px;
  background: #fff;
  border: 1px dashed #d0d5dd;
  text-align: center;
}

.empty-home-pro h3 {
  margin: 0 0 8px;
  font-size: 24px;
  letter-spacing: -0.035em;
}

.empty-home-pro p {
  margin: 0 auto 18px;
  max-width: 620px;
  color: var(--muted);
  line-height: 1.55;
}

.how-grid-pro {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.how-grid-pro div {
  padding: 22px;
  border-radius: 26px;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 10px 28px rgba(16,24,40,0.035);
}

.how-grid-pro span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 15px;
  background: var(--red);
  color: #fff;
  font-weight: 950;
  margin-bottom: 15px;
}

.how-grid-pro h3 {
  margin: 0 0 8px;
  font-size: 19px;
}

.how-grid-pro p {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.security-pro {
  margin-top: 60px;
  padding: 30px;
  border-radius: 32px;
  background:
    radial-gradient(circle at 100% 0%, rgba(239,59,45,0.22), transparent 30%),
    #101828;
  color: #fff;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 20px;
  align-items: center;
}

.security-pro h2 {
  color: #fff;
}

.security-pro p {
  max-width: 800px;
  margin: 0;
  color: #d0d5dd;
  line-height: 1.6;
}

.security-pro a {
  background: #fff;
  color: #101828;
  white-space: nowrap;
}

.become-tech-pro {
  margin-top: 22px;
  padding: 28px;
  border-radius: 32px;
  background: #fff;
  border: 1px solid var(--line);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
}

.become-tech-pro p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.become-tech-pro a {
  background: #101828;
  color: #fff;
  white-space: nowrap;
}

/* TABLETTE */

@media (max-width: 1024px) {
  .hero-pro {
    grid-template-columns: 1fr;
    padding-top: 44px;
  }

  .hero-pro-card {
    max-width: 680px;
  }

  .search-commune-pro,
  .security-pro,
  .become-tech-pro {
    grid-template-columns: 1fr;
  }

  .service-grid-pro,
  .how-grid-pro {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tech-grid-pro {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .security-pro a,
  .become-tech-pro a {
    width: 100%;
  }
}

/* MOBILE */

@media (max-width: 760px) {
  .public-header-inner {
    width: min(100% - 24px, 1180px);
    min-height: 68px;
  }

  .public-brand-icon {
    width: 43px;
    height: 43px;
    border-radius: 14px;
    font-size: 15px;
  }

  .public-brand strong {
    font-size: 20px;
  }

  .public-menu-button {
    display: grid;
    gap: 5px;
    width: 44px;
    height: 44px;
    place-content: center;
    border-radius: 14px;
    background: #101828;
    cursor: pointer;
  }

  .public-menu-button span {
    display: block;
    width: 21px;
    height: 2px;
    border-radius: 99px;
    background: #fff;
  }

  .public-nav {
    position: absolute;
    left: 12px;
    right: 12px;
    top: 76px;
    display: none;
    flex-direction: column;
    align-items: stretch;
    padding: 12px;
    border-radius: 22px;
    background: #fff;
    border: 1px solid #e4e7ec;
    box-shadow: 0 18px 42px rgba(16,24,40,0.18);
  }

  .public-nav a {
    width: 100%;
    justify-content: center;
    border-radius: 14px;
    min-height: 46px;
    background: #f8fafc;
  }

  .public-menu-toggle:checked ~ .public-nav {
    display: flex;
  }

  .hero-pro,
  .search-commune-pro,
  .home-section-pro,
  .how-pro,
  .security-pro,
  .become-tech-pro,
  .public-footer-v3 {
    width: min(100% - 24px, 1180px);
  }

  .hero-pro {
    padding-top: 34px;
    gap: 22px;
  }

  .hero-pro h1 {
    font-size: clamp(38px, 12vw, 54px);
    letter-spacing: -0.065em;
  }

  .hero-pro p {
    font-size: 16px;
  }

  .hero-pro-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .hero-btn-primary,
  .hero-btn-secondary {
    width: 100%;
  }

  .hero-pro-points {
    display: grid;
    grid-template-columns: 1fr;
  }

  .hero-pro-card {
    padding: 20px;
    border-radius: 24px;
  }

  .hero-card-top h2 {
    font-size: 25px;
  }

  .hero-stats {
    grid-template-columns: 1fr;
  }

  .search-commune-pro {
    padding: 20px;
    border-radius: 24px;
  }

  .search-commune-form {
    grid-template-columns: 1fr;
  }

  .search-commune-form button {
    width: 100%;
  }

  .home-section-pro,
  .how-pro {
    padding-top: 42px;
  }

  .home-section-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .home-section-head a {
    width: 100%;
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: #fff1ef;
  }

  .service-grid-pro,
  .tech-grid-pro,
  .how-grid-pro {
    grid-template-columns: 1fr;
  }

  .service-card-pro {
    min-height: auto;
  }

  .security-pro,
  .become-tech-pro {
    padding: 22px;
    border-radius: 24px;
  }

  .security-pro h2,
  .become-tech-pro h2 {
    font-size: 28px;
  }

  .public-footer-v3 {
    display: grid;
    gap: 12px;
    padding-bottom: 28px;
  }
}

/* TRÈS PETIT ÉCRAN */

@media (max-width: 390px) {
  .hero-pro h1 {
    font-size: 36px;
  }

  .hero-card-top {
    flex-direction: column;
  }

  .hero-card-top span {
    width: 50px;
    height: 50px;
  }

  .service-card-pro,
  .tech-card-pro {
    padding: 18px;
    border-radius: 22px;
  }
}
.tech-photo-pro {
  width: 58px;
  height: 58px;
  flex: 0 0 58px;
  border-radius: 20px;
  object-fit: cover;
  border: 2px solid #fff;
  box-shadow: 0 10px 24px rgba(16,24,40,0.12);
}

.tech-badges-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.tech-level-badge {
  display: inline-flex;
  padding: 5px 9px;
  border-radius: 999px;
  background: #fff1ef;
  color: #b42318;
  font-size: 12px;
  font-weight: 950;
}

.phone-hidden-note {
  margin-top: 8px !important;
  padding: 9px 10px;
  border-radius: 14px;
  background: #fffbeb;
  border: 1px solid #fedf89;
  color: #93370d !important;
  font-weight: 850;
}

.info-box {
  padding: 13px 14px;
  border-radius: 14px;
  background: #fffbeb;
  border: 1px solid #fedf89;
  color: #93370d;
  line-height: 1.5;
  font-weight: 700;
}
/* ===============================
   SOS KIN HOME FIX
   Photo + Badge + Commune + Responsive
================================ */

.sk-home {
  background: #f5f7fb;
  color: #101828;
  overflow-x: hidden;
}

.sk-hero,
.sk-locator,
.sk-section,
.sk-warning {
  width: min(1180px, calc(100% - 28px));
  margin-left: auto;
  margin-right: auto;
}

.sk-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(310px, 0.75fr);
  gap: 28px;
  align-items: center;
  padding: 58px 0 28px;
}

.sk-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 13px;
  border-radius: 999px;
  background: #fff1ef;
  border: 1px solid #ffd1cc;
  color: #b42318;
  font-size: 13px;
  font-weight: 900;
}

.sk-pill i {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #ef3b2d;
  box-shadow: 0 0 0 0 rgba(239, 59, 45, .45);
  animation: skPulse 1.4s infinite;
}

@keyframes skPulse {
  0% { box-shadow: 0 0 0 0 rgba(239, 59, 45, .45); }
  70% { box-shadow: 0 0 0 10px rgba(239, 59, 45, 0); }
  100% { box-shadow: 0 0 0 0 rgba(239, 59, 45, 0); }
}

.sk-hero h1 {
  margin: 18px 0;
  font-size: clamp(42px, 6vw, 76px);
  line-height: .96;
  letter-spacing: -.07em;
}

.sk-hero h1 b {
  display: block;
  color: #ef3b2d;
}

.sk-hero p {
  max-width: 700px;
  color: #667085;
  font-size: 18px;
  line-height: 1.6;
}

.sk-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.sk-btn,
.sk-tech-action,
.sk-warning a {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border-radius: 16px;
  font-weight: 900;
  text-decoration: none;
  transition: .2s ease;
}

.sk-btn:hover,
.sk-tech-action:hover,
.sk-warning a:hover {
  transform: translateY(-2px);
}

.sk-btn-primary {
  background: #ef3b2d;
  color: #fff;
  box-shadow: 0 14px 28px rgba(239, 59, 45, .2);
}

.sk-btn-light {
  background: #fff;
  color: #101828;
  border: 1px solid #e4e7ec;
}

.sk-btn-dark {
  background: #101828;
  color: #fff;
}

.sk-full {
  width: 100%;
}

.sk-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 22px;
}

.sk-trust span {
  padding: 10px 12px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid #e4e7ec;
  color: #344054;
  font-size: 14px;
  font-weight: 800;
}

.sk-hero-card {
  padding: 25px;
  border-radius: 30px;
  background: #fff;
  border: 1px solid #e4e7ec;
  box-shadow: 0 24px 60px rgba(16, 24, 40, .12);
}

.sk-card-top {
  display: flex;
  justify-content: space-between;
  gap: 16px;
}

.sk-card-top small,
.sk-locator small,
.sk-section-head small,
.sk-warning small {
  color: #ef3b2d;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 12px;
  font-weight: 900;
}

.sk-card-top h2,
.sk-locator h2,
.sk-section-head h2,
.sk-warning h2 {
  margin: 6px 0 8px;
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1;
  letter-spacing: -.05em;
}

.sk-card-top > span {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  flex: 0 0 56px;
  border-radius: 18px;
  background: #fff1ef;
  font-size: 28px;
}

.sk-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 11px;
  margin-top: 18px;
}

.sk-stats div {
  padding: 14px;
  border-radius: 17px;
  background: #f8fafc;
  border: 1px solid #e4e7ec;
}

.sk-stats strong {
  display: block;
  font-size: 25px;
}

.sk-stats span {
  display: block;
  color: #667085;
  font-size: 12px;
  font-weight: 800;
}

.sk-locator {
  margin-top: 10px;
  padding: 24px;
  border-radius: 30px;
  background: #101828;
  color: #fff;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(310px, .9fr);
  gap: 22px;
  align-items: center;
}

.sk-locator p {
  margin: 0;
  color: #d0d5dd;
  line-height: 1.55;
}

.sk-location-status {
  margin-top: 12px !important;
  color: #fecdca !important;
  font-weight: 800;
}

.sk-commune-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 10px;
}

.sk-commune-form select,
.sk-commune-form button {
  min-height: 52px;
  border-radius: 16px;
  font: inherit;
  font-weight: 850;
}

.sk-commune-form select {
  width: 100%;
  min-width: 0;
  padding: 0 14px;
  border: none;
  background: #fff;
  color: #101828;
}

.sk-commune-form button {
  border: none;
  padding: 0 16px;
  background: #ef3b2d;
  color: #fff;
  cursor: pointer;
}

.sk-detect-btn {
  background: #fff !important;
  color: #101828 !important;
}

.sk-section {
  padding-top: 56px;
}

.sk-section-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 18px;
  margin-bottom: 20px;
}

.sk-section-head a {
  color: #ef3b2d;
  font-weight: 900;
}

.sk-category-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.sk-category-card {
  min-height: 205px;
  display: flex;
  flex-direction: column;
  padding: 21px;
  border-radius: 26px;
  background: #fff;
  border: 1px solid #e4e7ec;
  box-shadow: 0 10px 28px rgba(16,24,40,.045);
}

.sk-category-card span {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  background: #fff1ef;
  font-size: 28px;
  margin-bottom: 14px;
}

.sk-category-card h3 {
  margin: 0 0 8px;
  font-size: 20px;
}

.sk-category-card p {
  margin: 0;
  color: #667085;
  line-height: 1.45;
  font-size: 14px;
}

.sk-category-card b {
  margin-top: auto;
  color: #ef3b2d;
  font-size: 13px;
}

.sk-tech-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.sk-tech-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 21px;
  border-radius: 28px;
  background: #fff;
  border: 1px solid #e4e7ec;
  box-shadow: 0 10px 28px rgba(16,24,40,.05);
}

.sk-tech-top {
  display: flex;
  align-items: center;
  gap: 12px;
}

.sk-tech-photo,
.sk-tech-avatar {
  width: 62px;
  height: 62px;
  flex: 0 0 62px;
  border-radius: 21px;
}

.sk-tech-photo {
  object-fit: cover;
  border: 2px solid #fff;
  box-shadow: 0 10px 24px rgba(16,24,40,.14);
}

.sk-tech-avatar {
  display: grid;
  place-items: center;
  background: #101828;
  color: #fff;
  font-size: 25px;
  font-weight: 900;
}

.sk-tech-top h3 {
  margin: 0 0 6px;
  font-size: 19px;
  line-height: 1.15;
}

.sk-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.sk-badge {
  display: inline-flex;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
}

.sk-badge-ok {
  background: #ecfdf3;
  color: #027a48;
}

.sk-badge-level {
  background: #fff1ef;
  color: #b42318;
}

.sk-tech-info {
  display: grid;
  gap: 7px;
}

.sk-tech-info p,
.sk-tech-bio {
  margin: 0;
  color: #667085;
  line-height: 1.45;
  font-size: 14px;
}

.sk-tech-info strong {
  color: #101828;
}

.sk-phone-hidden {
  padding: 9px 10px;
  border-radius: 14px;
  background: #fffbeb;
  border: 1px solid #fedf89;
  color: #93370d !important;
  font-weight: 800;
}

.sk-tech-bio {
  padding-top: 12px;
  border-top: 1px solid #e4e7ec;
}

.sk-tech-action {
  margin-top: auto;
  width: 100%;
  background: #fff1ef;
  color: #b42318;
  border: 1px solid #ffd1cc;
}

.sk-empty {
  padding: 28px;
  border-radius: 28px;
  background: #fff;
  border: 1px dashed #d0d5dd;
  text-align: center;
}

.sk-empty p {
  color: #667085;
}

.sk-warning {
  margin-top: 56px;
  padding: 30px;
  border-radius: 32px;
  background: #101828;
  color: #fff;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 20px;
  align-items: center;
}

.sk-warning h2 {
  color: #fff;
}

.sk-warning p {
  margin: 0;
  max-width: 850px;
  color: #d0d5dd;
  line-height: 1.6;
}

.sk-warning a {
  background: #fff;
  color: #101828;
  white-space: nowrap;
}

@media (max-width: 1024px) {
  .sk-hero,
  .sk-locator,
  .sk-warning {
    grid-template-columns: 1fr;
  }

  .sk-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sk-tech-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sk-warning a {
    width: 100%;
  }
}

@media (max-width: 680px) {
  .sk-hero,
  .sk-locator,
  .sk-section,
  .sk-warning {
    width: min(100% - 22px, 1180px);
  }

  .sk-hero {
    padding-top: 34px;
  }

  .sk-hero h1 {
    font-size: 40px;
  }

  .sk-hero p {
    font-size: 16px;
  }

  .sk-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .sk-btn {
    width: 100%;
  }

  .sk-trust {
    display: grid;
    grid-template-columns: 1fr;
  }

  .sk-hero-card,
  .sk-locator,
  .sk-warning {
    border-radius: 24px;
    padding: 20px;
  }

  .sk-stats,
  .sk-category-grid,
  .sk-tech-grid,
  .sk-commune-form {
    grid-template-columns: 1fr;
  }

  .sk-section-head {
    flex-direction: column;
    align-items: flex-start;
  }

  .sk-section-head a {
    width: 100%;
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: #fff1ef;
  }
}
.sk-location-status.is-loading {
  color: #fecdca !important;
}

.sk-location-status.is-ok {
  color: #86efac !important;
}

.sk-location-status.is-error {
  color: #fca5a5 !important;
}
/* ======================================================
   SOS KIN HOME V4 - UX PRO RESPONSIVE
====================================================== */

.sos-home-v4 {
  --sos-red: #ef3b2d;
  --sos-red-dark: #b42318;
  --sos-dark: #101828;
  --sos-text: #101828;
  --sos-muted: #667085;
  --sos-line: #e4e7ec;
  --sos-bg: #f5f7fb;
  --sos-white: #ffffff;
  background:
    radial-gradient(circle at 6% 0%, rgba(239, 59, 45, 0.11), transparent 25%),
    radial-gradient(circle at 95% 8%, rgba(21, 94, 239, 0.10), transparent 24%),
    var(--sos-bg);
  color: var(--sos-text);
  overflow-x: hidden;
  padding-bottom: 20px;
}

.sos-hero-v4,
.sos-quick-v4,
.sos-commune-v4,
.sos-section-v4,
.sos-security-v4,
.sos-tech-cta-v4 {
  width: min(1180px, calc(100% - 28px));
  margin-left: auto;
  margin-right: auto;
}

.sos-hero-v4 {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.75fr);
  gap: 30px;
  align-items: center;
  padding: 56px 0 24px;
}

.sos-hero-content-v4 {
  min-width: 0;
}

.sos-badge-v4 {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 9px 14px;
  border-radius: 999px;
  background: #fff1ef;
  border: 1px solid #ffd1cc;
  color: var(--sos-red-dark);
  font-size: 13px;
  font-weight: 950;
}

.sos-badge-v4 span {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--sos-red);
  box-shadow: 0 0 0 0 rgba(239, 59, 45, .48);
  animation: sosPulseV4 1.35s infinite;
}

@keyframes sosPulseV4 {
  0% { box-shadow: 0 0 0 0 rgba(239, 59, 45, .48); }
  70% { box-shadow: 0 0 0 10px rgba(239, 59, 45, 0); }
  100% { box-shadow: 0 0 0 0 rgba(239, 59, 45, 0); }
}

.sos-hero-v4 h1 {
  margin: 18px 0 18px;
  max-width: 780px;
  font-size: clamp(42px, 6vw, 76px);
  line-height: .95;
  letter-spacing: -.075em;
}

.sos-hero-v4 h1 strong {
  display: block;
  color: var(--sos-red);
  font-weight: 950;
}

.sos-hero-v4 p {
  margin: 0;
  max-width: 690px;
  color: var(--sos-muted);
  font-size: 18px;
  line-height: 1.65;
}

.sos-hero-actions-v4 {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 25px;
}

.sos-btn-v4,
.sos-tech-action-v4,
.sos-security-v4 a,
.sos-tech-cta-v4 a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0 18px;
  border-radius: 16px;
  font-weight: 950;
  text-decoration: none;
  transition: .18s ease;
}

.sos-btn-v4:hover,
.sos-tech-action-v4:hover,
.sos-security-v4 a:hover,
.sos-tech-cta-v4 a:hover {
  transform: translateY(-2px);
}

.sos-btn-primary-v4 {
  background: var(--sos-red);
  color: #fff;
  box-shadow: 0 14px 28px rgba(239, 59, 45, .22);
}

.sos-btn-light-v4 {
  background: #fff;
  color: var(--sos-dark);
  border: 1px solid var(--sos-line);
}

.sos-btn-dark-v4 {
  background: var(--sos-dark);
  color: #fff;
}

.sos-btn-full-v4 {
  width: 100%;
}

.sos-trust-v4 {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 23px;
}

.sos-trust-v4 div {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 10px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  border: 1px solid var(--sos-line);
  color: #344054;
  font-size: 14px;
  font-weight: 850;
}

.sos-trust-v4 b {
  color: #12b76a;
}

.sos-hero-panel-v4 {
  padding: 26px;
  border-radius: 30px;
  background: rgba(255,255,255,.96);
  border: 1px solid var(--sos-line);
  box-shadow: 0 24px 60px rgba(16,24,40,.12);
}

.sos-panel-header-v4 {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
}

.sos-panel-header-v4 small,
.sos-commune-text-v4 small,
.sos-section-title-v4 small,
.sos-security-v4 small,
.sos-tech-cta-v4 small {
  display: inline-block;
  color: var(--sos-red);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.sos-panel-header-v4 h2,
.sos-commune-text-v4 h2,
.sos-section-title-v4 h2,
.sos-security-v4 h2,
.sos-tech-cta-v4 h2 {
  margin: 6px 0 8px;
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1;
  letter-spacing: -.055em;
}

.sos-panel-icon-v4 {
  width: 58px;
  height: 58px;
  flex: 0 0 58px;
  display: grid;
  place-items: center;
  border-radius: 19px;
  background: #fff1ef;
  font-size: 29px;
}

.sos-stats-v4 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 11px;
  margin: 18px 0;
}

.sos-stats-v4 div {
  padding: 14px 12px;
  border-radius: 18px;
  background: #f8fafc;
  border: 1px solid var(--sos-line);
}

.sos-stats-v4 strong {
  display: block;
  font-size: 25px;
  letter-spacing: -.04em;
  line-height: 1;
}

.sos-stats-v4 span {
  display: block;
  margin-top: 5px;
  color: var(--sos-muted);
  font-size: 12px;
  font-weight: 850;
}

.sos-quick-v4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 6px;
}

.sos-quick-v4 a {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding: 16px;
  border-radius: 22px;
  background: #fff;
  border: 1px solid var(--sos-line);
  box-shadow: 0 8px 24px rgba(16,24,40,.04);
}

.sos-quick-v4 span {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: #fff1ef;
  font-size: 23px;
}

.sos-quick-v4 strong {
  display: block;
  color: var(--sos-dark);
  font-size: 15px;
}

.sos-quick-v4 small {
  display: block;
  margin-top: 3px;
  color: var(--sos-muted);
  font-size: 12px;
  font-weight: 750;
}

.sos-commune-v4 {
  margin-top: 18px;
  padding: 24px;
  border-radius: 30px;
  background:
    radial-gradient(circle at 100% 0%, rgba(239,59,45,.18), transparent 30%),
    var(--sos-dark);
  color: #fff;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .92fr);
  gap: 22px;
  align-items: center;
  box-shadow: 0 18px 42px rgba(16,24,40,.18);
}

.sos-commune-text-v4 h2 {
  color: #fff;
}

.sos-commune-text-v4 p {
  margin: 0;
  color: #d0d5dd;
  line-height: 1.55;
}

.sos-location-status-v4 {
  margin-top: 12px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(255,255,255,.08);
  color: #fecdca;
  font-weight: 850;
  line-height: 1.4;
}

.sos-location-status-v4.is-loading {
  color: #fecdca;
}

.sos-location-status-v4.is-ok {
  color: #86efac;
}

.sos-location-status-v4.is-error {
  color: #fca5a5;
}

.sos-commune-form-v4 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 10px;
}

.sos-commune-form-v4 select,
.sos-commune-form-v4 button {
  min-height: 52px;
  border-radius: 16px;
  font: inherit;
  font-weight: 900;
}

.sos-commune-form-v4 select {
  min-width: 0;
  width: 100%;
  padding: 0 14px;
  border: 0;
  background: #fff;
  color: var(--sos-dark);
}

.sos-commune-form-v4 button {
  border: 0;
  padding: 0 16px;
  background: var(--sos-red);
  color: #fff;
  cursor: pointer;
}

.sos-detect-btn-v4 {
  background: #fff !important;
  color: var(--sos-dark) !important;
}

.sos-section-v4 {
  padding-top: 56px;
}

.sos-section-title-v4 {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 20px;
}

.sos-section-title-v4.center {
  justify-content: center;
  text-align: center;
}

.sos-section-title-v4 a {
  color: var(--sos-red);
  font-weight: 950;
  white-space: nowrap;
}

.sos-category-grid-v4 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.sos-category-card-v4 {
  display: flex;
  flex-direction: column;
  min-height: 210px;
  padding: 21px;
  border-radius: 26px;
  background: #fff;
  border: 1px solid var(--sos-line);
  box-shadow: 0 10px 28px rgba(16,24,40,.045);
  transition: .18s ease;
}

.sos-category-card-v4:hover {
  transform: translateY(-4px);
  border-color: #ffaaa2;
  box-shadow: 0 18px 40px rgba(16,24,40,.08);
}

.sos-category-icon-v4 {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  background: #fff1ef;
  font-size: 29px;
  margin-bottom: 15px;
}

.sos-category-card-v4 h3 {
  margin: 0 0 9px;
  font-size: 20px;
  letter-spacing: -.025em;
}

.sos-category-card-v4 p {
  margin: 0;
  color: var(--sos-muted);
  line-height: 1.45;
  font-size: 14px;
}

.sos-category-card-v4 span {
  margin-top: auto;
  padding-top: 14px;
  color: var(--sos-red);
  font-size: 13px;
  font-weight: 950;
}

.sos-tech-grid-v4 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.sos-tech-card-v4 {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 21px;
  border-radius: 28px;
  background: #fff;
  border: 1px solid var(--sos-line);
  box-shadow: 0 10px 28px rgba(16,24,40,.05);
}

.sos-tech-header-v4 {
  display: flex;
  align-items: center;
  gap: 12px;
}

.sos-tech-photo-v4,
.sos-tech-avatar-v4 {
  width: 62px;
  height: 62px;
  flex: 0 0 62px;
  border-radius: 21px;
}

.sos-tech-photo-v4 {
  object-fit: cover;
  border: 2px solid #fff;
  box-shadow: 0 10px 24px rgba(16,24,40,.14);
}

.sos-tech-avatar-v4 {
  display: grid;
  place-items: center;
  background: var(--sos-dark);
  color: #fff;
  font-size: 25px;
  font-weight: 950;
}

.sos-tech-header-v4 h3 {
  margin: 0 0 7px;
  font-size: 19px;
  line-height: 1.15;
  letter-spacing: -.025em;
}

.sos-tech-badges-v4 {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.sos-badge-ok-v4,
.sos-badge-level-v4 {
  display: inline-flex;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 950;
}

.sos-badge-ok-v4 {
  background: #ecfdf3;
  color: #027a48;
}

.sos-badge-level-v4 {
  background: #fff1ef;
  color: var(--sos-red-dark);
}

.sos-tech-details-v4 {
  display: grid;
  gap: 7px;
}

.sos-tech-details-v4 p,
.sos-tech-bio-v4 {
  margin: 0;
  color: var(--sos-muted);
  line-height: 1.45;
  font-size: 14px;
}

.sos-tech-details-v4 strong {
  color: var(--sos-dark);
}

.sos-phone-locked-v4 {
  padding: 9px 10px;
  border-radius: 14px;
  background: #fffbeb;
  border: 1px solid #fedf89;
  color: #93370d;
  font-weight: 850;
  line-height: 1.4;
}

.sos-tech-bio-v4 {
  padding-top: 12px;
  border-top: 1px solid var(--sos-line);
}

.sos-tech-action-v4 {
  margin-top: auto;
  width: 100%;
  background: #fff1ef;
  color: var(--sos-red-dark);
  border: 1px solid #ffd1cc;
}

.sos-empty-v4 {
  padding: 30px;
  border-radius: 28px;
  background: #fff;
  border: 1px dashed #d0d5dd;
  text-align: center;
}

.sos-empty-v4 h3 {
  margin: 0 0 8px;
  font-size: 24px;
  letter-spacing: -.03em;
}

.sos-empty-v4 p {
  max-width: 650px;
  margin: 0 auto 18px;
  color: var(--sos-muted);
  line-height: 1.55;
}

.sos-steps-v4 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.sos-steps-v4 div {
  padding: 22px;
  border-radius: 26px;
  background: #fff;
  border: 1px solid var(--sos-line);
  box-shadow: 0 10px 28px rgba(16,24,40,.035);
}

.sos-steps-v4 span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 15px;
  background: var(--sos-red);
  color: #fff;
  font-weight: 950;
  margin-bottom: 15px;
}

.sos-steps-v4 h3 {
  margin: 0 0 8px;
  font-size: 19px;
}

.sos-steps-v4 p {
  margin: 0;
  color: var(--sos-muted);
  line-height: 1.5;
}

.sos-security-v4 {
  margin-top: 58px;
  padding: 30px;
  border-radius: 32px;
  background:
    radial-gradient(circle at 100% 0%, rgba(239,59,45,.22), transparent 30%),
    var(--sos-dark);
  color: #fff;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 22px;
  align-items: center;
}

.sos-security-v4 h2 {
  color: #fff;
}

.sos-security-v4 p {
  max-width: 850px;
  margin: 0;
  color: #d0d5dd;
  line-height: 1.6;
}

.sos-security-v4 a {
  background: #fff;
  color: var(--sos-dark);
  white-space: nowrap;
}

.sos-tech-cta-v4 {
  margin-top: 22px;
  padding: 28px;
  border-radius: 32px;
  background: #fff;
  border: 1px solid var(--sos-line);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
}

.sos-tech-cta-v4 p {
  max-width: 780px;
  margin: 0;
  color: var(--sos-muted);
  line-height: 1.55;
}

.sos-tech-cta-v4 a {
  background: var(--sos-dark);
  color: #fff;
  white-space: nowrap;
}

.sos-mobile-bar-v4 {
  display: none;
}

/* TABLETTE */
@media (max-width: 1024px) {
  .sos-hero-v4,
  .sos-commune-v4,
  .sos-security-v4,
  .sos-tech-cta-v4 {
    grid-template-columns: 1fr;
  }

  .sos-category-grid-v4,
  .sos-steps-v4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sos-tech-grid-v4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sos-security-v4 a,
  .sos-tech-cta-v4 a {
    width: 100%;
  }
}

/* MOBILE */
@media (max-width: 720px) {
  .sos-home-v4 {
    padding-bottom: 82px;
  }

  .sos-hero-v4,
  .sos-quick-v4,
  .sos-commune-v4,
  .sos-section-v4,
  .sos-security-v4,
  .sos-tech-cta-v4 {
    width: min(100% - 22px, 1180px);
  }

  .sos-hero-v4 {
    padding-top: 34px;
    gap: 22px;
  }

  .sos-hero-v4 h1 {
    font-size: 40px;
    letter-spacing: -.06em;
  }

  .sos-hero-v4 p {
    font-size: 16px;
  }

  .sos-hero-actions-v4 {
    display: grid;
    grid-template-columns: 1fr;
  }

  .sos-btn-v4 {
    width: 100%;
  }

  .sos-trust-v4 {
    display: grid;
    grid-template-columns: 1fr;
  }

  .sos-hero-panel-v4,
  .sos-commune-v4,
  .sos-security-v4,
  .sos-tech-cta-v4 {
    border-radius: 24px;
    padding: 20px;
  }

  .sos-stats-v4,
  .sos-commune-form-v4,
  .sos-category-grid-v4,
  .sos-tech-grid-v4,
  .sos-steps-v4 {
    grid-template-columns: 1fr;
  }

  .sos-quick-v4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .sos-quick-v4 a {
    padding: 13px;
    border-radius: 18px;
  }

  .sos-quick-v4 span {
    width: 42px;
    height: 42px;
  }

  .sos-section-v4 {
    padding-top: 42px;
  }

  .sos-section-title-v4 {
    align-items: flex-start;
    flex-direction: column;
  }

  .sos-section-title-v4 a {
    width: 100%;
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: #fff1ef;
  }

  .sos-category-card-v4 {
    min-height: auto;
  }

  .sos-security-v4 h2,
  .sos-tech-cta-v4 h2 {
    font-size: 28px;
  }

  .sos-mobile-bar-v4 {
    position: fixed;
    left: 10px;
    right: 10px;
    bottom: 10px;
    z-index: 9999;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    padding: 8px;
    border-radius: 22px;
    background: rgba(16, 24, 40, .94);
    backdrop-filter: blur(14px);
    box-shadow: 0 18px 45px rgba(16,24,40,.28);
  }

  .sos-mobile-bar-v4 a {
    min-height: 44px;
    display: grid;
    place-items: center;
    text-align: center;
    border-radius: 16px;
    background: #fff;
    color: #101828;
    font-size: 12px;
    font-weight: 950;
    text-decoration: none;
  }

  .sos-mobile-bar-v4 a:first-child {
    background: var(--sos-red);
    color: #fff;
  }
}

/* PETITS ÉCRANS */
@media (max-width: 390px) {
  .sos-hero-v4 h1 {
    font-size: 36px;
  }

  .sos-panel-header-v4 {
    flex-direction: column;
  }

  .sos-tech-card-v4,
  .sos-category-card-v4 {
    padding: 18px;
    border-radius: 22px;
  }
}
/* ======================================================
   TECHNICIAN DASHBOARD V2
====================================================== */

.tech-dash-v2 {
  display: grid;
  gap: 18px;
}

.tech-hero-v2 {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .65fr);
  gap: 18px;
}

.tech-profile-card-v2,
.tech-status-card-v2,
.tech-panel-v2 {
  background: #fff;
  border: 1px solid #e4e7ec;
  border-radius: 26px;
  padding: 22px;
  box-shadow: 0 10px 28px rgba(16,24,40,.045);
}

.tech-profile-top-v2 {
  display: flex;
  align-items: center;
  gap: 14px;
}

.tech-profile-top-v2 img,
.tech-profile-avatar-v2 {
  width: 76px;
  height: 76px;
  flex: 0 0 76px;
  border-radius: 24px;
}

.tech-profile-top-v2 img {
  object-fit: cover;
  border: 2px solid #fff;
  box-shadow: 0 10px 24px rgba(16,24,40,.14);
}

.tech-profile-avatar-v2 {
  display: grid;
  place-items: center;
  background: #101828;
  color: #fff;
  font-size: 30px;
  font-weight: 950;
}

.tech-profile-top-v2 h1 {
  margin: 0 0 8px;
  font-size: 28px;
  letter-spacing: -.04em;
}

.tech-profile-badges-v2 {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.tech-profile-badges-v2 span {
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  background: #fff1ef;
  color: #b42318;
  font-size: 12px;
  font-weight: 950;
}

.tech-profile-badges-v2 .ok {
  background: #ecfdf3;
  color: #027a48;
}

.tech-profile-badges-v2 .warn {
  background: #fffbeb;
  color: #93370d;
}

.tech-profile-desc-v2 {
  margin: 16px 0;
  color: #667085;
  line-height: 1.55;
}

.tech-profile-meta-v2 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}

.tech-profile-meta-v2 div,
.tech-stats-v2 div {
  padding: 14px;
  border-radius: 18px;
  background: #f8fafc;
  border: 1px solid #e4e7ec;
}

.tech-profile-meta-v2 small,
.tech-stats-v2 span,
.tech-status-card-v2 small,
.tech-panel-head-v2 small {
  display: block;
  color: #667085;
  font-size: 12px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.tech-profile-meta-v2 strong {
  display: block;
  margin-top: 5px;
  color: #101828;
}

.tech-profile-actions-v2 {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}

.tech-status-card-v2 {
  background: #101828;
  color: #fff;
}

.tech-status-card-v2.is-ok {
  background:
    radial-gradient(circle at 100% 0%, rgba(18,183,106,.22), transparent 35%),
    #101828;
}

.tech-status-card-v2.is-waiting {
  background:
    radial-gradient(circle at 100% 0%, rgba(247,144,9,.25), transparent 35%),
    #101828;
}

.tech-status-card-v2 small {
  color: #fecdca;
}

.tech-status-card-v2 h2 {
  margin: 8px 0;
  font-size: 28px;
  line-height: 1;
  letter-spacing: -.04em;
}

.tech-status-card-v2 p {
  color: #d0d5dd;
  line-height: 1.55;
}

.tech-note-v2 {
  margin-top: 18px;
  padding: 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.08);
  font-size: 22px;
  font-weight: 950;
}

.tech-note-v2 span {
  display: block;
  margin-top: 4px;
  color: #d0d5dd;
  font-size: 13px;
}

.tech-stats-v2 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.tech-stats-v2 strong {
  display: block;
  margin-top: 7px;
  font-size: 30px;
  line-height: 1;
  letter-spacing: -.04em;
}

.tech-grid-main-v2 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .75fr);
  gap: 18px;
}

.tech-panel-head-v2 {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
}

.tech-panel-head-v2 h2 {
  margin: 6px 0 0;
  font-size: 26px;
  line-height: 1;
  letter-spacing: -.04em;
}

.tech-panel-head-v2 a {
  color: #ef3b2d;
  font-weight: 950;
}

.tech-service-form-v2 {
  display: grid;
  gap: 9px;
}

.tech-service-form-v2 label {
  font-weight: 850;
  color: #344054;
}

.tech-service-form-v2 input,
.tech-service-form-v2 textarea {
  width: 100%;
  border: 1px solid #e4e7ec;
  border-radius: 14px;
  padding: 12px;
  font: inherit;
}

.tech-service-list-v2,
.tech-review-list-v2,
.tech-mission-list-v2 {
  display: grid;
  gap: 12px;
  margin-top: 16px;
}

.tech-service-item-v2,
.tech-review-item-v2,
.tech-mission-card-v2 {
  padding: 16px;
  border-radius: 20px;
  background: #f8fafc;
  border: 1px solid #e4e7ec;
}

.tech-service-item-v2 {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.tech-service-item-v2 strong {
  display: block;
}

.tech-service-item-v2 span {
  display: inline-block;
  margin-top: 5px;
  color: #ef3b2d;
  font-weight: 950;
}

.tech-service-item-v2 p,
.tech-review-item-v2 p {
  margin: 8px 0 0;
  color: #667085;
  line-height: 1.45;
}

.tech-review-item-v2 div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.tech-review-item-v2 span,
.tech-review-item-v2 small {
  color: #667085;
}

.tech-mission-head-v2 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.tech-mission-head-v2 small {
  color: #667085;
  font-weight: 850;
}

.tech-mission-head-v2 h3 {
  margin: 5px 0 0;
  font-size: 21px;
  letter-spacing: -.03em;
}

.tech-status-pill-v2 {
  display: inline-flex;
  padding: 7px 10px;
  border-radius: 999px;
  background: #fff1ef;
  color: #b42318;
  font-size: 12px;
  font-weight: 950;
  white-space: nowrap;
}

.tech-mission-info-v2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 7px 14px;
  margin: 14px 0;
}

.tech-mission-info-v2 p {
  margin: 0;
  color: #667085;
  line-height: 1.45;
}

.tech-mission-info-v2 strong {
  color: #101828;
}

.tech-completed-box-v2 {
  padding: 12px;
  border-radius: 16px;
  background: #ecfdf3;
  border: 1px solid #abefc6;
  color: #027a48;
  margin-bottom: 12px;
}

.tech-completed-box-v2 span {
  display: inline-block;
  margin-left: 8px;
  font-weight: 950;
}

.tech-completed-box-v2 p {
  margin: 7px 0 0;
}

.tech-mission-actions-v2 {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tech-mission-actions-v2 form {
  display: inline-flex;
  gap: 7px;
  flex-wrap: wrap;
}

.tech-mission-actions-v2 input {
  min-height: 36px;
  border: 1px solid #e4e7ec;
  border-radius: 10px;
  padding: 0 10px;
}

.tech-empty-v2 {
  padding: 16px;
  border-radius: 18px;
  background: #f8fafc;
  border: 1px dashed #d0d5dd;
  color: #667085;
  text-align: center;
}

@media (max-width: 1050px) {
  .tech-hero-v2,
  .tech-grid-main-v2 {
    grid-template-columns: 1fr;
  }

  .tech-profile-meta-v2,
  .tech-stats-v2 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 700px) {
  .tech-profile-card-v2,
  .tech-status-card-v2,
  .tech-panel-v2 {
    border-radius: 20px;
    padding: 16px;
  }

  .tech-profile-top-v2 {
    align-items: flex-start;
  }

  .tech-profile-top-v2 img,
  .tech-profile-avatar-v2 {
    width: 62px;
    height: 62px;
    flex-basis: 62px;
    border-radius: 20px;
  }

  .tech-profile-top-v2 h1 {
    font-size: 23px;
  }

  .tech-profile-meta-v2,
  .tech-stats-v2,
  .tech-mission-info-v2 {
    grid-template-columns: 1fr;
  }

  .tech-profile-actions-v2 a,
  .tech-service-form-v2 button,
  .tech-mission-actions-v2 a,
  .tech-mission-actions-v2 button {
    width: 100%;
  }

  .tech-service-item-v2,
  .tech-review-item-v2 div,
  .tech-mission-head-v2 {
    flex-direction: column;
  }

  .tech-mission-actions-v2,
  .tech-mission-actions-v2 form {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .tech-mission-actions-v2 input {
    width: 100%;
  }
}
/* ======================================================
   TECHNICIAN DASHBOARD V2
====================================================== */

.tech-dash-v2 {
  display: grid;
  gap: 18px;
}

.tech-hero-v2 {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .65fr);
  gap: 18px;
}

.tech-profile-card-v2,
.tech-status-card-v2,
.tech-panel-v2 {
  background: #fff;
  border: 1px solid #e4e7ec;
  border-radius: 26px;
  padding: 22px;
  box-shadow: 0 10px 28px rgba(16,24,40,.045);
}

.tech-profile-top-v2 {
  display: flex;
  align-items: center;
  gap: 14px;
}

.tech-profile-top-v2 img,
.tech-profile-avatar-v2 {
  width: 76px;
  height: 76px;
  flex: 0 0 76px;
  border-radius: 24px;
}

.tech-profile-top-v2 img {
  object-fit: cover;
  border: 2px solid #fff;
  box-shadow: 0 10px 24px rgba(16,24,40,.14);
}

.tech-profile-avatar-v2 {
  display: grid;
  place-items: center;
  background: #101828;
  color: #fff;
  font-size: 30px;
  font-weight: 950;
}

.tech-profile-top-v2 h1 {
  margin: 0 0 8px;
  font-size: 28px;
  letter-spacing: -.04em;
}

.tech-profile-badges-v2 {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.tech-profile-badges-v2 span {
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  background: #fff1ef;
  color: #b42318;
  font-size: 12px;
  font-weight: 950;
}

.tech-profile-badges-v2 .ok {
  background: #ecfdf3;
  color: #027a48;
}

.tech-profile-badges-v2 .warn {
  background: #fffbeb;
  color: #93370d;
}

.tech-profile-desc-v2 {
  margin: 16px 0;
  color: #667085;
  line-height: 1.55;
}

.tech-profile-meta-v2 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}

.tech-profile-meta-v2 div,
.tech-stats-v2 div {
  padding: 14px;
  border-radius: 18px;
  background: #f8fafc;
  border: 1px solid #e4e7ec;
}

.tech-profile-meta-v2 small,
.tech-stats-v2 span,
.tech-status-card-v2 small,
.tech-panel-head-v2 small {
  display: block;
  color: #667085;
  font-size: 12px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.tech-profile-meta-v2 strong {
  display: block;
  margin-top: 5px;
  color: #101828;
}

.tech-profile-actions-v2 {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}

.tech-status-card-v2 {
  background: #101828;
  color: #fff;
}

.tech-status-card-v2.is-ok {
  background:
    radial-gradient(circle at 100% 0%, rgba(18,183,106,.22), transparent 35%),
    #101828;
}

.tech-status-card-v2.is-waiting {
  background:
    radial-gradient(circle at 100% 0%, rgba(247,144,9,.25), transparent 35%),
    #101828;
}

.tech-status-card-v2 small {
  color: #fecdca;
}

.tech-status-card-v2 h2 {
  margin: 8px 0;
  font-size: 28px;
  line-height: 1;
  letter-spacing: -.04em;
}

.tech-status-card-v2 p {
  color: #d0d5dd;
  line-height: 1.55;
}

.tech-note-v2 {
  margin-top: 18px;
  padding: 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.08);
  font-size: 22px;
  font-weight: 950;
}

.tech-note-v2 span {
  display: block;
  margin-top: 4px;
  color: #d0d5dd;
  font-size: 13px;
}

.tech-stats-v2 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.tech-stats-v2 strong {
  display: block;
  margin-top: 7px;
  font-size: 30px;
  line-height: 1;
  letter-spacing: -.04em;
}

.tech-grid-main-v2 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .75fr);
  gap: 18px;
}

.tech-panel-head-v2 {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
}

.tech-panel-head-v2 h2 {
  margin: 6px 0 0;
  font-size: 26px;
  line-height: 1;
  letter-spacing: -.04em;
}

.tech-panel-head-v2 a {
  color: #ef3b2d;
  font-weight: 950;
}

.tech-service-form-v2 {
  display: grid;
  gap: 9px;
}

.tech-service-form-v2 label {
  font-weight: 850;
  color: #344054;
}

.tech-service-form-v2 input,
.tech-service-form-v2 textarea {
  width: 100%;
  border: 1px solid #e4e7ec;
  border-radius: 14px;
  padding: 12px;
  font: inherit;
}

.tech-service-list-v2,
.tech-review-list-v2,
.tech-mission-list-v2 {
  display: grid;
  gap: 12px;
  margin-top: 16px;
}

.tech-service-item-v2,
.tech-review-item-v2,
.tech-mission-card-v2 {
  padding: 16px;
  border-radius: 20px;
  background: #f8fafc;
  border: 1px solid #e4e7ec;
}

.tech-service-item-v2 {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.tech-service-item-v2 strong {
  display: block;
}

.tech-service-item-v2 span {
  display: inline-block;
  margin-top: 5px;
  color: #ef3b2d;
  font-weight: 950;
}

.tech-service-item-v2 p,
.tech-review-item-v2 p {
  margin: 8px 0 0;
  color: #667085;
  line-height: 1.45;
}

.tech-review-item-v2 div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.tech-review-item-v2 span,
.tech-review-item-v2 small {
  color: #667085;
}

.tech-mission-head-v2 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.tech-mission-head-v2 small {
  color: #667085;
  font-weight: 850;
}

.tech-mission-head-v2 h3 {
  margin: 5px 0 0;
  font-size: 21px;
  letter-spacing: -.03em;
}

.tech-status-pill-v2 {
  display: inline-flex;
  padding: 7px 10px;
  border-radius: 999px;
  background: #fff1ef;
  color: #b42318;
  font-size: 12px;
  font-weight: 950;
  white-space: nowrap;
}

.tech-mission-info-v2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 7px 14px;
  margin: 14px 0;
}

.tech-mission-info-v2 p {
  margin: 0;
  color: #667085;
  line-height: 1.45;
}

.tech-mission-info-v2 strong {
  color: #101828;
}

.tech-completed-box-v2 {
  padding: 12px;
  border-radius: 16px;
  background: #ecfdf3;
  border: 1px solid #abefc6;
  color: #027a48;
  margin-bottom: 12px;
}

.tech-completed-box-v2 span {
  display: inline-block;
  margin-left: 8px;
  font-weight: 950;
}

.tech-completed-box-v2 p {
  margin: 7px 0 0;
}

.tech-mission-actions-v2 {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tech-mission-actions-v2 form {
  display: inline-flex;
  gap: 7px;
  flex-wrap: wrap;
}

.tech-mission-actions-v2 input {
  min-height: 36px;
  border: 1px solid #e4e7ec;
  border-radius: 10px;
  padding: 0 10px;
}

.tech-empty-v2 {
  padding: 16px;
  border-radius: 18px;
  background: #f8fafc;
  border: 1px dashed #d0d5dd;
  color: #667085;
  text-align: center;
}

@media (max-width: 1050px) {
  .tech-hero-v2,
  .tech-grid-main-v2 {
    grid-template-columns: 1fr;
  }

  .tech-profile-meta-v2,
  .tech-stats-v2 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 700px) {
  .tech-profile-card-v2,
  .tech-status-card-v2,
  .tech-panel-v2 {
    border-radius: 20px;
    padding: 16px;
  }

  .tech-profile-top-v2 {
    align-items: flex-start;
  }

  .tech-profile-top-v2 img,
  .tech-profile-avatar-v2 {
    width: 62px;
    height: 62px;
    flex-basis: 62px;
    border-radius: 20px;
  }

  .tech-profile-top-v2 h1 {
    font-size: 23px;
  }

  .tech-profile-meta-v2,
  .tech-stats-v2,
  .tech-mission-info-v2 {
    grid-template-columns: 1fr;
  }

  .tech-profile-actions-v2 a,
  .tech-service-form-v2 button,
  .tech-mission-actions-v2 a,
  .tech-mission-actions-v2 button {
    width: 100%;
  }

  .tech-service-item-v2,
  .tech-review-item-v2 div,
  .tech-mission-head-v2 {
    flex-direction: column;
  }

  .tech-mission-actions-v2,
  .tech-mission-actions-v2 form {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .tech-mission-actions-v2 input {
    width: 100%;
  }
}