/*image-texte*/
:root {
  --noir: #000;
  --blanc: #fff;
  --marron: #b9a995;
  --gris: #f0f0f0;
  --gris-fonce: #575756;
  --shadow-color: 0 2px 6px  rgba(0,0,0,0.2);
  --shadow-color-hover: 0 4px 12px rgba(0,0,0,0.4);
}
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
@media only screen and (min-width: 1200px) {
	.bloc_g, .bloc_c, .bloc_d {margin: 0 auto;}
	.bloc_c ul, .bloc_d ul {text-align:left;}
	.bloc_g {width:45%;text-align:center;}
	.bloc_c {width:30%;}
	.bloc_d {width:20%;}
	.bloc_gauche_accueil, .bloc_droit_accueil { width:35%;}
	.bloc_gauche_accueil { margin-right:4%;}
	.bloc_droit_accueil {display:inline-block; margin-left:4%; }
	.produits-grid { grid-template-columns: repeat(2, 1fr);width:90%;}
	.bloc_gauche_accueil h1{font-size:3.5rem;}
	.bloc_aff_img_prod {width: 55%;}
	.bloc_texte_detail {width: 41%;}
	.fleur_xl_info h3 {font-size:7rem;}
	.w-1-3 { width: 33.33%; }
	.w-2-3 { width: 66.66%; }
	.w-1-2 { width: 50%; }
	.left-half {width: 50%;}
	.right-stack {width: 50%;}
	.produit_item_img_fix {display: flex;}
	.carte-produit {width:100%;}
	.produit-item {width: 100%;}
	.page-accueil .header-background, 
	.choix-fleurs-murales .header-background, 
	.choix-fleurs-messages .header-background, 
	.choix-fleurs-xl .header-background, 
	.choix-boucles-oreilles .header-background, 
	.choix-accessoires .header-background {height:1140px;}
}
@media only screen and (min-width: 960px) and (max-width: 1199px) {
	.bloc_g, .bloc_c, .bloc_d {margin: 0 auto;}
	.bloc_g {width:45%;text-align:center;}
	.bloc_c {width:30%;}
	.bloc_d {width:20%;}
	.bloc_gauche_accueil, .bloc_droit_accueil { width:44%;}
	.bloc_gauche_accueil { margin-right:2%;}
	.bloc_droit_accueil {display:inline-block; margin-left:2%; }
	.produits-grid { grid-template-columns: repeat(2, 1fr);width:90%;}
	.bloc_gauche_accueil h1{font-size:3rem;}
	.bloc_aff_img_prod {width: 55%;}
	.bloc_texte_detail {width: 41%;}
	.w-1-3 { width: 33.33%; }
	.w-2-3 { width: 66.66%; }
	.w-1-2 { width: 50%; }
	.left-half {width: 50%;}
	.right-stack {width: 50%;}
	.fleur_xl_info h3 {font-size:7rem;}
	.produit_item_img_fix {display: flex;}
	.carte-produit {width:100%;}
	.produit-item {width: 100%;}
	.page-accueil .header-background, 
	.choix-fleurs-murales .header-background, 
	.choix-fleurs-messages .header-background, 
	.choix-fleurs-xl .header-background, 
	.choix-boucles-oreilles .header-background, 
	.choix-accessoires .header-background {height:860px;}
}
@media only screen and (min-width: 769px) and (max-width: 959px) {
	.bloc_g, .bloc_c, .bloc_d {margin: 0 auto;}
	.bloc_c ul, .bloc_d ul {text-align:left;}
	.bloc_g {width:45%;text-align:center;}
	.bloc_c {width:30%;}
	.bloc_d {width:20%;}
	.bloc_gauche_accueil { width:90%;}
	.bloc_droit_accueil {display:inline-block; width:50%;}
	.produits-grid { grid-template-columns: 1fr;width:70%;}
	.formulaire_contact {padding:0 20px;}
	.bloc_gauche_accueil h1{font-size:2.5rem;}
	.bloc_aff_img_prod {width: 50%;}
	.bloc_texte_detail {width: 46%;}
	.w-1-3 { width: 33.33%; }
	.w-2-3 { width: 66.66%; }
	.w-1-2 { width: 50%; }
	.left-half {width: 50%;}
	.right-stack {width: 50%;}
	.fleur_xl_info h3 {font-size:6rem;}
	.produit_item_img_fix {display: flex;}
	.carte-produit {width:100%;}
	.produit-item {width: 100%;}
	.page-accueil .header-background, 
	.choix-fleurs-murales .header-background, 
	.choix-fleurs-messages .header-background, 
	.choix-fleurs-xl .header-background, 
	.choix-boucles-oreilles .header-background, 
	.choix-accessoires .header-background {height:690px;}
}
@media only screen and (min-width: 480px) and (max-width: 768px) {
	.bloc_c ul, .bloc_d ul {text-align:left;}
	.bloc_g {width:100%;margin-bottom:25px;text-align:center;}
	.bloc_c {width:49%;margin-left:15%;}
	.bloc_d {width:35%;}
	.bloc_gauche_accueil { width:90%;}
	.bloc_droit_accueil {display:inline-block; width:70%;}
	.produits-grid { grid-template-columns: 1fr; width:90%;}
	.formulaire_contact {padding:0 20px;}
	.bloc_gauche_accueil h1{font-size:2rem;}
	.bloc_aff_img_prod {width: 100%;flex: none;}
	.bloc_texte_detail {width: 100%;}
	.row {flex-direction: column;}
    .w-1-3, .w-2-3, .w-1-2, .left-half, .right-stack {width: 100%;}
	.fleur_xl_info h3 {font-size:5rem;}
	.carte-produit {width: 90%;text-align:center;margin:0 auto;}
	.produit_item_img_fix {display: flex;}
	.produit-item {width: 100%;}
	.page-accueil .header-background, 
	.choix-fleurs-murales .header-background, 
	.choix-fleurs-messages .header-background, 
	.choix-fleurs-xl .header-background, 
	.choix-boucles-oreilles .header-background, 
	.choix-accessoires .header-background {height:550px;}
}
@media only screen and (max-width: 479px) {
	.bloc_g, .bloc_c, .bloc_d {width:100%;margin:10px auto;text-align:center;}
	.bloc_g ul,.bloc_c ul, .bloc_d ul {text-align:center;}
	.bloc_gauche_accueil { width:90%;}
	.bloc_droit_accueil {display:inline-block; width:90%;margin:5% auto;}
	.disparition { display:none; }
	.produits-grid { grid-template-columns: 1fr; width:100%;}
	.formulaire_contact {padding:0 20px;}
	.bloc_gauche_accueil h1{font-size:2rem;}
	.bloc_aff_img_prod {width: 100%;flex: none;}
	.bloc_texte_detail {width: 100%;}
	.row {flex-direction: column;}
    .w-1-3, .w-2-3, .w-1-2, .left-half, .right-stack {width: 100%;}
    .texte {text-align: center;padding: 0 10px;}
	.fleur_xl_info h3 {font-size:4rem;}
	.carte-produit {width: 90%;text-align:center;margin:0 auto;}
	.produit_item_img_fix {display: none;}
	.produit-item {width:90%;}
	.img_bloc {display: none;}
	.page-accueil .header-background, 
	.choix-fleurs-murales .header-background, 
	.choix-fleurs-messages .header-background, 
	.choix-fleurs-xl .header-background, 
	.choix-boucles-oreilles .header-background, 
	.choix-accessoires .header-background {height:344px;}
}
html {
	height: 100%;
	margin:0;
	padding:0;
	font-size:100%;
}
body {
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}
a {
  text-decoration: none;
  color: inherit;
}
@font-face {
    font-family: 'poiret_oneregular';
    src: url('../font/poiretone-regular-webfont.eot');
    src: url('../font/poiretone-regular-webfont.eot?#iefix') format('embedded-opentype'),
         url('../font/poiretone-regular-webfont.woff2') format('woff2'),
         url('../font/poiretone-regular-webfont.woff') format('woff'),
         url('../font/poiretone-regular-webfont.ttf') format('truetype'),
         url('../font/poiretone-regular-webfont.svg#poiret_oneregular') format('svg');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'cormorant_garamondregular';
    src: url('../font/cormorantgaramond-regular-webfont.eot');
    src: url('../font/cormorantgaramond-regular-webfont.eot?#iefix') format('embedded-opentype'),
         url('../font/cormorantgaramond-regular-webfont.woff2') format('woff2'),
         url('../font/cormorantgaramond-regular-webfont.woff') format('woff'),
         url('../font/cormorantgaramond-regular-webfont.ttf') format('truetype'),
         url('../font/cormorantgaramond-regular-webfont.svg#cormorant_garamondregular') format('svg');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'Proxima Nova Alt Cn Th';
    src: url('../font/ProximaNovaACond-Thin.eot');
    src: url('../font/ProximaNovaACond-Thin.eot?#iefix') format('embedded-opentype'),
        url('../font/ProximaNovaACond-Thin.woff2') format('woff2'),
        url('../font/ProximaNovaACond-Thin.woff') format('woff'),
        url('../font/ProximaNovaACond-Thin.ttf') format('truetype'),
        url('../font/ProximaNovaACond-Thin.svg#ProximaNovaACond-Thin') format('svg');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}
#conteneur_principal {
	width: 100%;
    max-width: 1600px;
    margin: 0 auto;
    padding: 0;
	font-family: 'Proxima Nova Alt Cn Th', sans-serif;
	font-size:1.4rem;
}
#conteneur { /*contact*/
	width:90%;
	margin:0 auto;
	max-width:1600px;
}
.header-wrapper {
    width: 100%;
    margin: 0 auto;
    position: relative;
}
.page-accueil .header-wrapper, 
.choix-fleurs-murales .header-wrapper, 
.choix-fleurs-messages .header-wrapper,
.choix-fleurs-xl .header-wrapper, 
.choix-boucles-oreilles .header-wrapper,
.choix-accessoires .header-wrapper {
	margin-bottom:0;
}
.header-background {
    width: 100%;
    background-color: var(--blanc);
    position: relative;
}
.page-accueil .header-background, 
.choix-fleurs-murales .header-background, 
.choix-fleurs-messages .header-background, 
.choix-fleurs-xl .header-background, 
.choix-boucles-oreilles .header-background,
.choix-accessoires .header-background {
    background-size: cover;
    background-position: center;
}
.icon-link {
    display: flex;
    align-items: center;
	fill:var(--gris-fonce);
}
.page-accueil .icon-link, 
.choix-fleurs-murales .icon-link, 
.choix-fleurs-messages .icon-link,
.choix-fleurs-xl .icon-link,  
.choix-boucles-oreilles .icon-link,
.choix-accessoires .icon-link {
    fill:var(--blanc);
}
.header-logo {
    height: 100px;
    width: auto;
	fill:var(--gris-fonce);
}
.page-accueil .header-logo, 
.choix-fleurs-murales .header-logo, 
.choix-fleurs-messages .header-logo, 
.choix-fleurs-xl .header-logo, 
.choix-boucles-oreilles .header-logo,
.choix-accessoires .header-logo {
    fill:var(--blanc);
}
.page-accueil .header-background {
    background-image: url('/images/fond/chemin-de-table-fleurs-blanches.webp');
}
.choix-fleurs-murales .header-background {
    background-image: url('/images/fond/fleur-murale-blanche-papier-crepon.webp');
}
.choix-fleurs-messages .header-background {
	/*height: 900px;*/
    background-image: url('/images/fond/main-qui-tend-une-fleur-rose-a-une-autre-main.webp');
}
.choix-fleurs-xl .header-background {
    background-image: url('/images/fond/fleur-papier-geante-coquelicot-champ-etoile-vagabonde.webp');
}
.choix-boucles-oreilles .header-background {
    background-image: url('/images/fond/boucle-d-oreille-fleur-blanche.webp');
}
.choix-accessoires .header-background {
    background-image: url('/images/fond/Mannequin-coiffe-fleurs-papier-blanches-mariage-creation-etoile-vagabonde.webp');
}
.page-contact .header-background {
    background-color: var(--blanc);
}
.header-content {
    position: relative;
    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}
.header-container {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0;
    width: 100%;
}
.header-top .header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
}
.header-top {
    padding:4% 0;
}
.icons-left {
    display: flex;
    align-items: center;
    margin-left: 40px;
    order: 1;
}
.header-icon {
    width:auto;
    height: 35px;
}
.logo-center {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
	margin-top: 2%;
    z-index: 2;
}
.header-bottom {
    margin-top: 20px;
}
.panier-header {
    position: relative;
    display: inline-block;
}
.header-count {
    position: absolute;
    top: -8px;
    right: -8px;
    background-color: #ff4444;
    color: white;
    border-radius: 50%;
    padding: 2px 6px;
    font-size: 12px;
    min-width: 16px;
    height: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
}
.main-nav {
    width: 100%;
    font-family: 'poiret_oneregular', sans-serif;
    transition: all 0.3s ease;
}
.main-nav.fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: var(--blanc);
    box-shadow: var(--shadow-color);
    z-index: 1000;
}
.menu-buttons {
    display: flex;
    justify-content: center;
    gap: 20px;
    padding: 15px;
    z-index: 2;
}
.menu-item {
    position: relative;
}
.menu-button-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}
.menu-button {
    text-decoration: none;
    font-weight: 500;
    font-size: 1rem;
    letter-spacing: 1px;
    padding: 10px 20px;
    border-radius: 3px;
    transition: all 0.3s ease;
	color: var(--gris-fonce);
}
.page-accueil .menu-button, 
.choix-fleurs-murales .menu-button, 
.choix-fleurs-xl .menu-button,
.choix-boucles-oreilles .menu-button,
.choix-accessoires .menu-button {
    color: var(--blanc);
	text-shadow:
  1px 1px 2px gris-fonce,
  0 0 1em var(--gris),
  1px 0 0.2em var(--gris);
}
.choix-fleurs-messages .menu-button {
    color: var(--blanc);
}
body:not(.page-accueil):not(.choix-fleurs-murales):not(.choix-fleurs-messages):not(.choix-fleurs-xl):not(.choix-boucles-oreilles):not(.choix-accessoires) main {
    margin-top: 120px; /* adapte selon la hauteur du header */
}
.submenu-toggle {
    display: none;
    background: none;
    border: none;
    padding: 15px 20px;
    cursor: pointer;
    outline: none;
}
.submenu-toggle .arrow {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-right: 2px solid var(--gris-fonce);
    border-bottom: 2px solid var(--gris-fonce);
    transform: rotate(-45deg);
    transition: transform 0.3s ease;
}
.menu-item.active .submenu-toggle .arrow {
    transform: rotate(45deg);
}

.main-nav.fixed .menu-button {
    color: var(--gris-fonce);
	text-shadow: none;
}
.main-nav.fixed .icon-link {
	fill: var(--gris-fonce);
}
.menu-button:hover {
    transform: translateY(-3px);
}
.menu-button.active {
	color: var(--gris-fonce);
	font-weight:600;
}
.page-accueil .menu-button.active, 
.choix-fleurs-murales .menu-button.active, 
.choix-fleurs-messages .menu-button.active, 
.choix-fleurs-xl .menu-button.active, 
.choix-boucles-oreilles .menu-button.active, 
.choix-accessoires .menu-button.active {
    color: var(--gris-fonce);
	font-weight:600;
}
.sous-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background-color: var(--blanc);
    border-radius: 3px;
    padding: 10px 0;
    min-width: 200px;
    box-shadow: var(--shadow-color);
    z-index: 3;
}
.menu-item:hover .sous-menu {
    display: block;
}
.sous-menu-button {
    display: block;
    color: var(--noir);
    text-decoration: none;
    padding: 8px 20px;
    font-size: 1rem;
    transition: all 0.3s ease;
    text-align: left;
    white-space: nowrap;
}
.sous-menu-button:hover {
    background-color: var(--marron);
    color: var(--blanc);
}
.burger-menu {
    display: none;
    cursor: pointer;
    padding: 10px;
    position: relative;
    z-index: 1001;
}
.burger-menu span {
    display: block;
    width: 25px;
    height: 2px;
    background-color: var(--gris-fonce);
    margin: 4px 0;
    transition: all 0.3s etext-shadow: none;
}
.page-accueil .burger-menu span, 
.choix-fleurs-murales .burger-menu span, 
.choix-fleurs-messages .burger-menu span, 
.choix-fleurs-xl .burger-menu span, 
.choix-boucles-oreilles .burger-menu span, 
.choix-accessoires .burger-menu span {
    background-color: var(--blanc);
}
.backToTopBtn_fond{fill:var(--blanc);}
.backToTopBtn_flech{fill:var(--gris-fonce);}
#backToTopBtn {
    position: fixed;
    bottom: 20px;
    right: 30px;
    z-index: 9999;
    border: none;
    outline: none;
    background: none;
    cursor: pointer;
    padding: 0;
    width: 50px;
    height: 50px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}
#backToTopBtn.visible {
    opacity: 1;
    visibility: visible;
}
#backToTopBtn:hover .backToTopBtn_fond {
    fill: var(--gris-fonce);
}
#backToTopBtn:hover .backToTopBtn_flech {
    fill: var(--blanc);
}
h1, h2, h3, h4, h5, h6 {
	font-family: 'cormorant_garamondregular', serif;
	font-weight:100;
}
form {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 30px;
  }
.formulaire {
	width:100%;
	max-width:800px;
    margin: 2em auto 2em;
	padding:60px 20px;
    background-color: var(--blanc);
}
label {
	margin-bottom: 5px;
	font-family: 'poiret_oneregular', sans-serif;
	padding: 0 20px;
	font-size: 1.2rem;
}
input[type="text"], textarea, input[type="password"], input[type="email"], 
select,input[type="date"], input[type="number"], input[type="tel"] {
	width: 100%;
    padding: 10px;
    border: 1px solid var(--marron);
    border-radius: 6px;
    font-size: 1.2rem;
    font-family: inherit;
    background-color: var(--blanc);
	cursor:pointer;
	margin-bottom:15px;
}
.quantite-controls input[type="number"] {
	width: 50px;
}
input[type="number"].quantite-admin {
	width:80px;
}
input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 30px;
  height: 30px;
  background-color: var(--blanc);
  border: 1px solid var(--marron);
  border-radius: 6px;
  cursor: pointer;
  position: relative;
}
input[type="checkbox"]:checked {
  background-color: var(--marron);
  border-color: var(--marron);
}
input[type="checkbox"]::after {
  content: "✓";
  color: var(--gris-fonce);
  font-size: 16px;
  position: absolute;
  top: 2px;
  left: 8px;
  display: none;
}
input[type="checkbox"]:checked::after {
  display: block;
}
select {
	color: var(--gris-fonce);
	appearance: none;
	background-size: 16px;
}
textarea {
	width: 100%;
	min-height: 200px;
}
input[type="date"], input[type="number"] {
    max-width: 200px;
  }
button {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    font-size: inherit;
    line-height: inherit;
    color: inherit;
}
.cta, .cta_detail, 
button[type="submit"].cta, .cta_detail {
    outline: none;
    cursor: pointer;
    font-family: inherit;
    display: inline-block;
    text-decoration: none;
    color: var(--blanc);
    transition: all 0.3s ease;
    width: fit-content;
    font-size: 1.2rem;
    padding: 8px 20px;
    background-color: var(--marron);
}
.cta,
button[type="submit"].cta {
	margin:10px 4px;
    border-radius: 4px;
    box-shadow: var(--shadow-color);
	align-self: center;
	display: inline-flex;
    align-items: center; /* centre verticalement l'image et le texte */
    gap: 10px; 
}
.cta_detail {
	border: none;
	margin:40px 4px 10px 4px;
	align-self: left;
}
.cta:hover,
button[type="submit"].cta:hover, .cta_detail:hover {
    background-color: var(--gris-fonce);
    transform: translateY(-3px);
    box-shadow: var(--shadow-color-hover);
}
.cta:active,
button[type="submit"].cta:active, .cta_detail:active {
    background-color: var(--blanc);
    color: var(--noir);
    border-color: var(--marron);
    transform: translateY(0);
    box-shadow: var(--shadow-color);
}
.cta img {
	width:20px;
	height:20px;
}
.centre { text-align: center; }
.error-msg, .rouge {
  color: red;
}
.error-msg:empty, #form-autre-adresse, #adresses-enregistrees {
    display: none;
}
.messages-container {
    position: fixed;
    top: 10%;
    left: 50%;
    transform: translateX(-50%);
    width: 70%;
    max-width: 1200px;
    z-index: 10000;
    display: flex;
    flex-direction: column;
    gap: 15px;
    pointer-events: none;
}
.error-message, .success-message {
    padding: 15px;
    text-align: center;
    font-size: 1.2em;
	border-radius: 8px;
	box-shadow: var(--shadow-color);
    pointer-events: auto;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;     
}
.error-message, .success-message {
    background-color:var(--marron);
    color: var(--blanc);
}
.close-btn {
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: 1.5em;
    cursor: pointer;
    user-select: none;
}
.premier-bloc { /*accueil - galerie - contact*/
    padding:0 auto;
    background-color: var(--blanc);
}
.container { /*contact - e-shop */
    max-width: 1600px;
    margin: 0 auto;
	margin-top:100px;
    padding:0 auto;
}
.bloc_accueil { /*accueil */
    width:100%;
    padding:0 auto;
	margin:0 auto;
	margin-top:100px;
	vertical-align:middle;
	text-align:center;
}
.bloc_gauche_accueil, .bloc_droit_accueil { 
	vertical-align:middle;
}
.bloc_gauche_accueil { 
	display:inline-block;
    color: var(--noir);
}
.bloc_droit_accueil img, .bloc_gauche_accueil img  {
    width:100%;
    height: auto;
}
.deuxieme-bloc, .troisieme-bloc, .bloc_detail_produit {
    padding:0;
    background-color: var(--blanc);
}
.apropos-bloc {
    padding:0 4%;
	margin:0 auto;
    background-color: var(--blanc);
	font-family: 'poiret_oneregular', sans-serif;
	font-size: 1.2rem;
}
.marge_top {
	margin-top:80px;
}
.marge_bottom {
	margin-bottom:80px;
}
.deuxieme-bloc { /*accueil*/
	margin-top:80px;
}
.troisieme-bloc, .bloc_detail_produit { /* fleurs-papier/fleurs-messages - details-produit */
	margin:80px 0;
}
.message_affichage_prod {
    max-width: 1600px;
    margin: 20px 0;
    padding: 0 2%;
	text-align: center;
	font-size: 1.5rem;
	font-family: 'poiret_oneregular', sans-serif;
	color: var(--marron);
}
.container-deuxieme-bloc {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0;
}
.container-troisieme-bloc, .bloc_general_detail_produit {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 2%;
}
.container-apropos-bloc {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0;
}
.bloc-contenu {
    display: flex;
    align-items: center;
    gap: 60px;
    justify-content: center;
}
.bloc-contenu-apropos {
    display: flex;
    align-items: center;
    gap:30px;
    justify-content: center;
	max-width: 1400px;
    margin: 0 auto;
}
.bloc-texte {
    flex: 0 1 35%;
    text-align: center;
    color: var(--noir);
	margin: 0 auto;
	padding:0 2%;
}
.bloc_aff_img_prod {
	display:inline-block;
    text-align: center;
    color: var(--noir);
	margin: 0 auto;
	padding:0 2%;
}
.bloc_aff_img_prod img {
    width: 100%;
	max-width:800px;
    height: auto;
}
.bloc_texte_detail {
	display:inline-block;
	vertical-align:top;
    color: var(--noir);
	margin: 0 auto;
	padding:0 2%;
	font-size: 1.2rem;
    font-family: 'poiret_oneregular', sans-serif;
}
.bloc_texte_detail form {
    margin: 0;
	padding:0;
	gap: 0;
  }
.bloc_texte_detail h1  {
    font-size: 2rem;
	margin-bottom:20px;
}
.bloc_texte_detail h2, .bloc_texte_detail h3, .bloc_texte_detail h4, .bloc_texte_detail h5 {
    font-size: 1.3rem;
	margin-top:30px;
	margin-bottom:10px;
	font-family: 'poiret_oneregular', sans-serif;
}
.bloc_texte_detail p {
	margin-top:20px;
}
.bloc-texte-apropos {
    flex: 1 50%;
    text-align: left;
    color: var(--noir);
	margin: 0 auto;
}
.bloc-texte-apropos p{
	margin-top:25px;
	margin-bottom:25px;
}
.container-troisieme-bloc .bloc-contenu {
    display: flex;
	align-items: center;
	gap: 60px;
}
.container-apropos-bloc .bloc-contenu-apropos {
    display: flex;
	align-items: center;
	gap: 60px;
}
.container-troisieme-bloc {
    flex: 1;
	text-align:center;
}
.container-apropos-bloc {
    flex: 1;
	text-align:center;
}
.bloc-texte h1,.bloc-texte h2,.bloc_gauche_accueil h1  {
    margin-bottom: 30px;
    line-height: 1.2;
}
.bloc-texte-apropos h2, .bloc-image-apropos h1{
    font-size: 1.5rem;
}
.bloc-texte-apropos h2{
    margin-bottom:10px;
}
.bloc-image-apropos h1{
    margin-bottom:10px;
}
.bloc-image-apropos p{
    margin-top:25px;
	margin-bottom:25px;
}
.bloc-texte-apropos h3, .bloc-image-apropos h2  {
    font-size: 2rem;
	margin-bottom:20px;
}
.bloc_gauche_accueil h3  {
    font-family: 'poiret_oneregular', sans-serif;
	margin-bottom:20px;
}
.bloc-texte h1{
    font-size: 4rem;
}
h1.contact {
    font-size:1.5rem;
}
.en_savoir_plus {
	text-align:left;
}
.en_savoir_plus h1 {
    font-size: 2rem;
}
.en_savoir_plus p {
    font-size: 1.4rem;
	margin-bottom:20px;
}
.texte_fleurs_message h2{
	font-size:2rem;
	font-family: 'poiret_oneregular', sans-serif;
	margin-bottom:20px;
	color: var(--gris-fonce);
}
.texte_fleurs_message p{
	color: var(--gris-fonce);
}
.deuxieme-bloc .bloc-texte h2  { /* accueil*/
    font-size: 3rem;
}
.troisieme-bloc .bloc-texte h2  { /* fleur xl*/
    font-size: 2.5rem;
}
.troisieme-bloc .bloc-texte h3  { /* fleur xl*/
    font-size: 2rem;
}
h2.page_bijoux  {
    font-size: 2.5rem;
	font-family: 'poiret_oneregular', sans-serif;
	margin-bottom:20px;
	color: var(--gris-fonce);
}
p.container {
	font-family: 'cormorant_garamondregular', serif;
}
.bloc-texte-apropos img {
    width: 100%;
    height: auto;
}
.bloc-texte p, .accueil p {
    font-size: 1.2rem;
    line-height: 1.6;
    margin-bottom: 20px;
}
.bloc-texte img {
    width: 100%;
    height: auto;
}
.bloc-image-apropos img {
    width: 100%;
    height: auto;
	align-self: flex-start;
}
.page-non-trouve img {
    max-width: 100%;
	width: auto;
    height: auto;
}
.bloc-image-apropos {
    flex: 1 50%;
	text-align:left;
}
.bloc-image { /*accueil - accessoires*/
    flex: 0 1 50%;
}
.bloc_droite_pt {
    width:80%;
	margin:0 auto;
	text-align:center;
}
.bloc_droite_pt h1  {
    font-size: 4rem;
}
.bloc_droite_pt h2  {
	font-family: 'cormorant_garamondregular', serif;
    font-weight: 400;
}
.container-troisieme-bloc .bloc-image {
    flex: 1;
}
.bloc-image h2, .bloc-image h3, .bloc-image h4, 
.description-detaillee h2, .description-detaillee h3, .description-detaillee h4, .description-detaillee h5 {
    font-family: 'poiret_oneregular', sans-serif;
}
.bloc-image img { /*accueil - accessoires*/
    width:100%;
    height: auto;
	align-self: flex-start;
}
.img_bloc {
    width: 100%;
    height:auto;
}
.img_bloc img {
    width: 100%;
    height: auto;
}
.espace_bas  {
	margin-bottom:2%;
}
.bloc_eshop, .section-fleurs-papier {
    position: relative;
    width: 100%;
    height: 100vh;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.bloc_eshop {
    background-image: url('/images/fond/fabrication-artisanale-papier-etoile-vagabonde.webp');
}
.section_eshop {
    position: relative;
	top: 50%;transform: translateY(-50%);
    width: 100%;
}
.texte_eshop {

	margin-left:60%;
	text-align:left;
	color:var(--gris-fonce);
}
.texte_eshop h2 {
    font-size: 2.8rem;
}
.texte_eshop p {
    font-size: 1.5rem;
    line-height: 1.6;
}
.galerie-section, .section-produit, .galerie-section-shop {
    padding:2% 5%;
    background-color: var(--blanc);
}
.galerie_fleur_xl { /* div_fleur_xl*/
    padding:0;
    background-color: var(--blanc);
}
.galerie-titre {
	font-family: 'poiret_oneregular', sans-serif;
    text-align: center;
    color: var(--gris-fonce);
    font-size: 3rem;
    margin:3% 0 5% 0;
}
.galerie-grid, .produit-grid, .galerie-grid-shop { /* galerie-grid sur accueil */
    max-width: 1500px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

.produit-grid {margin-bottom:3%;}
.grid-item, .produit_item.texte_image_produit, .grid-shop {
    position: relative;
    width: 100%;
}
.grid-item, .produit_item.texte_image_produit {
	height:900px;
	overflow: hidden;
}
.grid-shop {
	height: auto;
    overflow: visible;
}
.produit_item.texte_image_produit {
    display: flex;
    justify-content: center;
    align-items: center;
}
.produit_item_img_fix {
    position: relative;
    width: 100%;
    height: 900px;
    overflow: hidden;
    justify-content: center;
    align-items: center;
}
.grid-item img, .produit_item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease-out;
}
.grid-shop img {
    width: 100%;
	height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease-out;
}
.produit_item_img_fix img {
    width: 70%;
    height: auto;
    max-height: 90%;
    object-fit: contain;
}
.grid-item:hover img, .produit_item:hover img, .grid-shop:hover img {
    transform: scale(1.05);
}
.double-images {
    display: grid;
    grid-template-rows: 1fr 1fr;
    gap: 30px;
}
.image-texte, .image-texte-shop {
    position: relative;
    width: 100%;
    overflow: hidden;
}
.image-texte {
    height:100%;
}
.image-texte-shop {
    height: 450px;
}
.texte_image_produit a {
    display: block;
    width: 100%;
    height: 100%;
}
.overlay-texte, .overlay-texte-shop {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
	bottom: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: rgba(0, 0, 0, 0.1);
    color: var(--blanc);
    text-align: center;
}
.titre-categorie {
    margin: 50px 0 0 0;
}
.titre-categorie h2 {
	width:100%;
    font-size: 2.5rem;
	color: var(--gris-fonce);
    position: relative;
    display: inline-block;
    padding: 0 20px;
	font-family: 'cormorant_garamondregular', serif;
}
.titre-categorie hr {
    width:100%;
    margin: 15px auto;
    border: none;
    height: 1px;
    background-color: var(--marron);
}
.petit-texte {
    font-size: 2.2rem;
    margin-bottom: 5px;
}
.texte_moyen {
    font-size: 3.3rem;
	padding:4% 6%;
	border: 1px solid var(--blanc);
	max-width:90%;
}
.grand-texte {/* accueil*/
    font-size: 3.5rem;
}
.image-texte:hover .overlay-texte, .texte_image_produit:hover .overlay-texte{
	height: 100%;
    background: rgba(185, 169, 149, 0.4);
}
.caracteristiques {
	margin-top:2%;
    padding:25px 20px;
    background-color: var(--blanc);
}
.caracteristiques-container {
    max-width: 1600px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    gap: 40px;
}
.caracteristique-bloc {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 40px;
    max-width: 400px;
}
.icon-wrapper {
    width: 40px;
    height: 40px;
    margin-bottom: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.icon {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.caracteristique-bloc h2 {
    color: var(--noir);
    font-size: 1.5rem;
    margin-bottom: 20px;
    font-weight: 300;
}
.caracteristique-bloc p {
    color: var(--noir);
    font-size: 1.1rem;
    line-height: 1.6;
    margin: 0;
}
.tenderness {
	margin: 0 auto;
    max-width: 1200px;
}
.row {
    display: flex;
    margin: 10px 0;
    align-items: stretch;
	gap:10px;
}
.row.full img {
    width: 100%;
    max-width: 1200px;
}
.row img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.texte {
    margin: 20px 0;
    line-height: 1.5;
	text-align: center;
	font-size: 1.2rem;
}
.final {
    align-items: stretch;
	gap:10px;
}
.right-stack {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.instagram-section {
	margin-top:80px;
    padding:1% 20px 4% 20px;
    background-color: var(--blanc);
	color: var(--gris-fonce);
}
.instagram-container {
    max-width: 1600px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.hr-container {
    width: 100%;
    display: flex;
    justify-content: center;
    margin-bottom:4%;
}
.stylised-hr {
    width: 33.33%;
    border: none;
    height: 1px;
    background-color: var(--marron);
}
.ligne-hr {
    width: 90%;
    border: none;
    height: 1px;
    background-color: var(--marron);
	margin-top:4%;
}
.instagram-text {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}
.instagram-text h3 {
    font-size: 1.2rem;
	font-family: 'poiret_oneregular', sans-serif;
}
.instagram-link {
    font-size: 1.2rem;
    text-decoration: none;
    transition: color 0.3s ease;
}
.instagram-link:hover {
    color: var(--noir);
}
.carousel-section {
    width: 100%;
    overflow: hidden;
    padding: 20px 0;
    background-color: var(--blanc);
}
.carousel-container {
    width: 100%;
    overflow: hidden;
    position: relative;
}
.carousel-track {
    display: flex;
    width: calc(300px * 12);
    animation: scroll 40s linear infinite;
}
.carousel-slide {
    flex: 0 0 auto;
    width: 300px;
    padding: 0 10px;
}
.carousel-slide img {
    width: 100%;
    height: 300px;
    object-fit: cover;
}
@keyframes scroll {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(calc(-300px * 6)); /* Déplace de la largeur de 6 images */
    }
}
.carousel-container:hover .carousel-track {
    animation-play-state: paused;
}
.footer {
	background-color: var(--gris);
    padding:4%;
    width: 100%;
	max-width: 1600px;
    margin: 0 auto;
	vertical-align:top;
}
.bloc_g, .bloc_c, .bloc_d {
	display:inline-block;
	vertical-align:top;
}
.bloc_g ul, .bloc_c ul, .bloc_d ul {
	list-style: none;
}
.bloc_g img {
	width: 160px;
    height: auto;
}
.bloc_c h3, .bloc_d h3 {
    font-size: 1.5rem;
    color: var(--noir);
	margin-bottom: 20px;
}
.bloc_g a, .bloc_c a, .bloc_d a {
    color: var(--noir);
    text-decoration: none;
    font-size: 0.9rem;
    transition: color 0.3s ease;
}
.bloc_g a:hover, .bloc_c a:hover, .bloc_d a:hover {
    color: var(--marron);
}
.footer-bottom {
  margin-top:4%;
  text-align: center;
  line-height: 1.2;
  font-size: 0.8rem;
}
.suggestions {
    width:90%;
	max-width:1600px;
	margin:0 auto;
}
.suggestions h2 {
    margin-bottom: 40px;
}
.grid-produits {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 30px;
    padding: 20px;
}
.grid-produits-shop {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    gap: 30px;
    padding: 20px;
}
.carte-produit {
    background-color: var(--blanc);
    overflow: hidden;
    transition: transform 0.3s ease;
    display: flex;
    flex-direction: column;
    height:auto;
	font-family: 'poiret_oneregular', sans-serif;
	color: var(--gris-fonce);
}
.carte-produit:hover {
    transform: translateY(-5px);
}
.image-produit {
    width: 100%;
    height: 100%;
	max-height:300px;
    overflow: hidden;
}
.image-produit-shop {
    width: 100%;
    height:550px; /* hauteur fixe pour uniformiser */
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}
.image-produit-shop img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* remplit sans déformer, recoupe si nécessaire */
    transition: transform 0.3s ease;
}
.image-produit img {
	width:100%;
	height:auto;
    object-fit: cover;
    transition: transform 0.3s ease;
}
.carte-produit:hover .image-produit img,.carte-produit:hover .image-produit-shop img {
    transform: scale(1.05);
}
.contenu-produit {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    padding:10px 0;
}
.info-produit {
    flex-grow: 1;
	font-size: 1.1rem;
}
.info-produit h3 {
    font-size: 1.5rem;
    margin-bottom:5px;
}
.section-bas {
    margin-top: auto;
}
.prix {
    font-size: 1.3rem;
    padding:5px 0;
    margin: 0;
}
.produits-grid { /*affichage produits(bijoux)*/
    display: grid;
    gap: 30px;
    max-width: 1600px;
    margin: 0 auto;
    padding: 0;
}
.bloc1_fleur_xl {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0;
}
.texte_fleur_xl img,
.produit-special-content img,
.produit-special-gauche img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}
.produit-image img {
    width: 100%;
	margin:0 auto;
    height:100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}
.produit-item, .bloc2_fleur_xl {
    position: relative;
    overflow: hidden;
}
.produit-item {
    height:auto;
	margin:0 auto;
}
.bloc2_fleur_xl {
	 width: 100%;
    height:1065px;
}
.produit-image, .texte_fleur_xl {
    position: relative;
    width: 100%;
    height: 100%;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    overflow: hidden;
}
.produit-image::before, .texte_fleur_xl::before,
.produit-special-image-wrapper::before {
    position: absolute;
    color: var(--blanc);
    border: 1px solid var(--blanc);
    padding: 10px 20px;
    z-index: 2;
    transition: all 0.3s ease;
    pointer-events: none;
    font-size: 1.1rem;
    letter-spacing: 1px;
    background-color: rgba(0, 0, 0, 0.2);
}
.produit-image::before,
.produit-special-image-wrapper::before {
    opacity: 0;
}
.texte_fleur_xl::before {
    opacity: 1;
}
.produit-image::before,
.produit-special-image-wrapper::before {
	content: "Voir le produit";
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.9);
}
.texte_fleur_xl::before {
    top:75%;
    left: 50%;
    transform: translate(-50%, -80%) scale(0.9);
	content: "Découvrir";
	text-transform: uppercase;
}
.produit-image::after, .texte_fleur_xl::after,
.produit-special-image-wrapper::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: opacity 0.3s ease;
}
.produit-item:hover .produit-image::before, .bloc2_fleur_xl:hover .texte_fleur_xl::before, 
.produit-special-content:hover .produit-special-image-wrapper::before {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}
.produit-item:hover .produit-image::after,.bloc2_fleur_xl:hover .texte_fleur_xl::after,
.produit-special-content:hover .produit-special-image-wrapper::after {
    opacity: 1;
}
.produit-info,
.produit-special-info {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 20px;
    width: 100%;
    color: var(--blanc);
    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.7) 0%,
        rgba(0, 0, 0, 0.3) 50%,
        transparent 100%
    );
	z-index: 3;
}
.produit-info {
	text-transform: uppercase;
}
.fleur_xl_info {
    position: absolute;
    top: 50%;
    left:0;
    padding:0;
    width: 100%;
    color: var(--blanc);
	z-index: 3;
}
.produit-info h3 {
    font-size: 1.4rem;
    margin-bottom: 5px;
	font-family: 'poiret_oneregular', sans-serif;
}
.fleur_xl_info h3 {
	text-align:center;
	font-family: 'cormorant_garamondregular', serif;
}
.fleur_xl_info hr {
	width:45%;
	margin: 0 auto;
	margin-bottom:10px;
	border: none;
    height: 2px;
    background-color: var(--blanc);
}
.fleur_xl_info p {
    font-size: 2.2rem;
	text-align:center;
    margin-bottom: 5px;
}
.produit-info .prix {
    font-size: 1.2rem;
	color: var(--blanc);
	font-family: 'poiret_oneregular', sans-serif;
}
.produit-special {
    grid-column: 1 / -1;
    display: flex;
    position: relative;
    height: 600px;
    margin: 40px 0;
}
.produit-special-gauche {
    width: 65%;
    height: 100%;
    position: relative;
    z-index: 1;
}
.produit-special-droite {
    width: 45%;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
}
.produit-special-content {
    position: relative;
    width: 100%;
    height:500px;
    overflow: hidden;
}
.produit-special-image-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.produit-special-info h3 {
    font-size: 1.8rem;
    margin-bottom: 10px;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}
.produit-special-info .prix {
    font-size: 1.4rem;
    font-weight: bold;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}
.produit-item:hover .produit-image, .bloc2_fleur_xl:hover .texte_fleur_xl,
.produit-special-content:hover .produit-special-image-wrapper {
    transform: scale(1.02);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3);
}
.produit-item:hover img, .bloc2_fleur_xl:hover img,
.produit-special-content:hover img {
    transform: scale(1.05);
}
.miniature {
    width: 80px;
    height: 80px;
    object-fit: cover;
    cursor: pointer;
    border: 2px solid transparent;
}
.miniature:hover, .miniature.active {
    border-color: var(--marron);
}
.miniatures-container {
    display: flex;
    gap: 10px;
    overflow: hidden;
    scroll-behavior: smooth;
	max-width:500px;
}
.miniatures-carousel {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 20px;
	justify-content: center;
}
.miniatures-container img {
    width:100px;
    height:100px;
}
.carousel-arrow {
    cursor: pointer;
	transition: transform 0.3s ease;
}
.carousel-arrow .next {
    background-image: url('/images/icones/fleche-droite.svg');
}
.carousel-arrow .prev {
    background-image: url('/images/icones/fleche-gauche.svg');
}
.carousel-arrow:hover {
    transform: scale(2.05);
}
.select-couleur {
	width:100%;
	margin-top:10%;
	text-align:left;
	vertical-align:middle;
}
.select-couleur label {
	display:inline;
}
.select-couleur select{
	width:auto;
	display:inline;
}
.description-detaillee h2 {
    text-align: center;
	font-size: 1.3rem;
}
.description-detaillee h3 {
    font-weight: 600;
}
.description-detaillee {
    padding:2%;
	font-size: 1.2rem;
}
.description-detaillee hr {
    border: none;
    border-top: 1px solid var(--marron);
    margin: 20px 0;
}
.etapes-commande {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin: 40px 0;
}
.etape {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    position: relative;
}
.etape-titre {
    font-family: 'poiret_oneregular', sans-serif;
    font-size: 1rem;
    color: var(--noir);
}
.etape-cercle {
    width: 15px;
    height: 15px;
    border: 1px solid var(--noir);
    border-radius: 50%;
    background-color: var(--blanc);
}
.etape.active .etape-cercle {
    width: 13px;
    height: 13px;
    border: 2px solid var(--noir);
    background-color: var(--noir);
}
.etape-ligne {
    width: 100px;
    height: 1px;
    background-color: var(--noir);
    margin-top: 25px;
}
.panier-container {
    display: flex;
    gap: 30px;
    width: 90%;
    max-width: 1600px;
    margin: 0 auto;
}
.panier-produits {
    flex: 2; 
    padding: 20px;
}
.panier-resume {
    flex: 1; /* Prend 1/3 de l'espace disponible */
    padding: 20px;
    background-color: var(--blanc);
    height: fit-content; /* S'ajuste au contenu */
	margin-bottom:20px;
}
.panier-produit-card {
    display: grid;
    grid-template-columns: 150px minmax(200px, 2fr) auto;
    gap: 20px;
    padding: 20px;
    border: 1px solid var(--noir);
    margin-bottom: 20px;
    background-color: var(--blanc);
    position: relative;
    align-items: center;
}
.panier-produit-image {
    grid-column: 1;
    width: 150px;
    height: 150px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}
.panier-produit-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.panier-produit-info {
    grid-column: 2;
    display: flex;
    flex-direction: column;
    gap: 15px;
    min-height: 150px;
    position: relative;
    align-self: start;
}
.panier-produit-info h3 {
    font-family: 'cormorant_garamondregular', serif;
    font-size: 1.4rem;
    margin: 0;
	color: var(--noir);
}
.panier-produit-info p {
    margin: 0;
    flex: 1;
	color: var(--gris-fonce);
	font-size: 1.1rem;
}
.quantite-controls {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: auto;
    position: relative; /* Garde les contrôles dans leur conteneur */
}
.panier-produit-prix {
    grid-column: 3;
    text-align: right;
    font-size: 1.2rem;
    font-weight: bold;
    white-space: nowrap;
    align-self: center; /* Centre le prix verticalement */
}
/* Contrôles de quantité */
.btn-quantite {
    width: 30px;
    height: 30px;
    border: 1px solid var(--marron);
    background: var(--blanc);
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}
.btn-quantite:hover {
    background: var(--marron);
    color: var(--blanc);
}
.input-quantite {
    width: 50px;
    text-align: center;
    border: 1px solid var(--marron);
    padding: 5px;
}
/* Cache les flèches sur Chrome, Safari, Edge, Opera */
.input-quantite::-webkit-outer-spin-button,
.input-quantite::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
/* Cache les flèches sur Firefox */
.input-quantite[type=number] {
    -moz-appearance: textfield;
    appearance: textfield;
}
.btn-supprimer {
    margin-left: 20px;
    cursor: pointer;
    background: none;
    border: none;
    color: var(--marron);
    transition: color 0.3s ease;
    padding: 5px;
}
.btn-supprimer img {
    width:80%;
	height:auto
}
/*.btn-supprimer:hover {
    color: red;
}*/
.prix-barre {
    text-decoration: line-through;
    color: #999;
    font-size: 0.9em;
}
.prix-reduit {
    color: #e44d26;
    font-weight: bold;
}
.promotion {
    background-color: #e44d26;
    color: white;
    padding: 2px 5px;
    border-radius: 3px;
    font-size: 0.8em;
    display: inline-block;
    margin-top: 5px;
}
.resume-ligne .remise {
    color: #e44d26;
}
.resume-ligne {
    display: flex;
    justify-content: space-between;
    margin: 5px 0;
}
.resume-contenu {
    background-color: var(--blanc);
    padding: 20px;
    border: 1px solid var(--noir);
    border-radius: 4px;
    position: sticky;
    top: 20px;
	font-size: 1.1rem;
}
.resume-titre {
    font-family: 'poiret_oneregular', sans-serif;
    margin-bottom: 15px;
    color: var(--noir);
}
.paypal-container {
    text-align: left;
    margin: 20px 0;
}
.paypal-image {
    max-width: 150px;
    height: auto;
}
.resume-ligne {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 10px 0;
}
.montant {
    font-weight: bold;
}
.montant.remise {
    color: #28a745;
}
.montant.italique {
    font-style: italic;
    font-weight: normal;
    color: var(--gris-fonce);
}
.resume-separateur {
    border: none;
    border-top: 1px solid var(--marron);
    margin: 15px 0;
}
.resume-ligne.total {
    margin: 20px 0;
}
.btn-valider-panier {
    width: 100%;
    padding: 15px;
    background-color: var(--marron);
    color: var(--blanc);
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: center;
    margin-top: 20px;
}
.btn-valider-panier:hover {
    background-color: var(--gris-fonce);
    transform: translateY(-2px);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.btn-valider-panier:active {
    transform: translateY(0);
}
.btn-valider-panier.disabled {
    background-color: var(--gris);
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}
.panier-vide {
    text-align: center;
    padding: 40px;
    font-size: 1rem;
    color: var(--gris-fonce);
    background-color: var(--blanc);
    border: 1px solid var(--marron);
    border-radius: 4px;
}
.erreur {
    text-align: center;
    padding: 20px;
    color: #721c24;
    background-color: #f8d7da;
    border: 1px solid #f5c6cb;
    border-radius: 4px;
    margin-bottom: 20px;
}
.custom-alert {
    position: fixed;
    top: 20px;
    right: 20px;
    background-color: #fff;
    border-left: 4px solid #e44d26;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    padding: 16px 24px;
    border-radius: 4px;
    z-index: 9999;
    max-width: 400px;
    animation: slideIn 0.3s ease-out, fadeOut 0.5s ease-out 2.5s forwards;
    font-family: 'Roboto', sans-serif;
}
.custom-alert-content {
    color: #333;
    font-size: 14px;
    margin: 0;
    line-height: 1.5;
}
@keyframes slideIn {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}
@keyframes fadeOut {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}
.custom-alert.error {
    border-left-color: #e44d26;
}
.custom-alert.success {
    border-left-color: #4CAF50;
}
.custom-alert.warning {
    border-left-color: #ff9800;
}
.custom-confirm-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}
.custom-confirm {
    background-color: #fff;
    border-radius: 4px;
    padding: 20px;
    max-width: 400px;
    width: 90%;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
.custom-confirm-message {
    margin: 0 0 20px 0;
    font-size: 16px;
    color: #333;
}
.custom-confirm-buttons {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}
.custom-confirm-buttons button {
    padding: 8px 16px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
}
.btn-confirm-ok {
    background-color: #e44d26;
    color: white;
}
.btn-confirm-cancel {
    background-color: #f5f5f5;
    color: #333;
}
.btn-confirm-ok:hover {
    background-color: #d44122;
}
.btn-confirm-cancel:hover {
    background-color: #e5e5e5;
}
#adresses-enregistrees {
    margin: 20px 0;
}
.adresse-box {
    border: 1px solid #ddd;
    margin: 10px 0;
    padding: 15px;
    border-radius: 5px;
    position: relative;
}
.adresse-label {
    display: block;
    cursor: pointer;
    padding-left: 30px;
}
.adresse-box input[type="radio"] {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
}
.adresse-box:hover {
    background-color: #f5f5f5;
}
.commandes-liste {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}
.commande-item {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    margin-bottom: 20px;
    padding: 20px;
}
.commande-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    border-bottom: 1px solid #eee;
    padding-bottom: 15px;
}
.commande-info h2 {
    margin: 0;
    font-size: 1.2em;
    color: #333;
}
.date {
    color: #666;
    font-size: 0.9em;
    margin: 5px 0;
}
/* Styles pour les différents états */
select option[value="en_attente"] {
    color: #f0ad4e;
}
select option[value="validee"] {
    color: #5bc0de;
}
select option[value="en_preparation"] {
    color: #0275d8;
}
select option[value="expediee"] {
    color: #5cb85c;
}
select option[value="livree"] {
    color: #292b2c;
}
select option[value="annulee"] {
    color: #d9534f;
}
.commande-statut {
    padding: 6px 12px;
    border-radius: 4px;
    font-size: 0.9em;
    font-weight: bold;
}
.commande-statut.en_attente { background: #f0ad4e; color: #856404; }
.commande-statut.validee { background: #5bc0de; color: #155724; }
.commande-statut.en_preparation { background: #0275d8; color: #fff; }
.commande-statut.expediee { background: #5cb85c; color: #721c24; }
.commande-statut.livree { background: #292b2c; color: #fff; }
.commande-statut.annulee { background: #d9534f; color: #000; }
.commande-details {
    display: flex;
    gap: 30px;
    margin-bottom: 20px;
}
.commande-col {
    flex: 1;
}
.commande-col h3 {
    font-size: 1.1em;
    margin-bottom: 10px;
    color: #333;
}
.commande-prix {
    font-weight: bold;
    color: #2c3e50;
    font-size: 1.1em;
}
.commande-produits-liste {
    margin-top: 20px;
    border-top: 1px solid #eee;
    padding-top: 15px;
}
.commande-produit-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid #f5f5f5;
}
.commande-produit-nom {
    flex: 2;
}
.commande-produit-quantite {
    flex: 1;
    text-align: center;
}
.commande-produit-prix {
    flex: 1;
    text-align: right;
    font-weight: bold;
}
.adresse-profil {
	padding: 60px 20px;
	border-radius: 8px;
	border: 1px solid var(--marron);
    width:100%;
	max-width:800px;
    margin: 0 auto;
	margin-bottom:40px;
}
.statut-form {
    margin: 0;
}
.statut-form select {
    padding: 5px;
    border-radius: 4px;
    border: 1px solid #ddd;
    background-color: white;
    width: 100%;
    max-width: 200px;
}
#overlay {
    display: none;
    position: fixed;
	opacity: 0;
	transition: opacity 0.3s ease;
    top: 0; left: 0;
    width: 100vw; height: 100vh;
    background-color: rgba(0,0,0,0.7);
    justify-content: center;
    align-items: center;
    z-index: 9999;
}
#overlay.show {
	display: flex;
	opacity: 1;
}
#overlay img {
	max-width: 90%;
    max-height: 90%;
    border-radius: 10px;
    box-shadow: 0 0 20px #000;
}
.tpetit {font-size:0.9rem;}
@media (max-width: 968px) {
	.icon-link {
        display: none;
    }
	.page-accueil .menu-button, 
	.choix-fleurs-murales .menu-button, 
	.choix-fleurs-messages .menu-button,
	.choix-fleurs-xl .menu-button,
	.choix-boucles-oreilles .menu-button,
	.choix-accessoires .menu-button {
		color: var(--gris-fonce);
		text-shadow:none;
	}
	.mobile-auth-links {
        display: flex !important;
        width: 100%;
        flex-direction: column;
        gap: 10px;
        padding: 15px 20px;
        border-top: 1px solid var(--gris);
        margin-top: 80px;
		margin-bottom: 80px;
    }
	.mobile-auth-links .icon-link {
        display: flex !important;
        align-items: center;
        color: var(--gris-fonce);
        text-decoration: none;
        padding: 10px 0;
    }
    .mobile-auth-links .header-icon {
        margin-right: 10px;
        height: 25px;
		fill: var(--gris-fonce);
    }
	.submenu-toggle {
        display: block;
    }
	.header-top .header-container {
        padding: 0 15px;
    }
    .icons-left {
        margin-left: 0;
    }
    .burger-menu {
        display: block;
		position: fixed;
        top: 40px;
        left: 15px;
        z-index: 1002;
    }
    .main-nav {
        position: relative;
    }
    .main-nav.fixed {
        position: relative !important;
        width: 100%;
        background-color: transparent;
        box-shadow: none;
    }
    .header-background {
        height: auto;
        min-height: 100px;
    }
    .header-top {
        padding: 40px 0;
    }
    .header-logo {
        height: 60px;
    }
    .menu-buttons {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        flex-direction: column;
        align-items: center;
        background-color: var(--blanc);
        padding-top: 120px; /* Augmenté pour laisser de l'espace pour le logo */
        z-index: 1000;
    }
    .menu-buttons.active {
		display: block;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 100px;
    }
    .menu-item {
        width: 100%;
		text-align: center;
        padding: 0;
        margin: 0;

    }
	.menu-button {
        color: var(--gris-fonce);
        text-align: left;
        padding: 15px 20px;
        font-size: 1.4rem;
        flex: 1;
        text-decoration: none;
    }
	.page-accueil .menu-button, 
	.choix-fleurs-murales .menu-button, 
	.choix-fleurs-messages .menu-button,
	.choix-fleurs-xl .menu-button,
	.choix-boucles-oreilles .menu-button,
	.choix-accessoires .menu-button {
		color: var(--gris-fonce);
	}
	.menu-button.active {
		color: var(--noir);
		font-weight:600;
	}
	
	.page-accueil .menu-button.active, 
	.choix-fleurs-murales .menu-button.active, 
	.choix-fleurs-messages .menu-button.active,
	.choix-fleurs-xl .menu-button.active,
	.choix-boucles-oreilles .menu-button.active, 
	.choix-accessoires .menu-button.active	{
		color: var(--noir);
		font-weight:600;
	}
	.menu-button.has-submenu::after {
		content: '›';
		display: inline-block;
		font-size: 1.8rem;
		transition: transform 0.3s ease;
		transform: rotate(90deg);
		position: absolute;
		right: 20px;
	}
	.menu-item.active .menu-button.has-submenu::after {transform: rotate(270deg);}
	.sous-menu {
		position: relative;
		width: 100%;
		max-height: 0;
		overflow: hidden;
		transition: max-height 0.3s ease-out;
		background-color: var(--gris-clair);
		box-shadow: none;
		padding: 0;
		display: block !important;
	}
	.menu-item.active .sous-menu {
		max-height: 500px;
		padding: 10px 0;
	}
	.menu-item:hover .sous-menu {display: block !important;}
	.sous-menu-button {
		text-align: left;
		padding: 12px 40px;
		font-size: 1.2rem;
		text-decoration: none;
	}
	.sous-menu-button:hover {background-color: var(--marron);}
	.burger-menu.active span {
		background-color: var(--noir);
	}
    .burger-menu.active span:nth-child(1) {
        transform: rotate(45deg) translate(5px, 5px);
    }
    .burger-menu.active span:nth-child(2) {
        opacity: 0;
    }
    .burger-menu.active span:nth-child(3) {
        transform: rotate(-45deg) translate(7px, -7px);
    }
	.formulaire {
		padding:20px 0;
		border-radius: unset;
		box-shadow: unset;
		width:100%;
	}
	.bloc-contenu, .bloc-contenu-apropos {
        flex-direction: column;
        gap: 40px;
    }
    .bloc-texte, 
    .bloc-image, .bloc-texte-apropos, .bloc-image-apropos {
        width: 100%;
        flex: none;
    }
    .bloc-texte h1 {
        font-size: 2rem;
    }
	.produit-special {
        height: auto;
        flex-direction: column;
    }

    .produit-special-gauche {
        width: 100%;
        height: 400px;
    }

    .produit-special-droite {
        position: relative;
        width: 90%;
        margin: -100px auto 0;
        transform: none;
        top: 0;
    }

    .produit-special-content {
        height: 350px;
    }
	.panier-container {
        flex-direction: column;
        gap: 20;
        padding: 10px 0;
    }

	.panier-produits {
        width: 100%;
        padding: 10px;
    }

    .panier-resume {
        width: 100%;
        padding: 15px;
        margin-top: 20px; /* Espace entre la liste des produits et le résumé */
    }
	.panier-produit-card {
        display: flex;
		width: 100%;
        flex-direction: column;
        gap: 0;
        padding: 15px;
        border: 1px solid var(--noir);
        margin-bottom: 20px;
        background-color: var(--blanc);
    }

    .panier-produit-image {
        width: 100%;
        height: 200px; /* Hauteur fixe pour l'image */
        overflow: hidden;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .panier-produit-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .panier-produit-info {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .panier-produit-info h3 {
        margin: 0;
        font-size: 1.2rem;
        text-align: center;
    }

    .panier-produit-info p {
        margin: 0;
        text-align: center;
    }

    .quantite-controls {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        margin: 10px 0;
    }

    .panier-produit-prix {
        width: 100%;
        text-align: center;
        font-size: 1.1rem;
        font-weight: bold;
    }

    .panier-produit-prix p {
        margin: 0;
    }
    /* Ajustements pour les boutons en mobile */
    .btn-quantite {
        width: 35px; /* Un peu plus grand pour mobile */
        height: 35px;
    }

    .input-quantite {
        width: 60px; /* Un peu plus grand pour mobile */
        height: 35px;
    }

    .btn-supprimer {
        margin-left: 15px;
    }
}
@media (min-width: 969px) {
	.mobile-auth-links {
        display: none !important;
    }
    .submenu-toggle {
        display: none;
    }
    .menu-item:hover .sous-menu {
        display: block;
    }
}
@media (max-width: 768px) {
	.caracteristiques-container {
        flex-direction: column;
        align-items: center;
    }
    .caracteristique-bloc {
        width: 100%;
        max-width: 500px;
		padding: 30px 20px;
    }
	.caracteristiques {
        padding: 40px 20px;
    }
    .icon-wrapper {
        width: 60px;
        height: 60px;
    }
    .caracteristique-bloc h2 {
        font-size: 1.3rem;
    }
    .caracteristique-bloc p {
        font-size: 1rem;
    }
	.galerie-grid, .galerie-grid-shop {
        grid-template-columns: 1fr;
    }
    .grid-item, .grid-shop, .grid_fleur_xl {
        height: 300px;
    }
    .galerie-titre {
        font-size: 2rem;
    }
    .grand-texte {
        font-size: 1.5rem;
    }
    .texte-overlay h2 {
        font-size: 2rem;
    }
    .texte-overlay p {
        font-size: 1.1rem;
    }
    .section-contenu {
        padding-bottom: 40px;
    }
	.section-produit {
        padding: 2% 2%;
    }
    .produit-grid {
        grid-template-columns: 1fr;
        gap: 15px;
        margin-bottom: 2%;
    }
    .produit-special {
        grid-template-columns: 1fr;
        height: auto;
    }
    .produit-special-image {
        height: 300px;
    }
    .produit_item,
    .produit_item_img_fix,
    .produit_item.texte_image_produit {
        height: 500px;
    }
    .produit_item_img_fix img {
        width: 100%;
    }
    .texte_moyen {
        font-size: 2rem;
        padding: 2% 4%;
    }
	
	.instagram-section {
        padding: 40px 20px;
    }
    .stylised-hr {
        width: 50%;
    }
    .instagram-text h3 {
        font-size: 1rem;
    }
    .instagram-link {
        font-size: 1.1rem;
    }
	.carousel-track {
        width: calc(200px * 12);
    }
    .carousel-slide {
        width: 200px;
    }
    .carousel-slide img {
        height: 200px;
    }
    @keyframes scroll {
        from {
            transform: translateX(0);
        }
        to {
            transform: translateX(calc(-200px * 6));
        }
    }
	.image-produit {
        height: 250px;
    }
    .contenu-produit {
        padding: 15px;
    }
}
@media (max-width: 480px) {
    .produit_item,
    .produit_item_img_fix,
    .produit_item.texte_image_produit {
        height: 400px;
    }
    .texte_moyen {
        font-size: 1.5rem;
        padding:4% 6%;
    }
    .produit_item_img_fix img {
        width: 100%;
    }
    .produit-special-gauche {
        height: 300px;
    }
    .produit-special-droite {
        width: 95%;
        margin: -50px auto 0;
    }
    .produit-special-content {
        height: 250px;
    }
    .produit-special-info h3 {
        font-size: 1.4rem;
    }
    .produit-special-info .prix {
        font-size: 1.2rem;
    }
	.produit-image::before,
    .produit-special-image-wrapper::before {
        font-size: 0.9rem;
        padding: 8px 16px;
    }
	.grid-produits-shop {
		grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
		padding: 20px 0;
	}
}