/*
 Theme Name:  DigimarketingPro Astra Child
 Theme URI:   https://digimarketingpro.ma
 Description: Child Astra — contenu full-width, header/footer contraints. Mobile-friendly + topbar compacte.
 Author:      DigimarketingPro
 Template:    astra
 Version:     1.1.0
 Text Domain: dmp-astra-child
*/

/* ========= Tokens ========= */
:root{
  --dmp-container: 1200px;   /* largeur max header/footer */
  --dmp-gutter: 20px;        /* padding latéral header/footer */
  --dmp-topbar-h: 36px;      /* hauteur visuelle topbar */
  --dmp-topbar-fs: 14px;     /* taille texte topbar */
}

/* Sécurité générale */
html, body { overflow-x: hidden; }
.site, .site-content, .site-main, .entry-content, .ast-container { overflow-x: clip; }

/* ========= CONTENU FULL-WIDTH ========= */
/* Zone de contenu en pleine largeur */
.ast-container,
.site-content .ast-container{
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Retire les paddings/marges système autour du contenu */
.ast-plain-container .site-content,
.ast-page-builder-template .site-content,
.site .site-content{
  padding: 0 !important;
}
.site-main > .ast-row{
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Gutenberg: alignements */
.alignwide{ margin-left: auto; margin-right: auto; width: 100%; max-width: 1200px; }
.alignfull{ margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); width: 100vw; max-width: 100vw; }

/* Médias responsives dans le contenu */
.entry-content img,
.entry-content video,
.entry-content iframe,
.wp-block-embed__wrapper iframe{
  max-width: 100%;
  height: auto;
}

/* ========= HEADER / FOOTER CONTRAINTS ========= */
.site-header .ast-container,
.site-footer .ast-container{
  max-width: var(--dmp-container) !important;
  padding-left: var(--dmp-gutter) !important;
  padding-right: var(--dmp-gutter) !important;
}

/* Footer spacing */
.site-footer{ padding-top: 24px; padding-bottom: 24px; }
.site-footer, .site-footer *{ position: relative; z-index: 1; }
main section, .site-content section{ position: relative; z-index: 0; }

footer img, .site-footer img,
footer .widget img, .site-footer .widget img{ max-width: 100%; height: auto; }

/* Cacher le titre de page quand page builder/shortcode */
.ast-page-builder-template .entry-title{ display: none; }

/* ========= TOPBAR (Astra Above Header) ========= */
/* Wrap centré + largeur contrôlée */
.ast-above-header-wrap .ast-container{
  max-width: var(--dmp-container) !important;
  padding-left: var(--dmp-gutter) !important;
  padding-right: var(--dmp-gutter) !important;
}

/* Hauteur compacte, typographie, pas de débordement */
.ast-above-header{
  min-height: var(--dmp-topbar-h);
  line-height: var(--dmp-topbar-h);
  font-size: var(--dmp-topbar-fs);
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  border-bottom: 1px solid rgba(0,0,0,.06);
}
.ast-above-header .site-header-section{
  gap: 12px;
}
.ast-above-header a{ text-decoration: none; }
.ast-above-header .ast-header-html,
.ast-above-header .ast-builder-layout-element{
  margin: 0; padding: 0;
}

/* Version mobile de la topbar (Astra break-point) */
.ast-header-break-point .ast-above-header{
  line-height: 32px;
  min-height: 32px;
  font-size: 13px;
}

/* ========= HEADER (général mobile tweaks) ========= */
@media (max-width: 768px){
  .site-header{ padding-left: 0 !important; padding-right: 0 !important; }
  .site-branding img{ max-height: 56px; height: auto; width: auto; }
  .main-header-bar .ast-container{ padding-left: var(--dmp-gutter); padding-right: var(--dmp-gutter); }
}

/* ========= DIVERS ========= */
/* Corrige certains gaps Astra entre sections quand full-bleed */
.ast-separate-container .ast-article-post,
.ast-separate-container .ast-article-single{
  padding: 0 !important;
  margin: 0 !important;
}

/* Évite les espaces inattendus autour des blocs full-width */
.ast-plain-container .entry-content[ast-blocks-layout="true"] > *{
  margin-block-start: 0;
  margin-block-end: 0;
}

/* Sécurité pour conteneurs d’éditeurs (Elementor/Blocs) */
.elementor-section.elementor-section-boxed > .elementor-container{
  max-width: var(--dmp-container);
}
