.contentIframeClass {
	width: 100%;
	height: 100%;
	position: absolute;
	border: none;
}
.dummyIFrameClass {
	display: none;
}
.prev, .next {
	cursor: pointer;
	position: absolute;
	top: 50%;
	padding: 15px;
	color: rgb(0, 0, 0);
	font-weight: bold;
	font-size: 30px;
	visibility: hidden;
}
.next {
	right: 0;
	border-radius: 3px 0 0 3px;
}
html, body {
	margin: 0;
	overflow: hidden
}


/* ===== RESET ET BASE ===== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html, body {
    width: 100%;
    height: 100%;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* ===== CONTENEUR PRINCIPAL ===== */
.presentation-container,
.slides-wrapper,
main,
.container {
    width: 100vw;
    height: 100vh;
    overflow: hidden;
}

/* ===== TYPOGRAPHIE FLUIDE POUR IPAD ===== */
h1 {
    font-size: clamp(1.5rem, 5vw, 2.5rem);
    line-height: 1.2;
}

h2 {
    font-size: clamp(1.3rem, 4.5vw, 2.2rem);
    line-height: 1.3;
}

h3 {
    font-size: clamp(1.1rem, 3.5vw, 1.8rem);
    line-height: 1.4;
}

p, li, span {
    font-size: clamp(1rem, 2.5vw, 1.25rem);
    line-height: 1.6;
}

/* ===== PADDING ET SPACING ADAPTATIF ===== */
.slide,
section,
.content,
.card {
    padding: clamp(1.5rem, 5vw, 3rem);
}

/* ===== IMAGES RESPONSIVE ===== */
img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* ===== BOUTONS TACTILES ===== */
button,
a.btn,
input[type="button"],
input[type="submit"] {
    min-height: 48px;
    min-width: 48px;
    padding: clamp(0.75rem, 2vw, 1.25rem) clamp(1rem, 3vw, 2rem);
    font-size: clamp(1rem, 2vw, 1.1rem);
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
}

button:active,
a.btn:active {
    transform: scale(0.98);
}

/* ===== GRILLE RESPONSIVE ===== */
.grid,
.row {
    display: grid;
    grid-auto-flow: row;
    gap: clamp(1rem, 3vw, 2rem);
    width: 100%;
}

.grid.col-2,
.grid.cols-2 {
    grid-template-columns: 1fr;
}

@media (min-width: 1024px) {
    .grid.col-2,
    .grid.cols-2 {
        grid-template-columns: 1fr 1fr;
    }
}

/* ===== FLEXBOX RESPONSIVE ===== */
.flex {
    display: flex;
    flex-direction: column;
    gap: clamp(1rem, 3vw, 2rem);
}

.flex.row {
    flex-direction: row;
    flex-wrap: wrap;
}

.flex.center {
    justify-content: center;
    align-items: center;
}

/* ===== BREAKPOINTS IPAD ===== */

/* iPad Mini (768px) */
@media (min-width: 768px) {
    body {
        font-size: 16px;
    }
}

/* iPad 10.9" et 11" (1024px en portrait, 1366px en paysage) */
@media (min-width: 1024px) {
    body {
        font-size: 17px;
    }
    
    .slide,
    section,
    .content {
        padding: clamp(2rem, 5vw, 3.5rem);
    }
}

/* iPad Pro 12.9" (1366px+) */
@media (min-width: 1366px) {
    body {
        font-size: 18px;
    }
}

/* ===== MODE PORTRAIT (iPad par défaut) ===== */
@media (orientation: portrait) {
    .presentation-container,
    .slides-wrapper,
    main {
        width: 100vw;
        height: 100vh;
    }
    
    .slide,
    section {
        width: 100%;
        max-width: 100vw;
        padding: clamp(1.5rem, 4vw, 2.5rem);
    }
}

/* ===== MODE PAYSAGE ===== */
@media (orientation: landscape) {
    .presentation-container,
    .slides-wrapper,
    main {
        width: 100vw;
        height: 100vh;
    }
    
    .slide,
    section {
        width: 100%;
        padding: clamp(1rem, 3vw, 2.5rem);
    }
    
    p, li {
        font-size: clamp(0.95rem, 2vw, 1.15rem);
    }
}

/* ===== LISTES ===== */
ul, ol {
    list-style-position: inside;
    margin-left: clamp(0.5rem, 2vw, 1.5rem);
}

li {
    margin-bottom: clamp(0.75rem, 2vw, 1.25rem);
}

/* ===== FORMULAIRES ===== */
input,
textarea,
select {
    width: 100%;
    max-width: 100%;
    padding: clamp(0.75rem, 2vw, 1rem);
    font-size: clamp(1rem, 2vw, 1.1rem);
    border: 1px solid #ccc;
    border-radius: 6px;
    font-family: inherit;
}

input:focus,
textarea:focus,
select:focus {
    outline: none;
    border-color: #007AFF;
    box-shadow: 0 0 0 3px rgba(0, 122, 255, 0.1);
}

/* ===== DÉSACTIVER LE ZOOM AU DOUBLE-TAP ===== */
input,
button {
    font-size: 16px; /* Prévient le zoom automatique sur iOS */
}

/* ===== NAVIGATION SAFE AREA POUR NOTCH ===== */
.navbar,
header {
    padding-top: max(1rem, env(safe-area-inset-top));
    padding-bottom: max(1rem, env(safe-area-inset-bottom));
    padding-left: max(1rem, env(safe-area-inset-left));
    padding-right: max(1rem, env(safe-area-inset-right));
}

.footer,
.controls {
    padding-bottom: max(1rem, env(safe-area-inset-bottom));
    padding-left: max(1rem, env(safe-area-inset-left));
    padding-right: max(1rem, env(safe-area-inset-right));
}

/* ===== DÉFILEMENT FLUIDE ===== */
html {
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ===== DÉSACTIVER LES COMPORTEMENTS INDÉSIRABLES ===== */
body {
    -webkit-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
}

a, button {
    -webkit-user-select: none;
    user-select: none;
}

/* ===== OVERFLOW ET CONTENTIOUS ===== */
.slides-wrapper,
.carousel,
[class*="slider"] {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
}

/* ===== TABLES RESPONSIVE ===== */
table {
    width: 100%;
    border-collapse: collapse;
    font-size: clamp(0.9rem, 2vw, 1rem);
}

th, td {
    padding: clamp(0.75rem, 2vw, 1rem);
    text-align: left;
    border-bottom: 1px solid #eee;
}

/* ===== VIEWPORT ORIENTATION LOCK (optionnel) ===== */
@media (orientation: portrait) and (max-width: 1024px) {
    /* Pour forcer le portrait sur petits iPad */
    /* À adapter selon vos besoins */
}