/*
Theme Name: Ivan2
Theme URI: 
Author: Stéphane
Author URI: 
Description: correction migration
Requires at least: 6.9
Tested up to: 6.9
Requires PHP: 5.7
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ivan2
Tags: 

body {padding: 50px !important;}

:root :where(.bloc-une .is-layout-grid),
:root :where(.bloc-une .is-layout-flex) {
    gap: 0px !important;
}

.wp-block-columns-is-layout-flex a {
    text-decoration: none;
}

.bloc-une {
    margin: 0;
    padding: 0;
    max-width: 768px;
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 2fr 1fr !important;
    column-gap: clamp(1rem, 2.5vw, 1.5rem) !important;
    row-gap: 0 !important;
    aspect-ratio: 16 / 9;  /* Ajustez votre ratio */

body {padding: 50px !important;}

:root :where(.bloc-une .is-layout-grid),
:root :where(.bloc-une .is-layout-flex) {
    gap: 0px !important;
}

.wp-block-columns-is-layout-flex a {
    text-decoration: none;
}

.bloc-une {
    margin: 0;
    padding: 0;
    max-width: 768px;
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 2fr 1fr !important;
    column-gap: clamp(1rem, 2.5vw, 1.5rem) !important;
    row-gap: 0 !important;
    aspect-ratio: 16 / 9;  /* Ajustez votre ratio */
}

.bloc-une h2 {
    width: 100% !important;
    justify-content: flex-end !important;  /* ✅ Texte en BAS */
    align-items: flex-end !important;      /* ✅ Texte à DROITE */
    text-align: right !important;
}

.bloc-une .wp-container-core-columns-is-layout-28f84493:last-child h2:last-child {
    color: #deb685;
    background: #b88a9c; 
}

.bloc-une > div {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.bloc-une .wp-container-core-columns-is-layout-28f84493:first-child {
    background-color: #deb685;
    align-items: flex-end;
}

.bloc-une .wp-container-core-group-is-layout-fe9cc265 {
    display: grid !important;
    grid-template-rows: 1fr 1fr !important;
    height: 100%;
}

.bloc-une .wp-container-core-group-is-layout-fe9cc265 h2,
.bloc-une .wp-container-core-columns-is-layout-28f84493 h2 {
    flex: none !important;        /* ✅ Remplace flex:1 → STOP étirement */
    aspect-ratio: 1 / 1 !important;
    height: 100% !important;      /* ✅ Force carré parfait */
    background-color: #deb685;
    margin: 0 !important;
    padding: 0.3rem 1rem !important;  /* ✅ Anti-débord précis */
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    align-items: flex-end !important;
    text-align: right !important;
    line-height: 1.1 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

.bloc-une .wp-block-group.is-vertical.is-layout-flex {
    gap: clamp(1.2rem, 1.5vw, 1.5rem) !important;
}

.wp-container-core-columns-is-layout-28f84493 {
    margin: 0 !important;
    padding: 0 !important;   
}

/*********************************/

.container {
    max-width: 768px;
    display: grid;
    grid-template-columns: 2fr 1fr; /* grand = 2 parts, colonne = 1 part */
    width: 100%; /* occupe toute la largeur */
}

.grand {
    background: black;
    aspect-ratio: 1 / 1; /* vrai carré */
}

.colonne {
      display: grid;
      grid-template-rows: 1fr 1fr; /* deux petits carrés empilés */
    }

.small {
      aspect-ratio: 1 / 1; /* vrais carrés */
    }

.carres .grand, .carres .small {
    background-color: #deb685;
    color: #b88a9c;
    font-size: 1.15em;
    font-weight: 300;
    padding: 5px;
    margin: 15px;
    display: flex;
    align-items: flex-end;
    transition: transform 0.3s, box-shadow 0.3s;
}

.carres .grand:hover, .carres .small:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
}
.carres .last-small {
    background-color: #b88a9c;
    color: #deb685;
}

.carres .grand  {
    background-color: #deb685;
    padding: 5px;
    display: flex;
    align-items: flex-end;
}

.carres a {
    text-decoration: none;
}

.carres h2 {
    width: 100%;
    text-align: right;
    font-size: 3rem;
    font-weight: 500;
    line-height: 1em;
    margin: 0 !important;
    padding: 0 !important;   
}
/********************************/

.category-card.small {
    padding: 5px;
    display: flex;
    align-items: flex-end;
    height: 140px;
    width: 140px;
    margin-bottom: 20px;
}

.category-card.small h2, .category-card.large h2 {
    margin-left: auto;
}

.category-card.edition {
    background-color: #deb685;
}

.category-card.communication {
    background-color: #b88a9c;
}

.category-title {
    font-size: 3.5rem;
    font-weight: 300;
    color: #b07b8b;
    text-decoration: none;
    line-height: 1em;
}

.color-edition {
    color: #deb685;
}

.category-card.small .category-title {
    font-size: 1.5rem;
    font-weight: 500;
}

.page-id-18 p {
	margin: 1em 0;
	padding: 0;
}

:root :where(.page-id-18 .is-layout-flow) > * {
    margin-block-start: 25px;
}

.page-id-18 h1 {
	font-weight: 300;
}

.wpforms-form,
.wpforms-form *,
.wpforms-form .wpforms-title,
.wpforms-form .wpforms-field-label,
.wpforms-form input,
.wpforms-form textarea,
.wpforms-form select {
    font-size: 18px !important;
    font-family: 'Work Sans', sans-serif !important;
	max-width: 800px;
}

.page-id-347 .wp-block-gallery-2 {
	max-width: 800px !important;
}


/*****************/


/* ✅ RESPONSIVE : CONSERVE layout 2fr 1fr + carrés sur TOUS écrans */
/* Seulement ajuste gaps et max-width */
@media (max-width: 768px) {

     body {
	padding: 5px !important;
    }

    .carres .grand, .carres .small {
    margin: 5px;
    }

   .page-id-178 h2 {
    font-size: 1.75em !important;
   }
    
    .carres h2 {
    width: 100%;
    text-align: right;
    font-size: 1.25em;
    font-weight: 500;
    line-height: 1em;
    margin: 0 !important;
    padding: 0 !important;   
	}
   
    :root :where(.is-layout-flex) {
    gap: 15px;
    }
    
	.wp-container-core-group-is-layout-f66f9956, .wp-container-content-29dca9c1, .wp-container-content-5b984bb6, .wp-container-content-5b984bb6 {
		display: block !important;
		margin: auto !important;
	}
	
    .wp-container-core-group-is-layout-f66f9956 .wp-image-215, .wp-container-core-group-is-layout-f66f9956 .wp-image-343, .wp-container-core-group-is-layout-f66f9956 .wp-image-353, .wp-container-content-29dca9c1 figure .wp-image-123, .wp-container-content-29dca9c1 .wp-image-123 {
		display: block !important;
		clear: both !important;
		margin: 0 auto 50px !important;
		width: 250px !important;
		height: 250px !important;
	}	
	
figure.wp-block-image.size-full.wp-container-content-af152ba0{
	position: relative !important;
	margin: 0 !important;
	padding: 0 !important;
	}
	
figure.wp-block-image.size-full.wp-container-content-af152ba0{
	}
	
figure.wp-block-image.size-full.wp-container-content-af152ba0 a, figure.wp-block-image.size-full.wp-container-content-29dca9c1 a{
	display: block !important;
	width: 100% !important;
	}

figure.wp-block-image.size-full.wp-container-content-af152ba0 img, figure.wp-block-image.size-full.wp-container-content-29dca9c1 img{
	display: block !important;
	margin-left: auto !important;
	margin-right: auto !important;
	}
	
	:root :where(.is-layout-flow) > * {
		margin-block-start: 25px;
		margin-block-end: 0;
	}
	
    .wp-container-core-group-is-layout-f66f9956 h2, .wp-container-core-group-is-layout-f66f9956 h2, .wp-container-core-group-is-layout-f66f9956 h2 {
		font-size: 40px !important;
	}
	
	.wp-container-content-29dca9c1, .wp-container-content-5b984bb6, .wp-container-content-5b984bb6 {
		margin-bottom: 70px !important;
	}	
	
	.wp-container-core-columns-is-layout-28f84493 .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
        display: block !important;
		width: 100px !important;
		float: left !important;
		margin-right: 20px !important; 
    }
	
	.wp-container-core-columns-is-layout-28f84493 .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column:last-child {
		width: auto !important;
		min-width: 260px !important;
		max-width: 260px !important;
		margin-right: 0px !important; 
		margin-bottom: 35px !important;
    }
	
	.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column .is-layout-flex {
        display: block !important;
    }
	
	h2 {
		line-height: 1em;
	}
	
	.page-id-347 .wp-block-column-is-layout-flow {
		min-width: 100% !important;
		max-width: 100% !important;
		margin: auto !important; 
	}
	
	.page-id-347 .is-layout-flow {
		min-width: 100% !important;
		max-width: 100% !important;
		margin: auto !important; 
	}
	
	.page-id-347 .wp-block-column {
		min-width: 100% !important;
		max-width: 100% !important;
		margin: auto !important; 
	}
	
	.page-id-347 .wp-block-column h2, .page-id-347 .wp-block-column figure  {
		min-width: 80% !important;
		max-width: 80% !important;
		margin: auto !important; 
	}
	
	.page-id-347 .wp-container-core-columns-is-layout-28f84493 .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column:last-child {
		min-width: 100% !important;
		max-width: 100% !important;
		margin: auto !important; 
	}
	
		.page-id-347 .wp-container-core-columns-is-layout-28f84493 .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column:last-child h2 {
		margin: 30px auto !important; 
	}
	
	.page-id-347 .wp-container-core-columns-is-layout-28f84493 .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column:last-child figure {
		margin: 20px auto !important; 
	}
}
