:root{--primary-color: #1a1a1a;--primary-hover: #2d2d2d;--primary-light: #f5f3f0;--primary-dark: #0f0f0f;--accent-color: #d4af37;--accent-hover: #e6c547;--accent-light: #fef8f0;--accent-dark: #b8941e;--secondary-color: #6b7280;--secondary-hover: #4b5563;--secondary-light: #f3f4f6;--secondary-dark: #1f2937;--success-color: #16a34a;--warning-color: #ea580c;--error-color: #dc2626;--info-color: #0284c7;--white: #ffffff;--black: #000000;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", sans-serif;--font-family-mono: "Monaco", "Menlo", "Ubuntu Mono", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-base: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-full: 9999px;--transition-fast: .15s ease-in-out;--transition-normal: .3s ease-in-out;--transition-slow: .5s ease-in-out;--z-dropdown: 1000;--z-modal: 1050;--z-tooltip: 1100}:root.dark,:root[data-theme=dark]{--primary-color: #0f0f0f;--primary-hover: #1a1a1a;--primary-light: #2d2d2d;--primary-dark: #050505;--accent-color: #e6c547;--accent-hover: #ffd652;--accent-light: #3d3d1a;--accent-dark: #d4af37;--secondary-color: #cbd5e1;--secondary-hover: #e2e8f0;--secondary-light: #1e293b;--secondary-dark: #94a3b8;--white: #0f0f0f;--black: #f8fafc;--gray-50: #0f0f0f;--gray-100: #1e293b;--gray-200: #334155;--gray-300: #475569;--gray-400: #64748b;--gray-500: #78716c;--gray-600: #94a3b8;--gray-700: #cbd5e1;--gray-800: #e2e8f0;--gray-900: #f8fafc}*{margin:0;padding:0;box-sizing:border-box}*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--gray-900);background-color:var(--white);transition:background-color var(--transition-normal),color var(--transition-normal)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:var(--line-height-tight);margin-bottom:var(--spacing-md)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base);font-weight:500}p{margin-bottom:var(--spacing-md);line-height:var(--line-height-relaxed)}a{color:var(--primary-color);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-hover);text-decoration:underline}a:active{color:var(--primary-dark)}input,textarea,select,button{font-family:inherit;font-size:inherit;line-height:inherit}input[type=text],input[type=email],input[type=password],input[type=search],input[type=url],textarea,select{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--gray-300);border-radius:var(--radius-md);background-color:var(--white);color:var(--gray-900);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=search]:focus,input[type=url]:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light)}input[type=text]:disabled,input[type=email]:disabled,input[type=password]:disabled,input[type=search]:disabled,input[type=url]:disabled,textarea:disabled,select:disabled{background-color:var(--gray-100);cursor:not-allowed;opacity:.6}textarea{resize:vertical;min-height:100px}button{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}button.btn-primary{background-color:var(--primary-color);color:var(--white)}button.btn-primary:hover:not(:disabled){background-color:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}button.btn-primary:active:not(:disabled){background-color:var(--primary-dark)}button.btn-primary:disabled{opacity:.6;cursor:not-allowed}button.btn-secondary{background-color:var(--secondary-light);color:var(--secondary-dark);border:1px solid var(--gray-300)}button.btn-secondary:hover:not(:disabled){background-color:var(--gray-200);box-shadow:var(--shadow-sm)}button.btn-secondary:disabled{opacity:.6;cursor:not-allowed}button.btn-sm{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm)}button.btn-lg{padding:var(--spacing-md) var(--spacing-2xl);font-size:var(--font-size-lg)}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-col{display:flex;flex-direction:column}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg)}.text-center{text-align:center}.text-muted{color:var(--gray-500)}.text-error{color:var(--error-color)}.text-success{color:var(--success-color)}.text-warning{color:var(--warning-color)}.m-auto{margin:auto}.mt-0{margin-top:0}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mt-2xl{margin-top:var(--spacing-2xl)}.mb-0{margin-bottom:0}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.mb-2xl{margin-bottom:var(--spacing-2xl)}.p-0{padding:0}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.p-2xl{padding:var(--spacing-2xl)}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.gap-2xl{gap:var(--spacing-2xl)}:root,:root[data-theme=light]{--bg-page: #ffffff;--bg-elevated: #ffffff;--bg-muted: #f7f7f5;--text-primary: #141414;--text-secondary: #535353;--text-on-dark: #f6f0de;--border-color: rgba(26, 26, 26, .14);--shadow-soft: 0 10px 24px rgba(26, 26, 26, .08);--primary-color: #1a1a1a;--primary-hover: #2a2a2a;--primary-light: #f4f1e8;--primary-dark: #0f0f0f;--accent-color: #d4af37;--accent-hover: #e2c153;--accent-light: #fff6dd;--accent-dark: #9f7f15}:root.dark,:root[data-theme=dark]{--bg-page: #0b0b0b;--bg-elevated: #151515;--bg-muted: #1d1d1d;--text-primary: #f5f1e6;--text-secondary: #c2bcae;--text-on-dark: #f5f1e6;--border-color: rgba(212, 175, 55, .24);--shadow-soft: 0 14px 30px rgba(0, 0, 0, .42);--primary-color: #f5f1e6;--primary-hover: #ffffff;--primary-light: #1d1d1d;--primary-dark: #050505;--accent-color: #d4af37;--accent-hover: #e6c557;--accent-light: #2b2412;--accent-dark: #f0d887}html,body{background:var(--bg-page);color:var(--text-primary)}body{min-height:100vh}p,li,label,small,.text-muted{color:var(--text-secondary)}mat-card,.mat-mdc-card{background:var(--bg-elevated)!important;color:var(--text-primary)!important;border:1px solid var(--border-color);box-shadow:var(--shadow-soft)!important}.mat-mdc-raised-button.mat-primary,.mat-mdc-unelevated-button.mat-primary{--mdc-filled-button-container-color: var(--accent-color);--mdc-filled-button-label-text-color: #1a1a1a}.mat-mdc-outlined-button{border-color:var(--border-color)!important}.mat-mdc-form-field{width:100%}.mat-mdc-text-field-wrapper{background-color:var(--bg-elevated)!important}.mat-mdc-form-field .mdc-floating-label,.mat-mdc-form-field .mat-mdc-input-element,.mat-mdc-select-value-text{color:var(--text-primary)!important}.mat-mdc-snack-bar-container{--mdc-snackbar-container-color: var(--bg-elevated);--mdc-snackbar-supporting-text-color: var(--text-primary)}.home-page,.about-page,.static-product-page,.wedding-planner-page,.dashboard,.auth-page{color:var(--text-primary)}.home-page .products-section,.home-page .features-section,.home-page .faq-section,.home-page .final-cta-section,.about-page .core-values-section,.about-page .contact-cta-section,.about-page .why-choose-us,.static-product-page,.wedding-planner-page{background-color:var(--bg-muted)!important}.home-page .hero,.home-page .contact-section,.about-page .hero-section,.static-product-page .product-hero,.static-product-page .contact-section,.wedding-planner-page .product-hero,.wedding-planner-page .contact-section{background:var(--bg-muted);color:var(--text-primary)!important}.home-page .hero h1,.home-page .hero p,.home-page .contact-section h2,.home-page .contact-section p,.home-page .final-cta-section h2,.home-page .final-cta-section p,.about-page .hero-section h1,.about-page .hero-section p,.about-page .contact-cta-section h2,.about-page .contact-cta-section p,.static-product-page .product-hero h1,.static-product-page .product-hero p,.static-product-page .contact-section h2,.static-product-page .contact-section p,.wedding-planner-page .product-hero h1,.wedding-planner-page .product-hero p,.wedding-planner-page .contact-section h2,.wedding-planner-page .contact-section p{color:var(--primary-color)!important}.home-page .product-card,.home-page .feature-card,.about-page .description-wrapper,.about-page .mission-card,.about-page .vision-card,.about-page .values-card,.about-page .offering-card,.about-page .reason-item,.about-page .value-item,.static-product-page .feature-item,.static-product-page .feature-icon-item,.wedding-planner-page .feature-item{background:var(--bg-muted)!important;color:var(--text-primary)!important;border-color:var(--border-color)!important}.home-page .product-title,.home-page .feature-title,.about-page h2,.about-page h3,.static-product-page h2,.static-product-page h3,.wedding-planner-page h2,.wedding-planner-page h3{color:var(--text-primary)!important}.home-page .product-description,.home-page .highlight-text,.home-page .feature-description,.about-page p,.static-product-page p,.wedding-planner-page p{color:var(--text-secondary)!important}.home-page .category-label,.home-page .product-subtitle,.home-page .product-status-badge,.home-page .highlight-item mat-icon,.about-page .reason-icon,.static-product-page .coming-soon-badge,.wedding-planner-page .coming-soon-badge{color:#1a1a1a!important}.home-page .product-status-badge,.home-page .coming-soon-badge,.about-page .cta-button,.static-product-page .coming-soon-badge,.wedding-planner-page .coming-soon-badge{background-color:var(--accent-color)!important}.home-page .product-highlights,.about-page .product-about,.static-product-page .product-about,.wedding-planner-page .product-about{background:var(--bg-page)!important}@media(max-width:768px){h1{font-size:clamp(1.8rem,7vw,2.2rem)}h2{font-size:clamp(1.5rem,6vw,1.9rem)}h3{font-size:clamp(1.2rem,5vw,1.4rem)}.container{padding-left:.9rem;padding-right:.9rem}.home-page .hero,.home-page .products-section,.home-page .features-section,.home-page .faq-section,.about-page .hero-section,.about-page .company-description,.about-page .mission-vision-section,.about-page .core-values-section,.about-page .offerings-section,.about-page .why-choose-us,.about-page .contact-cta-section,.static-product-page .product-hero,.static-product-page .product-features,.static-product-page .contact-section,.wedding-planner-page .product-hero,.wedding-planner-page .product-features,.wedding-planner-page .contact-section{padding-left:1rem!important;padding-right:1rem!important}.home-page .products-grid,.home-page .features-grid,.about-page .values-grid,.about-page .offerings-grid,.about-page .reasons-grid,.about-page .mission-vision-section,.static-product-page .features-list,.static-product-page .contact-info,.wedding-planner-page .features-list,.wedding-planner-page .contact-info{grid-template-columns:1fr!important;gap:1rem!important}}#about-section{scroll-margin-top:70px}app-root{display:block;min-height:100vh}html{transition:background-color .2s ease-in-out,color .2s ease-in-out}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--gray-400);border-radius:var(--radius-full);-webkit-transition:background .2s;transition:background .2s}::-webkit-scrollbar-thumb:hover{background:var(--gray-500)}*:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}
