/* ==========================================================================
   Kiyu Studio : modernisation des pages Elementor
   A. Règles générales (toutes les pages construites avec Elementor)
   B. Page « Accueil » Elementor (seulement si elle est choisie à la place de
      l'accueil du thème). Ces règles visent des blocs par leur identifiant : si un
      bloc est recréé, sa règle devient inutile sans rien casser.
   ========================================================================== */

/* A. Règles générales ------------------------------------------------------- */

/* Titres dans la police d'affichage du thème. */
.kiyu .elementor-widget-heading .elementor-heading-title {
	font-family: var(--font-display) !important;
	letter-spacing: -.02em;
	line-height: 1.15;
	text-wrap: balance;
}

/* Boutons : pilule orange, comme les boutons du thème. */
.kiyu .elementor-button {
	color: var(--ink) !important;
	background: var(--orange) !important;
	border: 0 !important;
	border-radius: 999px !important;
	box-shadow: none !important;
	font-family: var(--font-text) !important;
	font-weight: 600 !important;
	padding: 15px 26px !important;
	white-space: nowrap;
	transition: background-color .25s, color .25s !important;
}

.kiyu .elementor-button:hover,
.kiyu .elementor-button:focus-visible {
	color: var(--white) !important;
	background: var(--ink) !important;
}

.kiyu .elementor-button .elementor-button-content-wrapper { gap: .45em; }

/* Liens dans les textes. */
.kiyu .elementor-widget-text-editor a:not(.elementor-button) {
	color: inherit;
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: var(--orange);
	text-decoration-thickness: 2px;
	text-underline-offset: .2em;
}

.kiyu .elementor-widget-text-editor a:not(.elementor-button):hover { text-decoration-color: var(--ink); }
.kiyu .elementor-widget-text-editor p:last-child { margin-bottom: 0; }

/* Pages : le contenu s'aligne sur la grille du thème (même largeur et mêmes marges que
   l'en-tête) au lieu de coller aux bords de l'écran. */
.kiyu .entry--builder > .elementor > .e-con.e-parent {
	max-width: calc(var(--container) + 2 * var(--gutter));
	margin-inline: auto;
	padding-inline: max(0px, calc(var(--gutter) - 10px)) !important;
}

/* Blocs colorés : arrondis du thème. */
.kiyu .entry--builder .e-con[data-settings*="background_background"] {
	border-radius: var(--r-lg) !important;
	overflow: clip;
}

.kiyu .entry-content--builder .e-con[data-settings*="background_background"] { border-radius: var(--r) !important; }

/* Conteneurs : une colonne ne peut plus pousser la page hors de l'écran. */
.kiyu .e-con > .e-con,
.kiyu .e-con > .e-con-inner > .e-con { max-width: 100%; min-width: 0; }

/* Espaceurs : grands vides fixes plafonnés sur tablette et mobile. */
@media (max-width: 1024px) {
	.kiyu .elementor-widget-spacer .elementor-spacer-inner { max-height: 48px; }
}

@media (max-width: 767px) {
	.kiyu .elementor-widget-spacer .elementor-spacer-inner { max-height: 24px; }
}

/* Accordéons Elementor (FAQ, étapes) : plus aérés. */
.kiyu .e-n-accordion-item-title { padding-block: 18px !important; }
.kiyu .e-n-accordion-item-title-text { font-family: var(--font-display); font-weight: 600; }

/* B. Page « Accueil » Elementor ------------------------------------------------ */

.elementor-16 .elementor-element-743b360 { gap: clamp(16px, 3vw, 48px) !important; overflow: hidden; }
.elementor-16 .elementor-element-743b360 > .e-con { flex: 1 1 0 !important; min-width: 0; }
.elementor-16 .elementor-element-743b360 > .elementor-element-5859021 { flex: 0 1 45% !important; max-width: 560px; }

.elementor-16 .elementor-element-9c3014c { display: flex !important; flex-wrap: wrap !important; align-items: center; gap: 10px 28px !important; }
.elementor-16 .elementor-element-9c3014c > .elementor-element { flex: 0 1 auto !important; width: auto !important; max-width: 100% !important; }
.elementor-16 .elementor-element-9c3014c p { margin: 0; line-height: 1.4 !important; white-space: nowrap; }

@media (max-width: 767px) {
	.elementor-16 .elementor-element-ba1a797 { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; gap: 20px 16px !important; }
	.elementor-16 .elementor-element-ba1a797 > .elementor-widget-image { width: auto !important; max-width: none !important; margin: 0 !important; }
	.elementor-16 .elementor-element-ba1a797 > .elementor-widget-image:last-child:nth-child(odd) { grid-column: 1 / -1; }
	.elementor-16 .elementor-element-ba1a797 img { display: block; width: auto !important; max-width: 100% !important; max-height: 84px; margin-inline: auto; object-fit: contain; }
}
