
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0;}main{display:block;}h1{font-size:2em;margin:.67em 0;}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace,monospace;font-size:1em;}a{background-color:transparent;}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted;}b,strong{font-weight:bolder;}code,kbd,samp{font-family:monospace,monospace;font-size:1em;}small{font-size:80%;}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;}sub{bottom:-.25em;}sup{top:-.5em;}img{border-style:none;}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible;}button,select{text-transform:none;}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0;}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText;}fieldset{padding:.35em .75em .625em;}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline;}textarea{overflow:auto;}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0;}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto;}[type=search]{-webkit-appearance:textfield;outline-offset:-2px;}[type=search]::-webkit-search-decoration{-webkit-appearance:none;}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block;}summary{display:list-item;}template{display:none;}[hidden]{display:none;}
                    
*, *::before, *::after {
    box-sizing: border-box;
}
:root {
    --primary: #0d6efd;
    --secondary: #6c757d;
    --color3: #0dcaf0;
    --color4: #198754;
    --white: white;
    --light: #f8f9fa;
    --dark: #212529;
}body, html {
    min-height: 100vh;
}


/* === Portrait wrapper (3:4), large width 1200px === */
.page-wrap{
  position: relative;
  width: min(1200px, 100%);
  aspect-ratio: 3 / 4;        /* portrait */
  margin: 0 auto;
}
.page-wrap .slide{ position: relative; width:100%; height:100%; }
.page-wrap .abs{ position: absolute; transform-origin: top left; box-sizing: border-box; }
.page-wrap .textbox{ line-height:1.15; overflow: visible; }
.page-wrap .abs > img{ display:block; width:100%; height:100%; object-fit: contain; vertical-align: top; }



/* === Rognage doux (soft crop) pour les images === */
/* Cache uniquement le débordement des blocs qui contiennent une image */
.page-wrap .abs:has(> img) {
  overflow: hidden;
}

/* Les images remplissent leur conteneur en recadrant doucement */
.page-wrap .abs > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;      /* recadrage doux */
  object-position: center;
  vertical-align: top;
}

/* Les zones de texte restent libres (pas de rognage) */
.page-wrap .textbox {
  overflow: visible;
}



/* === Correctif stabilité du texte et alignement vertical === */
.page-wrap .textbox {
  line-height: normal !important;
  white-space: pre-wrap !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  height: auto !important;
  min-height: fit-content !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important; /* centrage vertical du texte */
}







@media (max-width: 640px){
  
}







@media (max-width: 768px){
  
}
html, body { overflow-x: hidden; }

