.elementor-kit-20{--e-global-color-primary:#192850;--e-global-color-secondary:#00EDED;--e-global-color-text:#000000;--e-global-color-accent:#FF5A37;--e-global-color-sk_creme:#F4EFE7;--e-global-color-sk_bleu:#0069E6;--e-global-color-sk_rose:#FF00A0;--e-global-color-sk_blanc:#FFFFFF;--e-global-color-sk_gris:#333333;--e-global-color-sk_beige:#EDDCC3;--e-global-typography-primary-font-family:"Silka";--e-global-typography-primary-font-size:80px;--e-global-typography-primary-font-weight:700;--e-global-typography-primary-line-height:1.05em;--e-global-typography-secondary-font-family:"Silka";--e-global-typography-secondary-font-size:60px;--e-global-typography-secondary-font-weight:700;--e-global-typography-secondary-line-height:1.1em;--e-global-typography-text-font-family:"degular";--e-global-typography-text-font-size:21px;--e-global-typography-text-font-weight:300;--e-global-typography-text-line-height:1.35em;--e-global-typography-accent-font-family:"Silka";--e-global-typography-accent-font-size:18px;--e-global-typography-accent-font-weight:700;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:1.2em;--e-global-typography-accent-letter-spacing:1px;--e-global-typography-sk_h3-font-family:"Silka";--e-global-typography-sk_h3-font-size:28px;--e-global-typography-sk_h3-font-weight:700;--e-global-typography-sk_h3-line-height:1.2em;--e-global-typography-sk_h3_maj-font-family:"Silka";--e-global-typography-sk_h3_maj-font-size:28px;--e-global-typography-sk_h3_maj-font-weight:700;--e-global-typography-sk_h3_maj-text-transform:uppercase;--e-global-typography-sk_h3_maj-line-height:1.2em;--e-global-typography-sk_texte_large-font-family:"degular";--e-global-typography-sk_texte_large-font-size:24px;--e-global-typography-sk_texte_large-font-weight:300;--e-global-typography-sk_texte_large-font-style:normal;--e-global-typography-sk_texte_large-line-height:1.3em;--e-global-typography-sk_texte_accent-font-family:"degular";--e-global-typography-sk_texte_accent-font-size:28px;--e-global-typography-sk_texte_accent-font-weight:400;--e-global-typography-sk_texte_accent-line-height:1.2em;--e-global-typography-sk_menu-font-family:"Silka";--e-global-typography-sk_menu-font-size:14px;--e-global-typography-sk_menu-font-weight:600;--e-global-typography-sk_menu-text-transform:uppercase;--e-global-typography-sk_menu-line-height:1.2em;--e-global-typography-sk_menu-letter-spacing:1px;--e-global-typography-sk_petit-font-family:"degular";--e-global-typography-sk_petit-font-size:16px;--e-global-typography-sk_petit-font-weight:300;--e-global-typography-sk_petit-line-height:1.5em;--e-global-typography-sk_lien-font-family:"degular";--e-global-typography-sk_lien-font-size:21px;--e-global-typography-sk_lien-font-weight:500;--e-global-typography-sk_lien-line-height:1.35em;--e-global-typography-sk_chiffre-font-family:"degular";--e-global-typography-sk_chiffre-font-size:100px;--e-global-typography-sk_chiffre-font-weight:700;--e-global-typography-sk_chiffre-line-height:1em;--e-global-typography-sk_chiffre-letter-spacing:-5px;--e-global-typography-sk_titre_page-font-family:"Silka";--e-global-typography-sk_titre_page-font-size:80px;--e-global-typography-sk_titre_page-font-weight:800;--e-global-typography-sk_titre_page-text-transform:none;--e-global-typography-sk_titre_page-font-style:normal;--e-global-typography-sk_titre_page-line-height:0.98em;--e-global-typography-sk_titre_page-letter-spacing:-0.025em;--e-global-typography-sk_surtitre-font-family:"Silka";--e-global-typography-sk_surtitre-font-size:24px;--e-global-typography-sk_surtitre-font-weight:700;--e-global-typography-sk_surtitre-text-transform:none;--e-global-typography-sk_surtitre-font-style:normal;--e-global-typography-sk_surtitre-line-height:1.2em;--e-global-typography-sk_surtitre-letter-spacing:0em;--e-global-typography-sk_prix-font-family:"Silka";--e-global-typography-sk_prix-font-size:58px;--e-global-typography-sk_prix-font-weight:800;--e-global-typography-sk_prix-text-transform:none;--e-global-typography-sk_prix-font-style:normal;--e-global-typography-sk_prix-line-height:1em;--e-global-typography-sk_prix-letter-spacing:0em;--e-global-typography-sk_prix_detail-font-family:"degular";--e-global-typography-sk_prix_detail-font-size:14px;--e-global-typography-sk_prix_detail-font-weight:700;--e-global-typography-sk_prix_detail-text-transform:uppercase;--e-global-typography-sk_prix_detail-font-style:normal;--e-global-typography-sk_prix_detail-line-height:1.4em;--e-global-typography-sk_prix_detail-letter-spacing:0.08em;--e-global-typography-sk_titre_moyen-font-family:"Silka";--e-global-typography-sk_titre_moyen-font-size:40px;--e-global-typography-sk_titre_moyen-font-weight:700;--e-global-typography-sk_titre_moyen-line-height:1.15em;--e-global-typography-sk_titre_carte-font-family:"Silka";--e-global-typography-sk_titre_carte-font-size:18px;--e-global-typography-sk_titre_carte-font-weight:700;--e-global-typography-sk_titre_carte-line-height:1.3em;--e-global-typography-sk_mini-font-family:"degular";--e-global-typography-sk_mini-font-size:14px;--e-global-typography-sk_mini-font-weight:400;--e-global-typography-sk_mini-line-height:1.45em;background-color:var( --e-global-color-sk_creme );color:var( --e-global-color-text );}.elementor-kit-20 button,.elementor-kit-20 input[type="button"],.elementor-kit-20 input[type="submit"],.elementor-kit-20 .elementor-button{background-color:var( --e-global-color-accent );color:var( --e-global-color-sk_creme );border-radius:40px 40px 40px 40px;padding:15px 60px 15px 60px;}.elementor-kit-20 e-page-transition{background-color:#FFBC7D;}.elementor-kit-20 h1{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-20 h2{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-20 h3{font-family:var( --e-global-typography-sk_h3-font-family ), Sans-serif;font-size:var( --e-global-typography-sk_h3-font-size );font-weight:var( --e-global-typography-sk_h3-font-weight );line-height:var( --e-global-typography-sk_h3-line-height );}.elementor-kit-20 h4{font-family:var( --e-global-typography-sk_titre_carte-font-family ), Sans-serif;font-size:var( --e-global-typography-sk_titre_carte-font-size );font-weight:var( --e-global-typography-sk_titre_carte-font-weight );line-height:var( --e-global-typography-sk_titre_carte-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;--container-default-padding-top:0px;--container-default-padding-right:20px;--container-default-padding-bottom:0px;--container-default-padding-left:20px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-20{--e-global-typography-primary-font-size:56px;--e-global-typography-secondary-font-size:44px;--e-global-typography-text-font-size:20px;--e-global-typography-accent-font-size:17px;--e-global-typography-sk_h3-font-size:24px;--e-global-typography-sk_h3_maj-font-size:24px;--e-global-typography-sk_texte_large-font-size:21px;--e-global-typography-sk_texte_accent-font-size:24px;--e-global-typography-sk_menu-font-size:14px;--e-global-typography-sk_petit-font-size:16px;--e-global-typography-sk_lien-font-size:20px;--e-global-typography-sk_chiffre-font-size:80px;--e-global-typography-sk_titre_page-font-size:60px;--e-global-typography-sk_surtitre-font-size:21px;--e-global-typography-sk_prix-font-size:52px;--e-global-typography-sk_prix_detail-font-size:14px;--e-global-typography-sk_titre_moyen-font-size:34px;--e-global-typography-sk_titre_carte-font-size:17px;--e-global-typography-sk_mini-font-size:14px;}.elementor-kit-20 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-20 h2{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-20 h3{font-size:var( --e-global-typography-sk_h3-font-size );line-height:var( --e-global-typography-sk_h3-line-height );}.elementor-kit-20 h4{font-size:var( --e-global-typography-sk_titre_carte-font-size );line-height:var( --e-global-typography-sk_titre_carte-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-20{--e-global-typography-primary-font-size:42px;--e-global-typography-secondary-font-size:34px;--e-global-typography-text-font-size:18px;--e-global-typography-accent-font-size:16px;--e-global-typography-sk_h3-font-size:22px;--e-global-typography-sk_h3_maj-font-size:22px;--e-global-typography-sk_texte_large-font-size:19px;--e-global-typography-sk_texte_accent-font-size:22px;--e-global-typography-sk_menu-font-size:14px;--e-global-typography-sk_petit-font-size:15px;--e-global-typography-sk_lien-font-size:18px;--e-global-typography-sk_chiffre-font-size:64px;--e-global-typography-sk_titre_page-font-size:45px;--e-global-typography-sk_surtitre-font-size:19px;--e-global-typography-sk_prix-font-size:48px;--e-global-typography-sk_prix_detail-font-size:13px;--e-global-typography-sk_titre_moyen-font-size:28px;--e-global-typography-sk_titre_carte-font-size:16px;--e-global-typography-sk_mini-font-size:13px;}.elementor-kit-20 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-20 h2{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-20 h3{font-size:var( --e-global-typography-sk_h3-font-size );line-height:var( --e-global-typography-sk_h3-line-height );}.elementor-kit-20 h4{font-size:var( --e-global-typography-sk_titre_carte-font-size );line-height:var( --e-global-typography-sk_titre_carte-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */.elementor-widget-text-editor p:last-child, .elementor-widget-text-editor ul:last-child, .elementor-widget-text-editor ol:last-child { margin-bottom: 0; }
.sk-nowrap .elementor-button-text { white-space: nowrap; }
.cky-consent-container, .cky-modal, .cky-btn-revisit-wrapper { font-family: var(--e-global-typography-text-font-family), sans-serif; }
html, body { overflow-x: clip; }
@media (max-width: 767px) { .elementor-widget-heading h1 br { display: none; } }
  /* Tableaux comparatifs : défilement horizontal */
  .sk-tableau-defilant { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .sk-tableau-defilant > .e-con, .sk-tableau-defilant > .e-con-inner > .e-con { min-width: 560px; }
}
/* Fin des règles responsives */
/* Tableaux comparatifs des forfaits sur téléphone : la colonne vide de gauche disparaît, le tableau défile horizontalement */
@media (max-width: 767px) {
  .elementor .e-con:has(> .sk-tableau-defilant), .elementor .e-con:has(> .e-con-inner > .sk-tableau-defilant) { padding-left: 8px !important; padding-right: 8px !important; }
  .elementor .sk-tableau-defilant { overflow-x: auto !important; -webkit-overflow-scrolling: touch; padding-left: 0 !important; padding-right: 0 !important; }
  .sk-tableau-defilant > .e-con, .sk-tableau-defilant > .e-con-inner > .e-con, .sk-tableau-defilant > .elementor-widget, .sk-tableau-defilant > .e-con-inner > .elementor-widget { min-width: 480px !important; }
  .sk-tableau-defilant > .e-con > .e-con:first-child:not(:has(.elementor-widget)) { display: none !important; }
  .elementor .sk-tableau-defilant > .e-con > .e-con { flex: 1 1 0 !important; width: auto !important; min-width: 0 !important; padding-left: 6px !important; padding-right: 6px !important; }
  .sk-tableau-defilant .elementor-button { padding: 12px 10px !important; font-size: 13px !important; letter-spacing: 0 !important; }
}
/* Fin des règles responsives */
/* Tableaux comparatifs des forfaits sur téléphone : la colonne vide de gauche disparaît, le tableau défile horizontalement */
@media (max-width: 767px) {
  .elementor .e-con:has(> .sk-tableau-defilant), .elementor .e-con:has(> .e-con-inner > .sk-tableau-defilant) { padding-left: 8px !important; padding-right: 8px !important; }
  .elementor .sk-tableau-defilant { overflow-x: auto !important; -webkit-overflow-scrolling: touch; padding-left: 0 !important; padding-right: 0 !important; }
  .sk-tableau-defilant > .e-con, .sk-tableau-defilant > .e-con-inner > .e-con, .sk-tableau-defilant > .elementor-widget, .sk-tableau-defilant > .e-con-inner > .elementor-widget { min-width: 480px !important; }
  .sk-tableau-defilant > .e-con > .e-con:first-child:not(:has(.elementor-widget)) { display: none !important; }
  .elementor .sk-tableau-defilant > .e-con > .e-con { flex: 1 1 0 !important; width: auto !important; min-width: 0 !important; padding-left: 6px !important; padding-right: 6px !important; }
  .sk-tableau-defilant .elementor-button { padding: 12px 10px !important; font-size: 13px !important; letter-spacing: 0 !important; }
}
/* Fin des règles responsives */
/* Tableaux comparatifs des forfaits sur téléphone : la colonne vide de gauche disparaît, le tableau défile horizontalement */
@media (max-width: 767px) {
  .elementor .e-con:has(> .sk-tableau-defilant), .elementor .e-con:has(> .e-con-inner > .sk-tableau-defilant) { padding-left: 8px !important; padding-right: 8px !important; }
  .elementor .sk-tableau-defilant { overflow-x: auto !important; -webkit-overflow-scrolling: touch; padding-left: 0 !important; padding-right: 0 !important; }
  .sk-tableau-defilant > .e-con, .sk-tableau-defilant > .e-con-inner > .e-con, .sk-tableau-defilant > .elementor-widget, .sk-tableau-defilant > .e-con-inner > .elementor-widget { min-width: 480px !important; }
  .sk-tableau-defilant > .e-con > .e-con:first-child:not(:has(.elementor-widget)) { display: none !important; }
  .elementor .sk-tableau-defilant > .e-con > .e-con { flex: 1 1 0 !important; width: auto !important; min-width: 0 !important; padding-left: 6px !important; padding-right: 6px !important; }
  .sk-tableau-defilant .elementor-button { padding: 12px 10px !important; font-size: 13px !important; letter-spacing: 0 !important; }
}
/* Cartes de forfaits (tablette et mobile), sur le modèle de shortkut.ca : cartes espacées, en-tête centré, caractéristiques alignées en colonnes */
@media (max-width: 1024px) {
  .elementor .sk-prix-grille { row-gap: 32px !important; column-gap: 24px !important; }
  .elementor .e-con.sk-prix-icone { padding: 0 !important; flex: 0 0 auto !important; }
}
@media (max-width: 767px) {
  .elementor .sk-prix-entete, .elementor .sk-prix-entete > .e-con { align-items: center !important; justify-content: center !important; text-align: center; }
  .sk-prix-entete .elementor-heading-title { text-align: center !important; }
  .elementor .e-con.sk-prix-carte { padding-top: 32px !important; padding-bottom: 28px !important; align-items: stretch !important; }
  .sk-prix-carte > .elementor-widget-text-editor { text-align: center; }
  .sk-prix-carte > .elementor-widget-text-editor:first-child { align-self: center !important; }
  .elementor .sk-prix-nom, .elementor .sk-prix-montant, .elementor .sk-prix-termes { justify-content: center !important; flex-wrap: wrap !important; }
  .elementor .e-con.sk-prix-ligne { display: grid !important; grid-template-columns: 18px minmax(0, 1fr) auto; column-gap: 10px !important; align-items: center !important; }
  .sk-prix-ligne > * { width: auto !important; max-width: none !important; margin: 0 !important; }
  .sk-prix-ligne > .elementor-widget-text-editor:last-child { text-align: right; white-space: nowrap; }
  /* Onglets de catégories : tous en haut, empilés */
  .elementor-widget-n-tabs .e-n-tabs-heading { flex-wrap: wrap !important; gap: 8px !important; }
  .elementor-widget-n-tabs .e-n-tabs-heading > .e-n-tab-title { flex: 1 1 100% !important; justify-content: center; }
}
/* Fin des règles responsives */
/* Tableaux comparatifs des forfaits sur téléphone : la colonne vide de gauche disparaît, le tableau défile horizontalement */
@media (max-width: 767px) {
  .elementor .e-con:has(> .sk-tableau-defilant), .elementor .e-con:has(> .e-con-inner > .sk-tableau-defilant) { padding-left: 8px !important; padding-right: 8px !important; }
  .elementor .sk-tableau-defilant { overflow-x: auto !important; -webkit-overflow-scrolling: touch; padding-left: 0 !important; padding-right: 0 !important; }
  .sk-tableau-defilant > .e-con, .sk-tableau-defilant > .e-con-inner > .e-con, .sk-tableau-defilant > .elementor-widget, .sk-tableau-defilant > .e-con-inner > .elementor-widget { min-width: 480px !important; }
  .sk-tableau-defilant > .e-con > .e-con:first-child:not(:has(.elementor-widget)) { display: none !important; }
  .elementor .sk-tableau-defilant > .e-con > .e-con { flex: 1 1 0 !important; width: auto !important; min-width: 0 !important; padding-left: 6px !important; padding-right: 6px !important; }
  .sk-tableau-defilant .elementor-button { padding: 12px 10px !important; font-size: 13px !important; letter-spacing: 0 !important; }
}
/* Cartes de forfaits (tablette et mobile), sur le modèle de shortkut.ca : cartes espacées, en-tête centré, caractéristiques alignées en colonnes */
@media (max-width: 1024px) {
  .elementor .sk-prix-grille { row-gap: 32px !important; column-gap: 24px !important; }
  .elementor .e-con.sk-prix-icone { padding: 0 !important; flex: 0 0 auto !important; }
}
@media (max-width: 767px) {
  .elementor .sk-prix-entete, .elementor .sk-prix-entete > .e-con { align-items: center !important; justify-content: center !important; text-align: center; }
  .sk-prix-entete .elementor-heading-title { text-align: center !important; }
  .elementor .e-con.sk-prix-carte { padding-top: 32px !important; padding-bottom: 28px !important; align-items: stretch !important; }
  .sk-prix-carte > .elementor-widget-text-editor, .sk-prix-carte > .elementor-widget-text-editor * { text-align: center !important; }
  .elementor .e-con.sk-prix-termes, .elementor .e-con.sk-prix-nom, .elementor .e-con.sk-prix-montant { width: 100% !important; --width: 100% !important; }
  .sk-prix-carte > .elementor-widget-text-editor:first-child { align-self: center !important; }
  .elementor .sk-prix-nom, .elementor .sk-prix-montant, .elementor .sk-prix-termes { justify-content: center !important; flex-wrap: wrap !important; }
  .elementor .e-con.sk-prix-ligne { display: grid !important; grid-template-columns: 18px minmax(0, 1fr) auto; column-gap: 10px !important; align-items: center !important; }
  .sk-prix-ligne > * { width: auto !important; max-width: none !important; margin: 0 !important; }
  .sk-prix-ligne > .elementor-widget-text-editor:last-child { text-align: right; white-space: nowrap; }
  /* Onglets de catégories : tous en haut, empilés */
  .elementor-widget-n-tabs .e-n-tabs-heading { flex-wrap: wrap !important; gap: 8px !important; }
  .elementor-widget-n-tabs .e-n-tabs-heading > .e-n-tab-title { flex: 1 1 100% !important; justify-content: center; }
}
/* Fin des règles responsives */
/* Tableaux comparatifs des forfaits sur téléphone : la colonne vide de gauche disparaît, le tableau défile horizontalement */
@media (max-width: 767px) {
  .elementor .e-con:has(> .sk-tableau-defilant), .elementor .e-con:has(> .e-con-inner > .sk-tableau-defilant) { padding-left: 8px !important; padding-right: 8px !important; }
  .elementor .sk-tableau-defilant { overflow-x: auto !important; -webkit-overflow-scrolling: touch; padding-left: 0 !important; padding-right: 0 !important; }
  .sk-tableau-defilant > .e-con, .sk-tableau-defilant > .e-con-inner > .e-con, .sk-tableau-defilant > .elementor-widget, .sk-tableau-defilant > .e-con-inner > .elementor-widget { min-width: 480px !important; }
  .sk-tableau-defilant > .e-con > .e-con:first-child:not(:has(.elementor-widget)) { display: none !important; }
  .elementor .sk-tableau-defilant > .e-con > .e-con { flex: 1 1 0 !important; width: auto !important; min-width: 0 !important; padding-left: 6px !important; padding-right: 6px !important; }
  .sk-tableau-defilant .elementor-button { padding: 12px 10px !important; font-size: 13px !important; letter-spacing: 0 !important; }
}
/* Cartes de forfaits (tablette et mobile), sur le modèle de shortkut.ca : cartes espacées, en-tête centré, caractéristiques alignées en colonnes */
@media (max-width: 1024px) {
  .elementor .sk-prix-grille { row-gap: 32px !important; column-gap: 24px !important; }
  .elementor .e-con.sk-prix-icone { padding: 0 !important; flex: 0 0 auto !important; }
}
@media (max-width: 767px) {
  .elementor .sk-prix-entete, .elementor .sk-prix-entete > .e-con { align-items: center !important; justify-content: center !important; text-align: center; }
  .sk-prix-entete .elementor-heading-title { text-align: center !important; }
  .elementor .e-con.sk-prix-carte { padding-top: 32px !important; padding-bottom: 28px !important; align-items: stretch !important; }
  .sk-prix-carte > .elementor-widget-text-editor, .sk-prix-carte > .elementor-widget-text-editor * { text-align: center !important; }
  .elementor .e-con.sk-prix-termes, .elementor .e-con.sk-prix-nom, .elementor .e-con.sk-prix-montant { width: 100% !important; --width: 100% !important; }
  .sk-prix-carte > .elementor-widget-text-editor:first-child { align-self: center !important; }
  .elementor .sk-prix-nom, .elementor .sk-prix-montant, .elementor .sk-prix-termes { justify-content: center !important; flex-wrap: wrap !important; }
  .elementor .e-con.sk-prix-ligne { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; column-gap: 10px !important; align-items: center !important; }
  .elementor .e-con.sk-prix-ligne:has(> :nth-child(3)) { grid-template-columns: 18px minmax(0, 1fr) auto; }
  .sk-prix-ligne > * { width: auto !important; max-width: none !important; margin: 0 !important; }
  .sk-prix-ligne > .elementor-widget-text-editor:last-child { text-align: right; white-space: nowrap; }
  /* Onglets de catégories : tous en haut, empilés */
  .elementor-widget-n-tabs .e-n-tabs-heading { flex-wrap: wrap !important; gap: 8px !important; }
  .elementor-widget-n-tabs .e-n-tabs-heading > .e-n-tab-title { flex: 1 1 100% !important; justify-content: center; }
}
/* Fin des règles responsives */
/* Tableaux comparatifs des forfaits sur téléphone : la colonne vide de gauche disparaît, le tableau défile horizontalement */
@media (max-width: 767px) {
  .elementor .e-con:has(> .sk-tableau-defilant), .elementor .e-con:has(> .e-con-inner > .sk-tableau-defilant) { padding-left: 8px !important; padding-right: 8px !important; }
  .elementor .sk-tableau-defilant { overflow-x: auto !important; -webkit-overflow-scrolling: touch; padding-left: 0 !important; padding-right: 0 !important; }
  .sk-tableau-defilant > .e-con, .sk-tableau-defilant > .e-con-inner > .e-con, .sk-tableau-defilant > .elementor-widget, .sk-tableau-defilant > .e-con-inner > .elementor-widget { min-width: 480px !important; }
  .sk-tableau-defilant > .e-con > .e-con:first-child:not(:has(.elementor-widget)) { display: none !important; }
  .elementor .sk-tableau-defilant > .e-con > .e-con { flex: 1 1 0 !important; width: auto !important; min-width: 0 !important; padding-left: 6px !important; padding-right: 6px !important; }
  .sk-tableau-defilant .elementor-button { padding: 12px 10px !important; font-size: 13px !important; letter-spacing: 0 !important; }
}
/* Cartes de forfaits (tablette et mobile), sur le modèle de shortkut.ca : cartes espacées, en-tête centré, caractéristiques alignées en colonnes */
@media (max-width: 1024px) {
  .elementor .sk-prix-grille { row-gap: 32px !important; column-gap: 24px !important; }
  .elementor .e-con.sk-prix-icone { padding: 0 !important; flex: 0 0 auto !important; }
}
@media (max-width: 767px) {
  .elementor .sk-prix-entete, .elementor .sk-prix-entete > .e-con { align-items: center !important; justify-content: center !important; text-align: center; }
  .sk-prix-entete .elementor-heading-title { text-align: center !important; }
  .elementor .e-con.sk-prix-carte { padding-top: 32px !important; padding-bottom: 28px !important; align-items: stretch !important; }
  .sk-prix-carte > .elementor-widget-text-editor, .sk-prix-carte > .elementor-widget-text-editor * { text-align: center !important; }
  .elementor .e-con.sk-prix-termes, .elementor .e-con.sk-prix-nom, .elementor .e-con.sk-prix-montant { width: 100% !important; --width: 100% !important; }
  .sk-prix-carte > .elementor-widget-text-editor:first-child { align-self: center !important; }
  .elementor .sk-prix-nom, .elementor .sk-prix-montant, .elementor .sk-prix-termes { justify-content: center !important; flex-wrap: wrap !important; }
  .elementor .e-con.sk-prix-ligne { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; column-gap: 10px !important; align-items: center !important; }
  .elementor .e-con.sk-prix-ligne:has(> :nth-child(3)) { grid-template-columns: 18px minmax(0, 1fr) auto; }
  .sk-prix-ligne > * { width: auto !important; max-width: none !important; margin: 0 !important; }
  .sk-prix-ligne > .elementor-widget-text-editor:last-child { text-align: right; white-space: nowrap; }
  /* Onglets de catégories : tous en haut, empilés */
  .elementor-widget-n-tabs .e-n-tabs-heading { flex-wrap: wrap !important; gap: 8px !important; }
  .elementor-widget-n-tabs .e-n-tabs-heading > .e-n-tab-title { flex: 1 1 100% !important; justify-content: center; }
}
/* Blocs récurrents (tablette et mobile) : pastilles d'icônes, cartes centrées, vidéos, avis, FAQ, étapes, étiquettes */
.e-con.sk-pastille .elementor-heading-title, .e-con.sk-pastille p { font-size: 20px !important; line-height: 1 !important; }
@media (max-width: 1024px) {
  .elementor .e-con.sk-pastille { --width: 52px !important; width: 52px !important; min-width: 52px; height: 52px; min-height: 52px !important; flex: 0 0 52px !important; padding: 0 !important; justify-content: center !important; align-items: center !important; }
  .elementor .sk-etapes .e-con.sk-pastille, .elementor .e-con.sk-pastille:has(.elementor-heading-title:not(:empty)) { border-radius: 50%; }
  .elementor .e-con.sk-liaison { display: none !important; }
  /* Vidéos : l'image remplit son cadre */
  .elementor .e-con.sk-cadre-video { padding: 0 !important; overflow: hidden; min-height: 0 !important; }
  .sk-cadre-video .elementor-widget-video, .sk-cadre-video .elementor-wrapper, .sk-cadre-video video { width: 100% !important; }
  .sk-cadre-video video { object-fit: cover; aspect-ratio: 16 / 9; height: auto !important; display: block; }
  /* Avis : pas d'espace vide dans les cartes */
  .elementor .sk-avis > .e-con, .elementor .e-con.sk-avis-carte { min-height: 0 !important; height: auto !important; justify-content: flex-start !important; }
  .sk-avis { grid-auto-rows: auto !important; align-items: start !important; }
  /* FAQ et onglets : marges intérieures du contenu déplié */
  .elementor .e-n-accordion-item > .e-con { padding-left: 16px !important; padding-right: 16px !important; padding-bottom: 16px !important; }
}
@media (max-width: 767px) {
  /* Cartes centrées : icône, titre, texte, lien */
  .elementor .e-con.sk-carte-centree { align-items: center !important; text-align: center; }
  .sk-carte-centree > .elementor-widget, .sk-carte-centree .elementor-heading-title, .sk-carte-centree .elementor-widget-text-editor { text-align: center !important; }
  /* Texte à côté d'une barre verticale */
  .elementor .e-con.sk-texte-barre { padding-left: 16px !important; }
  .elementor .e-con.sk-video-info { align-items: flex-start !important; text-align: left; }
  .sk-video-info > * { border: 0 !important; text-align: left !important; }
  /* Boutons d'action du haut de page : empilés, pleine largeur */
  .elementor .e-con.sk-boutons { flex-direction: column !important; align-items: stretch !important; gap: 12px !important; }
  .sk-boutons .elementor-widget-button, .sk-boutons .elementor-button { width: 100% !important; }
  .sk-boutons .elementor-button-wrapper, .sk-boutons .elementor-widget-button { text-align: center !important; }
  /* Étapes : cartes, sans flèches */
  .sk-etapes > .elementor-widget-text-editor { display: none !important; }
  .elementor .sk-etapes > .e-con { background: #fff; border-radius: 16px; padding: 18px 16px !important; gap: 8px !important; }
  .elementor .sk-etapes { gap: 12px !important; }
  /* Étiquettes : en ligne, à la suite */
  .elementor .e-con.sk-etiquettes { flex-direction: row !important; flex-wrap: wrap !important; gap: 8px !important; justify-content: flex-start !important; }
  .sk-etiquettes > * { width: auto !important; margin: 0 !important; position: static !important; transform: none !important; }
  /* Grilles d'icônes : deux colonnes, cartes compactes */
  .elementor .e-con.sk-grille-icones { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
  .elementor .sk-grille-icones > .e-con { min-height: 0 !important; background: #fff; border-radius: 14px; padding: 16px 12px !important; gap: 8px !important; align-items: center !important; text-align: center; }
  .sk-grille-icones > .e-con > .elementor-widget-text-editor { text-align: center !important; }
  .sk-grille-icones > .e-con > .elementor-widget-text-editor:first-child { font-size: 26px !important; line-height: 1 !important; }
}
/* Fin des règles responsives */
/* Tableaux comparatifs des forfaits sur téléphone : la colonne vide de gauche disparaît, le tableau défile horizontalement */
@media (max-width: 767px) {
  .elementor .e-con:has(> .sk-tableau-defilant), .elementor .e-con:has(> .e-con-inner > .sk-tableau-defilant) { padding-left: 8px !important; padding-right: 8px !important; }
  .elementor .sk-tableau-defilant { overflow-x: auto !important; -webkit-overflow-scrolling: touch; padding-left: 0 !important; padding-right: 0 !important; }
  .sk-tableau-defilant > .e-con, .sk-tableau-defilant > .e-con-inner > .e-con, .sk-tableau-defilant > .elementor-widget, .sk-tableau-defilant > .e-con-inner > .elementor-widget { min-width: 480px !important; }
  .sk-tableau-defilant > .e-con > .e-con:first-child:not(:has(.elementor-widget)) { display: none !important; }
  .elementor .sk-tableau-defilant > .e-con > .e-con { flex: 1 1 0 !important; width: auto !important; min-width: 0 !important; padding-left: 6px !important; padding-right: 6px !important; }
  .sk-tableau-defilant .elementor-button { padding: 12px 10px !important; font-size: 13px !important; letter-spacing: 0 !important; }
}
/* Cartes de forfaits (tablette et mobile), sur le modèle de shortkut.ca : cartes espacées, en-tête centré, caractéristiques alignées en colonnes */
@media (max-width: 1024px) {
  .elementor .sk-prix-grille { row-gap: 32px !important; column-gap: 24px !important; }
  .elementor .e-con.sk-prix-icone { padding: 0 !important; flex: 0 0 auto !important; }
}
@media (max-width: 767px) {
  .elementor .sk-prix-entete, .elementor .sk-prix-entete > .e-con { align-items: center !important; justify-content: center !important; text-align: center; }
  .sk-prix-entete .elementor-heading-title { text-align: center !important; }
  .elementor .e-con.sk-prix-carte { padding-top: 32px !important; padding-bottom: 28px !important; align-items: stretch !important; }
  .sk-prix-carte > .elementor-widget-text-editor, .sk-prix-carte > .elementor-widget-text-editor * { text-align: center !important; }
  .elementor .e-con.sk-prix-termes, .elementor .e-con.sk-prix-nom, .elementor .e-con.sk-prix-montant { width: 100% !important; --width: 100% !important; }
  .sk-prix-carte > .elementor-widget-text-editor:first-child { align-self: center !important; }
  .elementor .sk-prix-nom, .elementor .sk-prix-montant, .elementor .sk-prix-termes { justify-content: center !important; flex-wrap: wrap !important; }
  .elementor .e-con.sk-prix-ligne { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; column-gap: 10px !important; align-items: center !important; }
  .elementor .e-con.sk-prix-ligne:has(> :nth-child(3)) { grid-template-columns: 18px minmax(0, 1fr) auto; }
  .sk-prix-ligne > * { width: auto !important; max-width: none !important; margin: 0 !important; }
  .sk-prix-ligne > .elementor-widget-text-editor:last-child { text-align: right; white-space: nowrap; }
  /* Onglets de catégories : tous en haut, empilés */
  .elementor-widget-n-tabs .e-n-tabs-heading { flex-wrap: wrap !important; gap: 8px !important; }
  .elementor-widget-n-tabs .e-n-tabs-heading > .e-n-tab-title { flex: 1 1 100% !important; justify-content: center; }
}
/* Blocs récurrents (tablette et mobile) : pastilles d'icônes, cartes centrées, vidéos, avis, FAQ, étapes, étiquettes */
.e-con.sk-pastille .elementor-heading-title, .e-con.sk-pastille p { font-size: 24px !important; line-height: 1 !important; }
@media (max-width: 1024px) {
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-pastille, .elementor .e-con.sk-pastille { --width: 52px !important; width: 52px !important; min-width: 52px; height: 52px; min-height: 52px !important; flex: 0 0 52px !important; padding: 0 !important; justify-content: center !important; align-items: center !important; }
  .elementor .sk-etapes .e-con.sk-pastille, .elementor .e-con.sk-pastille:has(.elementor-heading-title:not(:empty)) { border-radius: 50%; }
  .elementor .e-con.sk-liaison { display: none !important; }
  /* Vidéos : l'image remplit son cadre */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-cadre-video, .elementor .e-con.sk-cadre-video { padding: 0 !important; overflow: hidden; min-height: 0 !important; }
  .sk-cadre-video .elementor-widget-video, .sk-cadre-video .elementor-wrapper, .sk-cadre-video video { width: 100% !important; }
  .sk-cadre-video video { object-fit: cover; aspect-ratio: 16 / 9; height: auto !important; display: block; }
  /* Avis : pas d'espace vide dans les cartes */
  .elementor .sk-avis > .e-con, .elementor .e-con.sk-avis-carte { min-height: 0 !important; height: auto !important; justify-content: flex-start !important; }
  .sk-avis { grid-auto-rows: auto !important; align-items: start !important; }
  .elementor .e-con.sk-avis-carte { gap: 10px !important; }
  .sk-avis-carte > .elementor-widget-text-editor:first-child { margin: 0 !important; line-height: 1 !important; }
  .sk-video-info .elementor-widget-text-editor *, .sk-video-info .elementor-widget-text-editor { border: 0 !important; }
  /* FAQ et onglets : marges intérieures du contenu déplié */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-n-accordion-item > .e-con, .elementor .e-n-accordion-item > .e-con { padding-left: 16px !important; padding-right: 16px !important; padding-bottom: 16px !important; }
}
@media (max-width: 767px) {
  /* Cartes centrées : icône, titre, texte, lien */
  .elementor .e-con.sk-carte-centree { align-items: center !important; text-align: center; }
  .sk-carte-centree > .elementor-widget, .sk-carte-centree .elementor-heading-title, .sk-carte-centree .elementor-widget-text-editor { text-align: center !important; }
  /* Texte à côté d'une barre verticale */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-texte-barre, .elementor .e-con.sk-texte-barre { padding-left: 16px !important; }
  .elementor .e-con.sk-video-info { align-items: flex-start !important; text-align: left; }
  .sk-video-info > * { border: 0 !important; text-align: left !important; }
  /* Boutons d'action du haut de page : empilés, pleine largeur */
  .elementor .e-con.sk-boutons { flex-direction: column !important; align-items: stretch !important; gap: 12px !important; }
  .sk-boutons .elementor-widget-button, .sk-boutons .elementor-button { width: 100% !important; }
  .sk-boutons .elementor-button-wrapper, .sk-boutons .elementor-widget-button { text-align: center !important; }
  /* Étapes : cartes, sans flèches */
  .sk-etapes > .elementor-widget-text-editor { display: none !important; }
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .sk-etapes > .e-con, .elementor .sk-etapes > .e-con { background: #fff; border-radius: 16px; padding: 18px 16px !important; gap: 8px !important; }
  .elementor .sk-etapes { gap: 12px !important; }
  /* Étiquettes : en ligne, à la suite */
  .elementor .e-con.sk-etiquettes { flex-direction: row !important; flex-wrap: wrap !important; gap: 8px !important; justify-content: flex-start !important; }
  .sk-etiquettes > * { width: auto !important; margin: 0 !important; position: static !important; transform: none !important; }
  /* Grilles d'icônes : deux colonnes, cartes compactes */
  .elementor .e-con.sk-grille-icones { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .sk-grille-icones > .e-con, .elementor .sk-grille-icones > .e-con { min-height: 0 !important; background: #fff; border-radius: 14px; padding: 16px 12px !important; gap: 8px !important; align-items: center !important; text-align: center; }
  .sk-grille-icones > .e-con > .elementor-widget-text-editor { text-align: center !important; }
  .sk-grille-icones > .e-con > .elementor-widget-text-editor:first-child { font-size: 26px !important; line-height: 1 !important; }
}
/* Fin des règles responsives */
/* Tableaux comparatifs des forfaits sur téléphone : la colonne vide de gauche disparaît, le tableau défile horizontalement */
@media (max-width: 767px) {
  .elementor .e-con:has(> .sk-tableau-defilant), .elementor .e-con:has(> .e-con-inner > .sk-tableau-defilant) { padding-left: 8px !important; padding-right: 8px !important; }
  .elementor .sk-tableau-defilant { overflow-x: auto !important; -webkit-overflow-scrolling: touch; padding-left: 0 !important; padding-right: 0 !important; }
  .sk-tableau-defilant > .e-con, .sk-tableau-defilant > .e-con-inner > .e-con, .sk-tableau-defilant > .elementor-widget, .sk-tableau-defilant > .e-con-inner > .elementor-widget { min-width: 480px !important; }
  .sk-tableau-defilant > .e-con > .e-con:first-child:not(:has(.elementor-widget)) { display: none !important; }
  .elementor .sk-tableau-defilant > .e-con > .e-con { flex: 1 1 0 !important; width: auto !important; min-width: 0 !important; padding-left: 6px !important; padding-right: 6px !important; }
  .sk-tableau-defilant .elementor-button { padding: 12px 10px !important; font-size: 13px !important; letter-spacing: 0 !important; }
}
/* Cartes de forfaits (tablette et mobile), sur le modèle de shortkut.ca : cartes espacées, en-tête centré, caractéristiques alignées en colonnes */
@media (max-width: 1024px) {
  .elementor .sk-prix-grille { row-gap: 32px !important; column-gap: 24px !important; }
  .elementor .e-con.sk-prix-icone { padding: 0 !important; flex: 0 0 auto !important; }
}
@media (max-width: 767px) {
  .elementor .sk-prix-entete, .elementor .sk-prix-entete > .e-con { align-items: center !important; justify-content: center !important; text-align: center; }
  .sk-prix-entete .elementor-heading-title { text-align: center !important; }
  .elementor .e-con.sk-prix-carte { padding-top: 32px !important; padding-bottom: 28px !important; align-items: stretch !important; }
  .sk-prix-carte > .elementor-widget-text-editor, .sk-prix-carte > .elementor-widget-text-editor * { text-align: center !important; }
  .elementor .e-con.sk-prix-termes, .elementor .e-con.sk-prix-nom, .elementor .e-con.sk-prix-montant { width: 100% !important; --width: 100% !important; }
  .sk-prix-carte > .elementor-widget-text-editor:first-child { align-self: center !important; }
  .elementor .sk-prix-nom, .elementor .sk-prix-montant, .elementor .sk-prix-termes { justify-content: center !important; flex-wrap: wrap !important; }
  .elementor .e-con.sk-prix-ligne { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; column-gap: 10px !important; align-items: center !important; }
  .elementor .e-con.sk-prix-ligne:has(> :nth-child(3)) { grid-template-columns: 18px minmax(0, 1fr) auto; }
  .sk-prix-ligne > * { width: auto !important; max-width: none !important; margin: 0 !important; }
  .sk-prix-ligne > .elementor-widget-text-editor:last-child { text-align: right; white-space: nowrap; }
  /* Onglets de catégories : tous en haut, empilés */
  .elementor-widget-n-tabs .e-n-tabs-heading { flex-wrap: wrap !important; gap: 8px !important; }
  .elementor-widget-n-tabs .e-n-tabs-heading > .e-n-tab-title { flex: 1 1 100% !important; justify-content: center; }
}
/* Blocs récurrents (tablette et mobile) : pastilles d'icônes, cartes centrées, vidéos, avis, FAQ, étapes, étiquettes */
.e-con.sk-pastille .elementor-heading-title, .e-con.sk-pastille p { font-size: 24px !important; line-height: 1 !important; }
@media (max-width: 1024px) {
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-pastille, .elementor .e-con.sk-pastille { --width: 52px !important; width: 52px !important; min-width: 52px; height: 52px; min-height: 52px !important; flex: 0 0 52px !important; padding: 0 !important; justify-content: center !important; align-items: center !important; }
  .elementor .sk-etapes .e-con.sk-pastille, .elementor .e-con.sk-pastille:has(.elementor-heading-title:not(:empty)) { border-radius: 50%; }
  .elementor .e-con.sk-liaison { display: none !important; }
  /* Vidéos : l'image remplit son cadre */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-cadre-video, .elementor .e-con.sk-cadre-video { padding: 0 !important; overflow: hidden; min-height: 0 !important; }
  .sk-cadre-video .elementor-widget-video, .sk-cadre-video .elementor-wrapper, .sk-cadre-video video { width: 100% !important; }
  .sk-cadre-video video { object-fit: cover; aspect-ratio: 16 / 9; height: auto !important; display: block; }
  /* Avis : pas d'espace vide dans les cartes */
  .elementor .sk-avis > .e-con, .elementor .e-con.sk-avis-carte { min-height: 0 !important; height: auto !important; justify-content: flex-start !important; }
  .sk-avis { grid-auto-rows: auto !important; align-items: start !important; }
  .elementor .e-con.sk-avis-carte { gap: 10px !important; }
  .sk-avis-carte > .elementor-widget-text-editor:first-child { margin: 0 !important; line-height: 1 !important; }
  .sk-video-info .elementor-widget-text-editor *, .sk-video-info .elementor-widget-text-editor { border: 0 !important; }
  /* FAQ et onglets : marges intérieures du contenu déplié */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-n-accordion-item > .e-con, .elementor .e-n-accordion-item > .e-con { padding-left: 16px !important; padding-right: 16px !important; padding-bottom: 16px !important; }
}
@media (max-width: 767px) {
  /* Cartes : hauteur selon le contenu ; décor masqué ; lignes icône + texte alignées en haut */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-carte, .elementor .e-con.sk-carte { min-height: 0 !important; }
  .elementor .e-con.sk-decor { display: none !important; }
  .elementor .e-con.sk-ligne-icone { align-items: start !important; }
  .sk-ligne-icone > .e-con:first-child { align-self: start !important; height: auto !important; min-height: 0 !important; aspect-ratio: 1; margin-top: 2px !important; }
  .elementor .e-con.sk-prix-info { --width: auto !important; width: auto !important; }
  /* Cartes centrées : icône, titre, texte, lien */
  .elementor .e-con.sk-carte-centree { align-items: center !important; text-align: center; }
  .sk-carte-centree > .elementor-widget, .sk-carte-centree .elementor-heading-title, .sk-carte-centree .elementor-widget-text-editor { text-align: center !important; }
  /* Texte à côté d'une barre verticale */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-texte-barre, .elementor .e-con.sk-texte-barre { padding-left: 16px !important; }
  .elementor .e-con.sk-video-info { align-items: flex-start !important; text-align: left; }
  .sk-video-info > * { border: 0 !important; text-align: left !important; }
  /* Boutons d'action du haut de page : empilés, pleine largeur */
  .elementor .e-con.sk-boutons { flex-direction: column !important; align-items: stretch !important; gap: 12px !important; }
  .sk-boutons .elementor-widget-button, .sk-boutons .elementor-button { width: 100% !important; }
  .sk-boutons .elementor-button-wrapper, .sk-boutons .elementor-widget-button { text-align: center !important; }
  /* Étapes : cartes, sans flèches */
  .sk-etapes > .elementor-widget-text-editor { display: none !important; }
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .sk-etapes > .e-con, .elementor .sk-etapes > .e-con { background: #fff; border-radius: 16px; padding: 18px 16px !important; gap: 8px !important; }
  .elementor .sk-etapes { gap: 12px !important; }
  /* Étiquettes : en ligne, à la suite */
  .elementor .e-con.sk-etiquettes { flex-direction: row !important; flex-wrap: wrap !important; gap: 8px !important; justify-content: flex-start !important; }
  .sk-etiquettes > * { width: auto !important; margin: 0 !important; position: static !important; transform: none !important; }
  /* Grilles d'icônes : deux colonnes, cartes compactes */
  .elementor .e-con.sk-grille-icones { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .sk-grille-icones > .e-con, .elementor .sk-grille-icones > .e-con { min-height: 0 !important; background: #fff; border-radius: 14px; padding: 16px 12px !important; gap: 8px !important; align-items: center !important; text-align: center; }
  .sk-grille-icones > .e-con > .elementor-widget-text-editor { text-align: center !important; }
  .sk-grille-icones > .e-con > .elementor-widget-text-editor:first-child { font-size: 26px !important; line-height: 1 !important; }
}
/* Fin des règles responsives */
/* Tableaux comparatifs des forfaits sur téléphone : la colonne vide de gauche disparaît, le tableau défile horizontalement */
@media (max-width: 767px) {
  .elementor .e-con:has(> .sk-tableau-defilant), .elementor .e-con:has(> .e-con-inner > .sk-tableau-defilant) { padding-left: 8px !important; padding-right: 8px !important; }
  .elementor .sk-tableau-defilant { overflow-x: auto !important; -webkit-overflow-scrolling: touch; padding-left: 0 !important; padding-right: 0 !important; }
  .sk-tableau-defilant > .e-con, .sk-tableau-defilant > .e-con-inner > .e-con, .sk-tableau-defilant > .elementor-widget, .sk-tableau-defilant > .e-con-inner > .elementor-widget { min-width: 480px !important; }
  .sk-tableau-defilant > .e-con > .e-con:first-child:not(:has(.elementor-widget)) { display: none !important; }
  .elementor .sk-tableau-defilant > .e-con > .e-con { flex: 1 1 0 !important; width: auto !important; min-width: 0 !important; padding-left: 6px !important; padding-right: 6px !important; }
  .sk-tableau-defilant .elementor-button { padding: 12px 10px !important; font-size: 13px !important; letter-spacing: 0 !important; }
}
/* Cartes de forfaits (tablette et mobile), sur le modèle de shortkut.ca : cartes espacées, en-tête centré, caractéristiques alignées en colonnes */
@media (max-width: 1024px) {
  .elementor .sk-prix-grille { row-gap: 32px !important; column-gap: 24px !important; }
  .elementor .e-con.sk-prix-icone { padding: 0 !important; flex: 0 0 auto !important; }
}
@media (max-width: 767px) {
  .elementor .sk-prix-entete, .elementor .sk-prix-entete > .e-con { align-items: center !important; justify-content: center !important; text-align: center; }
  .sk-prix-entete .elementor-heading-title { text-align: center !important; }
  .elementor .e-con.sk-prix-carte { padding-top: 32px !important; padding-bottom: 28px !important; align-items: stretch !important; }
  .sk-prix-carte > .elementor-widget-text-editor, .sk-prix-carte > .elementor-widget-text-editor * { text-align: center !important; }
  .elementor .e-con.sk-prix-termes, .elementor .e-con.sk-prix-nom, .elementor .e-con.sk-prix-montant { width: 100% !important; --width: 100% !important; }
  .sk-prix-carte > .elementor-widget-text-editor:first-child { align-self: center !important; }
  .elementor .sk-prix-nom, .elementor .sk-prix-montant, .elementor .sk-prix-termes { justify-content: center !important; flex-wrap: wrap !important; }
  .elementor .e-con.sk-prix-ligne { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; column-gap: 10px !important; align-items: center !important; }
  .elementor .e-con.sk-prix-ligne:has(> :nth-child(3)) { grid-template-columns: 18px minmax(0, 1fr) auto; }
  .sk-prix-ligne > * { width: auto !important; max-width: none !important; margin: 0 !important; }
  .sk-prix-ligne > .elementor-widget-text-editor:last-child { text-align: right; white-space: nowrap; }
  /* Onglets de catégories : tous en haut, empilés */
  .elementor-widget-n-tabs .e-n-tabs-heading { flex-wrap: wrap !important; gap: 8px !important; }
  .elementor-widget-n-tabs .e-n-tabs-heading > .e-n-tab-title { flex: 1 1 100% !important; justify-content: center; }
}
/* Blocs récurrents (tablette et mobile) : pastilles d'icônes, cartes centrées, vidéos, avis, FAQ, étapes, étiquettes */
.e-con.sk-pastille .elementor-heading-title, .e-con.sk-pastille p { font-size: 24px !important; line-height: 1 !important; }
@media (max-width: 1024px) {
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-pastille, .elementor .e-con.sk-pastille { --width: 52px !important; width: 52px !important; min-width: 52px; height: 52px; min-height: 52px !important; flex: 0 0 52px !important; padding: 0 !important; justify-content: center !important; align-items: center !important; }
  .elementor .sk-etapes .e-con.sk-pastille, .elementor .e-con.sk-pastille:has(.elementor-heading-title:not(:empty)) { border-radius: 50%; }
  .elementor .e-con.sk-liaison { display: none !important; }
  /* Vidéos : l'image remplit son cadre */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-cadre-video, .elementor .e-con.sk-cadre-video { padding: 0 !important; overflow: hidden; min-height: 0 !important; }
  .sk-cadre-video .elementor-widget-video, .sk-cadre-video .elementor-wrapper, .sk-cadre-video video { width: 100% !important; }
  .sk-cadre-video video { object-fit: cover; aspect-ratio: 16 / 9; height: auto !important; display: block; }
  /* Avis : pas d'espace vide dans les cartes */
  .elementor .sk-avis > .e-con, .elementor .e-con.sk-avis-carte { min-height: 0 !important; height: auto !important; justify-content: flex-start !important; }
  .sk-avis { grid-auto-rows: auto !important; align-items: start !important; }
  .elementor .e-con.sk-avis-carte { gap: 10px !important; }
  .sk-avis-carte > .elementor-widget-text-editor:first-child { margin: 0 !important; line-height: 1 !important; }
  .sk-video-info .elementor-widget-text-editor *, .sk-video-info .elementor-widget-text-editor { border: 0 !important; }
  /* FAQ et onglets : marges intérieures du contenu déplié */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-n-accordion-item > .e-con, .elementor .e-n-accordion-item > .e-con { padding-left: 16px !important; padding-right: 16px !important; padding-bottom: 16px !important; }
}
@media (max-width: 767px) {
  /* Cartes : hauteur selon le contenu ; décor masqué ; lignes icône + texte alignées en haut */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-carte, .elementor .e-con.sk-carte { min-height: 0 !important; }
  .elementor .e-con.sk-decor { display: none !important; }
  .elementor .e-con.sk-ligne-icone { align-items: start !important; }
  .sk-ligne-icone > .e-con:first-child { align-self: start !important; height: auto !important; min-height: 0 !important; aspect-ratio: 1; margin-top: 2px !important; }
  .elementor .e-con.sk-prix-info { --width: auto !important; width: auto !important; }
  /* Visuels composés (cartes superposées) : empilés, sans hauteur imposée */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-vz, .elementor .e-con.sk-vz { min-height: 0 !important; display: flex !important; flex-direction: column !important; gap: 12px !important; padding: 16px !important; }
  .elementor .sk-vz > * { position: static !important; --width: 100% !important; width: 100% !important; transform: none !important; inset: auto !important; margin: 0 !important; }
  .sk-vz .elementor-widget-image img { height: auto !important; aspect-ratio: 3 / 2; object-fit: cover; }
  /* Cartes centrées : icône, titre, texte, lien */
  .elementor .e-con.sk-carte-centree { align-items: center !important; text-align: center; }
  .sk-carte-centree > .elementor-widget, .sk-carte-centree .elementor-heading-title, .sk-carte-centree .elementor-widget-text-editor { text-align: center !important; }
  /* Texte à côté d'une barre verticale */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-texte-barre, .elementor .e-con.sk-texte-barre { padding-left: 16px !important; }
  .elementor .e-con.sk-video-info { align-items: flex-start !important; text-align: left; }
  .sk-video-info > * { border: 0 !important; text-align: left !important; }
  /* Boutons d'action du haut de page : empilés, pleine largeur */
  .elementor .e-con.sk-boutons { flex-direction: column !important; align-items: stretch !important; gap: 12px !important; }
  .sk-boutons .elementor-widget-button, .sk-boutons .elementor-button { width: 100% !important; }
  .sk-boutons .elementor-button-wrapper, .sk-boutons .elementor-widget-button { text-align: center !important; }
  /* Étapes : cartes, sans flèches */
  .sk-etapes > .elementor-widget-text-editor { display: none !important; }
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .sk-etapes > .e-con, .elementor .sk-etapes > .e-con { background: #fff; border-radius: 16px; padding: 18px 16px !important; gap: 8px !important; }
  .elementor .sk-etapes { gap: 12px !important; }
  /* Étiquettes : en ligne, à la suite */
  .elementor .e-con.sk-etiquettes { flex-direction: row !important; flex-wrap: wrap !important; gap: 8px !important; justify-content: flex-start !important; }
  .sk-etiquettes > * { width: auto !important; margin: 0 !important; position: static !important; transform: none !important; }
  /* Grilles d'icônes : deux colonnes, cartes compactes */
  .elementor .e-con.sk-grille-icones { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .sk-grille-icones > .e-con, .elementor .sk-grille-icones > .e-con { min-height: 0 !important; background: #fff; border-radius: 14px; padding: 16px 12px !important; gap: 8px !important; align-items: center !important; text-align: center; }
  .sk-grille-icones > .e-con > .elementor-widget-text-editor { text-align: center !important; }
  .sk-grille-icones > .e-con > .elementor-widget-text-editor:first-child { font-size: 26px !important; line-height: 1 !important; }
}
/* Fin des règles responsives */
/* Tableaux comparatifs des forfaits sur téléphone : la colonne vide de gauche disparaît, le tableau défile horizontalement */
@media (max-width: 767px) {
  .elementor .e-con:has(> .sk-tableau-defilant), .elementor .e-con:has(> .e-con-inner > .sk-tableau-defilant) { padding-left: 8px !important; padding-right: 8px !important; }
  .elementor .sk-tableau-defilant { overflow-x: auto !important; -webkit-overflow-scrolling: touch; padding-left: 0 !important; padding-right: 0 !important; }
  .sk-tableau-defilant > .e-con, .sk-tableau-defilant > .e-con-inner > .e-con, .sk-tableau-defilant > .elementor-widget, .sk-tableau-defilant > .e-con-inner > .elementor-widget { min-width: 480px !important; }
  .sk-tableau-defilant > .e-con > .e-con:first-child:not(:has(.elementor-widget)) { display: none !important; }
  .elementor .sk-tableau-defilant > .e-con > .e-con { flex: 1 1 0 !important; width: auto !important; min-width: 0 !important; padding-left: 6px !important; padding-right: 6px !important; }
  .sk-tableau-defilant .elementor-button { padding: 12px 10px !important; font-size: 13px !important; letter-spacing: 0 !important; }
}
/* Cartes de forfaits (tablette et mobile), sur le modèle de shortkut.ca : cartes espacées, en-tête centré, caractéristiques alignées en colonnes */
@media (max-width: 1024px) {
  .elementor .sk-prix-grille { row-gap: 32px !important; column-gap: 24px !important; }
  .elementor .e-con.sk-prix-icone { padding: 0 !important; flex: 0 0 auto !important; }
}
@media (max-width: 767px) {
  .elementor .sk-prix-entete, .elementor .sk-prix-entete > .e-con { align-items: center !important; justify-content: center !important; text-align: center; }
  .sk-prix-entete .elementor-heading-title { text-align: center !important; }
  .elementor .e-con.sk-prix-carte { padding-top: 32px !important; padding-bottom: 28px !important; align-items: stretch !important; }
  .sk-prix-carte > .elementor-widget-text-editor, .sk-prix-carte > .elementor-widget-text-editor * { text-align: center !important; }
  .elementor .e-con.sk-prix-termes, .elementor .e-con.sk-prix-nom, .elementor .e-con.sk-prix-montant { width: 100% !important; --width: 100% !important; }
  .sk-prix-carte > .elementor-widget-text-editor:first-child { align-self: center !important; }
  .elementor .sk-prix-nom, .elementor .sk-prix-montant, .elementor .sk-prix-termes { justify-content: center !important; flex-wrap: wrap !important; }
  .elementor .e-con.sk-prix-ligne { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; column-gap: 10px !important; align-items: center !important; }
  .elementor .e-con.sk-prix-ligne:has(> :nth-child(3)) { grid-template-columns: 18px minmax(0, 1fr) auto; }
  .sk-prix-ligne > * { width: auto !important; max-width: none !important; margin: 0 !important; }
  .sk-prix-ligne > .elementor-widget-text-editor:last-child { text-align: right; white-space: nowrap; }
  /* Onglets de catégories : tous en haut, empilés */
  .elementor-widget-n-tabs .e-n-tabs-heading { flex-wrap: wrap !important; gap: 8px !important; }
  .elementor-widget-n-tabs .e-n-tabs-heading > .e-n-tab-title { flex: 1 1 100% !important; justify-content: center; }
}
/* Blocs récurrents (tablette et mobile) : pastilles d'icônes, cartes centrées, vidéos, avis, FAQ, étapes, étiquettes */
.e-con.sk-pastille .elementor-heading-title, .e-con.sk-pastille p { font-size: 24px !important; line-height: 1 !important; }
@media (max-width: 1024px) {
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-pastille, .elementor .e-con.sk-pastille { --width: 52px !important; width: 52px !important; min-width: 52px; height: 52px; min-height: 52px !important; flex: 0 0 52px !important; padding: 0 !important; justify-content: center !important; align-items: center !important; }
  .elementor .sk-etapes .e-con.sk-pastille, .elementor .e-con.sk-pastille:has(.elementor-heading-title:not(:empty)) { border-radius: 50%; }
  .elementor .e-con.sk-liaison { display: none !important; }
  /* Vidéos : l'image remplit son cadre */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-cadre-video, .elementor .e-con.sk-cadre-video { padding: 0 !important; overflow: hidden; min-height: 0 !important; }
  .sk-cadre-video .elementor-widget-video, .sk-cadre-video .elementor-wrapper, .sk-cadre-video video { width: 100% !important; }
  .sk-cadre-video video { object-fit: cover; aspect-ratio: 16 / 9; height: auto !important; display: block; }
  /* Avis : pas d'espace vide dans les cartes */
  .elementor .sk-avis > .e-con, .elementor .e-con.sk-avis-carte { min-height: 0 !important; height: auto !important; justify-content: flex-start !important; }
  .sk-avis { grid-auto-rows: auto !important; align-items: start !important; }
  .elementor .e-con.sk-avis-carte { gap: 10px !important; }
  .sk-avis-carte > .elementor-widget-text-editor:first-child { margin: 0 !important; line-height: 1 !important; }
  .sk-video-info .elementor-widget-text-editor *, .sk-video-info .elementor-widget-text-editor { border: 0 !important; }
  /* FAQ et onglets : marges intérieures du contenu déplié */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-n-accordion-item > .e-con, .elementor .e-n-accordion-item > .e-con { padding-left: 16px !important; padding-right: 16px !important; padding-bottom: 16px !important; }
}
@media (max-width: 767px) {
  /* Cartes : hauteur selon le contenu ; décor masqué ; lignes icône + texte alignées en haut */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-carte, .elementor .e-con.sk-carte { min-height: 0 !important; }
  .elementor .e-con.sk-decor { display: none !important; }
  .elementor .e-con.sk-ligne-icone { align-items: start !important; }
  .sk-ligne-icone > .e-con:first-child { align-self: start !important; height: auto !important; min-height: 0 !important; aspect-ratio: 1; margin-top: 2px !important; }
  .elementor .e-con.sk-prix-info { --width: auto !important; width: auto !important; }
  /* Visuels composés (cartes superposées) : empilés, sans hauteur imposée */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-vz, .elementor .e-con.sk-vz { min-height: 0 !important; display: flex !important; flex-direction: column !important; gap: 12px !important; padding: 16px !important; }
  .elementor .sk-vz > * { position: static !important; --width: 100% !important; width: 100% !important; transform: none !important; inset: auto !important; margin: 0 !important; }
  .sk-vz .elementor-widget-image img { height: auto !important; aspect-ratio: 3 / 2; object-fit: cover; }
  .elementor .e-con.sk-vz:not(:has(img)) { min-height: 220px !important; justify-content: flex-end !important; }
  /* Cartes centrées : icône, titre, texte, lien */
  .elementor .e-con.sk-carte-centree { align-items: center !important; text-align: center; }
  .sk-carte-centree > .elementor-widget, .sk-carte-centree .elementor-heading-title, .sk-carte-centree .elementor-widget-text-editor { text-align: center !important; }
  /* Texte à côté d'une barre verticale */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-texte-barre, .elementor .e-con.sk-texte-barre { padding-left: 16px !important; }
  .elementor .e-con.sk-video-info { align-items: flex-start !important; text-align: left; }
  .sk-video-info > * { border: 0 !important; text-align: left !important; }
  /* Boutons d'action du haut de page : empilés, pleine largeur */
  .elementor .e-con.sk-boutons { flex-direction: column !important; align-items: stretch !important; gap: 12px !important; }
  .sk-boutons .elementor-widget-button, .sk-boutons .elementor-button { width: 100% !important; }
  .sk-boutons .elementor-button-wrapper, .sk-boutons .elementor-widget-button { text-align: center !important; }
  /* Étapes : cartes, sans flèches */
  .sk-etapes > .elementor-widget-text-editor { display: none !important; }
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .sk-etapes > .e-con, .elementor .sk-etapes > .e-con { background: #fff; border-radius: 16px; padding: 18px 16px !important; gap: 8px !important; }
  .elementor .sk-etapes { gap: 12px !important; }
  /* Étiquettes : en ligne, à la suite */
  .elementor .e-con.sk-etiquettes { flex-direction: row !important; flex-wrap: wrap !important; gap: 8px !important; justify-content: flex-start !important; }
  .sk-etiquettes > * { width: auto !important; margin: 0 !important; position: static !important; transform: none !important; }
  /* Grilles d'icônes : deux colonnes, cartes compactes */
  .elementor .e-con.sk-grille-icones { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .sk-grille-icones > .e-con, .elementor .sk-grille-icones > .e-con { min-height: 0 !important; background: #fff; border-radius: 14px; padding: 16px 12px !important; gap: 8px !important; align-items: center !important; text-align: center; }
  .sk-grille-icones > .e-con > .elementor-widget-text-editor { text-align: center !important; }
  .sk-grille-icones > .e-con > .elementor-widget-text-editor:first-child { font-size: 26px !important; line-height: 1 !important; }
}
/* Fin des règles responsives */
/* Tableaux comparatifs des forfaits sur téléphone : la colonne vide de gauche disparaît, le tableau défile horizontalement */
@media (max-width: 767px) {
  .elementor .e-con:has(> .sk-tableau-defilant), .elementor .e-con:has(> .e-con-inner > .sk-tableau-defilant) { padding-left: 8px !important; padding-right: 8px !important; }
  .elementor .sk-tableau-defilant { overflow-x: auto !important; -webkit-overflow-scrolling: touch; padding-left: 0 !important; padding-right: 0 !important; }
  .sk-tableau-defilant > .e-con, .sk-tableau-defilant > .e-con-inner > .e-con, .sk-tableau-defilant > .elementor-widget, .sk-tableau-defilant > .e-con-inner > .elementor-widget { min-width: 480px !important; }
  .sk-tableau-defilant > .e-con > .e-con:first-child:not(:has(.elementor-widget)) { display: none !important; }
  .elementor .sk-tableau-defilant > .e-con > .e-con { flex: 1 1 0 !important; width: auto !important; min-width: 0 !important; padding-left: 6px !important; padding-right: 6px !important; }
  .sk-tableau-defilant .elementor-button { padding: 12px 10px !important; font-size: 13px !important; letter-spacing: 0 !important; }
}
/* Cartes de forfaits (tablette et mobile), sur le modèle de shortkut.ca : cartes espacées, en-tête centré, caractéristiques alignées en colonnes */
@media (max-width: 1024px) {
  .elementor .sk-prix-grille { row-gap: 32px !important; column-gap: 24px !important; }
  .elementor .e-con.sk-prix-icone { padding: 0 !important; flex: 0 0 auto !important; }
}
@media (max-width: 767px) {
  .elementor .sk-prix-entete, .elementor .sk-prix-entete > .e-con { align-items: center !important; justify-content: center !important; text-align: center; }
  .sk-prix-entete .elementor-heading-title { text-align: center !important; }
  .elementor .e-con.sk-prix-carte { padding-top: 32px !important; padding-bottom: 28px !important; align-items: stretch !important; }
  .sk-prix-carte > .elementor-widget-text-editor, .sk-prix-carte > .elementor-widget-text-editor * { text-align: center !important; }
  .elementor .e-con.sk-prix-termes, .elementor .e-con.sk-prix-nom, .elementor .e-con.sk-prix-montant { width: 100% !important; --width: 100% !important; }
  .sk-prix-carte > .elementor-widget-text-editor:first-child { align-self: center !important; }
  .elementor .sk-prix-nom, .elementor .sk-prix-montant, .elementor .sk-prix-termes { justify-content: center !important; flex-wrap: wrap !important; }
  .elementor .e-con.sk-prix-ligne { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; column-gap: 10px !important; align-items: center !important; }
  .elementor .e-con.sk-prix-ligne:has(> :nth-child(3)) { grid-template-columns: 18px minmax(0, 1fr) auto; }
  .sk-prix-ligne > * { width: auto !important; max-width: none !important; margin: 0 !important; }
  .sk-prix-ligne > .elementor-widget-text-editor:last-child { text-align: right; white-space: nowrap; }
  /* Onglets de catégories : tous en haut, empilés */
  .elementor-widget-n-tabs .e-n-tabs-heading { flex-wrap: wrap !important; gap: 8px !important; }
  .elementor-widget-n-tabs .e-n-tabs-heading > .e-n-tab-title { flex: 1 1 100% !important; justify-content: center; }
}
/* Blocs récurrents (tablette et mobile) : pastilles d'icônes, cartes centrées, vidéos, avis, FAQ, étapes, étiquettes */
.e-con.sk-pastille .elementor-heading-title, .e-con.sk-pastille p { font-size: 24px !important; line-height: 1 !important; }
@media (max-width: 1024px) {
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-pastille, .elementor .e-con.sk-pastille { --width: 52px !important; width: 52px !important; min-width: 52px; height: 52px; min-height: 52px !important; flex: 0 0 52px !important; padding: 0 !important; justify-content: center !important; align-items: center !important; }
  .elementor .sk-etapes .e-con.sk-pastille, .elementor .e-con.sk-pastille:has(.elementor-heading-title:not(:empty)) { border-radius: 50%; }
  .elementor .e-con.sk-liaison { display: none !important; }
  /* Vidéos : l'image remplit son cadre */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-cadre-video, .elementor .e-con.sk-cadre-video { padding: 0 !important; overflow: hidden; min-height: 0 !important; }
  .sk-cadre-video .elementor-widget-video, .sk-cadre-video .elementor-wrapper, .sk-cadre-video video { width: 100% !important; }
  .sk-cadre-video video { object-fit: cover; aspect-ratio: 16 / 9; height: auto !important; display: block; }
  /* Avis : pas d'espace vide dans les cartes */
  .elementor .sk-avis > .e-con, .elementor .e-con.sk-avis-carte { min-height: 0 !important; height: auto !important; justify-content: flex-start !important; }
  .sk-avis { grid-auto-rows: auto !important; align-items: start !important; }
  .elementor .e-con.sk-avis-carte { gap: 10px !important; }
  .sk-avis-carte > .elementor-widget-text-editor:first-child { margin: 0 !important; line-height: 1 !important; }
  .sk-video-info .elementor-widget-text-editor *, .sk-video-info .elementor-widget-text-editor { border: 0 !important; }
  /* FAQ et onglets : marges intérieures du contenu déplié */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-n-accordion-item > .e-con, .elementor .e-n-accordion-item > .e-con { padding-left: 16px !important; padding-right: 16px !important; padding-bottom: 16px !important; }
}
@media (max-width: 767px) {
  /* Grilles : chaque carte garde sa propre hauteur (plus de vide avant le bouton) ; espace entre les étapes */
  .elementor .e-con.e-grid { align-items: start !important; }
  .elementor .e-con.e-grid:has(> .e-con.sk-liaison) { gap: 16px !important; row-gap: 16px !important; }
  /* Accueil : image du haut entière, détachée du bas de la section */
  .elementor .elementor-element-647d8a2 { padding-bottom: 40px !important; }
  .elementor-element-14f1c15 img { max-width: 92%; margin: 0 auto; display: block; }
  /* Cartes : hauteur selon le contenu ; décor masqué ; lignes icône + texte alignées en haut */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-carte, .elementor .e-con.sk-carte { min-height: 0 !important; }
  .elementor .e-con.sk-decor { display: none !important; }
  .elementor .e-con.sk-ligne-icone { align-items: start !important; }
  .sk-ligne-icone > .e-con:first-child { align-self: start !important; height: auto !important; min-height: 0 !important; aspect-ratio: 1; margin-top: 2px !important; }
  .elementor .e-con.sk-prix-info { --width: auto !important; width: auto !important; }
  /* Visuels composés (cartes superposées) : empilés, sans hauteur imposée */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-vz, .elementor .e-con.sk-vz { min-height: 0 !important; display: flex !important; flex-direction: column !important; gap: 12px !important; padding: 16px !important; }
  .elementor .sk-vz > * { position: static !important; --width: 100% !important; width: 100% !important; transform: none !important; inset: auto !important; margin: 0 !important; }
  .sk-vz .elementor-widget-image img { height: auto !important; aspect-ratio: 3 / 2; object-fit: cover; }
  .elementor .e-con.sk-vz:not(:has(img)) { min-height: 220px !important; justify-content: flex-end !important; }
  /* Cartes centrées : icône, titre, texte, lien */
  .elementor .e-con.sk-carte-centree { align-items: center !important; text-align: center; }
  .sk-carte-centree > .elementor-widget, .sk-carte-centree .elementor-heading-title, .sk-carte-centree .elementor-widget-text-editor { text-align: center !important; }
  /* Texte à côté d'une barre verticale */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-texte-barre, .elementor .e-con.sk-texte-barre { padding-left: 16px !important; }
  .elementor .e-con.sk-video-info { align-items: flex-start !important; text-align: left; }
  .sk-video-info > * { border: 0 !important; text-align: left !important; }
  /* Boutons d'action du haut de page : empilés, pleine largeur */
  .elementor .e-con.sk-boutons { flex-direction: column !important; align-items: stretch !important; gap: 12px !important; }
  .sk-boutons .elementor-widget-button, .sk-boutons .elementor-button { width: 100% !important; }
  .sk-boutons .elementor-button-wrapper, .sk-boutons .elementor-widget-button { text-align: center !important; }
  /* Étapes : cartes, sans flèches */
  .sk-etapes > .elementor-widget-text-editor { display: none !important; }
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .sk-etapes > .e-con, .elementor .sk-etapes > .e-con { background: #fff; border-radius: 16px; padding: 18px 16px !important; gap: 8px !important; }
  .elementor .sk-etapes { gap: 12px !important; }
  /* Étiquettes : en ligne, à la suite */
  .elementor .e-con.sk-etiquettes { flex-direction: row !important; flex-wrap: wrap !important; gap: 8px !important; justify-content: flex-start !important; }
  .sk-etiquettes > * { width: auto !important; margin: 0 !important; position: static !important; transform: none !important; }
  /* Grilles d'icônes : deux colonnes, cartes compactes */
  .elementor .e-con.sk-grille-icones { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .sk-grille-icones > .e-con, .elementor .sk-grille-icones > .e-con { min-height: 0 !important; background: #fff; border-radius: 14px; padding: 16px 12px !important; gap: 8px !important; align-items: center !important; text-align: center; }
  .sk-grille-icones > .e-con > .elementor-widget-text-editor { text-align: center !important; }
  .sk-grille-icones > .e-con > .elementor-widget-text-editor:first-child { font-size: 26px !important; line-height: 1 !important; }
}
/* Boutons : même taille partout (hors en-tête) et effet au survol selon la charte (orange #FF5A37, bleu #0069E6, marine #192850) */
.elementor:not(.elementor-location-header) .elementor-widget-button .elementor-button,
.elementor:not(.elementor-location-header) .elementor-form .elementor-button {
  min-height: 52px; padding: 14px 32px !important; border-radius: 50px !important; border: 2px solid transparent !important;
  font-size: 16px !important; font-weight: 700; line-height: 1.2 !important; letter-spacing: .5px;
  display: inline-flex; align-items: center; justify-content: center; text-align: center;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .1s ease, box-shadow .2s ease;
}
.elementor:not(.elementor-location-header) .elementor-widget-button .elementor-button:active,
.elementor:not(.elementor-location-header) .elementor-form .elementor-button:active { transform: scale(.97); }
.elementor:not(.elementor-location-header) .elementor-widget-button .elementor-button:focus-visible { outline: 3px solid #00EDED; outline-offset: 2px; }
/* Orange -> bleu */
.elementor .sk-btn-orange .elementor-button, .elementor:not(.elementor-location-header) .elementor-form .elementor-button { background-color: #FF5A37 !important; border-color: #FF5A37 !important; color: #FFFFFF !important; }
.elementor .sk-btn-orange .elementor-button:hover, .elementor:not(.elementor-location-header) .elementor-form .elementor-button:hover { background-color: #0069E6 !important; border-color: #0069E6 !important; color: #FFFFFF !important; }
/* Bleu et marine -> orange */
.elementor .sk-btn-bleu .elementor-button { background-color: #0069E6 !important; border-color: #0069E6 !important; color: #FFFFFF !important; }
.elementor .sk-btn-marine .elementor-button { background-color: #192850 !important; border-color: #192850 !important; color: #FFFFFF !important; }
.elementor .sk-btn-bleu .elementor-button:hover, .elementor .sk-btn-marine .elementor-button:hover { background-color: #FF5A37 !important; border-color: #FF5A37 !important; color: #FFFFFF !important; }
/* Contour -> rempli orange */
.elementor .sk-btn-contour .elementor-button { background-color: transparent !important; border-color: currentColor !important; }
.elementor .sk-btn-contour .elementor-button:hover { background-color: #FF5A37 !important; border-color: #FF5A37 !important; color: #FFFFFF !important; }
.elementor .sk-btn-contour .elementor-button:hover .elementor-button-text, .elementor .sk-btn-contour .elementor-button:hover .elementor-button-icon { color: #FFFFFF !important; }
@media (max-width: 767px) {
  .elementor:not(.elementor-location-header) .elementor-widget-button .elementor-button { padding: 14px 24px !important; }
  /* Boutons dans les cartes : centrés */
  .elementor .sk-carte .elementor-widget-button { align-self: center !important; }
  .elementor .sk-carte .elementor-widget-button .elementor-button-wrapper { text-align: center !important; }
}
/* Fin des règles responsives */
/* Tableaux comparatifs des forfaits sur téléphone : la colonne vide de gauche disparaît, le tableau défile horizontalement */
@media (max-width: 767px) {
  .elementor .e-con:has(> .sk-tableau-defilant), .elementor .e-con:has(> .e-con-inner > .sk-tableau-defilant) { padding-left: 8px !important; padding-right: 8px !important; }
  .elementor .sk-tableau-defilant { overflow-x: auto !important; -webkit-overflow-scrolling: touch; padding-left: 0 !important; padding-right: 0 !important; }
  .sk-tableau-defilant > .e-con, .sk-tableau-defilant > .e-con-inner > .e-con, .sk-tableau-defilant > .elementor-widget, .sk-tableau-defilant > .e-con-inner > .elementor-widget { min-width: 480px !important; }
  .sk-tableau-defilant > .e-con > .e-con:first-child:not(:has(.elementor-widget)) { display: none !important; }
  .elementor .sk-tableau-defilant > .e-con > .e-con { flex: 1 1 0 !important; width: auto !important; min-width: 0 !important; padding-left: 6px !important; padding-right: 6px !important; }
  .sk-tableau-defilant .elementor-button { padding: 12px 10px !important; font-size: 13px !important; letter-spacing: 0 !important; }
}
/* Cartes de forfaits (tablette et mobile), sur le modèle de shortkut.ca : cartes espacées, en-tête centré, caractéristiques alignées en colonnes */
@media (max-width: 1024px) {
  .elementor .sk-prix-grille { row-gap: 32px !important; column-gap: 24px !important; }
  .elementor .e-con.sk-prix-icone { padding: 0 !important; flex: 0 0 auto !important; }
}
@media (max-width: 767px) {
  .elementor .sk-prix-entete, .elementor .sk-prix-entete > .e-con { align-items: center !important; justify-content: center !important; text-align: center; }
  .sk-prix-entete .elementor-heading-title { text-align: center !important; }
  .elementor .e-con.sk-prix-carte { padding-top: 32px !important; padding-bottom: 28px !important; align-items: stretch !important; }
  .sk-prix-carte > .elementor-widget-text-editor, .sk-prix-carte > .elementor-widget-text-editor * { text-align: center !important; }
  .elementor .e-con.sk-prix-termes, .elementor .e-con.sk-prix-nom, .elementor .e-con.sk-prix-montant { width: 100% !important; --width: 100% !important; }
  .sk-prix-carte > .elementor-widget-text-editor:first-child { align-self: center !important; }
  .elementor .sk-prix-nom, .elementor .sk-prix-montant, .elementor .sk-prix-termes { justify-content: center !important; flex-wrap: wrap !important; }
  .elementor .e-con.sk-prix-ligne { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; column-gap: 10px !important; align-items: center !important; }
  .elementor .e-con.sk-prix-ligne:has(> :nth-child(3)) { grid-template-columns: 18px minmax(0, 1fr) auto; }
  .sk-prix-ligne > * { width: auto !important; max-width: none !important; margin: 0 !important; }
  .sk-prix-ligne > .elementor-widget-text-editor:last-child { text-align: right; white-space: nowrap; }
  /* Onglets de catégories : tous en haut, empilés */
  .elementor-widget-n-tabs .e-n-tabs-heading { flex-wrap: wrap !important; gap: 8px !important; }
  .elementor-widget-n-tabs .e-n-tabs-heading > .e-n-tab-title { flex: 1 1 100% !important; justify-content: center; }
}
/* Blocs récurrents (tablette et mobile) : pastilles d'icônes, cartes centrées, vidéos, avis, FAQ, étapes, étiquettes */
.e-con.sk-pastille .elementor-heading-title, .e-con.sk-pastille p { font-size: 24px !important; line-height: 1 !important; }
@media (max-width: 1024px) {
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-pastille, .elementor .e-con.sk-pastille { --width: 52px !important; width: 52px !important; min-width: 52px; height: 52px; min-height: 52px !important; flex: 0 0 52px !important; padding: 0 !important; justify-content: center !important; align-items: center !important; }
  .elementor .sk-etapes .e-con.sk-pastille, .elementor .e-con.sk-pastille:has(.elementor-heading-title:not(:empty)) { border-radius: 50%; }
  .elementor .e-con.sk-liaison { display: none !important; }
  /* Vidéos : l'image remplit son cadre */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-cadre-video, .elementor .e-con.sk-cadre-video { padding: 0 !important; overflow: hidden; min-height: 0 !important; }
  .sk-cadre-video .elementor-widget-video, .sk-cadre-video .elementor-wrapper, .sk-cadre-video video { width: 100% !important; }
  .sk-cadre-video video { object-fit: cover; aspect-ratio: 16 / 9; height: auto !important; display: block; }
  /* Avis : pas d'espace vide dans les cartes */
  .elementor .sk-avis > .e-con, .elementor .e-con.sk-avis-carte { min-height: 0 !important; height: auto !important; justify-content: flex-start !important; }
  .sk-avis { grid-auto-rows: auto !important; align-items: start !important; }
  .elementor .e-con.sk-avis-carte { gap: 10px !important; }
  .sk-avis-carte > .elementor-widget-text-editor:first-child { margin: 0 !important; line-height: 1 !important; }
  .sk-video-info .elementor-widget-text-editor *, .sk-video-info .elementor-widget-text-editor { border: 0 !important; }
  /* FAQ et onglets : marges intérieures du contenu déplié */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-n-accordion-item > .e-con, .elementor .e-n-accordion-item > .e-con { padding-left: 16px !important; padding-right: 16px !important; padding-bottom: 16px !important; }
}
@media (max-width: 767px) {
  /* Grilles : chaque carte garde sa propre hauteur (plus de vide avant le bouton) ; espace entre les étapes */
  .elementor .e-con.e-grid { align-items: start !important; }
  .elementor .e-con.e-grid:has(> .e-con.sk-liaison) { gap: 24px !important; row-gap: 24px !important; }
  /* Zones de boutons des cartes : centrées, sans marge imposée */
  .elementor .e-con.sk-actions { margin-top: 8px !important; justify-content: center !important; align-items: center !important; align-self: stretch !important; }
  .sk-actions .elementor-widget-button .elementor-button-wrapper { text-align: center !important; }
  /* Accueil : image du haut entière, détachée du bas de la section */
  .elementor .elementor-element-647d8a2 { padding-bottom: 40px !important; }
  .elementor-element-14f1c15 img { max-width: 92%; margin: 0 auto; display: block; }
  /* Cartes : hauteur selon le contenu ; décor masqué ; lignes icône + texte alignées en haut */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-carte, .elementor .e-con.sk-carte { min-height: 0 !important; }
  .elementor .e-con.sk-decor { display: none !important; }
  .elementor .e-con.sk-ligne-icone { align-items: start !important; }
  .sk-ligne-icone > .e-con:first-child { align-self: start !important; height: auto !important; min-height: 0 !important; aspect-ratio: 1; margin-top: 2px !important; }
  .elementor .e-con.sk-prix-info { --width: auto !important; width: auto !important; }
  /* Visuels composés (cartes superposées) : empilés, sans hauteur imposée */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-vz, .elementor .e-con.sk-vz { min-height: 0 !important; display: flex !important; flex-direction: column !important; gap: 12px !important; padding: 16px !important; }
  .elementor .sk-vz > * { position: static !important; --width: 100% !important; width: 100% !important; transform: none !important; inset: auto !important; margin: 0 !important; }
  .sk-vz .elementor-widget-image img { height: auto !important; aspect-ratio: 3 / 2; object-fit: cover; }
  .elementor .e-con.sk-vz:not(:has(img)) { min-height: 220px !important; justify-content: flex-end !important; }
  /* Cartes centrées : icône, titre, texte, lien */
  .elementor .e-con.sk-carte-centree { align-items: center !important; text-align: center; }
  .sk-carte-centree > .elementor-widget, .sk-carte-centree .elementor-heading-title, .sk-carte-centree .elementor-widget-text-editor { text-align: center !important; }
  /* Texte à côté d'une barre verticale */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-texte-barre, .elementor .e-con.sk-texte-barre { padding-left: 16px !important; }
  .elementor .e-con.sk-video-info { align-items: flex-start !important; text-align: left; }
  .sk-video-info > * { border: 0 !important; text-align: left !important; }
  /* Boutons d'action du haut de page : empilés, pleine largeur */
  .elementor .e-con.sk-boutons { flex-direction: column !important; align-items: stretch !important; gap: 12px !important; }
  .sk-boutons .elementor-widget-button, .sk-boutons .elementor-button { width: 100% !important; }
  .sk-boutons .elementor-button-wrapper, .sk-boutons .elementor-widget-button { text-align: center !important; }
  /* Étapes : cartes, sans flèches */
  .sk-etapes > .elementor-widget-text-editor { display: none !important; }
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .sk-etapes > .e-con, .elementor .sk-etapes > .e-con { background: #fff; border-radius: 16px; padding: 18px 16px !important; gap: 8px !important; }
  .elementor .sk-etapes { gap: 12px !important; }
  /* Étiquettes : en ligne, à la suite */
  .elementor .e-con.sk-etiquettes { flex-direction: row !important; flex-wrap: wrap !important; gap: 8px !important; justify-content: flex-start !important; }
  .sk-etiquettes > * { width: auto !important; margin: 0 !important; position: static !important; transform: none !important; }
  /* Grilles d'icônes : deux colonnes, cartes compactes */
  .elementor .e-con.sk-grille-icones { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .sk-grille-icones > .e-con, .elementor .sk-grille-icones > .e-con { min-height: 0 !important; background: #fff; border-radius: 14px; padding: 16px 12px !important; gap: 8px !important; align-items: center !important; text-align: center; }
  .sk-grille-icones > .e-con > .elementor-widget-text-editor { text-align: center !important; }
  .sk-grille-icones > .e-con > .elementor-widget-text-editor:first-child { font-size: 26px !important; line-height: 1 !important; }
}
/* Boutons : même taille partout (hors en-tête) et effet au survol selon la charte (orange #FF5A37, bleu #0069E6, marine #192850) */
.elementor:not(.elementor-location-header) .elementor-widget-button .elementor-button,
.elementor:not(.elementor-location-header) .elementor-form .elementor-button {
  min-height: 52px; padding: 14px 32px !important; border-radius: 50px !important; border: 2px solid transparent !important;
  font-size: 16px !important; font-weight: 700; line-height: 1.2 !important; letter-spacing: .5px;
  display: inline-flex; align-items: center; justify-content: center; text-align: center;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .1s ease, box-shadow .2s ease;
}
.elementor:not(.elementor-location-header) .elementor-widget-button .elementor-button:active,
.elementor:not(.elementor-location-header) .elementor-form .elementor-button:active { transform: scale(.97); }
.elementor:not(.elementor-location-header) .elementor-widget-button .elementor-button:focus-visible { outline: 3px solid #00EDED; outline-offset: 2px; }
/* Orange -> bleu */
.elementor .sk-btn-orange .elementor-button, .elementor:not(.elementor-location-header) .elementor-form .elementor-button { background-color: #FF5A37 !important; border-color: #FF5A37 !important; color: #FFFFFF !important; }
.elementor .sk-btn-orange .elementor-button:hover, .elementor:not(.elementor-location-header) .elementor-form .elementor-button:hover { background-color: #0069E6 !important; border-color: #0069E6 !important; color: #FFFFFF !important; }
/* Bleu et marine -> orange */
.elementor .sk-btn-bleu .elementor-button { background-color: #0069E6 !important; border-color: #0069E6 !important; color: #FFFFFF !important; }
.elementor .sk-btn-marine .elementor-button { background-color: #192850 !important; border-color: #192850 !important; color: #FFFFFF !important; }
.elementor .sk-btn-bleu .elementor-button:hover, .elementor .sk-btn-marine .elementor-button:hover { background-color: #FF5A37 !important; border-color: #FF5A37 !important; color: #FFFFFF !important; }
/* Contour -> rempli orange */
.elementor .sk-btn-contour .elementor-button { background-color: transparent !important; border-color: currentColor !important; }
.elementor .sk-btn-contour .elementor-button:hover { background-color: #FF5A37 !important; border-color: #FF5A37 !important; color: #FFFFFF !important; }
.elementor .sk-btn-contour .elementor-button:hover .elementor-button-text, .elementor .sk-btn-contour .elementor-button:hover .elementor-button-icon { color: #FFFFFF !important; }
@media (max-width: 767px) {
  .elementor:not(.elementor-location-header) .elementor-widget-button .elementor-button { padding: 14px 24px !important; }
  /* Boutons dans les cartes : centrés */
  .elementor .sk-carte .elementor-widget-button { align-self: center !important; }
  .elementor .sk-carte .elementor-widget-button .elementor-button-wrapper { text-align: center !important; }
}
/* Fin des règles responsives */
/* Tableaux comparatifs des forfaits sur téléphone : la colonne vide de gauche disparaît, le tableau défile horizontalement */
@media (max-width: 767px) {
  .elementor .e-con:has(> .sk-tableau-defilant), .elementor .e-con:has(> .e-con-inner > .sk-tableau-defilant) { padding-left: 8px !important; padding-right: 8px !important; }
  .elementor .sk-tableau-defilant { overflow-x: auto !important; -webkit-overflow-scrolling: touch; padding-left: 0 !important; padding-right: 0 !important; }
  .sk-tableau-defilant > .e-con, .sk-tableau-defilant > .e-con-inner > .e-con, .sk-tableau-defilant > .elementor-widget, .sk-tableau-defilant > .e-con-inner > .elementor-widget { min-width: 480px !important; }
  .sk-tableau-defilant > .e-con > .e-con:first-child:not(:has(.elementor-widget)) { display: none !important; }
  .elementor .sk-tableau-defilant > .e-con > .e-con { flex: 1 1 0 !important; width: auto !important; min-width: 0 !important; padding-left: 6px !important; padding-right: 6px !important; }
  .sk-tableau-defilant .elementor-button { padding: 12px 10px !important; font-size: 13px !important; letter-spacing: 0 !important; }
}
/* Cartes de forfaits (tablette et mobile), sur le modèle de shortkut.ca : cartes espacées, en-tête centré, caractéristiques alignées en colonnes */
@media (max-width: 1024px) {
  .elementor .sk-prix-grille { row-gap: 32px !important; column-gap: 24px !important; }
  .elementor .e-con.sk-prix-icone { padding: 0 !important; flex: 0 0 auto !important; }
}
@media (max-width: 767px) {
  .elementor .sk-prix-entete, .elementor .sk-prix-entete > .e-con { align-items: center !important; justify-content: center !important; text-align: center; }
  .sk-prix-entete .elementor-heading-title { text-align: center !important; }
  .elementor .e-con.sk-prix-carte { padding-top: 32px !important; padding-bottom: 28px !important; align-items: stretch !important; }
  .sk-prix-carte > .elementor-widget-text-editor, .sk-prix-carte > .elementor-widget-text-editor * { text-align: center !important; }
  .elementor .e-con.sk-prix-termes, .elementor .e-con.sk-prix-nom, .elementor .e-con.sk-prix-montant { width: 100% !important; --width: 100% !important; }
  .sk-prix-carte > .elementor-widget-text-editor:first-child { align-self: center !important; }
  .elementor .sk-prix-nom, .elementor .sk-prix-montant, .elementor .sk-prix-termes { justify-content: center !important; flex-wrap: wrap !important; }
  .elementor .e-con.sk-prix-ligne { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; column-gap: 10px !important; align-items: center !important; }
  .elementor .e-con.sk-prix-ligne:has(> :nth-child(3)) { grid-template-columns: 18px minmax(0, 1fr) auto; }
  .sk-prix-ligne > * { width: auto !important; max-width: none !important; margin: 0 !important; }
  .sk-prix-ligne > .elementor-widget-text-editor:last-child { text-align: right; white-space: nowrap; }
  /* Onglets de catégories : tous en haut, empilés */
  .elementor-widget-n-tabs .e-n-tabs-heading { flex-wrap: wrap !important; gap: 8px !important; }
  .elementor-widget-n-tabs .e-n-tabs-heading > .e-n-tab-title { flex: 1 1 100% !important; justify-content: center; }
}
/* Blocs récurrents (tablette et mobile) : pastilles d'icônes, cartes centrées, vidéos, avis, FAQ, étapes, étiquettes */
.e-con.sk-pastille .elementor-heading-title, .e-con.sk-pastille p { font-size: 24px !important; line-height: 1 !important; }
@media (max-width: 1024px) {
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-pastille, .elementor .e-con.sk-pastille { --width: 52px !important; width: 52px !important; min-width: 52px; height: 52px; min-height: 52px !important; flex: 0 0 52px !important; padding: 0 !important; justify-content: center !important; align-items: center !important; }
  .elementor .sk-etapes .e-con.sk-pastille, .elementor .e-con.sk-pastille:has(.elementor-heading-title:not(:empty)) { border-radius: 50%; }
  .elementor .e-con.sk-liaison { display: none !important; }
  /* Vidéos : l'image remplit son cadre */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-cadre-video, .elementor .e-con.sk-cadre-video { padding: 0 !important; overflow: hidden; min-height: 0 !important; }
  .sk-cadre-video .elementor-widget-video, .sk-cadre-video .elementor-wrapper, .sk-cadre-video video { width: 100% !important; }
  .sk-cadre-video video { object-fit: cover; aspect-ratio: 16 / 9; height: auto !important; display: block; }
  /* Avis : pas d'espace vide dans les cartes */
  .elementor .sk-avis > .e-con, .elementor .e-con.sk-avis-carte { min-height: 0 !important; height: auto !important; justify-content: flex-start !important; }
  .sk-avis { grid-auto-rows: auto !important; align-items: start !important; }
  .elementor .e-con.sk-avis-carte { gap: 10px !important; }
  .sk-avis-carte > .elementor-widget-text-editor:first-child { margin: 0 !important; line-height: 1 !important; }
  .sk-video-info .elementor-widget-text-editor *, .sk-video-info .elementor-widget-text-editor { border: 0 !important; }
  /* FAQ et onglets : marges intérieures du contenu déplié */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-n-accordion-item > .e-con, .elementor .e-n-accordion-item > .e-con { padding-left: 16px !important; padding-right: 16px !important; padding-bottom: 16px !important; }
}
@media (max-width: 767px) {
  /* Grilles : chaque carte garde sa propre hauteur (plus de vide avant le bouton) ; espace entre les étapes */
  .elementor .e-con.e-grid { align-items: start !important; }
  .elementor .e-con.e-grid:has(> .e-con.sk-liaison) { gap: 24px !important; row-gap: 24px !important; }
  /* Zones de boutons des cartes : centrées, sans marge imposée */
  .elementor .e-con.sk-actions { margin-top: 8px !important; justify-content: center !important; align-items: center !important; align-self: stretch !important; }
  .sk-actions .elementor-widget-button .elementor-button-wrapper { text-align: center !important; }
  /* Accueil : image du haut entière, détachée du bas de la section */
  .elementor .elementor-element-647d8a2 { padding-bottom: 40px !important; }
  .elementor-element-14f1c15 img { max-width: 92%; margin: 0 auto; display: block; }
  /* Cartes : hauteur selon le contenu ; décor masqué ; lignes icône + texte alignées en haut */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-carte, .elementor .e-con.sk-carte { min-height: 0 !important; }
  .elementor .e-con.sk-decor { display: none !important; }
  .elementor .e-con.sk-ligne-icone { align-items: start !important; }
  .sk-ligne-icone > .e-con:first-child { align-self: start !important; height: auto !important; min-height: 0 !important; aspect-ratio: 1; margin-top: 2px !important; }
  .elementor .e-con.sk-prix-info { --width: auto !important; width: auto !important; }
  /* Visuels composés (cartes superposées) : empilés, sans hauteur imposée */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-vz, .elementor .e-con.sk-vz { min-height: 0 !important; display: flex !important; flex-direction: column !important; gap: 12px !important; padding: 16px !important; }
  .elementor .sk-vz > * { position: static !important; --width: 100% !important; width: 100% !important; transform: none !important; inset: auto !important; margin: 0 !important; }
  .sk-vz .elementor-widget-image img { height: auto !important; aspect-ratio: 3 / 2; object-fit: cover; }
  .elementor .e-con.sk-vz:not(:has(img)) { min-height: 220px !important; justify-content: flex-end !important; }
  /* Cartes centrées : icône, titre, texte, lien */
  .elementor .e-con.sk-carte-centree { align-items: center !important; text-align: center; }
  .sk-carte-centree > .elementor-widget, .sk-carte-centree .elementor-heading-title, .sk-carte-centree .elementor-widget-text-editor { text-align: center !important; }
  /* Texte à côté d'une barre verticale */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-texte-barre, .elementor .e-con.sk-texte-barre { padding-left: 16px !important; }
  .elementor .e-con.sk-video-info { align-items: flex-start !important; text-align: left; }
  .sk-video-info > * { border: 0 !important; text-align: left !important; }
  /* Boutons d'action du haut de page : empilés, pleine largeur */
  .elementor .e-con.sk-boutons { flex-direction: column !important; align-items: stretch !important; gap: 12px !important; }
  .sk-boutons .elementor-widget-button, .sk-boutons .elementor-button { width: 100% !important; }
  .sk-boutons .elementor-button-wrapper, .sk-boutons .elementor-widget-button { text-align: center !important; }
  /* Étapes : cartes, sans flèches */
  .sk-etapes > .elementor-widget-text-editor { display: none !important; }
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .sk-etapes > .e-con, .elementor .sk-etapes > .e-con { background: #fff; border-radius: 16px; padding: 18px 16px !important; gap: 8px !important; }
  .elementor .sk-etapes { gap: 12px !important; }
  /* Étiquettes : en ligne, à la suite */
  .elementor .e-con.sk-etiquettes { flex-direction: row !important; flex-wrap: wrap !important; gap: 8px !important; justify-content: flex-start !important; }
  .sk-etiquettes > * { width: auto !important; margin: 0 !important; position: static !important; transform: none !important; }
  /* Grilles d'icônes : deux colonnes, cartes compactes */
  .elementor .e-con.sk-grille-icones { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .sk-grille-icones > .e-con, .elementor .sk-grille-icones > .e-con { min-height: 0 !important; background: #fff; border-radius: 14px; padding: 16px 12px !important; gap: 8px !important; align-items: center !important; text-align: center; }
  .sk-grille-icones > .e-con > .elementor-widget-text-editor { text-align: center !important; }
  .sk-grille-icones > .e-con > .elementor-widget-text-editor:first-child { font-size: 26px !important; line-height: 1 !important; }
}
/* Boutons : même taille partout (hors en-tête) et effet au survol selon la charte (orange #FF5A37, bleu #0069E6, marine #192850) */
.elementor:not(.elementor-location-header) .elementor-widget-button .elementor-button,
.elementor:not(.elementor-location-header) .elementor-form .elementor-button {
  min-height: 52px; padding: 14px 32px !important; border-radius: 50px !important; border: 2px solid transparent !important;
  font-size: 16px !important; font-weight: 700; line-height: 1.2 !important; letter-spacing: .5px;
  display: inline-flex; align-items: center; justify-content: center; text-align: center;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .1s ease, box-shadow .2s ease;
}
.elementor:not(.elementor-location-header) .elementor-widget-button .elementor-button:active,
.elementor:not(.elementor-location-header) .elementor-form .elementor-button:active { transform: scale(.97); }
.elementor:not(.elementor-location-header) .elementor-widget-button .elementor-button:focus-visible { outline: 3px solid #00EDED; outline-offset: 2px; }
/* Orange -> bleu */
.elementor .sk-btn-orange .elementor-button, .elementor:not(.elementor-location-header) .elementor-form .elementor-button { background-color: #FF5A37 !important; border-color: #FF5A37 !important; color: #FFFFFF !important; }
.elementor .sk-btn-orange .elementor-button:hover, .elementor:not(.elementor-location-header) .elementor-form .elementor-button:hover { background-color: #0069E6 !important; border-color: #0069E6 !important; color: #FFFFFF !important; }
/* Bleu et marine -> orange */
.elementor .sk-btn-bleu .elementor-button { background-color: #0069E6 !important; border-color: #0069E6 !important; color: #FFFFFF !important; }
.elementor .sk-btn-marine .elementor-button { background-color: #192850 !important; border-color: #192850 !important; color: #FFFFFF !important; }
.elementor .sk-btn-bleu .elementor-button:hover, .elementor .sk-btn-marine .elementor-button:hover { background-color: #FF5A37 !important; border-color: #FF5A37 !important; color: #FFFFFF !important; }
/* Contour -> rempli orange */
.elementor .sk-btn-contour .elementor-button { background-color: transparent !important; border-color: currentColor !important; }
.elementor .sk-btn-contour .elementor-button:hover { background-color: #FF5A37 !important; border-color: #FF5A37 !important; color: #FFFFFF !important; }
.elementor .sk-btn-contour .elementor-button:hover .elementor-button-text, .elementor .sk-btn-contour .elementor-button:hover .elementor-button-icon { color: #FFFFFF !important; }
@media (max-width: 767px) {
  .elementor:not(.elementor-location-header) .elementor-widget-button .elementor-button { padding: 14px 24px !important; }
  /* Boutons dans les cartes : centrés */
  .elementor .sk-carte .elementor-widget-button { align-self: center !important; }
  .elementor .sk-carte > .elementor-widget-button { margin-top: 16px !important; }
  .elementor .sk-carte .elementor-widget-button .elementor-button-wrapper { text-align: center !important; }
}
/* Fin des règles responsives */
/* Tableaux comparatifs des forfaits sur téléphone : la colonne vide de gauche disparaît, le tableau défile horizontalement */
@media (max-width: 767px) {
  .elementor .e-con:has(> .sk-tableau-defilant), .elementor .e-con:has(> .e-con-inner > .sk-tableau-defilant) { padding-left: 8px !important; padding-right: 8px !important; }
  .elementor .sk-tableau-defilant { overflow-x: auto !important; -webkit-overflow-scrolling: touch; padding-left: 0 !important; padding-right: 0 !important; }
  .sk-tableau-defilant > .e-con, .sk-tableau-defilant > .e-con-inner > .e-con, .sk-tableau-defilant > .elementor-widget, .sk-tableau-defilant > .e-con-inner > .elementor-widget { min-width: 480px !important; }
  .sk-tableau-defilant > .e-con > .e-con:first-child:not(:has(.elementor-widget)) { display: none !important; }
  .elementor .sk-tableau-defilant > .e-con > .e-con { flex: 1 1 0 !important; width: auto !important; min-width: 0 !important; padding-left: 6px !important; padding-right: 6px !important; }
  .sk-tableau-defilant .elementor-button { padding: 12px 10px !important; font-size: 13px !important; letter-spacing: 0 !important; }
}
/* Cartes de forfaits (tablette et mobile), sur le modèle de shortkut.ca : cartes espacées, en-tête centré, caractéristiques alignées en colonnes */
@media (max-width: 1024px) {
  .elementor .sk-prix-grille { row-gap: 32px !important; column-gap: 24px !important; }
  .elementor .e-con.sk-prix-icone { padding: 0 !important; flex: 0 0 auto !important; }
}
@media (max-width: 767px) {
  .elementor .sk-prix-entete, .elementor .sk-prix-entete > .e-con { align-items: center !important; justify-content: center !important; text-align: center; }
  .sk-prix-entete .elementor-heading-title { text-align: center !important; }
  .elementor .e-con.sk-prix-carte { padding-top: 32px !important; padding-bottom: 28px !important; align-items: stretch !important; }
  .sk-prix-carte > .elementor-widget-text-editor, .sk-prix-carte > .elementor-widget-text-editor * { text-align: center !important; }
  .elementor .e-con.sk-prix-termes, .elementor .e-con.sk-prix-nom, .elementor .e-con.sk-prix-montant { width: 100% !important; --width: 100% !important; }
  .sk-prix-carte > .elementor-widget-text-editor:first-child { align-self: center !important; }
  .elementor .sk-prix-nom, .elementor .sk-prix-montant, .elementor .sk-prix-termes { justify-content: center !important; flex-wrap: wrap !important; }
  .elementor .e-con.sk-prix-ligne { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; column-gap: 10px !important; align-items: center !important; }
  .elementor .e-con.sk-prix-ligne:has(> :nth-child(3)) { grid-template-columns: 18px minmax(0, 1fr) auto; }
  .sk-prix-ligne > * { width: auto !important; max-width: none !important; margin: 0 !important; }
  .sk-prix-ligne > .elementor-widget-text-editor:last-child { text-align: right; white-space: nowrap; }
  /* Onglets de catégories : tous en haut, empilés */
  .elementor-widget-n-tabs .e-n-tabs-heading { flex-wrap: wrap !important; gap: 8px !important; }
  .elementor-widget-n-tabs .e-n-tabs-heading > .e-n-tab-title { flex: 1 1 100% !important; justify-content: center; }
}
/* Blocs récurrents (tablette et mobile) : pastilles d'icônes, cartes centrées, vidéos, avis, FAQ, étapes, étiquettes */
.e-con.sk-pastille .elementor-heading-title, .e-con.sk-pastille p { font-size: 24px !important; line-height: 1 !important; }
@media (max-width: 1024px) {
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-pastille, .elementor .e-con.sk-pastille { --width: 52px !important; width: 52px !important; min-width: 52px; height: 52px; min-height: 52px !important; flex: 0 0 52px !important; padding: 0 !important; justify-content: center !important; align-items: center !important; }
  .elementor .sk-etapes .e-con.sk-pastille, .elementor .e-con.sk-pastille:has(.elementor-heading-title:not(:empty)) { border-radius: 50%; }
  .elementor .e-con.sk-liaison { display: none !important; }
  /* Vidéos : l'image remplit son cadre */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-cadre-video, .elementor .e-con.sk-cadre-video { padding: 0 !important; overflow: hidden; min-height: 0 !important; }
  .sk-cadre-video .elementor-widget-video, .sk-cadre-video .elementor-wrapper, .sk-cadre-video video { width: 100% !important; }
  .sk-cadre-video video { object-fit: cover; aspect-ratio: 16 / 9; height: auto !important; display: block; }
  /* Avis : pas d'espace vide dans les cartes */
  .elementor .sk-avis > .e-con, .elementor .e-con.sk-avis-carte { min-height: 0 !important; height: auto !important; justify-content: flex-start !important; }
  .sk-avis { grid-auto-rows: auto !important; align-items: start !important; }
  .elementor .e-con.sk-avis-carte { gap: 10px !important; }
  .sk-avis-carte > .elementor-widget-text-editor:first-child { margin: 0 !important; line-height: 1 !important; }
  .sk-video-info .elementor-widget-text-editor *, .sk-video-info .elementor-widget-text-editor { border: 0 !important; }
  /* FAQ et onglets : marges intérieures du contenu déplié */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-n-accordion-item > .e-con, .elementor .e-n-accordion-item > .e-con { padding-left: 16px !important; padding-right: 16px !important; padding-bottom: 16px !important; }
}
@media (max-width: 767px) {
  /* Grilles : chaque carte garde sa propre hauteur (plus de vide avant le bouton) ; espace entre les étapes */
  .elementor .e-con.e-grid { align-items: start !important; }
  .elementor .e-con.e-grid:has(> .e-con.sk-liaison) { gap: 24px !important; row-gap: 24px !important; }
  /* Zones de boutons des cartes : centrées, sans marge imposée */
  .elementor .e-con.sk-actions { margin-top: 8px !important; justify-content: center !important; align-items: center !important; align-self: stretch !important; }
  .sk-actions .elementor-widget-button .elementor-button-wrapper { text-align: center !important; }
  /* Accueil : image du haut entière, détachée du bas de la section */
  .elementor .elementor-element-647d8a2 { padding-bottom: 40px !important; }
  .elementor-element-14f1c15 img { max-width: 92%; margin: 0 auto; display: block; }
  /* Cartes : hauteur selon le contenu ; décor masqué ; lignes icône + texte alignées en haut */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-carte, .elementor .e-con.sk-carte { min-height: 0 !important; }
  .elementor .e-con.sk-decor { display: none !important; }
  .elementor .e-con.sk-ligne-icone { align-items: start !important; }
  .sk-ligne-icone > .e-con:first-child { align-self: start !important; height: auto !important; min-height: 0 !important; aspect-ratio: 1; margin-top: 2px !important; }
  .elementor .e-con.sk-prix-info { --width: auto !important; width: auto !important; }
  /* Visuels composés (cartes superposées) : empilés, sans hauteur imposée */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-vz, .elementor .e-con.sk-vz { min-height: 0 !important; display: flex !important; flex-direction: column !important; gap: 12px !important; padding: 16px !important; }
  .elementor .sk-vz > * { position: static !important; --width: 100% !important; width: 100% !important; transform: none !important; inset: auto !important; margin: 0 !important; }
  .sk-vz .elementor-widget-image img { height: auto !important; aspect-ratio: 3 / 2; object-fit: cover; }
  .elementor .e-con.sk-vz:not(:has(img)) { min-height: 220px !important; justify-content: flex-end !important; }
  /* Cartes centrées : icône, titre, texte, lien */
  .elementor .e-con.sk-carte-centree { align-items: center !important; text-align: center; }
  .sk-carte-centree > .elementor-widget, .sk-carte-centree .elementor-heading-title, .sk-carte-centree .elementor-widget-text-editor { text-align: center !important; }
  /* Texte à côté d'une barre verticale */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-texte-barre, .elementor .e-con.sk-texte-barre { padding-left: 16px !important; }
  .elementor .e-con.sk-video-info { align-items: flex-start !important; text-align: left; }
  .sk-video-info > * { border: 0 !important; text-align: left !important; }
  /* Boutons d'action du haut de page : empilés, pleine largeur */
  .elementor .e-con.sk-boutons { flex-direction: column !important; align-items: stretch !important; gap: 12px !important; }
  .sk-boutons .elementor-widget-button, .sk-boutons .elementor-button { width: 100% !important; }
  .sk-boutons .elementor-button-wrapper, .sk-boutons .elementor-widget-button { text-align: center !important; }
  /* Étapes : cartes, sans flèches */
  .sk-etapes > .elementor-widget-text-editor { display: none !important; }
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .sk-etapes > .e-con, .elementor .sk-etapes > .e-con { background: #fff; border-radius: 16px; padding: 18px 16px !important; gap: 8px !important; }
  .elementor .sk-etapes { gap: 12px !important; }
  /* Étiquettes : en ligne, à la suite */
  .elementor .e-con.sk-etiquettes { flex-direction: row !important; flex-wrap: wrap !important; gap: 8px !important; justify-content: flex-start !important; }
  .sk-etiquettes > * { width: auto !important; margin: 0 !important; position: static !important; transform: none !important; }
  /* Grilles d'icônes : deux colonnes, cartes compactes */
  .elementor .e-con.sk-grille-icones { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .sk-grille-icones > .e-con, .elementor .sk-grille-icones > .e-con { min-height: 0 !important; background: #fff; border-radius: 14px; padding: 16px 12px !important; gap: 8px !important; align-items: center !important; text-align: center; }
  .sk-grille-icones > .e-con > .elementor-widget-text-editor { text-align: center !important; }
  .sk-grille-icones > .e-con > .elementor-widget-text-editor:first-child { font-size: 26px !important; line-height: 1 !important; }
}
/* Boutons : même taille partout (hors en-tête) et effet au survol selon la charte (orange #FF5A37, bleu #0069E6, marine #192850) */
.elementor:not(.elementor-location-header) .elementor-widget-button .elementor-button,
.elementor:not(.elementor-location-header) .elementor-form .elementor-button {
  min-height: 52px; padding: 14px 32px !important; border-radius: 50px !important; border: 2px solid transparent !important;
  font-size: 16px !important; font-weight: 700; line-height: 1.2 !important; letter-spacing: .5px;
  display: inline-flex; align-items: center; justify-content: center; text-align: center;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .1s ease, box-shadow .2s ease;
}
.elementor:not(.elementor-location-header) .elementor-widget-button .elementor-button:active,
.elementor:not(.elementor-location-header) .elementor-form .elementor-button:active { transform: scale(.97); }
.elementor:not(.elementor-location-header) .elementor-widget-button .elementor-button:focus-visible { outline: 3px solid #00EDED; outline-offset: 2px; }
/* Orange -> bleu */
.elementor .sk-btn-orange .elementor-button, .elementor:not(.elementor-location-header) .elementor-form .elementor-button { background-color: #FF5A37 !important; border-color: #FF5A37 !important; color: #FFFFFF !important; }
.elementor .sk-btn-orange .elementor-button:hover, .elementor:not(.elementor-location-header) .elementor-form .elementor-button:hover { background-color: #0069E6 !important; border-color: #0069E6 !important; color: #FFFFFF !important; }
/* Bleu et marine -> orange */
.elementor .sk-btn-bleu .elementor-button { background-color: #0069E6 !important; border-color: #0069E6 !important; color: #FFFFFF !important; }
.elementor .sk-btn-marine .elementor-button { background-color: #192850 !important; border-color: #192850 !important; color: #FFFFFF !important; }
.elementor .sk-btn-bleu .elementor-button:hover, .elementor .sk-btn-marine .elementor-button:hover { background-color: #FF5A37 !important; border-color: #FF5A37 !important; color: #FFFFFF !important; }
/* Contour -> rempli orange */
.elementor .sk-btn-contour .elementor-button { background-color: transparent !important; border-color: currentColor !important; }
.elementor .sk-btn-contour .elementor-button:hover { background-color: #FF5A37 !important; border-color: #FF5A37 !important; color: #FFFFFF !important; }
.elementor .sk-btn-contour .elementor-button:hover .elementor-button-text, .elementor .sk-btn-contour .elementor-button:hover .elementor-button-icon { color: #FFFFFF !important; }
@media (max-width: 767px) {
  .elementor:not(.elementor-location-header) .elementor-widget-button .elementor-button { padding: 14px 24px !important; }
  /* Boutons dans les cartes : centrés */
  .elementor .sk-carte .elementor-widget-button { align-self: center !important; }
  .elementor .sk-carte > .elementor-widget-button { margin-top: 16px !important; }
  .elementor .sk-carte .elementor-widget-button .elementor-button-wrapper { text-align: center !important; }
}
/* Retouches de pages précises sur mobile (Kaptur, Produits) : espacements et boutons secondaires */
/* « Parler à un pilote » (titre-lien à côté d'un bouton) : présenté comme un bouton à contour, partout */
.elementor .sk-actions > .elementor-widget-heading .elementor-heading-title a,
.elementor .sk-actions > .elementor-widget-heading .elementor-heading-title:not(:has(a)) {
  display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 12px 28px; border: 2px solid #192850; border-radius: 50px;
  color: #192850; font-size: 16px; font-weight: 700; line-height: 1.2; text-decoration: none; transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .1s ease;
}
.elementor .sk-actions > .elementor-widget-heading .elementor-heading-title a:hover { background-color: #FF5A37; border-color: #FF5A37; color: #FFFFFF; }
.elementor .sk-actions > .elementor-widget-heading .elementor-heading-title a:active { transform: scale(.97); }
@media (max-width: 767px) {
  .elementor .e-con.sk-actions { margin-top: 20px !important; gap: 14px !important; }
  .elementor .sk-actions > .elementor-widget-heading, .elementor .sk-actions > .elementor-widget-heading .elementor-heading-title { width: 100%; text-align: center !important; }
  .elementor .sk-actions > .elementor-widget-heading .elementor-heading-title a { width: 100%; }
  /* Pastille de prix juste avant les boutons : centrée */
  .elementor .e-con > .elementor-widget-text-editor:has(+ .e-con.sk-actions) { align-self: center !important; text-align: center !important; }
  /* Kaptur : téléphone, titre, lien et aperçu du texto espacés ; carte de prix aérée */
  .elementor .elementor-element-81fb18b { gap: 32px !important; row-gap: 32px !important; }
  .elementor .elementor-element-6a39aaa { margin-top: 8px !important; }
  .elementor .elementor-element-551ac8e { gap: 20px !important; row-gap: 20px !important; }
  /* Visuel avec image de fond (ex. « Experts certifiés Google Partner ») : assez haut pour voir l'image */
  .elementor .e-con.sk-vz:not(:has(img)) { min-height: 320px !important; background-size: cover !important; background-position: center !important; }
}
/* Fin des règles responsives */
/* Tableaux comparatifs des forfaits sur téléphone : la colonne vide de gauche disparaît, le tableau défile horizontalement */
@media (max-width: 767px) {
  .elementor .e-con:has(> .sk-tableau-defilant), .elementor .e-con:has(> .e-con-inner > .sk-tableau-defilant) { padding-left: 8px !important; padding-right: 8px !important; }
  .elementor .sk-tableau-defilant { overflow-x: auto !important; -webkit-overflow-scrolling: touch; padding-left: 0 !important; padding-right: 0 !important; }
  .sk-tableau-defilant > .e-con, .sk-tableau-defilant > .e-con-inner > .e-con, .sk-tableau-defilant > .elementor-widget, .sk-tableau-defilant > .e-con-inner > .elementor-widget { min-width: 480px !important; }
  .sk-tableau-defilant > .e-con > .e-con:first-child:not(:has(.elementor-widget)) { display: none !important; }
  .elementor .sk-tableau-defilant > .e-con > .e-con { flex: 1 1 0 !important; width: auto !important; min-width: 0 !important; padding-left: 6px !important; padding-right: 6px !important; }
  .sk-tableau-defilant .elementor-button { padding: 12px 10px !important; font-size: 13px !important; letter-spacing: 0 !important; }
}
/* Cartes de forfaits (tablette et mobile), sur le modèle de shortkut.ca : cartes espacées, en-tête centré, caractéristiques alignées en colonnes */
@media (max-width: 1024px) {
  .elementor .sk-prix-grille { row-gap: 32px !important; column-gap: 24px !important; }
  .elementor .e-con.sk-prix-icone { padding: 0 !important; flex: 0 0 auto !important; }
}
@media (max-width: 767px) {
  .elementor .sk-prix-entete, .elementor .sk-prix-entete > .e-con { align-items: center !important; justify-content: center !important; text-align: center; }
  .sk-prix-entete .elementor-heading-title { text-align: center !important; }
  .elementor .e-con.sk-prix-carte { padding-top: 32px !important; padding-bottom: 28px !important; align-items: stretch !important; }
  .sk-prix-carte > .elementor-widget-text-editor, .sk-prix-carte > .elementor-widget-text-editor * { text-align: center !important; }
  .elementor .e-con.sk-prix-termes, .elementor .e-con.sk-prix-nom, .elementor .e-con.sk-prix-montant { width: 100% !important; --width: 100% !important; }
  .sk-prix-carte > .elementor-widget-text-editor:first-child { align-self: center !important; }
  .elementor .sk-prix-nom, .elementor .sk-prix-montant, .elementor .sk-prix-termes { justify-content: center !important; flex-wrap: wrap !important; }
  .elementor .e-con.sk-prix-ligne { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; column-gap: 10px !important; align-items: center !important; }
  .elementor .e-con.sk-prix-ligne:has(> :nth-child(3)) { grid-template-columns: 18px minmax(0, 1fr) auto; }
  .sk-prix-ligne > * { width: auto !important; max-width: none !important; margin: 0 !important; }
  .sk-prix-ligne > .elementor-widget-text-editor:last-child { text-align: right; white-space: nowrap; }
  /* Onglets de catégories : tous en haut, empilés */
  .elementor-widget-n-tabs .e-n-tabs-heading { flex-wrap: wrap !important; gap: 8px !important; }
  .elementor-widget-n-tabs .e-n-tabs-heading > .e-n-tab-title { flex: 1 1 100% !important; justify-content: center; }
}
/* Blocs récurrents (tablette et mobile) : pastilles d'icônes, cartes centrées, vidéos, avis, FAQ, étapes, étiquettes */
.e-con.sk-pastille .elementor-heading-title, .e-con.sk-pastille p { font-size: 24px !important; line-height: 1 !important; }
@media (max-width: 1024px) {
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-pastille, .elementor .e-con.sk-pastille { --width: 52px !important; width: 52px !important; min-width: 52px; height: 52px; min-height: 52px !important; flex: 0 0 52px !important; padding: 0 !important; justify-content: center !important; align-items: center !important; }
  .elementor .sk-etapes .e-con.sk-pastille, .elementor .e-con.sk-pastille:has(.elementor-heading-title:not(:empty)) { border-radius: 50%; }
  .elementor .e-con.sk-liaison { display: none !important; }
  /* Vidéos : l'image remplit son cadre */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-cadre-video, .elementor .e-con.sk-cadre-video { padding: 0 !important; overflow: hidden; min-height: 0 !important; }
  .sk-cadre-video .elementor-widget-video, .sk-cadre-video .elementor-wrapper, .sk-cadre-video video { width: 100% !important; }
  .sk-cadre-video video { object-fit: cover; aspect-ratio: 16 / 9; height: auto !important; display: block; }
  /* Avis : pas d'espace vide dans les cartes */
  .elementor .sk-avis > .e-con, .elementor .e-con.sk-avis-carte { min-height: 0 !important; height: auto !important; justify-content: flex-start !important; }
  .sk-avis { grid-auto-rows: auto !important; align-items: start !important; }
  .elementor .e-con.sk-avis-carte { gap: 10px !important; }
  .sk-avis-carte > .elementor-widget-text-editor:first-child { margin: 0 !important; line-height: 1 !important; }
  .sk-video-info .elementor-widget-text-editor *, .sk-video-info .elementor-widget-text-editor { border: 0 !important; }
  /* FAQ et onglets : marges intérieures du contenu déplié */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-n-accordion-item > .e-con, .elementor .e-n-accordion-item > .e-con { padding-left: 16px !important; padding-right: 16px !important; padding-bottom: 16px !important; }
}
@media (max-width: 767px) {
  /* Grilles : chaque carte garde sa propre hauteur (plus de vide avant le bouton) ; espace entre les étapes */
  .elementor .e-con.e-grid { align-items: start !important; }
  .elementor .e-con.e-grid:has(> .e-con.sk-liaison) { gap: 24px !important; row-gap: 24px !important; }
  /* Zones de boutons des cartes : centrées, sans marge imposée */
  .elementor .e-con.sk-actions { margin-top: 8px !important; justify-content: center !important; align-items: center !important; align-self: stretch !important; }
  .sk-actions .elementor-widget-button .elementor-button-wrapper { text-align: center !important; }
  /* Accueil : image du haut entière, détachée du bas de la section */
  .elementor .elementor-element-647d8a2 { padding-bottom: 40px !important; }
  .elementor-element-14f1c15 img { max-width: 92%; margin: 0 auto; display: block; }
  /* Cartes : hauteur selon le contenu ; décor masqué ; lignes icône + texte alignées en haut */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-carte, .elementor .e-con.sk-carte { min-height: 0 !important; }
  .elementor .e-con.sk-decor { display: none !important; }
  .elementor .e-con.sk-ligne-icone { align-items: start !important; }
  .sk-ligne-icone > .e-con:first-child { align-self: start !important; height: auto !important; min-height: 0 !important; aspect-ratio: 1; margin-top: 2px !important; }
  .elementor .e-con.sk-prix-info { --width: auto !important; width: auto !important; }
  /* Visuels composés (cartes superposées) : empilés, sans hauteur imposée */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-vz, .elementor .e-con.sk-vz { min-height: 0 !important; display: flex !important; flex-direction: column !important; gap: 12px !important; padding: 16px !important; }
  .elementor .sk-vz > * { position: static !important; --width: 100% !important; width: 100% !important; transform: none !important; inset: auto !important; margin: 0 !important; }
  .sk-vz .elementor-widget-image img { height: auto !important; aspect-ratio: 3 / 2; object-fit: cover; }
  .elementor .e-con.sk-vz:not(:has(img)) { min-height: 220px !important; justify-content: flex-end !important; }
  /* Cartes centrées : icône, titre, texte, lien */
  .elementor .e-con.sk-carte-centree { align-items: center !important; text-align: center; }
  .sk-carte-centree > .elementor-widget, .sk-carte-centree .elementor-heading-title, .sk-carte-centree .elementor-widget-text-editor { text-align: center !important; }
  /* Texte à côté d'une barre verticale */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-texte-barre, .elementor .e-con.sk-texte-barre { padding-left: 16px !important; }
  .elementor .e-con.sk-video-info { align-items: flex-start !important; text-align: left; }
  .sk-video-info > * { border: 0 !important; text-align: left !important; }
  /* Boutons d'action du haut de page : empilés, pleine largeur */
  .elementor .e-con.sk-boutons { flex-direction: column !important; align-items: stretch !important; gap: 12px !important; }
  .sk-boutons .elementor-widget-button, .sk-boutons .elementor-button { width: 100% !important; }
  .sk-boutons .elementor-button-wrapper, .sk-boutons .elementor-widget-button { text-align: center !important; }
  /* Étapes : cartes, sans flèches */
  .sk-etapes > .elementor-widget-text-editor { display: none !important; }
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .sk-etapes > .e-con, .elementor .sk-etapes > .e-con { background: #fff; border-radius: 16px; padding: 18px 16px !important; gap: 8px !important; }
  .elementor .sk-etapes { gap: 12px !important; }
  /* Étiquettes : en ligne, à la suite */
  .elementor .e-con.sk-etiquettes { flex-direction: row !important; flex-wrap: wrap !important; gap: 8px !important; justify-content: flex-start !important; }
  .sk-etiquettes > * { width: auto !important; margin: 0 !important; position: static !important; transform: none !important; }
  /* Grilles d'icônes : deux colonnes, cartes compactes */
  .elementor .e-con.sk-grille-icones { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .sk-grille-icones > .e-con, .elementor .sk-grille-icones > .e-con { min-height: 0 !important; background: #fff; border-radius: 14px; padding: 16px 12px !important; gap: 8px !important; align-items: center !important; text-align: center; }
  .sk-grille-icones > .e-con > .elementor-widget-text-editor { text-align: center !important; }
  .sk-grille-icones > .e-con > .elementor-widget-text-editor:first-child { font-size: 26px !important; line-height: 1 !important; }
}
/* Boutons : même taille partout (hors en-tête) et effet au survol selon la charte (orange #FF5A37, bleu #0069E6, marine #192850) */
.elementor:not(.elementor-location-header) .elementor-widget-button .elementor-button,
.elementor:not(.elementor-location-header) .elementor-form .elementor-button {
  min-height: 52px; padding: 14px 32px !important; border-radius: 50px !important; border: 2px solid transparent !important;
  font-size: 16px !important; font-weight: 700; line-height: 1.2 !important; letter-spacing: .5px;
  display: inline-flex; align-items: center; justify-content: center; text-align: center;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .1s ease, box-shadow .2s ease;
}
.elementor:not(.elementor-location-header) .elementor-widget-button .elementor-button:active,
.elementor:not(.elementor-location-header) .elementor-form .elementor-button:active { transform: scale(.97); }
.elementor:not(.elementor-location-header) .elementor-widget-button .elementor-button:focus-visible { outline: 3px solid #00EDED; outline-offset: 2px; }
/* Orange -> bleu */
.elementor .sk-btn-orange .elementor-button, .elementor:not(.elementor-location-header) .elementor-form .elementor-button { background-color: #FF5A37 !important; border-color: #FF5A37 !important; color: #FFFFFF !important; }
.elementor .sk-btn-orange .elementor-button:hover, .elementor:not(.elementor-location-header) .elementor-form .elementor-button:hover { background-color: #0069E6 !important; border-color: #0069E6 !important; color: #FFFFFF !important; }
/* Bleu et marine -> orange */
.elementor .sk-btn-bleu .elementor-button { background-color: #0069E6 !important; border-color: #0069E6 !important; color: #FFFFFF !important; }
.elementor .sk-btn-marine .elementor-button { background-color: #192850 !important; border-color: #192850 !important; color: #FFFFFF !important; }
.elementor .sk-btn-bleu .elementor-button:hover, .elementor .sk-btn-marine .elementor-button:hover { background-color: #FF5A37 !important; border-color: #FF5A37 !important; color: #FFFFFF !important; }
/* Contour -> rempli orange */
.elementor .sk-btn-contour .elementor-button { background-color: transparent !important; border-color: currentColor !important; }
.elementor .sk-btn-contour .elementor-button:hover { background-color: #FF5A37 !important; border-color: #FF5A37 !important; color: #FFFFFF !important; }
.elementor .sk-btn-contour .elementor-button:hover .elementor-button-text, .elementor .sk-btn-contour .elementor-button:hover .elementor-button-icon { color: #FFFFFF !important; }
@media (max-width: 767px) {
  .elementor:not(.elementor-location-header) .elementor-widget-button .elementor-button { padding: 14px 24px !important; }
  /* Boutons dans les cartes : centrés */
  .elementor .sk-carte .elementor-widget-button { align-self: center !important; }
  .elementor .sk-carte > .elementor-widget-button { margin-top: 16px !important; }
  .elementor .sk-carte .elementor-widget-button .elementor-button-wrapper { text-align: center !important; }
}
/* Retouches de pages précises sur mobile (Kaptur, Produits) : espacements et boutons secondaires */
/* « Parler à un pilote » (titre-lien à côté d'un bouton) : présenté comme un bouton à contour, partout */
.elementor .sk-actions > .elementor-widget-heading .elementor-heading-title a,
.elementor .sk-actions > .elementor-widget-heading .elementor-heading-title:not(:has(a)) {
  display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 12px 28px; border: 2px solid #192850; border-radius: 50px;
  color: #192850; font-size: 16px !important; font-weight: 700; line-height: 1.2; text-decoration: none; transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .1s ease;
}
.elementor .sk-actions > .elementor-widget-heading .elementor-heading-title a:hover { background-color: #FF5A37; border-color: #FF5A37; color: #FFFFFF; }
.elementor .sk-actions > .elementor-widget-heading .elementor-heading-title a:active { transform: scale(.97); }
@media (max-width: 767px) {
  .elementor .e-con.sk-actions { margin-top: 20px !important; gap: 14px !important; }
  .elementor .sk-actions > .elementor-widget-heading, .elementor .sk-actions > .elementor-widget-heading .elementor-heading-title { width: 100%; text-align: center !important; }
  .elementor .sk-actions > .elementor-widget-heading .elementor-heading-title a { width: 100%; }
  /* Pastille de prix juste avant les boutons : centrée */
  .elementor .e-con > .elementor-widget-text-editor:has(+ .e-con.sk-actions) { align-self: center !important; text-align: center !important; }
  /* Kaptur : téléphone, titre, lien et aperçu du texto espacés ; carte de prix aérée */
  .elementor .elementor-element-81fb18b { gap: 32px !important; row-gap: 32px !important; }
  .elementor .elementor-element-6a39aaa { margin-top: 8px !important; }
  .elementor .elementor-element-46b8265 { margin-bottom: 32px !important; }
  .elementor .elementor-element-ef2ae71 { margin-top: 24px !important; }
  .elementor .elementor-element-551ac8e { gap: 20px !important; row-gap: 20px !important; }
  /* Visuel avec image de fond (ex. « Experts certifiés Google Partner ») : assez haut pour voir l'image */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-vz:not(:has(img)), .elementor .e-con.sk-vz:not(:has(img)) { min-height: 320px !important; background-size: cover !important; background-position: center !important; }
}
/* Fin des règles responsives */
/* Tableaux comparatifs des forfaits sur téléphone : la colonne vide de gauche disparaît, le tableau défile horizontalement */
@media (max-width: 767px) {
  .elementor .e-con:has(> .sk-tableau-defilant), .elementor .e-con:has(> .e-con-inner > .sk-tableau-defilant) { padding-left: 8px !important; padding-right: 8px !important; }
  .elementor .sk-tableau-defilant { overflow-x: auto !important; -webkit-overflow-scrolling: touch; padding-left: 0 !important; padding-right: 0 !important; }
  .sk-tableau-defilant > .e-con, .sk-tableau-defilant > .e-con-inner > .e-con, .sk-tableau-defilant > .elementor-widget, .sk-tableau-defilant > .e-con-inner > .elementor-widget { min-width: 480px !important; }
  .sk-tableau-defilant > .e-con > .e-con:first-child:not(:has(.elementor-widget)) { display: none !important; }
  .elementor .sk-tableau-defilant > .e-con > .e-con { flex: 1 1 0 !important; width: auto !important; min-width: 0 !important; padding-left: 6px !important; padding-right: 6px !important; }
  .sk-tableau-defilant .elementor-button { padding: 12px 10px !important; font-size: 13px !important; letter-spacing: 0 !important; }
}
/* Cartes de forfaits (tablette et mobile), sur le modèle de shortkut.ca : cartes espacées, en-tête centré, caractéristiques alignées en colonnes */
@media (max-width: 1024px) {
  .elementor .sk-prix-grille { row-gap: 32px !important; column-gap: 24px !important; }
  .elementor .e-con.sk-prix-icone { padding: 0 !important; flex: 0 0 auto !important; }
}
@media (max-width: 767px) {
  .elementor .sk-prix-entete, .elementor .sk-prix-entete > .e-con { align-items: center !important; justify-content: center !important; text-align: center; }
  .sk-prix-entete .elementor-heading-title { text-align: center !important; }
  .elementor .e-con.sk-prix-carte { padding-top: 32px !important; padding-bottom: 28px !important; align-items: stretch !important; }
  .sk-prix-carte > .elementor-widget-text-editor, .sk-prix-carte > .elementor-widget-text-editor * { text-align: center !important; }
  .elementor .e-con.sk-prix-termes, .elementor .e-con.sk-prix-nom, .elementor .e-con.sk-prix-montant { width: 100% !important; --width: 100% !important; }
  .sk-prix-carte > .elementor-widget-text-editor:first-child { align-self: center !important; }
  .elementor .sk-prix-nom, .elementor .sk-prix-montant, .elementor .sk-prix-termes { justify-content: center !important; flex-wrap: wrap !important; }
  .sk-prix-montant .elementor-heading-title { font-size: 44px !important; line-height: 1.05 !important; }
  .elementor .e-con.sk-prix-ligne { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; column-gap: 10px !important; align-items: center !important; }
  .elementor .e-con.sk-prix-ligne:has(> :nth-child(3)) { grid-template-columns: 18px minmax(0, 1fr) auto; }
  .sk-prix-ligne > * { width: auto !important; max-width: none !important; margin: 0 !important; }
  .sk-prix-ligne > .elementor-widget-text-editor:last-child { text-align: right; white-space: nowrap; }
  /* Onglets de catégories : tous en haut, empilés */
  .elementor-widget-n-tabs .e-n-tabs-heading { flex-wrap: wrap !important; gap: 8px !important; }
  .elementor-widget-n-tabs .e-n-tabs-heading > .e-n-tab-title { flex: 1 1 100% !important; justify-content: center; }
}
/* Blocs récurrents (tablette et mobile) : pastilles d'icônes, cartes centrées, vidéos, avis, FAQ, étapes, étiquettes */
.e-con.sk-pastille .elementor-heading-title, .e-con.sk-pastille p { font-size: 24px !important; line-height: 1 !important; }
@media (max-width: 1024px) {
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-pastille, .elementor .e-con.sk-pastille { --width: 52px !important; width: 52px !important; min-width: 52px; height: 52px; min-height: 52px !important; flex: 0 0 52px !important; padding: 0 !important; justify-content: center !important; align-items: center !important; }
  .elementor .sk-etapes .e-con.sk-pastille, .elementor .e-con.sk-pastille:has(.elementor-heading-title:not(:empty)) { border-radius: 50%; }
  .elementor .e-con.sk-liaison { display: none !important; }
  /* Vidéos : l'image remplit son cadre */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-cadre-video, .elementor .e-con.sk-cadre-video { padding: 0 !important; overflow: hidden; min-height: 0 !important; }
  .sk-cadre-video .elementor-widget-video, .sk-cadre-video .elementor-wrapper, .sk-cadre-video video { width: 100% !important; }
  .sk-cadre-video video { object-fit: cover; aspect-ratio: 16 / 9; height: auto !important; display: block; }
  /* Avis : pas d'espace vide dans les cartes */
  .elementor .sk-avis > .e-con, .elementor .e-con.sk-avis-carte { min-height: 0 !important; height: auto !important; justify-content: flex-start !important; }
  .sk-avis { grid-auto-rows: auto !important; align-items: start !important; }
  .elementor .e-con.sk-avis-carte { gap: 10px !important; }
  .sk-avis-carte > .elementor-widget-text-editor:first-child { margin: 0 !important; line-height: 1 !important; }
  .sk-video-info .elementor-widget-text-editor *, .sk-video-info .elementor-widget-text-editor { border: 0 !important; }
  /* FAQ et onglets : marges intérieures du contenu déplié */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-n-accordion-item > .e-con, .elementor .e-n-accordion-item > .e-con { padding-left: 16px !important; padding-right: 16px !important; padding-bottom: 16px !important; }
}
@media (max-width: 767px) {
  /* Grilles : chaque carte garde sa propre hauteur (plus de vide avant le bouton) ; espace entre les étapes */
  .elementor .e-con.e-grid { align-items: start !important; }
  .elementor .e-con.e-grid:has(> .e-con.sk-liaison) { gap: 24px !important; row-gap: 24px !important; }
  /* Zones de boutons des cartes : centrées, sans marge imposée */
  .elementor .e-con.sk-actions { margin-top: 8px !important; justify-content: center !important; align-items: center !important; align-self: stretch !important; }
  .sk-actions .elementor-widget-button .elementor-button-wrapper { text-align: center !important; }
  /* Accueil : image du haut entière, détachée du bas de la section */
  .elementor .elementor-element-647d8a2 { padding-bottom: 40px !important; }
  .elementor-element-14f1c15 img { max-width: 92%; margin: 0 auto; display: block; }
  /* Cartes : hauteur selon le contenu ; décor masqué ; lignes icône + texte alignées en haut */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-carte, .elementor .e-con.sk-carte { min-height: 0 !important; }
  .elementor .e-con.sk-decor { display: none !important; }
  .elementor .e-con.sk-ligne-icone { align-items: start !important; }
  .sk-ligne-icone > .e-con:first-child { align-self: start !important; height: auto !important; min-height: 0 !important; aspect-ratio: 1; margin-top: 2px !important; }
  .elementor .e-con.sk-prix-info { --width: auto !important; width: auto !important; }
  /* Visuels composés (cartes superposées) : empilés, sans hauteur imposée */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-vz, .elementor .e-con.sk-vz { min-height: 0 !important; display: flex !important; flex-direction: column !important; gap: 12px !important; padding: 16px !important; }
  .elementor .sk-vz > * { position: static !important; --width: 100% !important; width: 100% !important; transform: none !important; inset: auto !important; margin: 0 !important; }
  .sk-vz .elementor-widget-image img { height: auto !important; aspect-ratio: 3 / 2; object-fit: cover; }
  .elementor .e-con.sk-vz:not(:has(img)) { min-height: 220px !important; justify-content: flex-end !important; }
  /* Cartes centrées : icône, titre, texte, lien */
  .elementor .e-con.sk-carte-centree { align-items: center !important; text-align: center; }
  .sk-carte-centree > .elementor-widget, .sk-carte-centree .elementor-heading-title, .sk-carte-centree .elementor-widget-text-editor { text-align: center !important; }
  /* Texte à côté d'une barre verticale */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-texte-barre, .elementor .e-con.sk-texte-barre { padding-left: 16px !important; }
  .elementor .e-con.sk-video-info { align-items: flex-start !important; text-align: left; }
  .sk-video-info > * { border: 0 !important; text-align: left !important; }
  /* Boutons d'action du haut de page : empilés, pleine largeur */
  .elementor .e-con.sk-boutons { flex-direction: column !important; align-items: stretch !important; gap: 12px !important; }
  .sk-boutons .elementor-widget-button, .sk-boutons .elementor-button { width: 100% !important; }
  .sk-boutons .elementor-button-wrapper, .sk-boutons .elementor-widget-button { text-align: center !important; }
  /* Étapes : cartes, sans flèches */
  .sk-etapes > .elementor-widget-text-editor { display: none !important; }
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .sk-etapes > .e-con, .elementor .sk-etapes > .e-con { background: #fff; border-radius: 16px; padding: 18px 16px !important; gap: 8px !important; }
  .elementor .sk-etapes { gap: 12px !important; }
  /* Étiquettes : en ligne, à la suite */
  .elementor .e-con.sk-etiquettes { flex-direction: row !important; flex-wrap: wrap !important; gap: 8px !important; justify-content: flex-start !important; }
  .sk-etiquettes > * { width: auto !important; margin: 0 !important; position: static !important; transform: none !important; }
  /* Grilles d'icônes : deux colonnes, cartes compactes */
  .elementor .e-con.sk-grille-icones { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .sk-grille-icones > .e-con, .elementor .sk-grille-icones > .e-con { min-height: 0 !important; background: #fff; border-radius: 14px; padding: 16px 12px !important; gap: 8px !important; align-items: center !important; text-align: center; }
  .sk-grille-icones > .e-con > .elementor-widget-text-editor { text-align: center !important; }
  .sk-grille-icones > .e-con > .elementor-widget-text-editor:first-child { font-size: 26px !important; line-height: 1 !important; }
}
/* Boutons : même taille partout (hors en-tête) et effet au survol selon la charte (orange #FF5A37, bleu #0069E6, marine #192850) */
.elementor:not(.elementor-location-header) .elementor-widget-button .elementor-button,
.elementor:not(.elementor-location-header) .elementor-form .elementor-button {
  min-height: 52px; padding: 14px 32px !important; border-radius: 50px !important; border: 2px solid transparent !important;
  font-size: 16px !important; font-weight: 700; line-height: 1.2 !important; letter-spacing: .5px;
  display: inline-flex; align-items: center; justify-content: center; text-align: center;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .1s ease, box-shadow .2s ease;
}
.elementor:not(.elementor-location-header) .elementor-widget-button .elementor-button:active,
.elementor:not(.elementor-location-header) .elementor-form .elementor-button:active { transform: scale(.97); }
.elementor:not(.elementor-location-header) .elementor-widget-button .elementor-button:focus-visible { outline: 3px solid #00EDED; outline-offset: 2px; }
/* Orange -> bleu */
.elementor .sk-btn-orange .elementor-button, .elementor:not(.elementor-location-header) .elementor-form .elementor-button { background-color: #FF5A37 !important; border-color: #FF5A37 !important; color: #FFFFFF !important; }
.elementor .sk-btn-orange .elementor-button:hover, .elementor:not(.elementor-location-header) .elementor-form .elementor-button:hover { background-color: #0069E6 !important; border-color: #0069E6 !important; color: #FFFFFF !important; }
/* Bleu et marine -> orange */
.elementor .sk-btn-bleu .elementor-button { background-color: #0069E6 !important; border-color: #0069E6 !important; color: #FFFFFF !important; }
.elementor .sk-btn-marine .elementor-button { background-color: #192850 !important; border-color: #192850 !important; color: #FFFFFF !important; }
.elementor .sk-btn-bleu .elementor-button:hover, .elementor .sk-btn-marine .elementor-button:hover { background-color: #FF5A37 !important; border-color: #FF5A37 !important; color: #FFFFFF !important; }
/* Contour -> rempli orange */
.elementor .sk-btn-contour .elementor-button { background-color: transparent !important; border-color: currentColor !important; }
.elementor .sk-btn-contour .elementor-button:hover { background-color: #FF5A37 !important; border-color: #FF5A37 !important; color: #FFFFFF !important; }
.elementor .sk-btn-contour .elementor-button:hover .elementor-button-text, .elementor .sk-btn-contour .elementor-button:hover .elementor-button-icon { color: #FFFFFF !important; }
@media (max-width: 767px) {
  .elementor:not(.elementor-location-header) .elementor-widget-button .elementor-button { padding: 14px 24px !important; }
  /* Boutons dans les cartes : centrés */
  .elementor .sk-carte .elementor-widget-button { align-self: center !important; }
  .elementor .sk-carte > .elementor-widget-button { margin-top: 16px !important; }
  .elementor .sk-carte .elementor-widget-button .elementor-button-wrapper { text-align: center !important; }
}
/* Retouches de pages précises sur mobile (Kaptur, Produits) : espacements et boutons secondaires */
/* « Parler à un pilote » (titre-lien à côté d'un bouton) : présenté comme un bouton à contour, partout */
.elementor .sk-actions > .elementor-widget-heading .elementor-heading-title a,
.elementor .sk-actions > .elementor-widget-heading .elementor-heading-title:not(:has(a)) {
  display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 12px 28px; border: 2px solid #192850; border-radius: 50px;
  color: #192850; font-size: 16px !important; font-weight: 700; line-height: 1.2; text-decoration: none; transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .1s ease;
}
.elementor .sk-actions > .elementor-widget-heading .elementor-heading-title a:hover { background-color: #FF5A37; border-color: #FF5A37; color: #FFFFFF; }
.elementor .sk-actions > .elementor-widget-heading .elementor-heading-title a:active { transform: scale(.97); }
@media (max-width: 767px) {
  .elementor .e-con.sk-actions { margin-top: 20px !important; gap: 14px !important; }
  .elementor .sk-actions > .elementor-widget-heading, .elementor .sk-actions > .elementor-widget-heading .elementor-heading-title { width: 100%; text-align: center !important; }
  .elementor .sk-actions > .elementor-widget-heading .elementor-heading-title a { width: 100%; }
  /* Pastille de prix juste avant les boutons : centrée */
  .elementor .e-con > .elementor-widget-text-editor:has(+ .e-con.sk-actions) { align-self: center !important; text-align: center !important; }
  /* Kaptur : téléphone, titre, lien et aperçu du texto espacés ; carte de prix aérée */
  .elementor .elementor-element-81fb18b { gap: 32px !important; row-gap: 32px !important; }
  .elementor .elementor-element-6a39aaa { margin-top: 8px !important; }
  .elementor .elementor-element-46b8265 { margin-bottom: 32px !important; }
  .elementor .elementor-element-ef2ae71 { margin-top: 24px !important; }
  .elementor .elementor-element-551ac8e { gap: 20px !important; row-gap: 20px !important; }
  /* Visuel avec image de fond (ex. « Experts certifiés Google Partner ») : assez haut pour voir l'image */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-vz:not(:has(img)), .elementor .e-con.sk-vz:not(:has(img)) { min-height: 320px !important; background-size: cover !important; background-position: center !important; }
}
/* Fin des règles responsives */
/* Tableaux comparatifs des forfaits sur téléphone : la colonne vide de gauche disparaît, le tableau défile horizontalement */
@media (max-width: 767px) {
  .elementor .e-con:has(> .sk-tableau-defilant), .elementor .e-con:has(> .e-con-inner > .sk-tableau-defilant) { padding-left: 8px !important; padding-right: 8px !important; }
  .elementor .sk-tableau-defilant { overflow-x: auto !important; -webkit-overflow-scrolling: touch; padding-left: 0 !important; padding-right: 0 !important; }
  .sk-tableau-defilant > .e-con, .sk-tableau-defilant > .e-con-inner > .e-con, .sk-tableau-defilant > .elementor-widget, .sk-tableau-defilant > .e-con-inner > .elementor-widget { min-width: 480px !important; }
  .sk-tableau-defilant > .e-con > .e-con:first-child:not(:has(.elementor-widget)) { display: none !important; }
  .elementor .sk-tableau-defilant > .e-con > .e-con { flex: 1 1 0 !important; width: auto !important; min-width: 0 !important; padding-left: 6px !important; padding-right: 6px !important; }
  .sk-tableau-defilant .elementor-button { padding: 12px 10px !important; font-size: 13px !important; letter-spacing: 0 !important; }
}
/* Cartes de forfaits (tablette et mobile), sur le modèle de shortkut.ca : cartes espacées, en-tête centré, caractéristiques alignées en colonnes */
@media (max-width: 1024px) {
  .elementor .sk-prix-grille { row-gap: 32px !important; column-gap: 24px !important; }
  .elementor .e-con.sk-prix-icone { padding: 0 !important; flex: 0 0 auto !important; }
}
@media (max-width: 767px) {
  .elementor .sk-prix-entete, .elementor .sk-prix-entete > .e-con { align-items: center !important; justify-content: center !important; text-align: center; }
  .sk-prix-entete .elementor-heading-title { text-align: center !important; }
  .elementor .e-con.sk-prix-carte { padding-top: 32px !important; padding-bottom: 28px !important; align-items: stretch !important; }
  .sk-prix-carte > .elementor-widget-text-editor, .sk-prix-carte > .elementor-widget-text-editor * { text-align: center !important; }
  .elementor .e-con.sk-prix-termes, .elementor .e-con.sk-prix-nom, .elementor .e-con.sk-prix-montant { width: 100% !important; --width: 100% !important; }
  .sk-prix-carte > .elementor-widget-text-editor:first-child { align-self: center !important; }
  .elementor .sk-prix-nom, .elementor .sk-prix-montant, .elementor .sk-prix-termes { justify-content: center !important; flex-wrap: wrap !important; }
  .sk-prix-montant .elementor-heading-title { font-size: 44px !important; line-height: 1.05 !important; }
  .elementor .e-con.sk-prix-ligne { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; column-gap: 10px !important; align-items: center !important; }
  .elementor .e-con.sk-prix-ligne:has(> :nth-child(3)) { grid-template-columns: 18px minmax(0, 1fr) auto; }
  .sk-prix-ligne > * { width: auto !important; max-width: none !important; margin: 0 !important; }
  .sk-prix-ligne > .elementor-widget-text-editor:last-child { text-align: right; white-space: nowrap; }
  /* Onglets de catégories : tous en haut, empilés */
  .elementor-widget-n-tabs .e-n-tabs-heading { flex-wrap: wrap !important; gap: 8px !important; }
  .elementor-widget-n-tabs .e-n-tabs-heading > .e-n-tab-title { flex: 1 1 100% !important; justify-content: center; }
}
/* Prix harmonisés sur mobile : Logo comme Sites web (centré, grand, « Sur 12 mois » en pastille) ; Boosters web comme Copilotes IA (encadré, montant grand) */
@media (max-width: 767px) {
  .elementor .e-con.sk-prix-logo { display: grid !important; grid-template-columns: auto auto; justify-content: center !important; align-items: baseline !important; column-gap: 6px !important; row-gap: 10px !important; margin: 4px 0 16px !important; width: 100% !important; }
  .elementor .sk-prix-logo > .e-con { display: contents !important; }
  .sk-prix-logo > .elementor-widget-text-editor, .sk-prix-logo > .elementor-widget-text-editor * { font-size: 44px !important; line-height: 1.05 !important; font-weight: 800; margin: 0 !important; }
  .sk-prix-logo .elementor-widget-text-editor:not(:first-child), .sk-prix-logo .elementor-widget-text-editor:not(:first-child) * { font-size: 15px !important; }
  .sk-prix-logo .elementor-widget-heading { grid-column: 1 / -1; justify-self: center; }
  .sk-prix-logo .elementor-widget-heading .elementor-heading-title { display: inline-block; padding: 5px 12px; border-radius: 999px; background: #F4EFE7; font-size: 13px !important; letter-spacing: 1px; }
  .elementor .e-con.sk-prix-barre { padding: 18px 20px !important; gap: 8px !important; align-items: stretch !important; }
  .sk-prix-barre .e-con .e-con .elementor-heading-title { font-size: 40px !important; line-height: 1.05 !important; }
  .sk-prix-barre .e-con .e-con { align-items: baseline !important; gap: 6px !important; flex-wrap: wrap !important; }
  .sk-prix-barre .e-con .e-con .elementor-widget-text-editor, .sk-prix-barre .e-con .e-con .elementor-widget-text-editor * { font-size: 15px !important; }
  .sk-prix-barre > .e-con > .elementor-widget-heading:first-child .elementor-heading-title { font-size: 13px !important; letter-spacing: 1px; }
  .sk-prix-barre .elementor-widget-text-editor, .sk-prix-barre .elementor-widget-text-editor p { font-size: 14px; margin: 0 !important; }
}
/* Blocs récurrents (tablette et mobile) : pastilles d'icônes, cartes centrées, vidéos, avis, FAQ, étapes, étiquettes */
.e-con.sk-pastille .elementor-heading-title, .e-con.sk-pastille p { font-size: 24px !important; line-height: 1 !important; }
@media (max-width: 1024px) {
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-pastille, .elementor .e-con.sk-pastille { --width: 52px !important; width: 52px !important; min-width: 52px; height: 52px; min-height: 52px !important; flex: 0 0 52px !important; padding: 0 !important; justify-content: center !important; align-items: center !important; }
  .elementor .sk-etapes .e-con.sk-pastille, .elementor .e-con.sk-pastille:has(.elementor-heading-title:not(:empty)) { border-radius: 50%; }
  .elementor .e-con.sk-liaison { display: none !important; }
  /* Vidéos : l'image remplit son cadre */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-cadre-video, .elementor .e-con.sk-cadre-video { padding: 0 !important; overflow: hidden; min-height: 0 !important; }
  .sk-cadre-video .elementor-widget-video, .sk-cadre-video .elementor-wrapper, .sk-cadre-video video { width: 100% !important; }
  .sk-cadre-video video { object-fit: cover; aspect-ratio: 16 / 9; height: auto !important; display: block; }
  /* Avis : pas d'espace vide dans les cartes */
  .elementor .sk-avis > .e-con, .elementor .e-con.sk-avis-carte { min-height: 0 !important; height: auto !important; justify-content: flex-start !important; }
  .sk-avis { grid-auto-rows: auto !important; align-items: start !important; }
  .elementor .e-con.sk-avis-carte { gap: 10px !important; }
  .sk-avis-carte > .elementor-widget-text-editor:first-child { margin: 0 !important; line-height: 1 !important; }
  .sk-video-info .elementor-widget-text-editor *, .sk-video-info .elementor-widget-text-editor { border: 0 !important; }
  /* FAQ et onglets : marges intérieures du contenu déplié */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-n-accordion-item > .e-con, .elementor .e-n-accordion-item > .e-con { padding-left: 16px !important; padding-right: 16px !important; padding-bottom: 16px !important; }
}
@media (max-width: 767px) {
  /* Grilles : chaque carte garde sa propre hauteur (plus de vide avant le bouton) ; espace entre les étapes */
  .elementor .e-con.e-grid { align-items: start !important; }
  .elementor .e-con.e-grid:has(> .e-con.sk-liaison) { gap: 24px !important; row-gap: 24px !important; }
  /* Zones de boutons des cartes : centrées, sans marge imposée */
  .elementor .e-con.sk-actions { margin-top: 8px !important; justify-content: center !important; align-items: center !important; align-self: stretch !important; }
  .sk-actions .elementor-widget-button .elementor-button-wrapper { text-align: center !important; }
  /* Accueil : image du haut entière, détachée du bas de la section */
  .elementor .elementor-element-647d8a2 { padding-bottom: 40px !important; }
  .elementor-element-14f1c15 img { max-width: 92%; margin: 0 auto; display: block; }
  /* Cartes : hauteur selon le contenu ; décor masqué ; lignes icône + texte alignées en haut */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-carte, .elementor .e-con.sk-carte { min-height: 0 !important; }
  .elementor .e-con.sk-decor { display: none !important; }
  .elementor .e-con.sk-ligne-icone { align-items: start !important; }
  .sk-ligne-icone > .e-con:first-child { align-self: start !important; height: auto !important; min-height: 0 !important; aspect-ratio: 1; margin-top: 2px !important; }
  .elementor .e-con.sk-prix-info { --width: auto !important; width: auto !important; }
  /* Visuels composés (cartes superposées) : empilés, sans hauteur imposée */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-vz, .elementor .e-con.sk-vz { min-height: 0 !important; display: flex !important; flex-direction: column !important; gap: 12px !important; padding: 16px !important; }
  .elementor .sk-vz > * { position: static !important; --width: 100% !important; width: 100% !important; transform: none !important; inset: auto !important; margin: 0 !important; }
  .sk-vz .elementor-widget-image img { height: auto !important; aspect-ratio: 3 / 2; object-fit: cover; }
  .elementor .e-con.sk-vz:not(:has(img)) { min-height: 220px !important; justify-content: flex-end !important; }
  /* Cartes centrées : icône, titre, texte, lien */
  .elementor .e-con.sk-carte-centree { align-items: center !important; text-align: center; }
  .sk-carte-centree > .elementor-widget, .sk-carte-centree .elementor-heading-title, .sk-carte-centree .elementor-widget-text-editor { text-align: center !important; }
  /* Texte à côté d'une barre verticale */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-texte-barre, .elementor .e-con.sk-texte-barre { padding-left: 16px !important; }
  .elementor .e-con.sk-video-info { align-items: flex-start !important; text-align: left; }
  .sk-video-info > * { border: 0 !important; text-align: left !important; }
  /* Boutons d'action du haut de page : empilés, pleine largeur */
  .elementor .e-con.sk-boutons { flex-direction: column !important; align-items: stretch !important; gap: 12px !important; }
  .sk-boutons .elementor-widget-button, .sk-boutons .elementor-button { width: 100% !important; }
  .sk-boutons .elementor-button-wrapper, .sk-boutons .elementor-widget-button { text-align: center !important; }
  /* Étapes : cartes, sans flèches */
  .sk-etapes > .elementor-widget-text-editor { display: none !important; }
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .sk-etapes > .e-con, .elementor .sk-etapes > .e-con { background: #fff; border-radius: 16px; padding: 18px 16px !important; gap: 8px !important; }
  .elementor .sk-etapes { gap: 12px !important; }
  /* Étiquettes : en ligne, à la suite */
  .elementor .e-con.sk-etiquettes { flex-direction: row !important; flex-wrap: wrap !important; gap: 8px !important; justify-content: flex-start !important; }
  .sk-etiquettes > * { width: auto !important; margin: 0 !important; position: static !important; transform: none !important; }
  /* Grilles d'icônes : deux colonnes, cartes compactes */
  .elementor .e-con.sk-grille-icones { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .sk-grille-icones > .e-con, .elementor .sk-grille-icones > .e-con { min-height: 0 !important; background: #fff; border-radius: 14px; padding: 16px 12px !important; gap: 8px !important; align-items: center !important; text-align: center; }
  .sk-grille-icones > .e-con > .elementor-widget-text-editor { text-align: center !important; }
  .sk-grille-icones > .e-con > .elementor-widget-text-editor:first-child { font-size: 26px !important; line-height: 1 !important; }
}
/* Boutons : même taille partout (hors en-tête) et effet au survol selon la charte (orange #FF5A37, bleu #0069E6, marine #192850) */
.elementor:not(.elementor-location-header) .elementor-widget-button .elementor-button,
.elementor:not(.elementor-location-header) .elementor-form .elementor-button {
  min-height: 52px; padding: 14px 32px !important; border-radius: 50px !important; border: 2px solid transparent !important;
  font-size: 16px !important; font-weight: 700; line-height: 1.2 !important; letter-spacing: .5px;
  display: inline-flex; align-items: center; justify-content: center; text-align: center;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .1s ease, box-shadow .2s ease;
}
.elementor:not(.elementor-location-header) .elementor-widget-button .elementor-button:active,
.elementor:not(.elementor-location-header) .elementor-form .elementor-button:active { transform: scale(.97); }
.elementor:not(.elementor-location-header) .elementor-widget-button .elementor-button:focus-visible { outline: 3px solid #00EDED; outline-offset: 2px; }
/* Orange -> bleu */
.elementor .sk-btn-orange .elementor-button, .elementor:not(.elementor-location-header) .elementor-form .elementor-button { background-color: #FF5A37 !important; border-color: #FF5A37 !important; color: #FFFFFF !important; }
.elementor .sk-btn-orange .elementor-button:hover, .elementor:not(.elementor-location-header) .elementor-form .elementor-button:hover { background-color: #0069E6 !important; border-color: #0069E6 !important; color: #FFFFFF !important; }
/* Bleu et marine -> orange */
.elementor .sk-btn-bleu .elementor-button { background-color: #0069E6 !important; border-color: #0069E6 !important; color: #FFFFFF !important; }
.elementor .sk-btn-marine .elementor-button { background-color: #192850 !important; border-color: #192850 !important; color: #FFFFFF !important; }
.elementor .sk-btn-bleu .elementor-button:hover, .elementor .sk-btn-marine .elementor-button:hover { background-color: #FF5A37 !important; border-color: #FF5A37 !important; color: #FFFFFF !important; }
/* Contour -> rempli orange */
.elementor .sk-btn-contour .elementor-button { background-color: transparent !important; border-color: currentColor !important; }
.elementor .sk-btn-contour .elementor-button:hover { background-color: #FF5A37 !important; border-color: #FF5A37 !important; color: #FFFFFF !important; }
.elementor .sk-btn-contour .elementor-button:hover .elementor-button-text, .elementor .sk-btn-contour .elementor-button:hover .elementor-button-icon { color: #FFFFFF !important; }
@media (max-width: 767px) {
  .elementor:not(.elementor-location-header) .elementor-widget-button .elementor-button { padding: 14px 24px !important; }
  /* Boutons dans les cartes : centrés */
  .elementor .sk-carte .elementor-widget-button { align-self: center !important; }
  .elementor .sk-carte > .elementor-widget-button { margin-top: 16px !important; }
  .elementor .sk-carte .elementor-widget-button .elementor-button-wrapper { text-align: center !important; }
}
/* Retouches de pages précises sur mobile (Kaptur, Produits) : espacements et boutons secondaires */
/* « Parler à un pilote » (titre-lien à côté d'un bouton) : présenté comme un bouton à contour, partout */
.elementor .sk-actions > .elementor-widget-heading .elementor-heading-title a,
.elementor .sk-actions > .elementor-widget-heading .elementor-heading-title:not(:has(a)) {
  display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 12px 28px; border: 2px solid #192850; border-radius: 50px;
  color: #192850; font-size: 16px !important; font-weight: 700; line-height: 1.2; text-decoration: none; transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .1s ease;
}
.elementor .sk-actions > .elementor-widget-heading .elementor-heading-title a:hover { background-color: #FF5A37; border-color: #FF5A37; color: #FFFFFF; }
.elementor .sk-actions > .elementor-widget-heading .elementor-heading-title a:active { transform: scale(.97); }
@media (max-width: 767px) {
  .elementor .e-con.sk-actions { margin-top: 20px !important; gap: 14px !important; }
  .elementor .sk-actions > .elementor-widget-heading, .elementor .sk-actions > .elementor-widget-heading .elementor-heading-title { width: 100%; text-align: center !important; }
  .elementor .sk-actions > .elementor-widget-heading .elementor-heading-title a { width: 100%; }
  /* Pastille de prix juste avant les boutons : centrée */
  .elementor .e-con > .elementor-widget-text-editor:has(+ .e-con.sk-actions) { align-self: center !important; text-align: center !important; }
  /* Kaptur : téléphone, titre, lien et aperçu du texto espacés ; carte de prix aérée */
  .elementor .elementor-element-81fb18b { gap: 32px !important; row-gap: 32px !important; }
  .elementor .elementor-element-6a39aaa { margin-top: 8px !important; }
  .elementor .elementor-element-46b8265 { margin-bottom: 32px !important; }
  .elementor .elementor-element-ef2ae71 { margin-top: 24px !important; }
  .elementor .elementor-element-551ac8e { gap: 20px !important; row-gap: 20px !important; }
  /* Visuel avec image de fond (ex. « Experts certifiés Google Partner ») : assez haut pour voir l'image */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-vz:not(:has(img)), .elementor .e-con.sk-vz:not(:has(img)) { min-height: 320px !important; background-size: cover !important; background-position: center !important; }
}
/* Fin des règles responsives */
/* Tableaux comparatifs des forfaits sur téléphone : la colonne vide de gauche disparaît, le tableau défile horizontalement */
@media (max-width: 767px) {
  .elementor .e-con:has(> .sk-tableau-defilant), .elementor .e-con:has(> .e-con-inner > .sk-tableau-defilant) { padding-left: 8px !important; padding-right: 8px !important; }
  .elementor .sk-tableau-defilant { overflow-x: auto !important; -webkit-overflow-scrolling: touch; padding-left: 0 !important; padding-right: 0 !important; }
  .sk-tableau-defilant > .e-con, .sk-tableau-defilant > .e-con-inner > .e-con, .sk-tableau-defilant > .elementor-widget, .sk-tableau-defilant > .e-con-inner > .elementor-widget { min-width: 480px !important; }
  .sk-tableau-defilant > .e-con > .e-con:first-child:not(:has(.elementor-widget)) { display: none !important; }
  .elementor .sk-tableau-defilant > .e-con > .e-con { flex: 1 1 0 !important; width: auto !important; min-width: 0 !important; padding-left: 6px !important; padding-right: 6px !important; }
  .sk-tableau-defilant .elementor-button { padding: 12px 10px !important; font-size: 13px !important; letter-spacing: 0 !important; }
}
/* Cartes de forfaits (tablette et mobile), sur le modèle de shortkut.ca : cartes espacées, en-tête centré, caractéristiques alignées en colonnes */
@media (max-width: 1024px) {
  .elementor .sk-prix-grille { row-gap: 32px !important; column-gap: 24px !important; }
  .elementor .e-con.sk-prix-icone { padding: 0 !important; flex: 0 0 auto !important; }
}
@media (max-width: 767px) {
  .elementor .sk-prix-entete, .elementor .sk-prix-entete > .e-con { align-items: center !important; justify-content: center !important; text-align: center; }
  .sk-prix-entete .elementor-heading-title { text-align: center !important; }
  .elementor .e-con.sk-prix-carte { padding-top: 32px !important; padding-bottom: 28px !important; align-items: stretch !important; }
  .sk-prix-carte > .elementor-widget-text-editor, .sk-prix-carte > .elementor-widget-text-editor * { text-align: center !important; }
  .elementor .e-con.sk-prix-termes, .elementor .e-con.sk-prix-nom, .elementor .e-con.sk-prix-montant { width: 100% !important; --width: 100% !important; }
  .sk-prix-carte > .elementor-widget-text-editor:first-child { align-self: center !important; }
  .elementor .sk-prix-nom, .elementor .sk-prix-montant, .elementor .sk-prix-termes { justify-content: center !important; flex-wrap: wrap !important; }
  .sk-prix-montant .elementor-heading-title { font-size: 44px !important; line-height: 1.05 !important; }
  .elementor .e-con.sk-prix-ligne { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; column-gap: 10px !important; align-items: center !important; }
  .elementor .e-con.sk-prix-ligne:has(> :nth-child(3)) { grid-template-columns: 18px minmax(0, 1fr) auto; }
  .sk-prix-ligne > * { width: auto !important; max-width: none !important; margin: 0 !important; }
  .sk-prix-ligne > .elementor-widget-text-editor:last-child { text-align: right; white-space: nowrap; }
  /* Onglets de catégories : tous en haut, empilés */
  .elementor-widget-n-tabs .e-n-tabs-heading { flex-wrap: wrap !important; gap: 8px !important; }
  .elementor-widget-n-tabs .e-n-tabs-heading > .e-n-tab-title { flex: 1 1 100% !important; justify-content: center; }
}
/* Prix harmonisés sur mobile : Logo comme Sites web (centré, grand, « Sur 12 mois » en pastille) ; Boosters web comme Copilotes IA (encadré, montant grand) */
@media (max-width: 767px) {
  .elementor .e-con.sk-prix-logo { display: grid !important; grid-template-columns: auto auto; justify-content: center !important; align-items: baseline !important; column-gap: 6px !important; row-gap: 10px !important; margin: 4px 0 16px !important; width: 100% !important; }
  .elementor .sk-prix-logo > .e-con { display: contents !important; }
  .sk-prix-logo > .elementor-widget-text-editor, .sk-prix-logo > .elementor-widget-text-editor * { font-size: 44px !important; line-height: 1.05 !important; font-weight: 800; margin: 0 !important; }
  .sk-prix-logo .elementor-widget-text-editor:not(:first-child), .sk-prix-logo .elementor-widget-text-editor:not(:first-child) * { font-size: 15px !important; }
  .sk-prix-logo .elementor-widget-heading { grid-column: 1 / -1; justify-self: center; }
  .sk-prix-logo .elementor-widget-heading .elementor-heading-title { display: inline-block; padding: 5px 12px; border-radius: 999px; background: #F4EFE7; font-size: 13px !important; letter-spacing: 1px; }
  .elementor .e-con.sk-prix-barre { padding: 18px 20px !important; gap: 8px !important; align-items: stretch !important; }
  .sk-prix-barre .e-con .e-con .elementor-heading-title { font-size: 40px !important; line-height: 1.05 !important; }
  .sk-prix-barre .e-con .e-con { align-items: baseline !important; gap: 6px !important; flex-wrap: wrap !important; }
  .sk-prix-barre .e-con .e-con .elementor-widget-text-editor, .sk-prix-barre .e-con .e-con .elementor-widget-text-editor * { font-size: 15px !important; }
  .sk-prix-barre > .e-con > .elementor-widget-heading:first-child .elementor-heading-title { font-size: 13px !important; letter-spacing: 1px; }
  .sk-prix-barre .elementor-widget-text-editor, .sk-prix-barre .elementor-widget-text-editor p { font-size: 14px; margin: 0 !important; }
  .sk-prix-barre .e-con > .elementor-widget-text-editor, .sk-prix-barre .e-con > .elementor-widget-text-editor * { text-transform: none !important; font-weight: 400 !important; letter-spacing: 0 !important; font-size: 14px !important; }
}
/* Blocs récurrents (tablette et mobile) : pastilles d'icônes, cartes centrées, vidéos, avis, FAQ, étapes, étiquettes */
.e-con.sk-pastille .elementor-heading-title, .e-con.sk-pastille p { font-size: 24px !important; line-height: 1 !important; }
@media (max-width: 1024px) {
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-pastille, .elementor .e-con.sk-pastille { --width: 52px !important; width: 52px !important; min-width: 52px; height: 52px; min-height: 52px !important; flex: 0 0 52px !important; padding: 0 !important; justify-content: center !important; align-items: center !important; }
  .elementor .sk-etapes .e-con.sk-pastille, .elementor .e-con.sk-pastille:has(.elementor-heading-title:not(:empty)) { border-radius: 50%; }
  .elementor .e-con.sk-liaison { display: none !important; }
  /* Vidéos : l'image remplit son cadre */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-cadre-video, .elementor .e-con.sk-cadre-video { padding: 0 !important; overflow: hidden; min-height: 0 !important; }
  .sk-cadre-video .elementor-widget-video, .sk-cadre-video .elementor-wrapper, .sk-cadre-video video { width: 100% !important; }
  .sk-cadre-video video { object-fit: cover; aspect-ratio: 16 / 9; height: auto !important; display: block; }
  /* Avis : pas d'espace vide dans les cartes */
  .elementor .sk-avis > .e-con, .elementor .e-con.sk-avis-carte { min-height: 0 !important; height: auto !important; justify-content: flex-start !important; }
  .sk-avis { grid-auto-rows: auto !important; align-items: start !important; }
  .elementor .e-con.sk-avis-carte { gap: 10px !important; }
  .sk-avis-carte > .elementor-widget-text-editor:first-child { margin: 0 !important; line-height: 1 !important; }
  .sk-video-info .elementor-widget-text-editor *, .sk-video-info .elementor-widget-text-editor { border: 0 !important; }
  /* FAQ et onglets : marges intérieures du contenu déplié */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-n-accordion-item > .e-con, .elementor .e-n-accordion-item > .e-con { padding-left: 16px !important; padding-right: 16px !important; padding-bottom: 16px !important; }
}
@media (max-width: 767px) {
  /* Grilles : chaque carte garde sa propre hauteur (plus de vide avant le bouton) ; espace entre les étapes */
  .elementor .e-con.e-grid { align-items: start !important; }
  .elementor .e-con.e-grid:has(> .e-con.sk-liaison) { gap: 24px !important; row-gap: 24px !important; }
  /* Zones de boutons des cartes : centrées, sans marge imposée */
  .elementor .e-con.sk-actions { margin-top: 8px !important; justify-content: center !important; align-items: center !important; align-self: stretch !important; }
  .sk-actions .elementor-widget-button .elementor-button-wrapper { text-align: center !important; }
  /* Accueil : image du haut entière, détachée du bas de la section */
  .elementor .elementor-element-647d8a2 { padding-bottom: 40px !important; }
  .elementor-element-14f1c15 img { max-width: 92%; margin: 0 auto; display: block; }
  /* Cartes : hauteur selon le contenu ; décor masqué ; lignes icône + texte alignées en haut */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-carte, .elementor .e-con.sk-carte { min-height: 0 !important; }
  .elementor .e-con.sk-decor { display: none !important; }
  .elementor .e-con.sk-ligne-icone { align-items: start !important; }
  .sk-ligne-icone > .e-con:first-child { align-self: start !important; height: auto !important; min-height: 0 !important; aspect-ratio: 1; margin-top: 2px !important; }
  .elementor .e-con.sk-prix-info { --width: auto !important; width: auto !important; }
  /* Visuels composés (cartes superposées) : empilés, sans hauteur imposée */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-vz, .elementor .e-con.sk-vz { min-height: 0 !important; display: flex !important; flex-direction: column !important; gap: 12px !important; padding: 16px !important; }
  .elementor .sk-vz > * { position: static !important; --width: 100% !important; width: 100% !important; transform: none !important; inset: auto !important; margin: 0 !important; }
  .sk-vz .elementor-widget-image img { height: auto !important; aspect-ratio: 3 / 2; object-fit: cover; }
  .elementor .e-con.sk-vz:not(:has(img)) { min-height: 220px !important; justify-content: flex-end !important; }
  /* Cartes centrées : icône, titre, texte, lien */
  .elementor .e-con.sk-carte-centree { align-items: center !important; text-align: center; }
  .sk-carte-centree > .elementor-widget, .sk-carte-centree .elementor-heading-title, .sk-carte-centree .elementor-widget-text-editor { text-align: center !important; }
  /* Texte à côté d'une barre verticale */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-texte-barre, .elementor .e-con.sk-texte-barre { padding-left: 16px !important; }
  .elementor .e-con.sk-video-info { align-items: flex-start !important; text-align: left; }
  .sk-video-info > * { border: 0 !important; text-align: left !important; }
  /* Boutons d'action du haut de page : empilés, pleine largeur */
  .elementor .e-con.sk-boutons { flex-direction: column !important; align-items: stretch !important; gap: 12px !important; }
  .sk-boutons .elementor-widget-button, .sk-boutons .elementor-button { width: 100% !important; }
  .sk-boutons .elementor-button-wrapper, .sk-boutons .elementor-widget-button { text-align: center !important; }
  /* Étapes : cartes, sans flèches */
  .sk-etapes > .elementor-widget-text-editor { display: none !important; }
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .sk-etapes > .e-con, .elementor .sk-etapes > .e-con { background: #fff; border-radius: 16px; padding: 18px 16px !important; gap: 8px !important; }
  .elementor .sk-etapes { gap: 12px !important; }
  /* Étiquettes : en ligne, à la suite */
  .elementor .e-con.sk-etiquettes { flex-direction: row !important; flex-wrap: wrap !important; gap: 8px !important; justify-content: flex-start !important; }
  .sk-etiquettes > * { width: auto !important; margin: 0 !important; position: static !important; transform: none !important; }
  /* Grilles d'icônes : deux colonnes, cartes compactes */
  .elementor .e-con.sk-grille-icones { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .sk-grille-icones > .e-con, .elementor .sk-grille-icones > .e-con { min-height: 0 !important; background: #fff; border-radius: 14px; padding: 16px 12px !important; gap: 8px !important; align-items: center !important; text-align: center; }
  .sk-grille-icones > .e-con > .elementor-widget-text-editor { text-align: center !important; }
  .sk-grille-icones > .e-con > .elementor-widget-text-editor:first-child { font-size: 26px !important; line-height: 1 !important; }
}
/* Boutons : même taille partout (hors en-tête) et effet au survol selon la charte (orange #FF5A37, bleu #0069E6, marine #192850) */
.elementor:not(.elementor-location-header) .elementor-widget-button .elementor-button,
.elementor:not(.elementor-location-header) .elementor-form .elementor-button {
  min-height: 52px; padding: 14px 32px !important; border-radius: 50px !important; border: 2px solid transparent !important;
  font-size: 16px !important; font-weight: 700; line-height: 1.2 !important; letter-spacing: .5px;
  display: inline-flex; align-items: center; justify-content: center; text-align: center;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .1s ease, box-shadow .2s ease;
}
.elementor:not(.elementor-location-header) .elementor-widget-button .elementor-button:active,
.elementor:not(.elementor-location-header) .elementor-form .elementor-button:active { transform: scale(.97); }
.elementor:not(.elementor-location-header) .elementor-widget-button .elementor-button:focus-visible { outline: 3px solid #00EDED; outline-offset: 2px; }
/* Orange -> bleu */
.elementor .sk-btn-orange .elementor-button, .elementor:not(.elementor-location-header) .elementor-form .elementor-button { background-color: #FF5A37 !important; border-color: #FF5A37 !important; color: #FFFFFF !important; }
.elementor .sk-btn-orange .elementor-button:hover, .elementor:not(.elementor-location-header) .elementor-form .elementor-button:hover { background-color: #0069E6 !important; border-color: #0069E6 !important; color: #FFFFFF !important; }
/* Bleu et marine -> orange */
.elementor .sk-btn-bleu .elementor-button { background-color: #0069E6 !important; border-color: #0069E6 !important; color: #FFFFFF !important; }
.elementor .sk-btn-marine .elementor-button { background-color: #192850 !important; border-color: #192850 !important; color: #FFFFFF !important; }
.elementor .sk-btn-bleu .elementor-button:hover, .elementor .sk-btn-marine .elementor-button:hover { background-color: #FF5A37 !important; border-color: #FF5A37 !important; color: #FFFFFF !important; }
/* Contour -> rempli orange */
.elementor .sk-btn-contour .elementor-button { background-color: transparent !important; border-color: currentColor !important; }
.elementor .sk-btn-contour .elementor-button:hover { background-color: #FF5A37 !important; border-color: #FF5A37 !important; color: #FFFFFF !important; }
.elementor .sk-btn-contour .elementor-button:hover .elementor-button-text, .elementor .sk-btn-contour .elementor-button:hover .elementor-button-icon { color: #FFFFFF !important; }
@media (max-width: 767px) {
  .elementor:not(.elementor-location-header) .elementor-widget-button .elementor-button { padding: 14px 24px !important; }
  /* Boutons dans les cartes : centrés */
  .elementor .sk-carte .elementor-widget-button { align-self: center !important; }
  .elementor .sk-carte > .elementor-widget-button { margin-top: 16px !important; }
  .elementor .sk-carte .elementor-widget-button .elementor-button-wrapper { text-align: center !important; }
}
/* Retouches de pages précises sur mobile (Kaptur, Produits) : espacements et boutons secondaires */
/* « Parler à un pilote » (titre-lien à côté d'un bouton) : présenté comme un bouton à contour, partout */
.elementor .sk-actions > .elementor-widget-heading .elementor-heading-title a,
.elementor .sk-actions > .elementor-widget-heading .elementor-heading-title:not(:has(a)) {
  display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 12px 28px; border: 2px solid #192850; border-radius: 50px;
  color: #192850; font-size: 16px !important; font-weight: 700; line-height: 1.2; text-decoration: none; transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .1s ease;
}
.elementor .sk-actions > .elementor-widget-heading .elementor-heading-title a:hover { background-color: #FF5A37; border-color: #FF5A37; color: #FFFFFF; }
.elementor .sk-actions > .elementor-widget-heading .elementor-heading-title a:active { transform: scale(.97); }
@media (max-width: 767px) {
  .elementor .e-con.sk-actions { margin-top: 20px !important; gap: 14px !important; }
  .elementor .sk-actions > .elementor-widget-heading, .elementor .sk-actions > .elementor-widget-heading .elementor-heading-title { width: 100%; text-align: center !important; }
  .elementor .sk-actions > .elementor-widget-heading .elementor-heading-title a { width: 100%; }
  /* Pastille de prix juste avant les boutons : centrée */
  .elementor .e-con > .elementor-widget-text-editor:has(+ .e-con.sk-actions) { align-self: center !important; text-align: center !important; }
  /* Kaptur : téléphone, titre, lien et aperçu du texto espacés ; carte de prix aérée */
  .elementor .elementor-element-81fb18b { gap: 32px !important; row-gap: 32px !important; }
  .elementor .elementor-element-6a39aaa { margin-top: 8px !important; }
  .elementor .elementor-element-46b8265 { margin-bottom: 32px !important; }
  .elementor .elementor-element-ef2ae71 { margin-top: 24px !important; }
  .elementor .elementor-element-551ac8e { gap: 20px !important; row-gap: 20px !important; }
  /* Visuel avec image de fond (ex. « Experts certifiés Google Partner ») : assez haut pour voir l'image */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-vz:not(:has(img)), .elementor .e-con.sk-vz:not(:has(img)) { min-height: 320px !important; background-size: cover !important; background-position: center !important; }
}
/* Fin des règles responsives */
/* Tableaux comparatifs des forfaits sur téléphone : la colonne vide de gauche disparaît, le tableau défile horizontalement */
@media (max-width: 767px) {
  .elementor .e-con:has(> .sk-tableau-defilant), .elementor .e-con:has(> .e-con-inner > .sk-tableau-defilant) { padding-left: 8px !important; padding-right: 8px !important; }
  .elementor .sk-tableau-defilant { overflow-x: auto !important; -webkit-overflow-scrolling: touch; padding-left: 0 !important; padding-right: 0 !important; }
  .sk-tableau-defilant > .e-con, .sk-tableau-defilant > .e-con-inner > .e-con, .sk-tableau-defilant > .elementor-widget, .sk-tableau-defilant > .e-con-inner > .elementor-widget { min-width: 480px !important; }
  .sk-tableau-defilant > .e-con > .e-con:first-child:not(:has(.elementor-widget)) { display: none !important; }
  .elementor .sk-tableau-defilant > .e-con > .e-con { flex: 1 1 0 !important; width: auto !important; min-width: 0 !important; padding-left: 6px !important; padding-right: 6px !important; }
  .sk-tableau-defilant .elementor-button { padding: 12px 10px !important; font-size: 13px !important; letter-spacing: 0 !important; }
}
/* Cartes de forfaits (tablette et mobile), sur le modèle de shortkut.ca : cartes espacées, en-tête centré, caractéristiques alignées en colonnes */
@media (max-width: 1024px) {
  .elementor .sk-prix-grille { row-gap: 32px !important; column-gap: 24px !important; }
  .elementor .e-con.sk-prix-icone { padding: 0 !important; flex: 0 0 auto !important; }
}
@media (max-width: 767px) {
  .elementor .sk-prix-entete, .elementor .sk-prix-entete > .e-con { align-items: center !important; justify-content: center !important; text-align: center; }
  .sk-prix-entete .elementor-heading-title { text-align: center !important; }
  .elementor .e-con.sk-prix-carte { padding-top: 32px !important; padding-bottom: 28px !important; align-items: stretch !important; }
  .sk-prix-carte > .elementor-widget-text-editor, .sk-prix-carte > .elementor-widget-text-editor * { text-align: center !important; }
  .elementor .e-con.sk-prix-termes, .elementor .e-con.sk-prix-nom, .elementor .e-con.sk-prix-montant { width: 100% !important; --width: 100% !important; }
  .sk-prix-carte > .elementor-widget-text-editor:first-child { align-self: center !important; }
  .elementor .sk-prix-nom, .elementor .sk-prix-montant, .elementor .sk-prix-termes { justify-content: center !important; flex-wrap: wrap !important; }
  .sk-prix-montant .elementor-heading-title { font-size: 44px !important; line-height: 1.05 !important; }
  .elementor .e-con.sk-prix-ligne { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; column-gap: 10px !important; align-items: center !important; }
  .elementor .e-con.sk-prix-ligne:has(> :nth-child(3)) { grid-template-columns: 18px minmax(0, 1fr) auto; }
  .sk-prix-ligne > * { width: auto !important; max-width: none !important; margin: 0 !important; }
  .sk-prix-ligne > .elementor-widget-text-editor:last-child { text-align: right; white-space: nowrap; }
  /* Onglets de catégories : tous en haut, empilés */
  .elementor-widget-n-tabs .e-n-tabs-heading { flex-wrap: wrap !important; gap: 8px !important; }
  .elementor-widget-n-tabs .e-n-tabs-heading > .e-n-tab-title { flex: 1 1 100% !important; justify-content: center; }
}
/* Prix harmonisés sur mobile : Logo comme Sites web (centré, grand, « Sur 12 mois » en pastille) ; Boosters web comme Copilotes IA (encadré, montant grand) */
@media (max-width: 767px) {
  .elementor .e-con.sk-prix-logo { display: grid !important; grid-template-columns: auto auto; justify-content: center !important; align-items: baseline !important; column-gap: 6px !important; row-gap: 10px !important; margin: 4px 0 16px !important; width: 100% !important; }
  .elementor .sk-prix-logo > .e-con { display: contents !important; }
  .sk-prix-logo > .elementor-widget-text-editor, .sk-prix-logo > .elementor-widget-text-editor * { font-size: 44px !important; line-height: 1.05 !important; font-weight: 800; margin: 0 !important; }
  .sk-prix-logo .elementor-widget-text-editor:not(:first-child), .sk-prix-logo .elementor-widget-text-editor:not(:first-child) * { font-size: 15px !important; }
  .sk-prix-logo .elementor-widget-heading { grid-column: 1 / -1; justify-self: center; }
  .sk-prix-logo .elementor-widget-heading .elementor-heading-title { display: inline-block; padding: 5px 12px; border-radius: 999px; background: #F4EFE7; font-size: 13px !important; letter-spacing: 1px; }
  .elementor .e-con.sk-prix-barre { padding: 18px 20px !important; gap: 8px !important; align-items: stretch !important; }
  .sk-prix-barre .e-con .e-con .elementor-heading-title { font-size: 40px !important; line-height: 1.05 !important; }
  .sk-prix-barre .e-con .e-con { align-items: baseline !important; gap: 6px !important; flex-wrap: wrap !important; }
  .sk-prix-barre .e-con .e-con .elementor-widget-text-editor, .sk-prix-barre .e-con .e-con .elementor-widget-text-editor * { font-size: 15px !important; }
  .sk-prix-barre > .e-con > .elementor-widget-heading:first-child .elementor-heading-title { font-size: 13px !important; letter-spacing: 1px; }
  .sk-prix-barre .elementor-widget-text-editor, .sk-prix-barre .elementor-widget-text-editor p { font-size: 14px; margin: 0 !important; }
  .sk-prix-barre .e-con > .elementor-widget-text-editor, .sk-prix-barre .e-con > .elementor-widget-text-editor * { text-transform: none !important; font-weight: 400 !important; letter-spacing: 0 !important; font-size: 14px !important; }
}
/* Blocs récurrents (tablette et mobile) : pastilles d'icônes, cartes centrées, vidéos, avis, FAQ, étapes, étiquettes */
.e-con.sk-pastille .elementor-heading-title, .e-con.sk-pastille p { font-size: 24px !important; line-height: 1 !important; }
@media (max-width: 1024px) {
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-pastille, .elementor .e-con.sk-pastille { --width: 52px !important; width: 52px !important; min-width: 52px; height: 52px; min-height: 52px !important; flex: 0 0 52px !important; padding: 0 !important; justify-content: center !important; align-items: center !important; }
  .elementor .sk-etapes .e-con.sk-pastille, .elementor .e-con.sk-pastille:has(.elementor-heading-title:not(:empty)) { border-radius: 50%; }
  .elementor .e-con.sk-liaison { display: none !important; }
  /* Vidéos : l'image remplit son cadre */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-cadre-video, .elementor .e-con.sk-cadre-video { padding: 0 !important; overflow: hidden; min-height: 0 !important; }
  .sk-cadre-video .elementor-widget-video, .sk-cadre-video .elementor-wrapper, .sk-cadre-video video { width: 100% !important; }
  .sk-cadre-video video { object-fit: cover; aspect-ratio: 16 / 9; height: auto !important; display: block; }
  /* Avis : pas d'espace vide dans les cartes */
  .elementor .sk-avis > .e-con, .elementor .e-con.sk-avis-carte { min-height: 0 !important; height: auto !important; justify-content: flex-start !important; }
  .sk-avis { grid-auto-rows: auto !important; align-items: start !important; }
  .elementor .e-con.sk-avis-carte { gap: 10px !important; }
  .sk-avis-carte > .elementor-widget-text-editor:first-child { margin: 0 !important; line-height: 1 !important; }
  .sk-video-info .elementor-widget-text-editor *, .sk-video-info .elementor-widget-text-editor { border: 0 !important; }
  /* FAQ et onglets : marges intérieures du contenu déplié */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-n-accordion-item > .e-con, .elementor .e-n-accordion-item > .e-con { padding-left: 16px !important; padding-right: 16px !important; padding-bottom: 16px !important; }
}
@media (max-width: 767px) {
  /* Grilles : chaque carte garde sa propre hauteur (plus de vide avant le bouton) ; espace entre les étapes */
  .elementor .e-con.e-grid { align-items: start !important; }
  .elementor .e-con.e-grid:has(> .e-con.sk-liaison) { gap: 24px !important; row-gap: 24px !important; }
  /* Zones de boutons des cartes : centrées, sans marge imposée */
  .elementor .e-con.sk-actions { margin-top: 8px !important; justify-content: center !important; align-items: center !important; align-self: stretch !important; }
  .sk-actions .elementor-widget-button .elementor-button-wrapper { text-align: center !important; }
  /* Accueil : image du haut entière, détachée du bas de la section */
  .elementor .elementor-element-647d8a2 { padding-bottom: 40px !important; }
  .elementor-element-14f1c15 img { max-width: 92%; margin: 0 auto; display: block; }
  /* Cartes : hauteur selon le contenu ; décor masqué ; lignes icône + texte alignées en haut */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-carte, .elementor .e-con.sk-carte { min-height: 0 !important; }
  .elementor .e-con.sk-decor { display: none !important; }
  .elementor .e-con.sk-ligne-icone { align-items: start !important; }
  .sk-ligne-icone > .e-con:first-child { align-self: start !important; height: auto !important; min-height: 0 !important; aspect-ratio: 1; margin-top: 2px !important; }
  .elementor .e-con.sk-prix-info { --width: auto !important; width: auto !important; }
  /* Visuels composés (cartes superposées) : empilés, sans hauteur imposée */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-vz, .elementor .e-con.sk-vz { min-height: 0 !important; display: flex !important; flex-direction: column !important; gap: 12px !important; padding: 16px !important; }
  .elementor .sk-vz > * { position: static !important; --width: 100% !important; width: 100% !important; transform: none !important; inset: auto !important; margin: 0 !important; }
  .sk-vz .elementor-widget-image img { height: auto !important; aspect-ratio: 3 / 2; object-fit: cover; }
  .elementor .e-con.sk-vz:not(:has(img)) { min-height: 220px !important; justify-content: flex-end !important; }
  /* Cartes centrées : icône, titre, texte, lien */
  .elementor .e-con.sk-carte-centree { align-items: center !important; text-align: center; }
  .sk-carte-centree > .elementor-widget, .sk-carte-centree .elementor-heading-title, .sk-carte-centree .elementor-widget-text-editor { text-align: center !important; }
  /* Texte à côté d'une barre verticale */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-texte-barre, .elementor .e-con.sk-texte-barre { padding-left: 16px !important; }
  .elementor .e-con.sk-video-info { align-items: flex-start !important; text-align: left; }
  .sk-video-info > * { border: 0 !important; text-align: left !important; }
  /* Boutons d'action du haut de page : empilés, pleine largeur */
  .elementor .e-con.sk-boutons { flex-direction: column !important; align-items: stretch !important; gap: 12px !important; }
  .sk-boutons .elementor-widget-button, .sk-boutons .elementor-button { width: 100% !important; }
  .sk-boutons .elementor-button-wrapper, .sk-boutons .elementor-widget-button { text-align: center !important; }
  /* Étapes : cartes, sans flèches */
  .sk-etapes > .elementor-widget-text-editor { display: none !important; }
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .sk-etapes > .e-con, .elementor .sk-etapes > .e-con { background: #fff; border-radius: 16px; padding: 18px 16px !important; gap: 8px !important; }
  .elementor .sk-etapes { gap: 12px !important; }
  /* Étiquettes : en ligne, à la suite */
  .elementor .e-con.sk-etiquettes { flex-direction: row !important; flex-wrap: wrap !important; gap: 8px !important; justify-content: flex-start !important; }
  .sk-etiquettes > * { width: auto !important; margin: 0 !important; position: static !important; transform: none !important; }
  /* Grilles d'icônes : deux colonnes, cartes compactes */
  .elementor .e-con.sk-grille-icones { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .sk-grille-icones > .e-con, .elementor .sk-grille-icones > .e-con { min-height: 0 !important; background: #fff; border-radius: 14px; padding: 16px 12px !important; gap: 8px !important; align-items: center !important; text-align: center; }
  .sk-grille-icones > .e-con > .elementor-widget-text-editor { text-align: center !important; }
  .sk-grille-icones > .e-con > .elementor-widget-text-editor:first-child { font-size: 26px !important; line-height: 1 !important; }
}
/* Boutons : même taille partout (hors en-tête) et effet au survol selon la charte (orange #FF5A37, bleu #0069E6, marine #192850) */
.elementor:not(.elementor-location-header) .elementor-widget-button .elementor-button,
.elementor:not(.elementor-location-header) .elementor-form .elementor-button {
  min-height: 52px; padding: 14px 32px !important; border-radius: 50px !important; border: 2px solid transparent !important;
  font-size: 16px !important; font-weight: 700; line-height: 1.2 !important; letter-spacing: .5px;
  display: inline-flex; align-items: center; justify-content: center; text-align: center;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .1s ease, box-shadow .2s ease;
}
.elementor:not(.elementor-location-header) .elementor-widget-button .elementor-button:active,
.elementor:not(.elementor-location-header) .elementor-form .elementor-button:active { transform: scale(.97); }
.elementor:not(.elementor-location-header) .elementor-widget-button .elementor-button:focus-visible { outline: 3px solid #00EDED; outline-offset: 2px; }
/* Orange -> bleu */
.elementor .sk-btn-orange .elementor-button, .elementor:not(.elementor-location-header) .elementor-form .elementor-button { background-color: #FF5A37 !important; border-color: #FF5A37 !important; color: #FFFFFF !important; }
.elementor .sk-btn-orange .elementor-button:hover, .elementor:not(.elementor-location-header) .elementor-form .elementor-button:hover { background-color: #0069E6 !important; border-color: #0069E6 !important; color: #FFFFFF !important; }
/* Bleu et marine -> orange */
.elementor .sk-btn-bleu .elementor-button { background-color: #0069E6 !important; border-color: #0069E6 !important; color: #FFFFFF !important; }
.elementor .sk-btn-marine .elementor-button { background-color: #192850 !important; border-color: #192850 !important; color: #FFFFFF !important; }
.elementor .sk-btn-bleu .elementor-button:hover, .elementor .sk-btn-marine .elementor-button:hover { background-color: #FF5A37 !important; border-color: #FF5A37 !important; color: #FFFFFF !important; }
/* Contour -> rempli orange */
.elementor .sk-btn-contour .elementor-button { background-color: transparent !important; border-color: currentColor !important; }
.elementor .sk-btn-contour .elementor-button:hover { background-color: #FF5A37 !important; border-color: #FF5A37 !important; color: #FFFFFF !important; }
.elementor .sk-btn-contour .elementor-button:hover .elementor-button-text, .elementor .sk-btn-contour .elementor-button:hover .elementor-button-icon { color: #FFFFFF !important; }
@media (max-width: 767px) {
  .elementor:not(.elementor-location-header) .elementor-widget-button .elementor-button { padding: 14px 24px !important; }
  /* Boutons dans les cartes : centrés */
  .elementor .sk-carte .elementor-widget-button { align-self: center !important; }
  .elementor .sk-carte > .elementor-widget-button { margin-top: 16px !important; }
  .elementor .sk-carte .elementor-widget-button .elementor-button-wrapper { text-align: center !important; }
}
/* Retouches de pages précises sur mobile (Kaptur, Produits) : espacements et boutons secondaires */
/* « Parler à un pilote » (titre-lien à côté d'un bouton) : présenté comme un bouton à contour, partout */
.elementor .sk-actions > .elementor-widget-heading .elementor-heading-title a,
.elementor .sk-actions > .elementor-widget-heading .elementor-heading-title:not(:has(a)) {
  display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 12px 28px; border: 2px solid #192850; border-radius: 50px;
  color: #192850; font-size: 16px !important; font-weight: 700; line-height: 1.2; text-decoration: none; transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .1s ease;
}
.elementor .sk-actions > .elementor-widget-heading .elementor-heading-title a:hover { background-color: #FF5A37; border-color: #FF5A37; color: #FFFFFF; }
.elementor .sk-actions > .elementor-widget-heading .elementor-heading-title a:active { transform: scale(.97); }
@media (max-width: 767px) {
  .elementor .e-con.sk-actions { margin-top: 20px !important; gap: 14px !important; }
  .elementor .sk-actions > .elementor-widget-heading, .elementor .sk-actions > .elementor-widget-heading .elementor-heading-title { width: 100%; text-align: center !important; }
  .elementor .sk-actions > .elementor-widget-heading .elementor-heading-title a { width: 100%; }
  /* Pastille de prix juste avant les boutons : centrée */
  .elementor .e-con > .elementor-widget-text-editor:has(+ .e-con.sk-actions) { align-self: center !important; text-align: center !important; }
  /* Kaptur : téléphone, titre, lien et aperçu du texto espacés ; carte de prix aérée */
  .elementor .elementor-element-81fb18b { gap: 32px !important; row-gap: 32px !important; }
  .elementor .elementor-element-6a39aaa { margin-top: 8px !important; }
  .elementor .elementor-element-46b8265 { margin-bottom: 32px !important; }
  .elementor .elementor-element-ef2ae71 { margin-top: 24px !important; }
  .elementor .elementor-element-551ac8e { gap: 20px !important; row-gap: 20px !important; }
  /* Visuel avec image de fond (ex. « Experts certifiés Google Partner ») : assez haut pour voir l'image */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-vz:not(:has(img)), .elementor .e-con.sk-vz:not(:has(img)) { min-height: 320px !important; background-size: cover !important; background-position: center !important; }
}
@media (max-width: 767px) {
  /* Karto : étapes en cartes (comme Kaptur), durée en pastille ; carte de prix aérée */
  .elementor .sk-karto-etapes > .e-con > .elementor-widget-text-editor:last-child { align-self: flex-start !important; width: auto !important; background: #F4EFE7; border-radius: 50px; padding: 4px 12px; margin-top: 4px !important; }
  .elementor .sk-karto-etapes > .e-con > .elementor-widget-text-editor:last-child p { margin: 0 !important; font-size: 12px !important; line-height: 1.4 !important; }
  .elementor .sk-karto-etapes > .e-con > .elementor-widget-heading { margin-top: 8px !important; }
  .elementor .e-con.sk-karto-prix { gap: 20px !important; row-gap: 20px !important; }
}
/* Fin des règles responsives */
/* Tableaux comparatifs des forfaits sur téléphone : la colonne vide de gauche disparaît, le tableau défile horizontalement */
@media (max-width: 767px) {
  .elementor .e-con:has(> .sk-tableau-defilant), .elementor .e-con:has(> .e-con-inner > .sk-tableau-defilant) { padding-left: 8px !important; padding-right: 8px !important; }
  .elementor .sk-tableau-defilant { overflow-x: auto !important; -webkit-overflow-scrolling: touch; padding-left: 0 !important; padding-right: 0 !important; }
  .sk-tableau-defilant > .e-con, .sk-tableau-defilant > .e-con-inner > .e-con, .sk-tableau-defilant > .elementor-widget, .sk-tableau-defilant > .e-con-inner > .elementor-widget { min-width: 480px !important; }
  .sk-tableau-defilant > .e-con > .e-con:first-child:not(:has(.elementor-widget)) { display: none !important; }
  .elementor .sk-tableau-defilant > .e-con > .e-con { flex: 1 1 0 !important; width: auto !important; min-width: 0 !important; padding-left: 6px !important; padding-right: 6px !important; }
  .sk-tableau-defilant .elementor-button { padding: 12px 10px !important; font-size: 13px !important; letter-spacing: 0 !important; }
}
/* Cartes de forfaits (tablette et mobile), sur le modèle de shortkut.ca : cartes espacées, en-tête centré, caractéristiques alignées en colonnes */
@media (max-width: 1024px) {
  .elementor .sk-prix-grille { row-gap: 32px !important; column-gap: 24px !important; }
  .elementor .e-con.sk-prix-icone { padding: 0 !important; flex: 0 0 auto !important; }
}
@media (max-width: 767px) {
  .elementor .sk-prix-entete, .elementor .sk-prix-entete > .e-con { align-items: center !important; justify-content: center !important; text-align: center; }
  .sk-prix-entete .elementor-heading-title { text-align: center !important; }
  .elementor .e-con.sk-prix-carte { padding-top: 32px !important; padding-bottom: 28px !important; align-items: stretch !important; }
  .sk-prix-carte > .elementor-widget-text-editor, .sk-prix-carte > .elementor-widget-text-editor * { text-align: center !important; }
  .elementor .e-con.sk-prix-termes, .elementor .e-con.sk-prix-nom, .elementor .e-con.sk-prix-montant { width: 100% !important; --width: 100% !important; }
  .sk-prix-carte > .elementor-widget-text-editor:first-child { align-self: center !important; }
  .elementor .sk-prix-nom, .elementor .sk-prix-montant, .elementor .sk-prix-termes { justify-content: center !important; flex-wrap: wrap !important; }
  .sk-prix-montant .elementor-heading-title { font-size: 44px !important; line-height: 1.05 !important; }
  .elementor .e-con.sk-prix-ligne { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; column-gap: 10px !important; align-items: center !important; }
  .elementor .e-con.sk-prix-ligne:has(> :nth-child(3)) { grid-template-columns: 18px minmax(0, 1fr) auto; }
  .sk-prix-ligne > * { width: auto !important; max-width: none !important; margin: 0 !important; }
  .sk-prix-ligne > .elementor-widget-text-editor:last-child { text-align: right; white-space: nowrap; }
  /* Onglets de catégories : tous en haut, empilés */
  .elementor-widget-n-tabs .e-n-tabs-heading { flex-wrap: wrap !important; gap: 8px !important; }
  .elementor-widget-n-tabs .e-n-tabs-heading > .e-n-tab-title { flex: 1 1 100% !important; justify-content: center; }
}
/* Prix harmonisés sur mobile : Logo comme Sites web (centré, grand, « Sur 12 mois » en pastille) ; Boosters web comme Copilotes IA (encadré, montant grand) */
@media (max-width: 767px) {
  .elementor .e-con.sk-prix-logo { display: grid !important; grid-template-columns: auto auto; justify-content: center !important; align-items: baseline !important; column-gap: 6px !important; row-gap: 10px !important; margin: 4px 0 16px !important; width: 100% !important; }
  .elementor .sk-prix-logo > .e-con { display: contents !important; }
  .sk-prix-logo > .elementor-widget-text-editor, .sk-prix-logo > .elementor-widget-text-editor * { font-size: 44px !important; line-height: 1.05 !important; font-weight: 800; margin: 0 !important; }
  .sk-prix-logo .elementor-widget-text-editor:not(:first-child), .sk-prix-logo .elementor-widget-text-editor:not(:first-child) * { font-size: 15px !important; }
  .sk-prix-logo .elementor-widget-heading { grid-column: 1 / -1; justify-self: center; }
  .sk-prix-logo .elementor-widget-heading .elementor-heading-title { display: inline-block; padding: 5px 12px; border-radius: 999px; background: #F4EFE7; font-size: 13px !important; letter-spacing: 1px; }
  .elementor .e-con.sk-prix-barre { padding: 18px 20px !important; gap: 8px !important; align-items: stretch !important; }
  .sk-prix-barre .e-con .e-con .elementor-heading-title { font-size: 40px !important; line-height: 1.05 !important; }
  .sk-prix-barre .e-con .e-con { align-items: baseline !important; gap: 6px !important; flex-wrap: wrap !important; }
  .sk-prix-barre .e-con .e-con .elementor-widget-text-editor, .sk-prix-barre .e-con .e-con .elementor-widget-text-editor * { font-size: 15px !important; }
  .sk-prix-barre > .e-con > .elementor-widget-heading:first-child .elementor-heading-title { font-size: 13px !important; letter-spacing: 1px; }
  .sk-prix-barre .elementor-widget-text-editor, .sk-prix-barre .elementor-widget-text-editor p { font-size: 14px; margin: 0 !important; }
  .sk-prix-barre .e-con > .elementor-widget-text-editor, .sk-prix-barre .e-con > .elementor-widget-text-editor * { text-transform: none !important; font-weight: 400 !important; letter-spacing: 0 !important; font-size: 14px !important; }
}
/* Blocs récurrents (tablette et mobile) : pastilles d'icônes, cartes centrées, vidéos, avis, FAQ, étapes, étiquettes */
.e-con.sk-pastille .elementor-heading-title, .e-con.sk-pastille p { font-size: 24px !important; line-height: 1 !important; }
@media (max-width: 1024px) {
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-pastille, .elementor .e-con.sk-pastille { --width: 52px !important; width: 52px !important; min-width: 52px; height: 52px; min-height: 52px !important; flex: 0 0 52px !important; padding: 0 !important; justify-content: center !important; align-items: center !important; }
  .elementor .sk-etapes .e-con.sk-pastille, .elementor .e-con.sk-pastille:has(.elementor-heading-title:not(:empty)) { border-radius: 50%; }
  .elementor .e-con.sk-liaison { display: none !important; }
  /* Vidéos : l'image remplit son cadre */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-cadre-video, .elementor .e-con.sk-cadre-video { padding: 0 !important; overflow: hidden; min-height: 0 !important; }
  .sk-cadre-video .elementor-widget-video, .sk-cadre-video .elementor-wrapper, .sk-cadre-video video { width: 100% !important; }
  .sk-cadre-video video { object-fit: cover; aspect-ratio: 16 / 9; height: auto !important; display: block; }
  /* Avis : pas d'espace vide dans les cartes */
  .elementor .sk-avis > .e-con, .elementor .e-con.sk-avis-carte { min-height: 0 !important; height: auto !important; justify-content: flex-start !important; }
  .sk-avis { grid-auto-rows: auto !important; align-items: start !important; }
  .elementor .e-con.sk-avis-carte { gap: 10px !important; }
  .sk-avis-carte > .elementor-widget-text-editor:first-child { margin: 0 !important; line-height: 1 !important; }
  .sk-video-info .elementor-widget-text-editor *, .sk-video-info .elementor-widget-text-editor { border: 0 !important; }
  /* FAQ et onglets : marges intérieures du contenu déplié */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-n-accordion-item > .e-con, .elementor .e-n-accordion-item > .e-con { padding-left: 16px !important; padding-right: 16px !important; padding-bottom: 16px !important; }
}
@media (max-width: 767px) {
  /* Grilles : chaque carte garde sa propre hauteur (plus de vide avant le bouton) ; espace entre les étapes */
  .elementor .e-con.e-grid { align-items: start !important; }
  .elementor .e-con.e-grid:has(> .e-con.sk-liaison) { gap: 24px !important; row-gap: 24px !important; }
  /* Zones de boutons des cartes : centrées, sans marge imposée */
  .elementor .e-con.sk-actions { margin-top: 8px !important; justify-content: center !important; align-items: center !important; align-self: stretch !important; }
  .sk-actions .elementor-widget-button .elementor-button-wrapper { text-align: center !important; }
  /* Accueil : image du haut entière, détachée du bas de la section */
  .elementor .elementor-element-647d8a2 { padding-bottom: 40px !important; }
  .elementor-element-14f1c15 img { max-width: 92%; margin: 0 auto; display: block; }
  /* Cartes : hauteur selon le contenu ; décor masqué ; lignes icône + texte alignées en haut */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-carte, .elementor .e-con.sk-carte { min-height: 0 !important; }
  .elementor .e-con.sk-decor { display: none !important; }
  .elementor .e-con.sk-ligne-icone { align-items: start !important; }
  .sk-ligne-icone > .e-con:first-child { align-self: start !important; height: auto !important; min-height: 0 !important; aspect-ratio: 1; margin-top: 2px !important; }
  .elementor .e-con.sk-prix-info { --width: auto !important; width: auto !important; }
  /* Visuels composés (cartes superposées) : empilés, sans hauteur imposée */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-vz, .elementor .e-con.sk-vz { min-height: 0 !important; display: flex !important; flex-direction: column !important; gap: 12px !important; padding: 16px !important; }
  .elementor .sk-vz > * { position: static !important; --width: 100% !important; width: 100% !important; transform: none !important; inset: auto !important; margin: 0 !important; }
  .sk-vz .elementor-widget-image img { height: auto !important; aspect-ratio: 3 / 2; object-fit: cover; }
  .elementor .e-con.sk-vz:not(:has(img)) { min-height: 220px !important; justify-content: flex-end !important; }
  /* Cartes centrées : icône, titre, texte, lien */
  .elementor .e-con.sk-carte-centree { align-items: center !important; text-align: center; }
  .sk-carte-centree > .elementor-widget, .sk-carte-centree .elementor-heading-title, .sk-carte-centree .elementor-widget-text-editor { text-align: center !important; }
  /* Texte à côté d'une barre verticale */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-texte-barre, .elementor .e-con.sk-texte-barre { padding-left: 16px !important; }
  .elementor .e-con.sk-video-info { align-items: flex-start !important; text-align: left; }
  .sk-video-info > * { border: 0 !important; text-align: left !important; }
  /* Boutons d'action du haut de page : empilés, pleine largeur */
  .elementor .e-con.sk-boutons { flex-direction: column !important; align-items: stretch !important; gap: 12px !important; }
  .sk-boutons .elementor-widget-button, .sk-boutons .elementor-button { width: 100% !important; }
  .sk-boutons .elementor-button-wrapper, .sk-boutons .elementor-widget-button { text-align: center !important; }
  /* Étapes : cartes, sans flèches */
  .sk-etapes > .elementor-widget-text-editor { display: none !important; }
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .sk-etapes > .e-con, .elementor .sk-etapes > .e-con { background: #fff; border-radius: 16px; padding: 18px 16px !important; gap: 8px !important; }
  .elementor .sk-etapes { gap: 12px !important; }
  /* Étiquettes : en ligne, à la suite */
  .elementor .e-con.sk-etiquettes { flex-direction: row !important; flex-wrap: wrap !important; gap: 8px !important; justify-content: flex-start !important; }
  .sk-etiquettes > * { width: auto !important; margin: 0 !important; position: static !important; transform: none !important; }
  /* Grilles d'icônes : deux colonnes, cartes compactes */
  .elementor .e-con.sk-grille-icones { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .sk-grille-icones > .e-con, .elementor .sk-grille-icones > .e-con { min-height: 0 !important; background: #fff; border-radius: 14px; padding: 16px 12px !important; gap: 8px !important; align-items: center !important; text-align: center; }
  .sk-grille-icones > .e-con > .elementor-widget-text-editor { text-align: center !important; }
  .sk-grille-icones > .e-con > .elementor-widget-text-editor:first-child { font-size: 26px !important; line-height: 1 !important; }
}
/* Boutons : même taille partout (hors en-tête) et effet au survol selon la charte (orange #FF5A37, bleu #0069E6, marine #192850) */
.elementor:not(.elementor-location-header) .elementor-widget-button .elementor-button,
.elementor:not(.elementor-location-header) .elementor-form .elementor-button {
  min-height: 52px; padding: 14px 32px !important; border-radius: 50px !important; border: 2px solid transparent !important;
  font-size: 16px !important; font-weight: 700; line-height: 1.2 !important; letter-spacing: .5px;
  display: inline-flex; align-items: center; justify-content: center; text-align: center;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .1s ease, box-shadow .2s ease;
}
.elementor:not(.elementor-location-header) .elementor-widget-button .elementor-button:active,
.elementor:not(.elementor-location-header) .elementor-form .elementor-button:active { transform: scale(.97); }
.elementor:not(.elementor-location-header) .elementor-widget-button .elementor-button:focus-visible { outline: 3px solid #00EDED; outline-offset: 2px; }
/* Orange -> bleu */
.elementor .sk-btn-orange .elementor-button, .elementor:not(.elementor-location-header) .elementor-form .elementor-button { background-color: #FF5A37 !important; border-color: #FF5A37 !important; color: #FFFFFF !important; }
.elementor .sk-btn-orange .elementor-button:hover, .elementor:not(.elementor-location-header) .elementor-form .elementor-button:hover { background-color: #0069E6 !important; border-color: #0069E6 !important; color: #FFFFFF !important; }
/* Bleu et marine -> orange */
.elementor .sk-btn-bleu .elementor-button { background-color: #0069E6 !important; border-color: #0069E6 !important; color: #FFFFFF !important; }
.elementor .sk-btn-marine .elementor-button { background-color: #192850 !important; border-color: #192850 !important; color: #FFFFFF !important; }
.elementor .sk-btn-bleu .elementor-button:hover, .elementor .sk-btn-marine .elementor-button:hover { background-color: #FF5A37 !important; border-color: #FF5A37 !important; color: #FFFFFF !important; }
/* Contour -> rempli orange */
.elementor .sk-btn-contour .elementor-button { background-color: transparent !important; border-color: currentColor !important; }
.elementor .sk-btn-contour .elementor-button:hover { background-color: #FF5A37 !important; border-color: #FF5A37 !important; color: #FFFFFF !important; }
.elementor .sk-btn-contour .elementor-button:hover .elementor-button-text, .elementor .sk-btn-contour .elementor-button:hover .elementor-button-icon { color: #FFFFFF !important; }
@media (max-width: 767px) {
  .elementor:not(.elementor-location-header) .elementor-widget-button .elementor-button { padding: 14px 24px !important; }
  /* Boutons dans les cartes : centrés */
  .elementor .sk-carte .elementor-widget-button { align-self: center !important; }
  .elementor .sk-carte > .elementor-widget-button { margin-top: 16px !important; }
  .elementor .sk-carte .elementor-widget-button .elementor-button-wrapper { text-align: center !important; }
}
/* Retouches de pages précises sur mobile (Kaptur, Produits) : espacements et boutons secondaires */
/* « Parler à un pilote » (titre-lien à côté d'un bouton) : présenté comme un bouton à contour, partout */
.elementor .sk-actions > .elementor-widget-heading .elementor-heading-title a,
.elementor .sk-actions > .elementor-widget-heading .elementor-heading-title:not(:has(a)) {
  display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 12px 28px; border: 2px solid #192850; border-radius: 50px;
  color: #192850; font-size: 16px !important; font-weight: 700; line-height: 1.2; text-decoration: none; transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .1s ease;
}
.elementor .sk-actions > .elementor-widget-heading .elementor-heading-title a:hover { background-color: #FF5A37; border-color: #FF5A37; color: #FFFFFF; }
.elementor .sk-actions > .elementor-widget-heading .elementor-heading-title a:active { transform: scale(.97); }
@media (max-width: 767px) {
  .elementor .e-con.sk-actions { margin-top: 20px !important; gap: 14px !important; }
  .elementor .sk-actions > .elementor-widget-heading, .elementor .sk-actions > .elementor-widget-heading .elementor-heading-title { width: 100%; text-align: center !important; }
  .elementor .sk-actions > .elementor-widget-heading .elementor-heading-title a { width: 100%; }
  /* Pastille de prix juste avant les boutons : centrée */
  .elementor .e-con > .elementor-widget-text-editor:has(+ .e-con.sk-actions) { align-self: center !important; text-align: center !important; }
  /* Kaptur : téléphone, titre, lien et aperçu du texto espacés ; carte de prix aérée */
  .elementor .elementor-element-81fb18b { gap: 32px !important; row-gap: 32px !important; }
  .elementor .elementor-element-6a39aaa { margin-top: 8px !important; }
  .elementor .elementor-element-46b8265 { margin-bottom: 32px !important; }
  .elementor .elementor-element-ef2ae71 { margin-top: 24px !important; }
  .elementor .elementor-element-551ac8e { gap: 20px !important; row-gap: 20px !important; }
  /* Visuel avec image de fond (ex. « Experts certifiés Google Partner ») : assez haut pour voir l'image */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-vz:not(:has(img)), .elementor .e-con.sk-vz:not(:has(img)) { min-height: 320px !important; background-size: cover !important; background-position: center !important; }
}
@media (max-width: 767px) {
  /* Karto : étapes en cartes (comme Kaptur), durée en pastille ; carte de prix aérée */
  .elementor .sk-karto-etapes > .e-con > .elementor-widget-text-editor:last-child { align-self: flex-start !important; width: auto !important; background: #F4EFE7; border-radius: 50px; padding: 4px 12px; margin-top: 4px !important; }
  .elementor .sk-karto-etapes > .e-con > .elementor-widget-text-editor:last-child p { margin: 0 !important; font-size: 12px !important; line-height: 1.4 !important; }
  .elementor .sk-karto-etapes > .e-con > .elementor-widget-heading { margin-top: 8px !important; }
  .elementor .e-con.sk-karto-prix { gap: 20px !important; row-gap: 20px !important; }
}
/* Sections hero (classe sk-hero) : hauteur de l'écran moins l'en-tête, contenu centré verticalement */
.elementor:not(.elementor-location-header):not(.elementor-location-footer) > .e-con.sk-hero { --sk-entete: 120px; min-height: calc(100vh - var(--sk-entete)) !important; min-height: calc(100svh - var(--sk-entete)) !important; justify-content: center !important; }
.elementor > .e-con.sk-hero.e-con-boxed > .e-con-inner { align-self: center; }
@media (max-width: 1024px) { .elementor:not(.elementor-location-header):not(.elementor-location-footer) > .e-con.sk-hero { --sk-entete: 80px; } }
/* Fin des règles responsives */
/* Marges latérales : tablette et mobile (hors en-tête et pied de page). Sections de premier niveau = enfants directs de la page. */
@media (max-width: 1024px) {
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) > .e-con { padding-left: clamp(20px, var(--padding-left, 0px), 48px) !important; padding-right: clamp(20px, var(--padding-right, 0px), 48px) !important; }
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con { padding-left: min(var(--padding-left, 0px), 40px) !important; padding-right: min(var(--padding-right, 0px), 40px) !important; }
}
@media (max-width: 767px) {
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) > .e-con { padding-left: 20px !important; padding-right: 20px !important; }
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con { padding-left: 0 !important; padding-right: 0 !important; }
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-carte { padding-left: 16px !important; padding-right: 16px !important; }
  /* Boutons : le texte passe à la ligne plutôt que de déborder */
  .elementor-button { max-width: 100%; white-space: normal; }
  .elementor-button .elementor-button-text, .sk-nowrap .elementor-button-text { white-space: normal; text-align: center; }
}/* Tableaux comparatifs des forfaits sur téléphone : la colonne vide de gauche disparaît, le tableau défile horizontalement */
@media (max-width: 767px) {
  .elementor .e-con:has(> .sk-tableau-defilant), .elementor .e-con:has(> .e-con-inner > .sk-tableau-defilant) { padding-left: 8px !important; padding-right: 8px !important; }
  .elementor .sk-tableau-defilant { overflow-x: auto !important; -webkit-overflow-scrolling: touch; padding-left: 0 !important; padding-right: 0 !important; }
  .sk-tableau-defilant > .e-con, .sk-tableau-defilant > .e-con-inner > .e-con, .sk-tableau-defilant > .elementor-widget, .sk-tableau-defilant > .e-con-inner > .elementor-widget { min-width: 480px !important; }
  .sk-tableau-defilant > .e-con > .e-con:first-child:not(:has(.elementor-widget)) { display: none !important; }
  .elementor .sk-tableau-defilant > .e-con > .e-con { flex: 1 1 0 !important; width: auto !important; min-width: 0 !important; padding-left: 6px !important; padding-right: 6px !important; }
  .sk-tableau-defilant .elementor-button { padding: 12px 10px !important; font-size: 13px !important; letter-spacing: 0 !important; }
}
/* Cartes de forfaits (tablette et mobile), sur le modèle de shortkut.ca : cartes espacées, en-tête centré, caractéristiques alignées en colonnes */
@media (max-width: 1024px) {
  .elementor .sk-prix-grille { row-gap: 32px !important; column-gap: 24px !important; }
  .elementor .e-con.sk-prix-icone { padding: 0 !important; flex: 0 0 auto !important; }
}
@media (max-width: 767px) {
  .elementor .sk-prix-entete, .elementor .sk-prix-entete > .e-con { align-items: center !important; justify-content: center !important; text-align: center; }
  .sk-prix-entete .elementor-heading-title { text-align: center !important; }
  .elementor .e-con.sk-prix-carte { padding-top: 32px !important; padding-bottom: 28px !important; align-items: stretch !important; }
  .sk-prix-carte > .elementor-widget-text-editor, .sk-prix-carte > .elementor-widget-text-editor * { text-align: center !important; }
  .elementor .e-con.sk-prix-termes, .elementor .e-con.sk-prix-nom, .elementor .e-con.sk-prix-montant { width: 100% !important; --width: 100% !important; }
  .sk-prix-carte > .elementor-widget-text-editor:first-child { align-self: center !important; }
  .elementor .sk-prix-nom, .elementor .sk-prix-montant, .elementor .sk-prix-termes { justify-content: center !important; flex-wrap: wrap !important; }
  .sk-prix-montant .elementor-heading-title { font-size: 44px !important; line-height: 1.05 !important; }
  .elementor .e-con.sk-prix-ligne { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; column-gap: 10px !important; align-items: center !important; }
  .elementor .e-con.sk-prix-ligne:has(> :nth-child(3)) { grid-template-columns: 18px minmax(0, 1fr) auto; }
  .sk-prix-ligne > * { width: auto !important; max-width: none !important; margin: 0 !important; }
  .sk-prix-ligne > .elementor-widget-text-editor:last-child { text-align: right; white-space: nowrap; }
  /* Onglets de catégories : tous en haut, empilés */
  .elementor-widget-n-tabs .e-n-tabs-heading { flex-wrap: wrap !important; gap: 8px !important; }
  .elementor-widget-n-tabs .e-n-tabs-heading > .e-n-tab-title { flex: 1 1 100% !important; justify-content: center; }
}
/* Prix harmonisés sur mobile : Logo comme Sites web (centré, grand, « Sur 12 mois » en pastille) ; Boosters web comme Copilotes IA (encadré, montant grand) */
@media (max-width: 767px) {
  .elementor .e-con.sk-prix-logo { display: grid !important; grid-template-columns: auto auto; justify-content: center !important; align-items: baseline !important; column-gap: 6px !important; row-gap: 10px !important; margin: 4px 0 16px !important; width: 100% !important; }
  .elementor .sk-prix-logo > .e-con { display: contents !important; }
  .sk-prix-logo > .elementor-widget-text-editor, .sk-prix-logo > .elementor-widget-text-editor * { font-size: 44px !important; line-height: 1.05 !important; font-weight: 800; margin: 0 !important; }
  .sk-prix-logo .elementor-widget-text-editor:not(:first-child), .sk-prix-logo .elementor-widget-text-editor:not(:first-child) * { font-size: 15px !important; }
  .sk-prix-logo .elementor-widget-heading { grid-column: 1 / -1; justify-self: center; }
  .sk-prix-logo .elementor-widget-heading .elementor-heading-title { display: inline-block; padding: 5px 12px; border-radius: 999px; background: #F4EFE7; font-size: 13px !important; letter-spacing: 1px; }
  .elementor .e-con.sk-prix-barre { padding: 18px 20px !important; gap: 8px !important; align-items: stretch !important; }
  .sk-prix-barre .e-con .e-con .elementor-heading-title { font-size: 40px !important; line-height: 1.05 !important; }
  .sk-prix-barre .e-con .e-con { align-items: baseline !important; gap: 6px !important; flex-wrap: wrap !important; }
  .sk-prix-barre .e-con .e-con .elementor-widget-text-editor, .sk-prix-barre .e-con .e-con .elementor-widget-text-editor * { font-size: 15px !important; }
  .sk-prix-barre > .e-con > .elementor-widget-heading:first-child .elementor-heading-title { font-size: 13px !important; letter-spacing: 1px; }
  .sk-prix-barre .elementor-widget-text-editor, .sk-prix-barre .elementor-widget-text-editor p { font-size: 14px; margin: 0 !important; }
  .sk-prix-barre .e-con > .elementor-widget-text-editor, .sk-prix-barre .e-con > .elementor-widget-text-editor * { text-transform: none !important; font-weight: 400 !important; letter-spacing: 0 !important; font-size: 14px !important; }
}
/* Blocs récurrents (tablette et mobile) : pastilles d'icônes, cartes centrées, vidéos, avis, FAQ, étapes, étiquettes */
.e-con.sk-pastille .elementor-heading-title, .e-con.sk-pastille p { font-size: 24px !important; line-height: 1 !important; }
@media (max-width: 1024px) {
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-pastille, .elementor .e-con.sk-pastille { --width: 52px !important; width: 52px !important; min-width: 52px; height: 52px; min-height: 52px !important; flex: 0 0 52px !important; padding: 0 !important; justify-content: center !important; align-items: center !important; }
  .elementor .sk-etapes .e-con.sk-pastille, .elementor .e-con.sk-pastille:has(.elementor-heading-title:not(:empty)) { border-radius: 50%; }
  .elementor .e-con.sk-liaison { display: none !important; }
  /* Vidéos : l'image remplit son cadre */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-cadre-video, .elementor .e-con.sk-cadre-video { padding: 0 !important; overflow: hidden; min-height: 0 !important; }
  .sk-cadre-video .elementor-widget-video, .sk-cadre-video .elementor-wrapper, .sk-cadre-video video { width: 100% !important; }
  .sk-cadre-video video { object-fit: cover; aspect-ratio: 16 / 9; height: auto !important; display: block; }
  /* Avis : pas d'espace vide dans les cartes */
  .elementor .sk-avis > .e-con, .elementor .e-con.sk-avis-carte { min-height: 0 !important; height: auto !important; justify-content: flex-start !important; }
  .sk-avis { grid-auto-rows: auto !important; align-items: start !important; }
  .elementor .e-con.sk-avis-carte { gap: 10px !important; }
  .sk-avis-carte > .elementor-widget-text-editor:first-child { margin: 0 !important; line-height: 1 !important; }
  .sk-video-info .elementor-widget-text-editor *, .sk-video-info .elementor-widget-text-editor { border: 0 !important; }
  /* FAQ et onglets : marges intérieures du contenu déplié */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-n-accordion-item > .e-con, .elementor .e-n-accordion-item > .e-con { padding-left: 16px !important; padding-right: 16px !important; padding-bottom: 16px !important; }
}
@media (max-width: 767px) {
  /* Grilles : chaque carte garde sa propre hauteur (plus de vide avant le bouton) ; espace entre les étapes */
  .elementor .e-con.e-grid { align-items: start !important; }
  .elementor .e-con.e-grid:has(> .e-con.sk-liaison) { gap: 24px !important; row-gap: 24px !important; }
  /* Zones de boutons des cartes : centrées, sans marge imposée */
  .elementor .e-con.sk-actions { margin-top: 8px !important; justify-content: center !important; align-items: center !important; align-self: stretch !important; }
  .sk-actions .elementor-widget-button .elementor-button-wrapper { text-align: center !important; }
  /* Accueil : image du haut entière, détachée du bas de la section */
  .elementor .elementor-element-647d8a2 { padding-bottom: 40px !important; }
  .elementor-element-14f1c15 img { max-width: 92%; margin: 0 auto; display: block; }
  /* Cartes : hauteur selon le contenu ; décor masqué ; lignes icône + texte alignées en haut */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-carte, .elementor .e-con.sk-carte { min-height: 0 !important; }
  .elementor .e-con.sk-decor { display: none !important; }
  .elementor .e-con.sk-ligne-icone { align-items: start !important; }
  .sk-ligne-icone > .e-con:first-child { align-self: start !important; height: auto !important; min-height: 0 !important; aspect-ratio: 1; margin-top: 2px !important; }
  .elementor .e-con.sk-prix-info { --width: auto !important; width: auto !important; }
  /* Visuels composés (cartes superposées) : empilés, sans hauteur imposée */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-vz, .elementor .e-con.sk-vz { min-height: 0 !important; display: flex !important; flex-direction: column !important; gap: 12px !important; padding: 16px !important; }
  .elementor .sk-vz > * { position: static !important; --width: 100% !important; width: 100% !important; transform: none !important; inset: auto !important; margin: 0 !important; }
  .sk-vz .elementor-widget-image img { height: auto !important; aspect-ratio: 3 / 2; object-fit: cover; }
  .elementor .e-con.sk-vz:not(:has(img)) { min-height: 220px !important; justify-content: flex-end !important; }
  /* Cartes centrées : icône, titre, texte, lien */
  .elementor .e-con.sk-carte-centree { align-items: center !important; text-align: center; }
  .sk-carte-centree > .elementor-widget, .sk-carte-centree .elementor-heading-title, .sk-carte-centree .elementor-widget-text-editor { text-align: center !important; }
  /* Texte à côté d'une barre verticale */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-texte-barre, .elementor .e-con.sk-texte-barre { padding-left: 16px !important; }
  .elementor .e-con.sk-video-info { align-items: flex-start !important; text-align: left; }
  .sk-video-info > * { border: 0 !important; text-align: left !important; }
  /* Boutons d'action du haut de page : empilés, pleine largeur */
  .elementor .e-con.sk-boutons { flex-direction: column !important; align-items: stretch !important; gap: 12px !important; }
  .sk-boutons .elementor-widget-button, .sk-boutons .elementor-button { width: 100% !important; }
  .sk-boutons .elementor-button-wrapper, .sk-boutons .elementor-widget-button { text-align: center !important; }
  /* Étapes : cartes, sans flèches */
  .sk-etapes > .elementor-widget-text-editor { display: none !important; }
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .sk-etapes > .e-con, .elementor .sk-etapes > .e-con { background: #fff; border-radius: 16px; padding: 18px 16px !important; gap: 8px !important; }
  .elementor .sk-etapes { gap: 12px !important; }
  /* Étiquettes : en ligne, à la suite */
  .elementor .e-con.sk-etiquettes { flex-direction: row !important; flex-wrap: wrap !important; gap: 8px !important; justify-content: flex-start !important; }
  .sk-etiquettes > * { width: auto !important; margin: 0 !important; position: static !important; transform: none !important; }
  /* Grilles d'icônes : deux colonnes, cartes compactes */
  .elementor .e-con.sk-grille-icones { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .sk-grille-icones > .e-con, .elementor .sk-grille-icones > .e-con { min-height: 0 !important; background: #fff; border-radius: 14px; padding: 16px 12px !important; gap: 8px !important; align-items: center !important; text-align: center; }
  .sk-grille-icones > .e-con > .elementor-widget-text-editor { text-align: center !important; }
  .sk-grille-icones > .e-con > .elementor-widget-text-editor:first-child { font-size: 26px !important; line-height: 1 !important; }
}
/* Boutons : même taille partout (hors en-tête) et effet au survol selon la charte (orange #FF5A37, bleu #0069E6, marine #192850) */
.elementor:not(.elementor-location-header) .elementor-widget-button .elementor-button,
.elementor:not(.elementor-location-header) .elementor-form .elementor-button {
  min-height: 52px; padding: 14px 32px !important; border-radius: 50px !important; border: 2px solid transparent !important;
  font-size: 16px !important; font-weight: 700; line-height: 1.2 !important; letter-spacing: .5px;
  display: inline-flex; align-items: center; justify-content: center; text-align: center;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .1s ease, box-shadow .2s ease;
}
.elementor:not(.elementor-location-header) .elementor-widget-button .elementor-button:active,
.elementor:not(.elementor-location-header) .elementor-form .elementor-button:active { transform: scale(.97); }
.elementor:not(.elementor-location-header) .elementor-widget-button .elementor-button:focus-visible { outline: 3px solid #00EDED; outline-offset: 2px; }
/* Orange -> bleu */
.elementor .sk-btn-orange .elementor-button, .elementor:not(.elementor-location-header) .elementor-form .elementor-button { background-color: #FF5A37 !important; border-color: #FF5A37 !important; color: #FFFFFF !important; }
.elementor .sk-btn-orange .elementor-button:hover, .elementor:not(.elementor-location-header) .elementor-form .elementor-button:hover { background-color: #0069E6 !important; border-color: #0069E6 !important; color: #FFFFFF !important; }
/* Bleu et marine -> orange */
.elementor .sk-btn-bleu .elementor-button { background-color: #0069E6 !important; border-color: #0069E6 !important; color: #FFFFFF !important; }
.elementor .sk-btn-marine .elementor-button { background-color: #192850 !important; border-color: #192850 !important; color: #FFFFFF !important; }
.elementor .sk-btn-bleu .elementor-button:hover, .elementor .sk-btn-marine .elementor-button:hover { background-color: #FF5A37 !important; border-color: #FF5A37 !important; color: #FFFFFF !important; }
/* Contour -> rempli orange */
.elementor .sk-btn-contour .elementor-button { background-color: transparent !important; border-color: currentColor !important; }
.elementor .sk-btn-contour .elementor-button:hover { background-color: #FF5A37 !important; border-color: #FF5A37 !important; color: #FFFFFF !important; }
.elementor .sk-btn-contour .elementor-button:hover .elementor-button-text, .elementor .sk-btn-contour .elementor-button:hover .elementor-button-icon { color: #FFFFFF !important; }
@media (max-width: 767px) {
  .elementor:not(.elementor-location-header) .elementor-widget-button .elementor-button { padding: 14px 24px !important; }
  /* Boutons dans les cartes : centrés */
  .elementor .sk-carte .elementor-widget-button { align-self: center !important; }
  .elementor .sk-carte > .elementor-widget-button { margin-top: 16px !important; }
  .elementor .sk-carte .elementor-widget-button .elementor-button-wrapper { text-align: center !important; }
}
/* Retouches de pages précises sur mobile (Kaptur, Produits) : espacements et boutons secondaires */
/* « Parler à un pilote » (titre-lien à côté d'un bouton) : présenté comme un bouton à contour, partout */
.elementor .sk-actions > .elementor-widget-heading .elementor-heading-title a,
.elementor .sk-actions > .elementor-widget-heading .elementor-heading-title:not(:has(a)) {
  display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 12px 28px; border: 2px solid #192850; border-radius: 50px;
  color: #192850; font-size: 16px !important; font-weight: 700; line-height: 1.2; text-decoration: none; transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .1s ease;
}
.elementor .sk-actions > .elementor-widget-heading .elementor-heading-title a:hover { background-color: #FF5A37; border-color: #FF5A37; color: #FFFFFF; }
.elementor .sk-actions > .elementor-widget-heading .elementor-heading-title a:active { transform: scale(.97); }
@media (max-width: 767px) {
  .elementor .e-con.sk-actions { margin-top: 20px !important; gap: 14px !important; }
  .elementor .sk-actions > .elementor-widget-heading, .elementor .sk-actions > .elementor-widget-heading .elementor-heading-title { width: 100%; text-align: center !important; }
  .elementor .sk-actions > .elementor-widget-heading .elementor-heading-title a { width: 100%; }
  /* Pastille de prix juste avant les boutons : centrée */
  .elementor .e-con > .elementor-widget-text-editor:has(+ .e-con.sk-actions) { align-self: center !important; text-align: center !important; }
  /* Kaptur : téléphone, titre, lien et aperçu du texto espacés ; carte de prix aérée */
  .elementor .elementor-element-81fb18b { gap: 32px !important; row-gap: 32px !important; }
  .elementor .elementor-element-6a39aaa { margin-top: 8px !important; }
  .elementor .elementor-element-46b8265 { margin-bottom: 32px !important; }
  .elementor .elementor-element-ef2ae71 { margin-top: 24px !important; }
  .elementor .elementor-element-551ac8e { gap: 20px !important; row-gap: 20px !important; }
  /* Visuel avec image de fond (ex. « Experts certifiés Google Partner ») : assez haut pour voir l'image */
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con .e-con.sk-vz:not(:has(img)), .elementor .e-con.sk-vz:not(:has(img)) { min-height: 320px !important; background-size: cover !important; background-position: center !important; }
}
@media (max-width: 767px) {
  /* Karto : étapes en cartes (comme Kaptur), durée en pastille ; carte de prix aérée */
  .elementor .sk-karto-etapes > .e-con > .elementor-widget-text-editor:last-child { align-self: flex-start !important; width: auto !important; background: #F4EFE7; border-radius: 50px; padding: 4px 12px; margin-top: 4px !important; }
  .elementor .sk-karto-etapes > .e-con > .elementor-widget-text-editor:last-child p { margin: 0 !important; font-size: 12px !important; line-height: 1.4 !important; }
  .elementor .sk-karto-etapes > .e-con > .elementor-widget-heading { margin-top: 8px !important; }
  .elementor .e-con.sk-karto-prix { gap: 20px !important; row-gap: 20px !important; }
}
/* Sections hero (classe sk-hero) : hauteur de l'écran moins l'en-tête, contenu centré verticalement */
.elementor:not(.elementor-location-header):not(.elementor-location-footer) > .e-con.sk-hero { --sk-entete: 120px; min-height: calc(100vh - var(--sk-entete)) !important; min-height: calc(100svh - var(--sk-entete)) !important; justify-content: center !important; }
.elementor > .e-con.sk-hero.e-con-boxed > .e-con-inner { align-self: center; }
@media (max-width: 767px) { .elementor:not(.elementor-location-header):not(.elementor-location-footer) > .e-con.sk-hero { --sk-entete: 80px; } }
/* Fin des règles responsives *//* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Silka';
	font-style: normal;
	font-weight: 300;
	font-display: auto;
	src: url('https://shortkut.ca/wp-content/uploads/2026/10/Silka-Light.woff2') format('woff2'),
		url('https://shortkut.ca/wp-content/uploads/2026/10/Silka-Light.woff') format('woff');
}
@font-face {
	font-family: 'Silka';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('https://shortkut.ca/wp-content/uploads/2026/10/Silka-SemiBold.woff2') format('woff2'),
		url('https://shortkut.ca/wp-content/uploads/2026/10/Silka-SemiBold.woff') format('woff');
}
@font-face {
	font-family: 'Silka';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://shortkut.ca/wp-content/uploads/2026/10/Silka-Bold.woff2') format('woff2'),
		url('https://shortkut.ca/wp-content/uploads/2026/10/Silka-Bold.woff') format('woff');
}
/* End Custom Fonts CSS */