*{box-sizing:border-box;margin:0;padding:0;}
:root {
  --bg:#ffffff;
  --text:#1f2937;
  --accent:#e11d48;
  --muted:#f3f4f6;
  --dark:#111827;
}
body {
  font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
}
a {color:inherit;text-decoration:none;}
header {
  position:sticky;
  top:0;
  z-index:1000;
  background:#fff;
  border-bottom:1px solid #e5e7eb;
}
.wrap {
  max-width:1200px;
  margin:0 auto;
  padding:12px 20px;
  display:flex;
  align-items:center;
  gap:16px;
  justify-content:space-between;
}
.brand {display:flex;align-items:center;gap:12px;}
.brand img {height:40px;}
nav {display:flex;gap:14px;align-items:center;}
nav a {
  font-weight:600;
  padding:8px 10px;
  border-radius:8px;
  transition:0.2s;
}
nav a:hover {color:#fff;background:var(--accent);}
.burger {
  display:none;
  cursor:pointer;
  border:1px solid #e5e7eb;
  padding:8px 10px;
  border-radius:8px;
}
.mobile-menu {
  display:none;
  flex-direction:column;
  gap:8px;
  padding:12px 20px;
  border-top:1px solid #e5e7eb;
}
.mobile-menu a {
  padding:10px 12px;
  background:var(--muted);
  border-radius:8px;
  font-weight:600;
}
.hero {
  position:relative;
  height:60vh;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#fff;
  overflow:hidden;
}
.hero::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.55)0%,rgba(0,0,0,.35)40%,rgba(0,0,0,.25)100%);
  z-index:1;
}
.hero .inner {
  position:relative;
  z-index:2;
  max-width:900px;
  padding:20px;
}
.hero h1 {
  font-size:clamp(1.9rem,4.2vw,3rem);
  margin-bottom:12px;
  letter-spacing:.2px;
  line-height:1.2;
}
.hero p {
  font-size:clamp(1rem,1.8vw,1.25rem);
  opacity:.95;
  margin-bottom:18px;
}
.btn {
  display:inline-block;
  padding:12px 18px;
  border-radius:10px;
  text-decoration:none;
  font-weight:700;
  transition:transform .2s, background .2s;
}
.btn.primary {background:var(--accent);color:#fff;}
.btn.primary:hover {transform:translateY(-1px);background:#c50c3f;}
.btn.secondary {background:var(--dark);color:#fff;}
.btn.secondary:hover {transform:translateY(-1px);background:#000;}
.container {max-width:1100px;margin:0 auto;padding:28px 20px;}
.grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:22px;
}
.card {
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:18px;
  box-shadow:0 4px 16px rgba(0,0,0,.05);
  transition:0.25s ease;
}
.card img {
  width:100%;
  height:auto;
  border-radius:8px;
  display:block;
  margin-bottom:10px;
}
.card h3 {font-size:1.05rem;margin-bottom:8px;color:var(--dark);}
.card p {font-size:0.93rem;color:#374151;margin-bottom:5px;}
.card .stock {color:#059669;font-weight:600;}
.card:hover {
  transform:translateY(-4px);
  box-shadow:0 8px 20px rgba(0,0,0,.08);
}
footer {background:var(--muted);}
footer .cols {
  max-width:1100px;
  margin:0 auto;
  padding:28px 20px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
footer h3 {color:var(--dark);margin-bottom:10px;}
footer p,footer a {color:#374151;font-size:1rem;text-decoration:none;}
.map {grid-column:1/-1;margin:0 auto;max-width:1100px;padding:0 20px 24px;}
.sticky-cta {
  position:fixed;
  right:16px;
  bottom:16px;
  background:var(--accent);
  color:#fff;
  padding:12px 18px;
  border-radius:999px;
  text-decoration:none;
  font-weight:800;
  box-shadow:0 10px 24px rgba(0,0,0,.2);
}
.hero-panelmaster {background:url("/img/panelmaster.jpg") center center/cover no-repeat;}
.hero-ekabin {background:url("/img/ekabin.jpg") center center/cover no-repeat;}
.hero-shop {
  background:url("/img/shop-hero.jpg") center center/cover no-repeat;
  height:60vh;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#fff;
  position:relative;
}
.hero-shop::after {
  content:"";
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0.4);
  z-index:1;
}
.hero-shop .inner {position:relative;z-index:2;}
@media (max-width:900px){
  .grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));}
  .hero{height:56vh;}
}
