/*
Theme Name: Marcadabra
Theme URI: 
Author: Marcadabra
Author URI:
Description: Thème Marcadabra custom avec Tailwind CSS intégré (Modifié Gradient Orange-Jaune-Vert)
Version: 1.3
License:
License URI:
Text Domain: marcadabra
*/

/* =========================================
   TAILWIND CSS / BOLT STYLES
   ========================================= */

*, ::before, ::after {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x:  ;
    --tw-pan-y:  ;
    --tw-pinch-zoom:  ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position:  ;
    --tw-gradient-via-position:  ;
    --tw-gradient-to-position:  ;
    --tw-ordinal:  ;
    --tw-slashed-zero:  ;
    --tw-numeric-figure:  ;
    --tw-numeric-spacing:  ;
    --tw-numeric-fraction:  ;
    --tw-ring-inset:  ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(255 102 0 / 0.5); /* Orange Ring default */
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur:  ;
    --tw-brightness:  ;
    --tw-contrast:  ;
    --tw-grayscale:  ;
    --tw-hue-rotate:  ;
    --tw-invert:  ;
    --tw-saturate:  ;
    --tw-sepia:  ;
    --tw-drop-shadow:  ;
    --tw-backdrop-blur:  ;
    --tw-backdrop-brightness:  ;
    --tw-backdrop-contrast:  ;
    --tw-backdrop-grayscale:  ;
    --tw-backdrop-hue-rotate:  ;
    --tw-backdrop-invert:  ;
    --tw-backdrop-opacity:  ;
    --tw-backdrop-saturate:  ;
    --tw-backdrop-sepia:  ;
    --tw-contain-size:  ;
    --tw-contain-layout:  ;
    --tw-contain-paint:  ;
    --tw-contain-style:  ;
}

::backdrop {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x:  ;
    --tw-pan-y:  ;
    --tw-pinch-zoom:  ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position:  ;
    --tw-gradient-via-position:  ;
    --tw-gradient-to-position:  ;
    --tw-ordinal:  ;
    --tw-slashed-zero:  ;
    --tw-numeric-figure:  ;
    --tw-numeric-spacing:  ;
    --tw-numeric-fraction:  ;
    --tw-ring-inset:  ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(255 102 0 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur:  ;
    --tw-brightness:  ;
    --tw-contrast:  ;
    --tw-grayscale:  ;
    --tw-hue-rotate:  ;
    --tw-invert:  ;
    --tw-saturate:  ;
    --tw-sepia:  ;
    --tw-drop-shadow:  ;
    --tw-backdrop-blur:  ;
    --tw-backdrop-brightness:  ;
    --tw-backdrop-contrast:  ;
    --tw-backdrop-grayscale:  ;
    --tw-backdrop-hue-rotate:  ;
    --tw-backdrop-invert:  ;
    --tw-backdrop-opacity:  ;
    --tw-backdrop-saturate:  ;
    --tw-backdrop-sepia:  ;
    --tw-contain-size:  ;
    --tw-contain-layout:  ;
    --tw-contain-paint:  ;
    --tw-contain-style:  ;
}

*, ::before, ::after {
    box-sizing: border-box;
    border-width: 0;
    border-style: solid;
    border-color: #e5e7eb;
}

::before, ::after {
    --tw-content: '';
}

html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;
    font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-feature-settings: normal;
    font-variation-settings: normal;
    -webkit-tap-highlight-color: transparent;
}

body { margin: 0; line-height: inherit; color: #1e293b; }
hr { height: 0; color: inherit; border-top-width: 1px; }
h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit;}
a { color: inherit; text-decoration: inherit; }
b, strong { font-weight: bolder; }
code, kbd, samp, pre { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 1em; }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sub { bottom: -0.25em; } sup { top: -0.5em; }
table { text-indent: 0; border-color: inherit; border-collapse: collapse; }
button, input, optgroup, select, textarea { font-family: inherit; font-size: 100%; font-weight: inherit; line-height: inherit; letter-spacing: inherit; color: inherit; margin: 0; padding: 0; }
button, select { text-transform: none; }
button, input:where([type='button']), input:where([type='reset']), input:where([type='submit']) { -webkit-appearance: button; background-color: transparent; background-image: none; }
:-moz-focusring { outline: auto; }
:-moz-ui-invalid { box-shadow: none; }
progress { vertical-align: baseline; }
::-webkit-inner-spin-button, ::-webkit-outer-spin-button { height: auto; }
[type='search'] { -webkit-appearance: textfield; outline-offset: -2px; }
::-webkit-search-decoration { -webkit-appearance: none; }
::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }
summary { display: list-item; }
blockquote, dl, dd, h1, h2, h3, h4, h5, h6, hr, figure, p, pre { margin: 0; }
fieldset { margin: 0; padding: 0; }
legend { padding: 0; }
ol, ul, menu { list-style: none; margin: 0; padding: 0; }
dialog { padding: 0; }
textarea { resize: vertical; }
input::-moz-placeholder, textarea::-moz-placeholder { opacity: 1; color: #9ca3af; }
input::placeholder, textarea::placeholder { opacity: 1; color: #9ca3af; }
button, [role="button"] { cursor: pointer; }
:disabled { cursor: default; }
img, svg, video, canvas, audio, iframe, embed, object { display: block; vertical-align: middle; }
img, video { max-width: 100%; height: auto; }
[hidden]:where(:not([hidden="until-found"])) { display: none; }

/* UTILITIES */
.fixed { position: fixed; }
.absolute { position: absolute; }
.relative { position: relative; }
.inset-0 { inset: 0px; }
.bottom-40 { bottom: 10rem; }
.left-1\/4 { left: 25%; }
.left-10 { left: 2.5rem; }
.right-20 { right: 5rem; }
.top-0 { top: 0px; }
.top-20 { top: 5rem; }
.top-40 { top: 10rem; }
.z-10 { z-index: 10; }
.z-50 { z-index: 50; }
.mx-auto { margin-left: auto; margin-right: auto; }
.mb-12 { margin-bottom: 3rem; }
.mb-16 { margin-bottom: 4rem; }
.mb-2 { margin-bottom: 0.5rem; }
.mb-4 { margin-bottom: 1rem; }
.mb-6 { margin-bottom: 1.5rem; }
.mb-8 { margin-bottom: 2rem; }
.ml-2 { margin-left: 0.5rem; }
.mr-2 { margin-right: 0.5rem; }
.mt-16 { margin-top: 4rem; }
.mt-2 { margin-top: 0.5rem; }
.mt-6 { margin-top: 1.5rem; }
.block { display: block; }
.inline-block { display: inline-block; }
.flex { display: flex; }
.inline-flex { display: inline-flex; }
.grid { display: grid; }
.hidden { display: none; }
.h-2 { height: 0.5rem; }
.h-20 { height: 5rem; }
.h-5 { height: 1.25rem; }
.h-6 { height: 1.5rem; }
.h-8 { height: 2rem; }
.min-h-screen { min-height: 100vh; }
.w-2 { width: 0.5rem; }
.w-5 { width: 1.25rem; }
.w-6 { width: 1.5rem; }
.w-8 { width: 2rem; }
.w-full { width: 100%; }
.max-w-2xl { max-width: 42rem; }
.max-w-3xl { max-width: 48rem; }
.max-w-4xl { max-width: 56rem; }
.max-w-7xl { max-width: 80rem; }
.flex-shrink-0 { flex-shrink: 0; }

/* ANIMATION */
@keyframes bounce { 0%, 100% { transform: translateY(-25%); animation-timing-function: cubic-bezier(0.8,0,1,1); } 50% { transform: none; animation-timing-function: cubic-bezier(0,0,0.2,1); } }
.animate-bounce { animation: bounce 1s infinite; }
@keyframes pulse { 50% { opacity: .5; } }
.animate-pulse { animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; }

/* LAYOUT & SPACING */
.cursor-pointer { cursor: pointer; }
.resize-none { resize: none; }
.grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.flex-col { flex-direction: column; }
.items-start { align-items: flex-start; }
.items-center { align-items: center; }
.justify-center { justify-content: center; }
.justify-between { justify-content: space-between; }
.gap-12 { gap: 3rem; }
.gap-4 { gap: 1rem; }
.gap-6 { gap: 1.5rem; }
.gap-8 { gap: 2rem; }
.space-x-2 > :not([hidden]) ~ :not([hidden]) { --tw-space-x-reverse: 0; margin-right: calc(0.5rem * var(--tw-space-x-reverse)); margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse))); }
.space-x-3 > :not([hidden]) ~ :not([hidden]) { --tw-space-x-reverse: 0; margin-right: calc(0.75rem * var(--tw-space-x-reverse)); margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse))); }
.space-x-4 > :not([hidden]) ~ :not([hidden]) { --tw-space-x-reverse: 0; margin-right: calc(1rem * var(--tw-space-x-reverse)); margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse))); }
.space-x-8 > :not([hidden]) ~ :not([hidden]) { --tw-space-x-reverse: 0; margin-right: calc(2rem * var(--tw-space-x-reverse)); margin-left: calc(2rem * calc(1 - var(--tw-space-x-reverse))); }
.space-y-1 > :not([hidden]) ~ :not([hidden]) { --tw-space-y-reverse: 0; margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse))); margin-bottom: calc(0.25rem * var(--tw-space-y-reverse)); }
.space-y-2 > :not([hidden]) ~ :not([hidden]) { --tw-space-y-reverse: 0; margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse))); margin-bottom: calc(0.5rem * var(--tw-space-y-reverse)); }
.space-y-3 > :not([hidden]) ~ :not([hidden]) { --tw-space-y-reverse: 0; margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse))); margin-bottom: calc(0.75rem * var(--tw-space-y-reverse)); }
.space-y-4 > :not([hidden]) ~ :not([hidden]) { --tw-space-y-reverse: 0; margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse))); margin-bottom: calc(1rem * var(--tw-space-y-reverse)); }
.space-y-6 > :not([hidden]) ~ :not([hidden]) { --tw-space-y-reverse: 0; margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse))); margin-bottom: calc(1.5rem * var(--tw-space-y-reverse)); }
.space-y-8 > :not([hidden]) ~ :not([hidden]) { --tw-space-y-reverse: 0; margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse))); margin-bottom: calc(2rem * var(--tw-space-y-reverse)); }
.overflow-hidden { overflow: hidden; }
.rounded-2xl { border-radius: 1rem; }
.rounded-3xl { border-radius: 1.5rem; }
.rounded-full { border-radius: 9999px; }
.rounded-xl { border-radius: 0.75rem; }

/* BORDERS */
.border { border-width: 1px; }
.border-2 { border-width: 2px; }
.border-t { border-top-width: 1px; }
.border-gray-100 { --tw-border-opacity: 1; border-color: rgb(241 245 249 / var(--tw-border-opacity, 1)); } /* Slate */
.border-gray-200 { --tw-border-opacity: 1; border-color: rgb(226 232 240 / var(--tw-border-opacity, 1)); } /* Slate */
.border-gray-300 { --tw-border-opacity: 1; border-color: rgb(203 213 225 / var(--tw-border-opacity, 1)); } /* Slate */
.border-gray-800 { --tw-border-opacity: 1; border-color: rgb(30 41 59 / var(--tw-border-opacity, 1)); } /* Slate */

/* === COULEURS REMPLACÉES (MAPPING NOUVEAU GRADIENT) ===
   AMBER/EMERALD => DEVIENT ORANGE (#FF6600) (Début du dégradé)
   ROSE          => DEVIENT JAUNE/OR (#E0CD26) (Milieu du dégradé)
   SKY/BLUE      => DEVIENT VERT (#95C154) (Fin du dégradé)
*/

/* Backgrounds clairs (très pâles) */
.bg-amber-50 { --tw-bg-opacity: 1; background-color: rgb(255 247 237 / var(--tw-bg-opacity, 1)); } /* Orange très clair */
.bg-emerald-50 { --tw-bg-opacity: 1; background-color: rgb(255 247 237 / var(--tw-bg-opacity, 1)); }
.bg-emerald-500 { --tw-bg-opacity: 1; background-color: #FF6600; } /* ORANGE PRINCIPAL */

.bg-gray-800 { --tw-bg-opacity: 1; background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1)); }
.bg-gray-900 { --tw-bg-opacity: 1; background-color: rgb(37 65 43 / var(--tw-bg-opacity, 1)); }

.bg-rose-50 { --tw-bg-opacity: 1; background-color: rgb(254 252 232 / var(--tw-bg-opacity, 1)); } /* Jaune très clair */
.bg-sky-50 { --tw-bg-opacity: 1; background-color: rgb(247 254 231 / var(--tw-bg-opacity, 1)); } /* Vert très clair */

.bg-white { --tw-bg-opacity: 1; background-color: rgb(222 253 216 / var(--tw-bg-opacity, 1)); }
.bg-content { --tw-bg-opacity: 1; background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1)); }
.bg-content-alt { --tw-bg-opacity: 1; background-color: rgb(237 232 183 / var(--tw-bg-opacity, 1)); }
.bg-white\/80 { background-color: rgb(255 255 255 / 0.8); }
.bg-white\/95 { background-color: rgb(255 255 255 / 0.95); }

/* GRADIENTS */
.bg-gradient-to-br { background-image: linear-gradient(to bottom right, var(--tw-gradient-stops)); }
.bg-gradient-to-r { background-image: linear-gradient(to right, var(--tw-gradient-stops)); }

/* START COLORS (FROM) -> ORANGE */
.from-amber-100 { --tw-gradient-from: #ffedd5 var(--tw-gradient-from-position); --tw-gradient-to: rgb(255 237 213 / 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }
.from-amber-50 { --tw-gradient-from: #fff7ed var(--tw-gradient-from-position); --tw-gradient-to: rgb(255 247 237 / 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }
.from-amber-500 { --tw-gradient-from: #FF6600 var(--tw-gradient-from-position); --tw-gradient-to: rgb(255 102 0 / 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }
.from-amber-600 { --tw-gradient-from: #ea580c var(--tw-gradient-from-position); --tw-gradient-to: rgb(234 88 12 / 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }

/* Emerald defaults mapped to Orange too */
.from-emerald-100 { --tw-gradient-from: #ffedd5 var(--tw-gradient-from-position); --tw-gradient-to: rgb(255 237 213 / 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }
.from-emerald-500 { --tw-gradient-from: #FF6600 var(--tw-gradient-from-position); --tw-gradient-to: rgb(101 163 13 / 1) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }

/* Rose mapped to YELLOW/GOLD */
.from-rose-100 { --tw-gradient-from: #fef9c3 var(--tw-gradient-from-position); --tw-gradient-to: rgb(254 249 195 / 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }
.from-rose-500 { --tw-gradient-from: #E0CD26 var(--tw-gradient-from-position); --tw-gradient-to: rgb(224 205 38 / 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }
.from-rose-600 { --tw-gradient-from: #ca8a04 var(--tw-gradient-from-position); --tw-gradient-to: rgb(202 138 4 / 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }

/* Sky mapped to GREEN */
.from-sky-100 { --tw-gradient-from: #ecfccb var(--tw-gradient-from-position); --tw-gradient-to: rgb(236 252 203 / 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }
.from-sky-50 { --tw-gradient-from: #f7fee7 var(--tw-gradient-from-position); --tw-gradient-to: rgb(247 254 231 / 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }
.from-sky-500 { --tw-gradient-from: #95C154 var(--tw-gradient-from-position); --tw-gradient-to: rgb(149 193 84 / 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }
.from-sky-600 { --tw-gradient-from: #65a30d var(--tw-gradient-from-position); --tw-gradient-to: rgb(101 163 13 / 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }

/* VIA COLORS (MIDDLE) */
/* Rose via -> Yellow via */
.via-rose-50 { --tw-gradient-to: rgb(254 252 232 / 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), #fefce8 var(--tw-gradient-via-position), var(--tw-gradient-to); }
.via-rose-600 { --tw-gradient-to: rgb(202 138 4 / 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), #E0CD26 var(--tw-gradient-via-position), var(--tw-gradient-to); }

.via-white { --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), #fff var(--tw-gradient-via-position), var(--tw-gradient-to); }

/* TO COLORS (END) */
.to-amber-200 { --tw-gradient-to: #fed7aa var(--tw-gradient-to-position); }
.to-amber-500 { --tw-gradient-to: #FF6600 var(--tw-gradient-to-position); }
.to-amber-600 { --tw-gradient-to: #ea580c var(--tw-gradient-to-position); }

.to-blue-500 { --tw-gradient-to: #95C154 var(--tw-gradient-to-position); } /* Green */
.to-emerald-200 { --tw-gradient-to: #fed7aa var(--tw-gradient-to-position); } /* Orange light */
.to-emerald-50 { --tw-gradient-to: #fff7ed var(--tw-gradient-to-position); }
.to-emerald-500 { --tw-gradient-to: #FF6600 var(--tw-gradient-to-position); } /* Orange */
.to-orange-500 { --tw-gradient-to: #95C154 var(--tw-gradient-to-position); }
.to-pink-500 { --tw-gradient-to: #84cc16 var(--tw-gradient-to-position); }
.to-rose-200 { --tw-gradient-to: #fef08a var(--tw-gradient-to-position); } /* Yellow light */
.to-rose-50 { --tw-gradient-to: #fefce8 var(--tw-gradient-to-position); }
.to-rose-500 { --tw-gradient-to: #86e600  var(--tw-gradient-to-position); } /* Yellow */
.to-rose-600 { --tw-gradient-to: #86e600 var(--tw-gradient-to-position); }
.to-sky-200 { --tw-gradient-to: #d9f99d var(--tw-gradient-to-position); } /* Green light */
.to-sky-50 { --tw-gradient-to: #f7fee7 var(--tw-gradient-to-position); }
.to-sky-500 { --tw-gradient-to: #95C154 var(--tw-gradient-to-position); } /* Green */
.to-sky-600 { --tw-gradient-to: #65a30d var(--tw-gradient-to-position); }
.to-teal-500 { --tw-gradient-to: #84cc16 var(--tw-gradient-to-position); }

.bg-clip-text { -webkit-background-clip: text; background-clip: text; }

/* Fills */
.fill-amber-400 { fill: #fb923c; } /* Orange */
.fill-rose-400 { fill: #facc15; } /* Yellow */
.fill-sky-400 { fill: #a3e635; } /* Green */

/* PADDING & TEXT */
.p-3 { padding: 0.75rem; }
.p-4 { padding: 1rem; }
.p-6 { padding: 1.5rem; }
.p-8 { padding: 2rem; }
.px-4 { padding-left: 1rem; padding-right: 1rem; }
.px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
.px-8 { padding-left: 2rem; padding-right: 2rem; }
.py-12 { padding-top: 3rem; padding-bottom: 3rem; }
.py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; }
.py-20 { padding-top: 5rem; padding-bottom: 5rem; }
.py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }
.py-4 { padding-top: 1rem; padding-bottom: 1rem; }
.py-6 { padding-top: 1.5rem; padding-bottom: 1.5rem; }
.pb-20 { padding-bottom: 5rem; }
.pt-32 { padding-top: 8rem; }
.pt-8 { padding-top: 2rem; }

.text-center { text-align: center; }
.text-2xl { font-size: 1.5rem; line-height: 2rem; }
.text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
.text-4xl { font-size: 2.25rem; line-height: 2.5rem; }
.text-5xl { font-size: 3rem; line-height: 1; }
.text-lg { font-size: 1.125rem; line-height: 1.75rem; }
.text-sm { font-size: 0.875rem; line-height: 1.25rem; }
.text-xl { font-size: 1.25rem; line-height: 1.75rem; }
.font-bold { font-weight: 700; }
.font-medium { font-weight: 500; }
.font-semibold { font-weight: 600; }
.leading-relaxed { line-height: 1.625; }
.leading-tight { line-height: 1.25; }

/* Text Colors Mapped */
.text-amber-400 { --tw-text-opacity: 1; color: rgb(251 146 60 / var(--tw-text-opacity, 1)); } /* Orange light */
.text-amber-500 { --tw-text-opacity: 1; color: #FF6600; } /* Orange */
.text-amber-600 { --tw-text-opacity: 1; color: rgb(234 88 12 / var(--tw-text-opacity, 1)); } /* Dark Orange */

.text-emerald-600 { --tw-text-opacity: 1; color: rgb(234 88 12 / var(--tw-text-opacity, 1)); } /* Orange */

.text-gray-400 { --tw-text-opacity: 1; color: rgb(148 163 184 / var(--tw-text-opacity, 1)); } /* Slate */
.text-gray-600 { --tw-text-opacity: 1; color: rgb(71 85 105 / var(--tw-text-opacity, 1)); } /* Slate */
.text-gray-700 { --tw-text-opacity: 1; color: rgb(51 65 85 / var(--tw-text-opacity, 1)); } /* Slate */
.text-gray-800 { --tw-text-opacity: 1; color: rgb(30 41 59 / var(--tw-text-opacity, 1)); } /* Slate */

/* Note: Pour le texte "Rose" (Jaune), on utilise une couleur Ocre/Moutarde pour la lisibilité */
.text-rose-400 { --tw-text-opacity: 1; color: rgb(250 204 21 / var(--tw-text-opacity, 1)); }
.text-rose-600 { --tw-text-opacity: 1; color: rgb(202 138 4 / var(--tw-text-opacity, 1)); } /* Dark Yellow/Gold */

.text-sky-400 { --tw-text-opacity: 1; color: rgb(163 230 53 / var(--tw-text-opacity, 1)); }
.text-sky-600 { --tw-text-opacity: 1; color: rgb(101 163 13 / var(--tw-text-opacity, 1)); } /* Green */
.text-transparent { color: transparent; }
.text-white { --tw-text-opacity: 1; color: rgb(255 255 255 / var(--tw-text-opacity, 1)); }

.opacity-0 { opacity: 0; }
.opacity-90 { opacity: 0.9; }
.shadow-lg { --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); }
.shadow-md { --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); }
.shadow-sm { --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); }
.shadow-xl { --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1); --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); }
.outline-none { outline: 2px solid transparent; outline-offset: 2px; }
.backdrop-blur-sm { --tw-backdrop-blur: blur(4px); -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); }

/* TRANSITIONS */
.transition-all { transition-property: all; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; }
.transition-colors { transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; }
.transition-opacity { transition-property: opacity; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; }
.transition-transform { transition-property: transform; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; }
.duration-300 { transition-duration: 300ms; }
.duration-700 { transition-duration: 700ms; }

/* HOVER & TRANSFORMS */
.hover\:-translate-y-1:hover { --tw-translate-y: -0.25rem; transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); }
.hover\:-translate-y-2:hover { --tw-translate-y: -0.5rem; transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); }
.hover\:scale-105:hover { --tw-scale-x: 1.05; --tw-scale-y: 1.05; transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); }
.hover\:scale-110:hover { --tw-scale-x: 1.1; --tw-scale-y: 1.1; transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); }
.hover\:bg-gradient-to-r:hover { background-image: linear-gradient(to right, var(--tw-gradient-stops)); }

.hover\:from-amber-500:hover { --tw-gradient-from: #FF6600 var(--tw-gradient-from-position); --tw-gradient-to: rgb(255 102 0 / 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); } /* Orange */
.hover\:to-rose-500:hover { --tw-gradient-to: #E0CD26 var(--tw-gradient-to-position); } /* Yellow */

.hover\:text-amber-500:hover { --tw-text-opacity: 1; color: #FF6600; } /* Orange */
.hover\:text-amber-600:hover { --tw-text-opacity: 1; color: rgb(234 88 12 / var(--tw-text-opacity, 1)); } /* Dark Orange */
.hover\:text-rose-600:hover { --tw-text-opacity: 1; color: rgb(202 138 4 / var(--tw-text-opacity, 1)); } /* Dark Gold */

.hover\:shadow-2xl:hover { --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25); --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); }
.hover\:shadow-lg:hover { --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); }
.hover\:shadow-xl:hover { --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1); --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); }

/* FOCUS MAPPED */
.focus\:border-amber-500:focus { --tw-border-opacity: 1; border-color: #FF6600; } /* Orange */
.focus\:border-sky-500:focus { --tw-border-opacity: 1; border-color: #95C154; } /* Green */
.focus\:ring-2:focus { --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color); box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); }
.focus\:ring-amber-200:focus { --tw-ring-opacity: 1; --tw-ring-color: rgb(254 215 170 / var(--tw-ring-opacity, 1)); } /* Orange light */
.focus\:ring-sky-200:focus { --tw-ring-opacity: 1; --tw-ring-color: rgb(217 249 157 / var(--tw-ring-opacity, 1)); } /* Green Light */

.group:hover .group-hover\:translate-x-1 { --tw-translate-x: 0.25rem; transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); }
.group:hover .group-hover\:rotate-12 { --tw-rotate: 12deg; transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); }
.group:hover .group-hover\:rotate-180 { --tw-rotate: 180deg; transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); }
.group:hover .group-hover\:scale-110 { --tw-scale-x: 1.1; --tw-scale-y: 1.1; transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); }
.group:hover .group-hover\:gap-2 { gap: 0.5rem; }
.group:hover .group-hover\:opacity-100 { opacity: 1; }

@media (min-width: 640px) {
    .sm\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sm\:flex-row { flex-direction: row; }
    .sm\:px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
    .sm\:text-5xl { font-size: 3rem; line-height: 1; }
    .sm\:text-6xl { font-size: 3.75rem; line-height: 1; }
}
@media (min-width: 768px) {
    .md\:flex { display: flex; }
    .md\:hidden { display: none; }
    .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .md\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .md\:flex-row { flex-direction: row; }
    .md\:p-12 { padding: 3rem; }
}
@media (min-width: 1024px) {
    .lg\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .lg\:px-8 { padding-left: 2rem; padding-right: 2rem; }
    .lg\:text-7xl { font-size: 4.5rem; line-height: 1; }
}


/* =========================================
   CUSTOM WPFORMS MAGIC STYLES (AURORE)
   ========================================= */

div.wpforms-container-full .wpforms-form {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

/* 1. Labels */
div.wpforms-container-full .wpforms-form .wpforms-field-label {
    display: block;
    font-weight: 600;
    font-size: 0.875rem;
    color: #1e293b; /* Slate 800 */
    margin-bottom: 0.5rem;
}

div.wpforms-container-full .wpforms-form .wpforms-field-sublabel {
    font-size: 0.75rem;
    color: #FF6600; /* Replaced Teal with Orange */
    margin-top: 0.25rem;
}

/* 2. Champs Inputs */
div.wpforms-container-full .wpforms-form input[type=text],
div.wpforms-container-full .wpforms-form input[type=email],
div.wpforms-container-full .wpforms-form input[type=url],
div.wpforms-container-full .wpforms-form input[type=number],
div.wpforms-container-full .wpforms-form textarea {
    width: 100%;
    background-color: #ffffff;
    border: 1px solid #fed7aa; /* Orange Light (previously sky) */
    border-radius: 0.75rem;
    padding: 0.75rem 1rem;
    color: #0f172a;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    transition: all 0.3s ease;
    outline: none;
}

div.wpforms-container-full .wpforms-form input:focus,
div.wpforms-container-full .wpforms-form textarea:focus {
    border-color: #FF6600; /* Orange focus */
    box-shadow: 0 0 0 4px rgba(255, 102, 0, 0.25);
    transform: translateY(-1px);
}

/* 3. Bouton d'envoi */
div.wpforms-container-full .wpforms-form button[type=submit] {
    width: 100%;
    /* Gradient: Orange -> Jaune -> Vert */
    background-image: linear-gradient(110deg, #FF6600 0%, #E0CD26 40%, #86e600 100%);
    background-size: 200% auto;
    color: white;
    font-weight: 700;
    padding: 0.75rem 1.5rem;
    border-radius: 9999px;
    border: none;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 6px -1px rgba(224, 205, 38, 0.2);
    margin-top: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.875rem;
}

div.wpforms-container-full .wpforms-form button[type=submit]:hover {
    background-position: right center;
    box-shadow: 0 10px 15px -3px rgba(149, 193, 84, 0.5); /* Green shadow */
    transform: scale(1.02);
}

/* 4. Erreurs */
div.wpforms-container-full .wpforms-form label.wpforms-error {
    color: #ef4444;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}
div.wpforms-container-full .wpforms-form input.wpforms-error {
    border-color: #ef4444;
}


/* =========================================
   TESTIMONIALS / LIVRE D'OR
   ========================================= */

.testimonial-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}

@media (min-width: 768px) {
    .testimonial-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

.testimonial-card {
    background-color: #ffffff;
    padding: 2rem;
    border-radius: 1.5rem; /* rounded-3xl */
    border: 1px solid #e2e8f0; /* slate-200 */
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

/* Liseré coloré magique en haut de la carte */
.testimonial-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 6px;
    /* Gradient: Orange -> Jaune -> Vert */
    background: linear-gradient(90deg, #FF6600, #E0CD26, #95C154);
    opacity: 0.7;
}

/* Effet au survol : on lève la carte et on augmente l'ombre */
.testimonial-card:hover {
    transform: translateY(-5px) scale(1.01);
    box-shadow: 0 20px 25px -5px rgba(224, 205, 38, 0.15), 0 10px 10px -5px rgba(224, 205, 38, 0.1);
    border-color: #fef08a; /* Yellow light */
}

/* L'icône de citation */
.quote-icon {
    font-size: 3rem;
    line-height: 1;
    margin-bottom: 1rem;
    /* Gradient diagonal Orange -> Vert */
    background: linear-gradient(135deg, #FF6600, #95C154);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-family: serif;
}

.bg-encart {
    background-color: #fdd49a;
}
h1.text-4xl{
    height: 4rem;
}


/* =========================================
   TYPOGRAPHIE DU CONTENU (FIX)
   ========================================= */

/* 1. Aérer les paragraphes */
p {
    margin-bottom: 1.5rem; /* Espace sous chaque paragraphe */
    line-height: 1.8;      /* Hauteur de ligne plus aérée pour la lecture */
    color: #334155;        /* Gris foncé lisible (Slate 700) */
}

/* 2. Le style H2 "Magique" */
h2 {
    font-size: 2.25rem;    /* Grand titre (~36px) */
    font-weight: 800;      /* Très gras */
    margin-top: 3.5rem;    /* Grand espace avant le titre pour respirer */
    margin-bottom: 1.5rem; /* Espace après le titre */
    line-height: 1.2;

    /* Le dégradé Orange -> Rouge (comme ton logo) */
    background: linear-gradient(to right, #FF6600, #ea580c);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent; /* Rend le texte transparent pour voir le fond dégradé */

    /* Petit fix pour l'affichage du gradient */
    display: inline-block;
    width: 100%; /* S'assure qu'il prend la ligne */
}

/* 3. Bonus : Style pour les H3 (Sous-titres) */
h3 {
    font-size: 1.5rem;     /* Taille moyenne (~24px) */
    font-weight: 700;      /* Gras */
    margin-top: 2rem;      /* Espace au dessus */
    margin-bottom: 1rem;   /* Espace en dessous */
    color: #1e293b;        /* Couleur foncée unie (Slate 800) */
}

/* 4. Listes à puces (souvent écrasées aussi par le reset) */
ul {
    list-style-type: disc;
    padding-left: 1.5rem;
    margin-bottom: 1.5rem;
}
li {
    margin-bottom: 0.5rem;
}
div.bg-content a{
    text-decoration: underline;
}