:root{
  --cc-green:#0B6B45;
  --cc-green-dark:#075A3A;
  --cc-red:#D92D3F;
  --cc-blue:#1599D5;
  --cc-white:#FFFFFF;
  --cc-bg:#F5F8F6;
  --cc-text:#1E2A24;
  --cc-muted:#5B6B63;
  --cc-radius:14px;
  --cc-shadow:0 10px 30px rgba(7,90,58,.09);
  --cc-shadow-hover:0 16px 40px rgba(7,90,58,.16);
}

*{box-sizing:border-box}
body{
  font-family:'Inter',system-ui,sans-serif;
  color:var(--cc-text);
  background:var(--cc-bg);
  overflow-x:hidden;
}
h1,h2,h3,h4,h5,.brand-name{font-family:'Poppins',sans-serif;font-weight:700}
a{color:var(--cc-green-dark)}
.skip-link{position:absolute;left:0;top:-40px;background:#fff;padding:8px;z-index:2000}
.skip-link:focus{top:0}

/* ---------- Header ---------- */
.top-bar{background:var(--cc-green-dark);color:#fff}
.navbar-main{background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.05);transition:box-shadow .2s ease}
.site-header.scrolled .navbar-main{box-shadow:0 6px 20px rgba(0,0,0,.1)}
.brand-mark{
  width:44px;height:44px;border-radius:50%;background:var(--cc-green);
  color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-family:'Poppins',sans-serif;
}
.brand-text{display:flex;flex-direction:column;line-height:1.1}
.brand-name{color:var(--cc-green-dark);font-size:1.25rem}
.brand-tagline{font-size:.7rem;color:var(--cc-muted);letter-spacing:.03em;text-transform:uppercase}
.navbar-nav .nav-link{color:var(--cc-text);font-weight:500;padding:.5rem .9rem;border-radius:8px}
.navbar-nav .nav-link.active,.navbar-nav .nav-link:hover{color:var(--cc-green-dark);background:rgba(11,107,69,.08)}
.search-form .form-control{width:170px}

.btn-brand-primary{background:var(--cc-green);border-color:var(--cc-green);color:#fff;font-weight:600}
.btn-brand-primary:hover{background:var(--cc-green-dark);border-color:var(--cc-green-dark);color:#fff}
.btn-whatsapp{background:#25D366;border-color:#25D366;color:#fff;font-weight:600}
.btn-whatsapp:hover{background:#1DA851;border-color:#1DA851;color:#fff}
.btn-brand-outline{border:2px solid var(--cc-green);color:var(--cc-green-dark);font-weight:600;background:transparent}
.btn-brand-outline:hover{background:var(--cc-green);color:#fff}
.btn-brand-red{background:var(--cc-red);border-color:var(--cc-red);color:#fff;font-weight:600}
.btn-brand-red:hover{filter:brightness(.92);color:#fff}

.mobile-nav li a{display:block;padding:.5rem 0;color:var(--cc-text);text-decoration:none;border-bottom:1px solid #eee}

/* ---------- Hero Slider ---------- */
.hero-slider{position:relative}
.hero-slide{
  min-height:480px;display:flex;align-items:center;
  background-size:cover;background-position:center;position:relative;
  background-color:var(--cc-green-dark);
}
.hero-slide::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,90,58,.88) 0%,rgba(7,90,58,.55) 55%,rgba(7,90,58,.25) 100%)}
.hero-slide .container{position:relative;z-index:2}
.hero-content{color:#fff;max-width:640px}
.hero-content .eyebrow{color:#B9F0D6;text-transform:uppercase;letter-spacing:.08em;font-weight:600;font-size:.85rem}
.hero-content h1{font-size:2.6rem;margin-bottom:.75rem}
.hero-content p{font-size:1.05rem;color:#EAF6EF;margin-bottom:1.5rem}
.carousel-indicators [data-bs-target]{background-color:#fff}
.carousel-control-prev,.carousel-control-next{width:5%}
@media (max-width:768px){
  .hero-slide{min-height:400px}
  .hero-content h1{font-size:1.7rem}
}

/* ---------- Sections ---------- */
.section{padding:70px 0}
.section-sm{padding:45px 0}
.section-title-eyebrow{color:var(--cc-green);text-transform:uppercase;letter-spacing:.08em;font-weight:700;font-size:.8rem}
.section-title{font-size:2rem;margin-bottom:.5rem}
.section-desc{color:var(--cc-muted);max-width:680px}
.bg-soft{background:#fff}

/* ---------- Cards ---------- */
.cc-card{
  background:#fff;border-radius:var(--cc-radius);box-shadow:var(--cc-shadow);
  transition:transform .2s ease,box-shadow .2s ease;overflow:hidden;height:100%;border:1px solid rgba(11,107,69,.06);
}
.cc-card:hover{transform:translateY(-4px);box-shadow:var(--cc-shadow-hover)}
.cc-card img{width:100%;height:190px;object-fit:cover}
.cc-card .card-body{padding:1.1rem}

.category-card{text-align:center;padding:2rem 1rem}
.category-card .icon-circle{
  width:66px;height:66px;border-radius:50%;background:rgba(11,107,69,.1);
  display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;font-size:1.6rem;color:var(--cc-green);
}
.category-card:hover .icon-circle{background:var(--cc-green);color:#fff}

.service-card .service-img{height:210px}
.usp-item{display:flex;gap:1rem;align-items:flex-start}
.usp-item .icon-box{
  width:52px;height:52px;flex:0 0 52px;border-radius:12px;background:rgba(11,107,69,.1);
  display:flex;align-items:center;justify-content:center;color:var(--cc-green);font-size:1.3rem;
}

.testimonial-card{background:#fff;border-radius:var(--cc-radius);box-shadow:var(--cc-shadow);padding:1.75rem}
.testimonial-card .stars{color:#F5A623}

.badge-new{background:var(--cc-blue)}
.badge-featured{background:var(--cc-red)}

.price-tag{color:var(--cc-green-dark);font-weight:700;font-size:1.15rem}
.price-old{text-decoration:line-through;color:var(--cc-muted);font-size:.9rem;margin-right:.4rem}

.floating-whatsapp{
  position:fixed;bottom:22px;right:22px;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 8px 22px rgba(0,0,0,.25);text-decoration:none;
}
.floating-whatsapp:hover{background:#1DA851;color:#fff}
@media (max-width:576px){.floating-whatsapp{bottom:16px;right:16px;width:52px;height:52px;font-size:1.5rem}}

/* ---------- Footer ---------- */
.site-footer{background:var(--cc-green-dark);color:#DCEFE5}
.footer-heading{color:#fff;font-weight:700;margin-bottom:1rem}
.footer-links{list-style:none;padding:0;margin:0}
.footer-links li{margin-bottom:.55rem;font-size:.93rem}
.footer-links a{color:#DCEFE5;text-decoration:none}
.footer-links a:hover{color:#fff;text-decoration:underline}
.footer-text{color:#BFE0CF;font-size:.92rem}
.footer-bottom{background:#06482f;color:#BFE0CF}
.site-footer a i{color:#DCEFE5}
.site-footer .brand-mark{background:#fff;color:var(--cc-green-dark)}

/* ---------- Breadcrumb ---------- */
.cc-breadcrumb{background:#fff;padding:14px 0;border-bottom:1px solid #eee}
.cc-breadcrumb a{color:var(--cc-muted);text-decoration:none}
.cc-breadcrumb .active{color:var(--cc-green-dark);font-weight:600}

/* ---------- Page hero (inner pages) ---------- */
.page-hero{background:linear-gradient(120deg,var(--cc-green-dark),var(--cc-green));color:#fff;padding:60px 0}
.page-hero h1{margin-bottom:.5rem}
.page-hero p{color:#DCEFE5;max-width:680px}

/* ---------- Forms ---------- */
.form-card{background:#fff;border-radius:var(--cc-radius);box-shadow:var(--cc-shadow);padding:2rem}
.form-label{font-weight:600;font-size:.9rem}
.form-control:focus,.form-select:focus{border-color:var(--cc-green);box-shadow:0 0 0 .2rem rgba(11,107,69,.15)}

/* ---------- Pagination ---------- */
.pagination .page-link{color:var(--cc-green-dark)}
.pagination .page-item.active .page-link{background:var(--cc-green);border-color:var(--cc-green)}

/* ---------- Admin small helpers reused ---------- */
.admin-sidebar a.active{background:rgba(255,255,255,.15);border-radius:8px}

/* Accessibility */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid var(--cc-blue);outline-offset:2px;
}
