/* assets/styles.css */

/* Prevent Multiple Contact Form 7 Submissions */

.wpcf7-form.submitting .wpcf7-submit {
    pointer-events: none;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* =========================== GENERAL =========================== */

.cblain_btn,
.cblain_projet_btn {
    background-color: var(--e-global-color-332724a);
    fill: var(--e-global-color-text);
    color: var(--e-global-color-text) !important;
    border-radius: 15px 15px 15px 15px !important;
    padding: 25px 25px 25px 25px;
    font-family: var(--e-global-typography-accent-font-family), Sans-serif;
    font-size: var(--e-global-typography-accent-font-size);
    font-weight: var(--e-global-typography-accent-font-weight);
    text-transform: var(--e-global-typography-accent-text-transform);
    line-height: var(--e-global-typography-accent-line-height);
    color: var(--e-global-color-text);
    border-style: solid;
    border-width: 0px 0px 0px 0px;
    border-color: var(--e-global-color-d49ac81);
	transition: all 0.3s ease;
	opacity: 1;
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 5px;
	align-items: center
}

.cblain_btn:hover,
.cblain_projet_btn:hover {
	background-color: var(--e-global-color-secondary) !important;
    color: var(--e-global-color-text);
}

.cblain_projet_btn::before {
	display:block;
	content: "+";
	font-size: 1.5em;
}

.cblain_projet_btn.cblain_btn_selected::before {
	display:block;
	content: "✓";
	font-size: 1.5em;
}

.cblain_btn_selected {
	opacity: 0.5 !important;
	pointer-events: none !important;
}

/* =========================== PROJETS =========================== */

/* Construction Blain media block — same height for IMG and VIDEO */
.cblain_media-wrap, .cblain_media-fixed { min-width:0; min-height:0; }
.cblain_media-fixed > .cblain_media {
  width:100% !important;
  height:100% !important;
  object-fit:cover;
  display:block;
}

/* Liste des maisons */

.cblain_liste-maisons {
	display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.cblain_liste-maisons .cblain_maison-title {
	margin: 0 !important;
}

.cblain_liste-maisons .cblain_maison-item {
	border-radius: 15px;
    border: 1px solid var(--e-global-color-1683046);
	overflow: hidden;
	background-color: var(--e-global-color-text);
}


.cblain_liste-maisons .cblain_maison-image {
	height: 200px;
	width: 100%;
	object-fit: cover;
}

.cblain_liste-maisons .cblain_maison-content {
	padding: 1em;
	display: flex;
	flex-direction: column;
	gap: 15px;
}


.cblain_liste-maisons .cblain_maison-details {
    display: flex;
    flex-direction: column;
    gap: 0.5em;
}

.cblain_liste-maisons .cblain_maison-detail {
	border-bottom: 1px dashed var(--e-global-color-d49ac81);
    padding-bottom: 0.5em;
    margin: 0;
	color: var(--e-global-color-044b931);
}

.cblain_liste-maisons .cblain_maison-title {
    font-family: var(--e-global-typography-83682a1-font-family), Sans-serif;
    font-size: var(--e-global-typography-83682a1-font-size);
    font-weight: var(--e-global-typography-83682a1-font-weight);
    text-transform: var(--e-global-typography-83682a1-text-transform);
    font-style: var(--e-global-typography-83682a1-font-style);
    line-height: var(--e-global-typography-83682a1-line-height);
    color: var(--e-global-color-secondary);
}

.cblain_liste-maisons .cblain_maison-prix {
    font-family: var(--e-global-typography-secondary-font-family), Sans-serif;
    font-size: var(--e-global-typography-secondary-font-size);
    font-weight: var(--e-global-typography-secondary-font-weight);
    line-height: var(--e-global-typography-secondary-line-height);
    color: var(--e-global-color-secondary);
}

/* Terrains - Plan intéractif */

.cblain_plan_msg {
	padding: 1em;
	margin: 0 !important;
	color: #fff;
	display: block;
}

.cblain_plan-wrapper {
	overflow: scroll !important;
}

.cblain_plan-wrapper .cblain_plan-svg {
	min-width: 700px !important;
	width: 100% !important;
}

.cblain_plan-wrapper .cblain_plan-svg svg {
  width: 100%;
  height: auto;
  display: flex;
}

.cblain_plan_terrain {
	cursor: pointer;
	fill: var(--e-global-color-4d462f5) !important;
	transition: all 0.3s ease !important;
	filter: drop-shadow(0px 0px 10px rgba(0,0,0,0.5));
	stroke: transparent !important
}

.cblain_plan_terrain:hover {
	opacity: 0.75 !important;
}

.cblain_plan_terrain.cblain_terrain_active {
	fill: var(--e-global-color-4d462f5) !important;
	stroke: var(--e-global-color-text) !important;
}

.cblain_plan_terrain.cblain_terrain_non_disponible {
	fill: var(--e-global-color-cfa1f76) !important;
	stroke: var(--e-global-color-cfa1f76) !important;
}

.cblain_terrain_active.cblain_terrain_non_disponible {
	fill: var(--e-global-color-cfa1f76) !important;
	stroke: var(--e-global-color-text) !important;
} 

.cblain_plan_terrain.cblain_plan_terrain_selected {
	opacity: 0.5 !important;
	fill: var(--e-global-color-4d462f5) !important;
	stroke: var(--e-global-color-text) !important;
}

/* Groupe, au cas où tu veux le cibler */
.cblain_plan_terrain-label-group {
  pointer-events: none;
}

/* Cercle de fond */
.cblain_plan_terrain-label-circle {
 	fill: var(--e-global-color-text);
	filter: drop-shadow(0px 0px 10px rgba(0,0,0,0.25));
}

/* Numéro au centre */
.cblain_plan_terrain-label {
  fill: var(--e-global-color-secondary);
  font-size: 1em;
  font-weight: 800;
}

.cblain_plan-tooltip {
  position: absolute; /* ou fixed, selon ton design */
  bottom: 1rem;
  left: 1rem;
  background: var(--e-global-color-text);
  border: 1px solid rgba(0,0,0,.1);
  border-radius: 8px;
  padding: 12px 16px;
  box-shadow: 0 8px 20px rgba(0,0,0,.12);
  max-width: 260px;
  z-index: 50;
}

.cblain_plan-tooltip .cblain_plan-tooltip-inner {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
    color: var(--e-global-color-044b931);
    gap: 1em;
}

.cblain_plan-tooltip .cblain_terrain-title {
	margin: 0 !important;
}

.cblain_plan-tooltip .cblain_terrain-details {
    display: flex;
    flex-direction: column;
    gap: 0.5em;
	width: 100%;
}

.cblain_plan-tooltip .cblain_terrain-detail {
	border-bottom: 1px dashed var(--e-global-color-d49ac81);
	padding-bottom: 0.5em;
	margin: 0;
	color: var(--e-global-color-044b931);
}

.cblain_plan-tooltip-close {
	border: none;
	background: transparent;
	float: right;
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
	color: var(--e-global-color-secondary) !important;
	background-color: var(--e-global-color-cfa1f76) !important;
}

/* Calculatrice */

.cblain_calculatrice {
	color: #fff;
}

.cblain_calculatrice label {
	color: #fff;
    font-family: var(--e-global-typography-112b6c4-font-family), Sans-serif;
    font-size: var(--e-global-typography-112b6c4-font-size);
    font-weight: var(--e-global-typography-520c191-font-weight);
    text-transform: var(--e-global-typography-520c191-text-transform);
    line-height: var(--e-global-typography-112b6c4-line-height);
	letter-spacing: var(--e-global-typography-520c191-letter-spacing);
    word-spacing: var(--e-global-typography-520c191-word-spacing);
	padding-bottom: 5px;
}

.cblain_calc-form {
	display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

/* Autre */

.cblain_projet_img_contact {
	background-size: cover !important;
    background-position: center !important;
}


/* =========================== HEADER =========================== */

/* =========================== FOOTER =========================== */

/* =========================== RESPONSIVE =========================== */

/* ------------------ Laptop - 1440px to 1799px ------------------ */
@media only screen and (max-width : 1799px) {
    
}

/* ------------------ Tablet Extra - 1024px to 1439px ------------------ */
@media only screen and (max-width : 1439px) {
    
}

/* ------------------ Tablet - 768px to 1023px ------------------ */
@media only screen and (max-width : 1023px) {
	
/* ========== PROJETS ========== */
	
.cblain_projet_hero .cblain_media-fixed {
	height: 50vh !important;
}


.cblain_liste-maisons {
	display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}
    
}

/* ------------------ Mobile Extra - 425px to 767px ------------------ */
@media only screen and (max-width : 767px) {
    
}

/* ------------------ Mobile - 320px to 424px ------------------ */
@media only screen and (max-width : 424px) {
	
/* ========== PROJETS ========== */

.cblain_liste-maisons {
	display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
}
    
}