/* Utilitaires Tailwind ciblés (self-hosted) pour le storefront Equivalent.
   Couvre exactement les classes utilisées par layouts/equivalent.blade.php.
   front.css/modern-blue.css fournissent les composants (mega-menu, header...). */

:root{
  --c-bg-light:#f6f7f8; --c-bg-dark:#111921; --c-bg-hf:#0D141A;
  --c-primary:var(--color-primary,#c5a174); --c-primary-600:var(--color-primary-hover,#b38a5a); --c-primary-light:#e0c4a0;
  --c-g100:#f3f4f6; --c-g200:#e5e7eb; --c-g300:#d1d5db; --c-g400:#9ca3af; --c-g500:#6b7280; --c-g600:#4b5563; --c-g700:#374151; --c-g800:#1f2937; --c-g900:#111827;
  --c-slate900:#0f172a; --c-green500:#22c55e;
  --c-red50:#fef2f2; --c-red200:#fecaca; --c-red500:#ef4444; --c-red600:#dc2626; --c-red800:#991b1b;
}

/* Display */
.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}
/* Flex / grid */
.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.grow{flex-grow:1}
.flex-col{flex-direction:column}
.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}
.justify-center{justify-content:center}.justify-between{justify-content:space-between}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.col-span-2{grid-column:span 2/span 2}.col-span-5{grid-column:span 5/span 5}
.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-10{gap:2.5rem}
.space-y-2>*+*{margin-top:.5rem}.space-y-3>*+*{margin-top:.75rem}.space-y-4>*+*{margin-top:1rem}.space-y-5>*+*{margin-top:1.25rem}
/* Position */
.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}
.inset-0{inset:0}.top-0{top:0}.right-0{right:0}.left-4{left:1rem}.top-1\/2{top:50%}
.-translate-y-1\/2{transform:translateY(-50%)}.translate-x-full{transform:translateX(100%)}
.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[200\]{z-index:200}
/* Sizing */
.w-full{width:100%}.w-px{width:1px}.w-4{width:1rem}.w-10{width:2.5rem}.w-20{width:5rem}
.h-full{height:100%}.h-4{height:1rem}.h-8{height:2rem}.h-10{height:2.5rem}.h-20{height:5rem}
.max-w-2xl{max-width:42rem}.max-w-md{max-width:28rem}.max-w-lg{max-width:32rem}.max-w-screen-2xl{max-width:1536px}
.min-w-0{min-width:0}
/* Spacing */
.mx-auto{margin-left:auto;margin-right:auto}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-6{margin-left:1.5rem;margin-right:1.5rem}.mx-8{margin-left:2rem;margin-right:2rem}
.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}
.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.mt-16{margin-top:4rem}
.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}
.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}
.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}
.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}
.pl-12{padding-left:3rem}.pr-4{padding-right:1rem}
/* Typography */
.text-center{text-align:center}.uppercase{text-transform:uppercase}.tracking-tight{letter-spacing:-.025em}
.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}
.font-sans{font-family:'Space Grotesk',system-ui,sans-serif}
.text-sm{font-size:.875rem;line-height:1.25rem}.text-md,.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-6xl{font-size:3.75rem;line-height:1}
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Colors — text */
.text-white{color:#fff}.text-gray-300{color:var(--c-g300)}.text-gray-400{color:var(--c-g400)}.text-gray-500{color:var(--c-g500)}.text-gray-600{color:var(--c-g600)}.text-gray-700{color:var(--c-g700)}.text-gray-900{color:var(--c-g900)}
.text-slate-900{color:var(--c-slate900)}.text-green-500{color:var(--c-green500)}.text-primary{color:var(--c-primary)}.text-background-dark{color:var(--c-bg-dark)}
/* Colors — bg */
.bg-white{background-color:#fff}.bg-white\/95{background-color:rgba(255,255,255,.95)}
.bg-gray-50\/80{background-color:rgba(249,250,251,.8)}.bg-gray-300{background-color:var(--c-g300)}
.bg-background-light{background-color:var(--c-bg-light)}
.bg-primary{background-color:var(--c-primary)}.bg-primary\/5{background-color:color-mix(in srgb,var(--c-primary) 5%,transparent)}.bg-primary\/10{background-color:color-mix(in srgb,var(--c-primary) 10%,transparent)}.bg-primary\/60{background-color:color-mix(in srgb,var(--c-primary) 60%,transparent)}
.bg-black\/40{background-color:rgba(0,0,0,.4)}
.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-from,transparent),var(--tw-to,transparent))}
.from-primary{--tw-from:var(--c-primary)}.to-primary-light{--tw-to:var(--c-primary-light)}
/* Borders */
.border{border-width:1px;border-style:solid}.border-2{border-width:2px;border-style:solid}.border-b{border-bottom-width:1px;border-bottom-style:solid}.border-b-2{border-bottom-width:2px;border-bottom-style:solid}.border-t{border-top-width:1px;border-top-style:solid}.border-l{border-left-width:1px;border-left-style:solid}
.border-gray-200{border-color:var(--c-g200)}.border-gray-200\/50{border-color:rgba(229,231,235,.5)}.border-gray-300{border-color:var(--c-g300)}
.border-primary{border-color:var(--c-primary)}.border-primary\/20{border-color:color-mix(in srgb,var(--c-primary) 20%,transparent)}.border-transparent{border-color:transparent}
.rounded{border-radius:.25rem}.rounded-sm{border-radius:.125rem}.rounded-lg{border-radius:.5rem}.rounded-full{border-radius:9999px}
/* Effects */
.shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}.shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}
.backdrop-blur-sm{backdrop-filter:blur(4px)}.backdrop-blur-md{backdrop-filter:blur(12px)}
.overflow-y-auto{overflow-y:auto}.cursor-pointer{cursor:pointer}
.transition{transition:all .15s}.transition-all{transition:all .2s}.transition-colors{transition:color .15s,background-color .15s,border-color .15s}.transition-opacity{transition:opacity .3s}.transition-transform{transition:transform .3s}
.duration-300{transition-duration:.3s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}
/* .transform est un simple activateur Tailwind : ne PAS écraser translate-x-full */
.translate-x-0{transform:translateX(0)}
.placeholder-gray-400::placeholder{color:var(--c-g400)}

/* Hover */
.hover\:underline:hover{text-decoration:underline}
.hover\:bg-gray-200:hover{background-color:var(--c-g200)}
.hover\:bg-primary-600:hover{background-color:var(--c-primary-600)}
.hover\:border-gray-300:hover{border-color:var(--c-g300)}
.hover\:text-gray-700:hover{color:var(--c-g700)}
.hover\:text-slate-900:hover{color:var(--c-slate900)}
.hover\:shadow-lg:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.1)}

/* Focus */
.focus\:border-primary:focus{border-color:var(--c-primary)}
.focus\:ring-2:focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--c-primary) 30%,transparent)}
.focus\:ring-4:focus{box-shadow:0 0 0 4px color-mix(in srgb,var(--c-primary) 30%,transparent)}

/* peer-checked (onglets login/register) */
.peer:checked~.peer-checked\:bg-primary\/5{background-color:color-mix(in srgb,var(--c-primary) 5%,transparent)}
.peer:checked~.peer-checked\:border-primary{border-color:var(--c-primary)}
.peer:checked~.peer-checked\:text-primary{color:var(--c-primary)}

/* Responsive md (>=768px) */
@media(min-width:768px){
  .md\:block{display:block}.md\:flex{display:flex}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
}
/* Responsive lg (>=1024px) */
@media(min-width:1024px){
  .lg\:block{display:block}.lg\:flex{display:flex}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
  .lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-2{grid-column:span 2/span 2}
}

/* Dark mode (html.dark) */
html.dark .dark\:bg-background-dark{background-color:var(--c-bg-dark)}
html.dark .dark\:bg-background-header-footer{background-color:var(--c-bg-hf)}
html.dark .dark\:bg-black\/60{background-color:rgba(0,0,0,.6)}
html.dark .dark\:bg-gray-600{background-color:var(--c-g600)}
html.dark .dark\:bg-gray-800{background-color:var(--c-g800)}
html.dark .dark\:bg-gray-800\/80{background-color:rgba(31,41,55,.8)}
html.dark .dark\:bg-gray-900\/95{background-color:rgba(17,24,39,.95)}
html.dark .dark\:bg-white\/10{background-color:rgba(255,255,255,.1)}
html.dark .dark\:border-gray-600{border-color:var(--c-g600)}
html.dark .dark\:border-gray-700{border-color:var(--c-g700)}
html.dark .dark\:border-white\/10{border-color:rgba(255,255,255,.1)}
html.dark .dark\:border-white\/5{border-color:rgba(255,255,255,.05)}
html.dark .dark\:text-gray-100{color:var(--c-g100)}
html.dark .dark\:text-gray-300{color:var(--c-g300)}
html.dark .dark\:text-gray-400{color:var(--c-g400)}
html.dark .dark\:text-white{color:#fff}
html.dark .dark\:hover\:bg-gray-700:hover{background-color:var(--c-g700)}
html.dark .dark\:hover\:text-white:hover{color:#fff}
