
:root{
  --cream:#fff9f2;
  --gold:#d89b2b;
  --gold-soft:#f6d998;
  --brown:#512a1c;
  --orange:#c85b22;
  --leaf:#3d8b5a;
  --text:#3f3028;
  --card:#ffffff;
  --shadow:0 16px 40px rgba(81,42,28,.12);
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Poppins',sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at top left, rgba(61,139,90,.08), transparent 28%),
    radial-gradient(circle at bottom right, rgba(216,155,43,.12), transparent 30%),
    linear-gradient(180deg,#fffdf9 0%,#fff7ef 100%);
}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.container{width:min(1160px,92%);margin:0 auto}

.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,249,242,.93);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(216,155,43,.18);
}
.nav{
  display:flex;align-items:center;justify-content:space-between;
  gap:20px;padding:14px 0;
}
.brand{display:flex;align-items:center;gap:12px;font-weight:700;color:var(--brown)}
.brand img{
  width:58px;height:58px;object-fit:cover;border-radius:50%;
  box-shadow:0 8px 18px rgba(0,0,0,.1);
}
nav{display:flex;gap:22px;flex-wrap:wrap}
nav a{font-weight:600;color:var(--brown)}
nav a:hover{color:var(--orange)}

.tropical-bg{position:relative;overflow:hidden}
.tropical-bg::before,
.tropical-bg::after{
  content:"";
  position:absolute;
  width:240px;height:240px;
  opacity:.08;
  pointer-events:none;
  background:radial-gradient(circle at center, var(--leaf) 0%, transparent 70%);
  filter:blur(6px);
}
.tropical-bg::before{top:-60px;left:-60px}
.tropical-bg::after{bottom:-80px;right:-60px}

.hero{padding:64px 0 40px}
.hero-grid{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:38px;align-items:center;
}
.eyebrow{
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.82rem;
  color:var(--orange);
  font-weight:700;
  margin:0 0 12px;
}
h1,h2,h3{
  font-family:'Playfair Display',serif;
  color:var(--brown);
  margin:0;
}
h1{font-size:clamp(2.6rem,5vw,4.9rem);line-height:1.04;margin-bottom:18px}
h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:10px}
h3{font-size:1.45rem;margin-bottom:10px}
.lead{font-size:1.06rem;line-height:1.8;max-width:680px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:28px 0 18px}
.btn{
  padding:14px 24px;border-radius:999px;font-weight:700;
  display:inline-flex;align-items:center;justify-content:center;border:none;cursor:pointer;
}
.btn-primary{
  background:linear-gradient(135deg,var(--orange),var(--gold));
  color:white; box-shadow:var(--shadow);
}
.btn-secondary{
  border:1px solid rgba(81,42,28,.18);
  background:white;
}
.quick-points{
  display:flex;gap:18px;flex-wrap:wrap;font-size:.95rem;color:#6a584c
}
.hero-card img{
  border-radius:28px;
  box-shadow:var(--shadow);
  min-height:520px;
  object-fit:cover;
}

.featured{padding:10px 0 20px}
.cards-3{
  display:grid;grid-template-columns:repeat(3,1fr);gap:22px;
}
.info-card,.menu-card,.contact-card,.shop-card,.form-card{
  background:rgba(255,255,255,.94);
  border-radius:var(--radius);
  padding:26px;
  box-shadow:var(--shadow);
  border:1px solid rgba(216,155,43,.12);
}
.info-card p,.contact-card p,.payment-note p{line-height:1.75;margin:0}

.section{padding:82px 0}
.alt{background:linear-gradient(180deg,rgba(242,211,154,.18),rgba(255,255,255,.35))}
.section-heading{
  text-align:center;
  max-width:820px;
  margin:0 auto 34px;
}
.section-heading p{line-height:1.75;margin:0 auto}

.menu-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:22px;
}
.menu-card ul{
  list-style:none;padding:0;margin:18px 0 0;
}
.menu-card li{
  display:flex;justify-content:space-between;gap:20px;
  padding:12px 0;border-bottom:1px solid rgba(81,42,28,.08);
  align-items:flex-start;
}
.menu-card li:last-child{border-bottom:none}
.menu-card strong{text-align:right;color:var(--orange)}

.order-layout{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:24px;
}
.product-list{
  display:grid;
  gap:12px;
  margin-top:18px;
}
.product-item{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:14px 16px;
  border:1px solid rgba(81,42,28,.08);
  border-radius:18px;
  background:#fffdf9;
}
.product-item strong{display:block}
.product-item span{color:var(--orange);font-weight:700}
.add-btn,.clear-btn,.qty-controls button{
  border:none;
  background:linear-gradient(135deg,#f5e2bd,#f0cf8a);
  color:var(--brown);
  padding:10px 14px;
  border-radius:999px;
  font-weight:700;
  cursor:pointer;
}
.shop-card h3,.form-card h3{margin-bottom:12px}

.cart-box{
  margin-top:22px;
  padding:20px;
  border-radius:22px;
  background:linear-gradient(180deg,rgba(61,139,90,.06),rgba(216,155,43,.07));
  border:1px solid rgba(61,139,90,.12);
}
.cart-top{
  display:flex;justify-content:space-between;gap:14px;align-items:center;
}
.cart-items{margin-top:12px}
.empty-cart{margin:0;color:#6b5f58}
.cart-line{
  display:flex;justify-content:space-between;gap:16px;align-items:center;
  padding:12px 0;border-bottom:1px solid rgba(81,42,28,.08);
}
.cart-line:last-child{border-bottom:none}
.cart-line strong{display:block}
.cart-line span{color:#6b5f58;font-size:.95rem}
.qty-controls{
  display:flex;align-items:center;gap:10px;
}
.qty-controls button{
  width:34px;height:34px;padding:0;border-radius:50%;
}
.cart-total{
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid rgba(81,42,28,.08);
  display:flex;justify-content:space-between;gap:14px;
  font-size:1.05rem;
}
.cart-total strong{color:var(--orange)}

.order-form{
  display:grid;
  gap:12px;
}
.order-form label{
  font-weight:600;
  color:var(--brown);
}
.order-form input,
.order-form select,
.order-form textarea{
  width:100%;
  padding:14px 16px;
  border-radius:16px;
  border:1px solid rgba(81,42,28,.14);
  background:#fffdf9;
  font:inherit;
}
.order-form textarea{resize:vertical;min-height:140px}
.full-btn{width:100%;margin-top:8px}
.payment-note{
  margin-top:18px;
  padding:18px;
  border-radius:18px;
  background:rgba(216,155,43,.11);
}

.gallery{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.gallery img{
  width:100%;
  height:320px;
  object-fit:cover;
  border-radius:20px;
  box-shadow:var(--shadow);
}

.contact-section{padding-top:40px}
.contact-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start;
}
.contact-card a,.footer-contact a{color:var(--orange);font-weight:700}

.site-footer{
  margin-top:20px;
  background:linear-gradient(135deg,#3f2418,#5a3422);
  color:#fff4e8;
  padding:28px 0;
}
.footer-wrap{
  display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap;
}
.footer-wrap p{margin:6px 0 0;color:#f3ddc4}
.footer-contact{display:flex;gap:18px;flex-wrap:wrap}

@media (max-width: 980px){
  .hero-grid,.menu-grid,.cards-3,.order-layout,.contact-grid{
    grid-template-columns:1fr;
  }
  .gallery{grid-template-columns:repeat(2,1fr)}
  .hero-card img{min-height:unset}
}
@media (max-width: 640px){
  nav{display:none}
  .gallery{grid-template-columns:1fr}
  .brand span{font-size:.95rem}
  .info-card,.menu-card,.contact-card,.shop-card,.form-card{padding:22px}
  .section{padding:64px 0}
  .cart-top{flex-direction:column;align-items:flex-start}
  .product-item,.cart-line{flex-direction:column;align-items:flex-start}
}
