/*
  Theme Name: Master mini
  Theme URI: https://mini.arpeggio-dev.be/
  Version: 1.0.0
  Template: Divi
  Author: designer@arpeggio.be
  Author URI: https://www.arpeggio.be/fr
  Description: designed with flow by Arpeggio
  Text Domain: master-mini
  License: GNU General Public License v2 or later
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

/* ----------------------------------------
 ------------------------------------------
			  Polices personnalisée
-------------------------------------------
-------------------------------------------*/
/* ============================================
   1. DÉCLARATION DES POLICES (inchangé — les @font-face
   n'affectent rien tant qu'ils ne sont pas appliqués)
   ============================================ */

@font-face {
    font-family: 'MINI Serif Headline';
    src: url('/wp-content/themes/master-mini/fonts/mini-serif/MINISerif-Headline.woff2') format('woff2'),
         url('/wp-content/themes/master-mini/fonts/mini-serif/MINISerif-Headline.woff') format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'MINI Serif Italic';
    src: url('/wp-content/themes/master-mini/fonts/mini-serif/MINISerif-Italic.woff2') format('woff2'),
         url('/wp-content/themes/master-mini/fonts/mini-serif/MINISerif-Italic.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'MINI Sans Serif';
    src: url('/wp-content/themes/master-mini/fonts/mini-sans-serif/MINISansSerif-Regular.woff2') format('woff2'),
         url('/wp-content/themes/master-mini/fonts/mini-sans-serif/MINISansSerif-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'MINI Sans Serif';
    src: url('/wp-content/themes/master-mini/fonts/mini-sans-serif/MINISansSerif-Bold.woff2') format('woff2'),
         url('/wp-content/themes/master-mini/fonts/mini-sans-serif/MINISansSerif-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* ============================================
   2. TITRES (H1-H6) — scopés au contenu du site uniquement
   ============================================ */

#page-container h1,
#page-container h2,
#page-container h3,
#page-container h4,
#page-container h5,
#page-container h6,
#page-container .et_pb_module h1,
#page-container .et_pb_module h2,
#page-container .et_pb_module h3,
#page-container .et_pb_module h4,
#page-container .et_pb_module h5,
#page-container .et_pb_module h6 {
    font-family: 'MINI Serif Headline', serif !important;
    font-weight: 700;
    text-transform: uppercase !important;
    font-style: normal;
}

/* ============================================
   3. VARIANTE ITALIQUE DES TITRES
   ============================================ */

#page-container h1.mini-headline-italic,
#page-container h2.mini-headline-italic,
#page-container h3.mini-headline-italic,
#page-container h4.mini-headline-italic,
#page-container h5.mini-headline-italic,
#page-container h6.mini-headline-italic,
#page-container .mini-headline-italic h1,
#page-container .mini-headline-italic h2,
#page-container .mini-headline-italic h3,
#page-container .mini-headline-italic h4,
#page-container .mini-headline-italic h5,
#page-container .mini-headline-italic h6 {
    font-family: 'MINI Serif Italic', serif !important;
    font-style: normal;
    text-transform: uppercase !important;
}

/* ============================================
   4. PARAGRAPHES / TEXTE COURANT — scopés également
   Note : on ne touche plus au sélecteur "body" tout seul,
   trop risqué pour l'admin. On cible #page-container à la place.
   ============================================ */

#page-container,
#page-container p,
#page-container .et_pb_module,
#page-container .et_pb_text_inner p,
#page-container .et-db #et-boc .et-l .et_pb_module p {
    font-family: 'MINI Sans Serif', sans-serif !important;
}

/* ============================================
   5. CLASSE "VISUELLEMENT CACHÉ" — inchangée, déjà safe
   ============================================ */

.mini-visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* ============================================
   6. CLASSE "VISUELLEMENT CACHÉ" — SEO / A11Y
   Le H1 reste détectable par Google, Lighthouse SEO,
   et les lecteurs d'écran, mais invisible à l'écran.
   ============================================ */

.mini-visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* ----------------------------------------
 ------------------------------------------
			      BUTTONS
-------------------------------------------
-------------------------------------------*/

/* body #page-container .et_pb_section .et_pb_row .et_pb_button:hover:after {
    margin-left: 0.6em !important;
} */

/* .mini-btn:after {
    font-weight: 400 !important;
    font-size: 30px !important;
    display: inline-block;
    margin-left: 0.3em !important;
    color: #ffaf30;
    opacity: 1;
} */

/* ----------------------------------------
 ------------------------------------------
			      BLURB
-------------------------------------------
-------------------------------------------*/

.et_pb_blurb_position_left .et_pb_blurb_container
 {
    padding-left: 0px !important;
}

/* ----------------------------------------
 ------------------------------------------
                  Images RATIO 
-------------------------------------------
-------------------------------------------*/
/* Images - comportement de base */
.arp-blurb .et_pb_main_blurb_image img,
.arp-blurb .et_pb_blurb_image img {
  width: 100%;
  height: auto;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* Ratios d'image */
.arp-ratio-16-9 .et_pb_main_blurb_image img,
.arp-ratio-16-9 .et_pb_blurb_image img,
.arp-ratio-16-9 .et_pb_image_wrap > img,
.arp-ratio-4-3 .et_pb_main_blurb_image img,
.arp-ratio-4-3 .et_pb_blurb_image img,
.arp-ratio-4-3 .et_pb_image_wrap > img,
.arp-ratio-3-2 .et_pb_main_blurb_image img,
.arp-ratio-3-2 .et_pb_blurb_image img,
.arp-ratio-3-2 .et_pb_image_wrap > img,
.arp-ratio-1-1 .et_pb_main_blurb_image img,
.arp-ratio-1-1 .et_pb_blurb_image img,
.arp-ratio-1-1 .et_pb_image_wrap > img,
.arp-ratio-3-4 .et_pb_main_blurb_image img,
.arp-ratio-3-4 .et_pb_blurb_image img,
.arp-ratio-3-4 .et_pb_image_wrap > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.arp-ratio-16-9 .et_pb_main_blurb_image,
.arp-ratio-16-9 .et_pb_blurb_image,
.arp-ratio-16-9 .et_pb_image_wrap { aspect-ratio: 16 / 9; }

.arp-ratio-4-3 .et_pb_main_blurb_image,
.arp-ratio-4-3 .et_pb_blurb_image,
.arp-ratio-4-3 .et_pb_image_wrap { aspect-ratio: 4 / 3; }

.arp-ratio-3-2 .et_pb_main_blurb_image,
.arp-ratio-3-2 .et_pb_blurb_image,
.arp-ratio-3-2 .et_pb_image_wrap { aspect-ratio: 3 / 2; }

.arp-ratio-1-1 .et_pb_main_blurb_image,
.arp-ratio-1-1 .et_pb_blurb_image,
.arp-ratio-1-1 .et_pb_image_wrap { aspect-ratio: 1 / 1; }

.arp-ratio-3-4 .et_pb_main_blurb_image,
.arp-ratio-3-4 .et_pb_blurb_image,
.arp-ratio-3-4 .et_pb_image_wrap { aspect-ratio: 3 / 4; }

/* Zoom-in image au hover (cadre reste fixe + overflow hidden) */
.arp-blurb.et_clickable .et_pb_main_blurb_image img,
.arp-blurb.et_clickable .et_pb_image_wrap img {
  transform: scale(1);
  transition: transform 1s ease;
  will-change: transform;
}

.arp-blurb.et_clickable:hover .et_pb_main_blurb_image img,
.arp-blurb.et_clickable:hover .et_pb_image_wrap img {
  transform: scale(1.06);
}



/* ----------------------------------------
 ------------------------------------------
				CADRE 
-------------------------------------------
-------------------------------------------*/

/* --- Positionnement structurel (à mettre une seule fois) --- */
.mini-hero {
  position: relative !important;
}
.mini-hero .et_pb_row,
.mini-hero .et_pb_column {
  position: static !important;
}
.mini-hero .et_pb_code,
.mini-hero .et_pb_code_inner {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  pointer-events: none;
  z-index: 5;
}

/* Row du cadre : ne prend pas de place visuellement */
.mini-frame-row {
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
.mini-frame-row .et_pb_column {
  padding: 0 !important;
  min-height: 0 !important;
}

/* --- Cadre lui-même (générique, réutilisable partout) --- */
.mini-frame {
  position: absolute;
  top: var(--frame-top-gap, 0px);
  left: 0;
  bottom: var(--frame-bottom-gap, 0px);
  right: var(--frame-right-gap, 2%);
  pointer-events: none;
}

.mini-frame__line {
  position: absolute;
  background: var(--mini-frame-color, #01693E);
  transition: width 0.6s ease-in-out, height 0.6s ease-in-out;
}
.mini-frame__line--top    { top: 0; left: 0; height: var(--frame-thickness, 12px); width: 0; }
.mini-frame__line--right  { top: 0; right: 0; width: var(--frame-thickness, 12px); height: 0; }
.mini-frame__line--bottom { bottom: 0; right: 0; height: var(--frame-thickness, 12px); width: 0; }
.mini-frame__line--left   { bottom: 0; left: 0; width: var(--frame-thickness, 12px); height: 0; }

.mini-frame.is-active .mini-frame__line--top    { width: 100%; transition-delay: 0s; }
.mini-frame.is-active .mini-frame__line--right  { height: 100%; transition-delay: 0.6s; }
.mini-frame.is-active .mini-frame__line--bottom { width: 100%; transition-delay: 1.2s; }
.mini-frame.is-active .mini-frame__line--left   { height: 100%; transition-delay: 1.8s; }

.mini-frame__line--left {
  display: none;
}
/* ----------------------------------------
 ------------------------------------------
				Dots slider 
-------------------------------------------
-------------------------------------------*/
.swiper-pagination-bullet {
  width: 8px !important;
  height: 8px;
  border-radius: 5px;
  transition: width 0.3s ease, background-color 0.3s ease;
  margin: 0 4px !important;
}

.swiper-pagination-bullet-active {
  width: 24px !important;
  border-radius: 5px;
}

.swiper-pagination-bullets-dynamic {
  overflow: visible;
}