/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* ==========================================================================
   ICÔNES — suppression de l'espace fantôme
   ========================================================================== */
.elementor-icon-wrapper {
  line-height: 0;
  font-size: 0;
}
.elementor-icon-wrapper .elementor-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.elementor-icon-wrapper .elementor-icon i,
.elementor-icon-wrapper .elementor-icon svg {
  display: block;
  line-height: 1;
}

/* Corriger une éventuelle rotation/inversion d'icône */
.elementor-icon i,
.elementor-icon svg {
  transform: none !important;
}

/* ==========================================================================
   VARIABLES
   ========================================================================== */
:root {
  --header-height: -73px;
  --color-primary: #c9410d;
  --color-secondary: #00bfb8;
  --color-primary-hover: #f05114;
  --color-secondary-hover: #008f8a;
  --color-white: #fff;
  --color-black-1F: #1f1e1e;
  --color-brown-38: #38292b;
}

/* ==========================================================================
   TITRES
   ========================================================================== */
h2 {
  line-height: normal !important;
}

@media screen and (max-width: 767px) {
  body.page div.elementor-element .elementor-widget-container {
    & h2.elementor-heading-title {
      font-size: 2.2rem !important;
      line-height: 2.2rem !important;
    }
    & h2.elementor-heading-title span.minion {
      font-size: 3rem !important;
      line-height: 2.5rem !important;
    }
    & h1.elementor-heading-title {
      font-size: 2.5rem !important;
      line-height: 2.5rem !important;
    }
    & h1.elementor-heading-title span.minion {
      font-size: 3rem !important;
      line-height: 2.5rem !important;
    }
  }
}

/* ==========================================================================
   BOUTONS — base
   ========================================================================== */
.forBtnWhiteAndSecondary a.elementor-button,
.forBtnWhiteAndPrimary a.elementor-button,
.btnMenu > a.elementor-item,
.btnPrimary,
.btnSecondary,
.btnWhiteAndPrimary,
.btnWhiteAndSecondary,
.btnBlackAndWhite,
.btnTransparentAndPrimary,
.btnTransparentAndWhite {
  display: flex !important;
  width: 210px !important;
  height: 45px !important;
  padding: 13px 32px 14px 33px !important;
  justify-content: center !important;
  align-items: center !important;
  border-radius: 60px !important;

  color: var(--color-white) !important;
  font-family: 'Euclid Circular B' !important;
  font-size: 18px !important;
  font-style: normal !important;
  font-weight: 500 !important;
  line-height: 18px !important; /* 100% */
}

.forBtnWhiteAndPrimary a.elementor-button,
.forBtnWhiteAndSecondary a.elementor-button {
  height: auto !important;
  width: fit-content !important;
}

.btnMenu,
.btnMenu > a.elementor-item {
  height: 41px !important;
}

.btnPrimary {
  background: var(--color-primary);
}

.btnSecondary {
  background: var(--color-secondary);
}

.forBtnWhiteAndPrimary a.elementor-button,
.btnWhiteAndPrimary {
  all: unset;
  background: var(--color-white) !important;
  color: var(--color-primary) !important;
}

.forBtnWhiteAndSecondary a.elementor-button,
.btnWhiteAndSecondary {
  background: var(--color-white) !important;
  color: var(--color-secondary) !important;
}

.btnBlackAndWhite {
  background: var(--color-black-1F);
}

.btnTransparentAndPrimary,
.btnTransparentAndWhite {
  background: transparent !important;
  border: solid 1px var(--color-white);
}

/* Boutons — survol */
.forBtnPrimary > a.elementor-item:hover,
.btnPrimary:hover {
  background: var(--color-primary-hover);
  box-shadow: 0 0 4px 0 rgba(255, 255, 255, 0.25);
}

.forBtnSecondary > a.elementor-item:hover,
.btnSecondary:hover {
  background: var(--color-secondary-hover);
  box-shadow: 0 0 4px 0 rgba(255, 255, 255, 0.25);
}

.forBtnWhiteAndPrimary a.elementor-button:hover,
.btnWhiteAndPrimary:hover,
.btnWhiteAndSecondary:hover,
.forBtnWhiteAndSecondary a.elementor-button:hover {
  background: var(--color-white);
  box-shadow: 0 0 6.9px 2px rgba(0, 0, 0, 0.3) inset;
}

.btnBlackAndWhite:hover {
  background: var(--color-brown-38);
  box-shadow: 0 0 6.9px 2px rgba(0, 0, 0, 0.3) inset;
}

.btnTransparentAndPrimary:hover {
  background: var(--color-white);
  color: var(--color-brown-38);
}

.btnTransparentAndWhite:hover {
  background: var(--color-white);
  color: var(--color-black-1F);
}

/* ==========================================================================
   TYPOGRAPHIE — helpers
   ========================================================================== */
.uppercase {
  text-transform: uppercase;
}

.minion {
  color: var(--color-primary);
  font-family: 'Minion Pro';
  font-size: 56px;
  font-style: italic;
  font-weight: 500;
  line-height: 3.5rem !important;
}

.secondary {
  color: var(--e-global-color-secondary) !important;
}

.minion.fs-50 {
  font-size: 3.125rem !important;
  line-height: 3.125rem !important;
}

.minionBlack {
  font-family: var(--e-global-typography-secondary-font-family) !important;
}

/* couleurs de texte */
.beige-F4,
.beige-f4 {
  color: var(--e-global-color-c70ede9) !important;
}

.pinkOrage-F9 {
  color: #f98d8d !important;
}

.white {
  color: #fff !important;
}

/* ==========================================================================
   MINI-BORDURE (barre d'accent sous les titres)
   ========================================================================== */
.miniBorder::after,
.miniBorderCenter::after {
  position: absolute;
  left: 0;
  bottom: 0;
  content: '';
  width: 82px;
  height: 6px;
  background-color: var(--color-primary);
  border-radius: 60px;
}

.miniBorder.secondary::after,
.miniBorderCenter.secondary::after {
  background-color: var(--e-global-color-secondary) !important;
}

.miniBorder.brown-37::after {
  background-color: var(--e-global-color-77af503) !important;
}

.miniBorder.beige-F4::after {
  background-color: var(--e-global-color-c70ede9) !important;
}

.miniBorder.white::after {
  background-color: #fff !important;
}

.miniBorderCenter::after {
  left: 50% !important;
  transform: translateX(-50%) !important;
}

/* ==========================================================================
   IMAGE — recadrage mobile
   ========================================================================== */
@media screen and (max-width: 1024px) {
  .fitImgMobile,
  .fitImgMobile > .elementor-widget-container {
    width: 376px !important;
    max-height: 450px !important;
    overflow: hidden !important;
  }
}

/* ==========================================================================
   ACTUALITÉS (home) — tags
   ========================================================================== */
.tags .elementor-post-info__terms-list {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  row-gap: 10px !important;
  column-gap: 5px !important;
}

.tags a.elementor-post-info__terms-list-item {
  padding: 5px 15px !important;
  background: #eee6d6 !important;
  border-radius: 33px !important;
}

/* ==========================================================================
   ICÔNE INVERSÉE (texte puis icône)
   ========================================================================== */
.reverseIcon ul > li > a {
  display: flex !important;
  flex-direction: row-reverse !important;

  &:hover span {
    color: var(--e-global-color-primary) !important;
  }

  > span:nth-child(2) {
    padding: 0 !important;
    padding-right: 10px !important;
  }
}

/* ==========================================================================
   AVIS GOOGLE — flèche "précédent" du carousel
   ========================================================================== */
/* masquée par défaut (desktop)... */
.btnAvisGoogle
  .elementor-widget-container
  .ue-remote-carousel-navigation-wrapper
  .ue-remote-carousel-navigation
  .ue-remote-arrow.ue-carousel-prev {
  display: none !important;
}

/* ...affichée et pivotée sur mobile */
@media screen and (max-width: 767px) {
  .btnAvisGoogle
    .elementor-widget-container
    .ue-remote-carousel-navigation-wrapper
    .ue-remote-carousel-navigation
    .ue-remote-arrow.ue-carousel-prev {
    display: flex !important;
    transform: rotate(-180deg) !important;
    margin-top: -13px !important;
  }
}

/* ==========================================================================
   CAROUSELS — dégradés latéraux (fade) sur mobile
   ========================================================================== */
@media screen and (max-width: 767px) {
  .beforeAnAfterGradient::before,
  .beforeAnAfterGradient::after,
  .beforeAnAfterGradient .elementor-widget-image-carousel::before,
  .beforeAnAfterGradient .elementor-widget-image-carousel::after {
    content: '';
    position: absolute;
    top: 0;
    width: 75px;
    height: 100%;
    z-index: 2;
    background: var(--e-global-color-89bf52e);
  }



  .beforeAnAfterGradient::before,
  .beforeAnAfterGradient .elementor-widget-image-carousel::before {
    left: 0;
    mask-image: linear-gradient(to right, var(--e-global-color-89bf52e) 0px, transparent 50px);
    -webkit-mask-image: linear-gradient(to right, var(--e-global-color-89bf52e) 0px, transparent 50px);
  }

  .beforeAnAfterGradient::after,
  .beforeAnAfterGradient .elementor-widget-image-carousel::after {
    right: 0;
    mask-image: linear-gradient(to left, var(--e-global-color-89bf52e) 0px, transparent 50px);
    -webkit-mask-image: linear-gradient(to left, var(--e-global-color-89bf52e) 0px, transparent 50px);
  }

  .beforeAnAfterGradient .swiper-initialized.swiper-horizontal {
    overflow: visible !important;
    clip-path: inset(0 -45px -20px -45px) !important;
  }
}

/* ==========================================================================
   ANIMATIONS D'APPARITION
   ========================================================================== */
@keyframes fadeDown {
  from {
    opacity: 0;
    transform: translate3d(0, -30px, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.elementor-element.fadeInDown {
  animation-name: fadeDown;
}

@keyframes fadeLeft {
  from {
    opacity: 0;
    transform: translate3d(-30px, 0, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.elementor-element.fadeInLeft {
  animation-name: fadeLeft;
}

@keyframes fadeRight {
  from {
    opacity: 0;
    transform: translate3d(30px, 0, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.elementor-element.fadeInRight {
  animation-name: fadeRight;
}

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translate3d(0, 30px, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.elementor-element.fadeInUp {
  animation-name: fadeUp;
}

@keyframes slideUp {
  from {
    opacity: 0;
    transform: translate3d(0, 100px, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.elementor-element.slideInUp {
  animation-name: slideUp;
}

/* ==========================================================================
   GÉNÉRAL
   ========================================================================== */
p:last-child {
  margin-block-end: 0 !important;
}

.breakable-world .elementor-heading-title {
  word-break: break-word;

  & span {
    word-break: auto-phrase;
  }
}

.noLink a {
  pointer-events: none; /* Désactive les clics, la sélection et le survol */
  cursor: default;
}

/* ==========================================================================
   PLAN DU SITE
   ========================================================================== */
.page-plan-du-site .elementor-shortcode ul {
  padding: 0 !important;
  list-style: none !important;

  > li {
    text-decoration: none !important;
    list-style: none !important;
  }

  > li > a {
    display: flex;
    width: fit-content !important;
    padding: 10px !important;
    color: var(--e-global-color-77af503) !important;
    font-family: var(--e-global-typography-primary-font-family) !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: normal !important;

    &:hover {
      color: var(--e-global-color-primary) !important;
    }
  }
}

/* ==========================================================================
   CONDITIONS D'UTILISATION & POLITIQUE DE CONFIDENTIALITÉ
   ========================================================================== */
.page-conditions-dutilisation .condition-container h2,
.page-politique-de-confidentialite .politique-container h2 {
  position: relative !important;
  padding-bottom: 1rem !important;
}

.page-conditions-dutilisation .condition-container h2::after,
.page-politique-de-confidentialite .politique-container h2::after {
  position: absolute;
  left: 0;
  bottom: 0;
  content: '';
  width: 60px;
  height: 6px;
  background-color: var(--color-primary);
  border-radius: 60px;
}

.page-conditions-dutilisation .condition-container a,
.page-politique-de-confidentialite .politique-container a {
  color: var(--e-global-color-primary) !important;
}

/* rating google */
.rating-google-hide {
  display: none !important;
}

.container-avis-google {
    max-width: 550px!important;
}


.translatepress-en_CA .mobilite-col {
    background-image: url('https://mobilidee.ca/wp-content/uploads/2026/07/EN-Page-services-Fairmove.webp')!important;;
}

.translatepress-en_CA .covoit-mockup {
    background-image: url('https://mobilidee.ca/wp-content/uploads/2026/07/Frame-17836-scaled.webp')!important
}

.translatepress-en_CA  .hexa-mockup {
     background-image: url('https://mobilidee.ca/wp-content/uploads/2026/07/Group-9018.webp')!important
}

.translatepress-en_CA  .price-popup {
    background-image: url('https://mobilidee.ca/wp-content/uploads/2026/07/Group-9019.webp')!important
}

.translatepress-en_CA  .qr-code-mockup {
	background-image: url('https://mobilidee.ca/wp-content/uploads/2026/07/reservation-stationnement-1.webp')!important;
}


