/* ===== TABLET (1024px) ===== */
@media (max-width: 1024px) {
  .treatments-grid { grid-template-columns: repeat(2, 1fr); }
  .treatments-row2 { grid-template-columns: 1fr; }
  .treat-card-wide { grid-template-columns: 1fr; }
  .treat-card-wide .treat-card-img { height: 240px; min-height: auto; }
  .footer-top { grid-template-columns: 1fr 1fr; }
  .ages-cards { grid-template-columns: repeat(2, 1fr); }
  .ages-cards .age-card:nth-child(3) { grid-column: 1 / -1; }
  .clinic-main { grid-template-columns: 1fr; }
  .clinic-main-img { min-height: 240px; height: 240px; }
  .content-two-col { grid-template-columns: 1fr; gap: 48px; }
  .process-steps { grid-template-columns: repeat(3, 1fr); }
  .showcase { grid-template-columns: 1fr; min-height: auto; }
  .showcase-img { height: 300px; }
  .showcase-content { padding: 48px 32px; }
  .about-img-main { height: 400px; }
  .content-img { height: 320px; }
  .pad { padding: 0 48px; }

  /* Feature grid - 2 colonnes tablette */
  .feature-grid > * {
    flex: 1 1 calc(50% - 16px) !important;
    max-width: calc(50% - 12px) !important;
  }
  #reasons-grid > * {
    flex: 1 1 calc(50% - 16px) !important;
    max-width: calc(50% - 12px) !important;
  }
}

/* ===== MOBILE (768px) ===== */
@media (max-width: 768px) {
  /* Nav */
  .nav { padding: 14px 24px; }
  .nav.scrolled { padding: 10px 24px; }
  .nav-links { display: none; }
  .nav-burger { display: flex; }
  .dropdown { display: none !important; }
  .nav-chevron { display: none; }

  /* Mobile nav overlay - fix boutons */
  .mobile-nav {
    overflow-y: auto;
    gap: 0;
    justify-content: flex-start;
    padding: 80px 32px 40px;
  }
  .mobile-nav > a {
    padding: 14px 0;
    border-bottom: 1px solid rgba(0,0,0,0.06);
    font-size: 1.3rem;
    width: 100%;
    text-align: center;
  }
  .mobile-nav > a:last-of-type { border-bottom: none; }
  .mobile-nav .btn-fill,
  .mobile-nav .btn-outline,
  .mobile-nav [class*="btn"] {
    margin-top: 20px;
    font-size: 0.95rem;
    padding: 14px 32px;
    border-bottom: none;
    width: 100%;
    max-width: 280px;
    text-align: center;
    justify-content: center;
  }

  /* Hero */
  .hero { grid-template-columns: 1fr; min-height: auto; }
  .hero-left { padding: 100px 24px 40px; max-width: 100%; }
  .hero-right { height: 260px; }
  .hero-right.hero-slider-wrap { display: none; }
  .hero-right img { object-position: center 20%; }
  .hero-right::after {
    left: 0; top: 0; right: 0; bottom: auto;
    width: 100%; height: 80px;
    background: linear-gradient(180deg, var(--cream), transparent);
  }
  .hero-scroll-hint { display: none; }

  /* Conteneurs */
  .pad { padding: 0 20px; }

  /* Page header */
  .page-header { padding: 100px 0 40px; }

  /* ===== FEATURE GRID / CARDS - FIX MAJEUR ===== */
  .feature-grid {
    flex-direction: column !important;
    gap: 16px;
  }
  .feature-grid > * {
    flex: 1 1 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
  }
  #reasons-grid > * {
    flex: 1 1 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
  }
  .feature-card {
    border-radius: 16px;
  }
  .feature-card img {
    height: 160px;
    width: 100%;
    object-fit: cover;
  }

  /* ===== PHOTOS MOBILE ===== */
  .treat-card-img { height: 180px; }
  .treat-card-wide .treat-card-img { height: 200px; min-height: auto; }
  .treat-card-body { padding: 20px; }
  .age-card-img { height: 200px; }
  .age-card-body { padding: 20px; }
  .team-banner { height: 260px; }
  .team-banner-content {
    left: 20px; right: 20px; bottom: 20px;
    flex-direction: column; gap: 12px; align-items: flex-start;
  }
  .team-banner-content h2 { font-size: 1.3rem; }
  .team-banner-content p { text-align: left; font-size: 0.85rem; }
  .showcase { grid-template-columns: 1fr; min-height: auto; }
  .showcase-img { height: 220px; }
  .showcase-content { padding: 28px 20px; }
  .clinic-main { grid-template-columns: 1fr; }
  .clinic-main-img { min-height: auto; height: 200px; }
  .clinic-main-body { padding: 20px; }
  .clinic-secondary { flex-wrap: wrap; padding: 16px 20px; }
  .content-two-col { grid-template-columns: 1fr; gap: 24px; }
  .content-img { height: 280px; border-radius: 16px; }
  .about-layout { grid-template-columns: 1fr; gap: 32px; }
  .about-img-main { height: 280px; border-radius: 20px; }
  .about-float-card { right: 12px; bottom: -16px; padding: 14px 18px; font-size: 0.85rem; }
  .about-stats { gap: 16px; }

  /* Before/After */
  .ba-case-card { border-radius: 12px; }
  .ba-case-img { height: 200px; }
  .ba-case-body { padding: 16px; }

  /* Content images - pleine largeur */
  .content-section img,
  section img:not(.nav-logo):not([height="40"]) {
    max-width: 100%;
    height: auto;
  }

  /* Treatments grid */
  .treatments-grid { grid-template-columns: 1fr; }
  .treatments-row2 { grid-template-columns: 1fr; }
  .treatments-header { flex-direction: column; gap: 16px; align-items: flex-start; }
  .treatments-header p { text-align: left; }

  /* Ages */
  .ages-trio { padding: 60px 0; }
  .ages-cards { grid-template-columns: 1fr; }
  .ages-cards .age-card:nth-child(3) { grid-column: auto; }

  /* Process / FAQ */
  .process-steps { grid-template-columns: 1fr; }
  .faq-list { grid-template-columns: 1fr; }

  /* Google Reviews */
  .gr-header { flex-direction: column; gap: 20px; text-align: center; }
  .gr-badge { justify-content: center; }
  .gr-platforms { gap: 10px; }
  .gr-platform-badge { min-width: 140px; padding: 12px 14px; gap: 8px; }
  .gr-platform-number { font-size: 1.4rem; }
  .gr-platform-icon { width: 24px; height: 24px; }
  .gr-header-text .section-heading { font-size: 1.4rem; }
  .gr-card { flex: 0 0 270px; }
  .gr-arrow { display: none; }
  .gr-carousel { margin: 0 -16px; padding: 0 16px; }

  /* CTA */
  .cta { padding: 60px 20px; }
  .cta h2 { font-size: 1.6rem; }
  .cta-buttons { flex-direction: column; align-items: center; }
  .btn-coral, .btn-ghost { width: 100%; max-width: 384px; justify-content: center; }

  /* Footer */
  .footer { padding: 40px 20px 24px; }
  .footer-top { grid-template-columns: 1fr; gap: 28px; }
  .footer-bottom { flex-direction: column; gap: 8px; text-align: center; }

  /* Sections espacement */
  .section-pad { padding: 50px 0; }
  .content-section { padding: 50px 20px; }

  /* Stats row */
  .stats-row { flex-direction: column; gap: 16px; }
  .stat-item { min-width: auto; }

  /* Search */
  .search-overlay { padding-top: 20px; }
  .search-modal { width: 95%; max-height: 80vh; border-radius: 16px; }
  .search-input { font-size: 1rem; }
  .search-popular { gap: 6px; }
  .search-tag { font-size: 0.78rem; padding: 5px 12px; }
}

/* ===== SMALL MOBILE (480px) ===== */
@media (max-width: 480px) {
  /* Hero */
  .hero-left { padding: 90px 16px 28px; }
  .hero h1 { font-size: 1.7rem; letter-spacing: -0.5px; }
  .hero-eyebrow { font-size: 0.6rem; letter-spacing: 3px; }
  .hero-desc { font-size: 0.88rem; }
  .hero-actions { flex-direction: column; gap: 12px; }
  .btn-fill { width: 100%; justify-content: center; padding: 14px 28px; }
  .hero-right { height: 200px; }

  /* Headings */
  .section-heading { font-size: 1.3rem !important; }
  .page-header h1 { font-size: 1.4rem; }
  .page-header p { font-size: 0.88rem; }
  .page-header { padding: 90px 0 28px; }

  /* Nav */
  .nav { padding: 10px 16px; }
  .nav-logo { font-size: 1.5rem; }
  .mobile-nav > a { font-size: 1.1rem; padding: 12px 0; }

  /* Padding */
  .pad { padding: 0 16px; }
  .content-section { padding: 36px 16px; }

  /* Photos small mobile */
  .treat-card-img { height: 200px; }
  .treat-card-body { padding: 16px; }
  .age-card-img { height: 160px; }
  .age-card-body { padding: 16px; }
  .team-banner { height: 180px; }
  .team-banner-content h2 { font-size: 1.1rem; }
  .showcase-img { height: 160px; }
  .clinic-main-img { height: 160px; }
  .content-img { height: 300px; border-radius: 12px; }
  .about-img-main { height: 200px; border-radius: 14px; }
  .feature-card img { height: 130px; }
  .ba-case-img { height: 150px; }

  /* Cards */
  .treat-card, .age-card { border-radius: 14px; }
  .feature-card { border-radius: 14px; }

  /* Tables */
  table { font-size: 0.85rem; }
  table td, table th { padding: 8px 10px; }

  /* CTA */
  .cta { padding: 40px 16px; }
  .cta h2 { font-size: 1.3rem; }

  /* Footer */
  .footer { padding: 28px 16px 16px; }
  .footer-col h4 { font-size: 0.88rem; }

  /* FAQ */
  .faq-item summary { font-size: 0.88rem; padding: 12px 14px; }
  .faq-item.open .faq-answer { padding: 0 14px 12px; font-size: 0.85rem; }

  /* Sections */
  .section-pad { padding: 36px 0; }
  .ages-trio { padding: 36px 0; }

  /* Google reviews */
  .gr-card { flex: 0 0 250px; }
  .gr-platform-badge { min-width: 120px; font-size: 0.8rem; }
}

/* ===== GLOBAL OVERFLOW FIX ===== */
html, body { overflow-x: hidden; }
img, video, iframe, table { max-width: 100%; }

/* ===== FIXES ADDITIONNELS MOBILE ===== */

/* Hero slider - pas carré en mobile */
@media (max-width: 768px) {
  .hero-slider {
    aspect-ratio: 16/10 !important;
    border-radius: 16px !important;
  }
  .hero-left > .reveal:first-child a {
    font-size: 2.2rem !important;
  }
  .hero-left {
    padding-top: 90px !important;
  }

  /* Trust bar logos - plus petits */
  .trust-bar-logos {
    gap: 16px !important;
  }
  .trust-bar-logos img {
    height: 32px !important;
  }
}

@media (max-width: 480px) {
  .hero-slider {
    aspect-ratio: 16/9 !important;
    border-radius: 12px !important;
  }
  .hero-left > .reveal:first-child a {
    font-size: 1.8rem !important;
  }
  .hero-left {
    padding-top: 80px !important;
  }

  /* Trust bar logos - encore plus petits */
  .trust-bar-logos {
    gap: 12px !important;
  }
  .trust-bar-logos img {
    height: 26px !important;
  }
  .trust-bar {
    padding: 20px 0 16px !important;
  }
  .trust-bar-label {
    font-size: 0.65rem !important;
    margin-bottom: 14px !important;
  }
}

/* ===== FIXES V3 - Photos coupées + stats ===== */

@media (max-width: 768px) {
  /* Photo docteur - ne pas couper la tête */
  .about-img-main {
    height: auto !important;
    max-height: 400px;
    border-radius: 24px 24px 16px 16px !important;
  }
  .about-img-main img {
    object-position: top center !important;
    height: auto !important;
    max-height: 400px;
  }

  /* Stats 5000+ / 2 / 15+ - centrer */
  .about-stats {
    justify-content: center !important;
    gap: 28px !important;
    flex-wrap: wrap;
    text-align: center;
  }
  .stat-num {
    font-size: 2rem !important;
  }
  .stat-label {
    font-size: 0.7rem !important;
  }

  /* Age cards - photos plus hautes pour ne pas couper */
  .age-card-img {
    height: 240px !important;
  }
  .age-card-img img {
    object-position: center 20% !important;
  }

  /* Images content - center by default, inline styles take precedence */
  .content-img img,
  .treat-card-img img {
    object-position: center center;
  }
  .feature-card img {
    object-position: center center;
  }
}

@media (max-width: 480px) {
  .about-img-main {
    max-height: 320px;
  }
  .about-img-main img {
    max-height: 320px;
  }
  .about-stats {
    gap: 20px !important;
  }
  .stat-num {
    font-size: 1.6rem !important;
  }
  .age-card-img {
    height: 200px !important;
  }
}

/* ===== FIXES V4 - Menu + CTA + Espace pro ===== */

@media (max-width: 768px) {
  /* Menu mobile - boutons en colonne */
  .mobile-nav > div:last-child {
    flex-direction: column !important;
    gap: 12px !important;
    width: 100%;
    padding: 0 20px;
  }
  .mobile-nav .btn-outline,
  .mobile-nav .btn-fill {
    flex: none !important;
    width: 100% !important;
    padding: 14px 24px !important;
    font-size: 0.95rem !important;
    border-radius: 50px;
    justify-content: center;
    display: flex;
  }

  /* CTA section - plus d'espace */
  .cta {
    padding: 50px 20px !important;
  }
  .cta h2 {
    font-size: 1.5rem !important;
    line-height: 1.3 !important;
  }
  .cta p {
    font-size: 0.88rem !important;
    line-height: 1.6;
  }

  /* Espace professionnel banner - empiler verticalement */
  .content-section > .pad > div[style*="display: flex"] {
    flex-direction: column !important;
    text-align: center;
    gap: 20px !important;
  }
}

@media (max-width: 480px) {
  .cta {
    padding: 36px 16px !important;
  }
  .cta h2 {
    font-size: 1.3rem !important;
  }
  .mobile-nav .btn-outline,
  .mobile-nav .btn-fill {
    font-size: 0.88rem !important;
    padding: 12px 20px !important;
  }
}

/* ===== FIX V5 - Hero slider mobile ===== */

@media (max-width: 768px) {
  /* Hero en colonne */
  .hero {
    grid-template-columns: 1fr !important;
    min-height: auto !important;
  }

  /* Hero slider - format paysage, coins arrondis, pas carré */
  .hero-right.hero-slider-wrap {
    order: -1;
    width: 100%;
    padding: 80px 16px 0;
  }
  .hero-slider {
    aspect-ratio: 3/2 !important;
    border-radius: 20px !important;
    width: 100% !important;
  }
  .hero-slide img {
    object-position: center 25% !important;
  }
  .hero-dots {
    margin-top: 12px !important;
  }
  .hero-dot {
    width: 8px !important;
    height: 8px !important;
  }

  /* Hero texte en dessous */
  .hero-left {
    padding: 24px 20px 40px !important;
    text-align: center;
  }
  .hero-left > .reveal:first-child {
    margin-bottom: 8px !important;
  }
  .hero-left > .reveal:first-child a {
    font-size: 2rem !important;
  }
  .hero h1 {
    font-size: 1.6rem !important;
    line-height: 1.3;
  }
  .hero-desc {
    font-size: 0.9rem !important;
  }
  .hero-actions {
    flex-direction: column !important;
    align-items: center;
    gap: 12px !important;
  }
  .hero-actions .btn-fill {
    width: 100%;
    max-width: 384px;
  }
}

@media (max-width: 480px) {
  .hero-right.hero-slider-wrap {
    padding: 70px 12px 0;
  }
  .hero-slider {
    aspect-ratio: 16/10 !important;
    border-radius: 16px !important;
  }
  .hero-left {
    padding: 16px 16px 32px !important;
  }
  .hero-left > .reveal:first-child a {
    font-size: 1.7rem !important;
  }
  .hero h1 {
    font-size: 1.4rem !important;
  }
  .hero-desc {
    font-size: 0.85rem !important;
  }
}

/* ===== FIX V6 - Marges uniformes mobile ===== */

@media (max-width: 768px) {
  /* Padding horizontal uniforme 20px partout */
  .pad,
  .content-section,
  .content-section > .pad,
  section > .pad,
  .treatments > .pad,
  .ages-trio > .pad,
  .doctor-bio > .pad,
  .about > .pad {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  /* Content two-col et ses enfants */
  .content-two-col {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Sections avec padding inline */
  section[style*="padding"],
  .content-section[style*="padding"] {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  /* Feature cards internes */
  .feature-card {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  /* Body global */
  body {
    overflow-x: hidden;
  }
}

@media (max-width: 480px) {
  .pad,
  .content-section,
  .content-section > .pad,
  section > .pad,
  .treatments > .pad,
  .ages-trio > .pad,
  .doctor-bio > .pad,
  .about > .pad {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  section[style*="padding"],
  .content-section[style*="padding"] {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .feature-card {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* ===== FIX V7 - Age cards photos visages ===== */
@media (max-width: 768px) {
  .age-card-img {
    height: 280px !important;
  }
  .age-card-img img {
    object-position: center center !important;
  }
}
@media (max-width: 480px) {
  .age-card-img {
    height: 240px !important;
  }
}

/* ===== FIX V8 - age-card 373px + footer centré ===== */
@media (max-width: 480px) {
  .age-card-img {
    height: 373px !important;
  }
}

@media (max-width: 768px) {
  /* Footer centré en mobile */
  .footer {
    text-align: center !important;
  }
  .footer-top {
    grid-template-columns: 1fr !important;
    text-align: center !important;
  }
  .footer-col {
    text-align: center !important;
    align-items: center !important;
    display: flex;
    flex-direction: column;
  }
  .footer-col h4 {
    text-align: center !important;
  }
  .footer-col a,
  .footer-col p {
    text-align: center !important;
  }
  .footer-col ul {
    padding: 0 !important;
    list-style: none;
    align-items: center;
    display: flex;
    flex-direction: column;
  }
  .footer-bottom {
    text-align: center !important;
    justify-content: center !important;
  }
  .footer-logo-wrap {
    display: flex;
    justify-content: center;
  }
}

/* ===== FIX V9 - Menu boutons mobile ===== */
.mobile-nav-buttons {
  display: flex;
  gap: 8px;
  margin-top: 12px;
}

@media (max-width: 768px) {
  .mobile-nav-buttons {
    flex-direction: column !important;
    gap: 12px !important;
    width: 100%;
    padding: 0 16px;
  }
  .mobile-nav-buttons .btn-outline,
  .mobile-nav-buttons .btn-fill {
    width: 100% !important;
    text-align: center !important;
    font-size: 0.95rem !important;
    padding: 14px 24px !important;
    display: flex;
    justify-content: center;
  }
}

/* ===== FIX V10 - content-text padding ===== */
@media (max-width: 768px) {
  .content-two-col .content-text {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* ===== FIX V11 - Menu boutons centrés + texte visible ===== */
@media (max-width: 768px) {
  .mobile-nav-buttons {
    flex-direction: column !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    padding: 0 24px !important;
    margin-top: 20px !important;
  }
  .mobile-nav-buttons .btn-outline,
  .mobile-nav-buttons .btn-fill {
    width: 100% !important;
    max-width: 280px !important;
    text-align: center !important;
    justify-content: center !important;
    font-size: 0.9rem !important;
    padding: 16px 24px !important;
    display: flex !important;
    color: var(--white) !important;
  }
  .mobile-nav-buttons .btn-outline {
    color: var(--coral) !important;
  }
}

/* ===== FIX V12 - Navbar mobile opaque + contenu pas caché ===== */
@media (max-width: 768px) {
  .nav {
    background: rgba(255, 255, 255, 1) !important; border-bottom: 1px solid rgba(0,0,0,0.08) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    padding: 12px 16px !important;
  }
  .nav.scrolled {
    padding: 10px 16px !important;
  }

  /* Première section des pages - assez de marge pour le header */
  .page-header,
  body > section:first-of-type,
  main > section:first-of-type,
  .content-section:first-of-type {
    padding-top: 80px !important;
  }
}

/* ===== FIX V14 - Symptom card grid 1 colonne mobile ===== */
@media (max-width: 768px) {
  .symptom-card ul {
    grid-template-columns: 1fr !important;
  }
}

/* ===== FIX V15 - Tableaux mobile ===== */
@media (max-width: 768px) {
  /* Wrapper scroll horizontal */
  table {
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
    max-width: 100% !important;
    font-size: 0.8rem !important;
    border-radius: 12px;
  }
  table thead {
    position: sticky;
    left: 0;
  }
  table th,
  table td {
    padding: 10px 12px !important;
    min-width: 100px;
    white-space: normal !important;
  }
  table th:first-child,
  table td:first-child {
    position: sticky;
    left: 0;
    background: var(--white, #fff) !important;
    z-index: 2;
    min-width: 90px;
    box-shadow: 2px 0 4px rgba(0,0,0,0.06);
  }
  table thead th:first-child {
    background: var(--charcoal, #2a2a2a) !important;
    color: white;
    z-index: 3;
  }
}

/* ===== FIX V16 - H2 mobile 30px + margin-bottom 20px ===== */
@media (max-width: 768px) {
  h2,
  .section-heading {
    font-size: 30px !important;
    margin-bottom: 20px !important;
  }
}

/* ===== FIX V17 - Cards blanches padding intérieur ===== */
@media (max-width: 768px) {
  .feature-card,
  .treat-card,
  .age-card,
  .clinic-main,
  .process-step,
  .symptom-card,
  [style*="background: var(--white)"],
  [style*="background: white"],
  [style*="background:#fff"],
  .card,
  .info-card,
  .highlight-card,
  .benefit-card {
    margin-left: 4px !important;
    margin-right: 4px !important;
  }
  
  /* Sections avec fond coloré - padding pour que les cards ne collent pas */
  section[style*="background"],
  .content-section[style*="background"] {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* ===== FIX V18 - Texte justify mobile ===== */
@media (max-width: 768px) {
  p,
  li,
  .content-text,
  .content-text p,
  .feature-card p,
  .treat-card-body p,
  .age-card-body p,
  .clinic-main-body p,
  .faq-answer p,
  .symptom-card p,
  .hero-desc,
  section p,
  .content-section p {
    text-align: justify !important;
  }
}

/* ===== FIX V19 - Footer icônes visibles ===== */
.footer-social a, .footer-social svg, .footer a svg, .footer svg { color: var(--charcoal, #2a2a2a) !important; fill: var(--charcoal, #2a2a2a) !important; opacity: 0.7 !important; }
@media (max-width: 768px) {
  .footer-social a,
  .footer-social svg,
  .footer a svg,
  .footer svg {
    color: var(--charcoal, #2a2a2a) !important;
    fill: var(--charcoal, #2a2a2a) !important;
    opacity: 0.7 !important;
  }
}


/* Pages avec styles inline - grilles en 1 colonne mobile */
@media (max-width: 768px) {
  .ss-intro-layout,
  .ss-dynamic-layout,
  [class*="-layout"] {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
}

@media (max-width: 1024px) {
  .ss-intro-layout {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }
}

/* ===== FIX V21 - ss-dynamic-img aspect-ratio ===== */
@media (max-width: 768px) {
  .ss-dynamic-img {
    aspect-ratio: auto !important;
  }
}

/* ===== FIX V22 - Overflow global FORCE ===== */
html {
  overflow-x: hidden !important;
  max-width: 100vw !important;
}
body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
  width: 100% !important;
}

@media (max-width: 768px) {
  .pad {
    max-width: 100vw !important;
    overflow: hidden !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
    width: 100% !important;
  }
  
  /* Score sourire et autres pages avec styles inline */
  .ss-hero,
  .ss-intro,
  .ss-levels,
  .ss-dynamic,
  .ss-why,
  .ss-cta,
  [class*="ss-"] {
    max-width: 100vw !important;
    overflow: hidden !important;
  }

  h1, h2, h3, h4 {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }
  
  img {
    max-width: 100% !important;
    width: auto;
  }
}

/* ===== FIX V23 - Override grilles inline sur mobile ===== */
@media (max-width: 768px) {
  /* Toute grille avec style inline doit passer en 1 colonne */
  [style*="grid-template-columns: repeat(2"],
  [style*="grid-template-columns: repeat(3"],
  [style*="grid-template-columns: 1.1fr"],
  [style*="grid-template-columns: 1fr 1fr"] {
    grid-template-columns: 1fr !important;
  }
}

/* ===== FIX V23 - Override grilles inline sur mobile ===== */
@media (max-width: 768px) {
  [style*="grid-template-columns: repeat(2"],
  [style*="grid-template-columns: repeat(3"],
  [style*="grid-template-columns: 1.1fr"],
  [style*="grid-template-columns: 1fr 1fr"] {
    grid-template-columns: 1fr !important;
  }
}

/* ===== FIX V24 - Boutons menu mobile propres ===== */
@media (max-width: 768px) {
  .mobile-nav-buttons .btn-outline {
    border-radius: 100px !important;
    border: 2px solid var(--coral, #0D8E93) !important;
    background: transparent !important;
    color: var(--coral, #0D8E93) !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }
  .mobile-nav-buttons .btn-fill {
    border-radius: 100px !important;
    border: none !important;
    background: var(--charcoal, #2a2a2a) !important;
    color: var(--white, #fff) !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }
}

/* ===== FIX V25 - Content-text padding mobile ===== */
@media (max-width: 768px) {
  .content-text {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .content-text[style*="padding"] {
    padding: 16px !important;
    box-sizing: border-box !important;
    max-width: 100% !important;
    word-wrap: break-word !important;
  }
  .content-text h2 {
    font-size: 1.3rem !important;
    word-wrap: break-word !important;
  }
  .pad {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* ===== FIX V26 - Services connexes compact mobile ===== */
@media (max-width: 768px) {
  .feature-grid[style*="auto-fit"] {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
  .feature-grid[style*="auto-fit"] .feature-card {
    padding: 14px 12px !important;
    border-radius: 12px !important;
  }
  .feature-grid[style*="auto-fit"] .feature-card h3 {
    font-size: 0.95rem !important;
  }
  .feature-grid[style*="auto-fit"] .feature-card p {
    font-size: 0.75rem !important;
    margin-top: 4px !important;
  }
}


/* ===== Padding 33px - sections premier niveau seulement ===== */
@media (max-width: 768px) {
  body > section,
  body > .content-section,
  #header-hook ~ section,
  #header-hook ~ .content-section,
  .page-content > section,
  .page-content > .content-section {
    padding-top: 33px !important;
    padding-bottom: 33px !important;
  }
}

/* ===== FIX - page-header-inner mobile ===== */
@media (max-width: 768px) {
  .page-header-inner {
    max-width: 760px;
    padding-bottom: 30px;
  }
}

/* ===== H2 25px mobile ===== */
@media (max-width: 768px) {
  h2,
  h2[style],
  .section-heading,
  .section-heading[style] {
    font-size: 25px !important;
    margin-bottom: 20px !important;
  }
}

/* ===== FIX - doctor-bio + toutes sections restantes padding mobile ===== */
@media (max-width: 768px) {
  .doctor-bio,
  .doctor-bio.pad,
  section.doctor-bio {
    padding-top: 33px !important;
    padding-bottom: 33px !important;
  }
}
