:root{
  --accent:#2e7d32;
  --muted:#6c757d;
  --hero-overlay: rgba(0,0,0,0.35);
  --radius: .6rem;
  --max-width:1200px;
  --container-padding: 1rem;
  --transition: 200ms ease;
  --brand-font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  font-family: var(--brand-font);
  color:#222;
  margin:0;
  background:#fff;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  padding-top:70px;
}

/* LOGO */
.navbar-brand img {
  height: 40px;
  width: auto;
  border-radius: var(--radius);
  object-fit: contain;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  transition: transform var(--transition), box-shadow var(--transition);
}

.navbar-brand img:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}

/* Mobil opt*/
@media (max-width: 768px) {
  .navbar-brand img {
    height: 32px;
  }
}

/* NAV */
.navbar-brand{font-size:1.15rem}
.nav-link{color: rgba(0,0,0,0.7);}
.nav-link.active, .nav-link:hover{color:var(--accent);}

/* HERO */
.hero{
  min-height:60vh;
  background-size:cover;
  background-position:center;
  display:flex;
  align-items:center;
  position:relative;
}
.hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:var(--hero-overlay);
}
.hero .container{position:relative; z-index:2}
.hero h1{font-weight:700}

/* CARD hover */
.service-card img, .card-img-top{
  height:200px; object-fit:cover;
  transition: transform var(--transition), filter var(--transition);
}
.service-card:hover img, .portfolio-item:hover img{
  transform: scale(1.03);
  filter:brightness(.95);
}

/* Carousel controls*/
.carousel-control-prev-icon,
.carousel-control-next-icon {
  background-size: 100% 100%;
  background-image: none;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background-color: var(--accent);
  display: flex;
  align-items: center;
  justify-content: center;
}

.carousel-control-prev-icon::after,
.carousel-control-next-icon::after {
  font-family: "bootstrap-icons";
  font-size: 1.2rem;
  color: #fff;
}

.carousel-control-prev-icon::after {
  content: "\f284"; /* bi-chevron-left */
}

.carousel-control-next-icon::after {
  content: "\f285"; /* bi-chevron-right */
}

.carousel-item .card-inner {
  max-width: 700px;
  margin: 0 auto;
}

/* Hover */
.carousel-control-prev-icon:hover,
.carousel-control-next-icon:hover {
  background-color: #256427;
}

/* Facebook Testimonials */
.btn-fb-review {
  background: #1877f2;
  color: #fff;
  border-radius: var(--radius);
  font-weight: 600;
  padding: 0.45rem 1rem;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
}

.btn-fb-review:hover {
  background: #165ec9;
  transform: translateY(-2px);
  box-shadow: 0 6px 12px rgba(0,0,0,0.25);
}

.btn-fb-review i {
  font-size: 1rem;
}

/* CTA strip */
.cta-strip {
  background: #f1f8f4;
  border-top: 1px solid rgba(0,0,0,0.05);
  border-bottom: 1px solid rgba(0,0,0,0.05);
}

.cta-strip h5 {
  color: var(--accent);
  font-weight: 600;
}

.cta-strip .btn {
  border-radius: var(--radius);
  padding: 0.6rem 1.4rem;
  font-weight: 600;
  box-shadow: 0 3px 6px rgba(46,125,50,0.25);
  transition: all 0.25s ease;
}

.cta-strip .btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 12px rgba(46,125,50,0.35);
}


/* FOOTER */
footer{font-size:.95rem}

/* Portfolio modal image */
.modal-body img{max-height:60vh; object-fit:cover}

/* Small utilities */
.text-success{color:var(--accent) !important}

/* Responsive tweaks */
@media (max-width: 768px){
  .service-card img, .card-img-top{height:160px}
  .hero{min-height:48vh}
}
