/* --------------------------------------------------------------------------
   THEME: MODERN INDIGO (Default Tailwind)
   -------------------------------------------------------------------------- */
:root {
    --primary: #4f46e5;
    --primary-light: #eef2ff;
    --primary-dark: #3730a3;
    --accent: #f97316;
    --bg-main: #f9fafb;
    --bg-card: #ffffff;
    --text-main: #111827;
    --text-muted: #6b7280;
    --font-main: 'Outfit', sans-serif;
}

/* --------------------------------------------------------------------------
   THEME: LUXURY DARK
   -------------------------------------------------------------------------- */
body.theme-luxury {
    --primary: #d4af37;
    --primary-light: #2a2a2a;
    --primary-dark: #b8962e;
    --accent: #d4af37;
    --bg-main: #0a0a0a;
    --bg-card: #141414;
    --text-main: #f5f5f5;
    --text-muted: #a3a3a3;
    --font-main: 'Playfair Display', serif;
    background-color: var(--bg-main) !important;
    color: var(--text-main) !important;
    background-image: radial-gradient(circle at top, #1a1a1a, #000);
}

/* Luxury Structure Overrides */
body.theme-luxury .bg-white {
    background-color: var(--bg-card) !important;
    border-color: #2a2a2a !important;
    color: var(--text-main) !important;
}

body.theme-luxury .text-gray-900,
body.theme-luxury .text-gray-800 {
    color: #d4af37 !important;
}

body.theme-luxury .text-gray-500 {
    color: #888 !important;
}

body.theme-luxury .border-gray-100 {
    border-color: #333 !important;
}

body.theme-luxury .bg-gray-50 {
    background-color: #1a1a1a !important;
}

/* Item Cards */
body.theme-luxury .item-grid>div {
    border: 1px solid rgba(212, 175, 55, 0.3) !important;
    background: linear-gradient(145deg, #1a1a1a, #0d0d0d) !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
    transition: all 0.4s ease;
}

body.theme-luxury .item-grid>div:hover {
    border-color: #d4af37 !important;
    box-shadow: 0 10px 30px rgba(212, 175, 55, 0.15) !important;
}

body.theme-luxury .item-grid img {
    filter: grayscale(80%) contrast(1.2);
    transition: 0.5s;
}

body.theme-luxury .item-grid>div:hover img {
    filter: grayscale(0%);
}

/* Pricing Badge & Buttons */
body.theme-luxury .item-grid .absolute.top-4.right-4 {
    background: #d4af37 !important;
    color: #000 !important;
    border-radius: 4px !important;
    font-weight: 900 !important;
}

body.theme-luxury button.bg-indigo-50 {
    background: #d4af37 !important;
    color: #000 !important;
    border-radius: 4px !important;
}

body.theme-luxury button.hover\:bg-indigo-600:hover {
    opacity: 0.8;
}

/* Modal */
body.theme-luxury #product-modal .bg-white,
body.theme-luxury #waiter-modal .bg-white {
    background: linear-gradient(145deg, #1a1a1a, #0d0d0d) !important;
    border: 1px solid #d4af37;
    border-radius: 12px !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.8) !important;
}

body.theme-luxury #product-modal .text-indigo-600 {
    color: #d4af37 !important;
}

/* Header & Glass */
body.theme-luxury .glass {
    background: rgba(10, 10, 10, 0.95) !important;
    border-bottom: 1px solid rgba(212, 175, 55, 0.2);
}

/* Category Grid */
body.theme-luxury .category-grid a {
    border: 1px solid rgba(212, 175, 55, 0.4);
    border-radius: 8px !important;
}

/* --------------------------------------------------------------------------
   THEME: ROYAL GOLD
   -------------------------------------------------------------------------- */
body.theme-royal {
    --primary: #92400e;
    --primary-light: #fef3c7;
    --primary-dark: #78350f;
    --accent: #b45309;
    --bg-main: #faf9f6;
    --bg-card: #ffffff;
    --text-main: #3e2723;
    --text-muted: #5d4037;
    --font-main: 'Playfair Display', serif;
    background-color: var(--bg-main) !important;
    color: var(--text-main) !important;
    background-image: url('data:image/svg+xml;utf8,<svg width="40" height="40" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg"><g fill="%23d4af37" fill-opacity="0.04" fill-rule="evenodd"><path d="M0 40L40 0H20L0 20M40 40V20L20 40"/></g></svg>');
}

body.theme-royal .bg-white {
    background-color: var(--bg-card) !important;
    color: var(--text-main) !important;
    border-color: #e7ceaf !important;
}

body.theme-royal .text-gray-900,
body.theme-royal .text-gray-800 {
    color: #3e2723 !important;
}

body.theme-royal .text-gray-500 {
    color: #795548 !important;
}

body.theme-royal .bg-gray-50 {
    background-color: #fdfbf7 !important;
}

/* Royal Structure - Double Borders */
body.theme-royal .item-grid>div {
    border: 1px solid #92400e !important;
    outline: 1px solid #92400e;
    outline-offset: -6px;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.05) !important;
    padding: 6px;
}

body.theme-royal .item-grid .relative.h-56 {
    border-radius: 0 !important;
    border: 1px solid #e7ceaf;
}

body.theme-royal .glass {
    background: rgba(250, 249, 246, 0.95) !important;
    border-bottom: 2px solid #92400e;
}

body.theme-royal .item-grid .absolute.top-4.right-4 {
    background: #fff !important;
    color: #92400e !important;
    border: 1px solid #92400e !important;
    border-radius: 0 !important;
    text-transform: uppercase;
}

body.theme-royal button.bg-indigo-50 {
    background: transparent !important;
    border: 1px solid #92400e !important;
    color: #92400e !important;
    border-radius: 0 !important;
    text-transform: uppercase;
    letter-spacing: 2px;
}

body.theme-royal button.hover\:bg-indigo-600:hover {
    background: #92400e !important;
    color: #fff !important;
}

body.theme-royal .category-grid a {
    border-radius: 0 !important;
    border: 2px solid #fff;
    outline: 2px solid #92400e;
    outline-offset: -2px;
}

body.theme-royal #product-modal .bg-white,
body.theme-royal #waiter-modal .bg-white {
    border-radius: 0 !important;
    border: 2px solid #92400e;
    outline: 2px solid #92400e;
    outline-offset: -6px;
    padding: 6px;
}

/* --------------------------------------------------------------------------
   THEME: NATURE FRESH
   -------------------------------------------------------------------------- */
body.theme-nature {
    --primary: #059669;
    --primary-light: #d1fae5;
    --primary-dark: #047857;
    --accent: #ea580c;
    --bg-main: #f0fdf4;
    --bg-card: #ffffff;
    --text-main: #064e3b;
    --text-muted: #166534;
    --font-main: 'Quicksand', sans-serif;
    background-color: var(--bg-main) !important;
    color: var(--text-main) !important;
}

body.theme-nature .text-gray-900,
body.theme-nature .text-gray-800 {
    color: #064e3b !important;
}

body.theme-nature .text-gray-500 {
    color: #166534 !important;
}

/* Leafy Shapes */
body.theme-nature .item-grid>div {
    border-radius: 40px 10px 40px 10px !important;
    border: none !important;
    box-shadow: 0 10px 30px -5px rgba(5, 150, 105, 0.1) !important;
    background: #fff !important;
    overflow: visible !important;
    margin-top: 20px;
}

body.theme-nature .item-grid .relative.h-56 {
    border-radius: 40px 10px 40px 10px !important;
    transform: scale(1.05) translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

body.theme-nature .category-grid a {
    border-radius: 50% 50% 50% 10% !important;
    box-shadow: 0 15px 30px rgba(5, 150, 105, 0.2) !important;
}

body.theme-nature .glass {
    background: rgba(240, 253, 244, 0.9) !important;
    border-bottom: 3px dashed #34d399;
}

body.theme-nature button.bg-indigo-50 {
    background: #d1fae5 !important;
    color: #059669 !important;
    border-radius: 30px !important;
}

body.theme-nature button.hover\:bg-indigo-600:hover {
    background: #059669 !important;
    color: #fff !important;
    transform: scale(1.05);
}

body.theme-nature .item-grid .absolute.top-4.right-4 {
    background: #10b981 !important;
    color: #fff !important;
    border-radius: 20px !important;
}

body.theme-nature #product-modal .bg-white,
body.theme-nature #waiter-modal .bg-white {
    border-radius: 40px !important;
    border: 4px solid #10b981;
}

/* --------------------------------------------------------------------------
   THEME: MINIMAL BRUTALIST
   -------------------------------------------------------------------------- */
body.theme-minimal {
    --primary: #000000;
    --primary-light: #f3f4f6;
    --primary-dark: #000000;
    --accent: #000000;
    --bg-main: #ffffff;
    --bg-card: #ffffff;
    --text-main: #000000;
    --text-muted: #666666;
    --font-main: 'Inter', sans-serif;
    background-color: var(--bg-main) !important;
    color: var(--text-main) !important;
}

body.theme-minimal .bg-white {
    background-color: #fff !important;
    color: #000 !important;
}

body.theme-minimal .text-gray-900,
body.theme-minimal .text-gray-800 {
    color: #000 !important;
    font-weight: 900 !important;
    letter-spacing: -0.05em;
}

body.theme-minimal .text-gray-500 {
    color: #555 !important;
}

body.theme-minimal .border-gray-100 {
    border-color: #000 !important;
    border-width: 2px !important;
}

/* Brutalist Architecture */
body.theme-minimal .item-grid>div {
    border: 3px solid #000 !important;
    border-radius: 0 !important;
    box-shadow: 8px 8px 0px #000 !important;
    background: #fff !important;
    transform: translate(0, 0);
    transition: transform 0.1s, box-shadow 0.1s;
}

body.theme-minimal .item-grid>div:hover {
    transform: translate(4px, 4px);
    box-shadow: 4px 4px 0px #000 !important;
}

body.theme-minimal .item-grid .relative.h-56 {
    border-radius: 0 !important;
    border-bottom: 3px solid #000;
}

body.theme-minimal .glass {
    background: #fff !important;
    border-bottom: 4px solid #000;
    backdrop-filter: none !important;
}

body.theme-minimal button.bg-indigo-50 {
    background: #fff !important;
    color: #000 !important;
    border: 3px solid #000 !important;
    border-radius: 0 !important;
    font-weight: 900 !important;
    text-transform: uppercase;
    box-shadow: 4px 4px 0px #000;
    transition: all 0.1s;
}

body.theme-minimal button.hover\:bg-indigo-600:hover {
    background: #000 !important;
    color: #fff !important;
    box-shadow: 0 0 0 #000;
    transform: translate(4px, 4px);
}

body.theme-minimal .category-grid a {
    border-radius: 0 !important;
    border: 3px solid #000;
    box-shadow: 8px 8px 0px #000 !important;
}

body.theme-minimal .category-grid a:hover {
    transform: translate(4px, 4px);
    box-shadow: 4px 4px 0px #000 !important;
}

body.theme-minimal .item-grid .absolute.top-4.right-4 {
    background: #fff !important;
    color: #000 !important;
    border: 3px solid #000 !important;
    border-radius: 0 !important;
    box-shadow: 4px 4px 0px #000;
    font-weight: 900 !important;
}

body.theme-minimal #product-modal .bg-white,
body.theme-minimal #waiter-modal .bg-white {
    border: 4px solid #000 !important;
    box-shadow: 15px 15px 0px #000 !important;
    border-radius: 0 !important;
}

body.theme-minimal #product-modal img {
    border-bottom: 4px solid #000;
}

/* --------------------------------------------------------------------------
   GLOBAL OVERRIDES & FIXES
   -------------------------------------------------------------------------- */
body {
    font-family: var(--font-main);
}

/* Buttons & Elements mapping */
.text-indigo-800,
.text-indigo-600 {
    color: var(--primary) !important;
}

.bg-indigo-600 {
    background-color: var(--primary) !important;
}

.bg-indigo-50 {
    background-color: var(--primary-light) !important;
}

.text-orange-500 {
    color: var(--accent) !important;
}

.bg-orange-500,
#waiter-fab button {
    background-color: var(--accent) !important;
    color: #fff !important;
    border-color: var(--accent) !important;
}

.bg-gray-50 {
    background-color: var(--bg-main);
}