/*
Theme Name: HealthTipsExpress Modern
Theme URI: https://healthtipsexpress.com/
Author: HealthTipsExpress
Description: Custom WordPress theme based on the supplied HealthTipsExpress design, with dynamic blog posts, categories and WordPress menus.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: healthtipsexpress
*/

  :root{
    --green-deep:#0F3D2E;
    --green-mid:#2C7A54;
    --green-bright:#3FA66B;
    --sage:#E6F2E9;
    --white:#FFFFFF;
    --ink:#132A20;
    --ink-soft:#4C6357;

    --font-display:'Fraunces', serif;
    --font-body:'Work Sans', sans-serif;
    --font-mono:'Space Mono', monospace;
  }

  *{margin:0;padding:0;box-sizing:border-box;}

  html{scroll-behavior:smooth;}

  body{
    font-family:var(--font-body);
    color:var(--ink);
    background:var(--white);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }

  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}

  .wrap{max-width:1180px;margin:0 auto;padding:0 32px;}

  /* ---------- Leaf-vein divider signature element ---------- */
  .vein-divider{
    width:100%;
    height:28px;
    display:block;
  }
  .vein-divider svg{width:100%;height:100%;display:block;}

  /* ---------- Header ---------- */
  header{
    position:sticky;top:0;z-index:50;
    background:var(--white);
    border-bottom:1px solid #DCEBDF;
  }
  .nav-row{
    display:flex;align-items:center;justify-content:space-between;
    padding:20px 0;
  }
  .logo{
    font-family:var(--font-display);
    font-weight:700;
    font-size:1.5rem;
    color:var(--green-deep);
    display:flex;
    align-items:center;
    gap:8px;
    letter-spacing:-0.01em;
  }
  .logo .dot{
    width:9px;height:9px;border-radius:50%;
    background:var(--green-bright);
    display:inline-block;
  }
  .nav-links{
    display:flex;gap:36px;
    font-size:0.95rem;
    font-weight:500;
  }
  .nav-links a{
    position:relative;
    color:var(--ink-soft);
    transition:color .2s ease;
  }
  .nav-links a:hover, .nav-links a:focus-visible{color:var(--green-deep);}
  .nav-links a::after{
    content:"";
    position:absolute;left:0;bottom:-6px;
    width:0%;height:2px;
    background:var(--green-bright);
    transition:width .25s ease;
  }
  .nav-links a:hover::after, .nav-links a:focus-visible::after{width:100%;}

  .nav-cta{
    font-size:0.85rem;
    font-weight:600;
    background:var(--green-deep);
    color:var(--white);
    padding:10px 20px;
    border-radius:100px;
    transition:background .2s ease, transform .2s ease;
  }
  .nav-cta:hover{background:var(--green-mid);transform:translateY(-1px);}

  .menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:4px;}
  .menu-toggle span{display:block;width:24px;height:2px;background:var(--green-deep);margin:5px 0;}

  /* ---------- Hero ---------- */
  .hero{
    background:var(--sage);
    padding:88px 0 0;
    overflow:hidden;
    position:relative;
  }
  .hero-inner{
    display:grid;
    grid-template-columns:1.1fr 0.9fr;
    gap:48px;
    align-items:center;
    padding-bottom:64px;
  }
  .eyebrow{
    font-family:var(--font-mono);
    font-size:0.78rem;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--green-mid);
    display:flex;align-items:center;gap:10px;
    margin-bottom:20px;
  }
  .eyebrow::before{
    content:"";
    width:20px;height:1px;
    background:var(--green-mid);
    display:inline-block;
  }
  .hero h1{
    font-family:var(--font-display);
    font-weight:600;
    font-size:clamp(2.4rem, 4.4vw, 3.6rem);
    line-height:1.08;
    color:var(--green-deep);
    letter-spacing:-0.01em;
    margin-bottom:22px;
  }
  .hero h1 em{
    font-style:italic;
    color:var(--green-bright);
  }
  .hero p.lead{
    font-size:1.08rem;
    color:var(--ink-soft);
    max-width:480px;
    margin-bottom:32px;
  }
  .hero-actions{display:flex;gap:16px;flex-wrap:wrap;align-items:center;}
  .btn-primary{
    background:var(--green-deep);
    color:var(--white);
    padding:14px 28px;
    border-radius:100px;
    font-weight:600;
    font-size:0.95rem;
    transition:background .2s ease, transform .2s ease;
    display:inline-block;
  }
  .btn-primary:hover{background:var(--green-mid);transform:translateY(-2px);}
  .btn-ghost{
    color:var(--green-deep);
    font-weight:600;
    font-size:0.95rem;
    padding:14px 8px;
    border-bottom:2px solid var(--green-deep);
  }

  .hero-stats{
    display:flex;
    gap:28px;
    margin-top:44px;
    padding-top:28px;
    border-top:1px solid #CBE3D2;
  }
  .hero-stats div{display:flex;flex-direction:column;}
  .hero-stats strong{
    font-family:var(--font-display);
    font-size:1.7rem;
    color:var(--green-deep);
  }
  .hero-stats span{
    font-size:0.8rem;
    color:var(--ink-soft);
  }

  .hero-visual{
    position:relative;
    aspect-ratio:1/1.05;
    border-radius:24px;
    background:var(--green-deep);
    overflow:hidden;
  }
  .hero-visual .card-daily{
    position:absolute;
    inset:0;
    display:flex;flex-direction:column;justify-content:space-between;
    padding:30px;
  }
  .hero-visual .badge{
    align-self:flex-start;
    background:rgba(255,255,255,0.12);
    color:var(--sage);
    font-family:var(--font-mono);
    font-size:0.72rem;
    padding:7px 14px;
    border-radius:100px;
    letter-spacing:0.05em;
  }
  .hero-visual .quote{
    font-family:var(--font-display);
    color:var(--white);
    font-size:1.5rem;
    line-height:1.35;
    font-weight:500;
  }
  .hero-visual .quote span{color:var(--green-bright);}
  .hero-visual .attribution{
    color:#B9D8C6;
    font-size:0.85rem;
  }
  .leaf-bg{
    position:absolute;
    right:-40px;bottom:-40px;
    width:220px;height:220px;
    opacity:0.5;
  }

  /* ---------- Section shared ---------- */
  section{padding:88px 0;}
  .section-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:24px;
    margin-bottom:48px;
    flex-wrap:wrap;
  }
  .section-head h2{
    font-family:var(--font-display);
    font-weight:600;
    font-size:clamp(1.8rem, 3vw, 2.4rem);
    color:var(--green-deep);
    letter-spacing:-0.01em;
  }
  .section-head p{
    max-width:420px;
    color:var(--ink-soft);
    font-size:0.98rem;
  }

  /* ---------- About ---------- */
  .about{background:var(--white);}
  .about-grid{
    display:grid;
    grid-template-columns:0.85fr 1.15fr;
    gap:64px;
    align-items:start;
  }
  .about-portrait{
    position:relative;
    background:var(--sage);
    border-radius:20px;
    aspect-ratio:4/5;
    display:flex;
    align-items:flex-end;
    padding:24px;
    overflow:hidden;
  }
  .about-portrait::before{
    content:"";
    position:absolute;
    top:0;left:0;right:0;bottom:0;
    background:radial-gradient(circle at 30% 20%, rgba(63,166,107,0.35), transparent 60%);
  }
  .about-portrait .tag{
    position:relative;
    background:var(--white);
    padding:14px 18px;
    border-radius:12px;
    font-family:var(--font-mono);
    font-size:0.8rem;
    color:var(--green-deep);
    box-shadow:0 12px 30px -12px rgba(15,61,46,0.35);
  }
  .about-copy h2{margin-bottom:6px;}
  .about-copy .eyebrow{margin-bottom:14px;}
  .about-copy p{
    color:var(--ink-soft);
    margin-bottom:18px;
    font-size:1.02rem;
    max-width:560px;
  }
  .about-pillars{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
    margin-top:32px;
  }
  .pillar{
    border-top:2px solid var(--green-bright);
    padding-top:14px;
  }
  .pillar h4{
    font-family:var(--font-display);
    font-size:1.05rem;
    color:var(--green-deep);
    margin-bottom:6px;
  }
  .pillar p{font-size:0.9rem;color:var(--ink-soft);margin:0;}

  /* ---------- Categories ---------- */
  .categories{background:var(--sage);}
  .cat-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:24px;
  }
  .cat-card{
    background:var(--white);
    border-radius:18px;
    padding:30px 26px;
    position:relative;
    overflow:hidden;
    transition:transform .25s ease, box-shadow .25s ease;
    border:1px solid #DCEBDF;
  }
  .cat-card:hover{
    transform:translateY(-6px);
    box-shadow:0 24px 40px -20px rgba(15,61,46,0.28);
  }
  .cat-num{
    font-family:var(--font-mono);
    font-size:0.75rem;
    color:var(--green-bright);
    letter-spacing:0.05em;
    margin-bottom:18px;
    display:block;
  }
  .cat-icon{
    width:46px;height:46px;
    border-radius:12px;
    background:var(--sage);
    display:flex;align-items:center;justify-content:center;
    margin-bottom:20px;
  }
  .cat-icon svg{width:22px;height:22px;stroke:var(--green-deep);}
  .cat-card h3{
    font-family:var(--font-display);
    font-size:1.25rem;
    color:var(--green-deep);
    margin-bottom:8px;
  }
  .cat-card p{
    color:var(--ink-soft);
    font-size:0.9rem;
    margin-bottom:18px;
  }
  .cat-link{
    font-size:0.85rem;
    font-weight:600;
    color:var(--green-deep);
    display:inline-flex;
    align-items:center;
    gap:6px;
  }
  .cat-link svg{width:14px;height:14px;stroke:var(--green-deep);transition:transform .2s ease;}
  .cat-card:hover .cat-link svg{transform:translateX(4px);}

  /* ---------- Guest contributor CTA strip ---------- */
  .contribute{
    background:var(--green-deep);
    border-radius:24px;
    padding:56px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:32px;
    flex-wrap:wrap;
    margin-top:72px;
  }
  .contribute h3{
    font-family:var(--font-display);
    color:var(--white);
    font-size:1.7rem;
    max-width:440px;
    line-height:1.25;
  }
  .contribute p{
    color:#B9D8C6;
    max-width:380px;
    font-size:0.95rem;
  }
  .contribute .btn-primary{background:var(--green-bright);color:var(--green-deep);}
  .contribute .btn-primary:hover{background:var(--white);}

  /* ---------- Footer ---------- */
  footer{
    background:var(--green-deep);
    color:#CFE3D6;
    padding:72px 0 0;
  }
  .footer-grid{
    display:grid;
    grid-template-columns:1.4fr 1fr 1fr 1fr;
    gap:40px;
    padding-bottom:56px;
    border-bottom:1px solid rgba(255,255,255,0.12);
  }
  .footer-brand .logo{color:var(--white);margin-bottom:16px;}
  .footer-brand p{
    font-size:0.9rem;
    color:#A9C9B6;
    max-width:280px;
    margin-bottom:20px;
  }
  .footer-socials{display:flex;gap:12px;}
  .footer-socials a{
    width:36px;height:36px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,0.2);
    display:flex;align-items:center;justify-content:center;
    transition:background .2s ease, border-color .2s ease;
  }
  .footer-socials a:hover{background:var(--green-bright);border-color:var(--green-bright);}
  .footer-socials svg{width:16px;height:16px;stroke:var(--white);}

  .footer-col h5{
    font-family:var(--font-mono);
    font-size:0.75rem;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:#7FB596;
    margin-bottom:18px;
  }
  .footer-col ul{list-style:none;}
  .footer-col li{margin-bottom:12px;}
  .footer-col a{
    font-size:0.92rem;
    color:#CFE3D6;
    transition:color .2s ease;
  }
  .footer-col a:hover{color:var(--white);}

  .footer-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:26px 0;
    font-size:0.82rem;
    color:#7FA98D;
    flex-wrap:wrap;
    gap:12px;
  }
  .footer-bottom a{color:#A9C9B6;}
  .footer-bottom a:hover{color:var(--white);}

  /* ---------- Responsive ---------- */
  @media (max-width:900px){
    .nav-links{display:none;}
    .menu-toggle{display:block;}
    .hero-inner{grid-template-columns:1fr;}
    .hero-stats{flex-wrap:wrap;}
    .about-grid{grid-template-columns:1fr;}
    .cat-grid{grid-template-columns:1fr 1fr;}
    .footer-grid{grid-template-columns:1fr 1fr;}
    .contribute{padding:36px;}
  }
  @media (max-width:560px){
    .wrap{padding:0 20px;}
    .cat-grid{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr;}
    .contribute{flex-direction:column;align-items:flex-start;}
  }

  @media (prefers-reduced-motion: reduce){
    *{transition:none !important;}
    html{scroll-behavior:auto;}
  }

  a:focus-visible, button:focus-visible{
    outline:2px solid var(--green-bright);
    outline-offset:3px;
  }



/* WordPress dynamic content */
.nav-links { list-style:none; margin:0; padding:0; }
.nav-links li { display:inline-block; position:relative; }
.nav-links li a { position:relative; color:var(--ink-soft); }
.hte-post-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.hte-post-card { border:1px solid #DCEBDF; border-radius:18px; overflow:hidden; background:#fff; transition:transform .25s ease, box-shadow .25s ease; }
.hte-post-card:hover { transform:translateY(-5px); box-shadow:0 20px 36px -20px rgba(15,61,46,.25); }
.hte-thumb { display:block; aspect-ratio:16/10; background:var(--sage); overflow:hidden; }
.hte-thumb img { width:100%; height:100%; object-fit:cover; }
.hte-thumb-placeholder { height:100%; display:flex; align-items:center; justify-content:center; color:var(--green-mid); font-family:var(--font-display); font-size:1.4rem; }
.hte-post-body { padding:22px; }
.hte-meta { font-family:var(--font-mono); font-size:.7rem; color:var(--green-mid); margin-bottom:9px; }
.hte-post-body h3 { font-family:var(--font-display); font-size:1.35rem; line-height:1.25; color:var(--green-deep); margin-bottom:10px; }
.hte-post-body p { color:var(--ink-soft); font-size:.9rem; margin-bottom:15px; }
.hte-post-body a { color:inherit; }
.footer-col .menu { list-style:none; padding:0; margin:0; }
.footer-col .menu li { margin-bottom:12px; }
@media (max-width:900px){ .hte-post-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .hte-post-grid{grid-template-columns:1fr;} }
