/* ===========================================================
   BBQ Beerbash — main stylesheet
   Mobile-first. Black & shining-gold theme.
=========================================================== */

:root{
  --black:#0a0a0a;
  --black-2:#151513;
  --black-3:#1e1e1a;
  --line:#2c2a23;
  --gold:#d4af37;
  --gold-bright:#f5d873;
  --gold-deep:#9c7a24;
  --ivory:#f5f1e6;
  --ivory-dim:#a8a296;
  --green-veg:#4caf50;
  --max-w:1180px;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}

body{
  background:var(--black);
  color:var(--ivory);
  font-family:'Jost', sans-serif;
  font-weight:300;
  line-height:1.65;
}

img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}

h1,h2,h3{
  font-family:'Oswald', sans-serif;
  font-weight:600;
  text-transform:uppercase;
  line-height:1.1;
  color:var(--ivory);
}

.eyebrow{
  font-size:0.76rem;
  letter-spacing:0.3em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:0.8rem;
  font-weight:600;
}

.gold-text{
  background:linear-gradient(120deg, var(--gold-deep) 0%, var(--gold-bright) 30%, var(--gold) 55%, var(--gold-bright) 75%, var(--gold-deep) 100%);
  background-size:220% auto;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  animation:shine 5s linear infinite;
}
@keyframes shine{
  0%{background-position:0% 50%;}
  100%{background-position:220% 50%;}
}

.section{padding:clamp(3rem, 8vw, 5.5rem) 0;}
.section-inner, .header-inner, .footer-inner{
  max-width:var(--max-w);
  margin:0 auto;
  padding:0 1.25rem;
}
.section-alt{background:var(--black-2);}

.section-head{margin-bottom:2.2rem; text-align:center;}
.section-head h2{font-size:clamp(1.8rem, 5vw, 2.6rem);}

.empty-note{
  color:var(--ivory-dim);
  text-align:center;
  padding:2rem;
  border:1px dashed var(--gold-deep);
  border-radius:12px;
  grid-column:1/-1;
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-block;
  padding:0.85rem 1.8rem;
  border-radius:4px;
  font-weight:600;
  font-size:0.82rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  cursor:pointer;
  border:1px solid transparent;
  transition:transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
  font-family:'Oswald', sans-serif;
}
.btn-primary{
  background:linear-gradient(135deg, var(--gold-bright), var(--gold) 60%, var(--gold-deep));
  color:#151513;
  box-shadow:0 8px 20px rgba(212,175,55,0.25);
}
.btn-primary:hover{transform:translateY(-2px); box-shadow:0 12px 26px rgba(212,175,55,0.4);}
.btn-outline{
  background:transparent;
  border-color:var(--gold-deep);
  color:var(--ivory);
}
.btn-outline:hover{border-color:var(--gold); color:var(--gold-bright);}
.btn-outline-light{border-color:rgba(245,241,230,0.5); color:#fff;}
.btn-outline-light:hover{border-color:var(--gold); color:var(--gold-bright);}
.btn-sm{padding:0.55rem 1.2rem; font-size:0.72rem;}

/* ---------- Header ---------- */
.site-header{
  position:sticky; top:0; z-index:100;
  background:rgba(10,10,10,0.96);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--gold-deep);
}
.header-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding-top:0.8rem; padding-bottom:0.8rem;
  gap:1rem;
}

.logo-badge{display:flex; align-items:center;}
.logo-badge-main{
  font-family:'Oswald', sans-serif;
  font-size:1.25rem;
  letter-spacing:0.02em;
  text-transform:uppercase;
  font-weight:700;
  color:var(--ivory);
}
.logo-badge-main em{
  font-style:normal;
  background:linear-gradient(120deg, var(--gold-deep), var(--gold-bright), var(--gold));
  background-size:200% auto;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  animation:shine 5s linear infinite;
}
.footer-logo{margin-bottom:0.8rem;}

.hamburger{
  display:flex; flex-direction:column; justify-content:center; gap:5px;
  width:34px; height:34px;
  background:none; border:none; cursor:pointer;
  z-index:110;
}
.hamburger span{
  display:block; height:2px; width:100%;
  background:var(--gold);
  transition:transform 0.25s ease, opacity 0.25s ease;
}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.main-nav{
  position:fixed;
  top:0; right:-100%;
  width:min(82vw, 320px);
  height:100vh;
  overflow-y:auto;
  background:var(--black-2);
  border-left:1px solid var(--gold-deep);
  display:flex; flex-direction:column;
  gap:0.2rem;
  padding:5.5rem 1.4rem 2rem;
  transition:right 0.3s ease;
  z-index:105;
}
.main-nav.open{right:0;}
.main-nav > a{
  padding:0.85rem 0.3rem;
  font-size:0.9rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.03em;
  border-bottom:1px solid var(--line);
  color:var(--ivory-dim);
  font-family:'Oswald', sans-serif;
}
.main-nav > a.active, .main-nav > a:hover{color:var(--gold-bright);}

.nav-item{border-bottom:1px solid var(--line);}
.nav-toggle{
  width:100%;
  display:flex; align-items:center; justify-content:space-between;
  background:none; border:none; cursor:pointer;
  padding:0.85rem 0.3rem;
  font-family:'Oswald', sans-serif;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.03em;
  font-size:0.9rem;
  color:var(--ivory-dim);
}
.nav-toggle:hover{color:var(--gold-bright);}
.caret{
  width:8px; height:8px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg);
  transition:transform 0.2s ease;
  margin-left:0.5rem;
}
.nav-item.open .caret{transform:rotate(-135deg);}

.dropdown-panel{
  display:none;
  flex-direction:column;
  background:var(--black-3);
  border-radius:8px;
  margin:0.2rem 0 0.6rem;
  overflow:hidden;
}
.nav-item.open .dropdown-panel{display:flex;}
.dropdown-panel a{
  padding:0.7rem 1rem;
  font-size:0.85rem;
  font-weight:500;
  color:var(--ivory-dim);
  border-bottom:1px solid rgba(212,175,55,0.1);
}
.dropdown-panel a:last-child{border-bottom:none;}
.dropdown-panel a:hover{color:var(--gold-bright);}

@media (min-width:960px){
  .hamburger{display:none;}
  .main-nav{
    position:static; height:auto; width:auto; overflow:visible;
    flex-direction:row; align-items:center;
    background:none; border:none; padding:0; gap:1.6rem;
  }
  .main-nav > a{border-bottom:none; padding:0; font-size:0.8rem;}
  .nav-item{border-bottom:none; position:relative;}
  .nav-toggle{padding:0; font-size:0.8rem; width:auto;}

  .dropdown-panel{
    position:absolute;
    top:calc(100% + 14px); left:0;
    min-width:200px;
    margin:0;
    border:1px solid var(--gold-deep);
    border-radius:0 0 10px 10px;
    box-shadow:0 14px 30px rgba(0,0,0,0.5);
  }
  .dropdown-panel a{padding:0.8rem 1.2rem; font-size:0.78rem;}
}

/* ---------- Hero Slider ---------- */
.hero-slider{
  position:relative;
  height:66vh;
  min-height:400px;
  max-height:660px;
  overflow:hidden;
  background:var(--black);
}
.slider-track{display:flex; height:100%; transition:transform 0.5s ease;}
.slide{
  position:relative;
  flex:0 0 100%;
  height:100%;
  background-size:cover;
  background-position:center;
  display:flex; align-items:center; justify-content:center;
}
.slide-fallback{
  background:
    radial-gradient(ellipse 70% 60% at 25% 15%, rgba(212,175,55,0.22), transparent 60%),
    radial-gradient(ellipse 60% 60% at 85% 85%, rgba(156,122,36,0.28), transparent 60%),
    var(--black);
}
.slide-overlay{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(10,10,10,0.35) 0%, rgba(10,10,10,0.8) 100%);
}
.slide-content{position:relative; z-index:2; text-align:center; max-width:680px; padding:0 1.5rem;}
.slide-content h1{font-size:clamp(2.1rem, 8vw, 4.4rem); color:#fff;}
.slide-content .lead{
  color:rgba(245,241,230,0.85);
  font-size:clamp(0.95rem, 2.2vw, 1.15rem);
  margin:1rem auto 1.6rem;
  max-width:46ch;
}
.slide-content .hero-actions{display:flex; gap:0.9rem; justify-content:center; flex-wrap:wrap;}

.slider-arrow{
  position:absolute; top:50%; transform:translateY(-50%);
  width:40px; height:40px; border-radius:50%;
  border:1px solid var(--gold-deep); cursor:pointer;
  background:rgba(10,10,10,0.6);
  color:var(--gold);
  font-size:1.4rem; line-height:1;
  z-index:3;
  display:flex; align-items:center; justify-content:center;
  transition:background 0.2s ease;
}
.slider-arrow:hover{background:var(--gold); color:#151513;}
.slider-arrow.prev{left:0.8rem;}
.slider-arrow.next{right:0.8rem;}

.slider-dots{position:absolute; bottom:1rem; left:50%; transform:translateX(-50%); display:flex; gap:0.5rem; z-index:3;}
.slider-dots .dot{
  width:9px; height:9px; border-radius:50%;
  background:rgba(245,241,230,0.35);
  border:none; cursor:pointer; padding:0;
  transition:background 0.2s ease, transform 0.2s ease;
}
.slider-dots .dot.active{background:var(--gold); transform:scale(1.2);}

@media (min-width:700px){ .hero-slider{height:76vh;} }

/* ---------- Two-section showcase ---------- */
.sections-showcase{padding:clamp(3rem, 8vw, 5.5rem) 0;}
.showcase-grid{display:grid; gap:1.5rem;}
@media (min-width:800px){ .showcase-grid{grid-template-columns:1fr 1fr;} }

.showcase-card{
  position:relative;
  border-radius:18px;
  overflow:hidden;
  min-height:340px;
  display:flex; align-items:flex-end;
  border:1px solid var(--gold-deep);
  background:linear-gradient(160deg, var(--black-3), var(--black-2));
}
.showcase-card-bg{position:absolute; inset:0; background-size:cover; background-position:center; opacity:0.55;}
.showcase-card-overlay{position:absolute; inset:0; background:linear-gradient(180deg, transparent 20%, rgba(10,10,10,0.92) 100%);}
.showcase-card-content{position:relative; z-index:2; padding:1.8rem;}
.showcase-card-content .eyebrow{margin-bottom:0.4rem;}
.showcase-card-content h3{font-size:1.8rem; margin-bottom:0.6rem;}
.showcase-card-content p{color:var(--ivory-dim); font-size:0.9rem; margin-bottom:1.1rem; max-width:42ch;}

/* ---------- USP strip ---------- */
.usp-strip{background:var(--black-2); border-bottom:1px solid var(--line); padding:2rem 1.25rem;}
.usp-grid{display:grid; grid-template-columns:repeat(2, 1fr); gap:1.2rem;}
.usp-item{display:flex; flex-direction:column; align-items:center; text-align:center; gap:0.3rem;}
.usp-icon{font-size:1.8rem;}
.usp-title{font-weight:700; font-size:0.85rem; text-transform:uppercase; letter-spacing:0.03em; font-family:'Oswald', sans-serif;}
.usp-text{font-size:0.78rem; color:var(--ivory-dim);}
@media (min-width:700px){ .usp-grid{grid-template-columns:repeat(4, 1fr);} }

/* ---------- Order strip ---------- */
.order-strip{background:var(--black-3); padding:1.4rem 1.25rem; border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.order-strip-inner{max-width:var(--max-w); margin:0 auto; display:flex; gap:0.9rem; justify-content:center; flex-wrap:wrap;}
.order-pill{
  padding:0.6rem 1.3rem; border:1px solid var(--gold-deep); border-radius:50px;
  font-size:0.8rem; font-weight:600; color:var(--ivory-dim);
  transition:all 0.2s ease;
}
.order-pill:hover{border-color:var(--gold); color:var(--gold-bright); background:rgba(212,175,55,0.06);}

/* ---------- Story ---------- */
.story-grid{display:grid; gap:2.5rem;}
.story-text h2{font-size:clamp(1.8rem, 5vw, 2.4rem); margin-bottom:1rem;}
.story-text p{color:var(--ivory-dim); margin-bottom:1rem;}
.story-stats{display:grid; grid-template-columns:repeat(3, 1fr); gap:1rem;}
.stat{background:var(--black-2); border:1px solid var(--gold-deep); border-radius:14px; padding:1.4rem 0.8rem; text-align:center;}
.stat .num{display:block; font-family:'Oswald', sans-serif; font-size:1.8rem; font-weight:700; color:var(--gold-bright);}
.stat .lbl{display:block; font-size:0.68rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--ivory-dim); margin-top:0.3rem;}
@media (min-width:800px){ .story-grid{grid-template-columns:1.2fr 1fr; align-items:center;} }

/* ---------- Dish grid ---------- */
.dish-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)); gap:1.4rem; margin-bottom:2.4rem;}
.dish-card{
  background:var(--black-2); border:1px solid var(--line); border-radius:14px;
  overflow:hidden; transition:transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.dish-card:hover{transform:translateY(-4px); box-shadow:0 14px 30px rgba(0,0,0,0.5); border-color:var(--gold-deep);}
.dish-img{position:relative; aspect-ratio:4/3; background:var(--black-3);}
.dish-img img{width:100%; height:100%; object-fit:cover;}
.dish-img-placeholder{width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-size:2.4rem; opacity:0.3;}
.tag{position:absolute; top:0.7rem; left:0.7rem; font-size:0.63rem; letter-spacing:0.05em; text-transform:uppercase; padding:0.25rem 0.6rem; border-radius:20px; font-weight:700;}
.tag-veg{background:var(--green-veg); color:#fff;}
.tag-nonveg{background:#a83232; color:#fff;}
.tag-section{position:absolute; top:0.7rem; right:0.7rem; font-size:0.6rem; letter-spacing:0.04em; text-transform:uppercase; padding:0.22rem 0.55rem; border-radius:20px; font-weight:700; background:rgba(212,175,55,0.15); border:1px solid var(--gold-deep); color:var(--gold-bright);}

.dish-info{padding:1.1rem 1.2rem 1.3rem;}
.dish-cat{font-size:0.66rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold);}
.dish-info h3{font-size:1.1rem; margin:0.35rem 0 0.5rem; text-transform:none; font-family:'Jost', sans-serif; font-weight:600;}
.dish-info p{color:var(--ivory-dim); font-size:0.86rem; margin-bottom:0.8rem; min-height:2.6em;}
.price{font-family:'Oswald', sans-serif; color:var(--gold-bright); font-size:1.05rem; font-weight:600;}

.section-cta{text-align:center; margin-top:1rem;}

/* ---------- Outlets ---------- */
.outlet-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:1.4rem; margin-bottom:2.4rem;}
.outlet-card{background:var(--black-2); border:1px solid var(--line); border-radius:14px; padding:1.4rem;}
.outlet-img{border-radius:10px; overflow:hidden; margin-bottom:1rem; aspect-ratio:16/9;}
.outlet-img img{width:100%; height:100%; object-fit:cover;}
.outlet-card h3{font-family:'Jost', sans-serif; font-weight:600; font-size:1.05rem; text-transform:none; margin-bottom:0.3rem;}
.outlet-type{display:inline-block; font-size:0.65rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--gold-bright); font-weight:700; border:1px solid var(--gold-deep); border-radius:20px; padding:0.15rem 0.6rem; margin-bottom:0.7rem;}
.outlet-card p{color:var(--ivory-dim); font-size:0.86rem; margin-bottom:0.4rem;}
.outlet-card .timing{font-size:0.8rem;}
.outlet-card .btn{margin-top:0.7rem;}

/* ---------- Gallery ---------- */
.gallery-grid{display:grid; grid-template-columns:repeat(2, 1fr); gap:0.7rem;}
.gallery-item{position:relative; aspect-ratio:1/1; border-radius:10px; overflow:hidden; border:1px solid var(--line);}
.gallery-item img{width:100%; height:100%; object-fit:cover; transition:transform 0.3s ease;}
.gallery-item:hover img{transform:scale(1.07);}
.gallery-caption{position:absolute; left:0; right:0; bottom:0; padding:0.5rem 0.7rem; font-size:0.72rem; background:linear-gradient(0deg, rgba(0,0,0,0.85), transparent); color:var(--ivory);}
@media (min-width:600px){ .gallery-grid{grid-template-columns:repeat(4, 1fr);} }

/* ---------- Testimonials ---------- */
.testimonial-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:1.4rem;}
.testimonial-card{background:var(--black-2); border:1px solid var(--line); border-radius:14px; padding:1.6rem;}
.testimonial-card .stars{color:var(--gold); letter-spacing:0.2em; margin-bottom:0.8rem; font-size:1rem;}
.testimonial-card p{color:var(--ivory-dim); font-size:0.9rem; margin-bottom:1rem; font-style:italic;}
.testimonial-name{font-weight:700; font-size:0.82rem; text-transform:uppercase; letter-spacing:0.03em; color:var(--gold-bright); font-family:'Oswald', sans-serif;}
.testimonial-role{display:block; font-size:0.76rem; color:var(--ivory-dim); margin-top:0.2rem;}

/* ---------- Blog ---------- */
.blog-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:1.6rem;}
.blog-card{background:var(--black-2); border:1px solid var(--line); border-radius:14px; overflow:hidden; transition:transform 0.2s ease, border-color 0.2s ease;}
.blog-card:hover{transform:translateY(-4px); border-color:var(--gold-deep);}
.blog-img{aspect-ratio:16/10; background:var(--black-3);}
.blog-img img{width:100%; height:100%; object-fit:cover;}
.blog-body{padding:1.2rem 1.3rem 1.4rem;}
.blog-date{font-size:0.7rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--gold);}
.blog-body h3{font-size:1.1rem; text-transform:none; font-family:'Jost',sans-serif; font-weight:600; margin:0.5rem 0 0.6rem;}
.blog-body p{color:var(--ivory-dim); font-size:0.86rem; margin-bottom:0.9rem;}
.blog-single-cover{border-radius:14px; overflow:hidden; margin-bottom:2rem; border:1px solid var(--line);}
.blog-content{max-width:760px; margin:0 auto; color:var(--ivory-dim); font-size:1rem;}
.blog-content p{margin-bottom:1.2rem;}
.blog-content h2, .blog-content h3{color:var(--ivory); margin:1.6rem 0 0.8rem; text-transform:none;}

/* ---------- CTA banner ---------- */
.cta-banner{
  background:linear-gradient(135deg, var(--black-3), var(--black));
  border-top:1px solid var(--gold-deep);
  border-bottom:1px solid var(--gold-deep);
  text-align:center; padding:clamp(3rem, 7vw, 4.5rem) 1.25rem;
}
.cta-banner h2{font-size:clamp(1.8rem, 5vw, 2.6rem); margin-bottom:0.6rem;}
.cta-banner p{color:var(--ivory-dim); margin-bottom:1.6rem;}

/* ---------- Page hero (inner pages) ---------- */
.page-hero{
  padding:clamp(3.5rem, 9vw, 5.5rem) 1.25rem 2.5rem;
  text-align:center;
  background:radial-gradient(ellipse 70% 60% at 50% 0%, rgba(212,175,55,0.14), transparent 60%);
}
.page-hero h1{font-size:clamp(2.2rem, 8vw, 3.8rem);}
.page-hero .lead{color:var(--ivory-dim); margin-top:0.8rem; max-width:56ch; margin-left:auto; margin-right:auto;}

/* ---------- Menu filters ---------- */
.menu-filters{display:flex; flex-wrap:wrap; gap:0.6rem; margin-bottom:2rem; justify-content:center;}
.filter-btn{
  background:var(--black-2); border:1px solid var(--line); color:var(--ivory-dim);
  padding:0.5rem 1.1rem; border-radius:50px; font-family:'Jost', sans-serif; font-weight:500;
  font-size:0.8rem; cursor:pointer; transition:all 0.2s ease;
}
.filter-btn.active, .filter-btn:hover{border-color:var(--gold); color:var(--gold-bright); background:rgba(212,175,55,0.08);}
.filter-divider{width:1px; background:var(--line); margin:0 0.4rem;}

/* ---------- Forms ---------- */
.contact-grid{display:grid; gap:2rem;}
.contact-info h3{font-family:'Jost', sans-serif; font-weight:600; text-transform:none; margin-bottom:1rem; font-size:1.15rem;}
.contact-info p{margin-bottom:0.7rem; color:var(--ivory-dim);}
.contact-info a:hover{color:var(--gold-bright);}

.contact-form-wrap form{
  display:flex; flex-direction:column; gap:0.9rem;
  background:var(--black-2); border:1px solid var(--line); border-radius:16px; padding:1.6rem;
}
.contact-form-wrap input, .contact-form-wrap textarea, .contact-form-wrap select{
  background:var(--black-3); border:1px solid var(--line); border-radius:8px;
  padding:0.8rem 1rem; color:var(--ivory); font-family:'Jost', sans-serif; font-size:0.9rem;
  resize:vertical; width:100%;
}
.contact-form-wrap select{
  appearance:none; -webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%23a8a296' stroke-width='2' fill='none' fill-rule='evenodd'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 1rem center; padding-right:2.4rem;
}
.contact-form-wrap select:invalid{color:var(--ivory-dim);}
.form-row-2col{display:grid; grid-template-columns:1fr; gap:0.9rem;}
@media (min-width:480px){ .form-row-2col{grid-template-columns:1fr 1fr;} }
.contact-form-wrap input:focus, .contact-form-wrap textarea:focus, .contact-form-wrap select:focus{outline:none; border-color:var(--gold);}
.form-success{background:rgba(76,175,80,0.1); border:1px solid rgba(76,175,80,0.4); color:#8fd47a; padding:1.2rem; border-radius:12px;}
.form-error{background:rgba(212,175,55,0.08); border:1px solid var(--gold-deep); color:var(--gold-bright); padding:1rem 1.2rem; border-radius:12px; margin-bottom:1rem; font-size:0.86rem;}
@media (min-width:800px){ .contact-grid{grid-template-columns:1fr 1.4fr;} }

/* ---------- Legal / static pages ---------- */
.legal-content{max-width:760px; margin:0 auto; color:var(--ivory-dim);}
.legal-content p{margin-bottom:1.2rem; white-space:pre-line;}
.legal-content h1{margin-bottom:0.5rem;}
.legal-updated{font-size:0.8rem; color:var(--ivory-dim); margin-bottom:2rem; display:block;}

/* ---------- Footer ---------- */
.site-footer{background:var(--black-2); border-top:1px solid var(--gold-deep); padding-top:3rem;}
.footer-inner{display:grid; gap:2rem; grid-template-columns:1fr; padding-bottom:2rem;}
.footer-col p{color:var(--ivory-dim); font-size:0.86rem; margin-top:0.7rem;}
.footer-col h4{font-family:'Oswald', sans-serif; font-weight:600; text-transform:uppercase; font-size:0.76rem; letter-spacing:0.1em; color:var(--gold); margin-bottom:0.8rem;}
.footer-col a{display:block; color:var(--ivory-dim); font-size:0.88rem; margin-bottom:0.55rem;}
.footer-col a:hover{color:var(--gold-bright);}
.footer-legal{
  display:flex; gap:1.5rem; flex-wrap:wrap; justify-content:center;
  padding:1.2rem; border-top:1px solid var(--line);
  font-size:0.78rem;
}
.footer-legal a{color:var(--ivory-dim);}
.footer-legal a:hover{color:var(--gold-bright);}
.footer-bottom{text-align:center; font-size:0.76rem; color:rgba(168,162,150,0.5); border-top:1px solid var(--line); padding:1.2rem;}

@media (min-width:700px){ .footer-inner{grid-template-columns:1.4fr 1fr 1fr 1fr;} }

@media (prefers-reduced-motion: reduce){
  *{transition:none !important; animation:none !important;}
}
