:root{
  --brand:#1e934b;
  --brand-dark:#16743b;
  --brand-ink:#0a3a1d;
  --brand-grad: linear-gradient(90deg,#00C853 0%, #2ECC71 50%, #26A69A 100%);
  --text:#1b1b1b;
  --muted:#5b7163;
  --bg:#ffffff;
  --radius:12px;
  --radius-lg:16px;
  --shadow-sm:0 4px 12px rgba(0,0,0,.06);
  --shadow-md:0 10px 24px rgba(0,0,0,.08);
  --shadow-lg:0 14px 40px rgba(0,0,0,.12);
}

/* Base */
html{scroll-behavior:smooth}
body{
  font-family: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, 'Helvetica Neue', Arial, 'Noto Sans', 'Liberation Sans', sans-serif;
  color:var(--text);
  background: var(--bg);
}

/* Typography helpers */
.lead{color:#355c48}
.gradient-title{
  background: var(--brand-grad);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

.logo img {
  width: 160px;
  height: 70px;
}
/* Layout */
section{padding:64px 0}

/* Navbar */
.navbar{backdrop-filter:saturate(120%) blur(6px); box-shadow:var(--shadow-sm)}
.navbar-brand{font-weight:700}

/* Cards + Surfaces */
.card{border:1px solid #e6f4ea; border-radius:var(--radius-lg); box-shadow:var(--shadow-sm)}
.card .icon{font-size:1.85rem; color:var(--brand)}
.card:hover{transform:translateY(-2px); box-shadow:var(--shadow-md); transition:transform .2s ease, box-shadow .2s ease}

/* Buttons */
.btn{border-radius:var(--radius-lg)}
.btn-brand{background:var(--brand); color:#fff; box-shadow:var(--shadow-sm)}
.btn-brand:hover{background:var(--brand-dark); color:#fff; box-shadow:var(--shadow-md)}
.btn-outline-success{border-radius:var(--radius-lg)}

/* Hero bits */
.hero-badge{
  background:var(--brand-grad);
 color:#fff; 
 border-radius:999px; 
 padding:.4rem .85rem; 
 font-weight:600; 
 font-size:.9rem; 
 box-shadow:var(--shadow-sm);
 width:30%;
}
.carousel .carousel-item>img{border-radius:0}
.carousel-caption{text-shadow:0 4px 16px rgba(0,0,0,.35)}

/* Forms */
.form-control, .form-select{border-radius:var(--radius-lg); border:1px solid #dff1e6}
.form-control:focus, .form-select:focus{ border-color:#a4e3bf; box-shadow:0 0 0 .25rem rgba(30,147,75,.15)}
.input-group .form-control{border-radius:var(--radius); box-shadow:var(--shadow-md);}
/* Contact page form & map shadows */
#contactForm{background:#fff; padding:1.25rem; border-radius:var(--radius-lg);  border:1px solid #e6f4ea}
.ratio>iframe{border-radius:var(--radius-lg); box-shadow:var(--shadow-md)}

/* Gallery */
.gallery-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:14px}
.gallery-grid img{width:100%; height:180px; object-fit:cover; border-radius:14px; cursor:pointer; transition:transform .25s ease, box-shadow .25s ease; box-shadow:var(--shadow-sm)}
.gallery-grid img:hover{transform:translateY(-3px); box-shadow:var(--shadow-md)}
.modal-content{border-radius:var(--radius-lg); box-shadow:var(--shadow-lg)}
.modal-img{max-width:100%; height:auto; border-radius:var(--radius-lg)}

/* Partners */
.partners-section .partner-logo-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  height:86px;
  padding:14px;
  border-radius:14px;
  background:#fff;
  border:1px solid #e6f4ea;
  box-shadow:var(--shadow-sm);
  text-decoration:none;
}
.partners-section .partner-logo{
  max-height:48px;
  width:100%;
  object-fit:contain;
  filter:grayscale(1);
  opacity:.78;
  transition:filter .2s ease, opacity .2s ease, transform .2s ease, box-shadow .2s ease;
}
.partners-section .partner-logo-wrap:hover{box-shadow:var(--shadow-md)}
.partners-section .partner-logo-wrap:hover .partner-logo{
  filter:none;
  opacity:1;
  transform:translateY(-1px);
}
.partners-cta{border:1px dashed rgba(30,147,75,.35)}

/* Footer */
footer{background:#0f2a19; color:#d8f3dc;}
footer a{color:#a6f4c5}

/* WhatsApp floating button */
.whatsapp-float{
  position:fixed; right:18px; bottom:18px; z-index:9999;
  background:#25D366; color:#fff; width:56px; height:56px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; box-shadow:0 10px 26px rgba(0,0,0,.22);
}
.whatsapp-float:hover{background:#1ebe57; color:#fff}

/* Images & media */
img, iframe, video{border-radius:var(--radius)}

/* Minor utilities */
.shadow-soft{box-shadow:var(--shadow-sm)!important}
.rounded-soft{border-radius:var(--radius-lg)!important}
.border-subtle{border:1px solid #e6f4ea}

/* Subtle separators between large sections */
.bg-light{background:#f6fbf8!important}

.bg-light1 {
  background-image: url("../images/Clean Up Campaign/Best.jpg");
  background-size: cover;
}

/* Links */
a{text-decoration:none}
a:hover{text-decoration:underline}

/* ------------------------------ */
/* RESPONSIVE BREAKPOINTS         */
/* ------------------------------ */

/* Smartphones (portrait and landscape) ----------- */
@media only screen 
and (min-device-width : 320px) 
and (max-device-width : 480px) {
  section{padding:40px 0}
  .navbar-brand{font-size:1rem}
  .hero-badge{font-size:.8rem; padding:.3rem .7rem}
  .carousel-caption h1, .carousel-caption h2{font-size:1.25rem}
  .carousel-caption p{display:none}
  .card{padding:.75rem}
  .gallery-grid{gap:10px}
  .gallery-grid img{height:140px}
  #contactForm{padding:1rem}
}

/* Smartphones (landscape) ----------- */
@media only screen 
and (min-width : 321px) {
  .carousel-caption h1, .carousel-caption h2{font-size:1.35rem}
}

/* Smartphones (portrait) ----------- */
@media only screen 
and (max-width : 320px) {
  .navbar-brand{font-size:.95rem}
  .gallery-grid img{height:130px}
}

/* iPads (portrait and landscape) ----------- */
@media only screen 
and (min-device-width : 768px) 
and (max-device-width : 1024px) {
  .carousel-caption h1, .carousel-caption h2{font-size:1.75rem}
  .gallery-grid img{height:180px}
}

/* iPads (landscape) ----------- */
@media only screen 
and (min-device-width : 768px) 
and (max-device-width : 1024px) 
and (orientation : landscape) {
  .carousel .carousel-item>img{max-height:520px}
}

/* iPads (portrait) ----------- */
@media only screen 
and (min-device-width : 768px) 
and (max-device-width : 1024px) 
and (orientation : portrait) {
  .carousel .carousel-item>img{max-height:460px}
}

/* Desktops and laptops ----------- */
@media only screen 
and (min-width : 1224px) {
  .gallery-grid img{height:220px}
}

/* Large screens ----------- */
@media only screen 
and (min-width : 1824px) {
  .gallery-grid img{height:260px}
  .container{max-width:1240px}
}

/* iPhone 4 - 5s ----------- */
@media
only screen and (-webkit-min-device-pixel-ratio : 1.5),
only screen and (min-device-pixel-ratio : 1.5) {
  .hero-badge{box-shadow:0 6px 20px rgba(0,0,0,.12)}
}

/* iPhone 6 ----------- */
@media only screen and (max-device-width: 667px) and (-webkit-device-pixel-ratio: 2) {
  .whatsapp-float{width:54px; height:54px}
}

/* iPhone 6+ ----------- */
@media only screen and (min-device-width : 414px) and (-webkit-device-pixel-ratio: 3) {
  /* You have a big screen; increase caption readability slightly */
  .carousel-caption h1, .carousel-caption h2{font-size:1.6rem}
}

/* Samsung Galaxy S7 Edge ----------- */
@media only screen and (-webkit-min-device-pixel-ratio: 3),
only screen and (min-resolution: 192dpi) and (max-width:640px) {
  .whatsapp-float{bottom:16px; right:16px}
  .carousel-caption h1, .carousel-caption h2{font-size:1.4rem}
}
