/* ===== Rajesh Caterers — shared stylesheet =====
   HOW TO EDIT COLORS: change any value below in :root{} and it updates the WHOLE site.
   --gold      = main accent color (buttons, highlights, borders)
   --ivory     = main text color (currently near-black)
   --ivory-dim = lighter/secondary text color
   --maroon    = main page background (currently white)
   Do not rename these variables — only change the color values after the colon.
*/
:root{
  --maroon: #FFFFFF;
  --maroon-deep: #FAF5EA;
  --gold: #C9932E;
  --gold-light: #A8721F;
  --leaf: #4C7A4A;
  --ivory: #1C1712;
  --ivory-dim: #5C5347;
  --line: rgba(28,23,18,0.14);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.001ms !important; transition-duration:0.001ms !important;}
}
body{
  background:var(--maroon);
  color:var(--ivory);
  font-family:'Mulish', sans-serif;
  font-size:17px;
  font-weight:500;
  line-height:1.65;
  overflow-x:hidden;
}
h1,h2,h3,.display{
  font-family:'Marcellus', serif;
  font-weight:500;
  letter-spacing:0.02em;
}
p{ font-weight:500; }
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.wrap{max-width:1120px; margin:0 auto; padding:0 24px;}
:focus-visible{outline:2px solid var(--gold-light); outline-offset:3px;}

/* ---------- Header ---------- */
header{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,0.92);
  box-shadow:0 1px 0 rgba(28,23,18,0.06);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line);
}
.nav-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:10px 24px; max-width:1120px; margin:0 auto;
}
.brand{
  font-family:'Marcellus', serif;
  font-size:1.35rem;
  color:var(--ivory);
  display:flex; align-items:center; gap:10px;
}
.brand-mark{
  height:72px; width:auto; object-fit:contain; flex-shrink:0;
}
nav ul{list-style:none; display:flex; gap:32px;}
nav a{
  font-size:0.98rem; font-weight:800; letter-spacing:0.04em; text-transform:uppercase;
  color:var(--ivory-dim); transition:color 0.2s;
}
nav a:hover, nav a.active{color:var(--gold-light);}
.nav-cta{
  background:var(--gold); color:var(--ivory); padding:10px 20px;
  border-radius:2px; font-weight:800; font-size:0.85rem; letter-spacing:0.03em;
  text-transform:uppercase; white-space:nowrap; border:none; cursor:pointer; font-family:'Mulish',sans-serif;
}
.nav-cta:hover{background:var(--gold-light);}
.call-dropdown{ position:relative; }
.call-menu{
  display:none; position:absolute; top:calc(100% + 10px); right:0; min-width:260px;
  background:var(--maroon-deep); border:1px solid var(--gold); border-radius:2px;
  padding:8px; flex-direction:column; z-index:60; box-shadow:0 12px 32px rgba(0,0,0,0.4);
}
.call-menu.open{ display:flex; }
.call-menu a{
  display:flex; flex-direction:column; padding:12px 14px; border-radius:2px;
  color:var(--ivory); font-size:0.88rem; font-weight:600;
}
.call-menu a:hover{ background:rgba(201,147,46,0.12); color:var(--gold-light); }
.call-menu a span{ font-size:0.7rem; text-transform:uppercase; letter-spacing:0.06em; color:var(--gold-light); font-weight:700; margin-bottom:2px; }
.call-menu-divider{ height:1px; background:var(--line); margin:4px 6px; }
@media (max-width:820px){ .call-dropdown{ display:none; } }

/* ---------- Forms ---------- */
.form-wrap{ max-width:680px; margin:0 auto; }
.form-group{ margin-bottom:20px; }
.form-group label{ display:block; font-size:0.78rem; text-transform:uppercase; letter-spacing:0.06em; color:var(--gold-light); font-weight:700; margin-bottom:8px; }
.form-group input, .form-group textarea{
  width:100%; background:var(--maroon-deep); border:1px solid var(--line); color:var(--ivory);
  padding:13px 16px; border-radius:2px; font-family:'Mulish',sans-serif; font-size:0.95rem;
}
.form-group input:focus, .form-group textarea:focus{ outline:none; border-color:var(--gold); }
.form-group textarea{ min-height:120px; resize:vertical; }
.form-row-2{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
@media (max-width:600px){ .form-row-2{ grid-template-columns:1fr; } }
.form-submit{ width:100%; border:none; cursor:pointer; font-family:'Mulish',sans-serif; }
.form-note{ text-align:center; font-size:0.82rem; color:var(--ivory-dim); margin-top:16px; }

/* ---------- Reviews ---------- */
.reviews-grid{ max-width:1120px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-bottom:56px; }
.review-card{ border:1px solid var(--line); padding:24px 22px; background:var(--maroon-deep); }
.review-stars{ color:var(--gold); font-size:0.95rem; letter-spacing:2px; margin-bottom:12px; }
.review-text{ color:var(--ivory-dim); font-size:0.9rem; margin-bottom:16px; }
.review-name{ font-family:'Marcellus',serif; color:var(--ivory); font-size:0.92rem; }
.review-role{ font-size:0.76rem; color:var(--gold-light); text-transform:uppercase; letter-spacing:0.05em; margin-top:2px; }
@media (max-width:900px){ .reviews-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .reviews-grid{ grid-template-columns:1fr; } }
.review-form-wrap{ max-width:600px; margin:0 auto; border-top:1px solid var(--line); padding-top:40px; }
.review-form-wrap h3{ text-align:center; font-size:1.2rem; margin-bottom:6px; }
.review-form-wrap .sub{ text-align:center; color:var(--ivory-dim); font-size:0.88rem; margin-bottom:28px; }
.star-select{ display:flex; gap:8px; justify-content:center; margin-bottom:20px; }
.star-select label{ cursor:pointer; font-size:1.6rem; color:var(--line); transition:color 0.15s; }
.star-select input{ display:none; }
.star-select input:checked ~ label,
.star-select label:hover,
.star-select label:hover ~ label{ color:var(--gold); }
.star-select{ flex-direction:row-reverse; justify-content:center; }

/* ---------- WhatsApp floating button ---------- */
.whatsapp-float{
  position:fixed; bottom:24px; right:24px; z-index:80;
  width:56px; height:56px; border-radius:50%; background:#25D366;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 6px 20px rgba(0,0,0,0.25); transition:transform 0.2s;
}
.whatsapp-float:hover{ transform:scale(1.08); }
.whatsapp-float svg{ width:30px; height:30px; }
.menu-toggle{display:none; background:none; border:1px solid var(--line); color:var(--ivory); font-size:1.2rem; padding:6px 12px; border-radius:2px; cursor:pointer;}
.mobile-nav{ display:none; flex-direction:column; padding:8px 24px 20px; border-top:1px solid var(--line);}
.mobile-nav a{ padding:12px 0; border-bottom:1px solid var(--line); font-size:0.95rem; letter-spacing:0.04em; text-transform:uppercase; color:var(--ivory-dim);}
.mobile-nav.open{ display:flex; }

@media (max-width:820px){
  nav ul{display:none;}
  .menu-toggle{display:block;}
  .nav-cta{display:none;}
}

/* ---------- Page header banner (interior pages) ---------- */
.page-banner{
  padding:72px 24px 56px; text-align:center;
  background:radial-gradient(ellipse at 50% 0%, rgba(201,147,46,0.14), transparent 60%), var(--maroon);
  border-bottom:1px solid var(--line);
}
.page-banner .eyebrow{ color:var(--gold-light); font-size:0.78rem; letter-spacing:0.26em; text-transform:uppercase; font-weight:700; margin-bottom:14px;}
.page-banner h1{ font-size:clamp(2rem,4.5vw,2.9rem); color:var(--ivory);}
.page-banner p{ color:var(--ivory-dim); max-width:520px; margin:16px auto 0;}

/* ---------- Buttons ---------- */
.btn{
  padding:14px 28px; border-radius:2px; font-weight:800; font-size:0.85rem;
  letter-spacing:0.04em; text-transform:uppercase; display:inline-block; transition:all 0.2s;
}
.btn-primary{ background:var(--gold); color:var(--ivory); }
.btn-primary:hover{ background:var(--gold-light); transform:translateY(-1px);}
.btn-outline{ border:1px solid var(--ivory-dim); color:var(--ivory); }
.btn-outline:hover{ border-color:var(--gold-light); color:var(--gold-light); }

/* ---------- Sections shared ---------- */
section{ padding:88px 24px; }
.section-head{ text-align:center; max-width:640px; margin:0 auto 48px; }
.section-eyebrow{
  color:var(--gold-light); font-size:0.78rem; letter-spacing:0.24em; text-transform:uppercase; font-weight:700; margin-bottom:14px;
}
.section-head h2{ font-size:clamp(2.1rem,4.4vw,2.9rem); color:var(--ivory); }
.section-head p{ color:var(--ivory-dim); margin-top:16px; font-size:1.05rem; font-weight:600; }
.leaf-divider{ width:56px; height:2px; background:var(--leaf); margin:0 auto 24px; }

/* ---------- Social block (used on home + contact) ---------- */
.social-block{ background:var(--maroon-deep); border-top:1px solid var(--line); border-bottom:1px solid var(--line); text-align:center;}
.social-links{ display:flex; gap:20px; justify-content:center; flex-wrap:wrap; margin-top:28px;}
.social-links a{
  display:flex; align-items:center; gap:10px; border:1px solid var(--gold);
  padding:14px 28px; border-radius:2px; font-weight:700; font-size:0.9rem; letter-spacing:0.03em;
  color:var(--ivory); transition:all 0.2s;
}
.social-links a:hover{ background:var(--gold); color:var(--ivory); }
.social-links .ic{ font-size:1.1rem; }

/* ---------- Video player ---------- */
.video-feature{ max-width:1120px; margin:0 auto 56px; text-align:center; }
.video-feature .section-eyebrow{ margin-bottom:10px; }
.video-feature h2{ font-size:clamp(1.9rem,4vw,2.4rem); color:var(--ivory); margin-bottom:28px; }
.video-player{
  max-width:380px; margin:0 auto; border:1px solid var(--gold); border-radius:4px;
  overflow:hidden; background:#000; box-shadow:0 12px 32px rgba(28,23,18,0.12);
}
.video-player video{ width:100%; height:auto; display:block; }
.gallery-video-item{ grid-column:span 1; }
@media (max-width:520px){ .video-player{ max-width:300px; } }
footer{ padding:40px 24px 32px; text-align:center; border-top:1px solid var(--line); }
footer .display{ color:var(--gold-light); font-size:1.1rem; margin-bottom:10px; }
footer p{ color:var(--ivory-dim); font-size:0.82rem; margin-bottom:4px;}
footer .foot-links{ display:flex; gap:24px; justify-content:center; margin:18px 0; flex-wrap:wrap;}
footer .foot-links a{ font-size:0.8rem; text-transform:uppercase; letter-spacing:0.06em; color:var(--ivory-dim);}
footer .foot-links a:hover{ color:var(--gold-light); }
