/* ==========================================================================
   Reprolys SaaS — couche de compatibilité
   Le contenu existant du site a été rédigé pour Bootstrap 3 (.row, .col-md-*,
   .container-fluid…). Ce fichier reproduit fidèlement la grille (colonnes
   flottantes, mêmes points de rupture) et les classes utilitaires nécessaires,
   sans charger Bootstrap, et ajoute les classes du cœur WordPress.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Conteneurs & grille (reproduction de Bootstrap 3)
   -------------------------------------------------------------------------- */
.rp-content .container,
.rp-content .container-fluid,
.rp-content .container-fluide {
	width: 100%;
	max-width: 100%;
	margin-inline: auto;
	padding-inline: 0;
}

.rp-content .row { margin-inline: -15px; }

/* Purge des flottants : conteneurs, lignes et zone de contenu. */
.rp-content::after,
.rp-content .row::after,
.rp-content .container::after,
.rp-content .container-fluid::after,
.rp-content .container-fluide::after,
.rp-content .clearfix::after {
	content: "";
	display: table;
	clear: both;
}

.rp-content [class*="col-xs-"],
.rp-content [class*="col-sm-"],
.rp-content [class*="col-md-"],
.rp-content [class*="col-lg-"] {
	position: relative;
	width: 100%;
	min-height: 1px;
	padding-inline: 15px;
}

/* Colonnes « xs » : flottantes dès le plus petit écran. */
.rp-content .col-xs-1  { float: left; width: 8.333333%; }
.rp-content .col-xs-2  { float: left; width: 16.666667%; }
.rp-content .col-xs-3  { float: left; width: 25%; }
.rp-content .col-xs-4  { float: left; width: 33.333333%; }
.rp-content .col-xs-5  { float: left; width: 41.666667%; }
.rp-content .col-xs-6  { float: left; width: 50%; }
.rp-content .col-xs-7  { float: left; width: 58.333333%; }
.rp-content .col-xs-8  { float: left; width: 66.666667%; }
.rp-content .col-xs-9  { float: left; width: 75%; }
.rp-content .col-xs-10 { float: left; width: 83.333333%; }
.rp-content .col-xs-11 { float: left; width: 91.666667%; }
.rp-content .col-xs-12 { float: left; width: 100%; }

@media (min-width: 768px) {
	.rp-content .col-sm-1  { float: left; width: 8.333333%; }
	.rp-content .col-sm-2  { float: left; width: 16.666667%; }
	.rp-content .col-sm-3  { float: left; width: 25%; }
	.rp-content .col-sm-4  { float: left; width: 33.333333%; }
	.rp-content .col-sm-5  { float: left; width: 41.666667%; }
	.rp-content .col-sm-6  { float: left; width: 50%; }
	.rp-content .col-sm-7  { float: left; width: 58.333333%; }
	.rp-content .col-sm-8  { float: left; width: 66.666667%; }
	.rp-content .col-sm-9  { float: left; width: 75%; }
	.rp-content .col-sm-10 { float: left; width: 83.333333%; }
	.rp-content .col-sm-11 { float: left; width: 91.666667%; }
	.rp-content .col-sm-12 { float: left; width: 100%; }
}

@media (min-width: 992px) {
	.rp-content .col-md-1  { float: left; width: 8.333333%; }
	.rp-content .col-md-2  { float: left; width: 16.666667%; }
	.rp-content .col-md-3  { float: left; width: 25%; }
	.rp-content .col-md-4  { float: left; width: 33.333333%; }
	.rp-content .col-md-5  { float: left; width: 41.666667%; }
	.rp-content .col-md-6  { float: left; width: 50%; }
	.rp-content .col-md-7  { float: left; width: 58.333333%; }
	.rp-content .col-md-8  { float: left; width: 66.666667%; }
	.rp-content .col-md-9  { float: left; width: 75%; }
	.rp-content .col-md-10 { float: left; width: 83.333333%; }
	.rp-content .col-md-11 { float: left; width: 91.666667%; }
	.rp-content .col-md-12 { float: left; width: 100%; }
}

@media (min-width: 1200px) {
	.rp-content .col-lg-1  { float: left; width: 8.333333%; }
	.rp-content .col-lg-2  { float: left; width: 16.666667%; }
	.rp-content .col-lg-3  { float: left; width: 25%; }
	.rp-content .col-lg-4  { float: left; width: 33.333333%; }
	.rp-content .col-lg-5  { float: left; width: 41.666667%; }
	.rp-content .col-lg-6  { float: left; width: 50%; }
	.rp-content .col-lg-7  { float: left; width: 58.333333%; }
	.rp-content .col-lg-8  { float: left; width: 66.666667%; }
	.rp-content .col-lg-9  { float: left; width: 75%; }
	.rp-content .col-lg-10 { float: left; width: 83.333333%; }
	.rp-content .col-lg-11 { float: left; width: 91.666667%; }
	.rp-content .col-lg-12 { float: left; width: 100%; }
}

/* Décalages les plus courants. */
@media (min-width: 992px) {
	.rp-content .col-md-offset-1 { margin-left: 8.333333%; }
	.rp-content .col-md-offset-2 { margin-left: 16.666667%; }
	.rp-content .col-md-offset-3 { margin-left: 25%; }
	.rp-content .col-md-offset-4 { margin-left: 33.333333%; }
	.rp-content .col-md-offset-6 { margin-left: 50%; }
}

/* Respiration entre les blocs hérités. */
.rp-content .row > [class*="col-"] > h2:first-child,
.rp-content .row > [class*="col-"] > h3:first-child { margin-top: 0; }

.rp-content .row + .row { margin-top: 24px; }
.rp-content [class*="col-"] { margin-bottom: 8px; }

/* --------------------------------------------------------------------------
   2. Utilitaires hérités
   -------------------------------------------------------------------------- */
.rp-content .text-left { text-align: left; }
.rp-content .text-right { text-align: right; }
.rp-content .text-center { text-align: center; }
.rp-content .text-justify { text-align: justify; text-justify: inter-word; hyphens: auto; }
.rp-content .text-uppercase { text-transform: uppercase; }
.rp-content .text-muted { color: var(--rp-muted); }
.rp-content .pull-left { float: left; }
.rp-content .pull-right { float: right; }
.rp-content .hidden { display: none !important; }
.rp-content .img-responsive { display: block; max-width: 100%; height: auto; }
.rp-content .img-circle { border-radius: 50%; }
.rp-content .img-rounded { border-radius: var(--rp-radius); }
.rp-content .center-block { display: block; margin-inline: auto; }

.rp-content .well {
	background: var(--rp-surface-alt);
	border: 1px solid var(--rp-line);
	border-radius: var(--rp-radius);
	padding: 24px 26px;
	margin-bottom: 24px;
}

/* Boutons hérités : .btn, input[type=button] */
.rp-content .btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	font-family: var(--rp-font-head);
	font-size: .96rem;
	font-weight: 700;
	padding: 14px 28px;
	border: 2px solid transparent;
	border-radius: var(--rp-radius-pill);
	background: var(--rp-gradient);
	background-size: 160% 100%;
	color: #fff;
	cursor: pointer;
	text-decoration: none;
	box-shadow: 0 14px 30px -14px rgba(110, 0, 255, .75);
	transition: transform var(--rp-t), box-shadow var(--rp-t), background-position .5s var(--rp-ease);
}

.rp-content .btn:hover,
.rp-content .btn:focus { color: #fff; transform: translateY(-2px); background-position: 100% 0; }

.rp-content .btn-default,
.rp-content .btn-link {
	background: transparent;
	color: var(--rp-primary);
	border-color: var(--rp-line);
	box-shadow: none;
}

.rp-content .btn-default:hover,
.rp-content .btn-link:hover { background: var(--rp-primary-soft); border-color: var(--rp-primary); color: var(--rp-primary-dark); }

.rp-content .btn-success { background: linear-gradient(135deg, var(--rp-accent) 0%, var(--rp-accent-dark) 100%); }
.rp-content .btn-info { background: linear-gradient(135deg, var(--rp-secondary) 0%, var(--rp-secondary-dark) 100%); }
.rp-content .btn-lg { padding: 18px 36px; font-size: 1.04rem; }
.rp-content .btn-sm { padding: 10px 20px; font-size: .86rem; }
.rp-content .btn-block { display: flex; width: 100%; }

/* Les anciens contenus utilisent <input type="button"> à l'intérieur d'un lien. */
.rp-content a > input[type="button"] { pointer-events: none; }

/* Tableaux hérités */
.rp-content .table { width: 100%; }
.rp-content .table-bordered th,
.rp-content .table-bordered td { border: 1px solid var(--rp-line); }
.rp-content .table-striped tbody tr:nth-child(odd) { background: var(--rp-surface-alt); }
.rp-content .table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* Glyphicons éventuellement présents dans le contenu : neutralisés proprement. */
.rp-content .glyphicon { display: none; }

/* --------------------------------------------------------------------------
   3. Classes du cœur WordPress
   -------------------------------------------------------------------------- */
.alignleft {
	float: left;
	margin: .4em 2em 1.4em 0;
}

.alignright {
	float: right;
	margin: .4em 0 1.4em 2em;
}

.aligncenter {
	display: block;
	margin-inline: auto;
	margin-bottom: 1.6em;
}

.alignnone { margin-bottom: 1.6em; }

.alignwide { width: 100%; }

.alignfull {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.wp-caption { max-width: 100%; margin-bottom: 1.6em; }
.wp-caption img { display: block; margin-inline: auto; }

.wp-caption-text,
.wp-caption .wp-caption-text {
	font-size: .87rem;
	color: var(--rp-muted);
	text-align: center;
	margin: 10px 0 0;
}

.sticky .rp-post-card { border-color: var(--rp-primary); }

.gallery {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin-bottom: 1.8em;
}

.gallery-columns-1 { grid-template-columns: minmax(0, 1fr); }
.gallery-columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gallery-columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.gallery-columns-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.gallery-item { margin: 0; }
.gallery-item img { width: 100%; border-radius: var(--rp-radius-sm); }
.gallery-caption { font-size: .82rem; color: var(--rp-muted); }

.wp-block-image figcaption { font-size: .87rem; color: var(--rp-muted); text-align: center; }
.wp-block-separator { border: 0; height: 1px; background: var(--rp-line); margin-block: 40px; }
.wp-block-quote { border-left: 4px solid var(--rp-primary); padding-left: 26px; }
.wp-block-table table { margin-bottom: 0; }

.wp-block-button__link { text-decoration: none; }

.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--rp-primary);
	border-color: var(--rp-primary);
	box-shadow: none;
}

.rp-content embed,
.rp-content iframe,
.rp-content object { max-width: 100%; }

/* Vidéos réactives */
.rp-content .wp-block-embed.wp-embed-aspect-16-9 .wp-block-embed__wrapper { position: relative; }

.rp-content .wp-block-embed.wp-embed-aspect-16-9 .wp-block-embed__wrapper::before {
	content: "";
	display: block;
	padding-top: 56.25%;
}

.rp-content .wp-block-embed.wp-embed-aspect-16-9 .wp-block-embed__wrapper iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border-radius: var(--rp-radius);
}

/* Plan du site (extension wp-sitemap-page) */
.rp-content .wsp-container ul { margin-bottom: 1.4em; }

@media (max-width: 767px) {
	.alignleft,
	.alignright {
		float: none;
		display: block;
		margin-inline: auto;
	}

	.gallery { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.rp-content .text-justify { text-align: left; }
}
