
/* =========================
   Jamaican Theme Overrides
   ========================= */
:root{
  --bg: #070a08;
  --panel: rgba(255,255,255,0.06);
  --panel-2: rgba(255,255,255,0.09);
  --line: rgba(255,255,255,0.11);
  --text: rgba(255,255,255,0.92);
  --muted: rgba(255,255,255,0.72);
  --muted2: rgba(255,255,255,0.56);

  --jamaica-green: #009b3a;
  --jamaica-gold:  #fcd116;
  --pepper-red:    #e63946;

  --accent:  var(--jamaica-gold);
  --accent2: var(--jamaica-green);
  --accent3: var(--pepper-red);

  --radius: 18px;
  --shadow: 0 18px 60px rgba(0,0,0,0.55);
  --max: 1120px;
}

body{
  background:
    radial-gradient(1100px 620px at 18% 8%, rgba(0,155,58,0.24), transparent 58%),
    radial-gradient(900px 540px at 82% 12%, rgba(252,209,22,0.22), transparent 55%),
    radial-gradient(1000px 680px at 60% 90%, rgba(230,57,70,0.10), transparent 60%),
    repeating-linear-gradient(135deg,
      rgba(252,209,22,0.035) 0 18px,
      rgba(0,155,58,0.030) 18px 36px,
      rgba(0,0,0,0) 36px 54px),
    var(--bg);
}

.btn-primary{
  background: linear-gradient(135deg, var(--jamaica-gold), var(--jamaica-green));
  color: #0f120f;
  border-color: rgba(255,255,255,0.18);
  box-shadow: 0 14px 40px rgba(0,155,58,0.18);
}

.badge{
  background: rgba(252,209,22,0.18);
  border: 1px solid rgba(252,209,22,0.30);
}

.badge-soft{
  background: rgba(0,155,58,0.14);
  border-color: rgba(0,155,58,0.25);
}

.brand-mark{
  background: linear-gradient(135deg, rgba(252,209,22,0.22), rgba(0,155,58,0.22));
  border: 1px solid var(--line);
}

/* Popular patties row inside hero */
.popular-inline{
  margin: 12px 12px 14px;
  padding: 12px 12px;
  border-radius: 16px;
  border: 1px solid var(--line);
  background: rgba(0,0,0,0.18);
}
.popular-inline-title{
  font-weight: 900;
  margin-bottom: 8px;
  letter-spacing: 0.2px;
}
.popular-inline-items{
  display:flex;
  gap: 8px;
  flex-wrap: wrap;
}



:root{
  --bg: #0b0c10;
  --panel: rgba(255,255,255,0.06);
  --panel-2: rgba(255,255,255,0.085);
  --line: rgba(255,255,255,0.10);
  --text: rgba(255,255,255,0.92);
  --muted: rgba(255,255,255,0.70);
  --muted2: rgba(255,255,255,0.55);

  --accent: #ffb703;
  --accent2: #fb5607;
  --ok: #7ae582;

  --radius: 18px;
  --shadow: 0 18px 60px rgba(0,0,0,0.55);
  --max: 1120px;
}

*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{
  font-family: "Manrope", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background: radial-gradient(1200px 700px at 70% 10%, rgba(251,86,7,0.18), transparent 60%),
              radial-gradient(900px 600px at 20% 20%, rgba(255,183,3,0.16), transparent 55%),
              var(--bg);
  color: var(--text);
}

a{ color:inherit; text-decoration:none; }
.container{ width:min(var(--max), calc(100% - 40px)); margin:0 auto; }

.header{
  position: sticky;
  top: 0;
  z-index: 50;
  backdrop-filter: blur(14px);
  background: rgba(11,12,16,0.65);
  border-bottom: 1px solid var(--line);
  display:flex;
  justify-content: space-between;
  align-items:center;
  padding: 14px 20px;
}

.brand{
  display:flex;
  align-items:center;
  gap: 12px;
}
.brand-mark{
  width: 40px;
  height: 40px;
  display:grid;
  place-items:center;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(255,183,3,0.22), rgba(251,86,7,0.22));
  border: 1px solid var(--line);
}
.brand-text{ display:flex; flex-direction:column; line-height:1.1; }
.brand-name{ font-weight: 800; letter-spacing: 0.2px; }
.brand-sub{ font-size: 12px; color: var(--muted); margin-top: 2px; }

.nav{ display:flex; align-items:center; gap: 14px; }
.nav-links{
  display:flex;
  align-items:center;
  gap: 16px;
}
.nav-links a{
  color: var(--muted);
  font-weight: 600;
  font-size: 14px;
  padding: 8px 10px;
  border-radius: 12px;
}
.nav-links a:hover{
  color: var(--text);
  background: rgba(255,255,255,0.06);
}

.nav-toggle{
  display:none;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,0.04);
  cursor:pointer;
}
.nav-toggle span{
  display:block;
  height:2px;
  width: 18px;
  margin: 5px auto;
  background: rgba(255,255,255,0.8);
  border-radius: 2px;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 14px;
  font-weight: 800;
  letter-spacing: 0.2px;
  border: 1px solid transparent;
  transition: transform .15s ease, background .15s ease, border-color .15s ease;
  user-select:none;
}
.btn:hover{ transform: translateY(-1px); }
.btn:active{ transform: translateY(0px); }

.btn-primary{
  background: linear-gradient(135deg, rgba(255,183,3,0.95), rgba(251,86,7,0.92));
  color: rgba(15,15,20,0.95);
  border-color: rgba(255,255,255,0.18);
  box-shadow: 0 14px 40px rgba(251,86,7,0.20);
}
.btn-ghost{
  background: rgba(255,255,255,0.05);
  border-color: var(--line);
  color: var(--text);
}
.w-full{ width: 100%; }

.hero{
  position: relative;
  padding: 44px 0 26px;
}
.hero-inner{
  width:min(var(--max), calc(100% - 40px));
  margin: 0 auto;
  display:grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 22px;
  align-items: start;
}
.hero-copy{
  padding: 10px 2px 2px;
}
.pill{
  display:inline-flex;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.05);
  border: 1px solid var(--line);
  color: var(--muted);
  font-weight: 700;
  font-size: 13px;
}
.hero h1{
  margin: 14px 0 10px;
  font-size: clamp(34px, 4vw, 52px);
  line-height: 1.03;
  letter-spacing: -0.7px;
}
.subhead{
  margin: 0 0 18px;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.6;
  max-width: 56ch;
}
.hero-cta{ display:flex; gap: 12px; flex-wrap: wrap; }
.hero-stats{
  margin-top: 18px;
  display:flex;
  gap: 12px;
  flex-wrap: wrap;
}
.stat{
  background: rgba(255,255,255,0.05);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 12px 14px;
  min-width: 160px;
}
.stat-kpi{
  font-weight: 900;
  font-size: 18px;
}
.stat-label{ color: var(--muted2); font-size: 13px; margin-top: 2px; }

.hero-card{
  border-radius: var(--radius);
  border: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.04));
  box-shadow: var(--shadow);
  overflow:hidden;
}
.hero-card-top{
  padding: 18px 18px 8px;
}
.hero-card-top h2{
  margin: 0 0 6px;
  font-size: 18px;
}
.muted{ color: var(--muted); }
.micro{ font-size: 12px; line-height: 1.6; }

.feature-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 10px;
  padding: 0 12px 12px;
}
.feature{
  border-radius: 16px;
  border: 1px solid var(--line);
  background: rgba(0,0,0,0.18);
  padding: 14px 14px;
}
.feature h3{ margin: 6px 0 6px; font-size: 16px; }
.feature p{ margin: 0 0 10px; color: var(--muted); line-height: 1.5; font-size: 14px; }
.badge{
  display:inline-flex;
  font-size: 12px;
  font-weight: 900;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255,183,3,0.16);
  border: 1px solid rgba(255,183,3,0.25);
  color: rgba(255,255,255,0.92);
}
.badge-soft{
  background: rgba(122,229,130,0.10);
  border-color: rgba(122,229,130,0.20);
}

.tags{ display:flex; gap: 8px; flex-wrap: wrap; }
.tag{
  font-size: 12px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,0.05);
  border: 1px solid var(--line);
  color: var(--muted);
}

.hero-bg{
  position:absolute;
  inset: 0;
  pointer-events:none;
  background:
    radial-gradient(900px 420px at 20% 0%, rgba(255,183,3,0.10), transparent 50%),
    radial-gradient(900px 480px at 80% 10%, rgba(251,86,7,0.12), transparent 55%);
  opacity: 1;
}

.section{
  padding: 56px 0;
}
.section-head{
  display:flex;
  justify-content: space-between;
  gap: 14px;
  align-items: end;
  margin-bottom: 16px;
}
.section h2{
  margin: 0;
  font-size: 28px;
  letter-spacing: -0.3px;
}
.lead{
  color: var(--muted);
  line-height: 1.7;
  font-size: 16px;
}

.split{
  display:grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 18px;
  align-items: start;
}

.card{
  border-radius: var(--radius);
  border: 1px solid var(--line);
  background: rgba(255,255,255,0.05);
  padding: 18px;
}
.card.subtle{ background: rgba(255,255,255,0.035); }

.info{ margin: 12px 0 14px; display:grid; gap: 10px; }
.info-row{
  display:flex;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  background: rgba(0,0,0,0.18);
  border: 1px solid var(--line);
  border-radius: 14px;
  font-size: 14px;
}

.bullets{ margin-top: 18px; display:grid; gap: 12px; }
.bullet{ display:flex; gap: 12px; align-items:flex-start; }
.dot{
  width: 10px; height: 10px; margin-top: 8px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--accent), var(--accent2));
}
.bullet h3{ margin: 0 0 3px; font-size: 16px; }
.bullet p{ margin: 0; color: var(--muted); line-height: 1.6; }

.menu-controls{
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 14px 0 16px;
}
.chip{
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,0.04);
  color: var(--muted);
  font-weight: 800;
  cursor:pointer;
}
.chip.active{
  background: linear-gradient(135deg, rgba(255,183,3,0.20), rgba(251,86,7,0.20));
  color: var(--text);
  border-color: rgba(255,255,255,0.18);
}

.menu-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.menu-item{
  border-radius: 18px;
  border: 1px solid var(--line);
  background: rgba(0,0,0,0.18);
  padding: 14px 14px;
  transition: transform .15s ease, border-color .15s ease;
}
.menu-item:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,0.18);
}
.menu-item-top{
  display:flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 10px;
}
.menu-item h3{
  margin: 0;
  font-size: 16px;
}
.price{
  font-weight: 900;
  color: rgba(255,255,255,0.92);
}
.menu-item p{
  margin: 8px 0 10px;
  color: var(--muted);
  line-height: 1.55;
  font-size: 14px;
}
.meta{
  display:flex;
  gap: 8px;
  flex-wrap: wrap;
}

.mini-tag{
  font-size: 11px;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(122,229,130,0.12);
  border: 1px solid rgba(122,229,130,0.22);
  color: rgba(255,255,255,0.86);
  margin-left: 6px;
  font-weight: 900;
}

.menu-footer{
  display:flex;
  justify-content: space-between;
  align-items:center;
  gap: 12px;
  margin-top: 16px;
  flex-wrap: wrap;
}

.catering-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}
.catering-tile{
  border-radius: 16px;
  border: 1px solid var(--line);
  background: rgba(0,0,0,0.18);
  padding: 12px;
}
.catering-tile h3{ margin:0 0 6px; font-size: 15px; }
.catering-tile p{ margin:0; color: var(--muted); font-size: 13px; line-height: 1.6; }

.quote{
  border-left: 2px solid rgba(255,183,3,0.55);
  padding: 10px 14px;
  margin-bottom: 12px;
  color: rgba(255,255,255,0.90);
}
.quote p{ margin:0 0 8px; line-height:1.7; }

.checklist{
  margin: 10px 0 0;
  padding-left: 18px;
  color: var(--muted);
  line-height: 1.9;
  font-size: 14px;
}

.visit-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}
.visit-card{
  border-radius: 16px;
  border: 1px solid var(--line);
  background: rgba(0,0,0,0.18);
  padding: 12px;
}
.visit-card h3{ margin:0 0 6px; font-size: 15px; }
.visit-cta{ display:flex; gap: 12px; margin-top: 14px; flex-wrap: wrap; }

.map h3{ margin-top: 0; }
.map-placeholder{
  height: 260px;
  border-radius: 16px;
  border: 1px dashed rgba(255,255,255,0.22);
  display:grid;
  place-items:center;
  color: var(--muted2);
  background: rgba(255,255,255,0.02);
  margin-top: 12px;
}

.footer{
  border-top: 1px solid var(--line);
  padding: 22px 0;
  background: rgba(0,0,0,0.25);
}
.footer-inner{
  display:flex;
  justify-content: space-between;
  align-items:center;
  gap: 14px;
  flex-wrap: wrap;
}
.brand-mini{
  display:flex;
  align-items:center;
  gap: 10px;
}
.footer-right{
  display:flex;
  gap: 14px;
  color: var(--muted);
  font-weight: 700;
  font-size: 14px;
}

.footer-right a:hover{ color: var(--text); }


/* Hero photo strip */
.hero-photo-strip{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding: 14px 18px 0;
}
.hero-photo-strip img{
  width: 100%;
  height: 86px;
  object-fit: cover;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.02);
}

/* Gallery */
.gallery-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}
.shot{
  margin: 0;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(0,0,0,0.18);
  overflow: hidden;
}
.shot img{
  width: 100%;
  height: 210px;
  object-fit: cover;
  display: block;
}
.shot figcaption{
  padding: 10px 12px;
  font-weight: 900;
  color: rgba(255,255,255,0.86);
  font-size: 13px;
}

.feature.has-thumb{
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 12px;
  align-items: start;
}
.menu-thumb{
  width: 96px;
  height: 96px;
  border-radius: 16px;
  object-fit: cover;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.02);
}
.menu-content{ min-width: 0; }

@media (max-width: 520px){
  .feature.has-thumb{ grid-template-columns: 80px 1fr; }
  .menu-thumb{ width: 80px; height: 80px; }
}



/* Menu thumbnails */
.menu-item.has-thumb{
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 12px;
  align-items: start;
}
.menu-thumb{
  width: 96px;
  height: 96px;
  border-radius: 16px;
  object-fit: cover;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.02);
}
.menu-content{ min-width: 0; }

@media (max-width: 980px){
  .gallery-grid{ grid-template-columns: 1fr; }
  .shot img{ height: 220px; }
}

@media (max-width: 520px){
  .hero-photo-strip{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .menu-item.has-thumb{ grid-template-columns: 80px 1fr; }
  .menu-thumb{ width: 80px; height: 80px; }
}



@media (max-width: 980px){
  .hero-inner{ grid-template-columns: 1fr; }
  .split{ grid-template-columns: 1fr; }
  .menu-grid{ grid-template-columns: 1fr; }
  .visit-grid{ grid-template-columns: 1fr; }
  .catering-grid{ grid-template-columns: 1fr; }
  .section-head{ flex-direction: column; align-items: start; }
}

@media (max-width: 860px){
  .nav-toggle{ display:block; }
  .nav-links{
    position:absolute;
    top: 68px;
    right: 16px;
    left: 16px;
    display:none;
    flex-direction: column;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: rgba(11,12,16,0.92);
    backdrop-filter: blur(12px);
  }
  .nav-links.open{ display:flex; }
  .nav-links a{ width: 100%; }
}



/* Trust strip (conversion + credibility) */
.trust-strip{
  border-bottom: 1px solid rgba(255,255,255,0.08);
  background: rgba(0,0,0,0.18);
}
.trust-inner{
  display:flex;
  gap: 10px;
  align-items:center;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 10px 0;
}
.trust-pill{
  font-size: 12px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.04);
  color: rgba(255,255,255,0.78);
  font-weight: 800;
}
.trust-dot{
  width: 6px; height: 6px;
  border-radius: 999px;
  background: rgba(255,255,255,0.35);
}
.trust-link{
  color: rgba(255,255,255,0.82);
  font-weight: 800;
  font-size: 12px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.03);
}
.trust-link:hover{ background: rgba(255,255,255,0.06); }

/* Hero card bottom area */
.hero-card-bottom{
  padding: 0 18px 18px;
}

/* Sticky mobile conversion bar */
.sticky-bar{
  position: fixed;
  left: 14px;
  right: 14px;
  bottom: 14px;
  z-index: 60;
  display: none;
  gap: 10px;
  padding: 10px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(11,12,16,0.78);
  backdrop-filter: blur(14px);
}
.sticky-btn{
  flex: 1;
  text-align: center;
  padding: 12px 10px;
  border-radius: 14px;
  font-weight: 900;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.05);
}
.sticky-btn.primary{
  background: linear-gradient(135deg, rgba(255,183,3,0.95), rgba(251,86,7,0.92));
  color: rgba(15,15,20,0.95);
  border-color: rgba(255,255,255,0.18);
}

@media (max-width: 860px){
  .sticky-bar{ display:flex; }
  /* Add breathing room so content isn't blocked by sticky bar */
  body{ padding-bottom: 86px; }
}
