:root {
  --bs-primary: #1f8a4c;
  --bs-primary-rgb: 31,138,76;
  --gs-accent: #f97316;
  --gs-accent-hover: #ea6a0c;
  --gs-offer: #dc2626;
  --gs-dark: #14361f;
  --gs-soft: #f5f8f4;
}

body {
  font-family: 'DM Sans', system-ui, sans-serif;
  color: #14361f;
  background: #fff;
  overflow-x: hidden;
}
h1, h2, h3, h4, h5, h6, .font-heading { font-family: 'Poppins', sans-serif; font-weight: 700; }

/* Header */
.navbar { background: rgba(255,255,255,.96); backdrop-filter: blur(8px); border-bottom: 1px solid #eee; }
.navbar-brand .brand-primary { color: var(--bs-primary); }
.navbar-brand .brand-accent { color: var(--gs-accent); }
.nav-link { font-weight: 500; color: #4a5a4f !important; }
.nav-link:hover { color: var(--bs-primary) !important; }

/* Buttons */
.btn-primary { background: var(--bs-primary); border-color: var(--bs-primary); }
.btn-primary:hover, .btn-primary:focus { background: #186e3c; border-color: #186e3c; }
.btn-accent { background: var(--gs-accent); border-color: var(--gs-accent); color: #fff; font-weight: 600; }
.btn-accent:hover { background: var(--gs-accent-hover); border-color: var(--gs-accent-hover); color: #fff; }
.text-accent { color: var(--gs-accent) !important; }
.bg-soft { background: var(--gs-soft); }

/* Hero */
.hero {
  position: relative;
  min-height: 78vh;
  display: flex;
  align-items: center;
  background-image:
    linear-gradient(120deg, rgba(31,138,76,.92) 0%, rgba(31,138,76,.7) 50%, rgba(31,138,76,.35) 100%),
    url('https://images.unsplash.com/photo-1542838132-92c53300491e?auto=format&fit=crop&w=1600&q=80');
  background-size: cover;
  background-position: center;
  color: #fff;
}
.hero h1 { font-size: clamp(1.7rem, 5.5vw, 3.5rem); line-height: 1.15; word-wrap: break-word; }
.hero .lead { font-size: clamp(1rem, 2.5vw, 1.2rem); }

/* Info cards */
.info-cards { margin-top: -3rem; position: relative; z-index: 5; }
.info-card { border: 0; border-radius: 1rem; box-shadow: 0 10px 30px rgba(0,0,0,.08); transition: .2s; }
.info-card:hover { transform: translateY(-3px); box-shadow: 0 15px 40px rgba(0,0,0,.12); }
.icon-circle {
  width: 48px; height: 48px;
  border-radius: .9rem;
  background: rgba(31,138,76,.12);
  color: var(--bs-primary);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 1.4rem; flex-shrink: 0;
}

/* Status badge */
.status-badge {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .35rem 1rem; border-radius: 999px;
  font-size: .85rem; font-weight: 600;
}
.status-badge .dot { width: .55rem; height: .55rem; border-radius: 50%; }
.status-open { background: rgba(31,138,76,.15); color: var(--bs-primary); }
.status-open .dot { background: var(--bs-primary); animation: pulse 1.6s infinite; }
.status-closed { background: rgba(220,38,38,.12); color: var(--gs-offer); }
.status-closed .dot { background: var(--gs-offer); }
@keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: .4; } }

/* Schedule */
.schedule-card { border-radius: 1rem; box-shadow: 0 6px 20px rgba(0,0,0,.06); overflow: hidden; background: #fff; }
.schedule-card .row-item {
  display: flex; justify-content: space-between; align-items: center;
  padding: 1rem 1.5rem; border-bottom: 1px solid #eee;
}
.schedule-card .row-item:last-child { border-bottom: 0; }

/* Features */
.feature {
  border-radius: 1rem; padding: 2rem 1.25rem; text-align: center;
  background: #fff; border: 1px solid #eef0ec;
  transition: .2s; height: 100%;
}
.feature:hover { transform: translateY(-4px); box-shadow: 0 15px 35px rgba(0,0,0,.08); border-color: transparent; }
.feature .icon-wrap {
  width: 64px; height: 64px; border-radius: 1rem;
  background: rgba(31,138,76,.1); color: var(--bs-primary);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 1.7rem; margin-bottom: 1rem; transition: .2s;
}
.feature:hover .icon-wrap { background: var(--bs-primary); color: #fff; }

/* Testimonial */
.testimonial blockquote {
  font-family: 'Poppins', sans-serif;
  font-style: italic;
  font-size: clamp(1.15rem, 2.5vw, 1.6rem);
  font-weight: 600;
}
.stars i { color: var(--gs-accent); }

/* Footer */
footer { background: var(--gs-dark); color: #d7e3da; }
footer a { color: #fff; text-decoration: none; }
footer iframe { width: 100%; min-height: 220px; border: 0; border-radius: 1rem; }

/* WhatsApp floating */
.wa-float {
  position: fixed; right: 1.25rem; bottom: 1.25rem; z-index: 1050;
  width: 58px; height: 58px; border-radius: 50%;
  background: #25D366; color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.7rem; box-shadow: 0 10px 25px rgba(0,0,0,.25);
  transition: transform .2s;
}
.wa-float:hover { transform: scale(1.08); color: #fff; }

section { scroll-margin-top: 80px; }
