/*
Theme Name: TJH Gardens & Landscaping
Theme URI: https://www.tjhgardensandlandscaping.co.uk/
Author: Digital Business Solutions
Description: Custom multi-page WordPress theme for TJH Gardens & Landscaping using the supplied TJH branding and real project photography.
Version: 1.6.0
Text Domain: tjh-gardens
*/
:root{
 --green:#082f1f;--green2:#0f402b;--green3:#174b34;--lime:#95aa39;--lime2:#b4c85b;
 --cream:#f6f2e8;--white:#fff;--ink:#173126;--muted:#68746d;--line:rgba(8,47,31,.12);
 --shadow:0 18px 55px rgba(5,37,24,.12)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.65}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}
.tjh-top{background:#061f15;color:#dce7e0;font-size:14px}.tjh-top .wrap{display:flex;justify-content:space-between;gap:20px;padding:8px 0}.tjh-top .contact{display:flex;gap:22px;flex-wrap:wrap}.tjh-top a:hover{color:var(--lime2)}
.site-header{position:sticky;top:0;z-index:999;background:#082f1f;border-bottom:1px solid rgba(255,255,255,.12);box-shadow:0 8px 25px rgba(0,0,0,.12)}.header-inner{height:94px;display:flex;align-items:center;gap:28px}.site-logo{margin-right:auto}.site-logo img{width:390px;max-width:100%;max-height:82px;object-fit:contain;object-position:left center}.main-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:28px}.main-nav a{font-size:15px;font-weight:750;color:#f6f2e8;position:relative}.main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-9px;height:2px;background:var(--lime);transition:.2s}.main-nav a:hover:after,.main-nav .current-menu-item>a:after{right:0}.quote-btn,.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:14px 22px;font-weight:850;border:1px solid transparent;transition:.2s;cursor:pointer}.quote-btn,.btn-primary{background:var(--lime);color:#102616}.quote-btn:hover,.btn-primary:hover{transform:translateY(-2px);background:var(--lime2)}.btn-outline{border-color:rgba(255,255,255,.45);color:#fff}.btn-outline:hover{background:#fff;color:var(--green)}.nav-toggle{display:none;border:0;background:none;font-size:28px;color:#fff;padding:8px}
.hero{background:linear-gradient(110deg,#062619 0%,#0d3826 58%,#164b34 100%);color:#fff;overflow:hidden;position:relative}.hero:before{content:"";position:absolute;width:650px;height:650px;border:90px solid rgba(149,170,57,.09);border-radius:50%;right:-180px;top:-220px}.hero-grid{min-height:690px;display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;padding:72px 0;position:relative}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.18em;font-weight:900;color:#819638}.hero .eyebrow{color:var(--lime2)}.hero h1,.page-hero h1,h2{font-family:Georgia,"Times New Roman",serif;letter-spacing:-.03em}.hero h1{font-size:clamp(54px,7vw,92px);line-height:.96;font-weight:500;margin:20px 0 22px}.hero h1 em{font-style:normal;color:var(--lime2)}.hero p{font-size:19px;color:#d7e4dc;max-width:620px;margin:0 0 30px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-trust{display:flex;gap:24px;flex-wrap:wrap;margin-top:34px;font-size:14px;color:#d7e3da}.hero-trust span:before{content:"✓";display:inline-grid;place-items:center;width:24px;height:24px;margin-right:8px;border-radius:50%;background:rgba(180,200,91,.14);color:var(--lime2);font-weight:900}.hero-photo{position:relative}.hero-photo img{width:100%;height:560px;object-fit:cover;border-radius:220px 220px 26px 26px;box-shadow:0 30px 80px rgba(0,0,0,.35)}.hero-photo:after{content:"";position:absolute;inset:18px -18px -18px 18px;border:2px solid rgba(180,200,91,.55);border-radius:220px 220px 26px 26px;z-index:-1}
.section{padding:94px 0}.section.alt{background:var(--cream)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:44px}.section-head h2,h2{font-size:clamp(38px,5vw,58px);line-height:1.06;font-weight:500;color:var(--green);margin:8px 0 0}.section-head p{max-width:520px;color:var(--muted);font-size:17px;margin:0}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service{padding:30px;border:1px solid var(--line);border-radius:22px;background:#fff;min-height:250px;box-shadow:0 7px 25px rgba(8,47,31,.04);transition:.25s}.service:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.service-icon{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:var(--lime2);font-size:28px;margin-bottom:23px}.service h3{margin:0 0 8px;color:var(--green);font-size:19px;text-transform:uppercase;letter-spacing:.04em}.service p{color:var(--muted);margin:0}
.split{display:grid;grid-template-columns:.95fr 1.05fr;gap:70px;align-items:center}.split img{width:100%;height:570px;object-fit:cover;border-radius:28px;box-shadow:var(--shadow)}.split p{color:var(--muted);font-size:17px}.checks{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:27px 0 30px}.check{font-weight:750;color:#294639}.check:before{content:"✓";color:var(--lime);font-weight:900;margin-right:9px}
.trustbar{background:var(--green);color:#fff}.trustgrid{display:grid;grid-template-columns:repeat(3,1fr)}.trustitem{padding:36px 28px;border-right:1px solid rgba(255,255,255,.13)}.trustitem:last-child{border:0}.trustitem strong{display:block;text-transform:uppercase;letter-spacing:.08em}.trustitem span{font-size:14px;color:#c7d6cc}
.projects{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:230px;gap:14px}.projects figure{margin:0;position:relative;overflow:hidden;border-radius:18px;background:var(--green)}.projects figure:nth-child(1),.projects figure:nth-child(7),.projects figure:nth-child(14){grid-column:span 2;grid-row:span 2}.projects figure:nth-child(4),.projects figure:nth-child(10){grid-row:span 2}.projects img{width:100%;height:100%;object-fit:cover;transition:.4s}.projects figure:hover img{transform:scale(1.04);filter:brightness(.78)}.projects figcaption{position:absolute;left:16px;right:16px;bottom:14px;color:#fff;font-weight:800;opacity:0;transform:translateY(8px);transition:.25s}.projects figure:hover figcaption{opacity:1;transform:none}
.page-hero{background:linear-gradient(105deg,#072719,#0d3b28);color:#fff;padding:80px 0}.page-hero h1{font-size:clamp(48px,7vw,76px);line-height:1;margin:13px 0 18px;font-weight:500}.page-hero p{max-width:720px;font-size:18px;color:#d4e0d8}
.content-wrap{max-width:900px}.content-wrap p{color:var(--muted);font-size:17px}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px}.contact-panel{background:var(--green);color:#fff;padding:38px;border-radius:24px}.contact-panel h3{font-family:Georgia,serif;font-size:34px;margin:0 0 18px}.contact-panel p,.contact-panel a{color:#d6e4dc}.contact-list{list-style:none;padding:0;margin:25px 0}.contact-list li{margin:13px 0}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form .full{grid-column:1/-1}.contact-form input,.contact-form textarea{width:100%;padding:15px;border:1px solid #d7ddd9;border-radius:12px;font:inherit;background:#fff}.contact-form textarea{min-height:160px;resize:vertical}.contact-form label{display:block;font-size:13px;font-weight:800;margin-bottom:6px;color:#334b40}.notice{padding:13px 16px;border-radius:10px;margin-bottom:20px}.notice.success{background:#e9f5e6;color:#295b2c}.notice.error{background:#fae7e7;color:#8a2525}
.cta{padding:0 0 94px}.cta-box{background:linear-gradient(110deg,#16402c,#062619);color:#fff;border-radius:30px;padding:58px;display:flex;justify-content:space-between;align-items:center;gap:35px}.cta-box h2{color:#fff;margin-top:5px}.cta-box p{color:#cfddd4;max-width:680px}
.site-footer{background:#061f15;color:#cbd8d0;padding:60px 0 20px}.footer-grid{display:grid;grid-template-columns:1.35fr .7fr 1fr;gap:55px;padding-bottom:42px;border-bottom:1px solid rgba(255,255,255,.12)}.footer-logo img{width:390px;max-width:100%;max-height:110px;object-fit:contain;object-position:left center}.site-footer p{color:#a9bbb0}.site-footer h4{color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.13em;margin:0 0 17px}.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin:8px 0}.site-footer a:hover{color:var(--lime2)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:19px;font-size:13px;color:#91a397}
@media(max-width:980px){.nav-toggle{display:block}.main-nav{display:none;position:absolute;top:94px;left:20px;right:20px;background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:22px}.main-nav.open{display:block}.main-nav ul{flex-direction:column;align-items:stretch}.quote-btn{display:none}.hero-grid,.split,.contact-grid{grid-template-columns:1fr}.hero-photo{max-width:650px;margin:auto}.hero-photo img{height:520px;border-radius:36px}.hero-photo:after{border-radius:36px}.services-grid{grid-template-columns:1fr 1fr}.projects{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.trustgrid{grid-template-columns:1fr}.trustitem{border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}}
@media(max-width:640px){.wrap{width:min(100% - 28px,1180px)}.tjh-top .wrap{justify-content:center;text-align:center}.tjh-top .promise{display:none}.tjh-top .contact{justify-content:center;gap:7px 15px}.site-logo img{width:270px}.header-inner{height:82px}.main-nav{top:82px}.hero-grid{padding:52px 0 66px;min-height:0;gap:35px}.hero h1{font-size:52px}.hero p{font-size:17px}.hero-photo img{height:390px}.section{padding:70px 0}.section-head{display:block}.section-head p{margin-top:17px}.services-grid,.checks,.contact-form{grid-template-columns:1fr}.contact-form .full{grid-column:auto}.split img{height:410px}.projects{grid-template-columns:1fr;grid-auto-rows:260px}.projects figure,.projects figure:nth-child(1),.projects figure:nth-child(7),.projects figure:nth-child(14),.projects figure:nth-child(4),.projects figure:nth-child(10){grid-column:auto;grid-row:auto}.cta-box{display:block;padding:36px 25px}.cta-box .btn{margin-top:20px}.footer-grid{grid-template-columns:1fr;gap:30px}.footer-bottom{display:block}}

.site-logo{display:flex;align-items:center;background:#fff;border-radius:12px;padding:5px 12px;box-shadow:0 5px 18px rgba(0,0,0,.10)}
.site-logo img{display:block}
.site-header .quote-btn{background:#95aa39;color:#102616}
.site-header .quote-btn:hover{background:#b4c85b}
.hero{background-position:center;background-size:cover;background-repeat:no-repeat}
.hero:after,.page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,28,18,.90) 0%,rgba(6,39,25,.72) 45%,rgba(6,39,25,.28) 100%);z-index:0}
.hero .wrap,.page-hero .wrap{position:relative;z-index:2}
.page-hero{position:relative;background-position:center;background-size:cover;background-repeat:no-repeat;padding:118px 0}
.page-hero .eyebrow{color:#b4c85b}
.page-hero h1{color:#fff;text-shadow:0 2px 20px rgba(0,0,0,.25)}
.page-hero p{color:#eef5f0}
@media(max-width:640px){
 .site-logo{padding:4px 8px}
 .site-logo img{width:240px}
 .page-hero{padding:82px 0}
}

/* V1.3 exact supplied TJH transparent logo */
.site-logo{background:transparent!important;box-shadow:none!important;padding:0!important;border-radius:0!important}
.site-logo img{width:430px!important;max-width:100%;height:auto!important;object-fit:contain}
@media(max-width:1100px){.site-logo img{width:350px!important}}
@media(max-width:640px){.site-logo img{width:255px!important}}
/* v1.4 service pages and official footer logo */
.footer-logo img{width:360px;max-width:100%;height:auto;object-fit:contain;background:transparent!important}
.tick-list{list-style:none;padding:0;margin:24px 0}.tick-list li{padding:10px 0 10px 30px;position:relative;border-bottom:1px solid rgba(0,0,0,.08)}.tick-list li:before{content:'✓';position:absolute;left:0;color:#7fa53b;font-weight:800}.content-image{width:100%;height:520px;object-fit:cover;border-radius:20px}.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}@media(max-width:800px){.split{grid-template-columns:1fr;gap:28px}.content-image{height:340px}}

/* V1.5 Services dropdown navigation */
.main-nav .menu-item-has-children{position:relative}
.main-nav .menu-item-has-children>a{padding-right:17px}
.main-nav .menu-item-has-children>a:before{content:"⌄";position:absolute;right:0;top:50%;transform:translateY(-55%);font-size:13px;color:var(--lime)}
.main-nav .sub-menu{display:none;position:absolute;top:calc(100% + 18px);left:-18px;width:265px;background:#fff;border-radius:14px;padding:10px!important;gap:0!important;box-shadow:0 18px 45px rgba(0,0,0,.18);border:1px solid rgba(8,47,31,.1)}
.main-nav .menu-item-has-children:hover>.sub-menu,.main-nav .menu-item-has-children:focus-within>.sub-menu{display:block}
.main-nav .sub-menu:before{content:"";position:absolute;left:0;right:0;top:-20px;height:20px}
.main-nav .sub-menu li{width:100%}
.main-nav .sub-menu a{display:block;padding:11px 13px;border-radius:9px;color:#153c2a;font-size:14px;line-height:1.25}
.main-nav .sub-menu a:after{display:none}
.main-nav .sub-menu a:hover{background:#eef3df;color:#082f1f}
@media(max-width:980px){
 .main-nav .menu-item-has-children>a:before{right:8px}
 .main-nav .sub-menu{display:block;position:static;width:auto;background:#f3f6eb;border:0;box-shadow:none;border-radius:12px;margin:7px 0 3px!important;padding:7px!important}
 .main-nav .sub-menu a{padding:9px 12px;color:#153c2a}
}


/* =========================================================
   TJH v1.6 — Branded mobile navigation
   ========================================================= */
@media (max-width:980px){
  .main-nav{
    background:#082f1f !important;
    border:1px solid rgba(255,255,255,.12) !important;
    box-shadow:0 18px 45px rgba(0,0,0,.28) !important;
    border-radius:16px !important;
    padding:14px !important;
    overflow:auto;
    max-height:calc(100vh - 115px);
  }

  .main-nav ul{
    gap:0 !important;
  }

  .main-nav li{
    width:100%;
    border-bottom:1px solid rgba(255,255,255,.10);
  }

  .main-nav li:last-child{
    border-bottom:0;
  }

  .main-nav a{
    display:block;
    width:100%;
    padding:14px 14px !important;
    color:#f6f2e8 !important;
    border-radius:9px;
  }

  .main-nav a:hover,
  .main-nav .current-menu-item > a,
  .main-nav .current-menu-ancestor > a{
    background:rgba(149,170,57,.16) !important;
    color:#b4c85b !important;
  }

  .main-nav a:after{
    display:none !important;
  }

  .main-nav .sub-menu{
    position:static !important;
    display:block;
    visibility:visible;
    opacity:1;
    transform:none;
    min-width:0;
    width:100%;
    margin:0 0 8px;
    padding:5px 0 7px 13px !important;
    background:#062619 !important;
    border:0 !important;
    border-left:3px solid #95aa39 !important;
    border-radius:8px !important;
    box-shadow:none !important;
  }

  .main-nav .sub-menu li{
    border-bottom:1px solid rgba(255,255,255,.07);
  }

  .main-nav .sub-menu a{
    color:#dce7e0 !important;
    padding:11px 12px !important;
    font-size:14px !important;
  }

  .main-nav .sub-menu a:hover,
  .main-nav .sub-menu .current-menu-item > a{
    color:#b4c85b !important;
    background:rgba(149,170,57,.10) !important;
  }

  .nav-toggle{
    color:#fff !important;
    background:rgba(255,255,255,.08) !important;
    border-radius:9px;
  }
}

/* Google review CTA */
.google-review-link a{display:inline-block;margin-top:8px;font-weight:700;color:var(--lime2)}
.btn-google-review{background:#fff;color:#173d2c!important;border:1px solid #d9e1dc;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.btn-google-review:hover{background:var(--lime2);color:#10291e!important;border-color:var(--lime2)}
.review-cta{padding:54px 0;background:#f2f5ef}.review-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;background:#fff;border-radius:24px;padding:34px 40px;box-shadow:var(--shadow)}.review-cta h2{margin:4px 0 8px}.review-cta p{margin:0;color:#64756b}.review-cta .btn{white-space:nowrap}@media(max-width:700px){.review-cta-inner{display:block;padding:28px 24px}.review-cta .btn{margin-top:20px;width:100%;text-align:center}}

/* Google review button icon */
.btn-google-review, .google-review-link a {
  display:inline-flex; align-items:center; gap:10px;
}
.google-g {
  display:inline-flex; align-items:center; justify-content:center;
  width:25px; height:25px; border-radius:50%;
  background:#fff; color:#4285F4;
  font-family:Arial,Helvetica,sans-serif; font-size:17px; font-weight:700;
  line-height:1; box-shadow:0 1px 3px rgba(0,0,0,.16);
  flex:0 0 25px;
}

/* Google review image badge */
.google-review-badge{display:block;width:210px;max-width:100%;height:auto;border-radius:8px}
.btn-google-review{padding:8px!important;background:#fff!important}
.google-review-link a{display:inline-block;background:#fff;padding:6px;border-radius:8px}
.google-review-link .google-review-badge{width:175px}

/* Homepage customer reviews */
.testimonials-section{background:#fff}
.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.testimonial-card{background:#f6f8f3;border:1px solid #e1e8dd;border-radius:20px;padding:28px;box-shadow:0 10px 30px rgba(16,41,30,.06)}
.testimonial-card p{color:#52645a;line-height:1.75;margin:12px 0 18px}
.testimonial-card strong{color:#173d2c}
.testimonial-stars{color:#8cad32;font-size:20px;letter-spacing:3px}
@media(max-width:850px){.testimonials-grid{grid-template-columns:1fr}}


/* Live Google Reviews v1.6 */
.google-live-reviews .section-head{align-items:flex-end}
.google-rating-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.google-rating-summary>strong{font-size:36px;color:#173d2c}.google-rating-summary small{width:100%;text-align:right;color:#64756b}
.google-review-author{display:flex;flex-direction:column;gap:4px}.google-review-author a{color:#173d2c;text-decoration:none}.google-review-author small{color:#7a887f;font-size:12px}
.google-source-link{display:inline-block;margin-top:14px;font-weight:700;color:#4e7d22;text-decoration:none;font-size:13px}
.google-review-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:30px}.btn-outline-dark{background:#fff;color:#173d2c!important;border:1px solid #bfcbbf}
.google-review-card p{white-space:pre-line}.google-review-card{height:100%}
@media(max-width:700px){.google-rating-summary{justify-content:flex-start}.google-rating-summary small{text-align:left}.google-review-actions .btn{width:100%;text-align:center}}
