
:root {
  --bg: #0b0b0b;
  --panel: #151515;
  --panel-2: #1d1d1d;
  --text: #f8f6f1;
  --muted: #b8b4aa;
  --gold: #a48643;
  --gold-light: #c3a563;
  --line: rgba(255,255,255,.12);
  --max: 1180px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--text); font-family: "DM Sans", Arial, sans-serif; line-height: 1.6; }
a { color: inherit; text-decoration: none; }
.site-header {
  height: 82px; display:flex; align-items:center; gap:34px; padding: 0 5vw;
  position: sticky; top:0; z-index:50; background: rgba(11,11,11,.92); backdrop-filter: blur(16px);
  border-bottom:1px solid var(--line);
}
.brand img { width: 126px; height:auto; display:block; }
.desktop-nav { display:flex; gap:28px; margin-left:auto; font-size:14px; color:var(--muted); }
.desktop-nav a:hover, .text-link:hover { color:var(--gold-light); }
.btn { display:inline-flex; align-items:center; justify-content:center; border-radius:999px; padding:12px 20px; font-weight:700; font-size:14px; transition:.2s ease; border:1px solid transparent; }
.btn-primary { background:var(--gold); color:#fff; }
.btn-primary:hover { transform:translateY(-2px); background:var(--gold-light); }
.btn-ghost { border-color:rgba(255,255,255,.35); color:#fff; background:rgba(0,0,0,.18); }
.btn-ghost:hover { background:#fff; color:#111; }
.btn-outline { border-color:var(--line); }
.btn-outline:hover { border-color:var(--gold); color:var(--gold-light); }
.btn-light { background:#fff; color:#111; }
.btn-large { padding:15px 25px; font-size:15px; }
.btn-small { padding:9px 15px; background:var(--gold); color:#fff; font-size:12px; }
.menu-btn { display:none; background:none; border:0; color:#fff; font-size:25px; }
.hero { min-height: 720px; position:relative; display:flex; align-items:center; overflow:hidden; }
.hero-photo { position:absolute; inset:0; background:url("assets/cinema.jpg") center/cover; transform:scale(1.04); filter:saturate(.85); }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg, rgba(0,0,0,.95) 0%, rgba(0,0,0,.68) 48%, rgba(0,0,0,.25) 100%), linear-gradient(0deg, #0b0b0b 0%, transparent 35%); }
.hero-content { position:relative; z-index:2; width:min(650px, 90%); margin-left:max(5vw, calc((100vw - var(--max))/2)); padding-top:30px; }
.eyebrow { color:var(--gold-light); letter-spacing:.22em; font-size:11px; font-weight:800; margin:0 0 12px; }
.hero h1 { font:700 clamp(52px,7vw,88px)/.98 "Playfair Display", serif; margin:0 0 22px; }
.hero h1 span { color:var(--gold-light); }
.hero-copy { color:#ddd9d1; max-width:570px; font-size:17px; }
.hero-actions { display:flex; gap:12px; margin-top:30px; flex-wrap:wrap; }
.hero-meta { position:absolute; bottom:30px; left:5vw; z-index:2; display:flex; gap:25px; flex-wrap:wrap; color:#d5d1c8; font-size:12px; }
.quick-book { width:min(var(--max),90%); margin:-1px auto 0; position:relative; z-index:4; padding:30px 34px; background:var(--panel); border:1px solid var(--line); border-radius:18px; display:flex; justify-content:space-between; align-items:center; gap:25px; }
.quick-book h2 { margin:0; font:600 25px "Playfair Display",serif; }
.section { width:min(var(--max),90%); margin:0 auto; padding:95px 0; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:32px; }
.section-heading h2, .split-copy h2, .location-section h2, .offer-panel h2 { margin:0; font:600 clamp(34px,4vw,54px)/1.05 "Playfair Display",serif; }
.text-link { color:var(--gold-light); font-size:13px; font-weight:700; }
.movie-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.movie-card { background:var(--panel); border:1px solid var(--line); border-radius:16px; overflow:hidden; }
.poster { aspect-ratio: 2/2.65; padding:20px; display:flex; flex-direction:column; justify-content:flex-end; position:relative; overflow:hidden; }
.poster:before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 70% 20%, rgba(255,255,255,.16), transparent 30%), linear-gradient(145deg, rgba(164,134,67,.9), rgba(10,10,10,.95) 65%); }
.poster-2:before { background:linear-gradient(145deg, #6c2634, #0d0d0d 70%); }
.poster-3:before { background:linear-gradient(145deg, #273c63, #090909 70%); }
.poster-4:before { background:linear-gradient(145deg, #6d5b2d, #0b0b0b 70%); }
.poster-5:before { background:linear-gradient(145deg, #4c3434, #090909 70%); }
.poster-6:before { background:linear-gradient(145deg, #27352c, #090909 70%); }
.poster > * { position:relative; z-index:1; }
.poster strong { font:600 29px/1.05 "Playfair Display",serif; max-width:85%; }
.poster small { margin-top:7px; color:#eee; }
.poster-label { position:absolute; top:18px; left:18px; font-size:9px; letter-spacing:.16em; font-weight:800; padding:5px 8px; border:1px solid rgba(255,255,255,.35); border-radius:99px; }
.movie-info { padding:18px; }
.movie-info h3 { margin:0 0 4px; font-size:17px; }
.movie-info p { margin:0 0 14px; color:var(--muted); font-size:12px; }
.live-note { margin-top:20px; color:#8f8b83; font-size:12px; }
.split-section { width:min(100%, 1280px); margin:0 auto; display:grid; grid-template-columns:1fr 1fr; background:var(--panel); }
.split-image img { width:100%; height:100%; min-height:650px; object-fit:cover; display:block; }
.split-copy { padding:80px clamp(35px,7vw,90px); display:flex; flex-direction:column; justify-content:center; }
.split-copy > p:not(.eyebrow) { color:var(--muted); max-width:520px; margin:24px 0 35px; }
.feature-list { display:grid; gap:14px; }
.feature-list div { display:flex; gap:18px; padding:16px 0; border-top:1px solid var(--line); }
.feature-list b { color:var(--gold-light); font-size:11px; }
.feature-list span { display:grid; gap:2px; color:var(--muted); font-size:13px; }
.feature-list strong { color:#fff; }
.dark-section { max-width:none; width:100%; padding-left:5%; padding-right:5%; background:#101010; }
.coming-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.coming-card { background:var(--panel); border:1px solid var(--line); border-radius:16px; overflow:hidden; }
.coming-card > div:last-child { padding:18px; }
.coming-card h3 { margin:0 0 4px; font-size:18px; }
.coming-card p, .muted { margin:0; color:var(--muted); font-size:12px; }
.coming-art { height:240px; display:flex; align-items:end; padding:22px; font:700 35px/.9 "Playfair Display",serif; }
.art-1 { background:linear-gradient(145deg,#a48643,#17120a); }
.art-2 { background:linear-gradient(145deg,#333,#111); }
.art-3 { background:linear-gradient(145deg,#5b4931,#111); }
.offers { padding-top:0; }
.offer-panel { border-radius:22px; padding:55px; background:linear-gradient(120deg, #a48643, #55431e); display:flex; justify-content:space-between; align-items:center; gap:25px; }
.offer-panel .eyebrow { color:#fff; opacity:.85; }
.offer-panel h2 { max-width:620px; }
.offer-panel p:not(.eyebrow) { max-width:600px; margin-bottom:0; color:#f4eee3; }
.location-section { display:grid; grid-template-columns:1.1fr .9fr; gap:50px; align-items:center; }
.location-section > div:first-child > p:not(.eyebrow) { color:var(--muted); margin:25px 0; }
.contact-actions { display:flex; gap:10px; flex-wrap:wrap; }
.map-card { min-height:310px; border:1px solid var(--line); border-radius:20px; background:radial-gradient(circle at 50% 35%, rgba(164,134,67,.22), transparent 30%), #141414; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; text-align:center; }
.map-pin { font-size:36px; color:var(--gold-light); margin-bottom:12px; }
.map-card span { color:var(--muted); }
.map-card a { margin-top:18px; color:var(--gold-light); font-size:13px; font-weight:700; }
.footer { padding:55px 5% 85px; border-top:1px solid var(--line); display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:30px; position:relative; }
.footer-brand img { width:125px; }
.footer-brand p, .footer-contact p { color:var(--muted); font-size:13px; }
.footer-links { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; color:var(--muted); font-size:13px; }
.footer-links a:hover { color:var(--gold-light); }
.copyright { grid-column:1/-1; color:#666; font-size:11px; padding-top:25px; border-top:1px solid var(--line); }
.mobile-book { display:none; }
@media (max-width: 900px) {
  .desktop-nav { display:none; }
  .header-book { margin-left:auto; }
  .menu-btn { display:block; }
  .site-header { padding:0 20px; gap:14px; }
  .hero { min-height:650px; }
  .hero-content { margin-left:5vw; }
  .hero-meta { left:5vw; right:5vw; }
  .movie-grid { grid-template-columns:repeat(2,1fr); }
  .split-section, .location-section { grid-template-columns:1fr; }
  .split-image img { min-height:420px; max-height:520px; }
  .coming-grid { grid-template-columns:1fr; }
  .offer-panel { flex-direction:column; align-items:flex-start; }
  .footer { grid-template-columns:1fr 1fr; }
}
@media (max-width: 620px) {
  body { padding-bottom:62px; }
  .site-header { height:70px; }
  .brand img { width:100px; }
  .header-book { display:none; }
  .hero { min-height:620px; }
  .hero-content { margin-left:20px; width:calc(100% - 40px); }
  .hero h1 { font-size:52px; }
  .hero-copy { font-size:15px; }
  .hero-meta { left:20px; right:20px; bottom:24px; gap:9px 18px; font-size:10px; }
  .quick-book { width:calc(100% - 28px); margin-top:-12px; padding:22px; flex-direction:column; align-items:flex-start; }
  .quick-book h2 { font-size:22px; }
  .section { width:calc(100% - 36px); padding:70px 0; }
  .section-heading { align-items:flex-start; flex-direction:column; }
  .movie-grid { grid-template-columns:1fr; }
  .poster { aspect-ratio: 2/2.3; }
  .split-copy { padding:55px 24px; }
  .offer-panel { padding:35px 25px; }
  .location-section { width:calc(100% - 36px); }
  .footer { padding:45px 20px 95px; grid-template-columns:1fr; }
  .copyright { grid-column:auto; }
  .mobile-book { display:block; position:fixed; left:0; right:0; bottom:0; z-index:100; padding:9px 12px; background:rgba(11,11,11,.96); border-top:1px solid var(--line); }
  .mobile-book a { display:flex; justify-content:center; align-items:center; background:var(--gold); border-radius:999px; padding:11px; font-weight:800; }
}

.movie-loading {
  grid-column: 1 / -1;
  padding: 36px 20px;
  border: 1px dashed rgba(255,255,255,.16);
  border-radius: 18px;
  color: rgba(255,255,255,.72);
  text-align: center;
  background: rgba(255,255,255,.02);
}
/* Admin-managed media, showtimes and offers */
.poster[style*="background-image"] { background-position:center; background-size:cover; background-repeat:no-repeat; }
.poster-photo-overlay { position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.88),rgba(0,0,0,.1) 65%); }
.showtimes { margin:0 0 14px; padding-top:10px; border-top:1px solid var(--line); }
.showtimes > span { display:block; color:#8f8b83; font-size:10px; text-transform:uppercase; letter-spacing:.08em; margin-bottom:8px; }
.time-pills { display:flex; flex-wrap:wrap; gap:6px; }
.time-pill { display:inline-flex; align-items:center; justify-content:center; min-width:48px; padding:6px 8px; border:1px solid rgba(164,134,67,.45); border-radius:999px; color:#eee; font-size:11px; }
.time-pill:hover { background:rgba(164,134,67,.18); color:#fff; }
.offer-grid { display:grid; gap:18px; }
.offer-card { min-height:300px; border-radius:22px; overflow:hidden; position:relative; background:linear-gradient(120deg,#a48643,#55431e); background-position:center; background-size:cover; }
.offer-card .offer-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.84),rgba(0,0,0,.35)); }
.offer-content { position:relative; z-index:1; padding:50px; max-width:700px; }
.offer-badge { display:inline-block; padding:6px 10px; border:1px solid rgba(255,255,255,.35); border-radius:999px; font-size:10px; font-weight:800; letter-spacing:.1em; }
.offer-content h2 { margin:14px 0 10px; font:600 clamp(34px,4vw,54px)/1.05 "Playfair Display",serif; }
.offer-content p { color:#f4eee3; max-width:600px; }
@media(max-width:620px){.offer-content{padding:35px 25px}.offer-card{min-height:280px}}
.movie-card > img { width:100%; aspect-ratio:2/2.65; object-fit:cover; display:block; }
.movie-poster-placeholder { aspect-ratio:2/2.65; display:grid; place-items:center; text-align:center; font:700 26px/1.05 "Playfair Display",serif; background:linear-gradient(145deg,#a48643,#111); color:#fff; }
.movie-book { display:inline-block; margin-top:6px; }
.showtime-list { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:10px; }
.showtime-list a { padding:6px 8px; border:1px solid var(--line); border-radius:7px; font-size:11px; color:var(--gold-light); }
.offer-panel img { width:180px; max-height:150px; object-fit:cover; border-radius:12px; }
.hero-slider { position:absolute; inset:0; z-index:0; }
.hero-slider .hero-photo { position:absolute; inset:0; background-size:cover; background-position:center; }
