* { margin: 0; padding: 0; box-sizing: border-box; }
body { color: #333; background: #fff; font-family: Arial, Helvetica, sans-serif; }
.section-container { width: min(1180px, 90%); margin: 0 auto; }

.events-hero { position: relative; min-height: 628px; background: url('../images/Restaurant/test-restaurant-table.webp') center 58%/cover no-repeat; }
.events-hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(16,28,36,.82), rgba(16,28,36,.3)); }
.events-hero-content { position: absolute; top: 50%; left: 11%; z-index: 1; width: min(900px, 80%); color: #fff; transform: translateY(-50%); }
.events-hero-content > p { margin-bottom: 14px; color: #d6b88c; font-size: 12px; font-weight: bold; letter-spacing: 3px; }
.events-hero h1 { max-width: 850px; margin-bottom: 20px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(52px, 7vw, 84px); font-weight: normal; line-height: 1.05; }
.events-hero-content span { max-width: 590px; display: block; font-size: 18px; line-height: 1.7; }

.events-intro { padding: 75px 0; background: #fff; }
.intro-grid { display: grid; grid-template-columns: .9fr 1.3fr; gap: 85px; align-items: start; }
.intro-title h2 { color: #9b7a5e; font-family: Georgia, "Times New Roman", serif; font-size: 42px; font-weight: normal; line-height: 1.25; }
.intro-text { display: grid; grid-template-columns: 1fr 1fr; gap: 35px; }
.intro-text p, .two-column-text p { color: #5d5d5d; font-size: 16px; line-height: 1.8; }

.events-gallery { position: relative; height: 55vh; min-height: 430px; overflow: hidden; background: #fff; }
.events-gallery-track { height: 100%; padding: 18px 18%; display: flex; align-items: center; gap: 15px; overflow-x: auto; scrollbar-width: none; overscroll-behavior-x: contain; }
.events-gallery-track::-webkit-scrollbar { display: none; }
.events-gallery-slide { height: 100%; flex: 0 0 50vw; overflow: hidden; opacity: .55; transform: scale(.92); cursor: pointer; transition: opacity .46s ease, transform .46s ease; }
.events-gallery-slide.active { opacity: 1; transform: scale(1); cursor: default; }
.events-gallery-slide:focus-visible { outline: 3px solid #937964; outline-offset: 4px; }
.events-gallery-slide img { width: 100%; height: 100%; display: block; object-fit: contain; background: #f8f4ec; }
.events-gallery-arrow { position: absolute; top: 50%; z-index: 3; width: 52px; height: 52px; display: grid; place-items: center; color: #1F2A44; background: #C6A75E; border: 1px solid #C6A75E; border-radius: 50%; font-size: 38px; line-height: 1; cursor: pointer; transform: translateY(-50%); transition: color .25s ease, background .25s ease; }
.events-gallery-arrow:hover,
.events-gallery-arrow:focus { color: #E8DCC8; background: #1F2A44; }
.events-gallery-prev { left: 3%; }
.events-gallery-next { right: 3%; }

.events-description { padding: 95px 0; background: #fafafa; }
.events-description h2 { margin-bottom: 20px; color: #9b7a5e; font-family: Georgia, "Times New Roman", serif; font-size: 39px; font-weight: normal; text-align: center; }
.events-description-lead { max-width: 760px; margin: 0 auto 46px; color: #5d5d5d; font-size: 18px; line-height: 1.75; text-align: center; }
.two-column-text { display: grid; grid-template-columns: 1fr 1fr; gap: 55px; }
.events-venue-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.events-venue-card { min-height: 190px; padding: 36px 28px; background: #fff; border: 1px solid #e8dfd2; box-shadow: 0 10px 30px rgba(31,42,68,.06); }
.events-venue-card h3 { margin-bottom: 14px; color: #1F2A44; font-family: Georgia, "Times New Roman", serif; font-size: 27px; font-weight: normal; }
.events-venue-card p { color: #5d5d5d; font-size: 15px; line-height: 1.7; }
.events-menu-highlight { margin-top: 26px; padding: 34px 40px; display: grid; grid-template-columns: auto 1fr; gap: 28px; align-items: center; color: #fff; background: #1F2A44; }
.events-menu-highlight-number { width: 62px; height: 62px; display: grid; place-items: center; color: #1F2A44; background: #C6A75E; border-radius: 50%; font-family: Georgia, "Times New Roman", serif; font-size: 27px; }
.events-menu-kicker { margin-bottom: 7px; color: #C6A75E; font-size: 11px; font-weight: 700; letter-spacing: 1.8px; }
.events-menu-highlight h3 { margin-bottom: 8px; font-family: Georgia, "Times New Roman", serif; font-size: 27px; font-weight: normal; }
.events-menu-highlight div:last-child > p:last-child { max-width: 760px; color: rgba(255,255,255,.78); font-size: 15px; line-height: 1.7; }
.events-contact-card { width: min(680px, 100%); margin: 42px auto 0; padding: 28px 34px; display: grid; justify-items: center; gap: 9px; color: #1F2A44; background: #f3ecdf; border-left: 4px solid #C6A75E; text-align: center; }
.events-contact-card p { color: #9b7a5e; font-size: 12px; font-weight: 700; letter-spacing: 1.8px; text-transform: uppercase; }
.events-contact-card a { color: #1F2A44; font-family: Georgia, "Times New Roman", serif; font-size: 32px; line-height: 1.2; text-decoration: none; }
.events-contact-card a:hover, .events-contact-card a:focus { color: #9b7a5e; text-decoration: underline; text-underline-offset: 4px; }
.events-contact-card span { max-width: 540px; color: #5d5d5d; font-size: 15px; line-height: 1.6; }
.events-visit-button { width: fit-content; margin: 38px auto 0; padding: 15px 27px; display: block; color: #1F2A44; background: #C6A75E; border: 1px solid #C6A75E; text-decoration: none; font-size: 13px; font-weight: 700; letter-spacing: 1.4px; transition: color .25s ease, background .25s ease, border-color .25s ease; }
.events-visit-button:hover,
.events-visit-button:focus { color: #E8DCC8; background: #1F2A44; border-color: #1F2A44; }
.events-visit-button:focus-visible { outline: 3px solid rgba(155,122,94,.35); outline-offset: 4px; }

footer { color: rgba(255,255,255,.8); background: #9B7A5E; }
.footer-content { padding: 60px 0 45px; display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 60px; }
.footer-content strong { color: #fff; font-size: 39px; }
.footer-content h2 { margin-bottom: 15px; color: #fff; font-size: 16px; }
.footer-content p { margin-top: 10px; line-height: 1.6; }
.footer-content a { margin-bottom: 8px; display: block; color: rgba(255,255,255,.75); text-decoration: none; }
.copyright { padding: 18px; text-align: center; border-top: 1px solid rgba(255,255,255,.12); font-size: 12px; }

@media (max-width: 768px) {
    .events-hero { min-height: 538px; }
    .events-hero-content { top: 50%; left: 7%; width: 86%; }
    .events-hero h1 { margin-bottom: 16px; font-size: clamp(38px, 10vw, 52px); line-height: 1.08; }
    .events-hero-content span { font-size: 16px; line-height: 1.55; }
    .intro-grid, .intro-text, .two-column-text, .footer-content { grid-template-columns: 1fr; }
    .intro-grid { gap: 35px; }
    .events-intro, .events-description { padding: 65px 0; }
    .events-venue-grid { grid-template-columns: 1fr; }
    .events-venue-card { min-height: auto; }
    .events-menu-highlight { grid-template-columns: 1fr; padding: 30px; }
    .events-gallery-track { padding-right: 8%; padding-left: 8%; gap: 12px; }
    .events-gallery-slide { flex-basis: 84%; }
    .events-gallery-arrow { width: 44px; height: 44px; font-size: 32px; }
}

@media (max-width: 520px) {
    .intro-title h2 { font-size: 34px; }
    .events-description h2 { font-size: 32px; }
    .events-gallery { min-height: 330px; height: 48vh; }
    .events-contact-card { padding: 24px 20px; }
    .events-contact-card a { font-size: 28px; }
}
