/**
 * Fine Dining Restaurant - Custom Styles
 * Category: business | Industry: restaurant
 * Hero: text-focused | Nav: underline-active | Card: glass-morphism
 */

/* Hero Section */
.hero { position: relative; min-height: 75vh; display: flex; align-items: center; background: var(--color-hero-bg); overflow: hidden; }
.hero__content { position: relative; z-index: 2; max-width: 700px; padding: var(--space-8);  }
.hero h1 { font-size: var(--text-6xl);  }
.hero p { font-size: var(--text-lg); color: var(--color-text-light); }
@media (max-width: 768px) { .hero { min-height: 60vh; } .hero h1 { font-size: var(--text-3xl); } }

/* Section Variants */
.section--alt { background-color: var(--color-surface); }
.section--dark { background-color: var(--color-text); color: var(--color-bg); }
.section--dark h2, .section--dark h3 { color: var(--color-bg); }
.section--accent { background-color: var(--color-primary); color: #FFFFFF; }

/* CTA Block */
.cta-block { text-align: center; padding: var(--space-9) var(--space-5); background: linear-gradient(135deg, #E11D48, #BE123C); color: #FFFFFF; border-radius: var(--radius-xl); }
.cta-block h2 { color: #FFFFFF; margin-bottom: var(--space-4); }
.cta-block p { max-width: 600px; margin-inline: auto; margin-bottom: var(--space-6); opacity: 0.9; }
.cta-block .btn { background: #FFFFFF; color: var(--color-primary); border-color: #FFFFFF; }
.cta-block .btn:hover { background: transparent; color: #FFFFFF; }

/* Testimonials */
.testimonial { background: var(--color-surface); padding: var(--space-6); border-radius: var(--radius-lg); border-left: 4px solid var(--color-primary); }
.testimonial__quote { font-size: var(--text-lg); font-style: italic; margin-bottom: var(--space-4); line-height: 1.7; }
.testimonial__author { font-weight: 600; }
.testimonial__role { color: var(--color-text-light); font-size: var(--text-sm); }

/* Stats */
.stat-item { text-align: center; padding: var(--space-5); }
.stat-item__number { font-family: var(--font-heading); font-size: var(--text-5xl); font-weight: var(--font-weight-heading); color: var(--color-primary); line-height: 1; margin-bottom: var(--space-2); }
.stat-item__label { color: var(--color-text-light); font-size: var(--text-sm); text-transform: uppercase; letter-spacing: 0.05em; }

/* FAQ */
.faq-item { border-bottom: 1px solid var(--color-border); padding: var(--space-4) 0; }
.faq-item__question { font-weight: 600; cursor: pointer; display: flex; justify-content: space-between; align-items: center; }
.faq-item__answer { padding-top: var(--space-3); color: var(--color-text-light); line-height: 1.7; }

/* Category: business specific */
.service-item { text-align: center; padding: var(--space-6); } .service-item__icon { font-size: var(--text-4xl); color: var(--color-primary); margin-bottom: var(--space-4); } .team-member { text-align: center; } .team-member__photo { width: 180px; height: 180px; border-radius: 50%; object-fit: cover; margin-inline: auto; margin-bottom: var(--space-4); }





/* Interaction: moderate */
.animate-on-scroll { opacity: 0; transform: translateY(20px); transition: opacity 0.5s ease, transform 0.5s ease; } .animate-on-scroll.visible { opacity: 1; transform: translateY(0); } @media (prefers-reduced-motion: reduce) { .animate-on-scroll { opacity: 1; transform: none; } }

/* Responsive */
@media (max-width: 480px) { :root { --text-5xl: 2.25rem; --text-4xl: 1.875rem; --text-3xl: 1.5rem; } .section { padding-block: var(--space-7); } .btn--lg { width: 100%; } }
@media print { .site-header, .site-footer, .nav-toggle, .btn { display: none !important; } body { color: #000; background: #fff; } }
