/* Dining page styles - minimal, scoped, and complementary to base.css */

.page-dining-hero { position: relative; min-height: 68vh; display: grid; align-items: end; color: #fff; overflow: clip; }
.page-dining-hero img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(1.1) contrast(1.05) brightness(0.85); }
.page-dining-hero__overlay { position: absolute; inset: 0; background: radial-gradient(1200px 600px at 20% 0%, rgba(138,43,226,0.45), transparent), linear-gradient(to bottom, rgba(10,10,14,0.15), rgba(10,10,14,0.85)); pointer-events: none; }
.page-dining-hero__content { position: relative; padding: 6rem 1rem 3rem; }
.page-dining-breadcrumb ol { display: flex; gap: .5rem; list-style: none; padding: 0; margin: 0 0 1rem; font-size: .875rem; opacity: .9; }
.page-dining-breadcrumb a { color: #c7e9ff; text-decoration: underline; }
.page-dining-hero__title { font-size: clamp(2rem, 5vw, 3rem); margin: .5rem 0; }
.page-dining-hero__lead { max-width: 62ch; line-height: 1.6; margin-bottom: 1rem; }
.page-dining-hero__cta { display: flex; gap: .75rem; flex-wrap: wrap; margin-bottom: 1rem; }
.page-dining-quicklinks { display: flex; gap: .75rem; flex-wrap: wrap; padding: 0; margin: .5rem 0 0; list-style: none; }
.page-dining-quicklinks a { display: inline-block; padding: .4rem .75rem; border-radius: 999px; background: rgba(255,255,255,.1); color: #e7f7ff; border: 1px solid rgba(255,255,255,.18); backdrop-filter: blur(6px); }

.section { padding: 3.5rem 1rem; }
.section-alt { background: linear-gradient(180deg, rgba(10,12,20,.7), rgba(10,12,20,.9)); color: #eef3ff; }
.section-accent { background: linear-gradient(135deg, rgba(0, 160, 255, .12), rgba(255, 0, 170, .10)); }
.container { max-width: 1200px; margin-inline: auto; }
.section-header { margin: 0 auto 1.5rem;  text-align: left; }
.section-header h2 { font-size: clamp(1.5rem, 4vw, 2rem); margin-bottom: .25rem; }
.section-header p { color: #cbd5e1; }

/* Split layout */
.page-dining-split { display: grid; grid-template-columns: 1.2fr 1fr; gap: 2rem; align-items: center; }
.page-dining-split--reverse { grid-template-columns: 1fr; }
.page-dining-split__media img { width: 100%; height: auto; border-radius: 14px; box-shadow: 0 10px 30px rgba(0,0,0,.35); }
.page-dining-split__media--placeholder { min-height: 220px; border-radius: 14px; background: repeating-linear-gradient(45deg, rgba(255,255,255,.06) 0 10px, rgba(255,255,255,.04) 10px 20px); box-shadow: inset 0 0 0 1px rgba(255,255,255,.08); }
.page-dining-split__content .feature-list { display: grid; gap: 1rem; }
.page-dining-split__content .inline-cta { margin-top: 1rem; display: flex; gap: .75rem; flex-wrap: wrap; }

/* Cards / Grid */
.page-dining-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.card { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); border-radius: 14px; overflow: hidden; display: grid; }
.card__media img { width: 100%; height: 200px; object-fit: cover; display: block; }
.card__body { padding: 1rem; }

.page-dining-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.mini-card { padding: 1rem; border-radius: 12px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.08); }

/* Form */
.page-dining-form { display: grid; gap: 1rem; }
.form-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.form-field { display: grid; gap: .4rem; }
.form-field--full { grid-column: 1 / -1; }
.page-dining-form input, .page-dining-form select, .page-dining-form textarea { width: 100%; padding: .7rem .8rem; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); color: #e9f1ff; border-radius: 10px; }
.page-dining-form input:focus, .page-dining-form select:focus, .page-dining-form textarea:focus { outline: 2px solid #5ad; outline-offset: 1px; }
.form-actions { display: flex; align-items: center; gap: 1rem; }
.form-note { color: #bcd1ea; font-size: .9rem; }
.form-errors { margin-top: .5rem; color: #ffd1d1; }

/* Timeline */
.timeline { position: relative; list-style: none; margin: 0; padding: 0 0 0 1rem; display: grid; gap: 1rem; }
.timeline__dot { width: 10px; height: 10px; border-radius: 50%; background: linear-gradient(135deg, #6cf, #f0a); box-shadow: 0 0 0 3px rgba(108, 204, 255, .15); }
.timeline li { display: grid; grid-template-columns: 10px 1fr; gap: .75rem; align-items: start; }
.timeline__content h3 { margin: 0 0 .25rem; font-size: 1.05rem; }

/* Badges */
.badge-grid { display: flex; flex-wrap: wrap; gap: .5rem; }
.badge { padding: .35rem .7rem; border-radius: 999px; background: rgba(0,0,0,.35); color: #eaf6ff; border: 1px solid rgba(255,255,255,.15); }
.muted { color: #a9b8cc; }

/* FAQ */
.faq-group { display: grid; gap: .75rem; }
.faq-group details { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); border-radius: 12px; padding: .75rem 1rem; }
.faq-group summary { cursor: pointer; font-weight: 600; }
.faq-content { margin-top: .5rem; color: #dbe7ff; }

/* Team */
.team-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.team-card { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); border-radius: 12px; padding: 1rem; }

/* Back to top */
.back-to-top { position: sticky; bottom: 1rem; display: grid; place-items: end; padding: 0 1rem 1rem; }
.back-to-top .btn { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16); }

/* Utilities (buttons assumed from base; only adjustments) */
.btn-primary { background: linear-gradient(135deg, #6a00ff, #00aaff); color: #fff!important; border: none; }
.btn-secondary { background: transparent; color: #e7f7ff; border: 1px solid rgba(255,255,255,.35); }
.btn-ghost { background: transparent; color: #cfe9ff; border: 1px solid rgba(255,255,255,.2); }

/* Responsive */
@media (max-width: 1024px) {
  .page-dining-split, .page-dining-split--reverse { grid-template-columns: 1fr; }
  .page-dining-grid { grid-template-columns: repeat(2, 1fr); }
  .page-dining-cards { grid-template-columns: repeat(2, 1fr); }
  .form-row { grid-template-columns: repeat(2, 1fr); }
  .team-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .page-dining-hero__content { padding: 5rem 1rem 2rem; }
  .page-dining-grid { grid-template-columns: 1fr; }
  .page-dining-cards { grid-template-columns: 1fr; }
  .form-row { grid-template-columns: 1fr; }
  .team-grid { grid-template-columns: 1fr; }
}
