:root{
  --bg:#0a0a0a;
  --bg-2:#141414;
  --fg:#f0f0f0;
  --muted:#b0b0b0;
  --line:rgba(255,255,255,0.08);
  --gold:#d4af37;
  --gold-soft:#ffcc33;
}

/* ====== Base ====== */
body{
  font-family:-apple-system,BlinkMacSystemFont,"Noto Sans TC","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  margin:0;
  background:radial-gradient(circle at top,#1a1a1a 0%,#000 80%);
  color:var(--fg);
  line-height:1.6;
  min-height:100vh;
}

/* ====== Header ====== */
header{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg,#1b1b1b 0%,#0c0c0c 100%);
  box-shadow:0 2px 15px rgba(212,175,55,0.08);
  border-bottom:1px solid var(--line);
  padding:18px 10px 14px;
}

header .brand{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  flex-wrap:nowrap;
}

header .brand img{
  height:62px;width:62px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,0.85);
  object-fit:cover;
  background:#000;
  box-shadow:0 0 10px rgba(212,175,55,0.25);
}

header .brand h1{
  margin:0;
  font-size:1.2rem;
  color:var(--fg);
  font-weight:600;
  letter-spacing:0.3px;
  text-shadow:0 0 4px rgba(212,175,55,0.25);
}

/* Golden shimmer effect */
header .brand h1 em{
  background:linear-gradient(90deg,var(--gold),#fffbe6,var(--gold));
  background-size:200%;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  animation:shine 6s linear infinite;
  font-style:normal;
}
@keyframes shine{0%{background-position:200%}100%{background-position:-200%}}

header nav{
  margin-top:10px;
}
header nav a{
  color:#c9c9c9;
  text-decoration:none;
  margin:0 10px;
  font-weight:500;
}
header nav a:hover{color:var(--gold-soft);}

/* ====== Layout ====== */
main{
  padding:20px;
  max-width:900px;
  margin:0 auto;
}
footer{
  padding:20px;
  border-top:1px solid var(--line);
  color:#888;
  text-align:center;
}

/* ====== Hero ====== */
.hero{
  padding:24px;
  border-radius:14px;
  background:linear-gradient(180deg,#151515 0%,#0c0c0c 90%);
  border:1px solid rgba(255,255,255,0.1);
  box-shadow:0 8px 24px rgba(0,0,0,0.4);
  position:relative;
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;bottom:0;
  background:radial-gradient(circle at 50% -30%,rgba(212,175,55,0.15),transparent 60%);
  z-index:0;
}
.hero *{position:relative;z-index:1}

/* ====== Grid Cards ====== */
.grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:18px;
  margin-top:18px;
}
.card{
  background:#111;
  border:1px solid rgba(255,255,255,0.1);
  border-radius:14px;
  padding:16px;
  transition:transform .25s,box-shadow .25s,border-color .25s;
  box-shadow:0 3px 10px rgba(0,0,0,0.3);
}
.card:hover{
  transform:translateY(-4px);
  border-color:rgba(212,175,55,0.3);
  box-shadow:0 8px 24px rgba(212,175,55,0.2);
}
.card h3{margin:0 0 8px;color:#fff;font-size:1.1rem}
.card p{color:#ddd;margin:0}

/* ====== Language links ====== */
.lang{margin-bottom:12px;}
.lang a{
  color:#aaa;
  margin-right:10px;
}
.lang a:hover{color:var(--gold);}

/* ====== Buttons ====== */
.btn{
  display:inline-block;
  padding:10px 16px;
  border:1px solid var(--gold);
  border-radius:8px;
  background:transparent;
  color:var(--gold);
  font-weight:600;
  cursor:pointer;
  transition:all .2s;
}
.btn:hover{
  background:var(--gold);
  color:#000;
  box-shadow:0 0 10px rgba(212,175,55,0.6);
}
/* --- Gold Theme for Links & WhatsApp Buttons --- */

/* 一般超連結統一金色 */
a {
  color: #d4af37;
  text-decoration: none;
  font-weight: 600;
}
a:hover {
  color: #ffcc33;
  text-shadow: 0 0 6px rgba(255, 204, 51, 0.6);
}

/* WhatsApp 按鈕風格 */
.link-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 10px;
  margin-top: 10px;
  justify-items: center;
}

.link-grid.single {
  grid-template-columns: 1fr;
}

.chip {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 14px;
  border: 1px solid #d4af37;
  border-radius: 10px;
  background: rgba(255, 215, 0, 0.08);
  color: #d4af37;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.05);
}

.chip:hover {
  background: rgba(255, 204, 51, 0.18);
  border-color: #ffcc33;
  transform: translateY(-2px);
  box-shadow: 0 0 12px rgba(255, 204, 51, 0.3);
}

.chip.outline {
  border-color: rgba(255, 255, 255, 0.4);
  color: #fff;
}

.dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #19c37d;
  box-shadow: 0 0 8px rgba(25, 195, 125, 0.7);
}

/* ====== Responsive ====== */
@media(min-width:640px){
  header .brand h1{font-size:1.3rem;}
}

a:visited { color: var(--gold); }
a:focus-visible { outline: 2px solid var(--gold-soft); outline-offset: 2px; }

/* Banner */
.banner { display:flex; gap:16px; align-items:center; overflow:hidden; }
.banner img{
  width:100%; max-height:220px; object-fit:cover; border-radius:10px;
  border:1px solid rgba(255,255,255,0.08);
}
.banner-txt { position:absolute; inset:auto 16px 16px 16px; }
@media(min-width:720px){
  .banner { position:relative; }
  .banner img{ width:100%; }
  .banner .banner-txt{
    position:absolute; left:20px; bottom:16px; right:20px;
    text-shadow:0 2px 8px rgba(0,0,0,.7);
  }
}

/* Lists */
.news-list, .screening-list { list-style:none; padding:0; margin:8px 0 0; }
.news-list li { margin:6px 0; }
.news-list a { color: var(--fg); }
.news-list a:hover { color: var(--gold-soft); }

/* Screening rows */
.screening-list li{
  display:flex; align-items:center; justify-content:space-between;
  gap:10px; padding:10px 0; border-bottom:1px solid var(--line);
}
.screening-list li:last-child{ border-bottom:0; }
.ticket-btn{ white-space:nowrap; }

/* === Pure Image Banner (auto center, no text) === */
.banner {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 16px;
  box-shadow: 0 4px 25px rgba(0,0,0,0.45);
  margin-bottom: 24px;
  background: #000;
}

.banner img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;       /* 電腦鋪滿 */
  object-position: center center;
  aspect-ratio: 21 / 9;
  max-height: 480px;
}

/* 淡化遮罩 */
.banner::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.08) 0%, rgba(0,0,0,0.4) 90%);
  z-index: 1;
}

/* 手機用原比例，唔切圖 */
@media (max-width: 768px) {
  .banner img {
    object-fit: contain;
    aspect-ratio: auto;
    max-height: 300px;
  }
}
