/*
 Theme Name:   Bricks Child Theme
 Theme URI:    https://bricksbuilder.io/
 Description:  Use this child theme to extend Bricks.
 Author:       Bricks
 Author URI:   https://bricksbuilder.io/
 Template:     bricks
 Version:      1.1
 Text Domain:  bricks
*/

/* ================================================================
   NEW GENESIS CENTER — GLOBAL DESIGN SYSTEM CSS
   Paste this ENTIRE file into: Bricks > Settings > Custom Code > Custom CSS

   This is the single source of truth for every class referenced in
   bricks-header.html, bricks-footer.html, and all bricks-page-*.html
   files. Paste it in once, site-wide, before building any page.
   ================================================================ */

   /* ---------------------------------------------------------------
      1. Design tokens (color variables)
      --------------------------------------------------------------- */
   :root{
     --ngc-green:#1F4D3F;
     --ngc-blue:#2E5C7A;
     --ngc-action:#0d7a39;
     /*--ngc-sage:#E7EFE9;*/
     --ngc-sage:#e9f1de;
     /*--ngc-sky:#EAF2F5;*/
     --ngc-sky:#def0f4;
     --ngc-neutral:#FAF8F4;
     --text-dark:#505050;
     --text-muted:#5A6B63;
     --border:#DDE6DF;
   }
   
   /* plus-jakarta-regular */
   @font-face {
     font-family: 'Plus Jakarta Sans';
     font-style: normal;
     font-weight: 400;
     src: url('https://ngchealthcare.com/wp-content/uploads/2026/09/plus-jakarta-sans-200-normal-be2572.woff2') format('woff2');
   }
   
   /* plus-jakarta-bold */
   @font-face {
     font-family: 'Plus Jakarta Sans Semi Bold';
     font-style: normal;
     font-weight: 600;
     src: url('https://ngchealthcare.com/wp-content/uploads/2026/09/plus-jakarta-sans-200-normal-be2572.woff2') format('woff2');
   }
   
   /* plus-jakarta-bold */
   @font-face {
     font-family: 'Plus Jakarta Sans Bold';
     font-style: normal;
     font-weight: 700;
     src: url('https://ngchealthcare.com/wp-content/uploads/2026/09/plus-jakarta-sans-200-normal-be2572.woff2') format('woff2');
   }
   
   /* ---------------------------------------------------------------
      2. Reset & base typography
      --------------------------------------------------------------- */
   *{box-sizing:border-box;}
   body{margin:0;font-family:'Plus Jakarta Sans',sans-serif;color:var(--text-dark);background:var(--ngc-neutral);line-height:1.6;font-size:18px;}
   h1,h2,h3,h4{font-family:'Plus Jakarta Sans Bold',serif;font-weight:600;line-height:1.15;margin:0 0 16px;}
   p{margin:0 0 16px;color:var(--text-muted);}
   a{color:var(--ngc-blue);text-decoration:none;}
   
   .single-post h3 {
      color: #038ab0; 
   }
   
   /* ---------------------------------------------------------------
      3. Layout utilities
      --------------------------------------------------------------- */
   .container{max-width: 1400px;margin:0 auto;padding:0 24px;}
   section{padding:50px 20px;}
   .bg-white{background:#fff;}
   .bg-neutral{background:var(--ngc-neutral);}
   .bg-sky{background:var(--ngc-sky);}
   .bg-sage{background:var(--ngc-sage);}
   .section-heading{text-align:center;max-width:640px;margin:0 auto 48px;}
   .section-heading h2{font-size:32px;}
   .narrow{max-width:760px;margin:0 auto;}
   .center{text-align:center;}
   
   /* ---------------------------------------------------------------
      4. Buttons
      --------------------------------------------------------------- */
   .btn{display:inline-block;padding:14px 30px;border-radius:6px;font-weight:600;text-decoration:none;border:none;cursor:pointer;transition:transform .15s ease, box-shadow .15s ease;}
   .btn-action{background:#1C2B24;color:#fff;}
   .btn-action:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(63,143,95,.35);}
   .btn-outline{background:#fff;color:#1C2B24;border:2px solid var(--ngc-green);}
   
   /* ---------------------------------------------------------------
      5. Announcement bar (global, site-wide — sits in bricks-header.html)
      --------------------------------------------------------------- */
   .announce{background:var(--ngc-action);color:#fff;text-align:center;padding:10px 16px;font-weight:500;}
   .announce a{color:#fff;text-decoration:underline;font-weight:600;margin-left:8px;}
   .announce p {color:#fff;margin:0;padding:0;}
   
   /* ---------------------------------------------------------------
      6. Header / nav (global — bricks-header.html)
      --------------------------------------------------------------- */
   header{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;}
   .header-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;}

   
   .header-cta{display:flex;align-items:center;gap:20px;}
   .phone-link{font-weight:600;color:var(--ngc-blue);}
   
   /* ---------------------------------------------------------------
      7. Hero (base + two modifiers)
      .hero            → base: sage background, generous padding
      .hero-centered   → single-column, centered text (8 of 10 pages)
      .hero-split      → two-column hero+image grid (Home, Functional Medicine)
      --------------------------------------------------------------- */
   .hero{padding:50px 0;}
   .hero h1{font-size:40px;}
   .hero p{font-size:18px;color:var(--text-dark);opacity:.85;}
   .hero .tagline{letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--ngc-action);margin-bottom:10px;}
   
   .hero-centered{text-align:center;}
   .hero-centered .narrow{margin:0 auto;}
   
   .hero-split .hero-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;}
   .hero-split h1{font-size:40px;}
   .hero-image img{width:100%;border-radius:16px;box-shadow:0 20px 50px rgba(31,77,63,.18);}
   .home-hero-image img {box-shadow: none !important;
   }
   
   .no-bg-image{
       background-image: none !important;
   }
   /* ---------------------------------------------------------------
      8. Credibility strip (Home, Functional Medicine)
      --------------------------------------------------------------- */
   .credibility{background:#fff;padding:32px 0;}
   .credibility-inner{display:flex;justify-content:space-around;flex-wrap:wrap;gap:24px;text-align:center;}
   .cred-item{flex:1;min-width:180px;}
   .cred-item .cred-icon{font-size:24px;margin-bottom:8px;display:block;}
   .cred-item p{margin:0;font-weight:600;}
   
   /* ---------------------------------------------------------------
      9. Tile grid (image + heading + link card)
      Used by: Home ("What's going on" tiles), Services Hub (5 tiles),
      Massage & Sauna (3 modality cards)
      --------------------------------------------------------------- */
   .tile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
   .tile{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 16px rgba(31,77,63,.08);transition:transform .15s ease, box-shadow .15s ease;}
   .tile:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(31,77,63,.15);}
   .tile img{width:100%;height:180px;object-fit:cover;display:block;}
   .tile-body{padding:22px;}
   .tile-body h3{font-size:20px;margin-bottom:8px;}
   .tile-body p{margin-bottom:14px;}
   .tile-body a{font-weight:600;font-size:16px;}
   .tile-body h3 a {font-size:20px;}
   
   /* ---------------------------------------------------------------
      10. Category grid (Home — "Seeking Functional Medicine Therapy?")
      --------------------------------------------------------------- */
   .category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
   .cat-card{background:#fff;border-radius:12px;padding:28px 22px;box-shadow:0 4px 16px rgba(31,77,63,.06);}
   .cat-card h3{font-size:20px;margin-bottom:14px;color:var(--ngc-green);}
   .cat-card ul{margin:0;padding-left:18px;color:var(--text-muted);}
   .cat-card li{margin-bottom:6px;}
   
   /* ---------------------------------------------------------------
      11. Two-column text/image (Functional Medicine, Skincare)
      --------------------------------------------------------------- */
   .two-col{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
   .two-col img{width:100%;border-radius:16px;box-shadow:0 20px 50px rgba(31,77,63,.15);}
   .two-col ul{padding-left:20px;margin:0;}
   .two-col li{margin-bottom:10px;color:var(--text-muted);}
   
   /* ---------------------------------------------------------------
      12. Two-column checklist (Functional Medicine services)
      --------------------------------------------------------------- */
   .checklist-2col{display:grid;grid-template-columns:1fr 1fr;gap:6px 40px;list-style:none;padding:0;margin:0;}
   .checklist-2col li{padding:12px 0 12px 30px;position:relative;border-bottom:1px solid var(--border);color:var(--text-dark);}
   .checklist-2col li::before{content:"✓";position:absolute;left:0;color:var(--ngc-action);font-weight:700;}
   
   /* ---------------------------------------------------------------
      13. Bio card (Functional Medicine — "Meet Patrice")
      --------------------------------------------------------------- */
   .bio-card{display:grid;grid-template-columns:280px 1fr;gap:44px;align-items:center;}
   .bio-card img{width:100%;border-radius:16px;box-shadow:0 12px 30px rgba(31,77,63,.15);}
   .bio-card h3{font-size:26px;}
   
   /* ---------------------------------------------------------------
      14. Comparison / stat cards (Functional Medicine — "You Are Not Alone")
      --------------------------------------------------------------- */
   .comparison{display:flex;justify-content:center;gap:32px;flex-wrap:wrap;margin:36px 0;}
   .stat-card{background:var(--ngc-sage);border-radius:16px;padding:36px 44px;text-align:center;min-width:220px;}
   .stat-card .stat-num{font-family:'Fraunces',serif;font-size:38px;font-weight:600;color:var(--ngc-green);display:block;margin-bottom:6px;}
   .stat-card.highlight{background:var(--ngc-green);}
   .stat-card.highlight .stat-num,.stat-card.highlight .stat-label{color:#fff;}
   .stat-label{font-size:15px;color:var(--text-muted);font-weight:600;}
   
   /* ---------------------------------------------------------------
      15. Icon card (Skincare — Value Props, 3-col, no image)
      --------------------------------------------------------------- */
   .icon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
   .icon-card{background:#fff;border-radius:12px;padding:32px 24px;text-align:center;box-shadow:0 4px 16px rgba(31,77,63,.08);}
   .icon-card .icon-circle{width:56px;height:56px;border-radius:50%;background:var(--ngc-sage);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-size:22px;color:var(--ngc-green);}
   .icon-card h3{font-size:20px;}
   .icon-card p{margin-bottom:0;}
   
   /* ---------------------------------------------------------------
      16. Tag list / chips (Skincare — Skin Peels)
      --------------------------------------------------------------- */
   .tag-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;}
   .tag{background:var(--ngc-sage);color:var(--ngc-green);font-weight:600;padding:8px 16px;border-radius:20px;}
   
   /* ---------------------------------------------------------------
      17. Placeholder gallery grid (Skincare — Treatment Gallery)
      --------------------------------------------------------------- */
   .gallery-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;}
   .gallery-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 16px rgba(31,77,63,.08);}
   .gallery-placeholder{background:var(--ngc-sky);height:140px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);text-align:center;padding:0 12px;}
   .gallery-card-body{padding:16px;}
   .gallery-card-body h4{font-size:15px;margin:0 0 6px;color:var(--ngc-green);}
   .gallery-card-body p{margin:0;}
   
   /* ---------------------------------------------------------------
      18. Plain bordered pillar card (Health Coaching 2x2, About 3x2)
      --------------------------------------------------------------- */
   .pillar-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
   .pillar-grid-6{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
   .pillar-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:32px;box-shadow:0 4px 16px rgba(31,77,63,.06);}
   .pillar-card h3{font-size:18px;}
   .pillar-card p{margin-bottom:0;}
   
   /* ---------------------------------------------------------------
      19. Team grid (About — Our Team)
      --------------------------------------------------------------- */
   .team-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;}
   .team-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 16px rgba(31,77,63,.08);}
   .team-card img{width:100%;height:260px;object-fit:cover;display:block;}
   .team-card-body{padding:28px;}
   .team-card h3{font-size:20px;margin-bottom:4px;}
   .team-cred{color:var(--ngc-blue);font-weight:600;margin-bottom:14px;}
   .team-card p{}
   
   /* ---------------------------------------------------------------
      20. Testimonial — boxed card version (Home)
      --------------------------------------------------------------- */
   .testimonial{background:#fff;border-radius:16px;padding:40px;max-width:760px;margin:0 auto;text-align:center;box-shadow:0 4px 20px rgba(31,77,63,.08);}
   .testimonial p{font-family:'Fraunces',serif;font-style:italic;font-size:20px;color:var(--text-dark);}
   .testimonial cite{font-style:normal;font-weight:600;color:var(--ngc-blue);}
   
   /* ---------------------------------------------------------------
      21. Quote block — plain italic version (About)
      --------------------------------------------------------------- */
   .quote-block{max-width:760px;margin:0 auto 56px;text-align:center;font-family:'Fraunces',serif;font-style:italic;font-size:22px;color:var(--ngc-green);}
   .quote-block cite{display:block;margin-top:16px;font-family:'Inter',sans-serif;font-style:normal;font-weight:600;color:var(--text-muted);}
   
   /* ---------------------------------------------------------------
      22. Video grid (Home = 3-col default, About = .video-grid-2col modifier)
      --------------------------------------------------------------- */
   .video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:48px;}
   .video-grid-2col{grid-template-columns:1fr 1fr;max-width:760px;margin:0 auto 48px;}
   .video-card{border-radius:12px;overflow:hidden;background:#000;position:relative;}
   .video-card img{width:100%;display:block;opacity:.85;}
   .play-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:52px;height:52px;background:rgba(255,255,255,.9);border-radius:50%;display:flex;align-items:center;justify-content:center;}
   .play-icon::before{content:"";border-style:solid;border-width:9px 0 9px 16px;border-color:transparent transparent transparent var(--ngc-green);margin-left:4px;}
   .video-caption{color:#fff;padding:10px 12px;position:absolute;bottom:0;background:linear-gradient(transparent,rgba(0,0,0,.75));width:100%;}
   
   /* ---------------------------------------------------------------
      23. Blog post grid (Home — Recent Blog Posts)
      --------------------------------------------------------------- */
   .post-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:40px;}
   .post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
   .post-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 16px rgba(31,77,63,.06);}
   .post-card img{width:100%;height:170px;object-fit:cover;display:block;}
   .post-card-body{padding:20px;}
   .post-card-body h3{font-size:16px;margin-bottom:8px;}
   .post-card-body p{margin-bottom:12px;}
   
   /* ---------------------------------------------------------------
      24. FAQ accordion (FAQ page — native <details>/<summary>)
      --------------------------------------------------------------- */
   .faq-list{max-width:800px;margin:0 auto;}
   .faq-item{border-bottom:1px solid var(--border);padding:22px 0;}
   .faq-item summary{font-family:'Fraunces',serif;font-weight:600;font-size:18px;color:var(--ngc-green);cursor:pointer;list-style:none;position:relative;padding-right:34px;}
   .faq-item summary::-webkit-details-marker{display:none;}
   .faq-item summary::after{content:"+";position:absolute;right:0;top:-2px;font-size:24px;color:var(--ngc-action);}
   .faq-item[open] summary::after{content:"–";}
   .faq-item p{margin-top:14px;font-size:15px;margin-bottom:0;}
   
   /* ---------------------------------------------------------------
      25. Contact form + info card (Contact page)
      --------------------------------------------------------------- */
   .contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:start;}
   .contact-form{display:flex;flex-direction:column;gap:16px;}
   .contact-form label{font-weight:600;color:var(--ngc-green);margin-bottom:4px;display:block;}
   .contact-form input,.contact-form textarea,.contact-form select{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:8px;font-family:'Inter',sans-serif;color:var(--text-dark);}
   .contact-form textarea{min-height:130px;resize:vertical;}
   .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
   .info-card{background:var(--ngc-sage);border-radius:16px;padding:36px;}
   .info-card h3{font-size:18px;margin-bottom:6px;}
   .info-card p{color:var(--text-dark);margin-bottom:20px;}
   .info-card .map{width:100%;height:200px;border-radius:12px;margin-bottom:20px;border:0;display:block;background:var(--ngc-sky);}
   
   /* ---------------------------------------------------------------
      26. Legal disclaimer strip (Colon Hydrotherapy)
      --------------------------------------------------------------- */
   .disclaimer{background:var(--ngc-neutral);padding:40px 0;border-top:1px solid var(--border);}
   .disclaimer p{font-size:14px;color:var(--text-muted);max-width:900px;margin:0 auto;}
   
   /* ---------------------------------------------------------------
      27. CTA band (every page)
      --------------------------------------------------------------- */
   .cta-band{color:#fff;text-align:center;padding:80px 0;}
   .cta-band h2{color:#fff;font-size:32px;}
   .cta-band p{color:rgba(255,255,255,.85);font-size:17px;margin-bottom:28px;}
   
   /* ---------------------------------------------------------------
      28. Footer (global — bricks-footer.html)
      --------------------------------------------------------------- */
   footer{background:#008aaf;color:#fff;padding:64px 0 24px;}
   .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;margin-bottom:40px;font-weight: 500;}
   footer h4{color:#fff;font-size:16px;margin-bottom:16px;}
   footer ul{list-style:none;padding:0;margin:0;}
   footer li{margin-bottom:10px;}
   footer a{color:#fff;}
   footer a:hover{color:#fff;}
   .footer-logo img{height:44px;margin-bottom:16px;filter:brightness(0) invert(1);}
   .footer-bottom{border-top:1px solid rgba(255,255,255,.15);padding-top:20px;display:flex;justify-content:space-between;font-size:14px;color:#fff;font-weight: 500;flex-wrap:wrap;gap:10px;}
   
   /* ---------------------------------------------------------------
      29. Responsive (single mobile breakpoint, 900px)
      --------------------------------------------------------------- */
   @media(max-width:900px){
     
     .hero-split .hero-inner{grid-template-columns:1fr;}
     .tile-grid,.category-grid,.icon-grid,.video-grid,.post-grid,
     .two-col,.bio-card,.checklist-2col,.pillar-grid-2,.pillar-grid-6,
     .team-grid,.contact-grid,.form-row{
       grid-template-columns:1fr;
     }
     .gallery-grid{grid-template-columns:1fr 1fr;}
     .footer-grid{grid-template-columns:1fr 1fr;}
   }
