.elementor-kit-73{--e-global-color-primary:#121316;--e-global-color-secondary:#8E1B21;--e-global-color-text:#3A3D42;--e-global-color-accent:#DC4B45;--e-global-color-c1a0001:#F5F3EF;--e-global-color-c1a0002:#FFFFFF;--e-global-color-c1a0003:#0B0C0E;--e-global-color-c1a0004:#C79A5B;--e-global-color-c1a0005:#C9C6C0;--e-global-color-c1a0006:#E4E0D8;--e-global-color-c1a0007:rgba(255,255,255,0.12);--e-global-color-c1a0008:#1B1D21;--e-global-typography-primary-font-family:"Archivo";--e-global-typography-primary-font-weight:700;--e-global-typography-primary-line-height:1.12em;--e-global-typography-primary-letter-spacing:-0.8px;--e-global-typography-secondary-font-family:"Archivo";--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-text-transform:uppercase;--e-global-typography-secondary-line-height:1.4em;--e-global-typography-secondary-letter-spacing:2.6px;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.75em;--e-global-typography-accent-font-family:"Archivo";--e-global-typography-accent-font-weight:600;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:1.2em;--e-global-typography-accent-letter-spacing:1.6px;background-color:#FFFFFF;color:#3A3D42;font-family:"Inter", Sans-serif;font-size:17px;font-weight:400;line-height:1.75em;}.elementor-kit-73 button,.elementor-kit-73 input[type="button"],.elementor-kit-73 input[type="submit"],.elementor-kit-73 .elementor-button{background-color:#8E1B21;font-family:"Archivo", Sans-serif;font-size:13.5px;font-weight:600;text-transform:uppercase;line-height:1.2em;letter-spacing:1.6px;color:#FFFFFF;border-style:solid;border-width:1px 1px 1px 1px;border-color:#8E1B21;border-radius:2px 2px 2px 2px;}.elementor-kit-73 button:hover,.elementor-kit-73 button:focus,.elementor-kit-73 input[type="button"]:hover,.elementor-kit-73 input[type="button"]:focus,.elementor-kit-73 input[type="submit"]:hover,.elementor-kit-73 input[type="submit"]:focus,.elementor-kit-73 .elementor-button:hover,.elementor-kit-73 .elementor-button:focus{background-color:#121316;color:#FFFFFF;}.elementor-kit-73 e-page-transition{background-color:#FFBC7D;}.elementor-kit-73 a{color:#8E1B21;}.elementor-kit-73 a:hover{color:#121316;}.elementor-kit-73 h1{color:#121316;font-family:"Archivo", Sans-serif;font-size:60px;font-weight:700;line-height:1.14em;letter-spacing:-1.4px;}.elementor-kit-73 h2{color:#121316;font-family:"Archivo", Sans-serif;font-size:44px;font-weight:700;line-height:1.14em;letter-spacing:-1px;}.elementor-kit-73 h3{color:#121316;font-family:"Archivo", Sans-serif;font-size:30px;font-weight:700;line-height:1.14em;letter-spacing:-0.5px;}.elementor-kit-73 h4{color:#121316;font-family:"Archivo", Sans-serif;font-size:22px;font-weight:700;line-height:1.14em;letter-spacing:-0.2px;}.elementor-kit-73 h5{color:#8E1B21;font-family:"Archivo", Sans-serif;font-size:15px;font-weight:600;text-transform:uppercase;line-height:1.4em;letter-spacing:2.6px;}.elementor-kit-73 h6{color:#8E1B21;font-family:"Archivo", Sans-serif;font-size:13px;font-weight:600;text-transform:uppercase;line-height:1.14em;letter-spacing:2.2px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.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);}@media(max-width:1024px){.elementor-kit-73{font-size:16.5px;}.elementor-kit-73 h1{font-size:46px;}.elementor-kit-73 h2{font-size:36px;}.elementor-kit-73 h3{font-size:26px;}.elementor-kit-73 h4{font-size:20px;}.elementor-kit-73 h5{font-size:15px;}.elementor-kit-73 h6{font-size:13px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-73{font-size:16px;}.elementor-kit-73 h1{font-size:36px;}.elementor-kit-73 h2{font-size:29px;}.elementor-kit-73 h3{font-size:23px;}.elementor-kit-73 h4{font-size:19px;}.elementor-kit-73 h5{font-size:14px;}.elementor-kit-73 h6{font-size:13px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ==================================================================
   VH MENUISERIE - CSS du kit (HDKN)
   Direction : bicolore contraste. Seul code global du site.
   Toutes les classes maison sont prefixees hdkn-.
   ================================================================== */

/* --- 1. Fondations ---------------------------------------------- */
html{scroll-behavior:smooth;}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
::selection{background:var(--e-global-color-secondary);color:#fff;}
.elementor-widget-text-editor a,.elementor-widget-theme-post-content a{
  text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}
.elementor-element .elementor-button:hover,
.elementor-element .elementor-button:focus{border-color:currentColor!important;}
.elementor-button{transition:background-color .3s ease,color .3s ease,border-color .3s ease,
  transform .3s ease,box-shadow .3s ease;}

/* --- 2. Sections sombres ---------------------------------------- */
.hdkn-dark{background-color:var(--e-global-color-primary);}
.hdkn-dark,.hdkn-dark p,.hdkn-dark li,.hdkn-dark .elementor-widget-text-editor{
  color:var(--e-global-color-c1a0005);}
.hdkn-dark h1,.hdkn-dark h2,.hdkn-dark h3,.hdkn-dark h4,
.hdkn-dark .elementor-heading-title{color:#FFFFFF;}
.hdkn-dark h5,.hdkn-dark h6{color:var(--e-global-color-c1a0004);}
.hdkn-dark a{color:var(--e-global-color-accent);}
.hdkn-dark a:hover{color:#FFFFFF;}
.hdkn-dark .elementor-divider-separator{border-color:var(--e-global-color-c1a0007)!important;}

/* --- 3. Surtitre a filet ---------------------------------------- */
.hdkn-eyebrow .elementor-heading-title{display:inline-flex;align-items:center;gap:14px;}
.hdkn-eyebrow .elementor-heading-title::before{content:'';display:block;width:34px;height:2px;
  background:var(--e-global-color-c1a0004);flex:0 0 auto;}
.hdkn-eyebrow.hdkn-eyebrow-center .elementor-heading-title::after{content:'';display:block;
  width:34px;height:2px;background:var(--e-global-color-c1a0004);flex:0 0 auto;}

/* --- 4. Cartes de prestation ------------------------------------- */
/*  Depuis le passage en conteneurs, la carte EST le conteneur.
    La gouttiere se regle donc sur le parent (section 35), plus par padding. */
.hdkn-card-col{
  padding:0!important;background:#FFFFFF;
  border:1px solid var(--e-global-color-c1a0006);border-radius:3px;overflow:hidden;
  height:100%;align-content:flex-start;
  transition:border-color .45s ease,box-shadow .45s ease,transform .45s cubic-bezier(.2,.7,.3,1);}
.hdkn-card-col:hover{
  border-color:var(--e-global-color-secondary);transform:translateY(-6px);
  box-shadow:0 28px 60px -34px rgba(18,19,22,.45);}
.hdkn-card-col .elementor-widget-image-box{margin:0;}
.hdkn-service-card .elementor-image-box-wrapper{display:block;}
.hdkn-service-card .elementor-image-box-img{margin:0!important;overflow:hidden;position:relative;}
.hdkn-service-card .elementor-image-box-img::after{content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(11,12,14,0) 45%,rgba(11,12,14,.42) 100%);
  opacity:0;transition:opacity .45s ease;}
.hdkn-card-col:hover .hdkn-service-card .elementor-image-box-img::after{opacity:1;}
.hdkn-service-card .elementor-image-box-img img{width:100%;aspect-ratio:4/3;object-fit:cover;
  display:block;transition:transform .9s cubic-bezier(.2,.8,.25,1);}
.hdkn-card-col:hover .hdkn-service-card .elementor-image-box-img img{transform:scale(1.07);}
.hdkn-service-card .elementor-image-box-content{padding:26px 26px 30px;position:relative;}
.hdkn-service-card .elementor-image-box-content::before{content:'';position:absolute;
  top:0;left:26px;width:34px;height:2px;background:var(--e-global-color-secondary);
  transition:width .45s cubic-bezier(.2,.7,.3,1);}
.hdkn-card-col:hover .hdkn-service-card .elementor-image-box-content::before{width:64px;}
.hdkn-service-card .elementor-image-box-title{margin-top:16px;}
.hdkn-service-card .elementor-image-box-title a{color:inherit;text-decoration:none;
  transition:color .3s ease;}
.hdkn-card-col:hover .hdkn-service-card .elementor-image-box-title a{
  color:var(--e-global-color-secondary);}
.hdkn-service-card .elementor-image-box-description::after{content:'Découvrir →';
  display:block;margin-top:18px;font-family:'Archivo',sans-serif;font-weight:600;
  font-size:11.5px;letter-spacing:1.6px;text-transform:uppercase;
  color:var(--e-global-color-secondary);opacity:0;transform:translateY(6px);
  transition:opacity .4s ease,transform .4s ease;}
.hdkn-card-col:hover .hdkn-service-card .elementor-image-box-description::after{
  opacity:1;transform:translateY(0);}

/* --- 5. Blocs d'argument aeres ----------------------------------- */
.hdkn-argument{
  padding:34px 30px 36px!important;border:1px solid var(--e-global-color-c1a0007);
  border-radius:3px;height:100%;align-content:flex-start;background:rgba(255,255,255,.02);
  transition:border-color .4s ease,background-color .4s ease,transform .4s ease;}
.hdkn-argument:hover{
  border-color:var(--e-global-color-c1a0004);background:rgba(255,255,255,.045);
  transform:translateY(-4px);}
.hdkn-argument .elementor-widget-heading:first-child{margin-bottom:22px!important;}
.hdkn-argument .elementor-widget-text-editor p{margin:0;}
.hdkn-num .elementor-heading-title{
  font-family:'Archivo',sans-serif;font-weight:700;font-size:12px;letter-spacing:2.6px;
  color:var(--e-global-color-c1a0004);}

/* --- 6. Barre legale du pied de page ----------------------------- */
.hdkn-legal .elementor-icon-list-items.elementor-inline-items{justify-content:center;}
.hdkn-legal .elementor-icon-list-item{white-space:nowrap;}
.hdkn-legal .elementor-icon-list-item a{display:inline;text-decoration:none;}

/* --- 7. En-tete -------------------------------------------------- */
.elementor-nav-menu--dropdown{backdrop-filter:blur(18px);}
#hdkn-header{transition:box-shadow .3s ease;}
#hdkn-header.elementor-sticky--effects{box-shadow:0 10px 30px -22px rgba(18,19,22,.5);}

/* --- 8. Bouton telephone anime ----------------------------------- */
.hdkn-tel .elementor-button{position:relative;white-space:nowrap;}
.hdkn-tel .elementor-button::after{content:'';position:absolute;inset:-2px;border-radius:40px;
  border:1px solid var(--e-global-color-secondary);pointer-events:none;
  animation:hdkn-halo 2.8s cubic-bezier(.22,.61,.36,1) infinite;}
@keyframes hdkn-halo{0%{transform:scale(1);opacity:.5}
  65%{transform:scale(1.12);opacity:0}100%{transform:scale(1.12);opacity:0}}
.hdkn-tel .elementor-button:hover{transform:translateY(-2px);}
.hdkn-tel .elementor-button-icon i,.hdkn-tel .elementor-button-icon svg{
  display:inline-block;animation:hdkn-sonne 3.6s ease-in-out infinite;transform-origin:50% 60%;}
@keyframes hdkn-sonne{0%,86%,100%{transform:rotate(0)}
  89%{transform:rotate(-14deg)}92%{transform:rotate(12deg)}95%{transform:rotate(-8deg)}}
.hdkn-cta-header .elementor-button:hover{transform:translateY(-2px);
  box-shadow:0 12px 24px -14px rgba(18,19,22,.6);}

/* --- 9. Hero ----------------------------------------------------- */
.hdkn-hero .elementor-heading-title{text-wrap:balance;}
.hdkn-hero .elementor-button{width:auto;letter-spacing:1.5px;white-space:nowrap;}
.hdkn-hero .hdkn-btn-primary .elementor-button:hover{transform:translateY(-2px);
  box-shadow:0 16px 32px -16px rgba(0,0,0,.75);}
.hdkn-hero .hdkn-btn-ghost .elementor-button{backdrop-filter:blur(6px);}
.hdkn-hero .hdkn-btn-ghost .elementor-button:hover{transform:translateY(-2px);}
.hdkn-hero .elementor-background-video-container{filter:saturate(.92) contrast(1.04);}
:is(.hdkn-btns.e-con-full, .hdkn-btns > .e-con-inner){justify-content:flex-start;}
:is(.hdkn-btns.e-con-full, .hdkn-btns > .e-con-inner) > .e-con{width:auto!important;flex:0 0 auto!important;}
:is(.hdkn-btns.e-con-full, .hdkn-btns > .e-con-inner) > .e-con{padding:0!important;}
.hdkn-btns .elementor-widget-button{margin:0 14px 0 0!important;}
:is(.hdkn-btns.e-con-full, .hdkn-btns > .e-con-inner) > .e-con:last-child .elementor-widget-button{
  margin-right:0!important;}
.hdkn-scroll .elementor-heading-title{display:inline-flex;align-items:center;gap:10px;
  font-family:'Archivo',sans-serif;font-weight:600;font-size:11px;letter-spacing:2.4px;
  text-transform:uppercase;color:rgba(255,255,255,.62);}
.hdkn-scroll .elementor-heading-title::after{content:'';width:38px;height:1px;
  background:rgba(255,255,255,.45);animation:hdkn-glisse 2.4s ease-in-out infinite;}
@keyframes hdkn-glisse{0%,100%{transform:scaleX(.4);transform-origin:left}
  50%{transform:scaleX(1);transform-origin:left}}

/* --- 10. Zone d'intervention ------------------------------------- */
.hdkn-zone .elementor-icon-list-items.elementor-inline-items{row-gap:8px;flex-wrap:wrap;}
.hdkn-zone .elementor-google-maps iframe{border-radius:2px;}

/* --- 11. Bandeau de reassurance ---------------------------------- */
.hdkn-reassurance .elementor-icon-box-wrapper{align-items:center;}
.hdkn-reassurance .elementor-icon-box-title{margin:0;}

/* --- 12. Formulaires --------------------------------------------- */
.elementor-field-group .elementor-field{border-radius:2px!important;}
.elementor-field-group > label{font-family:'Archivo',sans-serif;font-weight:600;
  font-size:12px;letter-spacing:1.2px;text-transform:uppercase;}
.elementor-field-group .elementor-field:focus{border-color:var(--e-global-color-secondary)!important;
  outline:none;box-shadow:0 0 0 3px rgba(142,27,33,.10);}

/* --- 13. Accordeon FAQ ------------------------------------------- */
.hdkn-faq .elementor-accordion{display:flex;flex-direction:column;gap:12px;}
.hdkn-faq .elementor-accordion-item{
  border:1px solid var(--e-global-color-c1a0006)!important;background:#FFFFFF;overflow:hidden;
  transition:border-color .4s ease,box-shadow .4s ease;}
.hdkn-faq .elementor-accordion-item:hover{
  border-color:rgba(142,27,33,.34)!important;box-shadow:0 16px 34px -26px rgba(18,19,22,.32);}
.hdkn-faq .elementor-tab-title{
  position:relative;padding:23px 74px 23px 30px!important;
  background:transparent!important;border:0!important;cursor:pointer;
  transition:background-color .35s ease;}
.hdkn-faq .elementor-tab-title::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:2px;
  background:var(--e-global-color-secondary);transform:scaleY(0);transform-origin:top;
  transition:transform .45s cubic-bezier(.2,.7,.3,1);}
.hdkn-faq .elementor-tab-title.elementor-active{background:var(--e-global-color-c1a0001)!important;}
.hdkn-faq .elementor-tab-title.elementor-active::before{transform:scaleY(1);}
.hdkn-faq .elementor-accordion-title{
  font-family:'Archivo',sans-serif;font-weight:600;font-size:16.5px;line-height:1.45;
  color:var(--e-global-color-primary);text-decoration:none;transition:color .35s ease;}
.hdkn-faq .elementor-tab-title:hover .elementor-accordion-title,
.hdkn-faq .elementor-tab-title.elementor-active .elementor-accordion-title{
  color:var(--e-global-color-secondary);}
.hdkn-faq .elementor-accordion-icon{
  position:absolute!important;right:26px;top:50%;transform:translateY(-50%);
  float:none!important;width:32px!important;min-width:32px;height:32px!important;
  padding:0!important;box-sizing:border-box;
  border:1px solid var(--e-global-color-c1a0006);border-radius:50%;
  display:block!important;
  transition:background-color .35s ease,border-color .35s ease;}
/*  Le + / − est dessine en CSS : aucune dependance a la fonte d'icones. */
.hdkn-faq .elementor-accordion-icon > span{display:none!important;}
.hdkn-faq .elementor-accordion-icon::before,
.hdkn-faq .elementor-accordion-icon::after{
  content:"";position:absolute;left:50%;top:50%;
  background:var(--e-global-color-secondary);
  transition:transform .38s cubic-bezier(.2,.7,.3,1),background-color .35s ease;}
.hdkn-faq .elementor-accordion-icon::before{
  width:11px;height:1.5px;transform:translate(-50%,-50%);}
.hdkn-faq .elementor-accordion-icon::after{
  width:1.5px;height:11px;transform:translate(-50%,-50%);}
.hdkn-faq .elementor-tab-title.elementor-active .elementor-accordion-icon{
  background:var(--e-global-color-secondary);border-color:var(--e-global-color-secondary);}
.hdkn-faq .elementor-tab-title.elementor-active .elementor-accordion-icon::before{background:#FFFFFF;}
.hdkn-faq .elementor-tab-title.elementor-active .elementor-accordion-icon::after{
  background:#FFFFFF;transform:translate(-50%,-50%) scaleY(0);}
.hdkn-faq .elementor-tab-content{
  padding:0 74px 26px 32px!important;border:0!important;
  background:var(--e-global-color-c1a0001)!important;}
.hdkn-faq .elementor-tab-content p{margin:0;font-size:15px;line-height:1.75;
  color:var(--e-global-color-text);}
@media(max-width:767px){
  .hdkn-faq .elementor-tab-title{padding:19px 58px 19px 20px!important;}
  .hdkn-faq .elementor-accordion-title{font-size:15.5px;}
  .hdkn-faq .elementor-accordion-icon{right:16px;width:28px;height:28px;}
  .hdkn-faq .elementor-tab-content{padding:0 20px 20px!important;}
}

/* --- 13 bis. Encadre lateral de la FAQ -------------------------- */
.hdkn-faq-aside,.hdkn-aside{
  align-self:flex-start!important;height:auto!important;
  background:var(--e-global-color-c1a0001);
  border:1px solid var(--e-global-color-c1a0006);
  padding:26px 26px 30px!important;}
.hdkn-faq-aside .hdkn-figure > .elementor-widget-container,
.hdkn-aside .hdkn-figure > .elementor-widget-container{padding:8px;}
@media(max-width:767px){.hdkn-faq-aside,.hdkn-aside{padding:22px 20px 24px!important;}}

/* --- 14. CTA : libelles de boutons sur une seule ligne ----------- */
.hdkn-cta .elementor-button,
.hdkn-cta .elementor-button .elementor-button-text{white-space:nowrap;}

/* --- 15. Animations ---------------------------------------------- */
/*  Regle de securite : aucune animation ne doit pouvoir laisser un
    contenu invisible. On n'utilise donc que du CSS, jamais l'animation
    d'entree d'Elementor (qui pose .elementor-invisible en attendant son JS). */
@keyframes hdkn-monte{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){
  :is(.hdkn-hero.e-con-full, .hdkn-hero > .e-con-inner) > .e-con > .elementor-element{
    animation:hdkn-monte .9s cubic-bezier(.2,.7,.3,1) both;}
  :is(.hdkn-hero.e-con-full, .hdkn-hero > .e-con-inner) > .e-con > .elementor-element:nth-child(1){animation-delay:.10s}
  :is(.hdkn-hero.e-con-full, .hdkn-hero > .e-con-inner) > .e-con > .elementor-element:nth-child(2){animation-delay:.22s}
  :is(.hdkn-hero.e-con-full, .hdkn-hero > .e-con-inner) > .e-con > .elementor-element:nth-child(3){animation-delay:.34s}
  :is(.hdkn-hero.e-con-full, .hdkn-hero > .e-con-inner) > .e-con > .elementor-element:nth-child(4){animation-delay:.46s}
  :is(.hdkn-hero.e-con-full, .hdkn-hero > .e-con-inner) > .e-con > .elementor-element:nth-child(5){animation-delay:.60s}
}
@supports (animation-timeline: view()){
  @media(prefers-reduced-motion:no-preference){
    .hdkn-card-col,.hdkn-argument,
    .hdkn-reassurance .elementor-widget-icon-box{
      animation:hdkn-monte .85s cubic-bezier(.2,.7,.3,1) both;
      animation-timeline:view();animation-range:entry 0% cover 24%;}
  }
}

/* --- 16. En-tete et menu en tablette / mobile -------------------- */
@media(max-width:1024px){
  #hdkn-header .e-con,
  #hdkn-header .elementor-widget-nav-menu{position:static;}
  :is(#hdkn-header.e-con-full, #hdkn-header > .e-con-inner){position:relative;}
  :is(#hdkn-header.e-con-full, #hdkn-header > .e-con-inner){flex-wrap:nowrap;}
  :is(#hdkn-header.e-con-full, #hdkn-header > .e-con-inner) > .e-con:nth-child(2){order:3;}
  :is(#hdkn-header.e-con-full, #hdkn-header > .e-con-inner) > .e-con:nth-child(3){order:2;}
  .hdkn-argument{padding:30px 26px 32px!important;}
}
@media(max-width:767px){
  #hdkn-header .hdkn-tel .elementor-button{
    padding:10px 14px;font-size:12px;border-radius:40px;white-space:nowrap;}
  #hdkn-header .hdkn-tel .elementor-button-icon i,
  #hdkn-header .hdkn-tel .elementor-button-icon svg{font-size:11px;width:11px;height:11px;}
  #hdkn-header .hdkn-tel .elementor-button-content-wrapper{justify-content:center;}
  #hdkn-header .hdkn-tel,#hdkn-header .hdkn-tel .elementor-widget-container{text-align:center;}
  .hdkn-hero .elementor-button{width:100%;text-align:center;justify-content:center;}
  :is(.hdkn-btns.e-con-full, .hdkn-btns > .e-con-inner){flex-direction:column;}
  :is(.hdkn-btns.e-con-full, .hdkn-btns > .e-con-inner) > .e-con{width:100%!important;}
  .hdkn-btns .elementor-widget-button{margin:0 0 10px 0!important;}
  .hdkn-cta .elementor-button{width:100%;justify-content:center;}
  .hdkn-service-card .elementor-image-box-img img{aspect-ratio:16/10;}
  .hdkn-service-card .elementor-image-box-content{padding:22px 20px 26px;}
  .hdkn-service-card .elementor-image-box-content::before{left:20px;}
  .hdkn-argument{padding:26px 22px 28px!important;}
  .elementor-widget-text-editor table{display:block;overflow-x:auto;}
}

/* --- 17. Respect des preferences de mouvement -------------------- */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important;scroll-behavior:auto!important;}
}

/* --- 18. Liste d'inclusions : lignes a filet --------------------- */
.hdkn-checkgrid .elementor-icon-list-items{display:block!important;margin:0!important;padding:0!important;}
.hdkn-checkgrid .elementor-icon-list-item{
  display:flex!important;align-items:center!important;gap:16px!important;
  padding:15px 4px 15px 0!important;margin:0!important;background:none!important;
  border:0!important;border-bottom:1px solid var(--e-global-color-c1a0006)!important;}
.hdkn-checkgrid .elementor-icon-list-item:first-child{
  border-top:1px solid var(--e-global-color-c1a0006)!important;}
.hdkn-checkgrid .elementor-icon-list-icon{
  width:28px!important;height:28px!important;flex:0 0 28px!important;
  margin:0!important;padding:0!important;line-height:0!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  align-self:center!important;border:1px solid rgba(142,27,33,.30);}
.hdkn-checkgrid .elementor-icon-list-icon i{
  display:block!important;width:auto!important;height:auto!important;line-height:1!important;
  font-size:11px!important;color:var(--e-global-color-secondary)!important;}
.hdkn-checkgrid .elementor-icon-list-icon svg{
  display:block!important;width:11px!important;height:11px!important;margin:0!important;
  fill:var(--e-global-color-secondary)!important;}
.hdkn-checkgrid .elementor-icon-list-text{
  padding:0!important;align-self:center!important;
  font-size:15px;line-height:1.5;color:var(--e-global-color-primary);}
.hdkn-dark .hdkn-checkgrid .elementor-icon-list-item,
.hdkn-dark .hdkn-checkgrid .elementor-icon-list-item:first-child{
  border-color:var(--e-global-color-c1a0007)!important;}
.hdkn-dark .hdkn-checkgrid .elementor-icon-list-text{color:var(--e-global-color-c1a0005);}
@media(max-width:767px){
  .hdkn-checkgrid .elementor-icon-list-item{gap:13px!important;padding:13px 0!important;}
  .hdkn-checkgrid .elementor-icon-list-text{font-size:14.5px;}
}

/* --- 19. Grille matieres : 2 x 2 aere sur fond sombre ----------- */
:is(.hdkn-matgrid.e-con-full, .hdkn-matgrid > .e-con-inner){flex-wrap:wrap;row-gap:16px;}
.hdkn-matgrid .elementor-widget-icon-box > .elementor-widget-container{
  height:100%;padding:22px 22px 24px;
  background:rgba(255,255,255,.03);
  border:1px solid var(--e-global-color-c1a0007);
  border-top:2px solid rgba(199,154,91,.40);
  transition:background-color .45s ease,border-top-color .45s ease,transform .45s cubic-bezier(.2,.7,.3,1);}
.hdkn-matgrid .elementor-widget-icon-box:hover > .elementor-widget-container{
  background:rgba(255,255,255,.065);
  border-top-color:var(--e-global-color-c1a0004);transform:translateY(-4px);}
.hdkn-matgrid .elementor-icon-box-title{font-size:17px!important;}
.hdkn-matgrid .elementor-icon-box-description{font-size:14.5px;line-height:1.65;}
@media(max-width:767px){
  .hdkn-matgrid .elementor-widget-icon-box > .elementor-widget-container{padding:20px 18px;}}

/* --- 20. Photos : cadre et equerres ----------------------------- */
/*  Plus aucune legende n'est posee sur les images du site. */
.hdkn-figure .widget-image-caption{display:none!important;}
.hdkn-figure{margin:16px!important;}
.hdkn-figure > .elementor-widget-container{
  position:relative;padding:12px;background:#FFFFFF;
  border:1px solid var(--e-global-color-c1a0006);
  box-shadow:0 30px 60px -34px rgba(18,19,22,.55);}
.hdkn-figure figure,.hdkn-figure .elementor-image{margin:0;}
.hdkn-figure figure{position:relative;overflow:hidden;display:block;}
.hdkn-figure img{display:block;width:100%!important;height:auto;
  transform:scale(1.001);transition:transform 1.25s cubic-bezier(.2,.7,.2,1);}
.hdkn-figure:hover img{transform:scale(1.055);}
/*  Deux equerres de menuisier, posees en debord du cadre. */
.hdkn-figure > .elementor-widget-container::before,
.hdkn-figure > .elementor-widget-container::after{
  content:"";position:absolute;pointer-events:none;
  width:84px;height:84px;border-style:solid;
  border-color:var(--e-global-color-c1a0004);
  transition:width .6s cubic-bezier(.2,.7,.3,1),height .6s cubic-bezier(.2,.7,.3,1);}
.hdkn-figure > .elementor-widget-container::after{
  top:-14px;right:-14px;border-width:3px 3px 0 0;}
.hdkn-figure > .elementor-widget-container::before{
  bottom:-14px;left:-14px;border-width:0 0 3px 3px;}
.hdkn-figure:hover > .elementor-widget-container::before,
.hdkn-figure:hover > .elementor-widget-container::after{width:124px;height:124px;}
.hdkn-figure-dark > .elementor-widget-container{
  background:var(--e-global-color-c1a0008);
  border-color:var(--e-global-color-c1a0007);
  box-shadow:0 30px 60px -34px rgba(0,0,0,.75);}
@media(max-width:767px){
  .hdkn-figure{margin:14px!important;}
  .hdkn-figure > .elementor-widget-container::before,
  .hdkn-figure > .elementor-widget-container::after{width:56px;height:56px;border-width:2px;}
  .hdkn-figure > .elementor-widget-container::after{border-width:2px 2px 0 0;}
  .hdkn-figure > .elementor-widget-container::before{border-width:0 0 2px 2px;}
  .hdkn-figure:hover > .elementor-widget-container::before,
  .hdkn-figure:hover > .elementor-widget-container::after{width:76px;height:76px;}
}

/* --- 21. Etapes : ruban de mesure et grands numeros ------------- */
:is(.hdkn-steps.e-con-full, .hdkn-steps > .e-con-inner){position:relative;padding-top:40px;}
:is(.hdkn-steps.e-con-full, .hdkn-steps > .e-con-inner)::before{
  content:"";position:absolute;top:0;left:0;right:0;height:16px;
  background-image:
    repeating-linear-gradient(to right,rgba(58,61,66,.30) 0 1px,rgba(58,61,66,0) 1px 15px),
    linear-gradient(to right,rgba(58,61,66,.30),rgba(58,61,66,.30));
  background-size:100% 8px,100% 1px;
  background-position:left bottom,left bottom;
  background-repeat:no-repeat,no-repeat;
  transform:scaleX(1);transform-origin:left center;opacity:1;}
@keyframes hdkn-rail{from{transform:scaleX(0);opacity:0}
  to{transform:scaleX(1);opacity:1}}
.hdkn-step{position:relative;padding-right:18px;}
.hdkn-step::before{
  content:"";position:absolute;left:0;top:-25px;width:9px;height:9px;
  border-radius:50%;background:var(--e-global-color-secondary);
  box-shadow:0 0 0 5px #FFFFFF;
  transition:transform .4s ease,background-color .4s ease;}
.hdkn-step:hover::before{
  transform:scale(1.35);background:var(--e-global-color-primary);}
.hdkn-stepnum .elementor-heading-title{
  font-family:'Archivo',sans-serif;font-weight:700;font-size:66px;
  line-height:.95;letter-spacing:-1.5px;color:transparent;
  -webkit-text-stroke:1.5px var(--e-global-color-c1a0004);
  transition:color .5s ease,-webkit-text-stroke-color .5s ease;}
@supports not (-webkit-text-stroke:1px red){
  .hdkn-stepnum .elementor-heading-title{color:var(--e-global-color-c1a0004);}}
.hdkn-step:hover .hdkn-stepnum .elementor-heading-title{
  color:var(--e-global-color-secondary);
  -webkit-text-stroke-color:var(--e-global-color-secondary);}
.hdkn-step .elementor-widget-heading + .elementor-widget-heading .elementor-heading-title{
  font-size:19px;}
@media(max-width:1024px){
  .hdkn-stepnum .elementor-heading-title{font-size:54px;}
  :is(.hdkn-steps.e-con-full, .hdkn-steps > .e-con-inner){row-gap:34px;}}
@media(max-width:767px){
  :is(.hdkn-steps.e-con-full, .hdkn-steps > .e-con-inner){padding-top:0;row-gap:26px;}
  :is(.hdkn-steps.e-con-full, .hdkn-steps > .e-con-inner)::before{display:none;}
  .hdkn-step::before{display:none;}
  .hdkn-step{padding-right:0;}
  .hdkn-stepnum .elementor-heading-title{font-size:46px;}}

/* --- 22. CTA en bandeau photo ----------------------------------- */
.hdkn-cta-photo{position:relative;overflow:hidden;}
.hdkn-cta-photo::before{content:"";position:absolute;inset:0;
  background:linear-gradient(178deg,rgba(11,12,14,.90) 0%,rgba(18,19,22,.80) 42%,rgba(142,27,33,.86) 100%);}
.hdkn-cta-photo::after{content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(to right,rgba(199,154,91,0),var(--e-global-color-c1a0004),rgba(199,154,91,0));}
:is(.hdkn-cta-photo.e-con-full, .hdkn-cta-photo > .e-con-inner){position:relative;z-index:1;}
.hdkn-cta-photo .elementor-widget-heading .elementor-heading-title,
.hdkn-cta-photo .elementor-widget-text-editor{max-width:720px;margin-left:auto;margin-right:auto;}
:is(.hdkn-cta-actions.e-con-full, .hdkn-cta-actions > .e-con-inner){justify-content:center;}
:is(.hdkn-cta-actions.e-con-full, .hdkn-cta-actions > .e-con-inner) > .e-con{width:auto!important;flex:0 0 auto;}
.hdkn-cta-actions .elementor-widget-button{margin:0;}
@media(max-width:767px){
  :is(.hdkn-cta-actions.e-con-full, .hdkn-cta-actions > .e-con-inner){row-gap:12px;}
  :is(.hdkn-cta-actions.e-con-full, .hdkn-cta-actions > .e-con-inner) > .e-con{width:100%!important;}
  .hdkn-cta-actions .elementor-button{width:100%;justify-content:center;}}

/* --- 23. Engagements (page A propos) ---------------------------- */
.hdkn-engagement{
  position:relative;overflow:hidden;height:100%;align-content:flex-start;
  padding:34px 26px 32px;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.015));
  border:1px solid var(--e-global-color-c1a0007);
  transition:transform .45s cubic-bezier(.2,.7,.3,1),border-color .45s ease;}
.hdkn-engagement::after{
  content:"";position:absolute;left:0;bottom:0;height:2px;width:0;
  background:var(--e-global-color-c1a0004);transition:width .6s cubic-bezier(.2,.7,.2,1);}
.hdkn-engagement:hover{transform:translateY(-5px);
  border-color:rgba(199,154,91,.45);}
.hdkn-engagement:hover::after{width:100%;}
.hdkn-engagement .elementor-icon{transition:background-color .4s ease,color .4s ease,border-color .4s ease;}
.hdkn-engagement:hover .elementor-icon{
  background:var(--e-global-color-c1a0004);color:var(--e-global-color-primary);
  border-color:var(--e-global-color-c1a0004);}
@media(max-width:1024px){
  .hdkn-engagement{padding:28px 22px;}}

/* --- 24. Formulaires : version premium -------------------------- */
.hdkn-form > .elementor-widget-container{
  padding:36px 34px 32px;background:#FCFBF9;
  border:1px solid var(--e-global-color-c1a0006);
  box-shadow:0 26px 54px -32px rgba(18,19,22,.35);}
.hdkn-form .elementor-field-group > label{
  color:var(--e-global-color-primary);font-size:11px;letter-spacing:1.5px;
  margin-bottom:8px;}
.hdkn-form .elementor-field-group .elementor-field-textual{
  background:#FFFFFF;border:1px solid var(--e-global-color-c1a0006)!important;
  border-radius:2px!important;padding:14px 16px!important;
  font-size:15px;line-height:1.4;color:var(--e-global-color-primary);
  transition:border-color .3s ease,box-shadow .3s ease;}
.hdkn-form .elementor-field-group input.elementor-field-textual,
.hdkn-form .elementor-field-group select.elementor-field-textual{min-height:52px;}
.hdkn-form .elementor-field-group .elementor-field-textual:hover{border-color:#CFC8BA!important;}
.hdkn-form .elementor-field-group .elementor-field-textual:focus{
  border-color:var(--e-global-color-secondary)!important;outline:none;
  box-shadow:0 0 0 3px rgba(142,27,33,.10);}
.hdkn-form .elementor-field-group textarea.elementor-field-textual{min-height:150px;resize:vertical;}
.hdkn-form .elementor-field-group select.elementor-field-textual{
  -webkit-appearance:none;appearance:none;padding-right:46px!important;
  background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%238E1B21' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 18px center;}
.hdkn-form .elementor-field-type-checkbox .elementor-field-subgroup,
.hdkn-form .elementor-field-type-radio .elementor-field-subgroup{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.hdkn-form .elementor-field-subgroup .elementor-field-option{
  display:flex;align-items:center;gap:11px;padding:13px 15px;
  background:var(--e-global-color-c1a0001);
  border:1px solid var(--e-global-color-c1a0006);
  transition:border-color .3s ease,background-color .3s ease;}
.hdkn-form .elementor-field-subgroup .elementor-field-option:hover{
  border-color:rgba(142,27,33,.45);background:#FFFFFF;}
.hdkn-form .elementor-field-option label{margin:0;font-size:14.5px;line-height:1.45;cursor:pointer;}
.hdkn-form input[type=checkbox],.hdkn-form input[type=radio]{
  -webkit-appearance:none;appearance:none;
  width:18px;height:18px;flex:0 0 18px;margin:0;position:relative;cursor:pointer;
  background:#FFFFFF;border:1px solid #B9B3A6;border-radius:2px;
  transition:background-color .25s ease,border-color .25s ease;}
.hdkn-form input[type=radio]{border-radius:50%;}
.hdkn-form input[type=checkbox]:checked,.hdkn-form input[type=radio]:checked{
  background:var(--e-global-color-secondary);border-color:var(--e-global-color-secondary);}
.hdkn-form input[type=checkbox]:checked::after{
  content:"";position:absolute;left:5px;top:2px;width:5px;height:9px;
  border:solid #FFFFFF;border-width:0 2px 2px 0;transform:rotate(45deg);}
.hdkn-form input[type=radio]:checked::after{
  content:"";position:absolute;left:5px;top:5px;width:6px;height:6px;
  border-radius:50%;background:#FFFFFF;}
.hdkn-form input[type=checkbox]:focus-visible,.hdkn-form input[type=radio]:focus-visible{
  outline:2px solid var(--e-global-color-secondary);outline-offset:2px;}
.hdkn-form .elementor-field-type-acceptance .elementor-field-subgroup{display:block;}
.hdkn-form .elementor-field-type-acceptance .elementor-field-option{
  display:flex;align-items:flex-start;gap:11px;padding:16px 18px;
  background:var(--e-global-color-c1a0001);
  border:1px solid var(--e-global-color-c1a0006);
  border-left:2px solid var(--e-global-color-secondary);}
.hdkn-form .elementor-field-type-acceptance label{font-size:13.5px;line-height:1.55;}
.hdkn-form .elementor-field-type-submit{margin-top:6px;}
.hdkn-form .elementor-field-type-submit .elementor-button{padding:18px 34px;}
.hdkn-form .elementor-message{font-size:14px;margin-top:12px;}
@media(max-width:767px){
  .hdkn-form > .elementor-widget-container{padding:24px 18px 22px;}
  .hdkn-form .elementor-field-type-checkbox .elementor-field-subgroup,
  .hdkn-form .elementor-field-type-radio .elementor-field-subgroup{grid-template-columns:1fr;}}

/* --- 25. Bloc coordonnees (page Contact) ------------------------ */
.hdkn-contact-card{
  padding:34px 30px 30px;background:var(--e-global-color-c1a0001);
  border:1px solid var(--e-global-color-c1a0006);align-content:flex-start;}
.hdkn-contact-list .elementor-icon-list-items{margin:0;}
.hdkn-contact-list .elementor-icon-list-item{
  align-items:flex-start;padding:15px 0!important;margin:0!important;}
.hdkn-contact-list .elementor-icon-list-item:not(:last-child){
  border-bottom:1px solid var(--e-global-color-c1a0006);}
.hdkn-contact-list .elementor-icon-list-icon{
  width:36px;height:36px;flex:0 0 36px;border-radius:50%;
  background:rgba(142,27,33,.09);margin-right:14px;
  display:flex!important;align-items:center;justify-content:center;
  transition:background-color .35s ease;}
.hdkn-contact-list .elementor-icon-list-item:hover .elementor-icon-list-icon{
  background:var(--e-global-color-secondary);}
.hdkn-contact-list .elementor-icon-list-item:hover .elementor-icon-list-icon i,
.hdkn-contact-list .elementor-icon-list-item:hover .elementor-icon-list-icon svg{color:#FFFFFF!important;fill:#FFFFFF!important;}
.hdkn-contact-list .elementor-icon-list-text{
  padding-left:0!important;font-size:15px;line-height:1.6;padding-top:7px;}
.hdkn-contact-list .elementor-icon-list-text strong{
  display:block;font-family:'Archivo',sans-serif;font-weight:700;
  color:var(--e-global-color-primary);margin-bottom:1px;}

/* --- 26. Liste des suites (page Devis) -------------------------- */
.hdkn-next .elementor-icon-list-item{
  align-items:flex-start;padding:15px 0!important;margin:0!important;}
.hdkn-next .elementor-icon-list-icon{
  width:34px;height:34px;flex:0 0 34px;border-radius:50%;
  background:#FFFFFF;border:1px solid rgba(142,27,33,.26);
  margin-right:14px;display:flex!important;align-items:center;justify-content:center;
  transition:background-color .35s ease,border-color .35s ease;}
.hdkn-next .elementor-icon-list-item:hover .elementor-icon-list-icon{
  background:var(--e-global-color-secondary);border-color:var(--e-global-color-secondary);}
.hdkn-next .elementor-icon-list-item:hover .elementor-icon-list-icon i,
.hdkn-next .elementor-icon-list-item:hover .elementor-icon-list-icon svg{color:#FFFFFF!important;fill:#FFFFFF!important;}
.hdkn-next .elementor-icon-list-text{
  padding-left:0!important;font-size:14.5px;line-height:1.6;padding-top:4px;}
.hdkn-next .elementor-icon-list-text strong{
  display:block;font-family:'Archivo',sans-serif;font-weight:600;
  font-size:11.5px;letter-spacing:1.4px;text-transform:uppercase;
  color:var(--e-global-color-secondary);margin-bottom:3px;}

/* --- 27. Mouvement reduit : nouveaux composants ----------------- */
@media (prefers-reduced-motion:reduce){
  .hdkn-figure img,.hdkn-figure:hover img{transform:none!important;transition:none!important;}
  :is(.hdkn-steps.e-con-full, .hdkn-steps > .e-con-inner)::before{transform:scaleX(1);opacity:1;animation:none!important;}
  .hdkn-checkgrid .elementor-icon-list-item:hover,
  .hdkn-matgrid .elementor-widget-icon-box:hover > .elementor-widget-container,
  .hdkn-engagement:hover{transform:none!important;}
}

/* --- 28. Cartes d'offre claires (pages services) ---------------- */
:is(.hdkn-offres-grid.e-con-full, .hdkn-offres-grid > .e-con-inner){row-gap:18px;}
.hdkn-offre-card{
  height:100%;align-content:flex-start;padding:30px 26px 30px;
  background:#FFFFFF;border:1px solid var(--e-global-color-c1a0006);
  border-bottom:2px solid var(--e-global-color-c1a0006);
  transition:border-bottom-color .45s ease,box-shadow .45s ease,transform .45s cubic-bezier(.2,.7,.3,1);}
.hdkn-offre-card:hover{
  border-bottom-color:var(--e-global-color-secondary);transform:translateY(-5px);
  box-shadow:0 26px 54px -34px rgba(18,19,22,.42);}
.hdkn-offre-card .elementor-icon-box-title{font-size:18px!important;}
.hdkn-offre-card .elementor-icon-box-description{font-size:14.5px;line-height:1.7;}
@media(max-width:767px){
  .hdkn-offre-card{padding:24px 20px;}}

/* --- 29. Ajustements de hauteur des grilles --------------------- */
:is(.hdkn-matgrid.e-con-full, .hdkn-matgrid > .e-con-inner) > .e-con{height:auto;align-self:stretch;}
.hdkn-matgrid .elementor-widget-icon-box{width:100%;display:flex;}
.hdkn-matgrid .elementor-widget-icon-box > .elementor-widget-container{width:100%;}
.hdkn-offre-card .elementor-widget-icon-box{height:100%;}

/* --- 30. Grilles d'engagements et fiche contact ----------------- */
:is(.hdkn-engagements-grid.e-con-full, .hdkn-engagements-grid > .e-con-inner){row-gap:20px;}
:is(.hdkn-engagements-grid.e-con-full, .hdkn-engagements-grid > .e-con-inner) > .e-con{height:auto;align-self:stretch;}
.hdkn-contact-card .elementor-widget-social-icons{margin-top:6px;}
.hdkn-contact-card .elementor-widget-google_maps{margin-top:8px;}
.hdkn-contact-card .elementor-widget-google_maps iframe{border:1px solid var(--e-global-color-c1a0006);}
.hdkn-next{margin-top:2px;}

/* --- 31. Corrections fines -------------------------------------- */
.hdkn-form .elementor-field-group select.elementor-field-textual{
  background-image:none!important;padding-right:44px!important;}
.hdkn-form .elementor-select-wrapper{border:0!important;padding:0!important;background:transparent!important;box-shadow:none!important;}
.hdkn-form .elementor-select-wrapper .select-caret-down-wrapper{
  color:var(--e-global-color-secondary);right:16px;}
.hdkn-form .elementor-select-wrapper .select-caret-down-wrapper svg{fill:var(--e-global-color-secondary);}
.hdkn-contact-list .elementor-icon-list-item{align-items:center;}
.hdkn-contact-list .elementor-icon-list-text{padding-top:0!important;}
.hdkn-next .elementor-icon-list-item{align-items:flex-start;}
.hdkn-next .elementor-icon-list-icon{margin-top:1px;}
.hdkn-next .elementor-icon-list-text{padding-top:0!important;}

/* --- 33. Animations au defilement en CSS pur --------------------- */
/*  Regle maison : aucun contenu ne doit pouvoir rester invisible.
    L'etat par defaut est donc VISIBLE ; l'animation n'existe que si le
    navigateur sait piloter une timeline de defilement (animation-timeline). */
@keyframes hdkn-rise{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:none;}}
@keyframes hdkn-fade{from{opacity:0;}to{opacity:1;}}
@keyframes hdkn-rail-draw{from{transform:scaleX(0);opacity:0;}to{transform:scaleX(1);opacity:1;}}

@supports (animation-timeline:view()){
  /* ruban de mesure du bloc « Comment ca se passe » */
  :is(.hdkn-steps.e-con-full, .hdkn-steps > .e-con-inner)::before{
    animation:hdkn-rail-draw 1s linear both;
    animation-timeline:view();animation-range:entry 0% entry 60%;}
  /* etapes en cascade */
  .hdkn-step{
    animation:hdkn-rise 1s linear both;
    animation-timeline:view();animation-range:entry 4% entry 52%;}
  :is(.hdkn-steps.e-con-full, .hdkn-steps > .e-con-inner) > .e-con:nth-child(2){animation-range:entry 10% entry 58%;}
  :is(.hdkn-steps.e-con-full, .hdkn-steps > .e-con-inner) > .e-con:nth-child(3){animation-range:entry 16% entry 64%;}
  :is(.hdkn-steps.e-con-full, .hdkn-steps > .e-con-inner) > .e-con:nth-child(4){animation-range:entry 22% entry 70%;}
  /* photos encadrees */
  .hdkn-figure > .elementor-widget-container{
    animation:hdkn-rise 1s linear both;
    animation-timeline:view();animation-range:entry 2% entry 50%;}
  /* cartes a survol : opacite seule, pour ne pas ecraser le translate du hover */
  .hdkn-engagement,
  .hdkn-checkgrid > .elementor-widget-container{
    animation:hdkn-fade .9s linear both;
    animation-timeline:view();animation-range:entry 4% entry 50%;}
  :is(.hdkn-engagements-grid.e-con-full, .hdkn-engagements-grid > .e-con-inner) > .e-con:nth-child(2){animation-range:entry 9% entry 55%;}
  :is(.hdkn-engagements-grid.e-con-full, .hdkn-engagements-grid > .e-con-inner) > .e-con:nth-child(3){animation-range:entry 14% entry 60%;}
  :is(.hdkn-engagements-grid.e-con-full, .hdkn-engagements-grid > .e-con-inner) > .e-con:nth-child(4){animation-range:entry 19% entry 65%;}
}
@media (prefers-reduced-motion:reduce){
  :is(.hdkn-steps.e-con-full, .hdkn-steps > .e-con-inner)::before,
  .hdkn-step,
  .hdkn-figure > .elementor-widget-container,
  .hdkn-engagement,
  .hdkn-checkgrid > .elementor-widget-container{
    animation:none!important;opacity:1!important;transform:none!important;}
  :is(.hdkn-steps.e-con-full, .hdkn-steps > .e-con-inner)::before{transform:scaleX(1)!important;}
}


/* --- 34. Alignement des lignes de la fiche contact --------------- */
.hdkn-contact-list,.hdkn-next,.hdkn-checkgrid{--icon-vertical-align:flex-start;}
.hdkn-contact-list .elementor-icon-list-item{align-items:flex-start!important;}
.hdkn-next .elementor-icon-list-item{align-items:flex-start!important;}
.hdkn-contact-list .elementor-icon-list-text{
  display:flex;flex-direction:column;justify-content:center;min-height:36px;}
.hdkn-next .elementor-icon-list-text{min-height:34px;justify-content:center;display:flex;flex-direction:column;}


/* --- 35. Conteneurs : gouttieres des grilles --------------------- */
/*  La carte est desormais le conteneur lui-meme : l'ecart se regle
    sur le parent, repere par :has(), et non plus par un padding. */
.e-con:has(> .hdkn-card-col){gap:26px 24px;}
.e-con:has(> .hdkn-argument){gap:22px;}
.e-con:has(> .hdkn-offre-card){gap:20px 18px;}
.e-con:has(> .hdkn-engagement){gap:20px;}
.e-con:has(> .hdkn-step){gap:34px 26px;}
@media(max-width:1024px){
  .e-con:has(> .hdkn-card-col){gap:22px 20px;}
  .e-con:has(> .hdkn-argument){gap:18px;}
}
@media(max-width:767px){
  .e-con:has(> .hdkn-card-col),
  .e-con:has(> .hdkn-argument),
  .e-con:has(> .hdkn-offre-card),
  .e-con:has(> .hdkn-engagement),
  .e-con:has(> .hdkn-step){gap:18px;}
}


/*  Les colonnes converties gardent une largeur en % : avec le gap, la
    somme depasse 100 % et la derniere carte passe a la ligne. On laisse
    donc le flex repartir l'espace restant. */
.e-con > .hdkn-card-col,.e-con > .hdkn-argument,.e-con > .hdkn-offre-card,
.e-con > .hdkn-engagement,.e-con > .hdkn-step{flex:1 1 0!important;min-width:0;}
@media(max-width:1024px){
  .e-con > .hdkn-card-col,.e-con > .hdkn-argument,.e-con > .hdkn-offre-card,
  .e-con > .hdkn-engagement,.e-con > .hdkn-step{flex:0 1 calc(50% - 10px)!important;}
}
@media(max-width:767px){
  .e-con > .hdkn-card-col,.e-con > .hdkn-argument,.e-con > .hdkn-offre-card,
  .e-con > .hdkn-engagement,.e-con > .hdkn-step{flex:1 1 100%!important;}
}


/*  Les colonnes converties conservent une largeur en pourcentage : avec
    la gouttiere, la somme depasse 100 % et la derniere colonne tombe a la
    ligne. Sur grand ecran on interdit le retour a la ligne : le flex-shrink
    absorbe la gouttiere et les proportions d'origine sont preservees. */
@media(min-width:1025px){
  :is(.e-con.e-flex,.e-con-inner):has(> .e-con){flex-wrap:nowrap;}
  .hdkn-wrap,.hdkn-matgrid{flex-wrap:wrap!important;}
  .hdkn-matgrid > .e-con{flex:1 1 calc(50% - 12px)!important;width:auto!important;min-width:0;}
  :is(.e-con.e-flex,.e-con-inner) > .e-con{min-width:0;}
}
/*  Cartes en colonne : l'ecart interne vient des marges des widgets. */
.hdkn-argument,.hdkn-offre-card,.hdkn-engagement{row-gap:0!important;}


/*  En mobile les cartes s'empilent : pas d'egalisation de hauteur. */
@media(max-width:767px){
  .hdkn-card-col,.hdkn-argument,.hdkn-offre-card,.hdkn-engagement,.hdkn-step{height:auto!important;}
  .e-con:has(> .hdkn-card-col),.e-con:has(> .hdkn-argument),
  .e-con:has(> .hdkn-offre-card),.e-con:has(> .hdkn-engagement){align-items:flex-start!important;}
}


/*  height:100% sur un element flex qui peut passer a la ligne se calcule
    sur la hauteur TOTALE du conteneur : la carte devient geante. L'egalite
    des hauteurs vient de align-items:stretch, pas d'une hauteur en %. */
.hdkn-card-col,.hdkn-argument,.hdkn-offre-card,.hdkn-engagement,
.hdkn-contact-card,.hdkn-step{height:auto!important;align-self:stretch;}

/* --- 36. Boutons : forme arrondie unique et contrastes ----------- */
.elementor-button,.elementor-button-link{border-radius:40px!important;}
/*  Regle de contraste : au repos comme au survol, le fond du bouton
    ne doit jamais rejoindre le fond de la section qui le porte. */
.elementor-button:hover,.elementor-button:focus{
  background-color:var(--e-global-color-primary)!important;color:#FFFFFF!important;}
.hdkn-dark .elementor-button:hover,.hdkn-dark .elementor-button:focus{
  background-color:var(--e-global-color-c1a0004)!important;color:var(--e-global-color-primary)!important;}
.hdkn-btn-ghost .elementor-button:hover,.hdkn-btn-ghost .elementor-button:focus,
:is(.hdkn-cta-actions.e-con-full, .hdkn-cta-actions > .e-con-inner) > .e-con:last-child .elementor-button:hover{
  background-color:#FFFFFF!important;color:var(--e-global-color-primary)!important;}
.hdkn-cta-photo :is(.hdkn-cta-actions.e-con-full, .hdkn-cta-actions > .e-con-inner) > .e-con:first-child .elementor-button:hover{
  background-color:var(--e-global-color-primary)!important;color:#FFFFFF!important;}
#hdkn-header .hdkn-tel .elementor-button:hover{
  background-color:var(--e-global-color-primary)!important;color:#FFFFFF!important;}
#hdkn-header .hdkn-tel .elementor-button:hover i,
#hdkn-header .hdkn-tel .elementor-button:hover svg{color:#FFFFFF!important;fill:#FFFFFF!important;}

/* --- 37. Respiration des chapeaux de bloc ----------------------- */
.hdkn-intro{margin-bottom:46px!important;}
@media(max-width:1024px){.hdkn-intro{margin-bottom:34px!important;}}
@media(max-width:767px){.hdkn-intro{margin-bottom:26px!important;}}

/* --- 38. Reperes du hero ---------------------------------------- */
/*  Le bandeau deborde volontairement les paddings du hero pour toucher
    les deux bords ; le filet du haut et les separateurs vont donc d'un
    bord a l'autre et jusqu'en bas. */
.hdkn-specs-band{
  width:calc(100% + 148px)!important;margin:auto -44px 0 -104px!important;}
.hdkn-specs{--icon-vertical-align:center;margin:0!important;padding:0!important;
  width:100%;max-width:none!important;border-top:1px solid rgba(255,255,255,.18);}
.hdkn-specs .elementor-icon-list-items{
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0!important;margin:0!important;padding:0!important;width:100%;}
.hdkn-specs .elementor-icon-list-item{
  position:relative;display:flex!important;flex-direction:row!important;
  align-items:center!important;justify-content:flex-start!important;gap:14px!important;
  padding:24px 22px!important;margin:0!important;border:0!important;}
.hdkn-specs .elementor-icon-list-item::after,
.hdkn-specs .elementor-icon-list-item:not(:last-child)::after{
  content:""!important;position:absolute!important;left:0!important;right:auto!important;
  top:0!important;bottom:0!important;width:1px!important;height:auto!important;
  border:0!important;background:rgba(255,255,255,.18)!important;}
.hdkn-specs .elementor-icon-list-item:first-child{padding-left:104px!important;}
.hdkn-specs .elementor-icon-list-item:first-child::after{display:none!important;}
.hdkn-specs .elementor-icon-list-item:last-child{padding-right:44px!important;}
.hdkn-specs .elementor-icon-list-icon{
  width:36px!important;height:36px!important;flex:0 0 36px!important;
  margin:0!important;padding:0!important;line-height:0!important;
  border:1px solid rgba(199,154,91,.42);border-radius:50%;
  display:flex!important;align-items:center!important;justify-content:center!important;
  align-self:center!important;}
.hdkn-specs .elementor-icon-list-icon i{
  display:block!important;width:auto!important;height:auto!important;line-height:1!important;
  font-size:14px!important;color:var(--e-global-color-c1a0004)!important;}
.hdkn-specs .elementor-icon-list-icon svg{
  display:block!important;width:14px!important;height:14px!important;margin:0!important;
  fill:var(--e-global-color-c1a0004)!important;}
.hdkn-specs .elementor-icon-list-text{
  padding:0!important;align-self:center!important;
  font-family:'Archivo',sans-serif!important;font-weight:600!important;
  font-size:11.5px!important;letter-spacing:1.5px!important;line-height:1.45!important;
  text-transform:uppercase;color:rgba(255,255,255,.80)!important;}
@media(max-width:1024px){
  .hdkn-specs-band{width:calc(100% + 90px)!important;margin:0 -28px 0 -62px!important;}
  .hdkn-specs .elementor-icon-list-items{grid-template-columns:repeat(2,minmax(0,1fr));}
  .hdkn-specs .elementor-icon-list-item{padding:20px 18px!important;}
  .hdkn-specs .elementor-icon-list-item:nth-child(odd){padding-left:62px!important;}
  .hdkn-specs .elementor-icon-list-item:nth-child(even){padding-right:28px!important;}
  .hdkn-specs .elementor-icon-list-item:nth-child(odd)::after{display:none!important;}
  .hdkn-specs .elementor-icon-list-item:nth-child(3)::before,
  .hdkn-specs .elementor-icon-list-item:nth-child(4)::before{
    content:"";position:absolute;left:0;right:0;top:0;height:1px;
    background:rgba(255,255,255,.18);}
}
@media(max-width:767px){
  .hdkn-specs-band{width:calc(100% + 44px)!important;margin:0 -18px 0 -26px!important;}
  .hdkn-specs .elementor-icon-list-item{padding:16px 14px!important;gap:11px!important;}
  .hdkn-specs .elementor-icon-list-item:nth-child(odd){padding-left:26px!important;}
  .hdkn-specs .elementor-icon-list-item:nth-child(even){padding-right:18px!important;}
  .hdkn-specs .elementor-icon-list-icon{width:32px!important;height:32px!important;flex:0 0 32px!important;}
  .hdkn-specs .elementor-icon-list-text{font-size:10.5px!important;letter-spacing:1.1px!important;}
}

/* --- 38 bis. Zone d'intervention sur fond clair ------------------ */
.hdkn-zone .elementor-google-maps iframe{border:1px solid var(--e-global-color-c1a0006);}
.hdkn-zone .elementor-icon-list-item{color:var(--e-global-color-text);}

/* --- 39. Barre legale du pied de page : hauteur resserree ------- */
.hdkn-legal{padding-top:16px!important;padding-bottom:16px!important;}
.hdkn-legal > .e-con-inner{padding-top:0!important;padding-bottom:0!important;row-gap:0!important;}
.hdkn-legal > .e-con-inner > .e-con{padding:0!important;row-gap:7px!important;}
.hdkn-legal .elementor-widget-text-editor p{margin:0!important;line-height:1.6;}
.hdkn-legal .elementor-widget{margin-bottom:0!important;}
.hdkn-legal .elementor-icon-list-items{margin:0;}
.hdkn-legal .elementor-icon-list-item{padding-top:2px!important;padding-bottom:2px!important;}
@media(max-width:767px){
  .hdkn-legal{padding-top:12px!important;padding-bottom:12px!important;}
}

/* --- 40. Grille matieres : 2 x 2 quel que soit l'ecran ---------- */
.hdkn-matgrid{flex-wrap:wrap!important;gap:18px 24px!important;align-content:flex-start!important;}
.hdkn-matgrid > .e-con{flex:1 1 calc(50% - 12px)!important;width:auto!important;min-width:0;padding:0!important;}
@media(max-width:767px){
  .hdkn-matgrid{gap:14px!important;}
  .hdkn-matgrid > .e-con{flex:1 1 100%!important;}
}

/* --- 41. Pastilles d'icone : centrage strict -------------------- */
.hdkn-contact-list .elementor-icon-list-icon,
.hdkn-next .elementor-icon-list-icon{
  display:flex!important;align-items:center!important;justify-content:center!important;
  padding:0!important;line-height:0!important;align-self:flex-start!important;}
.hdkn-contact-list .elementor-icon-list-icon i,
.hdkn-next .elementor-icon-list-icon i{
  display:block!important;width:auto!important;height:auto!important;
  line-height:1!important;font-size:14px!important;}
.hdkn-contact-list .elementor-icon-list-icon svg,
.hdkn-next .elementor-icon-list-icon svg{
  display:block!important;width:14px!important;height:14px!important;margin:0!important;}

/* --- 42. Engagements : icone lisible au survol ------------------ */
.hdkn-engagement:hover .elementor-icon i,
.hdkn-engagement:hover .elementor-icon svg{
  color:var(--e-global-color-primary)!important;fill:var(--e-global-color-primary)!important;}

/* --- 43. Fiche contact : raison sociale en titre ---------------- */
.hdkn-contact-titre .elementor-heading-title{line-height:1.25;}

/* --- 44. Hero : contenu legerement decale vers la droite -------- */
.hdkn-hero{padding-left:104px!important;padding-bottom:0!important;}
.hdkn-pagehero{padding-left:104px!important;}
@media(max-width:1024px){
  .hdkn-hero{padding-left:62px!important;}
  .hdkn-pagehero{padding-left:62px!important;}
}
@media(max-width:767px){
  .hdkn-hero{padding-left:26px!important;}
  .hdkn-pagehero{padding-left:26px!important;}
}

/* --- 45. Menu deroulant mobile : ancre sous l'en-tete ----------- */
@media(max-width:1024px){
  #hdkn-header .elementor-nav-menu__container.elementor-nav-menu--dropdown{
    position:absolute!important;top:100%!important;left:0!important;right:0!important;
    width:auto!important;max-width:none!important;margin:0!important;
    background-color:#121316;box-shadow:0 24px 44px -22px rgba(0,0,0,.6);}
}

/* --- Pied de page : icones en pastille ronde --------------------- */
/*  Pastilles uniquement sur le bloc « Nous contacter » et les reseaux.
    La liste « Nos prestations » garde ses chevrons nus.            */
.hdkn-footer-contact{--icon-vertical-align:flex-start;}
.hdkn-footer-contact .elementor-icon-list-item{align-items:flex-start!important;}
.hdkn-footer-contact .elementor-icon-list-icon{
  width:30px!important;height:30px!important;flex:0 0 30px!important;
  margin-right:12px!important;border-radius:50%;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.14);
  display:flex!important;align-items:center!important;justify-content:center!important;
  padding:0!important;line-height:0!important;align-self:flex-start!important;
  transition:background-color .35s ease,border-color .35s ease;}
.hdkn-footer-contact .elementor-icon-list-icon i{
  display:block!important;width:auto!important;height:auto!important;
  line-height:1!important;font-size:12px!important;}
.hdkn-footer-contact .elementor-icon-list-icon svg{
  display:block!important;width:12px!important;height:12px!important;margin:0!important;}
.hdkn-footer-contact .elementor-icon-list-item:hover .elementor-icon-list-icon{
  background:var(--e-global-color-secondary);border-color:var(--e-global-color-secondary);}
.hdkn-footer-contact .elementor-icon-list-item:hover .elementor-icon-list-icon i,
.hdkn-footer-contact .elementor-icon-list-item:hover .elementor-icon-list-icon svg{
  color:#FFFFFF!important;fill:#FFFFFF!important;}
.hdkn-footer-contact .elementor-icon-list-text{
  padding-left:0!important;min-height:30px;
  display:flex;flex-direction:column;justify-content:center;}
.hdkn-footer .elementor-social-icon{
  width:42px!important;height:42px!important;border-radius:50%!important;
  background:transparent!important;
  border:1px solid rgba(199,154,91,.40)!important;
  transition:background-color .35s ease,border-color .35s ease,transform .35s ease;}
.hdkn-footer .elementor-social-icon i,
.hdkn-footer .elementor-social-icon svg{
  color:var(--e-global-color-c1a0005)!important;fill:var(--e-global-color-c1a0005)!important;
  font-size:15px!important;transition:color .35s ease,fill .35s ease;}
.hdkn-footer .elementor-social-icon:hover{
  background:var(--e-global-color-secondary)!important;
  border-color:var(--e-global-color-secondary)!important;transform:translateY(-2px);}
.hdkn-footer .elementor-social-icon:hover i,
.hdkn-footer .elementor-social-icon:hover svg{color:#FFFFFF!important;fill:#FFFFFF!important;}
@media (prefers-reduced-motion:reduce){
  .hdkn-footer .elementor-social-icon:hover{transform:none;}}

/* --- 46. Images en portrait (1er bloc des pages services) ------- */
.hdkn-portrait img{aspect-ratio:3/4;object-fit:cover;}

/* --- 47. Grille matieres : icone alignee sur le titre ----------- */
.hdkn-matgrid .elementor-icon-box-title{margin-top:0!important;}
.hdkn-matgrid .elementor-icon-box-icon{margin-top:3px!important;}
.hdkn-matgrid .elementor-icon-box-description{margin-top:8px!important;}

/* --- 48. Fiche contact : pastilles comme la page Devis ---------- */
.hdkn-contact-list .elementor-icon-list-icon{
  width:34px!important;height:34px!important;flex:0 0 34px!important;
  background:#FFFFFF!important;border:1px solid rgba(142,27,33,.26);
  transition:background-color .35s ease,border-color .35s ease;}
.hdkn-contact-list .elementor-icon-list-item:hover .elementor-icon-list-icon{
  background:var(--e-global-color-secondary)!important;
  border-color:var(--e-global-color-secondary);}

/* --- 49. Reseaux sociaux : meme dessin qu'au pied de page ------- */
.hdkn-social .elementor-social-icon{
  width:42px!important;height:42px!important;
  background-color:transparent!important;border-radius:50%!important;
  border:1px solid rgba(142,27,33,.30)!important;
  color:var(--e-global-color-secondary)!important;
  transition:background-color .35s ease,border-color .35s ease,color .35s ease;}
.hdkn-social .elementor-social-icon i,.hdkn-social .elementor-social-icon svg{
  font-size:15px!important;color:inherit!important;fill:currentColor!important;}
.hdkn-social .elementor-social-icon:hover{
  background-color:var(--e-global-color-secondary)!important;
  border-color:var(--e-global-color-secondary)!important;color:#FFFFFF!important;}

/* --- 50. Article de realisation : titres et colonne laterale ----- */
.hdkn-article-wrap{align-items:flex-start;}
.hdkn-article h2{
  font-family:'Archivo',sans-serif;font-weight:700;font-size:26px;line-height:1.25;
  color:var(--e-global-color-primary);
  margin:46px 0 14px;padding-top:22px;position:relative;}
.hdkn-article h2::before{
  content:"";position:absolute;top:0;left:0;width:44px;height:2px;
  background:var(--e-global-color-c1a0004);}
.hdkn-article > .elementor-widget-container > *:first-child,
.hdkn-article h2:first-child{margin-top:0;}
.hdkn-article h3{
  font-family:'Archivo',sans-serif;font-weight:700;font-size:19px;line-height:1.35;
  color:var(--e-global-color-primary);margin:34px 0 10px;}
.hdkn-article p{line-height:1.8;margin:0 0 18px;}
.hdkn-article p em{color:var(--e-global-color-text);}
.hdkn-article ul{list-style:none;padding:0;margin:0 0 24px;}
.hdkn-article ul li{position:relative;padding:0 0 0 26px;margin-bottom:10px;line-height:1.7;}
.hdkn-article ul li::before{
  content:"";position:absolute;left:2px;top:.62em;width:8px;height:8px;
  border:1.5px solid var(--e-global-color-secondary);border-radius:50%;}
.hdkn-article .wp-block-gallery{gap:12px;}
.hdkn-article figure.wp-block-image{margin:0;}
.hdkn-article figure.wp-block-image img{display:block;width:100%;height:auto;}
.hdkn-aside-cta{border-top:2px solid var(--e-global-color-c1a0004);}
.hdkn-aside-cta .elementor-button{width:100%;justify-content:center;}
@media(min-width:1025px){
  .hdkn-article-aside{position:sticky;top:108px;}
}
@media(max-width:1024px){
  .hdkn-article h2{font-size:23px;margin-top:38px;}
}

/* --- 51. Cartes de realisation ----------------------------------- */
.hdkn-realisations-grid .elementor-post__meta-data,
.hdkn-realisations-grid .elementor-post__badge,
.hdkn-realisations-grid .elementor-post__avatar{display:none!important;}
.hdkn-realisations-grid .elementor-post__card{
  background:#FFFFFF!important;
  border:1px solid #E6E1D7!important;
  border-bottom:2px solid var(--e-global-color-c1a0004)!important;
  border-radius:0!important;overflow:hidden;
  box-shadow:0 1px 2px rgba(18,19,22,.05),0 14px 30px -22px rgba(18,19,22,.30)!important;
  transition:border-color .45s ease,box-shadow .45s ease,transform .45s cubic-bezier(.2,.7,.3,1);}
.hdkn-realisations-grid .elementor-post__card:hover{
  border-color:#DCD5C8!important;
  border-bottom-color:var(--e-global-color-secondary)!important;
  transform:translateY(-6px);
  box-shadow:0 2px 4px rgba(18,19,22,.06),0 32px 62px -34px rgba(18,19,22,.46)!important;}
/* HDKN-MARK-51C */
.hdkn-realisations-grid .elementor-post__thumbnail{overflow:hidden;}
.hdkn-realisations-grid .elementor-post__thumbnail img{
  object-fit:cover!important;
  transform:translate(-50%,-50%) scale(1.02)!important;
  transition:transform 1.2s cubic-bezier(.2,.7,.2,1)!important;}
.hdkn-realisations-grid .elementor-post__card:hover .elementor-post__thumbnail img{
  transform:translate(-50%,-50%) scale(1.10)!important;}
/* HDKN-MARK-51B */
.hdkn-realisations-grid .elementor-post__text{padding:26px 26px 26px;}
.hdkn-realisations-grid .elementor-post__title{margin:0 0 11px;}
.hdkn-realisations-grid .elementor-post__title a{
  font-family:'Archivo',sans-serif;font-weight:700;font-size:19px;line-height:1.32;
  color:var(--e-global-color-primary);transition:color .35s ease;}
.hdkn-realisations-grid .elementor-post__card:hover .elementor-post__title a{
  color:var(--e-global-color-secondary);}
.hdkn-realisations-grid .elementor-post__excerpt p{
  font-size:14.5px;line-height:1.7;color:var(--e-global-color-text);margin:0 0 14px;}
.hdkn-realisations-grid .elementor-post__read-more{
  font-family:'Archivo',sans-serif;font-weight:600;font-size:11.5px;letter-spacing:1.5px;
  text-transform:uppercase;color:var(--e-global-color-secondary);
  display:inline-flex;align-items:center;gap:8px;}
.hdkn-realisations-grid .elementor-post__read-more::after{
  content:"→";font-family:inherit;transition:transform .35s ease;}
.hdkn-realisations-grid .elementor-post__card:hover .elementor-post__read-more::after{
  transform:translateX(4px);}
@media (prefers-reduced-motion:reduce){
  .hdkn-realisations-grid .elementor-post__card:hover{transform:none;}
  .hdkn-realisations-grid .elementor-post__thumbnail img,
  .hdkn-realisations-grid .elementor-post__card:hover .elementor-post__thumbnail img{
    transform:none!important;transition:none!important;}
}


/* --- 52. Signature HDKN (pied de page) --------------------------- */
a.nounderline,a.nounderline:hover,a.nounderline:focus{text-decoration:none!important;}
a.nounderline b{font-weight:700;}
a.nounderline .fa-bars{margin-right:1px;}
/* HDKN-MARK-52 */

/* ===== 53. CARTES GOOGLE (fiche d'etablissement) ===== */
.hdkn-mapw .elementor-widget-container{line-height:0;}
.hdkn-map{position:relative;width:100%;overflow:hidden;background:#EDEBE7;height:400px;}
.hdkn-map--lg{height:430px;}
.hdkn-map--md{height:400px;}
.hdkn-map--sm{height:320px;}
.hdkn-map iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;display:block;}
.hdkn-map--mono iframe{filter:saturate(.15) contrast(1.04);}
.hdkn-map--mono:hover iframe{filter:none;}
.hdkn-map iframe,.hdkn-map--mono iframe{transition:filter .45s ease;}
@media(max-width:1024px){.hdkn-map--lg{height:380px;}.hdkn-map--md{height:360px;}}
@media(max-width:767px){.hdkn-map--lg{height:300px;}.hdkn-map--md{height:290px;}.hdkn-map--sm{height:280px;}}
/* HDKN-MARK-53 */

/* ===== 54. CACHE DE CONSENTEMENT SUR LES CARTES ===== */
.hdkn-map .cmplz-placeholder-parent{position:absolute!important;top:0;left:0;width:100%!important;height:100%!important;margin:0!important;}
.hdkn-map .cmplz-placeholder-parent iframe{position:absolute;top:0;left:0;width:100%!important;height:100%!important;}
.hdkn-map .cmplz-blocked-content-notice{font-family:'Archivo',sans-serif!important;font-size:11px!important;font-weight:600!important;letter-spacing:.06em!important;text-transform:uppercase!important;background:rgba(18,19,22,.88)!important;color:#FFFFFF!important;border:1px solid rgba(199,154,91,.5)!important;border-radius:40px!important;padding:12px 22px!important;}
/* HDKN-MARK-54 */

/* ===== 55. RUBRIQUE CONSEILS ===== */
.hdkn-conseils-grid .elementor-post__card > .elementor-post__thumbnail__link{order:1;}
.hdkn-conseils-grid .elementor-post__card > .elementor-post__meta-data{order:2;}
.hdkn-conseils-grid .elementor-post__card > .elementor-post__text{order:3;}
.hdkn-conseils-grid .elementor-post__meta-data{display:block!important;font-family:'Archivo',sans-serif!important;font-size:10px!important;font-weight:600!important;letter-spacing:.13em!important;text-transform:uppercase!important;color:#8A857C!important;border:0!important;margin:0!important;padding:26px 30px 12px 30px!important;}
.hdkn-conseils-grid .elementor-post__meta-data span{color:inherit!important;}
.hdkn-conseils-grid .elementor-post__title{margin-top:0!important;}
.hdkn-article-date{position:relative;padding-left:34px;}
.hdkn-article-date::before{content:"";position:absolute;left:0;top:50%;width:22px;height:1px;background:var(--e-global-color-c1a0004,#C79A5B);}
@media(max-width:767px){.hdkn-article-date{padding-left:26px;}.hdkn-article-date::before{width:16px;}}
/* HDKN-MARK-55 */

/* ===== 56. ENCART DERNIERS ARTICLES ===== */
.hdkn-suite:not(:has(.elementor-post)){display:none!important;}
/* HDKN-MARK-56 */


/* 57. ENCART DERNIERS ARTICLES : cadre reduit, grille incomplete centree */
.hdkn-suite .elementor-posts-container{max-width:1080px!important;margin-left:auto!important;margin-right:auto!important;}
@media (min-width:1025px){
  .hdkn-suite .elementor-posts-container:has(.elementor-post:first-child:last-child){grid-template-columns:min(340px,100%)!important;justify-content:center!important;}
  .hdkn-suite .elementor-posts-container:has(.elementor-post:nth-child(2):last-child){grid-template-columns:repeat(2,min(340px,100%))!important;justify-content:center!important;}
}
@media (max-width:767px){
  .hdkn-realisations-grid .elementor-posts-container{grid-template-columns:minmax(0,1fr)!important;}
}
/* HDKN-MARK-57 *//* End custom CSS */