/*
Theme Name: HYPEUSE Astra Child DMP Global
Theme URI: https://digimarketingpro.fr
Description: Thème enfant Astra pour HYPEUSE. Corrige la pleine largeur, le header boutique et la compatibilité WooCommerce, sans footer ajouté automatiquement.
Author: DigimarketingPro
Author URI: https://digimarketingpro.fr
Template: astra
Version: 1.0.2
Text Domain: hypeuse-astra-child-dmp
*/

/* =========================================================
   HYPEUSE ASTRA CHILD DMP
   Base propre : pleine largeur globale + header boutique sans footer automatique
========================================================= */

:root {
  --hypeuse-header-height: 82px;
  --hypeuse-header-height-mobile: 68px;
  --hypeuse-dark: #111111;
  --hypeuse-soft: #fff7f8;
  --hypeuse-pink: #f5dce5;
}

/* -------- PLEINE LARGEUR GLOBALE ASTRA / STARTER TEMPLATES -------- */
/* Applique la pleine largeur sur toutes les pages Astra, WooCommerce et pages importées Starter Templates. */
body .site-content,
body .content-area,
body .site-main,
body #primary,
body #main {
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
}

body .site-content > .ast-container,
body .site-content .ast-container,
body.ast-page-builder-template .site-content > .ast-container,
body.ast-plain-container .site-content > .ast-container,
body.ast-separate-container .site-content > .ast-container,
body.woocommerce .site-content > .ast-container,
body.woocommerce-page .site-content > .ast-container,
body.archive .site-content > .ast-container,
body.single .site-content > .ast-container,
body.page .site-content > .ast-container {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body .entry-content,
body .entry-content > *,
body .wp-block-group,
body .wp-block-cover,
body .wp-block-columns,
body .wp-block-media-text,
body .elementor-section,
body .elementor-container,
body .elementor-widget-wrap {
  max-width: 100% !important;
}

/* Supprime les espaces Astra autour des pages/articles/templates. */
.ast-separate-container .ast-article-single,
.ast-separate-container .ast-article-post,
.ast-separate-container .ast-woocommerce-container,
.ast-page-builder-template .site-content,
.ast-page-builder-template .site-content > .ast-container,
.ast-plain-container .site-content,
.ast-plain-container .site-content > .ast-container {
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
}

/* Titre de page masqué pour garder les pages importées propres. */
body .entry-header,
body .ast-archive-description {
  display: none !important;
}

/* Force les blocs de la home/plugin à sortir du conteneur, même dans une page classique. */
.hypeuse-home,
.hypeuse-fullwidth,
.entry-content > .hypeuse-home {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.hypeuse-hero,
.hypeuse-products,
.hypeuse-media-section,
.hypeuse-info-section,
.alignfull {
  width: 100% !important;
  max-width: 100% !important;
}

/* -------- HEADER ASTRA HYPEUSE -------- */
.site-header,
.ast-primary-header-bar,
.main-header-bar {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 9999 !important;
  height: var(--hypeuse-header-height) !important;
  min-height: var(--hypeuse-header-height) !important;
  background: transparent !important;
  box-shadow: none !important;
  border-bottom: 1px solid rgba(255,255,255,0.32) !important;
  transition: transform .35s ease, background .35s ease, box-shadow .35s ease, border-color .35s ease !important;
}

body.admin-bar .site-header,
body.admin-bar .ast-primary-header-bar,
body.admin-bar .main-header-bar {
  top: 32px !important;
}

.site-header:hover,
.ast-primary-header-bar:hover,
.main-header-bar:hover,
body.hypeuse-header-white .site-header,
body.hypeuse-header-white .ast-primary-header-bar,
body.hypeuse-header-white .main-header-bar {
  background: #ffffff !important;
  box-shadow: 0 8px 30px rgba(0,0,0,.08) !important;
  border-bottom-color: rgba(0,0,0,.08) !important;
}

body.hypeuse-header-hidden .site-header,
body.hypeuse-header-hidden .ast-primary-header-bar,
body.hypeuse-header-hidden .main-header-bar {
  transform: translateY(-125%) !important;
}

.ast-primary-header-bar .ast-container,
.main-header-bar .ast-container {
  max-width: 100% !important;
  width: 100% !important;
  height: var(--hypeuse-header-height) !important;
  min-height: var(--hypeuse-header-height) !important;
  padding-left: 52px !important;
  padding-right: 52px !important;
  display: flex !important;
  align-items: center !important;
}

.ast-primary-header-bar .ast-builder-grid-row,
.main-header-bar .ast-builder-grid-row {
  width: 100% !important;
  height: var(--hypeuse-header-height) !important;
  min-height: var(--hypeuse-header-height) !important;
  display: grid !important;
  grid-template-columns: 180px minmax(0, 1fr) 180px !important;
  align-items: center !important;
  gap: 0 !important;
}

.site-header-primary-section-left,
.site-header-primary-section-center,
.site-header-primary-section-right {
  display: flex !important;
  align-items: center !important;
  min-width: 0 !important;
}

.site-header-primary-section-left {
  justify-content: flex-start !important;
}

.site-header-primary-section-center {
  justify-content: center !important;
}

.site-header-primary-section-right {
  justify-content: flex-end !important;
  gap: 16px !important;
}

.site-branding,
.ast-site-identity {
  padding: 0 !important;
  margin: 0 !important;
}

.site-title,
.site-description {
  display: none !important;
}

.custom-logo-link img,
.site-logo-img img,
.custom-logo {
  width: 105px !important;
  max-width: 105px !important;
  max-height: 60px !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
}

/* Menu toujours horizontal au centre */
.site-header-primary-section-center .ast-builder-menu,
.site-header-primary-section-center .ast-builder-menu-1,
.site-header-primary-section-center .main-header-menu,
.hypeuse-menu-moved.ast-builder-menu,
.hypeuse-menu-moved.ast-builder-menu-1,
.hypeuse-menu-moved.main-header-menu {
  margin: 0 auto !important;
  padding: 0 !important;
  width: auto !important;
  max-width: 100% !important;
}

.main-header-menu,
.ast-builder-menu-1 .main-header-menu,
.site-header-primary-section-center .main-header-menu {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  white-space: nowrap !important;
}

.main-header-menu .menu-item,
.ast-builder-menu-1 .menu-item,
.main-header-menu .menu-link,
.ast-builder-menu-1 .menu-item > .menu-link {
  width: auto !important;
  max-width: none !important;
  min-width: max-content !important;
  white-space: nowrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
}

.main-header-menu .menu-link,
.ast-builder-menu-1 .menu-item > .menu-link {
  padding-left: 18px !important;
  padding-right: 18px !important;
  font-size: 13px !important;
  letter-spacing: 1.2px !important;
  text-transform: uppercase !important;
  color: var(--hypeuse-dark) !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
}

.ast-header-account,
.ast-header-account-wrap,
.ast-site-header-cart,
.ast-woo-header-cart-info-wrap,
.ast-header-woo-cart {
  margin: 0 !important;
  padding: 0 !important;
}

.ast-header-account svg,
.ast-site-header-cart svg,
.ast-site-header-cart i,
.ast-icon-shopping-bag {
  color: var(--hypeuse-dark) !important;
  fill: var(--hypeuse-dark) !important;
}

/* -------- STYLE WOOCOMMERCE GLOBAL DOUX -------- */
.woocommerce ul.products li.product img {
  border-radius: 18px !important;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  border-radius: 999px !important;
  padding: 12px 20px !important;
}

/* Aucun footer ajouté automatiquement par le thème enfant. */

/* -------- MOBILE -------- */
@media (max-width: 921px) {
  .site-header,
  .ast-primary-header-bar,
  .main-header-bar {
    height: var(--hypeuse-header-height-mobile) !important;
    min-height: var(--hypeuse-header-height-mobile) !important;
  }

  .ast-primary-header-bar .ast-container,
  .main-header-bar .ast-container {
    height: var(--hypeuse-header-height-mobile) !important;
    min-height: var(--hypeuse-header-height-mobile) !important;
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  .ast-primary-header-bar .ast-builder-grid-row,
  .main-header-bar .ast-builder-grid-row {
    height: var(--hypeuse-header-height-mobile) !important;
    min-height: var(--hypeuse-header-height-mobile) !important;
    grid-template-columns: auto 1fr auto !important;
  }

  .custom-logo-link img,
  .site-logo-img img,
  .custom-logo {
    width: 78px !important;
    max-width: 78px !important;
    max-height: 48px !important;
  }

  .site-header-primary-section-right {
    gap: 10px !important;
  }

  /* Sur mobile, on évite les longs menus texte qui cassent le header */
  .site-header-primary-section-center .ast-builder-menu,
  .site-header-primary-section-center .main-header-menu,
  .hypeuse-menu-moved {
    display: none !important;
  }
}

@media (max-width: 782px) {
  body.admin-bar .site-header,
  body.admin-bar .ast-primary-header-bar,
  body.admin-bar .main-header-bar {
    top: 46px !important;
  }
}
