/* ============================================================
   Ease Advisory - styles personnalises
   Regroupes depuis le code d'en-tete du site le 10/10/2026.
   Charges via ir.asset dans le bundle web.assets_frontend,
   donc mis en cache par le navigateur au lieu d'etre
   reinjectes dans le HTML de chaque page.
   ============================================================ */

/* --- bloc 1 : ease-mobile-fix --- */
@media (max-width: 767.98px) {
  .s_cover h1 { font-size: 30px !important; line-height: 1.2 !important; }
  .s_cover .container { padding-top: 40px !important; padding-bottom: 40px !important; }
  .s_cover { min-height: 42vh !important; }
  #wrap h2 { font-size: 23px !important; }

  /* Articles: force consistent image-on-top order on mobile */
  .row.g-0.align-items-stretch { display: flex; flex-wrap: wrap; }
  .row.g-0.align-items-stretch > .col-lg-6:not(.d-flex) { order: 1; }
  .row.g-0.align-items-stretch > .col-lg-6.d-flex { order: 2; }
  /* Homepage hero: show the illustration on mobile too */
  .o_grid_item_image.o_snippet_mobile_invisible { display: block !important; }
  .o_grid_item_image.o_snippet_mobile_invisible img { width: 100%; height: auto; }

}
@media (min-width: 768px) and (max-width: 991.98px) {
  .s_cover h1 { font-size: 40px !important; }
}

/* --- bloc 2 : ease-cover-fix --- */
body.o_website_url_comptabilite_reporting .s_cover.o_half_screen_height,
body.o_website_url_fiscalite_conformite .s_cover.o_half_screen_height,
body.o_website_url_holding_soparfi .s_cover.o_half_screen_height,
body.o_website_url_juridique_administratif .s_cover.o_half_screen_height,
body.o_website_url_paie_administration_rh .s_cover.o_half_screen_height,
body.o_website_url_conseil_consulting_financier .s_cover.o_half_screen_height,
body.o_website_url_formations .s_cover.o_half_screen_height,
body.o_website_url_commissaire_aux_comptes .s_cover.o_half_screen_height{
  min-height:42vh !important;
}
@media (max-width:767.98px){
body.o_website_url_comptabilite_reporting .s_cover.o_half_screen_height,
body.o_website_url_fiscalite_conformite .s_cover.o_half_screen_height,
body.o_website_url_holding_soparfi .s_cover.o_half_screen_height,
body.o_website_url_juridique_administratif .s_cover.o_half_screen_height,
body.o_website_url_paie_administration_rh .s_cover.o_half_screen_height,
body.o_website_url_conseil_consulting_financier .s_cover.o_half_screen_height,
body.o_website_url_formations .s_cover.o_half_screen_height,
body.o_website_url_commissaire_aux_comptes .s_cover.o_half_screen_height{
  min-height:34vh !important;
}
}

/* --- bloc 3 : ease-mobilemenu-fix --- */
#top_menu_collapse_mobile .offcanvas-body{
  justify-content:flex-start !important;
  flex-direction:column !important;
}
#top_menu_collapse_mobile .offcanvas-body > ul.navbar-nav{
  flex-grow:0 !important;
}

/* --- bloc 4 : ease-h1-fix --- */
@media (max-width:767.98px){
  #wrap h1{
    font-size:34px !important;
    line-height:1.15 !important;
    overflow-wrap:break-word;
    word-break:normal;
  }
}

/* --- bloc 5 : ease-about-fix --- */
@media (max-width:991.98px){
  /* A propos : la photo vient apres le premier bloc de texte (ordre du DOM) */
  body.o_website_url_a_propos .row.align-items-start > .col-lg-4{
    margin-top: 0.5rem;
    margin-bottom: 1.5rem;
  }
}

/* --- bloc 6 : ease-home-spacing-fix --- */
/* Homepage: tighten oversized vertical gaps between sections */
body.o_website_url_home section.s_banner{
  padding-top: 56px !important;
  padding-bottom: 40px !important;
}
body.o_website_url_home section.s_key_benefits{
  padding-top: 24px !important;
  padding-bottom: 48px !important;
}
@media (max-width: 767.98px){
  body.o_website_url_home section.s_banner{
    padding-top: 32px !important;
    padding-bottom: 24px !important;
  }
  body.o_website_url_home section.s_key_benefits{
    padding-top: 16px !important;
    padding-bottom: 32px !important;
  }
}

/* --- bloc 7 : ease-mobile-polish --- */
/* Mobile : texte justifie avec cesure (demande client) */
@media (max-width: 991.98px){
  #wrapwrap [style*="text-align: justify"],
  #wrapwrap [style*="text-align:justify"],
  #wrapwrap .text-justify,
  #wrapwrap .o_wblog_post_content_field p,
  #wrapwrap .o_wblog_post_content_field li{
    text-align: justify !important;
    -webkit-hyphens: auto !important;
    hyphens: auto !important;
    overflow-wrap: break-word;
  }
}
/* Mobile: tableaux des articles defilables au lieu de deborder la page */
@media (max-width: 767.98px){
  #wrapwrap .o_wblog_post_content_field table{
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    font-size: 14px;
  }
  #wrapwrap .o_wblog_post_content_field table th,
  #wrapwrap .o_wblog_post_content_field table td{ white-space: normal; }
  #wrap img, #wrap iframe{ max-width: 100%; }
}
/* Liens de contenu bien visibles */
#wrapwrap .o_ease_cta a,
#wrapwrap .o_ease_intro_links a,
#wrapwrap .o_ease_services_intro a,
#wrapwrap .o_wblog_post_content_field p a{
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* --- bloc 8 : ease-blog-tables --- */
/* Tableaux des articles : mise en forme soignee */
#wrapwrap .o_wblog_post_content_field table{
  border-collapse: collapse;
  width: 100%;
  margin: 1.5rem 0;
  font-size: 0.95rem;
  line-height: 1.5;
}
#wrapwrap .o_wblog_post_content_field table th,
#wrapwrap .o_wblog_post_content_field table td{
  padding: 10px 12px;
  border: 1px solid #e6e2db;
  vertical-align: top;
  text-align: left;
}
#wrapwrap .o_wblog_post_content_field table thead th{
  background-color: #F6F5F4;
  color: #1B2A47;
  font-weight: 600;
}
#wrapwrap .o_wblog_post_content_field table tbody tr:nth-child(even) td{
  background-color: #FBFAF9;
}
@media (max-width: 767.98px){
  #wrapwrap .o_wblog_post_content_field table{ font-size: 0.78rem; }
  #wrapwrap .o_wblog_post_content_field table th,
  #wrapwrap .o_wblog_post_content_field table td{ padding: 5px 6px; }
}

/* --- bloc 9 : ease-lead-links --- */
/* Liens internes dans les paragraphes d'introduction */
#wrapwrap #wrap p.lead a:not(.btn){
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* --- bloc 10 : ease-mobile-spacing --- */
/* Mobile : espacements verticaux plus compacts (hors page d accueil deja reglee) */
@media (max-width: 767.98px){
  body:not(.o_website_url_home) #wrap section.pt48,
  body:not(.o_website_url_home) #wrap section.pt56,
  body:not(.o_website_url_home) #wrap section.pt64,
  body:not(.o_website_url_home) #wrap section.pt72,
  body:not(.o_website_url_home) #wrap section.pt80,
  body:not(.o_website_url_home) #wrap section.pt88,
  body:not(.o_website_url_home) #wrap section.pt96,
  body:not(.o_website_url_home) #wrap section.pt104,
  body:not(.o_website_url_home) #wrap section.pt128,
  body:not(.o_website_url_home) #wrap section.pt160{
    padding-top: 40px !important;
  }
  body:not(.o_website_url_home) #wrap section.pb48,
  body:not(.o_website_url_home) #wrap section.pb56,
  body:not(.o_website_url_home) #wrap section.pb64,
  body:not(.o_website_url_home) #wrap section.pb72,
  body:not(.o_website_url_home) #wrap section.pb80,
  body:not(.o_website_url_home) #wrap section.pb88,
  body:not(.o_website_url_home) #wrap section.pb96,
  body:not(.o_website_url_home) #wrap section.pb104,
  body:not(.o_website_url_home) #wrap section.pb128,
  body:not(.o_website_url_home) #wrap section.pb160{
    padding-bottom: 40px !important;
  }
}

/* --- bloc 11 : seo_justify_css --- */
/* seo-justify:start */
main p, main li { text-align: justify; text-justify: inter-word; }
main .text-center, main .text-center p, main .text-center li { text-align: center; }
main .text-end, main .text-end p, main .text-end li { text-align: right; }
main .btn, main figcaption, main table p, main td, main th { text-align: inherit; }
main .s_banner p, main .s_cover p { text-align: inherit; }
/* seo-justify:end */

/* --- bloc 12 --- */
#wrapwrap main p, #wrapwrap main li, #wrapwrap main .card-text { text-align: justify; -webkit-hyphens: auto; hyphens: auto; }
#wrapwrap main [style*="text-align: justify"], #wrapwrap main [style*="text-align:justify"] { text-align: justify !important; }
#wrapwrap main .text-center, #wrapwrap main .text-center p, #wrapwrap main .text-center li { text-align: center !important; }
#wrapwrap main [style*="text-align: center"] p, #wrapwrap main [style*="text-align:center"] p, #wrapwrap main [style*="text-align: center"] li, #wrapwrap main [style*="text-align:center"] li { text-align: center !important; }
#wrapwrap main .text-end, #wrapwrap main .text-end p, #wrapwrap main .text-end li { text-align: right !important; }
#wrapwrap main [style*="text-align: right"] p, #wrapwrap main [style*="text-align:right"] p { text-align: right !important; }
.o_wblog_post_content_field p, .o_wblog_post_content_field li { text-align: justify !important; -webkit-hyphens: auto !important; hyphens: auto !important; font-size: 1.06rem !important; line-height: 1.75 !important; }
body.o_website_blog_blog_post_complete .o_container_small { max-width: 780px; }
.o_wblog_post_list_author.o_list_cover { display: none !important; }

/* --- bloc 13 : ease-mobile-readability --- */
@media (max-width: 991.98px){
  html body #wrapwrap main p,
  html body #wrapwrap main li,
  html body #wrapwrap main .card-text,
  html body #wrapwrap .o_wblog_post_content_field p,
  html body #wrapwrap .o_wblog_post_content_field li,
  html body #wrapwrap main [style*="text-align: justify"],
  html body #wrapwrap main [style*="text-align:justify"]{
    text-align: left !important;
    text-justify: auto !important;
    -webkit-hyphens: none !important;
    hyphens: none !important;
  }
  html body #wrapwrap main .text-center,
  html body #wrapwrap main .text-center p,
  html body #wrapwrap main .text-center li,
  html body #wrapwrap main [style*="text-align: center"] p,
  html body #wrapwrap main [style*="text-align:center"] p,
  html body #wrapwrap main [style*="text-align: center"] li,
  html body #wrapwrap main [style*="text-align:center"] li{
    text-align: center !important;
  }
  html body #wrapwrap main .s_key_benefits [class*="col-"]{ padding-top: 24px !important; padding-bottom: 8px !important; }
}

/* --- bloc 14 : ease-mobile-cards --- */
@media (max-width: 767.98px){
  html body #wrapwrap .ea-home-services .row{ margin-left:-6px !important; margin-right:-6px !important; }
  html body #wrapwrap .ea-home-services .row > div{ flex:0 0 50% !important; max-width:50% !important; width:50% !important; padding-left:6px !important; padding-right:6px !important; margin-bottom:12px !important; }
  html body #wrapwrap .ea-home-services .ea-home-svc{ padding:14px 12px !important; border-radius:10px !important; display:flex !important; align-items:center !important; min-height:74px !important; background:#FBFAF8 !important; }
  html body #wrapwrap .ea-home-services .ea-home-svc h3{ font-size:15px !important; line-height:1.3 !important; margin:0 !important; }
  html body #wrapwrap .ea-home-services .ea-home-svc p,
  html body #wrapwrap .ea-home-services .ea-home-svc span{ display:none !important; }
}
@media (max-width: 991.98px){
  html body #wrapwrap section.o_seo_faq div.mb-4{ border-bottom:1px solid #E7E5E0; padding-bottom:12px; margin-bottom:12px !important; }
  html body #wrapwrap section.o_seo_faq div.mb-4 > p{ display:none; }
  html body #wrapwrap section.o_seo_faq div.mb-4.ea-faq-open > p{ display:block; margin-top:10px !important; }
  html body #wrapwrap section.o_seo_faq div.mb-4 > h3{ cursor:pointer; position:relative; padding-right:30px; margin-bottom:0 !important; font-size:16px !important; line-height:1.45 !important; }
  html body #wrapwrap section.o_seo_faq div.mb-4 > h3::after{ content:"+"; position:absolute; right:2px; top:50%; transform:translateY(-50%); font-size:22px; font-weight:400; line-height:1; color:#1B2A47; }
  html body #wrapwrap section.o_seo_faq div.mb-4.ea-faq-open > h3::after{ content:"\2013"; }
}
@media (min-width: 992px){
  html body #wrapwrap section.o_seo_faq div.mb-4 > p{ display:block !important; }
  html body #wrapwrap section.o_seo_faq div.mb-4 > h3{ cursor:auto; padding-right:0; }
  html body #wrapwrap section.o_seo_faq div.mb-4 > h3::after{ content:none; }
}

/* --- bloc 15 : ease-typo-harmo --- */
/* 1. Echelle typographique unifiee (desktop) */
@media (min-width: 992px){
  html body #wrapwrap main h1{ font-size:54px !important; line-height:1.14 !important; }
  html body #wrapwrap main h2{ font-size:32px !important; line-height:1.26 !important; }
  html body #wrapwrap main .col-4 h2,
  html body #wrapwrap main .col-6 h2,
  html body #wrapwrap main .col-sm-6 h2,
  html body #wrapwrap main .col-md-4 h2,
  html body #wrapwrap main .col-md-6 h2,
  html body #wrapwrap main .col-lg-3 h2,
  html body #wrapwrap main .col-lg-4 h2,
  html body #wrapwrap main .col-lg-5 h2,
  html body #wrapwrap main .col-lg-6 h2,
  html body #wrapwrap main .card h2,
  html body #wrapwrap main .s_card h2{ font-size:22px !important; line-height:1.3 !important; }
}
/* 2. Plus de cesure ; justification reservee aux colonnes larges */
html body #wrapwrap main, html body #wrapwrap main *{ -webkit-hyphens:manual !important; hyphens:manual !important; }
@media (min-width: 992px){
  html body #wrapwrap main .col-4 p,
  html body #wrapwrap main .col-6 p,
  html body #wrapwrap main .col-sm-6 p,
  html body #wrapwrap main .col-md-4 p,
  html body #wrapwrap main .col-md-6 p,
  html body #wrapwrap main .col-lg-3 p,
  html body #wrapwrap main .col-lg-4 p,
  html body #wrapwrap main .col-lg-5 p,
  html body #wrapwrap main .col-lg-6 p,
  html body #wrapwrap main .card p,
  html body #wrapwrap main .s_card p,
  html body #wrapwrap main .col-4 li,
  html body #wrapwrap main .col-6 li,
  html body #wrapwrap main .col-sm-6 li,
  html body #wrapwrap main .col-md-4 li,
  html body #wrapwrap main .col-md-6 li,
  html body #wrapwrap main .col-lg-3 li,
  html body #wrapwrap main .col-lg-4 li,
  html body #wrapwrap main .col-lg-5 li,
  html body #wrapwrap main .col-lg-6 li,
  html body #wrapwrap main .card li,
  html body #wrapwrap main .s_card li{ text-align:left !important; }
  html body #wrapwrap main .text-center p, html body #wrapwrap main .text-center li{ text-align:center !important; }
}
/* 3. Largeur de lecture de la FAQ accueil */
@media (min-width: 992px){
  html body #wrapwrap main section.o_seo_faq > .container > h2,
  html body #wrapwrap main section.o_seo_faq > .container > div.mb-4{ max-width:52rem; }
}
/* 4. Cartes "A qui s adresse" compactes sur mobile */
@media (max-width: 991.98px){
  html body #wrapwrap main .s_card.o_card_img_horizontal{ flex-direction:row !important; align-items:stretch !important; margin-bottom:12px !important; }
  html body #wrapwrap main .s_card.o_card_img_horizontal > .o_card_img_wrapper{ flex:0 0 108px !important; width:108px !important; max-width:108px !important; align-self:stretch !important; --bs-aspect-ratio:0 !important; }
  html body #wrapwrap main .s_card.o_card_img_horizontal > .o_card_img_wrapper::before{ padding-top:0 !important; }
  html body #wrapwrap main .s_card.o_card_img_horizontal > .o_card_img_wrapper > img{ position:absolute !important; top:0 !important; left:0 !important; width:100% !important; height:100% !important; object-fit:cover !important; }
  html body #wrapwrap main .s_card.o_card_img_horizontal .card-body{ padding:14px 16px !important; }
  html body #wrapwrap main .s_card.o_card_img_horizontal .card-title{ margin-bottom:6px !important; font-size:17px !important; }
  html body #wrapwrap main .s_card.o_card_img_horizontal .card-text{ font-size:14px !important; line-height:1.5 !important; margin-bottom:0 !important; text-align:left !important; }
}

/* --- bloc 16 : ease-typo-harmo-2 --- */
@media (min-width: 992px){
  html body #wrapwrap main .col-lg-7 p, html body #wrapwrap main .col-lg-7 li,
  html body #wrapwrap main .col-lg-2 p, html body #wrapwrap main .col-lg-2 li,
  html body #wrapwrap main .col-md-3 p, html body #wrapwrap main .col-md-3 li{ text-align:left !important; }
  html body #wrapwrap main .col-lg-7 .text-center p, html body #wrapwrap main .col-lg-7 .text-center li{ text-align:center !important; }
}

/* --- bloc 17 : ease-lists --- */
html body #wrapwrap main ul[style*="line-height:1.7"] li{ text-align:left !important; hyphens:manual !important; }
@media (max-width:767.98px){
  html body #wrapwrap main ul[style*="line-height:1.7"]{ font-size:16px !important; line-height:1.6 !important; padding-left:20px !important; margin-bottom:16px !important; }
  html body #wrapwrap main ul[style*="line-height:1.7"] li{ font-size:16px !important; margin-bottom:7px !important; }
  html body #wrapwrap main ul[style*="line-height:1.7"] li::marker{ color:#8a8f98; }
}

/* --- bloc 18 : ease-noxscroll --- */
@media (max-width:991.98px){ html, body { overflow-x: clip; } }

