/* Aggregated from Google Stitch exports. */
.mediterranean-shadow {
            box-shadow: 0 10px 30px rgba(29, 27, 32, 0.05);
        }
        .mediterranean-hover-shadow:hover {
            box-shadow: 0 15px 40px rgba(29, 27, 32, 0.08);
            transform: translateY(-2px);
        }
        /* Custom Colors based on prompt overriding some theme variables for the specific look */
        .bg-warm-ivory { background-color: #FAF7EF; }
        .text-charcoal { color: #20231F; }
        .bg-charcoal { background-color: #20231F; }
        .text-muted-gold { color: #C8A24A; }
        .border-muted-gold { border-color: #C8A24A; }
        .bg-muted-gold { background-color: #C8A24A; }
        .text-soft-olive { color: #6F7D5C; }
        .bg-soft-olive { background-color: #6F7D5C; }
        .border-light-stone { border-color: #E8E0D2; }

.custom-shadow {
            box-shadow: 0 10px 30px rgba(26, 26, 26, 0.04);
        }
        .hover-lift:hover {
            transform: translateY(-4px);
            box-shadow: 0 15px 35px rgba(26, 26, 26, 0.08);
        }
        .custom-border {
            border-color: #E8E0D2;
        }

@keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(20px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }
        @keyframes fadeIn {
            from {
                opacity: 0;
            }
            to {
                opacity: 1;
            }
        }

.material-symbols-outlined {
            font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
        }
        .material-symbols-outlined.fill {
            font-variation-settings: 'FILL' 1;
        }
        
        /* Custom Mediterranean Minimalist Adjustments */
        body {
            background-color: #FAF7EF; /* Warm Ivory Override */
            color: #1d1b20; /* Charcoal */
        }
        
        .shadow-ambient {
            box-shadow: 0 4px 40px -10px rgba(29, 27, 32, 0.05);
        }
        
        .border-stone {
            border-color: #E8E0D2;
        }
        
        .bg-charcoal {
            background-color: #1d1b20;
        }
        
        .text-charcoal {
            color: #1d1b20;
        }
        
        .border-charcoal {
            border-color: #1d1b20;
        }
        
        .bg-muted-gold {
            background-color: #c9a74d;
        }
        
        .text-muted-gold {
            color: #c9a74d;
        }
        
        .border-muted-gold {
            border-color: #c9a74d;
        }
        
        .bg-soft-olive {
            background-color: #6F7D5C;
        }
        
        .bg-soft-white {
            background-color: #FFFFFF;
        }
        
        /* Accordion transitions */
        .accordion-content {
            transition: max-height 0.3s ease-out, opacity 0.3s ease-out;
            max-height: 0;
            opacity: 0;
            overflow: hidden;
        }
        
        .accordion-content.active {
            max-height: 500px;
            opacity: 1;
        }

/* Custom Styles for specific accents not in Tailwind config, as requested by prompt */
        .text-charcoal { color: #2C2C2C; }
        .bg-charcoal { background-color: #2C2C2C; }
        .bg-warm-ivory { background-color: #FDFBF7; }
        .border-light-stone { border-color: #E8E0D2; }
        .bg-soft-olive { background-color: #6F7D5C; }
        .text-soft-olive { color: #6F7D5C; }
        .border-muted-gold { border-color: #C9A74D; }
        .bg-muted-gold { background-color: #C9A74D; }
        .text-muted-gold { color: #C9A74D; }

body { background-color: #FAFAF8; } /* Warm ivory override as requested */
        .glass-panel {
            background: rgba(255, 255, 255, 0.7);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            border: 1px solid rgba(232, 224, 210, 0.5); /* Light Stone equivalent */
        }
        .soft-shadow {
            box-shadow: 0 10px 40px -10px rgba(29, 27, 32, 0.04);
        }
        .hover-lift { transition: transform 0.3s ease, box-shadow 0.3s ease; }
        .hover-lift:hover {
            transform: translateY(-4px);
            box-shadow: 0 20px 40px -15px rgba(29, 27, 32, 0.08);
            border-color: #c9a74d; /* Muted Gold / tertiary-container */
        }

.material-symbols-outlined {
            font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
        }

body {
            background-color: #fdf7ff; /* Warm Ivory fallback */
        }

body {
            background-color: #fdf7ff; /* Fallback */
            @apply bg-background;
        }
        /* Custom scrollbar for aesthetic */
        ::-webkit-scrollbar {
            width: 8px;
        }
        ::-webkit-scrollbar-track {
            background: #f8f2fa;
        }
        ::-webkit-scrollbar-thumb {
            background: #cbc4d2;
            border-radius: 4px;
        }
        ::-webkit-scrollbar-thumb:hover {
            background: #7a7582;
        }

body {
            background-color: #fdf7ff;
            color: #1d1b20;
            -webkit-font-smoothing: antialiased;
        }
        .ambient-shadow {
            box-shadow: 0 10px 30px -10px rgba(29, 27, 32, 0.05);
        }
        .hover-lift {
            transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
        }
        .hover-lift:hover {
            transform: translateY(-4px);
            box-shadow: 0 20px 40px -15px rgba(29, 27, 32, 0.08);
            border-color: #c9a74d;
        }

body {
            background-color: #fdf7ff;
            color: #1d1b20;
        }

.material-symbols-outlined {
          font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
        }

/* Ambient Background Effect */
        .ambient-bg {
            background: radial-gradient(circle at top right, rgba(231, 195, 101, 0.1) 0%, transparent 40%),
                        radial-gradient(circle at bottom left, rgba(201, 167, 77, 0.05) 0%, transparent 40%);
            background-color: #fdf7ff; /* Warm Ivory fallback */
        }
        
        /* Soft Shadows */
        .shadow-ambient {
            box-shadow: 0 10px 40px -10px rgba(29, 27, 32, 0.05);
        }
        
        /* Input Focus Effects */
        .input-mediterranean:focus-within {
            border-bottom-color: #c9a74d; /* Muted Gold */
        }
        
        /* Checkbox custom color */
        .checkbox-custom:checked {
            background-color: #c9a74d;
            border-color: #c9a74d;
        }
        
        /* Button Hover */
        .btn-primary-gold {
            background-color: #c9a74d;
            transition: all 0.3s ease;
        }
        .btn-primary-gold:hover {
            background-color: #765b00; /* Darker tertiary */
            transform: translateY(-1px);
            box-shadow: 0 4px 12px rgba(118, 91, 0, 0.15);
        }

.glass-panel {
            background: rgba(255, 255, 255, 0.85);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            border: 1px solid rgba(232, 224, 210, 0.5);
            box-shadow: 0 10px 40px -10px rgba(29, 27, 32, 0.05);
        }
        
        .input-minimal {
            background: transparent;
            border: none;
            border-bottom: 1px solid #E8E0D2;
            border-radius: 0;
            padding: 12px 0;
            transition: all 0.3s ease;
        }
        
        .input-minimal:focus {
            outline: none;
            box-shadow: none;
            border-bottom-color: #c9a74d; /* tertiary-container roughly maps to muted gold */
        }
        
        .input-minimal::placeholder {
            color: #7a7582; /* outline color */
            font-weight: 400;
        }

.material-symbols-outlined {
            font-variation-settings: 'FILL' 0, 'wght' 300, 'GRAD' 0, 'opsz' 24;
        }

.material-symbols-outlined {
            font-variation-settings: 'FILL' 0, 'wght' 300, 'GRAD' 0, 'opsz' 24;
        }
        /* Custom Input styling for the minimalist look */
        .input-minimal {
            border: none;
            border-bottom: 1px solid theme('colors.outline-variant');
            border-radius: 0;
            background-color: transparent;
            padding: theme('spacing.3') 0;
            transition: all 0.3s ease;
        }
        .input-minimal:focus {
            box-shadow: none;
            border-bottom-color: theme('colors.tertiary-container');
        }

.accordion-content {
            transition: max-height 0.3s ease-out, opacity 0.3s ease-out;
            max-height: 0;
            opacity: 0;
            overflow: hidden;
        }
        .accordion-content.open {
            max-height: 500px;
            opacity: 1;
        }
        .accordion-icon {
            transition: transform 0.3s ease;
        }
        .accordion-button.active .accordion-icon {
            transform: rotate(180deg);
        }

body { background-color: #fdf7ff; color: #1d1b20; }
        .bg-warm-ivory { background-color: #fdf7ff; }
        .text-charcoal { color: #1d1b20; }
        .border-stone { border-color: #E8E0D2; }
        .text-muted-gold { color: #765b00; }
        .text-soft-olive { color: #6F7D5C; }

body {
            background-color: theme('colors.warm-ivory');
            color: theme('colors.charcoal');
        }

body {
            background-color: #FDF7FF; /* surface */
            color: #1D1B20; /* on-surface */
        }
        .text-terracotta { color: #B86B45; }
        .bg-terracotta { background-color: #B86B45; }
        .text-soft-olive { color: #6F7D5C; }
        .bg-soft-olive { background-color: #6F7D5C; }
        .border-stone { border-color: #E8E0D2; }
        .bg-soft-white { background-color: #FFFFFF; }
        .text-charcoal { color: #1D1B20; }
        .bg-charcoal { background-color: #1D1B20; }
        .text-muted-gold { color: #c9a74d; } /* tertiary-container roughly */
        .border-muted-gold { border-color: #c9a74d; }
        
        .shadow-ambient {
            box-shadow: 0 10px 40px -10px rgba(29, 27, 32, 0.04);
        }
        
        .hover-lift {
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }
        .hover-lift:hover {
            transform: translateY(-4px);
            box-shadow: 0 20px 40px -10px rgba(29, 27, 32, 0.06);
        }

.material-symbols-outlined {
            font-family: 'Material Symbols Outlined';
            font-weight: normal;
            font-style: normal;
            font-size: 24px;
            line-height: 1;
            letter-spacing: normal;
            text-transform: none;
            display: inline-block;
            white-space: nowrap;
            word-wrap: normal;
            direction: ltr;
            -webkit-font-feature-settings: 'liga';
            -webkit-font-smoothing: antialiased;
        }
        
        /* Subtle natural fade for lists */
        .ingredient-item {
            position: relative;
            padding-left: 1.5rem;
        }
        .ingredient-item::before {
            content: '•';
            position: absolute;
            left: 0;
            color: #765b00; /* tertiary color */
        }
        
        .step-number {
            font-family: 'Playfair Display', serif;
            color: #e6e0e9; /* surface-variant */
            font-size: 3rem;
            line-height: 1;
            position: absolute;
            left: -1rem;
            top: -0.5rem;
            z-index: 0;
            opacity: 0.5;
        }

.material-symbols-outlined {
            font-variation-settings: 'FILL' 0, 'wght' 300, 'GRAD' 0, 'opsz' 24;
        }
        .text-balance {
            text-wrap: balance;
        }
        /* Custom gentle shadow for the "Ambient Shadows" requirement */
        .ambient-shadow {
            box-shadow: 0 10px 40px -10px rgba(29, 27, 32, 0.04);
        }

body {
            background-color: #F9F6F0; /* brand-warm-ivory */
            color: #2A2A2A; /* brand-charcoal */
        }
        .ambient-shadow {
            box-shadow: 0 10px 40px -10px rgba(42, 42, 42, 0.05);
        }
        .btn-primary {
            background-color: #2A2A2A;
            color: #FFFFFF;
            transition: all 0.3s ease;
        }
        .btn-primary:hover {
            background-color: #1a1a1a;
            transform: translateY(-2px);
            box-shadow: 0 4px 12px rgba(42, 42, 42, 0.15);
        }
        .plan-card {
            transition: all 0.4s ease;
            border: 1px solid #E8E0D2;
        }
        .plan-card:hover {
            border-color: #D4AF37;
            transform: translateY(-4px);
            box-shadow: 0 12px 24px -8px rgba(212, 175, 55, 0.15);
        }
        .plan-card.active {
            border-color: #6F7D5C;
            background-color: #fcfbfa;
            box-shadow: 0 8px 32px -8px rgba(111, 125, 92, 0.1);
        }
        .accordion-content {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.3s ease-out;
        }
        .accordion-content.open {
            max-height: 200px;
        }

body { background-color: #fcfcfc; color: #1d1b20; }
        .shadow-ambient { box-shadow: 0 4px 24px -4px rgba(29, 27, 32, 0.05); }
        .hover-lift { transition: transform 0.3s ease, box-shadow 0.3s ease; }
        .hover-lift:hover { transform: translateY(-4px); box-shadow: 0 12px 32px -8px rgba(29, 27, 32, 0.08); border-color: #c9a74d; }
