/* ================================================================
   SO WEB CONCEPT — MOBILE FIXES
   Fichier à enqueuer en DERNIER dans functions.php
   Cible les styles inline avec !important
   ================================================================ */

/* ── Utilitaires ── */
.swc-desktop-only { display: flex; }
.swc-mobile-only  { display: none !important; }

/* ================================================================
   TABLET (max-width: 1024px)
   ================================================================ */
@media (max-width: 1024px) {
  .swc-container { padding: 0 28px !important; }
  .swc-hero__visual { display: none !important; }
}

/* ================================================================
   MOBILE (max-width: 768px)
   ================================================================ */
@media (max-width: 768px) {

  /* Utilitaires */
  .swc-desktop-only { display: none !important; }
  .swc-mobile-only  { display: flex !important; }

  /* ── HEADER ── */
  .swc-container { padding: 0 16px !important; }
  .swc-section   { padding: 48px 0 !important; }

  .swc-header__inner {
    padding: 0 16px !important;
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: center !important;
    gap: 12px !important;
  }

  .swc-logo__icon    { width: 32px !important; height: 32px !important; }
  .swc-logo__name    { font-size: 14px !important; }
  .swc-logo__tagline { display: none !important; }

  .swc-burger {
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
    padding: 10px !important;
    background: rgba(124,58,237,0.25) !important;
    border: 1.5px solid rgba(124,58,237,0.4) !important;
    border-radius: 8px !important;
    width: 44px !important;
    height: 44px !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
  }

  .swc-burger span {
    width: 20px !important;
    height: 2px !important;
    background: #ffffff !important;
    border-radius: 2px !important;
    display: block !important;
  }

  .swc-nav { display: none !important; }

  /* ── HERO ── */
  .swc-hero { min-height: 80vh !important; }
  .swc-hero__inner {
    grid-template-columns: 1fr !important;
    padding: 48px 16px 56px !important;
    gap: 0 !important;
  }
  .swc-hero__visual   { display: none !important; }
  .swc-hero__title    { font-size: clamp(28px, 8vw, 40px) !important; }
  .swc-hero__subtitle { font-size: 15px !important; max-width: 100% !important; }
  .swc-hero__actions  {
    flex-direction: column !important;
    gap: 10px !important;
    width: 100% !important;
  }
  .swc-hero__actions .swc-btn {
    width: 100% !important;
    justify-content: center !important;
  }
  .swc-hero__trust { gap: 16px !important; flex-wrap: wrap !important; justify-content: space-around !important; }

  /* ── GRILLES CSS CLASSES ── */
  .swc-services-grid,
  .swc-portfolio-grid,
  .swc-testimonials-grid,
  .swc-blog-grid,
  .swc-process {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .swc-process::before { display: none !important; }

  .swc-pricing-grid {
    grid-template-columns: 1fr !important;
    max-width: 100% !important;
  }

  .swc-contact-layout {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  /* ── GRILLES INLINE (style="") — ciblées par contexte ── */

  /* Toutes les grilles dans .swc-container */
  .swc-container > *,
  .swc-container > * > * {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  /* Section À propos - grille 2 colonnes */
  section .swc-container [style*="grid-template-columns:1fr 1fr"],
  section .swc-container [style*="grid-template-columns: 1fr 1fr"],
  section .swc-container [style*="grid-template-columns:1fr 1.5fr"],
  section .swc-container [style*="grid-template-columns: 1fr 1.5fr"],
  section .swc-container [style*="grid-template-columns:1.5fr 1fr"],
  section .swc-container [style*="grid-template-columns: 1.5fr 1fr"],
  section .swc-container [style*="grid-template-columns:1fr 2fr"],
  section .swc-container [style*="grid-template-columns: 1fr 2fr"],
  section .swc-container [style*="grid-template-columns:2fr 1fr"],
  section .swc-container [style*="grid-template-columns: 2fr 1fr"] {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  /* Sidebar portfolio + blog */
  section .swc-container [style*="grid-template-columns:1fr 320px"],
  section .swc-container [style*="grid-template-columns: 1fr 320px"],
  section .swc-container [style*="grid-template-columns:1fr 300px"],
  section .swc-container [style*="grid-template-columns: 1fr 300px"] {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  /* Grilles 3 et 4 colonnes repeat */
  section .swc-container [style*="grid-template-columns:repeat(3"],
  section .swc-container [style*="grid-template-columns: repeat(3"] {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  section .swc-container [style*="grid-template-columns:repeat(4"],
  section .swc-container [style*="grid-template-columns: repeat(4"] {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px !important;
  }

  /* Grille 2 cols génériques */
  section .swc-container [style*="grid-template-columns:repeat(2"],
  section .swc-container [style*="grid-template-columns: repeat(2"] {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  /* Services détail alternée */
  .swc-service-detail {
    grid-template-columns: 1fr !important;
    direction: ltr !important;
    gap: 24px !important;
    padding: 40px 0 !important;
  }

  /* Sidebar sticky → statique */
  aside[style*="position:sticky"],
  aside[style*="position: sticky"] {
    position: static !important;
    top: auto !important;
  }

  /* Mentions légales / Confidentialité — sommaire caché */
  section .swc-container [style*="grid-template-columns:240px"],
  section .swc-container [style*="grid-template-columns: 240px"] {
    grid-template-columns: 1fr !important;
  }

  section .swc-container [style*="grid-template-columns:240px"] > aside,
  section .swc-container [style*="grid-template-columns: 240px"] > aside {
    display: none !important;
  }

  /* Tableaux → scroll horizontal */
  table {
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    font-size: 13px !important;
  }

  /* Formulaire contact */
  .swc-contact-form { padding: 24px 16px !important; }
  .swc-contact-form .swc-form-row { grid-template-columns: 1fr !important; }

  /* CTA */
  .swc-cta { padding: 36px 16px !important; }
  .swc-cta h2 { font-size: clamp(22px, 6vw, 30px) !important; }

  /* Boutons dans le CTA */
  .swc-cta [style*="display:flex"][style*="gap:16px"] {
    flex-direction: column !important;
    gap: 10px !important;
  }
  .swc-cta [style*="display:flex"] .swc-btn {
    width: 100% !important;
    justify-content: center !important;
  }

  /* Footer */
  .swc-footer__grid { grid-template-columns: 1fr !important; gap: 24px !important; }
  .swc-footer__bottom { flex-direction: column !important; align-items: flex-start !important; }
  .swc-footer__legal { flex-wrap: wrap !important; gap: 10px !important; }

  /* FAQ layout */
  section .swc-container [style*="grid-template-columns:1fr 1.5fr"] {
    grid-template-columns: 1fr !important;
  }

  /* Navigation projets → colonne */
  section .swc-container [style*="grid-template-columns:1fr 1fr"][style*="gap:20px"],
  section .swc-container [style*="grid-template-columns:1fr 1fr"][style*="gap:24px"] {
    grid-template-columns: 1fr !important;
  }

  /* Hero pages internes centré */
  .swc-hero__inner[style*="text-align:center"],
  .swc-hero__inner[style*="text-align: center"] {
    padding: 60px 16px 48px !important;
  }

  /* Section stats 4 col → 2 */
  [style*="grid-template-columns:repeat(4,1fr)"],
  [style*="grid-template-columns: repeat(4, 1fr)"] {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px !important;
  }

  /* Portfolio card */
  .swc-portfolio-card__img { height: 220px !important; }

  /* Scroll to top */
  #swc-scroll-top {
    bottom: 16px !important;
    right: 12px !important;
    width: 40px !important;
    height: 40px !important;
  }
}

/* ================================================================
   SMALL MOBILE (max-width: 480px)
   ================================================================ */
@media (max-width: 480px) {

  .swc-container { padding: 0 14px !important; }

  /* Typo */
  h1 { font-size: clamp(24px, 7vw, 32px) !important; }
  h2 { font-size: clamp(20px, 6vw, 26px) !important; }
  h3 { font-size: 17px !important; }

  /* Budget pills */
  #swc-budget-group {
    grid-template-columns: 1fr 1fr !important;
  }

  /* Grille 2 cols → 1 sur 480 */
  section .swc-container [style*="grid-template-columns:repeat(2"],
  section .swc-container [style*="grid-template-columns: repeat(2"] {
    grid-template-columns: 1fr !important;
  }

  /* Boutons pleine largeur */
  .swc-btn {
    width: 100% !important;
    justify-content: center !important;
  }

  /* Hero actions */
  .swc-hero__actions { gap: 8px !important; }

  /* Cards */
  .swc-service-card { padding: 20px !important; }
  .swc-testimonial  { padding: 20px 16px !important; }
  .swc-price-card   { padding: 24px 16px !important; }
}
