/*
Theme Name: Angel Witch Mamma
Theme URI: https://www.angelwitchmamma.com/
Author: Angel Witch Mamma
Description: Celestial navy-and-gold theme for Angel Witch Mamma — Reiki, angelic healing, crystal & chakra healing, tarot, pendulum dowsing, and crystal energization. Unlock Your Inner Magick.
Version: 1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: angel-witch-mamma
*/

  :root{
    --navy-deep:#060a24;
    --navy:#0b1440;
    --navy-soft:#141c56;
    --gold:#d4af37;
    --gold-bright:#f2d675;
    --cream:#f7f1e3;
    --lavender:#a9a3d1;
  }

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

  html{scroll-behavior:smooth;}

  body{
    background:var(--navy-deep);
    color:var(--cream);
    font-family:'Jost',sans-serif;
    font-weight:300;
    line-height:1.7;
    overflow-x:hidden;
  }

  h1,h2,h3,.display{
    font-family:'Cormorant Garamond',serif;
    font-weight:500;
    letter-spacing:0.01em;
  }

  a{color:inherit;text-decoration:none;}

  img{max-width:100%;display:block;}

  .stars{
    position:fixed;
    inset:0;
    z-index:0;
    pointer-events:none;
    background-image:
      radial-gradient(1.5px 1.5px at 20% 30%, var(--gold-bright), transparent),
      radial-gradient(1px 1px at 75% 15%, var(--cream), transparent),
      radial-gradient(1.5px 1.5px at 60% 70%, var(--gold-bright), transparent),
      radial-gradient(1px 1px at 90% 55%, var(--cream), transparent),
      radial-gradient(1px 1px at 35% 80%, var(--gold-bright), transparent),
      radial-gradient(1.5px 1.5px at 10% 65%, var(--cream), transparent),
      radial-gradient(1px 1px at 50% 45%, var(--gold-bright), transparent),
      radial-gradient(1.5px 1.5px at 85% 85%, var(--cream), transparent);
    background-repeat:repeat;
    background-size:600px 600px;
    opacity:0.6;
  }

  .wrap{
    max-width:1120px;
    margin:0 auto;
    padding:0 32px;
    position:relative;
    z-index:1;
  }

  /* ---------- NAV ---------- */
  nav{
    position:relative;
    z-index:5;
    padding:28px 0;
  }
  nav .wrap{
    display:flex;
    align-items:center;
    justify-content:space-between;
  }
  .brand{
    display:flex;
    align-items:center;
    gap:12px;
    font-family:'Cormorant Garamond',serif;
    font-size:1.35rem;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--gold-bright);
  }
  .brand img{width:38px;height:38px;border-radius:50%;}
  .navlinks{
    display:flex;
    gap:36px;
    font-size:0.95rem;
    color:var(--lavender);
  }
  .navlinks a:hover{color:var(--gold-bright);}
  .nav-cta{
    border:1px solid var(--gold);
    padding:9px 22px;
    border-radius:999px;
    font-size:0.88rem;
    color:var(--gold-bright);
  }
  .nav-cta:hover{background:var(--gold);color:var(--navy-deep);}

  /* ---------- HERO ---------- */
  header.hero{
    position:relative;
    padding:70px 0 120px;
    text-align:center;
    overflow:hidden;
  }
  .hero-video{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    z-index:0;
  }
  .hero-overlay{
    position:absolute;
    inset:0;
    background:
      radial-gradient(ellipse at center, rgba(6,10,36,0.55) 0%, rgba(6,10,36,0.85) 65%, var(--navy-deep) 100%);
    z-index:1;
  }
  .ring-deco{
    position:absolute;
    top:-160px;
    left:50%;
    transform:translateX(-50%);
    width:640px;
    height:640px;
    border:1px solid rgba(212,175,55,0.25);
    border-radius:50%;
    z-index:0;
  }
  .ring-deco::before{
    content:"";
    position:absolute;
    inset:40px;
    border:1px solid rgba(212,175,55,0.15);
    border-radius:50%;
  }
  .hero-logo{
    width:150px;
    height:150px;
    margin:0 auto 34px;
    border-radius:50%;
    box-shadow:0 0 60px rgba(212,175,55,0.35);
    position:relative;
    z-index:2;
  }
  .eyebrow{
    color:var(--lavender);
    font-size:0.85rem;
    letter-spacing:0.12em;
    margin-bottom:18px;
    position:relative;
    z-index:2;
  }
  h1.headline{
    font-size:clamp(2.6rem, 6vw, 4.6rem);
    color:var(--cream);
    max-width:800px;
    margin:0 auto 22px;
    position:relative;
    z-index:2;
  }
  h1.headline em{
    font-style:italic;
    color:var(--gold-bright);
  }
  .subhead{
    max-width:520px;
    margin:0 auto 40px;
    color:var(--lavender);
    font-size:1.08rem;
    position:relative;
    z-index:2;
  }
  .cta-row{
    display:flex;
    gap:20px;
    justify-content:center;
    flex-wrap:wrap;
    position:relative;
    z-index:2;
  }
  .btn-primary, .btn-ghost{
    padding:15px 34px;
    border-radius:999px;
    font-size:0.95rem;
    letter-spacing:0.02em;
  }
  .btn-primary{
    background:linear-gradient(135deg, var(--gold-bright), var(--gold));
    color:var(--navy-deep);
    font-weight:500;
  }
  .btn-primary:hover{filter:brightness(1.08);}
  .btn-ghost{
    border:1px solid rgba(247,241,227,0.35);
    color:var(--cream);
  }
  .btn-ghost:hover{border-color:var(--gold-bright);color:var(--gold-bright);}

  /* ---------- SECTION DIVIDER ---------- */
  .divider{
    display:flex;
    align-items:center;
    gap:16px;
    max-width:1120px;
    margin:0 auto;
    padding:0 32px;
    color:var(--gold);
    opacity:0.5;
  }
  .divider .line{flex:1;height:1px;background:linear-gradient(90deg, transparent, var(--gold), transparent);}
  .divider svg{width:16px;height:16px;flex-shrink:0;}

  /* ---------- WELCOME ---------- */
  section.welcome{
    padding:110px 0;
    text-align:center;
  }
  section.welcome .wrap{max-width:720px;}
  section.welcome h2{
    font-size:clamp(1.9rem, 4vw, 2.6rem);
    color:var(--gold-bright);
    margin-bottom:26px;
  }
  section.welcome p{
    color:var(--lavender);
    font-size:1.08rem;
  }
  section.welcome p + p{margin-top:18px;}
  .signature{
    margin-top:36px;
    font-family:'Cormorant Garamond',serif;
    font-style:italic;
    font-size:1.3rem;
    color:var(--gold);
  }

  /* ---------- COURSES ---------- */
  .faq-row{
    grid-template-columns:1fr;
  }
  .faq-row h3{margin-bottom:10px;}
  .faq-row p{max-width:100%;}

  section.courses{padding:100px 0;}
  .section-head{
    text-align:center;
    max-width:560px;
    margin:0 auto 64px;
  }
  .section-head .eyebrow{margin-bottom:14px;}
  .section-head h2{
    font-size:clamp(1.9rem, 4vw, 2.6rem);
    color:var(--cream);
  }

  .course-list{
    display:flex;
    flex-direction:column;
    gap:2px;
    border-top:1px solid rgba(212,175,55,0.25);
  }
  .course-row{
    display:grid;
    grid-template-columns:120px 1fr auto;
    gap:32px;
    align-items:center;
    padding:34px 0;
    border-bottom:1px solid rgba(212,175,55,0.25);
    transition:background 0.25s ease;
  }
  .course-row:hover{background:rgba(212,175,55,0.05);}
  .course-mark{
    font-family:'Cormorant Garamond',serif;
    font-size:1.05rem;
    color:var(--gold);
    border:1px solid rgba(212,175,55,0.4);
    border-radius:50%;
    width:64px;height:64px;
    display:flex;align-items:center;justify-content:center;
    text-align:center;
    line-height:1.1;
  }
  .course-info h3{
    font-size:1.5rem;
    color:var(--cream);
    margin-bottom:8px;
    font-weight:500;
  }
  .course-info p{
    color:var(--lavender);
    font-size:0.98rem;
    max-width:480px;
  }
  .course-price{
    text-align:right;
    white-space:nowrap;
  }
  .course-price .amount{
    display:block;
    font-family:'Cormorant Garamond',serif;
    font-size:1.4rem;
    color:var(--gold-bright);
    margin-bottom:8px;
  }
  .course-price a{
    font-size:0.85rem;
    color:var(--lavender);
    border-bottom:1px solid rgba(169,163,209,0.4);
    padding-bottom:2px;
  }
  .course-price a:hover{color:var(--gold-bright);border-color:var(--gold-bright);}

  @media (max-width:640px){
    .course-row{grid-template-columns:1fr;text-align:left;gap:14px;}
    .course-mark{width:48px;height:48px;font-size:0.85rem;}
    .course-price{text-align:left;}
  }

  /* ---------- TESTIMONIALS ---------- */
  section.testimonials{
    padding:100px 0;
    background:var(--navy);
    position:relative;
  }
  .testi-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:1px;
    background:rgba(212,175,55,0.2);
    border:1px solid rgba(212,175,55,0.2);
  }
  .testi-card{
    background:var(--navy);
    padding:38px 32px;
  }
  .testi-card p.quote{
    font-family:'Cormorant Garamond',serif;
    font-style:italic;
    font-size:1.2rem;
    color:var(--cream);
    margin-bottom:22px;
  }
  .testi-card .who{
    font-size:0.88rem;
    color:var(--gold);
  }
  @media (max-width:800px){
    .testi-grid{grid-template-columns:1fr;}
  }

  /* ---------- SIGNUP ---------- */
  section.signup{
    padding:120px 0;
    text-align:center;
    position:relative;
  }
  section.signup .wrap{max-width:560px;}
  section.signup h2{
    font-size:clamp(1.9rem, 4vw, 2.6rem);
    color:var(--gold-bright);
    margin-bottom:18px;
  }
  section.signup p{
    color:var(--lavender);
    margin-bottom:36px;
  }
  .signup-form{
    display:flex;
    gap:12px;
    justify-content:center;
    flex-wrap:wrap;
  }
  .signup-form input{
    background:transparent;
    border:1px solid rgba(247,241,227,0.35);
    color:var(--cream);
    padding:15px 20px;
    border-radius:999px;
    font-family:'Jost',sans-serif;
    font-size:0.95rem;
    width:280px;
    max-width:100%;
  }
  .signup-form input::placeholder{color:var(--lavender);}
  .signup-form input:focus{outline:none;border-color:var(--gold-bright);}
  .signup-form button{
    padding:15px 32px;
    border-radius:999px;
    background:linear-gradient(135deg, var(--gold-bright), var(--gold));
    color:var(--navy-deep);
    font-weight:500;
    font-size:0.95rem;
    border:none;
    cursor:pointer;
  }
  .signup-form button:hover{filter:brightness(1.08);}
  .fine-print{
    margin-top:18px;
    font-size:0.8rem;
    color:rgba(169,163,209,0.7);
  }

  /* ---------- FOOTER ---------- */
  footer{
    padding:50px 0 40px;
    border-top:1px solid rgba(212,175,55,0.2);
  }
  footer .wrap{
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:20px;
  }
  footer .brand{font-size:1.05rem;}
  footer .foot-links{
    display:flex;
    gap:28px;
    font-size:0.88rem;
    color:var(--lavender);
  }
  footer .foot-links a:hover{color:var(--gold-bright);}
  footer .copyright{
    width:100%;
    text-align:center;
    font-size:0.78rem;
    color:rgba(169,163,209,0.5);
    margin-top:30px;
  }

  .menu-btn{
    display:none;
    flex-direction:column;
    gap:5px;
    background:none;
    border:none;
    cursor:pointer;
    padding:6px;
  }
  .menu-btn span{
    width:24px;
    height:1.5px;
    background:var(--gold-bright);
    display:block;
  }

  @media (max-width:700px){
    .navlinks{display:none;}
    .nav-cta{display:none;}
    .menu-btn{display:flex;}
  }

  .mobile-menu{
    display:none;
    flex-direction:column;
    gap:0;
    background:var(--navy);
    border-top:1px solid rgba(212,175,55,0.25);
    border-bottom:1px solid rgba(212,175,55,0.25);
  }
  .mobile-menu.open{display:flex;}
  .mobile-menu a{
    padding:16px 32px;
    font-size:0.98rem;
    color:var(--lavender);
    border-bottom:1px solid rgba(212,175,55,0.12);
  }
  .mobile-menu a:last-child{border-bottom:none;}
  .mobile-menu .mm-cta{color:var(--gold-bright);}

  @media (max-width:640px){
    .wrap{padding:0 22px;}
    nav{padding:20px 0;}
    .brand{font-size:1.15rem;}
    .brand img{width:32px;height:32px;}

    header.hero{padding:50px 0 80px;}
    .hero-logo{width:110px;height:110px;margin-bottom:24px;}
    .headline{font-size:clamp(2.1rem, 9vw, 2.8rem);}
    .subhead{font-size:1rem;padding:0 6px;}
    .cta-row{flex-direction:column;align-items:center;gap:14px;}
    .btn-primary, .btn-ghost{width:100%;max-width:300px;text-align:center;padding:14px 24px;}
    .ring-deco{width:300px;height:300px;top:-90px;opacity:0.6;}

    section.welcome{padding:70px 0;}
    section.courses{padding:70px 0;}
    section.testimonials{padding:70px 0;}
    section.signup{padding:80px 0;}
    .section-head{margin-bottom:44px;}

    .signup-form{flex-direction:column;align-items:center;}
    .signup-form input, .signup-form button{width:100%;max-width:320px;}

    footer .wrap{flex-direction:column;text-align:center;}
    footer .foot-links{justify-content:center;}
  }

  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
  }
