/*
Theme Name: Green Waves
Theme URI: https://greenwaves.example.com
Author: TDM - The Digital Marketing Services
Author URI: https://thedigitalmarketing.services
Description: Custom lightweight theme for Green Waves, rebuilt around the new brand identity. Bright leaf-green palette drawn from the logo, image logo in the header, Elementor-first: provides header, footer, global colors, fonts and helper classes. Build all page content with Elementor. Compatible with Elementor Pro Theme Builder (header/footer locations registered).
Version: 2.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: greenwaves
*/

:root{
  /* Brand palette sampled from the Green Waves logo */
  --gw-green:#4DB04E;         /* primary leaf green (logo wordmark + leaves) */
  --gw-green-deep:#134D26;    /* deep wreath green */
  --gw-green-dark:#1B6B34;    /* dark green for headings / hovers */
  --gw-teal:#1E9C8F;          /* wave accent from the logo */
  --gw-green-tint:#E9F6E9;    /* light green wash */
  --gw-green-tint2:#F4FAF3;   /* near-white green wash */
  --gw-white:#FFFFFF;
  --gw-ink:#15241A;
  --gw-ink-soft:#4E5F53;
  --gw-line:#D9EAD8;
  --gw-font-display:'Bricolage Grotesque', sans-serif;
  --gw-font-body:'Figtree', sans-serif;
  --gw-font-mono:'IBM Plex Mono', monospace;
}

body{
  font-family: var(--gw-font-body);
  color: var(--gw-ink);
  background: var(--gw-white);
  -webkit-font-smoothing: antialiased;
  margin:0;
}
h1,h2,h3,h4,h5{ font-family: var(--gw-font-display); color: var(--gw-green-deep); }
a{ color: var(--gw-green-dark); }

/* ===================== SITE HEADER ===================== */
.gw-header{
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  padding:14px 48px; background:var(--gw-white);
  border-bottom:3px solid var(--gw-green);
  position:sticky; top:0; z-index:50;
}
.gw-logo{ display:flex; align-items:center; gap:12px; text-decoration:none; }
.gw-logo img{ height:64px; width:auto; display:block; }
.gw-logo-text{ font-family:var(--gw-font-display); font-weight:700; font-size:22px; color:var(--gw-green-deep); }
.gw-logo-text span{ color:var(--gw-green); }

.gw-nav{ display:flex; gap:30px; list-style:none; margin:0; padding:0; }
.gw-nav a{ text-decoration:none; color:var(--gw-ink); font-size:15px; font-weight:600; padding-bottom:5px; transition:color .15s ease; }
.gw-nav a:hover{ color:var(--gw-green); }
.gw-nav a.current,
.gw-nav .current-menu-item > a,
.gw-nav a[aria-current="page"]{ color:var(--gw-green-dark); border-bottom:2.5px solid var(--gw-green); }

.gw-nav-cta{
  font-family:var(--gw-font-body); font-weight:700; font-size:14px;
  background:var(--gw-green); color:#fff !important; padding:11px 22px;
  border-radius:999px; text-decoration:none; transition:background .15s ease;
}
.gw-nav-cta:hover{ background:var(--gw-green-dark); }

/* Mobile menu */
.gw-menu-toggle{
  display:none; background:none; border:1.5px solid var(--gw-line); border-radius:8px;
  padding:8px 12px; font-size:20px; line-height:1; color:var(--gw-green-deep); cursor:pointer;
}
@media(max-width:1024px){
  .gw-header{ padding:12px 20px; }
  .gw-logo img{ height:52px; }
  .gw-nav{
    display:none; position:absolute; top:100%; left:0; right:0;
    flex-direction:column; gap:0; background:var(--gw-white);
    border-bottom:3px solid var(--gw-green); padding:8px 0;
  }
  .gw-nav.open{ display:flex; }
  .gw-nav li a{ display:block; padding:13px 24px; border-bottom:1px solid var(--gw-green-tint); }
  .gw-nav a.current, .gw-nav .current-menu-item > a, .gw-nav a[aria-current="page"]{ border-bottom:1px solid var(--gw-green-tint); background:var(--gw-green-tint2); }
  .gw-menu-toggle{ display:block; }
  .gw-nav-cta{ display:none; }
}

/* ===================== SITE FOOTER ===================== */
.gw-footer{ background:var(--gw-green-deep); color:#D9EEDD; padding:64px 48px 24px; }
.gw-foot-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; max-width:1200px; margin:0 auto 44px; }
.gw-footer h4{ font-family:var(--gw-font-display); color:#fff; font-size:17px; margin:0 0 16px; }
.gw-footer p, .gw-footer a{ color:#B9D8C0; font-size:14px; line-height:1.95; text-decoration:none; }
.gw-footer a:hover{ color:#fff; }
.gw-foot-logo{ height:74px; width:auto; display:block; margin-bottom:14px; background:#fff; border-radius:12px; padding:6px; }
.gw-foot-bottom{
  max-width:1200px; margin:0 auto; padding-top:22px;
  border-top:1px solid rgba(255,255,255,.14);
  font-size:13px; color:#9FC7AA;
  text-align:center;
}
.gw-foot-bottom .heart{ color:#FF6B6B; }

@media(max-width:1000px){
  .gw-footer{ padding:48px 24px 20px; }
  .gw-foot-grid{ grid-template-columns:repeat(2,1fr); }
}
@media(max-width:560px){
  .gw-foot-grid{ grid-template-columns:1fr; }
}

/* ===================== SHARED / HELPER CLASSES (use in Elementor "CSS Classes" field) ===================== */
.gw-eyebrow{ font-family:var(--gw-font-mono); font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--gw-green); font-weight:500; }
.gw-max{ max-width:1200px; margin:0 auto; }
.gw-field-rows{ background-image: repeating-linear-gradient(90deg, var(--gw-line) 0px, var(--gw-line) 1px, transparent 1px, transparent 28px); }
.gw-field-rows-dark{ background-image: repeating-linear-gradient(90deg, rgba(255,255,255,0.08) 0px, rgba(255,255,255,0.08) 1px, transparent 1px, transparent 28px); }

/* Hero */
.gw-hero-copy{ background:var(--gw-green-tint2); }
.gw-btn-primary{ background:var(--gw-green) !important; color:#fff !important; font-weight:700; border-radius:999px !important; }
.gw-btn-primary:hover{ background:var(--gw-green-dark) !important; }
.gw-btn-ghost{ background:transparent !important; color:var(--gw-green-dark) !important; border:1.5px solid var(--gw-green) !important; font-weight:700; border-radius:999px !important; }

/* Stat band */
.gw-stat-band{ display:flex; border-top:1px solid var(--gw-line); border-bottom:1px solid var(--gw-line); flex-wrap:wrap; }
.gw-stat{ flex:1; padding:34px 20px; text-align:center; border-right:1px solid var(--gw-line); min-width:140px; }
.gw-stat:last-child{ border-right:none; }
.gw-stat b{ font-family:var(--gw-font-mono); font-size:28px; color:var(--gw-green); display:block; }
.gw-stat span{ font-size:12.5px; color:var(--gw-ink-soft); }

/* Category / product cards */
.gw-card{ border:1px solid var(--gw-line); border-radius:12px; overflow:hidden; transition:box-shadow .2s ease, transform .2s ease; }
.gw-card:hover{ box-shadow:0 10px 28px rgba(19,77,38,.10); transform:translateY(-3px); }
.gw-card-body{ padding:20px; }
.gw-card-body h3{ font-size:17px; margin:0 0 6px; }

/* Stamp / promise band (dark) */
.gw-stamp-section{ background:var(--gw-green-deep); color:#fff; position:relative; }
.gw-stamp-section h2, .gw-stamp-section .gw-eyebrow{ color:#fff; }
.gw-stamp-section .gw-eyebrow{ color:#8FE39B; }
.gw-stamp-section p{ color:#C9E4CE; }
.gw-stamp-circle{
  width:220px; height:220px; border-radius:50%; border:2px solid var(--gw-green);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  font-family:var(--gw-font-mono); margin:0 auto;
}
.gw-stamp-circle .num{ font-size:34px; font-weight:500; color:#fff; display:block; }
.gw-stamp-circle .lbl{ font-size:11px; letter-spacing:.08em; color:#8FE39B; text-transform:uppercase; }

/* Testimonials */
.gw-testi-card{ background:var(--gw-green-tint2); border:1px solid var(--gw-line); border-radius:12px; padding:30px; }
.gw-testi-card p{ font-style:italic; }
.gw-testi-who{ font-family:var(--gw-font-mono); font-size:12.5px; color:var(--gw-green-dark); }

/* CTA band */
.gw-cta-band{ background:var(--gw-green-tint); text-align:center; }

/* Filter pills */
.gw-filter-pill{ font-size:13.5px; font-weight:600; padding:9px 18px; border-radius:20px; border:1px solid var(--gw-line); color:var(--gw-ink-soft); display:inline-block; }
.gw-filter-pill.active{ background:var(--gw-green); color:#fff; border-color:var(--gw-green); }

/* Product spec pills */
.gw-spec{ font-family:var(--gw-font-mono); font-size:12px; background:var(--gw-green-tint); padding:5px 10px; border-radius:6px; color:var(--gw-green-dark); display:inline-block; margin:2px 4px 2px 0; }
.gw-sci{ font-family:var(--gw-font-mono); font-size:12px; color:var(--gw-teal); display:block; margin-bottom:6px; }

/* Timeline */
.gw-tl-item{ border-left:2px solid var(--gw-line); padding-left:24px; }
.gw-tl-item .yr{ font-family:var(--gw-font-mono); color:var(--gw-green); font-size:13px; margin-bottom:8px; display:block; }

/* Country list */
.gw-country-list{ list-style:none; padding:0; margin:0; }
.gw-country-list li{ padding:14px 0; border-bottom:1px solid var(--gw-line); display:flex; justify-content:space-between; font-size:15px; }
.gw-country-list li b{ color:var(--gw-green-dark); font-family:var(--gw-font-mono); font-weight:500; font-size:13px; }

/* CEO / quote block */
.gw-ceo-block{ background:var(--gw-green-tint2); border-radius:16px; padding:50px; }
.gw-ceo-block p{ font-style:italic; font-size:17px; }

/* Certifications */
.gw-cert-card{ border:1px solid var(--gw-line); border-radius:12px; padding:24px; text-align:center; }
.gw-cert-card h3{ font-size:14.5px; margin-top:10px; }

/* Process steps */
.gw-proc-step{ text-align:center; }
.gw-proc-step .n{ font-family:var(--gw-font-mono); font-size:13px; color:var(--gw-green); display:block; margin-bottom:10px; }

/* Contact */
.gw-contact-info-row{ display:flex; gap:16px; padding:20px 0; border-bottom:1px solid var(--gw-line); }
.gw-contact-info-row .ico{ font-family:var(--gw-font-mono); color:var(--gw-teal); font-size:13px; flex:0 0 90px; }

/* Blog */
.gw-blog-tag{ font-family:var(--gw-font-mono); font-size:11.5px; color:var(--gw-green); text-transform:uppercase; display:block; margin-bottom:8px; }
.gw-blog-date{ font-family:var(--gw-font-mono); font-size:11.5px; color:var(--gw-ink-soft); }

/* Page hero strip used on inner pages */
.gw-page-hero{ padding:64px 48px 40px; border-bottom:1px solid var(--gw-line); background:var(--gw-green-tint2); }
