/**
 * Correctifs mobile prioritaires — charge en dernier
 * Maquette 375px : menu (catégories) | logo | recherche+panier
 */

/* ========== Anti-débordement global ========== */
html,
body {
  overflow-x: hidden !important;
  max-width: 100% !important;
}

body.ar-responsive-pdf #outer-wrap,
body.ar-responsive-pdf #wrap,
body.ar-responsive-pdf #content-wrap,
body.ar-responsive-pdf .elementor,
body.ar-responsive-pdf .e-con {
  max-width: 100% !important;
  overflow-x: hidden;
}

/* Admin bar mobile */
@media (max-width: 782px) {
  html #wpadminbar {
    position: fixed !important;
  }

  body.admin-bar .ar-pdf-header {
    top: 0;
  }
}

/* ========== FiboSearch : barre desktop + icône mobile (gratuit) ========== */
.ar-pdf-search-desktop,
.ar-pdf-search-mobile {
  display: block;
}

.ar-pdf-search-mobile {
  display: none;
}

.ar-pdf-search .dgwt-wcas-search-wrapp {
  max-width: 100%;
  min-width: 0;
}

@media (max-width: 767px) {
  .ar-pdf-search-desktop {
    display: none !important;
  }

  .ar-pdf-search-mobile {
    display: block !important;
  }
}

@media (min-width: 768px) {
  .ar-mob-menu-btn {
    display: none !important;
  }

  .ar-pdf-search-mobile {
    display: none !important;
  }
}

/* ========== HEADER MOBILE (maquette 375px : menu | logo | recherche+panier) ========== */
@media (max-width: 767px) {
  #top-bar-wrap {
    display: none !important;
  }

  /* Pas de 2e menu OceanWP */
  .oceanwp-mobile-menu-icon,
  #mobile-nav,
  #mobile-dropdown,
  #mobile-fullscreen,
  a.mobile-menu {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .ar-pdf-header {
    position: sticky;
    top: 0;
    z-index: 99999;
    background: #fff;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
    width: 100% !important;
    max-width: 100% !important;
  }

  .ar-pdf-header .ar-pdf-row1,
  .ar-pdf-header .ar-pdf-row2 {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .ar-pdf-header .ar-pdf-row1.e-con {
    display: block !important;
    padding: 0 !important;
    min-height: 0 !important;
    --width: 100% !important;
  }

  /* Grille : menu gauche | outils droite | logo centré optiquement */
  .ar-pdf-header .ar-pdf-row1 > .e-con-inner {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-areas: "left right" !important;
    align-items: center !important;
    gap: 0 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 10px 12px 8px !important;
    min-height: 72px !important;
    box-sizing: border-box !important;
  }

  .ar-pdf-header .ar-pdf-row1 > .e-con-inner > .ar-pdf-phone-col {
    grid-area: left !important;
    justify-self: start !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 2 !important;
    --width: auto !important;
  }

  .ar-pdf-header .ar-pdf-row1 > .e-con-inner > .ar-pdf-logo-col {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: max-content !important;
    max-width: calc(100% - 108px) !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
    --width: auto !important;
  }

  .ar-pdf-header .ar-pdf-row1 > .e-con-inner > .ar-pdf-tools-col {
    grid-area: right !important;
    grid-column: 2 !important;
    justify-self: end !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 2 !important;
    --width: auto !important;
  }

  .ar-pdf-phone-col > .e-con-inner,
  .ar-pdf-logo-col > .e-con-inner {
    padding: 0 !important;
    width: auto !important;
    min-height: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .ar-pdf-logo-col a,
  .ar-pdf-logo-col .elementor-widget,
  .ar-pdf-logo-col .elementor-widget-container {
    pointer-events: auto !important;
  }

  .ar-pdf-phone-col > .e-con-inner {
    justify-content: flex-start !important;
    gap: 0 !important;
  }

  .ar-pdf-tools-col > .e-con-inner {
    padding: 0 !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    width: 100% !important;
  }

  .ar-pdf-phone-col .ar-pdf-phone,
  .ar-pdf-phone-col p.ar-pdf-phone,
  .ar-pdf-phone-col .ar-pdf-phone-link {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .ar-mob-menu-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    min-width: 44px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    color: #1a1a1a;
    flex-shrink: 0;
  }

  .ar-mob-menu-btn span {
    display: block;
    width: 22px;
    height: 2px;
    background: #1a1a1a;
    border-radius: 1px;
    position: relative;
  }

  .ar-mob-menu-btn span::before,
  .ar-mob-menu-btn span::after {
    content: "";
    position: absolute;
    left: 0;
    display: block;
    width: 22px;
    height: 2px;
    background: #1a1a1a;
    border-radius: 1px;
  }

  .ar-mob-menu-btn span::before {
    top: -7px;
  }

  .ar-mob-menu-btn span::after {
    top: 7px;
  }

  .ar-pdf-logo-col img {
    display: block !important;
    max-height: 68px !important;
    max-width: min(210px, 58vw) !important;
    width: auto !important;
    height: auto !important;
    margin: 0 auto !important;
    object-fit: contain !important;
  }

  /* Masquer recherche desktop (barre complète) */
  .ar-pdf-header .ar-pdf-search-desktop,
  .ar-pdf-header .ar-pdf-search-desktop.e-con {
    display: none !important;
  }

  .ar-pdf-tools-inner.e-con,
  .ar-pdf-tools-inner > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 0 !important;
    width: auto !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    min-height: 44px !important;
  }

  .ar-pdf-tools-inner > .e-con-inner > .e-con {
    width: auto !important;
    flex: 0 0 auto !important;
    padding: 0 !important;
    margin: 0 !important;
    align-self: center !important;
  }

  /* Recherche mobile : styles dans search-pro.css */

  .ar-pdf-header .ar-pdf-tools-col,
  .ar-pdf-header .ar-pdf-tools-inner,
  .ar-pdf-header .ar-pdf-tools-inner > .e-con-inner,
  .ar-pdf-search-mobile,
  .ar-pdf-search-mobile.e-con,
  .ar-pdf-search-mobile > .e-con-inner {
    overflow: visible !important;
  }

  .ar-pdf-icons {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    flex-shrink: 0;
    min-height: 44px !important;
  }

  .ar-pdf-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    margin: 0 !important;
    flex-shrink: 0;
  }

  .ar-pdf-tool-link.ar-mob-hide,
  .ar-pdf-icon.ar-mob-hide {
    display: none !important;
  }

  .ar-pdf-cart .xoo-wsc-sc-cont {
    margin: 0 !important;
  }

  .ar-pdf-cart .xoo-wsc-cart-trigger::before {
    display: none !important;
  }

  .ar-pdf-cart .xoo-wsc-cart-trigger {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
  }

  .ar-pdf-cart .xoo-wsc-sc-bkcont::before {
    width: 20px !important;
    height: 20px !important;
  }

  /* Deuxième barre catégories : masquée sur mobile (menu hamburger uniquement) */
  .ar-pdf-header .ar-pdf-row2 {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
  }

  /* Panneau menu principal (fallback si OceanWP masqué) */
  body.ar-mobile-nav-open {
    overflow: hidden;
  }

  body.ar-mobile-nav-open .ar-mob-nav-panel {
    display: block !important;
  }
}

.ar-mob-nav-panel {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 100001;
  background: rgba(0, 0, 0, 0.45);
  padding-top: 72px;
}

.ar-mob-nav-panel__inner {
  background: #fff;
  max-height: calc(100vh - 72px);
  overflow-y: auto;
  padding: 20px 16px 32px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
}

.ar-mob-nav-panel__title {
  margin: 0 0 12px;
  padding: 0 4px 8px;
  font-family: var(--ar-font-display, "Playfair Display", Georgia, serif);
  font-size: 1.1rem;
  font-weight: 400;
  color: #1a1a1a;
  border-bottom: 1px solid #f0e8e0;
}

.ar-mob-nav-panel ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.ar-mob-nav-panel li {
  border-bottom: 1px solid #f0e8e0;
}

.ar-mob-nav-panel a {
  display: block;
  padding: 15px 8px;
  font-family: var(--ar-font-body, "Lato", sans-serif);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #1a1a1a !important;
  text-decoration: none !important;
  text-shadow: none !important;
  -webkit-font-smoothing: antialiased;
}

.ar-mob-nav-panel a:hover,
.ar-mob-nav-panel a:focus {
  color: var(--ar-red, #8b1e1e) !important;
  background: rgba(139, 30, 30, 0.04);
}

/* Menu déroulant Elementor (si affiché sur mobile) */
@media (max-width: 767px) {
  .ar-pdf-header .elementor-nav-menu--dropdown,
  .elementor-widget-nav-menu .elementor-nav-menu--dropdown {
    background: #fff !important;
    padding: 12px 0 !important;
    box-shadow: 0 12px 40px rgba(26, 26, 26, 0.12) !important;
    border-top: 1px solid #ece5dd !important;
  }

  .ar-pdf-header .elementor-nav-menu--dropdown .elementor-item,
  .elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item {
    font-family: var(--ar-font-body, "Lato", sans-serif) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: #1a1a1a !important;
    padding: 14px 20px !important;
    border-bottom: 1px solid #f0e8e0 !important;
    line-height: 1.35 !important;
  }

  .ar-pdf-header .elementor-nav-menu--dropdown .elementor-item:hover,
  .ar-pdf-header .elementor-nav-menu--dropdown .elementor-item:focus,
  .elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item:hover {
    color: var(--ar-red, #8b1e1e) !important;
    background: rgba(139, 30, 30, 0.04) !important;
  }

  /* Masquer le menu Elementor dupliqué si le panneau AR est actif */
  body.ar-mobile-nav-open .ar-pdf-header .elementor-nav-menu--dropdown {
    display: none !important;
  }
}

/* ========== ACCUEIL MOBILE ========== */
@media (max-width: 767px) {
  .ar-mq-hero--pdf {
    margin: 0 !important;
    max-width: none !important;
    min-height: clamp(220px, 42vw, 280px) !important;
  }

  .ar-mq-overlay--center {
    padding: 28px 16px !important;
    max-width: 100% !important;
  }

  .ar-mq-overlay--center .ar-mq-hero-kicker {
    font-size: 10px !important;
    letter-spacing: 0.18em !important;
  }

  .ar-mq-overlay--center h1 {
    font-size: clamp(22px, 6.2vw, 28px) !important;
    line-height: 1.12 !important;
  }

  .ar-mq-overlay--center .ar-mq-hero-lead,
  .ar-mq-overlay--center > p:not(.ar-kicker):not(.ar-mq-hero-kicker) {
    font-size: 13px !important;
    margin-bottom: 14px !important;
  }

  .ar-mq-overlay--center .ar-btn--ghost {
    padding: 10px 18px !important;
    font-size: 10px !important;
  }

  .ar-pdf-home .ar-lascours-shortcode-wrap,
  .woocommerce.ar-lascours-shortcode-wrap,
  body.ar-shop-full .woocommerce.ar-lascours-shortcode-wrap {
    padding-left: clamp(12px, 4vw, 18px) !important;
    padding-right: clamp(12px, 4vw, 18px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-top: 16px !important;
    margin-bottom: 16px !important;
    overflow: hidden;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }

  body.ar-shop-full #content-wrap,
  body.ar-shop-full #primary,
  body.ar-shop-full .content-area {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Grille produits : 1 colonne sur téléphone (détail dans woocommerce-products.css) */
  .woocommerce.ar-lascours-shortcode-wrap ul.products li.product {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  .ar-lascours-head {
    padding: 0 4px;
    margin-bottom: 10px !important;
  }

  .ar-lascours-head h2 {
    font-size: 1.25rem !important;
  }

  /* Catégories */
  .ar-mq-categories {
    padding: 0 12px !important;
    margin: 20px auto !important;
  }

  .ar-mq-categories-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .ar-mq-cat-card {
    min-height: 120px !important;
    padding: 16px !important;
  }

  .ar-mq-cat-card h3 {
    font-size: 1.1rem !important;
  }

  /* Maison familiale : empiler */
  .ar-mq-family--pdf {
    display: flex !important;
    flex-direction: column !important;
    margin: 20px 12px !important;
    padding: 0 !important;
    grid-template-columns: none !important;
    background: transparent !important;
  }

  .ar-mq-family--pdf .ar-mq-family-content {
    padding: 24px 18px !important;
    order: 2;
  }

  .ar-mq-family--pdf .ar-mq-family-image {
    order: 1;
    min-height: 280px !important;
    background-position: center 32% !important;
    clip-path: none !important;
    margin: 0 !important;
    width: 100% !important;
    filter: grayscale(100%) contrast(1.05) brightness(0.94) !important;
  }


  .ar-mq-family--pdf h2 {
    font-size: 1.35rem !important;
  }

  /* Newsletter */
  .ar-mq-newsletter--pdf {
    margin: 16px 12px !important;
    padding: 18px 14px !important;
    flex-direction: column !important;
  }

  .ar-mq-newsletter--pdf form {
    flex-direction: column !important;
    width: 100% !important;
    gap: 8px !important;
  }

  .ar-mq-newsletter--pdf input {
    border-right: 1px solid #ddd2c8 !important;
    border-radius: 4px !important;
  }

  .ar-mq-newsletter--pdf .ar-btn,
  .ar-mq-newsletter--pdf .ar-newsletter-submit {
    border-radius: 4px !important;
    width: 100% !important;
    background: var(--ar-red, #be1e2d) !important;
    border-color: var(--ar-red, #be1e2d) !important;
    color: #fff !important;
  }

  /* Barre réassurance */
  .ar-mq-reassurance--pdf {
    display: block !important;
    grid-template-columns: none !important;
    width: calc(100% - 40px) !important;
    max-width: 1240px !important;
    margin: 20px auto !important;
  }

  .ar-mq-reassurance--pdf .ar-mq-reassurance-grid {
    grid-template-columns: 1fr !important;
    width: 100% !important;
  }

  .ar-mq-reassurance-item {
    flex-direction: row !important;
    align-items: center !important;
    text-align: left !important;
    gap: 14px !important;
    padding: 14px 16px !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2) !important;
  }

  .ar-mq-reassurance-item:last-child {
    border-bottom: 0 !important;
  }

  .ar-mq-reassurance-copy {
    max-width: none !important;
    align-items: flex-start !important;
  }

  /* Footer */
  .ar-site-footer .ar-inner {
    padding: 28px 14px 16px !important;
  }

  .ar-footer-grid {
    grid-template-columns: 1fr !important;
    text-align: center !important;
    gap: 18px !important;
  }

  .ar-footer-brand {
    grid-column: auto !important;
  }

  .ar-footer-bottom {
    flex-direction: column !important;
    text-align: center !important;
    font-size: 12px !important;
  }
}

/* ========== Très petits écrans ≤390px ========== */
@media (max-width: 390px) {
  .woocommerce.ar-lascours-shortcode-wrap ul.products {
    gap: 8px !important;
  }

  .ar-pdf-row2 .elementor-item {
    font-size: 12px !important;
  }

  .ar-pdf-logo-col img {
    max-height: 62px !important;
    max-width: min(190px, 54vw) !important;
  }

  .ar-pdf-header .ar-pdf-row1 > .e-con-inner {
    padding: 8px 10px 6px !important;
    min-height: 68px !important;
  }

  .ar-pdf-header .ar-pdf-row1 > .e-con-inner > .ar-pdf-logo-col {
    max-width: calc(100% - 96px) !important;
  }
}

/* ========== Pages annexes ========== */
@media (max-width: 767px) {
  .ar-annex-wrap {
    padding: 20px 12px 32px !important;
  }

  /* Page contact */
  .ar-annex-contact-page,
  .ar-annex-contact-page .ar-annex-contact-shell {
    overflow-x: hidden;
    max-width: 100% !important;
  }

  .ar-annex-contact-shell .ar-annex-contact.e-con > .e-con-inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
  }

  .ar-annex-contact-shell .elementor-widget-container,
  .ar-contact-form-wrap,
  .ar-annex-coords {
    max-width: 100% !important;
    overflow: hidden;
  }

  .ar-annex-hero {
    margin: 8px 12px 0 !important;
    min-height: 180px !important;
  }

  .ar-annex-intro-split .ar-annex-intro-image {
    order: -1;
    min-height: 200px !important;
  }

  .ar-annex-timeline {
    grid-template-columns: 1fr 1fr !important;
  }

  .ar-annex-partner-card {
    grid-template-columns: 1fr !important;
  }

  .ar-annex-partner-logo {
    min-height: 70px;
  }

  body.single-product .product,
  body.single-product div.product {
    display: block !important;
    grid-template-columns: none !important;
  }

  .woocommerce .products,
  .woocommerce ul.products,
  .woocommerce.ar-lascours-shortcode-wrap ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: clamp(8px, 2.5vw, 14px) !important;
    justify-items: stretch !important;
  }

  .woocommerce ul.products li.product,
  .woocommerce.ar-lascours-shortcode-wrap ul.products li.product {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  .woocommerce-checkout form.checkout {
    display: block !important;
  }
}

/* Grille boutique 2 col. mobile : woocommerce-products.css + ar-product-loop-images.php */
