/* 15. Styles for custom blocks
-------------------------------------------------------------- */
.vc_custom_1465549560104 {
  background-image: url('../images/bg-017efd.jpg')!important;
  background-position: center!important;
  background-repeat: no-repeat!important;
  background-size: cover!important;
}

.vc_custom_1466164274024 {
  background-image: url('../images/image-20.jpg')!important;
}
.vc_custom_1469089433188 {
  background-color:#122d46 !important;
  background-position: center!important;
  background-repeat: no-repeat!important;
  background-size: cover!important;
}
.vc_custom_1469089433188.row>[class*="column-"]{
  vertical-align: middle;
  padding-top: 5rem!important;
}
.vc_custom_1466087475749 {
  background-color: #ffffff!important;
}
.vc_custom_1466154433105 {
  background-image: url('../images/bg-03.jpg')!important;
  background-position: center!important;
  background-repeat: no-repeat!important;
  background-size: cover!important;
}
.vc_custom_1469087371560 {
  margin-right: 2em!important;
  margin-left: 2em!important;
  text-align: center;
}
.vc_custom_1469087355036 {
  margin-right: 3em!important;
  margin-left: 3em!important;
}
.vc_custom_1465806595697 {
  background-position: center!important;
  background-repeat: no-repeat!important;
  background-size: cover!important;
}
.vc_custom_1466756857898 {
  padding-top: 0px!important;
  padding-right: 8%!important;
  padding-left: 8%!important;
  background-color: #ffffff!important;
}
.vc_custom_1466156080949 {
  padding-top: 0px!important;
  padding-right: 0px!important;
  padding-bottom: 0px!important;
  padding-left: 0px!important;
}
.vc_custom_1464696736303 {
  background-image: url('../images/image-194137.jpg')!important;
  background-position: center!important;
  background-repeat: no-repeat!important;
  background-size: cover!important;
}
.vc_custom_1466154433105 {
  background-image: url('../images/bg-03ac16.jpg')!important;
  background-position: center!important;
  background-repeat: no-repeat!important;
  background-size: cover!important;
  position: relative;
  	min-height: 100vh!important;
    display: flex;
    align-content: stretch;
    flex-wrap: wrap;
    transition: opacity .5s ease;
    overflow: hidden;
}
.vc_custom_1466154433105 .vc_column_container{
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
	display: flex;
  height: 100vh;
}
.vc_custom_1466154433105 .vc_column_container .vc_column-inner {
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  box-sizing: border-box;
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
  -moz-box-orient: vertical;
}
.vc_custom_1465806595697 {
  background-position: center!important;
  background-repeat: no-repeat!important;
  background-size: cover!important;
}
@media (max-width: 460px) {
  .vc_custom_1466087475749 .sc_promo_image{
    min-height: 25em;
  }
}
@media (max-width: 768px) {
  .vc_custom_1466154433105 {
    min-height: 1px!important;
  }
  .vc_custom_1466154433105 .vc_column_container {
    display: none;
    height: auto;
  }
  .vc_custom_1466154433105 .vc_column_container:nth-child(2) {
    display: block;
    margin: 0 auto;
  }
  /* Removed tooltip hiding on mobile to allow touch interaction */
  /* .tooltipster-base {
    display: none!important;
  } */
}
.vc_custom_1466156080949 {
  padding-top: 0px!important;
  padding-right: 0px!important;
  padding-bottom: 0px!important;
  padding-left: 0px!important;
}
.vc_custom_1464359029628 {
  background-color: #ffffff!important;
}
.vc_custom_1466087475749 {
  background-color: #ffffff!important;
}
.vc_custom_1465806595697 {
  background-position: center!important;
  background-repeat: no-repeat!important;
  background-size: cover!important;
}
.vc_custom_1466156080949 {
  padding-top: 0px!important;
  padding-right: 0px!important;
  padding-bottom: 0px!important;
  padding-left: 0px!important;
}
.post-navigation .nav-previous a .nav-arrow {
  background-color: rgba(128, 128, 128, 0.05);
  border-color: rgba(128, 128, 128, 0.1);
}
.post-navigation .nav-next a .nav-arrow {
  background-image: url(images/image-11-370x231.jpg);
}

#sc_skills_diagram_940528073 .sc_skills_item {
  overflow: hidden;
}
#sc_skills_diagram_940528073 .sc_skills_count_wrapper {
  background: #f7f7f7;
  clear: both;
  margin-bottom: 3.1em;
}
#sc_skills_diagram_940528073.sc_skills .sc_skills_count {
  height: 4px;
  background: #414141;
}
#sc_skills_diagram_940528073.sc_skills .light-colors .sc_skills_count {
  background: #e39a31;
}
.scheme_default #sc_skills_diagram_940528073.sc_skills .sc_skills_total {
  float: right;
  color: #9d9c9c;
  font-weight: bold;
}
#sc_skills_diagram_940528073.sc_skills .sc_skills_label {
  color: #2a2a2a;
  font-size: 0.9774em;
  font-weight: 600;
  font-style: italic;
  float: left;
  padding: 0;
  line-height: 1.5em;
  text-shadow: none;
}
.vc_message_box {
  border-width: 2px;
	font-family: "Lato",sans-serif;
  overflow: hidden;
  box-sizing: border-box;
}
.vc_custom_1466164274024{background-image: url('../images/image-200701.jpg') !important;}
.tp-caption.shop_slider_price,
.shop_slider_price{
  color:rgba(0,0,0,1.00);
  font-size:60px;
  line-height:60px;
  font-weight:600;
  font-style:normal;
  font-family:"Times New Roman",Times,serif;
  padding:0px 0px 0px 0px;
  text-decoration:none;
  text-align:left;
  background-color:transparent;
  border-color:transparent;
  border-style:solid;
  border-width:0px;
  border-radius:0px 0px 0px 0px
}
.tp-caption.shop_slider_title,.shop_slider_title{color:rgba(0,0,0,1.00);font-size:56px;line-height:60px;font-weight:700;font-style:normal;font-family:"Times New Roman",Times,serif;padding:0px 0px 0px 0px;text-decoration:none;text-align:left;background-color:transparent;border-color:transparent;border-style:none;border-width:0px;border-radius:0px 0px 0px 0px;max-width:500px !important}
.tp-caption.shop_slider_content,.shop_slider_content{color:rgba(0,0,0,1.00);font-size:17px;line-height:28px;font-weight:400;font-style:normal;font-family:Lato;padding:0px 0px 0px 0px;text-decoration:none;text-align:left;background-color:transparent;border-color:transparent;border-style:none;border-width:0px;border-radius:0px 0px 0px 0px;max-width:550px !important}
.tp-caption.shop_slider_image,.shop_slider_image{color:rgba(255,255,255,1.00);font-size:20px;line-height:22px;font-weight:400;font-style:normal;font-family:Arial;padding:0px 0px 0px 0px;text-decoration:none;text-align:left;background-color:transparent;border-color:transparent;border-style:none;border-width:0px;border-radius:0px 0px 0px 0px}
.tp-caption.shop_slider_tags,.shop_slider_tags{color:rgba(0,0,0,1.00);font-size:56px;line-height:60px;font-weight:700;font-style:normal;font-family:"Times New Roman",Times,serif;padding:0px 0px 0px 0px;text-decoration:none;text-align:left;background-color:transparent;border-color:transparent;border-style:none;border-width:0px;border-radius:0px 0px 0px 0px;max-width:500px !important}
.tp-caption.shop_slider_add_to_cart,.shop_slider_add_to_cart{color:rgba(0,0,0,1.00);font-size:30px;line-height:42px;font-weight:700;font-style:normal;font-family:Lato;padding:0px 0px 0px 0px;text-decoration:none;text-align:left;background-color:transparent;border-color:transparent;border-style:solid;border-width:0px;border-radius:0px 0px 0px 0px}
.tp-caption.shop_slider_label,.shop_slider_label{color:rgba(255,255,255,1.00);font-size:48px;line-height:40px;font-weight:700;font-style:normal;font-family:"Times New Roman",Times,serif;padding:0px 0px 0px 0px;text-decoration:none;text-align:center;background-color:rgba(227,154,49,1.00);border-color:transparent;border-style:none;border-width:0px;border-radius:150px 150px 150px 150px;-webkit-box-shadow:-8px 8px 20px 0px rgba(0,0,0,0.15);-moz-box-shadow:-8px 8px 20px 0px rgba(0,0,0,0.15);-ms-box-shadow:-8px 8px 20px 0px rgba(0,0,0,0.15);box-shadow:-8px 8px 20px 0px rgba(0,0,0,0.15)}

.vc_column_container {
  padding: 0 !important;
}
@media(min-width: 480px) and (max-width: 767px) {
  .scheme_default .row:not(.columns_fluid)>[class*="column-"],
  .scheme_default .columns_wrap:not(.columns_fluid)>[class*="column-"]{
    width: 100%;
  }
}
.post-navigation .nav-previous a .nav-arrow {
  background-image: url('../images/image-1-370x231.jpg');
}

.post-navigation .nav-next a .nav-arrow {
  background-image: url('../images/image-11-370x231.jpg');
}
.row.row-no-padding .vc_column-inner {
  padding-left: 0;
  padding-right: 0;
}
@media(min-width:769px){
  .row.row-o-full-height {
    min-height: 10vh!important;

  }
}
.single .nav-links a .nav-arrow {
  border: none;
}
@media(min-width:768px){
  #sc_content_215371031,
  #sc_content_2046722897,
  #sc_content_945257373 {
    padding-top: 30%;
  }
  #awards {
    padding-top: 8%;
  }
}
@media(max-width:769px){
  .tp-bullet {
    display: none;
  }
  .scheme_default .shop_slider_add_to_cart:before,
  .scheme_default .tp-caption.shop_slider_add_to_cart:before {
    margin: 0;
    border: none;
    height: 1.2em;
  }
  .mfp-figure figcaption .mfp-bottom-bar {
    position: absolute;
    bottom: 5px;
    background: none;
  }
}

.vc_custom_1466154433105 .column-4_12 {
  width: 33%;
}
figure.alignleft, img.alignright.wp-image-156 {
  margin-bottom: 0.5em;

}
@media(max-width: 1064px){
  .home_products .woocommerce ul.products li.product .post_featured img {
    max-width: 100%
  }
  .tooltipster-shadow {
    display: none;
  }
  .vc_custom_1466154433105 .column-4_12:last-child {
    display: none;
  }
}
.post_item_404 .post_content .go_home {
  margin-bottom: 1em;
}
.breadcrumbs {
  margin-top: 0.25em;
}
.post_item_404 .post_content {
  overflow:  visible;
}
.mfp-img-mobile .mfp-close{
  right: 0;
}

/* ImmoBox — style de texte global basé sur l'exemple fourni */

/* Base global */
body, .content, .page_content_wrap, .content_wrap, .post_content, main, .wrap {
  color: #ffffff !important;
  font-family: "Lato", Arial, sans-serif;
  font-size: 18px;
  line-height: 1.6;
  font-weight: 400;
  -webkit-font-smoothing:antialiased;
  text-rendering: optimizeLegibility;
}

/* Paragraphs and lists */
p, ul, ol, .post_content p { margin-bottom: 1.2em; color: inherit; }

/* Links */
a { color: #e39a31; text-decoration: none; }
a:hover, a:focus { text-decoration: underline; color: #d07e1e; }

/* Headings */
h1, h2, h3, h4, h5, h6 {
  font-family: "Crimson Text", "Times New Roman", serif;
  color: #ffffff !important;
  line-height: 1.2;
  font-weight: 400;
  margin-top: 0.6em;
  margin-bottom: 0.4em;
}
h5, h6 {
  font-family: "Crimson Text", "Times New Roman", serif;
  color: #ffffff !important;
  line-height: 1.2;
  font-weight: 400;
  margin-top: 0.6em;
  margin-bottom: 0.4em;
}

/* Buttons and controls */
button, .button, .sc_button, input[type="button"], input[type="submit"] {
  font-family: "Lato", Arial, sans-serif;
  font-weight: 600;
}

/* Hotspot titles */
.hotspot-title { 
  color: #ffffff !important; 
  font-size: 14px;
  font-weight: 600;
  text-align: center;
  pointer-events: auto !important;
  cursor: pointer;
  text-decoration: none;
  z-index: 20;
  display: inline-block;
  padding: 4px 6px; }

/* Masquer les bulles vides (absence de data-tooltip ou attribut vide) */
.simple-hotspot:not([data-tooltip])::after,
.simple-hotspot[data-tooltip=""]::after,
.simple-hotspot:not([data-tooltip]):hover::after,
.simple-hotspot[data-tooltip=""]:hover::after,
.simple-hotspot:not([data-tooltip])::before,
.simple-hotspot[data-tooltip=""]::before,
.simple-hotspot:not([data-tooltip]):hover::before,
.simple-hotspot[data-tooltip=""]:hover::before,
.cq-tooltip:not([data-tooltip])::after,
.cq-tooltip[data-tooltip=""]::after,
.cq-tooltip:not([data-tooltip]):hover::after,
.cq-tooltip[data-tooltip=""]:hover::after,
.cq-tooltip:not([data-tooltip])::before,
.cq-tooltip[data-tooltip=""]::before,
.cq-tooltip:not([data-tooltip]):hover::before,
.cq-tooltip[data-tooltip=""]:hover::before,
.tooltipstered:not([data-tooltip])::after,
.tooltipstered[data-tooltip=""]::after,
.tooltipstered:not([data-tooltip]):hover::after,
.tooltipstered[data-tooltip=""]:hover::after {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  min-width: 0 !important;
  max-width: 0 !important;
  padding: 0 !important;
  height: 0 !important;
}





/* Style dédié pour la tagline ImmoBox en 3 lignes */
.immobox-tagline{ display:block; max-width:780px; margin: 0 auto 0.6em; text-align:center; color:#ffffff !important; font-family: "Lato", Arial, sans-serif; font-size:19px; line-height:1.28; font-weight:400; text-rendering:optimizeLegibility; text-shadow: 0 2px 6px rgba(0,0,0,0.45); margin-top: -6px; }
.immobox-tagline .immobox-line{ display:block; padding: 0.04em 0; }
.immobox-tagline .immobox-line strong{ color:#e39a31; font-weight:700; }

/* Rapprocher le titre principal et remonter légèrement */
.sc_item_title.sc_promo_title{ margin-top: -50px; margin-bottom: 0.25em; font-size:36px; line-height:1.25; }

@media (max-width: 768px){
  .immobox-tagline{ font-size:16px; max-width: 92%; margin-top: -6px; }
  .immobox-tagline .immobox-line{ padding:0.04em 0; }
  .sc_item_title.sc_promo_title{ font-size:22px; margin-bottom:0.15em; margin-top: -10px; }
}

/* Ajoute une marge en bas sous la tagline principale */
  .post_meta_item.post_categories {
    margin-bottom: 30px !important;
    display: inline-block;
}

@media (max-width: 768px) {
  .post_meta_item.post_categories {
    margin-bottom: 48px !important;
  }
  
  /* Mobile improvements: center logo, fix spacing */
  .menu_main_wrap .wrap {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-direction: column !important;
    padding: 10px 0 !important;
  }
  
  .menu_main_wrap .logo {
    margin: 0 !important;
  }
  
  .logo img.logo_main {
    max-width: 300px !important;
    width: 85% !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
  }
  
  /* Fix spacing between logo and title */
  .top_panel_navi {
    margin-bottom: 0 !important;
  }
  
  /* Better title spacing on mobile */
  .sc_item_title.sc_promo_title {
    margin-top: -50px !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    text-align: center !important;
    padding: 0 10px !important;
  }
  
  /* Stack hotspots better on mobile */
  .hotspot-title {
    font-size: 8px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
  }
  
  .simple-hotspot {
    width: 18px !important;
    height: 18px !important;
  }
  
  /* Improve main image container */
  
  
  .vc_single_image-wrapper {
    max-width: 100% !important;
    margin: 0 auto !important;
    transform: translateX(-6%) !important; /* décale la maison vers la gauche */
    transition: transform 0.2s ease !important;
  }
  
  .vc_single_image-wrapper img {
    max-width: 120% !important;
    height: auto !important;
  }
  
  /* Better spacing for content */
  .wpb_column {
    padding-left: 5px !important;
    padding-right: 5px !important;
  }
  
  /* Full width on small screens */
  .content_wrap {
    padding: 0 !important;
  }
}

/* Specific optimizations for 360px wide screens */
@media (max-width: 480px) {
  /* Reduce H2 on phones (small tablets / large phones) */
  .post_item_single.post_type_product h2,
  .post_type_product h2 {
    font-size: 17px !important;
    line-height: 1.05 !important;
    margin: 0 0 12px !important;
    letter-spacing: 0.2px !important;
  }
}

@media (max-width: 380px) {
  /* Further reduce H2 for small phones (360px target) */
  .post_item_single.post_type_product h2,
  .post_type_product h2 {
    font-size: 20px !important;
    line-height: 1.05 !important;
    margin: 0 0 10px !important;
    letter-spacing: 0.1px !important;
  }
  .logo img.logo_main {
    max-width: 280px !important;
  }
  
  .sc_item_title.sc_promo_title {
    font-size: 18px !important;
    margin-top: 15px !important;
  }
  
  .hotspot-title {
    font-size: 5px !important;
  }
  
  .simple-hotspot {
    width: 10px !important;
    height: 10px !important;
  }
  
  .vc_single_image-wrapper {
    max-width: 80% !important;    transform: translateX(-4%) !important; /* léger décalage pour très petits écrans */  }
  
  /* Adjust tooltip display on very small screens */
  .simple-hotspot:hover::after {
    font-size: 11px !important;
    min-width: 120px !important;
    max-width: 180px !important;
    padding: 8px 6px !important;
  }
  
  /* Reposition hotspots for mobile */
  .hotspot-title:nth-of-type(1) { /* Aménagement intérieur */
    top: 74% !important;
    left: 17% !important;
  }
  .simple-hotspot:nth-of-type(1) {
    top: 75% !important;
    left: 14% !important;
  }
  
  .hotspot-title:nth-of-type(2) { /* Autres */
    top: 75% !important;
    left: 96% !important;
  }
  .simple-hotspot:nth-of-type(2) {
    top: 70% !important;
    left: 93% !important;
  }
  
  .hotspot-title:nth-of-type(3) { /* Financement & sécurité */
    top: 56% !important;
    left: 85% !important;
  }
  .simple-hotspot:nth-of-type(3) {
    top: 60% !important;
    left: 80% !important;
  }
  
  .hotspot-title:nth-of-type(4) { /* Aménagement extérieur */
    top: 78% !important;
    left: 57% !important;
  }
  .simple-hotspot:nth-of-type(4) {
    top: 73% !important;
    left: 54% !important;
  }
  
  .hotspot-title:nth-of-type(5) { /* Transaction & valorisation */
    top: 45% !important;
    left: 52% !important;
  }
  .simple-hotspot:nth-of-type(5) {
    top: 49% !important;
    left: 48% !important;
  }
  
  .hotspot-title:nth-of-type(6) { /* Travaux & rénovation */
    top: 46% !important;
    left: 19% !important;
  }
  .simple-hotspot:nth-of-type(6) {
    top: 50% !important;
    left: 17% !important;
  }
  
  /* Move picto.svg image lower on mobile */
  img[src*="picto.svg"] {
    margin-top: 40px !important;
  }
}

/* Mobile responsiveness for service pages ONLY (not index) */
@media (max-width: 768px) {
  /* Target only service pages with profile cards */
  .post_type_product .page_content_wrap .product {
    max-width: 85% !important;
    min-height: auto !important;
    padding: 8px 10px !important;
    margin: auto !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    gap: 0 !important;
    background: rgba(0,0,0,0.75) !important;
    border-radius: 15px !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: visible !important;
  }
  
  .post_type_product .profile-swiper-arrow {
    font-size: 40px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 10 !important;
  }
  
  .post_type_product .profile-swiper-arrow.left {
    left: -15px !important;
  }
  
  .post_type_product .profile-swiper-arrow.right {
    right: -15px !important;
  }
  
  .post_type_product .profile-swiper-track {
    gap: 0 !important;
  }
  
  .post_type_product .profile-card {
    min-width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }
  
  /* FORCER L'ORDRE ABSOLU */
  /* 3. Logos à la fin - order le plus élevé */
  .post_type_product .profile-actions {
    order: 999 !important;
    display: flex !important;
    gap: 15px !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 8px 0 0 !important;
    border-top: 2px solid rgba(255,255,255,0.15) !important;
    width: 100% !important;
  }
  
  /* 2. Texte au milieu - centré */
  .post_type_product .profile-info {
    order: 2 !important;
    padding: 0 6px 6px !important;
    width: 100% !important;
    text-align: center !important;
  }
  
  /* 1. Photo en haut - centrée - order le plus bas */
  /* Exposer le wrapper (image + logos) pour pouvoir réordonner les éléments internes */
  .post_type_product .profile-card > div:first-child {
    display: contents !important;
  }

  /* Photo (première image) — centrée sur mobile */
  .post_type_product .profile-card img:first-of-type {
    width: 240px !important;
    height: 160px !important;
    /* push the photo slightly down so it looks centered in the card */
    margin: 10px auto 6px !important;
    border-radius: 15px !important;
    order: -1 !important;
    display: block !important;
    position: static !important;
    left: auto !important;
    transform: none !important;
    align-self: center !important;
  }

  /* Logos — cibler de façon robuste le conteneur qui contient les images d'action
     (support pour cas où display:contents est appliqué ou non) */
  .post_type_product .profile-card > div:has(> a > img[src*="appeler.png"]),
  .post_type_product .profile-card > div:has(> a > img[src*="mail.png"]),
  .post_type_product .profile-card > div:has(> a > img[src*="site.png"]),
  .post_type_product .profile-card > div:first-child > div {
    order: 999 !important;
    display: flex !important;
    gap: 15px !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 8px 0 0 !important;
    border-top: 2px solid rgba(255,255,255,0.15) !important;
    width: 100% !important;
  }

  /* Texte — cibler le conteneur qui contient le titre (h3) ou, en fallback, le 2ème div si ce n'est pas le conteneur des logos */
  .post_type_product .profile-card > div:has(> h3),
  .post_type_product .profile-card > div:nth-child(2):not(:has(> a > img)) {
    order: 2 !important;
    padding: 0 6px 6px !important;
    width: 100% !important;
    text-align: left !important;
  }
  
  /* S'assurer que les images dans profile-actions ne prennent pas cet ordre */
  .post_type_product .profile-actions img {
    width: 36px !important;
    height: 36px !important;
    margin: 0 !important;
    border-radius: 6px !important;
    order: inherit !important;
    object-fit: contain !important;
    display: block !important;
  }

  /* Cas réel : les images des boutons (appeler/mail/site) sont injectées inline dans chaque profil.
     Cibler directement par src pour forcer la moitié de la taille précédente (72px -> 36px). */
  .post_type_product .profile-card a img[src*="appeler.png"],
  .post_type_product .profile-card a img[src*="mail.png"],
  .post_type_product .profile-card a img[src*="site.png"] {
    width: 90px !important;
    height: 90px !important;
    object-fit: contain !important;
    margin: 0 auto !important;
    display: block !important;
    border-radius: 6px !important;
  }
    .post_type_product .profile-actions span {
    font-size: 13px !important;
    color: #ffffff !important;
    font-weight: 500 !important;
    text-align: center !important;
  }
    .post_type_product .profile-actions a {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    padding: 8px !important;
    flex: 1 !important;
    max-width: 85px !important;
    text-decoration: none !important;
    transition: transform 0.2s !important;
  }
  
  .post_type_product .profile-actions a:active {
    transform: scale(0.95) !important;
  }
  
  .post_type_product .profile-info h3 {
    /* "Mon savoir-faire" */
    font-size: 15px !important;
    font-weight: bold !important;
    color: #D2A679 !important;
    margin: 0 0 4px !important;
    line-height: 1.05 !important;
    font-style: italic !important;
  }
  
  .post_type_product .profile-info h4 {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #D2A679 !important;
    font-style: italic !important;
    margin: 0 0 4px !important;
  }
  
  .post_type_product .profile-info p {
    font-size: 12px !important;
    line-height: 1.3 !important;
    color: #ffffff !important;
    margin: 3px 0 !important;
  }
  
  .post_type_product .profile-info ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 4px 0 !important;
    text-align: center !important;
  }
  
  .post_type_product .profile-info li {
    font-size: 12px !important;
    line-height: 1.4 !important;
    color: #ffffff !important;
    margin: 2px 0 !important;
  }
  
  .post_type_product .profile-info strong {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #D2A679 !important;
  }
  /* Fallbacks pour contenus injectés inline (pages qui n'ont pas la classe .profile-info)
     On cible le dernier conteneur (infos) pour réduire la taille des paragraphes, titres et listes */
  .post_type_product .profile-card > div:last-child h3,
  .post_type_product .profile-card > div:last-child h4 {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #D2A679 !important;
    margin: 0 0 6px !important;
  }

  .post_type_product .profile-card > div:last-child p {
    font-size: 14px !important;
    line-height: 1.3 !important;
    margin: 2px 0 !important;
    color: #ffffff !important;
  }

  .post_type_product .profile-card > div:last-child ul,
  .post_type_product .profile-card > div:last-child li {
    font-size: 16px !important;
    line-height: 1 !important;
    margin: 2px 0 !important;
    padding: 0 !important;
    text-align: left !important;
    color: #ffffff !important;
  }

  /* Nom et éléments mis en valeur (souvent en <p><strong>) */
  .post_type_product .profile-card > div:last-child p strong,
  .post_type_product .profile-card > div:last-child strong {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #D2A679 !important;
  }  
  /* Reduce top padding on service pages */
  .vc_custom_1469089433188,
  .vc_custom_1469089433188.row-o-full-height {
    padding-top: 60px !important;
    min-height: auto !important;
  }
  
  .row-o-full-height {
    min-height: auto !important;
  }
  
  .tagline {
    font-size: 24px !important;
    margin-top: 20px !important;
  }
  
  .top_panel_navi .wrap {
    text-align: center !important;
  }
  
  .top_panel_navi .logo {
    display: block !important;
    float: none !important;
    margin: 2px auto !important;
  }
  
  .wpb_column.vc_column_container,
  .column-3_12,
  .column-6_12 {
    width: 100% !important;
    margin-bottom: 20px !important;
    float: none !important;
    clear: both !important;
  }
  

  
  .cqtooltip-wrapper.hide_on_mobile {
    display: block !important;
  }
  
  .cqtooltip-wrapper img {
    max-width: 100% !important;
    height: auto !important;
  }
}

@media (max-width: 380px) {
  /* Further reduce padding for very small screens */
  .vc_custom_1469089433188 {
    padding-top: 80px !important;
  }
  
  /* Smaller title on very small screens */
  .tagline {
    font-size: 20px !important;
  }
  
  /* Adjust logo size */
  .logo img.logo_main {
    max-width: 250px !important;
  }
}

@media (min-width: 769px) {
  /* Strong final override (desktop): force hotspot circle size to 24px on index/house image and variants */
  .vc_single_image-wrapper a.simple-hotspot,
  .vc_single_image-wrapper a.simple-hotspot.extra-narrow,
  .vc_single_image-wrapper a.simple-hotspot.narrow-tooltip,
  .vc_single_image-wrapper a.simple-hotspot.narrow-bottom-tooltip,
  .cq-hotspots .hotspot-item {
    width: 24px !important;
    height: 24px !important;
    line-height: 24px !important;
    display: inline-block !important;
    vertical-align: middle !important;
    border-radius: 50% !important;
  }

  /* Backstop (desktop): inline-styled anchors */
  a.simple-hotspot[style] {
    width: 24px !important;
    height: 24px !important;

  }
}

/* Mobile override: force hotspot circle size to 18px on small screens */
@media (max-width: 768px) {
  .vc_single_image-wrapper a.simple-hotspot,
  .vc_single_image-wrapper a.simple-hotspot.extra-narrow,
  .vc_single_image-wrapper a.simple-hotspot.narrow-tooltip,
  .vc_single_image-wrapper a.simple-hotspot.narrow-bottom-tooltip,
  .cq-hotspots .hotspot-item {
    width: 18px !important;
    height: 18px !important;
    line-height: 18px !important;
  }

  /* Backstop for inline-styled anchors on mobile */
  a.simple-hotspot[style] {
    width: 20px !important;
    height: 20px !important;

  }
}
/* Final: specific position overrides for mobile (<=768px) — use href to target exact buttons */
@media (max-width: 768px) {
  .vc_single_image-wrapper a.hotspot-title[href="amenagement-interieur.html"] { top: 79% !important; left: 25% !important; }
  .vc_single_image-wrapper a.simple-hotspot[href="amenagement-interieur.html"] { top: 72% !important; left: 23% !important; }

  .vc_single_image-wrapper a.hotspot-title[href="autres.html"] { top: 79% !important; left: 100% !important; }
  .vc_single_image-wrapper a.simple-hotspot[href="autres.html"] { top: 72% !important; left: 98% !important; }

  .vc_single_image-wrapper a.hotspot-title[href="financement-securite.html"] { top: 28% !important; left: 96% !important; }
  .vc_single_image-wrapper a.simple-hotspot[href="financement-securite.html"] { top: 37% !important; left: 95% !important; }

  .vc_single_image-wrapper a.hotspot-title[href="amenagement-exterieur.html"] { top: 84% !important; left: 68% !important; }
  .vc_single_image-wrapper a.simple-hotspot[href="amenagement-exterieur.html"] { top: 76% !important; left: 66% !important; }

  .vc_single_image-wrapper a.hotspot-title[href="transaction-valorisation.html"] { top: 03% !important; left: 61% !important; }
  .vc_single_image-wrapper a.simple-hotspot[href="transaction-valorisation.html"] { top: 12% !important; left: 60% !important; }

  .vc_single_image-wrapper a.hotspot-title[href="travaux-renovation.html"] { top: 08% !important; left: 23% !important; }
  .vc_single_image-wrapper a.simple-hotspot[href="travaux-renovation.html"] { top: 17% !important; left: 21% !important; }
}
/* Fix carousel on mobile: show one profile per slide and prevent peeking of next card */
@media (max-width: 768px) {
  .product {
    max-width: 100% !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;
    overflow: hidden !important; /* avoid showing parts outside */
  }

  /* Use native scroll-snap for reliable touch swiping on mobile */
  .product .profile-swiper-track {
    display: flex !important;
    gap: 0 !important;
    width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x mandatory !important;
    scroll-behavior: smooth !important;
    transform: none !important; /* prevent JS transforms causing misplacement */
    transition: none !important; /* avoid JS transition conflicts */
  }

  /* Hide native scrollbar visually */
  .product .profile-swiper-track::-webkit-scrollbar { display: none; }
  .product .profile-swiper-track { -ms-overflow-style: none; scrollbar-width: none; }

  /* Force each card to be exactly one viewport width so we never see the next card */
  .product .profile-card {
    min-width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    box-sizing: border-box !important;
    flex-direction: column !important; /* stack image + info */
    align-items: center !important;
    padding: 12px !important;
    gap: 12px !important;
    scroll-snap-align: start !important;
  }

  .product .profile-card > div {
    width: 100% !important;
  }

  .product .profile-card img {
    width: 100% !important;
    height: auto !important;
    max-width: 360px !important;
    margin: 0 auto !important;
    display: block !important;
    object-fit: cover !important;
  }

  /* Ensure consistent image height so the name starts at the same vertical level */
  .product .profile-card img {
    height: 280px !important;
  }

  /* Slightly smaller images for very small screens */
  @media (max-width: 380px) {
    .product .profile-card img {
      height: 220px !important;
    }
    .product .profile-card { padding: 10px !important; }
  }

  /* Make the displayed name a block element to ensure consistent start position */
  .product .profile-card > div:last-child p strong { display: block; margin-top: 8px; }

  /* Fix carousel on desktop: force one card per view and prevent peeking */
  @media (min-width: 769px) {
    .product { overflow: hidden !important; }

    /* Enable snapping on desktop: prevents partial slides showing after drag/arrow */
    .product .profile-swiper-track {
      display: flex !important;
      gap: 0 !important;
      width: 100% !important;
      overflow-x: auto !important;
      -webkit-overflow-scrolling: touch !important;
      scroll-snap-type: x mandatory !important;
      scroll-behavior: smooth !important;
      transform: none !important; /* avoid unexpected transforms from JS */
      transition: none !important; /* disable transform transitions to avoid partial state */
    }

    .product .profile-swiper-track::-webkit-scrollbar { display: none; }
    .product .profile-swiper-track { -ms-overflow-style: none; scrollbar-width: none; }

    .product .profile-card {
      min-width: 100% !important;
      max-width: 100% !important;
      width: 100% !important;
      flex: 0 0 100% !important;
      box-sizing: border-box !important;
      scroll-snap-align: start !important;
      margin-right: 0 !important;
    }
  }


  /* Optional: hide nav arrows on small screens (they can interfere) */
  .profile-swiper-arrow { display: none !important; }
}

/* Fixed-position swipe hint (non-intrusive) - injected by JS; won't alter layout */
@media (max-width: 768px) {
  .swipe-hint-fixed {
    position: fixed !important;
    left: 320px !important; /* move to left so hand can glide right */
    top: 70% !important;
    transform: translateY(-50%) !important;
    display: inline-flex !important;
    gap: 8px !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 9999 !important;
    background: transparent !important; /* keep container transparent */
    padding: 6px 8px !important;
    border-radius: 12px !important;
    pointer-events: none !important; /* don't block interaction */
    opacity: 1 !important;
    transition: opacity .35s ease, visibility .35s ease !important;
    -webkit-tap-highlight-color: transparent !important;
    animation: none !important; /* disabled — static hint requested */
  }
  .swipe-hint-fixed .swipe-hand { display: inline-block !important; font-size: 20px !important; color: #ffffff !important; opacity: 0.9 !important; transform-origin: center center !important; animation: swipeHandMove 1.2s ease-in-out infinite !important; text-shadow: 0 2px 6px rgba(0,0,0,0.35) !important; }
  .swipe-hint-fixed .swipe-label { color: #ffffff !important; font-size: 13px !important; font-weight: 700 !important; line-height: 1 !important; white-space: nowrap !important; pointer-events: none !important; margin-left: 8px !important; text-transform: none !important; }
  .swipe-hint-fixed.dismissed { opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; animation: none !important; }
  @keyframes swipeHandMove {
    0% { transform: translateX(0); opacity: 0.95; }
    50% { transform: translateX(22px); opacity: 0.7; }
    100% { transform: translateX(0); opacity: 0.95; }
  }
  @media (max-width: 380px) {
    .swipe-hint-fixed { left: 10px !important; padding: 4px 6px !important; }
    .swipe-hint-fixed .swipe-hand { font-size: 18px !important; }
    .swipe-hint-fixed .swipe-label { font-size: 12px !important; }
  }
}

/* Mobile: hide phone, email and website lines (we keep logos) */
@media (max-width: 768px) {
  /* target the right column of each profile-card and hide 2nd/3rd/4th paragraphs */
  .product .profile-card > div:last-child p:nth-of-type(2),
  .product .profile-card > div:last-child p:nth-of-type(3),
  .product .profile-card > div:last-child p:nth-of-type(4) {
    display: none !important;
  }

  /* also reduce spacing after hiding to keep cards compact */
  .product .profile-card > div:last-child { gap: 6px !important; }
}

/* Force wrapping for long lists/texts and prevent overflow causing partial slide peeks */
.product .profile-card li,
.product .profile-card p {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

/* Specific: ensure long comma-separated lists can break after commas */
.product .profile-card li { word-break: break-word !important; }

/* Additionally ensure containers don't introduce horizontal overflow */
.product .profile-card { overflow-wrap: anywhere !important; }


