/* Hirondelle × Elementor — les sections Quaben occupent toute la largeur, sans marges parasites */
.hir-section.e-con, .c-elementor-home > .elementor > .e-con.hir-section { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --gap: 0px; --row-gap: 0px; --column-gap: 0px; padding: 0; }
.elementor-widget[class*="elementor-widget-quaben-"] { margin: 0 !important; width: 100%; }
.elementor-widget[class*="elementor-widget-quaben-"] > .elementor-widget-container { padding: 0; margin: 0; }
.c-elementor-home .c-excellence { margin-top: -60px; }
.c-elementor-home .elementor-widget-quaben-hero + .elementor-widget-quaben-stats .c-excellence { margin-top: -60px; }

/* Pages mises en page avec Elementor : bandeau du thème, puis contenu pleine largeur */
.c-body--elementor { padding: clamp(40px, 6vw, 80px) 0 clamp(60px, 8vw, 110px); }
.c-body--elementor > .elementor > .e-con:not(.e-con-full) { --content-width: min(1400px, calc(100vw - 2 * var(--pad))); }
.c-body--elementor .elementor-widget-text-editor { font-size: 17px; line-height: 1.6; }
.c-body--elementor .elementor-heading-title { letter-spacing: -.03em; }

/* Widgets Elementor standards accordés au thème */
.elementor-button { border-radius: 999px; font-family: var(--sans); font-weight: 600; font-size: 14px; padding: 14px 24px; background-color: var(--ink); color: #fff; transition: background .3s; }
.elementor-button:hover, .elementor-button:focus { background-color: var(--accent); color: #fff; }
.elementor-widget-image img { border-radius: var(--r); }
.elementor-widget-divider { --divider-color: var(--line); }
.elementor-field-group .elementor-field { border-radius: 12px; }

/* Éditeur : rendre visibles les animations d'apparition */
.elementor-editor-active .js [data-lines] .w > span, .elementor-editor-active [data-fade], .elementor-editor-preview [data-fade] { transform: none !important; opacity: 1 !important; }
.elementor-editor-active .c-loader { display: none; }
.elementor-editor-active .c-stats { height: auto; }
.elementor-editor-active .c-stats__sticky { position: static; height: auto; padding: 40px 0; }
.elementor-editor-active .c-stats__track { overflow-x: auto; transform: none !important; }
.elementor-editor-active .c-universes__cards .c-uni { opacity: 1 !important; --ty: 0 !important; }

/* Elementor impose « img { height: auto } » : on rétablit le recadrage des photos du thème */
.elementor .c-hero__photo img, .elementor .c-experience__media img, .elementor .c-shard img, .elementor .c-card__img img, .elementor .c-drop__img img, .elementor .c-phero__photo img, .elementor .q-person__img img, .elementor .q-alumni figure img { width: 100%; height: 100%; max-width: none; object-fit: cover; }
.elementor .c-brand__logo, .elementor .c-emblem img { height: auto; }
