/*
Theme Name: Vedic Astro Theme
Theme URI: https://example.com
Author: Your Name
Author URI: https://example.com
Description: A refined, boutique-styled WordPress theme for astrology, jyotish and remedies businesses. Built with an editorial hero, a curated product showcase, an about section, a kundli intake form and a testimonial grid.
Version: 2.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: vedic-astro-theme
*/

:root{
  --maroon:#5c1023;
  --maroon-deep:#2c0810;
  --bronze:#a67c3d;
  --gold:#c9a24b;
  --gold-light:#ecd9a8;
  --cream:#f8f0e4;
  --paper:#fffaf2;
  --ink:#241412;
  --ink-soft:#5a4740;
  --white:#ffffff;
  --line: rgba(166,124,61,.35);

  --space-xl: 100px;
  --radius: 6px;
  --shadow-soft: 0 12px 30px rgba(44,8,16,.10);
  --shadow-lift: 0 20px 44px rgba(44,8,16,.16);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Jost','Inter',sans-serif;
  background:var(--cream);
  color:var(--ink);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{
  font-family:'Cormorant Garamond','Playfair Display',serif;
  font-weight:600;
  color:var(--maroon-deep);
  letter-spacing:.2px;
}
p{color:var(--ink-soft);}
a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}
.container{max-width:1180px;margin:0 auto;padding:0 28px;}
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:'Jost',sans-serif;font-size:12px;letter-spacing:3px;
  text-transform:uppercase;color:var(--bronze);margin-bottom:14px;font-weight:600;
}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--bronze);display:inline-block;}

/* TOP BAR */
.topbar{background:var(--maroon-deep);font-size:12.5px;letter-spacing:.4px;padding:10px 0;color:var(--gold-light);border-bottom:1px solid rgba(201,162,75,.25);}
.topbar .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;}
.topbar a{font-weight:600;color:var(--gold-light);}

/* NAV */
.site-header{background:var(--paper);padding:22px 0;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;}
.site-header .container{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;}
.logo{display:flex;align-items:center;gap:12px;color:var(--maroon-deep);font-family:'Cormorant Garamond',serif;font-size:23px;letter-spacing:.5px;}
.logo .badge{width:42px;height:42px;border:1.5px solid var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--bronze);flex-shrink:0;font-size:18px;}
.logo small{display:block;font-family:'Jost',sans-serif;font-size:10.5px;letter-spacing:2px;text-transform:uppercase;color:var(--ink-soft);font-weight:500;}
.main-nav ul{list-style:none;display:flex;gap:34px;margin:0;padding:0;flex-wrap:wrap;}
.main-nav a{color:var(--ink);font-size:14.5px;letter-spacing:.3px;position:relative;padding-bottom:4px;}
.main-nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--bronze);transition:width .25s ease;}
.main-nav a:hover::after{width:100%;}
.nav-icons{display:flex;gap:20px;color:var(--maroon-deep);font-size:17px;}

/* HERO */
.hero{
  position:relative;overflow:hidden;
  background:radial-gradient(120% 140% at 100% 0%, var(--maroon) 0%, var(--maroon-deep) 60%);
  color:var(--white);padding:var(--space-xl) 0;
}
.hero::before{
  content:"";position:absolute;right:-120px;top:50%;transform:translateY(-50%);
  width:560px;height:560px;border-radius:50%;
  border:1px solid rgba(236,217,168,.25);
}
.hero::after{
  content:"";position:absolute;right:-40px;top:50%;transform:translateY(-50%);
  width:420px;height:420px;border-radius:50%;
  border:1px solid rgba(236,217,168,.18);
}
.hero .container{position:relative;display:flex;align-items:center;gap:64px;flex-wrap:wrap;}
.hero-text{flex:1.15;min-width:320px;}
.hero-text .eyebrow{color:var(--gold-light);}
.hero-text .eyebrow::before{background:var(--gold-light);}
.hero-text h1{font-size:52px;line-height:1.15;margin:0 0 20px;color:var(--white);}
.hero-text h1 em{font-style:italic;color:var(--gold-light);}
.hero-text p{font-size:17.5px;opacity:.82;margin:0 0 32px;max-width:480px;color:#f1e4d0;}
.btn{
  display:inline-flex;align-items:center;gap:10px;background:var(--gold);color:var(--maroon-deep);
  font-family:'Jost',sans-serif;font-weight:600;letter-spacing:.6px;text-transform:uppercase;font-size:13px;
  padding:16px 30px;border-radius:2px;transition:.25s ease;border:1px solid var(--gold);cursor:pointer;
}
.btn:hover{background:transparent;color:var(--gold-light);}
.hero .btn:hover{border-color:var(--gold-light);}
.hero-badge{margin-top:28px;font-size:12.5px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold-light);opacity:.85;}
.hero-visual{flex:1;min-width:280px;display:flex;justify-content:center;position:relative;}
.wheel{width:340px;height:340px;position:relative;}
.wheel svg{width:100%;height:100%;}

/* SECTION HEADING */
.section{padding:var(--space-xl) 0;}
.section-head{text-align:center;margin-bottom:56px;max-width:640px;margin-left:auto;margin-right:auto;}
.section-head .eyebrow{justify-content:center;}
.section-head h2{font-size:36px;margin:0 0 14px;}
.section-head p{font-size:15.5px;margin:0;}

/* PRODUCT GRID */
.product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:36px;}
.product-card{text-align:center;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:30px 20px 26px;transition:transform .25s ease, box-shadow .25s ease;}
.product-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lift);}
.product-thumb{width:100%;aspect-ratio:1/1;border-radius:50%;background:linear-gradient(160deg,#efe0c4,#f8f0e4);margin-bottom:20px;overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--bronze);font-size:12px;letter-spacing:1px;text-transform:uppercase;border:1px solid var(--line);}
.product-thumb img{width:100%;height:100%;object-fit:cover;}
.product-card h4{font-size:18px;color:var(--maroon-deep);margin:0 0 8px;}
.product-card .price{color:var(--bronze);font-weight:600;font-family:'Jost',sans-serif;font-size:14px;letter-spacing:.4px;}

/* ABOUT */
.about-section{background:var(--white);}
.about-section .container{display:flex;gap:70px;align-items:center;flex-wrap:wrap;}
.about-img{flex:1;min-width:280px;position:relative;}
.about-img .circle{width:100%;max-width:400px;aspect-ratio:1;border-radius:50%;background:#efe0c4;margin:0 auto;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-soft);}
.about-img .circle img{width:100%;height:100%;object-fit:cover;}
.about-img .ring{position:absolute;top:-18px;left:calc(50% - 210px);width:420px;height:420px;border:1px solid var(--line);border-radius:50%;z-index:-1;}
.about-text{flex:1.2;min-width:320px;}
.about-text h2{font-size:34px;margin:0 0 20px;}
.about-text p{line-height:1.8;font-size:16px;margin:0 0 30px;}
.about-stats{display:flex;gap:36px;align-items:center;flex-wrap:wrap;}
.about-stats .stat{display:flex;align-items:center;gap:14px;}
.about-stats .num{background:var(--maroon-deep);color:var(--gold-light);border-radius:50%;width:60px;height:60px;display:flex;align-items:center;justify-content:center;font-weight:600;font-family:'Cormorant Garamond',serif;font-size:19px;flex-shrink:0;}
.about-stats .stat div div:last-child{font-size:13px;color:var(--ink-soft);letter-spacing:.3px;}

/* SERVICES */
.services-section{background:var(--maroon-deep);color:var(--white);}
.services-section .section-head h2{color:var(--white);}
.services-section .section-head p{color:#dcc9b8;}
.services-section .eyebrow{color:var(--gold-light);}
.services-section .eyebrow::before{background:var(--gold-light);}
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:44px;}
.service-item{text-align:center;padding:0 10px;}
.service-num{
  width:56px;height:56px;border:1px solid var(--gold);border-radius:50%;
  display:flex;align-items:center;justify-content:center;margin:0 auto 22px;
  font-family:'Cormorant Garamond',serif;color:var(--gold-light);font-size:20px;
}
.services-grid h4{color:var(--white);font-size:20px;margin:0 0 12px;font-family:'Cormorant Garamond',serif;}
.services-grid p{color:#d9c6b5;font-size:14.5px;line-height:1.75;max-width:280px;margin:0 auto;}

/* KUNDALI FORM */
.kundali-section{background:var(--cream);}
.kundali-panel{
  background:var(--paper);border:1px solid var(--line);border-radius:8px;
  box-shadow:var(--shadow-soft);overflow:hidden;display:flex;flex-wrap:wrap;
}
.kundali-intro{flex:1;min-width:280px;padding:56px 44px;background:linear-gradient(160deg,var(--maroon),var(--maroon-deep));color:var(--white);}
.kundali-intro h3{color:var(--white);font-size:30px;margin:0 0 16px;}
.kundali-intro p{color:#f1e4d0;font-size:15px;line-height:1.8;}
.kundali-form-wrap{flex:1.3;min-width:320px;padding:56px 44px;}
.form-row{display:flex;gap:18px;margin-bottom:18px;flex-wrap:wrap;}
.form-row > div{flex:1;min-width:150px;}
.form-row input,.form-row select{
  width:100%;padding:13px 14px;border-radius:3px;border:1px solid #ddd0bb;
  background:var(--white);font-family:'Jost',sans-serif;font-size:14px;color:var(--ink);
}
.form-row input:focus,.form-row select:focus{outline:none;border-color:var(--bronze);}
.kundali-form-wrap label{display:block;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:7px;color:var(--ink-soft);font-weight:600;}
.form-submit{margin-top:8px;}
.form-submit .btn{width:100%;justify-content:center;}

/* TESTIMONIAL STRIP */
.testimonial-section{background:var(--white);}
.test-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:26px;}
.test-card{
  aspect-ratio:4/5;border-radius:6px;position:relative;overflow:hidden;
  background:linear-gradient(160deg,var(--maroon),var(--maroon-deep));
  border:1px solid var(--line);
}
.test-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.test-card .overlay{
  position:absolute;inset:0;z-index:1;display:flex;align-items:flex-end;padding:22px;
  background:linear-gradient(0deg, rgba(44,8,16,.75) 0%, rgba(44,8,16,0) 55%);
  color:var(--gold-light);font-size:13.5px;font-family:'Jost',sans-serif;
}

/* FOOTER */
.site-footer{background:var(--maroon-deep);color:#e4d3c0;padding:var(--space-xl) 0 32px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px;margin-bottom:50px;}
.footer-grid h5{color:var(--gold-light);margin:0 0 20px;letter-spacing:2px;font-size:12.5px;text-transform:uppercase;font-family:'Jost',sans-serif;font-weight:600;}
.footer-grid ul{list-style:none;margin:0;padding:0;}
.footer-grid a{display:block;margin-bottom:12px;font-size:14px;opacity:.8;transition:opacity .2s;}
.footer-grid a:hover{opacity:1;color:var(--gold-light);}
.footer-brand p{color:#d9c6b5;font-size:14px;line-height:1.8;opacity:.85;max-width:280px;}
.footer-bottom{border-top:1px solid rgba(236,217,168,.15);padding-top:26px;text-align:center;font-size:12.5px;letter-spacing:.5px;opacity:.65;}

/* SCROLL REVEAL */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease, transform .7s ease;}
.reveal.in-view{opacity:1;transform:translateY(0);}
.reveal-1.in-view{transition-delay:.08s;}
.reveal-2.in-view{transition-delay:.16s;}
.reveal-3.in-view{transition-delay:.24s;}
.reveal-4.in-view{transition-delay:.32s;}
.reveal-5.in-view{transition-delay:.4s;}
.reveal-6.in-view{transition-delay:.48s;}

/* HEADER SCROLL STATE */
.site-header.is-scrolled{box-shadow:0 6px 20px rgba(44,8,16,.08);}

/* ROTATING WHEEL */
.wheel svg{animation:spin 90s linear infinite;}
@keyframes spin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}

/* HERO SLIDER */
.hero-slider{position:relative;}
.hero-slide{display:none;}
.hero-slide.is-active{display:flex;align-items:center;gap:64px;flex-wrap:wrap;animation:fadeIn .6s ease;}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}
.hero-controls{display:flex;align-items:center;gap:18px;margin-top:36px;}
.hero-arrow{
  width:42px;height:42px;border-radius:50%;border:1px solid rgba(236,217,168,.5);
  background:transparent;color:var(--gold-light);display:flex;align-items:center;justify-content:center;
  cursor:pointer;font-size:16px;transition:.2s;
}
.hero-arrow:hover{background:rgba(236,217,168,.12);border-color:var(--gold-light);}
.hero-dots{display:flex;gap:8px;}
.hero-dot{width:9px;height:9px;border-radius:50%;background:rgba(236,217,168,.35);border:none;cursor:pointer;padding:0;transition:.2s;}
.hero-dot.is-active{background:var(--gold-light);width:22px;border-radius:5px;}

/* CAROUSEL (products / testimonials) */
.carousel{position:relative;}
.carousel-track{
  display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding-bottom:6px;-ms-overflow-style:none;scrollbar-width:none;
}
.carousel-track::-webkit-scrollbar{display:none;}
.carousel-track .product-card,.carousel-track .test-card{flex:0 0 240px;scroll-snap-align:start;}
.carousel-nav{display:flex;justify-content:flex-end;gap:12px;margin-bottom:22px;}
.car-arrow{
  width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--paper);
  color:var(--maroon-deep);cursor:pointer;font-size:15px;transition:.2s;
}
.car-arrow:hover{background:var(--maroon-deep);color:var(--gold-light);border-color:var(--maroon-deep);}
.testimonial-section .car-arrow{background:var(--white);}

@media(max-width:900px){
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:640px){
  .hero-text h1{font-size:36px;}
  .main-nav{display:none;}
  .kundali-intro,.kundali-form-wrap{padding:36px 26px;}
  .footer-grid{grid-template-columns:1fr;}
}
