/*
Theme Name: Live Right Today
Theme URI: https://liverighttoday.com
Author: Caliber Creative
Author URI: https://calibercreative.com
Description: Custom WordPress theme for Live Right Today — mental health, addiction recovery, and counseling services. Built on the "Steady Ground" design system.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: Proprietary
Text Domain: live-right-today
*/


  :root{
    --navy:#042f47;
    --navy-deep:#021e30;
    --teal:#1c9ebd;
    --gold:#fdb713;
    --orange:#f6851f;
    --cream:#FBF6EE;
    --ink:#1c2b33;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{font-family:'Nunito Sans',sans-serif;background:var(--cream);color:var(--ink);line-height:1.65;-webkit-font-smoothing:antialiased;}
  h1,h2,h3{font-family:'Fredoka',sans-serif;color:var(--navy);font-weight:600;line-height:1.15;}
  a{text-decoration:none;color:inherit;}
  img{max-width:100%;display:block;}
  .wrap{max-width:1200px;margin:0 auto;padding:0 32px;}
  .eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12.5px;font-weight:700;color:var(--teal);margin-bottom:14px;}

  header{padding:16px 0;background:var(--navy);position:relative;z-index:10;}
  nav{display:flex;align-items:center;justify-content:space-between;}
  nav .logo img{height:96px;}
  nav ul{display:flex;gap:20px;list-style:none;}
  nav ul li a{font-weight:700;font-size:13.5px;color:var(--cream);white-space:nowrap;}
  header .wrap{max-width:1340px;}
  nav .btn{padding:11px 20px;font-size:13.5px;}
  .btn{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;border-radius:14px;font-weight:700;font-size:14.5px;transition:transform .18s ease;}
  .btn-gold{background:var(--gold);color:var(--navy);}
  .btn-gold:hover{transform:translateY(-2px);}
  .btn-outline{border:1.5px solid rgba(255,255,255,.5);color:var(--cream);}
  .btn-outline:hover{background:rgba(255,255,255,.1);}

  /* HERO */
  .hero{background:var(--navy);padding:80px 0 0;position:relative;overflow:hidden;}
  .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center;padding-bottom:90px;}
  .hero h1{color:var(--cream);font-size:clamp(38px,5.4vw,60px);}
  .hero h1 span{color:var(--gold);}
  .hero p{color:#c3d3da;font-size:18px;max-width:480px;margin:22px 0 34px;}
  .hero-ctas{display:flex;gap:16px;}
  .hero-badge{
    display:inline-flex;align-items:center;gap:10px;background:rgba(28,158,189,.18);
    border:1px solid rgba(28,158,189,.4);color:#8fd6e8;padding:8px 16px;border-radius:100px;
    font-size:13px;font-weight:700;margin-bottom:24px;
  }
  .hero-badge .dot{width:8px;height:8px;border-radius:50%;background:var(--teal);}
  .hero-photo{position:relative;}
  .hero-photo .stack{position:relative;border-radius:28px;overflow:hidden;height:440px;}
  .hero-photo img{width:100%;height:100%;object-fit:cover;}
  .hero-photo .ring{
    position:absolute;width:120px;height:120px;border-radius:50%;
    background:var(--gold);top:-30px;right:-30px;z-index:-1;opacity:.9;
  }

  .wave{display:block;width:100%;line-height:0;}

  /* TRUST STRIP */
  .strip{background:var(--cream);padding:70px 0;}
  .strip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;text-align:center;}
  .strip-card{background:#fff;border-radius:20px;padding:36px 26px;box-shadow:0 20px 40px -28px rgba(4,47,71,.25);}
  .strip-card .ic{width:56px;height:56px;border-radius:16px;background:var(--navy);color:var(--gold);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-size:24px;}
  .strip-card h3{font-size:19px;margin-bottom:8px;}
  .strip-card p{font-size:14.5px;color:#5c6a70;}

  /* WHAT WE DO */
  .section{padding:100px 0;}
  .two-col{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
  .two-col h2{font-size:clamp(30px,4vw,42px);margin-bottom:20px;}
  .two-col p.body{color:#4c5a62;font-size:16px;margin-bottom:24px;}
  .checklist{list-style:none;margin-bottom:32px;}
  .checklist li{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px;font-size:15.5px;}
  .checklist li::before{content:"";width:22px;height:22px;flex-shrink:0;margin-top:1px;border-radius:8px;background:var(--teal);
    -webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="M9 16.2l-3.5-3.5L4 14.2 9 19.2 20 8.2l-1.5-1.5z"/></svg>') center/13px no-repeat;
    mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="M9 16.2l-3.5-3.5L4 14.2 9 19.2 20 8.2l-1.5-1.5z"/></svg>') center/13px no-repeat;}
  .photo-round{border-radius:28px;overflow:hidden;height:420px;position:relative;}
  .photo-round img{width:100%;height:100%;object-fit:cover;}

  /* SERVICES */
  .services{background:var(--navy-deep);padding:100px 0;}
  .services-head{text-align:center;max-width:600px;margin:0 auto 56px;}
  .services-head .eyebrow{justify-content:center;display:flex;}
  .services-head h2{color:var(--cream);font-size:clamp(30px,4vw,42px);}
  .services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
  .service-card{background:#0a3d59;border-radius:20px;padding:30px 24px;transition:transform .2s ease, background .2s ease;}
  .service-card:hover{transform:translateY(-6px);background:#0d4a6b;}
  .service-card .ic{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:20px;}
  .service-card:nth-child(1) .ic{background:var(--gold);color:var(--navy);}
  .service-card:nth-child(2) .ic{background:var(--teal);color:var(--navy);}
  .service-card:nth-child(3) .ic{background:var(--orange);color:var(--navy);}
  .service-card:nth-child(4) .ic{background:#c3d3da;color:var(--navy);}
  .service-card h3{color:var(--cream);font-size:19px;margin-bottom:10px;}
  .service-card p{color:#93a9b2;font-size:14.5px;}

  /* ABOUT */
  .about{padding:110px 0;}
  .about .two-col{align-items:center;}
  .about h2{font-size:clamp(30px,4vw,42px);}
  .about p.body{color:#4c5a62;margin-bottom:20px;}
  .about-photo{position:relative;border-radius:28px;overflow:hidden;height:440px;}
  .about-photo img{width:100%;height:100%;object-fit:cover;}
  .quote-chip{
    position:absolute;bottom:-24px;left:-24px;background:var(--gold);color:var(--navy);
    padding:22px 26px;border-radius:20px;max-width:260px;font-weight:700;font-size:15px;
    box-shadow:0 20px 40px -20px rgba(0,0,0,.3);
  }

  /* PROCESS */
  .process{background:#f0e9d9;padding:110px 0;}
  .process-head{text-align:center;max-width:600px;margin:0 auto 60px;}
  .process-head .eyebrow{justify-content:center;display:flex;}
  .process-head h2{font-size:clamp(30px,4vw,42px);}
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;position:relative;}
  .step{text-align:center;position:relative;}
  .step .circle{width:110px;height:110px;border-radius:50%;background:var(--navy);color:var(--gold);
    display:flex;align-items:center;justify-content:center;font-family:'Fredoka',sans-serif;font-size:32px;font-weight:700;
    margin:0 auto 22px;position:relative;}
  .step h3{font-size:18px;margin-bottom:8px;}
  .step p{font-size:14px;color:#5c6a70;padding:0 6px;}

  /* STORIES */
  .stories{padding:110px 0;}
  .stories-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:46px;flex-wrap:wrap;gap:20px;}
  .stories-head h2{font-size:clamp(28px,3.6vw,40px);}
  .story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
  .story-card{border-radius:22px;overflow:hidden;background:var(--navy);color:var(--cream);}
  .story-card img{width:100%;height:190px;object-fit:cover;}
  .story-body{padding:26px;}
  .story-tag{color:var(--gold);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;}
  .story-body h3{color:var(--cream);font-size:19px;margin:10px 0;}
  .story-body p{font-size:14.5px;color:#a9bcc4;margin-bottom:16px;}
  .story-body .link{font-weight:700;font-size:14px;color:var(--teal);}

  /* CONTACT */
  .contact{background:var(--navy);padding:110px 0 0;position:relative;overflow:hidden;}
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding-bottom:100px;}
  .contact h2{color:var(--cream);font-size:clamp(30px,4.2vw,46px);margin-bottom:20px;}
  .contact p.body{color:#c3d3da;margin-bottom:34px;}
  .contact-info div{display:flex;gap:14px;align-items:center;font-size:15px;color:var(--cream);margin-bottom:16px;}
  .contact-info .ic{width:38px;height:38px;border-radius:50%;background:var(--teal);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .form-card{background:var(--cream);border-radius:24px;padding:44px;}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;}
  .field label{display:block;font-size:13px;color:#5c6a70;margin-bottom:8px;font-weight:700;}
  .field input,.field textarea{width:100%;border:1.5px solid #e2d8c4;border-radius:12px;padding:12px 14px;font-family:'Nunito Sans',sans-serif;font-size:14.5px;outline:none;}
  .field.full{margin-bottom:20px;}
  .send-btn{background:var(--gold);color:var(--navy);border:none;padding:14px 30px;border-radius:14px;font-weight:700;font-size:14.5px;cursor:pointer;width:100%;}

  footer{background:var(--navy-deep);padding:60px 0 32px;color:#93a9b2;}
  .foot-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:40px;align-items:start;margin-bottom:44px;}
  .foot-col h4{color:var(--cream);font-size:13px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:16px;}
  .foot-col p{font-size:14.5px;margin-bottom:8px;}
  .foot-col.right{text-align:right;}
  .foot-logo{text-align:center;}
  .foot-logo img{height:40px;margin:0 auto 14px;}
  .foot-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:26px;font-size:12.5px;text-align:center;color:#5c6a70;line-height:1.9;}
  .foot-bottom a{text-decoration:underline;}

  @media(max-width:900px){
    nav ul{display:none;}
    .hero-grid,.two-col,.contact-grid{grid-template-columns:1fr;}
    .strip-grid,.services-grid{grid-template-columns:1fr 1fr;}
    .steps{grid-template-columns:1fr 1fr;row-gap:40px;}
    .story-grid{grid-template-columns:1fr;}
    .form-row{grid-template-columns:1fr;}
    .foot-grid{grid-template-columns:1fr;text-align:center;}
    .foot-col.right{text-align:center;}
    .quote-chip{position:static;margin-top:16px;}
  }

  /* ACTIVE NAV */
  nav ul li a.active{color:var(--gold);}

  /* PAGE HERO (interior pages) */
  .page-hero{background:var(--navy);padding:64px 0 100px;position:relative;overflow:hidden;text-align:center;}
  .page-hero .eyebrow{justify-content:center;display:flex;color:var(--teal);}
  .page-hero h1{color:var(--cream);font-size:clamp(34px,5vw,52px);max-width:720px;margin:0 auto;}
  .page-hero p{color:#c3d3da;max-width:560px;margin:18px auto 0;font-size:16.5px;}
  .breadcrumb{color:#8fa7b1;font-size:13.5px;margin-bottom:16px;}
  .breadcrumb a{color:#8fa7b1;}
  .breadcrumb span{color:var(--gold);}

  /* CRISIS BANNER */
  .crisis-bar{background:var(--gold);color:var(--navy);text-align:center;padding:12px 20px;font-size:14px;font-weight:700;}
  .crisis-bar a{text-decoration:underline;}

  /* TIMELINE */
  .timeline{position:relative;max-width:720px;margin:0 auto;padding-left:36px;border-left:2px solid #e2d8c4;}
  .timeline-item{position:relative;padding-bottom:44px;}
  .timeline-item:last-child{padding-bottom:0;}
  .timeline-item::before{content:"";position:absolute;left:-43px;top:2px;width:16px;height:16px;border-radius:50%;background:var(--gold);border:3px solid var(--cream);box-shadow:0 0 0 2px #e2d8c4;}
  .timeline-item .yr{font-family:'Fredoka',sans-serif;font-weight:700;color:var(--teal);font-size:14px;margin-bottom:6px;}
  .timeline-item h3{font-size:19px;margin-bottom:6px;}
  .timeline-item p{font-size:14.5px;color:#5c6a70;}

  /* PULL QUOTE */
  .pull-quote{border-left:4px solid var(--gold);padding:6px 0 6px 28px;margin:36px 0;font-family:'Fredoka',sans-serif;font-size:22px;color:var(--navy);font-weight:500;line-height:1.4;}
  .pull-quote span{display:block;font-family:'Nunito Sans',sans-serif;font-weight:700;font-size:13px;color:#5c6a70;margin-top:10px;letter-spacing:.04em;text-transform:uppercase;}

  /* CARD GRID (services / levels / team / products) */
  .card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
  .card-grid.cols-4{grid-template-columns:repeat(4,1fr);}
  .info-card{background:#fff;border-radius:20px;padding:34px 28px;box-shadow:0 20px 40px -28px rgba(4,47,71,.25);}
  .info-card .ic{width:52px;height:52px;border-radius:14px;background:var(--navy);color:var(--gold);display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:20px;}
  .info-card h3{font-size:19px;margin-bottom:10px;}
  .info-card p{font-size:14.5px;color:#5c6a70;margin-bottom:14px;}
  .info-card .tag{display:inline-block;background:#f0e9d9;color:var(--navy);font-size:12px;font-weight:700;padding:5px 12px;border-radius:100px;margin-bottom:14px;}

  /* TEAM */
  .team-card{text-align:center;}
  .team-card img{width:100%;height:240px;object-fit:cover;border-radius:20px;margin-bottom:18px;}
  .team-card h3{font-size:18px;margin-bottom:4px;}
  .team-card .role{color:var(--orange);font-size:13.5px;font-weight:700;margin-bottom:10px;}
  .team-card p{font-size:14px;color:#5c6a70;}

  /* PRODUCT */
  .product-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 20px 40px -28px rgba(4,47,71,.25);}
  .product-card img{width:100%;height:220px;object-fit:cover;}
  .product-body{padding:22px;}
  .product-body h3{font-size:17px;margin-bottom:6px;}
  .product-body .price{color:var(--teal);font-weight:700;font-size:15px;margin-bottom:12px;}
  .product-body p{font-size:13.5px;color:#5c6a70;margin-bottom:16px;}

  /* BLOG */
  .blog-featured{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;background:var(--navy);border-radius:28px;padding:50px;margin-bottom:70px;}
  .blog-featured img{width:100%;height:320px;object-fit:cover;border-radius:20px;}
  .blog-featured .eyebrow{color:var(--gold);}
  .blog-featured h3{color:var(--cream);font-size:clamp(24px,2.8vw,32px);margin-bottom:14px;}
  .blog-featured p{color:#c3d3da;font-size:15px;margin-bottom:20px;}
  .cat-row{display:flex;gap:12px;margin-bottom:50px;flex-wrap:wrap;}
  .cat-pill{padding:9px 18px;border-radius:100px;font-size:13.5px;font-weight:700;background:#fff;color:var(--navy);box-shadow:0 6px 16px -8px rgba(4,47,71,.3);}
  .cat-pill.active{background:var(--navy);color:var(--cream);}

  /* FAQ */
  .faq-item{border-bottom:1px solid #e2d8c4;padding:26px 0;}
  .faq-item h3{font-size:17px;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center;}
  .faq-item h3::after{content:"+";color:var(--gold);font-size:22px;font-weight:400;}
  .faq-item p{font-size:14.5px;color:#5c6a70;max-width:640px;}

  .section-head{text-align:center;max-width:620px;margin:0 auto 50px;}
  .section-head .eyebrow{justify-content:center;display:flex;}
  .section-head h2{font-size:clamp(28px,3.6vw,38px);}
  .section-head p{color:#5c6a70;font-size:15.5px;margin-top:14px;}

  @media(max-width:900px){
    .card-grid,.card-grid.cols-4{grid-template-columns:1fr 1fr;}
    .blog-featured{grid-template-columns:1fr;padding:30px;}
    .timeline{padding-left:28px;}
  }
  @media(max-width:600px){
    .card-grid,.card-grid.cols-4{grid-template-columns:1fr;}
  }

  /* ---- WORDPRESS-SPECIFIC ADDITIONS ---- */

  /* Mobile nav toggle */
  .nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;z-index:20;}
  .nav-toggle span{display:block;width:26px;height:2.5px;background:var(--cream);margin:5px 0;border-radius:2px;transition:transform .2s ease, opacity .2s ease;}
  header.dark-nav .nav-toggle span{background:var(--cream);}
  body:not(.has-dark-header) .nav-toggle span{background:var(--navy);}

  @media(max-width:900px){
    .nav-toggle{display:block;}
    nav ul{
      display:none;position:absolute;top:100%;left:0;right:0;background:var(--navy);
      flex-direction:column;gap:0;padding:10px 0;box-shadow:0 20px 30px -20px rgba(0,0,0,.4);
    }
    nav ul.open{display:flex;}
    nav ul li{width:100%;}
    nav ul li a{display:block;padding:14px 32px;font-size:15px;}
    nav .btn.btn-gold{display:none;}
  }

  /* Alignment helpers used by the block editor inside the_content() */
  .entry-content{max-width:720px;margin:0 auto;}
  .entry-content p{margin-bottom:18px;color:#4c5a62;font-size:16.5px;}
  .entry-content h2{font-size:28px;margin:36px 0 16px;}
  .entry-content h3{font-size:21px;margin:28px 0 12px;}
  .entry-content ul{margin:0 0 20px 22px;color:#4c5a62;}
  .entry-content li{margin-bottom:8px;}
  .entry-content a{color:var(--teal);text-decoration:underline;}
  .entry-content blockquote{border-left:4px solid var(--gold);padding-left:24px;margin:28px 0;font-family:'Fredoka',sans-serif;font-size:20px;color:var(--navy);}
  .entry-content img{border-radius:16px;margin:24px 0;}
  .alignwide{max-width:960px;margin-left:auto;margin-right:auto;}
  .alignfull{max-width:none;width:100%;}

  /* Form success/error notices */
  .form-notice{padding:16px 20px;border-radius:12px;margin-bottom:20px;font-size:14.5px;font-weight:600;}
  .form-notice.success{background:rgba(28,158,189,.18);color:#cdeef7;border:1px solid rgba(28,158,189,.4);}
  .form-notice.error{background:rgba(246,133,31,.18);color:#ffd9b3;border:1px solid rgba(246,133,31,.4);}
  .hp-field{position:absolute;left:-9999px;top:-9999px;}

  /* Blog archive/single specifics */
  .blog-pagination{display:flex;justify-content:center;gap:10px;margin-top:60px;}
  .blog-pagination a,.blog-pagination span{padding:10px 18px;border-radius:10px;background:#fff;font-weight:700;font-size:14px;color:var(--navy);box-shadow:0 10px 20px -14px rgba(4,47,71,.3);}
  .blog-pagination span.current{background:var(--navy);color:var(--cream);}
  .post-meta{color:#8fa7b1;font-size:13.5px;margin-bottom:18px;}
  .post-meta span{margin-right:14px;}
  .back-link{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--teal);margin-top:50px;}

  .no-results{text-align:center;padding:60px 0;color:#5c6a70;}
