:root {
  /* Or doux - couleur dominante du logo */
  --color-gold: #CFA14B;
  /* Brun chaud - titres, accents de texte */
  --color-warm-brown: #8B5A2B;
  /* Ivoire clair - fond principal */
  --color-ivory: #F9F6F1;
  /* Beige rosé - fond alterné / blocs doux */
  --color-beige: #EADAC1;
  /* Gris taupe - texte secondaire / bordures */
  --color-taupe: #B6A89A;
  /* Palette complémentaire */
  --color-light-gold: #F2D785;   /* survols, effets lumineux */
  --color-deep-brown: #5A3825;   /* texte principal / contrasté */
  --color-white: #FFFFFF;        /* neutre, espaces */
  --color-shimmer-gold: #D4AF37; /* effet premium / décoratif */
  --color-white-half: rgba(255, 255, 255, 0.9);
}

.w-2   { width:  2% !important; }
.w-3   { width:  3% !important; }
.w-4   { width:  4% !important; }
.w-5   { width:  5% !important; }
.w-6   { width:  6% !important; }
.w-7   { width:  7% !important; }
.w-8   { width:  8% !important; }
.w-9   { width:  9% !important; }
.w-10  { width: 10% !important; }
.w-11  { width: 11% !important; }
.w-12  { width: 12% !important; }
.w-13  { width: 13% !important; }
.w-14  { width: 14% !important; }
.w-15  { width: 15% !important; }
.w-16  { width: 16% !important; }
.w-17  { width: 17% !important; }
.w-18  { width: 18% !important; }
.w-19  { width: 19% !important; }
.w-20  { width: 20% !important; }
.w-25  { width: 25% !important; }
.w-30  { width: 30% !important; }
.w-32  { width: 32% !important; }
.w-33  { width: 33.33% !important; }
.w-35  { width: 35% !important; }
.w-40  { width: 40% !important; }
.w-45  { width: 45% !important; }
.w-50  { width: 50% !important; }
.w-55  { width: 55% !important; }
.w-60  { width: 60% !important; }
.w-65  { width: 65% !important; }
.w-66  { width: 66.67% !important; }
.w-70  { width: 70% !important; }
.w-75  { width: 75% !important; }
.w-80  { width: 80% !important; }
.w-85  { width: 85% !important; }
.w-90  { width: 90% !important; }
.w-95  { width: 95% !important; }
.w-100 { width: 100% !important; }

.py-cust { 
    padding-top: 5rem;
    padding-bottom: 5rem;
}

.my-cust {
    margin-top: 5rem;
    margin-bottom: 5rem;
}

.text-justify { text-align: justify; }

.bg-wood {
    background: url("/assets/files/wood_1.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.bg-gold {
    background: url("/assets/files/gold_1.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.bg-ivory { background-color: var(--color-ivory); }
.bg-white-half { background-color: var(--color-white-half); }


body {
  background-color: var(--color-ivory);
  color: var(--color-deep-brown);
}

h1, h2, h3, h4, h5, h6   {
  color: var(--color-warm-brown);
}

h1 { margin-bottom: 2rem !important; }

button, .btn-primary {
  background-color: var(--color-gold);
  color: var(--color-white);
  border: none;
  border-radius: 6px;
  padding: 0.6em 1.2em;
  transition: background-color 0.3s ease;
}

button:hover, .btn-primary:hover {
  background-color: var(--color-light-gold);
}

.section-alt {
  background-color: var(--color-beige);
}

.divider {
  border-bottom: 1px solid var(--color-taupe);
}

.required::after {
    content: " *";
    color: #dc3545;
}

a {
    color: var(--color-warm-brown);
}
a:hover {
    color: var(--color-deep-brown);
}

.loadingOverlay {
    display: none;
    position: fixed;
    top:0; left:0; width:100%; height:100%;
    background: rgba(0,0,0,0.5);
    z-index: 2000;
    justify-content: center;
    align-items: center;
    color: white;
    font-size: 1.5rem;
    text-align: center;
}

.break {
  background: url("/assets/files/break.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 100%;
  height: 50px;
}