/*
Theme Name: Whalestox
Theme URI: https://whalestox.in
Author: NetUtsav Media
Description: Minimalist white & light-green theme for Whalestox — India's stock market technical analysis education platform.
Version: 1.6
Requires at least: 5.5
Requires PHP: 7.4
Text Domain: whalestox
*/

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700;900&family=DM+Sans:wght@300;400;500;600&display=swap');

:root {
  --ws-green:        #3dbb6e;
  --ws-green-light:  #d4f5e2;
  --ws-green-mid:    #a8e8c4;
  --ws-green-dark:   #1e8a4a;
  --ws-white:        #ffffff;
  --ws-off-white:    #f7fdf9;
  --ws-text:         #1a2e22;
  --ws-text-muted:   #5a7a64;
  --ws-border:       #c8edda;
}

/* ─── RESET ─── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'DM Sans',sans-serif; background:var(--ws-off-white); color:var(--ws-text); overflow-x:hidden; line-height:1.6; }
a { color:inherit; }
img { max-width:100%; display:block; }

/* ─── NAV ─── */
.site-header {
  position:fixed; top:0; left:0; right:0; z-index:100;
  background:rgba(247,253,249,0.94); backdrop-filter:blur(12px);
  border-bottom:1px solid var(--ws-border);
  display:flex; align-items:center; justify-content:space-between;
  padding:0 5vw; height:64px;
}
.site-logo { font-family:'Playfair Display',serif; font-size:1.5rem; font-weight:900; text-decoration:none; color:var(--ws-text); letter-spacing:-0.5px; }
.site-logo span { color:var(--ws-green-dark); }
.main-nav ul { display:flex; gap:2rem; list-style:none; }
.main-nav a { text-decoration:none; color:var(--ws-text-muted); font-size:0.9rem; font-weight:500; transition:color .2s; }
.main-nav a:hover, .main-nav .current-menu-item > a { color:var(--ws-green-dark); }
.nav-toggle { display:none; background:none; border:none; cursor:pointer; padding:8px; flex-direction:column; gap:5px; }
.nav-toggle span { display:block; width:22px; height:2px; background:var(--ws-text); border-radius:2px; transition:transform .25s,opacity .25s; }
.nav-toggle.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.nav-toggle.open span:nth-child(2) { opacity:0; }
.nav-toggle.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
main { padding-top:64px; min-height:80vh; }

/* ─── HERO ─── */
.ws-hero {
  min-height:calc(100vh - 64px);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; padding:60px 5vw 50px;
  background:radial-gradient(ellipse 70% 50% at 50% 0%,rgba(61,187,110,.13) 0%,transparent 70%),var(--ws-off-white);
}
.ws-hero-badge { display:inline-flex; align-items:center; gap:8px; background:var(--ws-green-light); border:1px solid var(--ws-green-mid); color:var(--ws-green-dark); font-size:.78rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; padding:6px 16px; border-radius:100px; margin-bottom:28px; }
.ws-hero-badge::before { content:'🐋'; font-size:1rem; }
.ws-hero h1 { font-family:'Playfair Display',serif; font-size:clamp(2.2rem,6vw,4.8rem); font-weight:900; line-height:1.08; max-width:780px; margin:0 auto; }
.ws-hero h1 em { color:var(--ws-green-dark); font-style:normal; }
.ws-hero-sub { font-size:clamp(1rem,2vw,1.15rem); color:var(--ws-text-muted); max-width:540px; line-height:1.75; margin:22px auto 0; }
.ws-hero-cta { margin-top:38px; display:flex; flex-direction:column; align-items:center; gap:16px; width:100%; }
.btn-tg { display:inline-flex; align-items:center; gap:10px; background:var(--ws-green-dark); color:#fff; font-size:1rem; font-weight:600; padding:14px 32px; border-radius:100px; text-decoration:none; box-shadow:0 6px 24px rgba(30,138,74,.25); transition:transform .2s,box-shadow .2s; }
.btn-tg:hover { transform:translateY(-2px); box-shadow:0 10px 32px rgba(30,138,74,.38); color:#fff; }
.btn-tg svg { width:22px; height:22px; flex-shrink:0; }
.disclaimer { font-size:.74rem; color:var(--ws-text-muted); background:var(--ws-green-light); border:1px solid var(--ws-border); border-radius:10px; padding:10px 20px; max-width:500px; text-align:center; line-height:1.65; }
.disclaimer strong { color:var(--ws-green-dark); }

/* ─── STATS ─── */
.stats-strip { display:flex; justify-content:center; flex-wrap:wrap; margin:56px auto 0; max-width:700px; border:1px solid var(--ws-border); border-radius:18px; background:var(--ws-white); overflow:hidden; }
.stat { flex:1; min-width:140px; padding:24px 20px; text-align:center; border-right:1px solid var(--ws-border); }
.stat:last-child { border-right:none; }
.stat-num { font-family:'Playfair Display',serif; font-size:2rem; font-weight:900; color:var(--ws-green-dark); }
.stat-label { font-size:.78rem; color:var(--ws-text-muted); margin-top:4px; font-weight:500; }

/* ─── ABOUT ─── */
.ws-about { padding:80px 5vw; background:var(--ws-white); border-top:1px solid var(--ws-border); border-bottom:1px solid var(--ws-border); }
.ws-about-inner { max-width:1100px; margin:0 auto; }
.ws-about-badge { display:inline-block; background:var(--ws-green-light); color:var(--ws-green-dark); font-size:.78rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; padding:6px 16px; border-radius:100px; margin-bottom:18px; }
.ws-about h2 { font-family:'Playfair Display',serif; font-size:clamp(1.8rem,4vw,2.8rem); font-weight:900; max-width:700px; margin-bottom:20px; line-height:1.15; }
.ws-about-text { font-size:1rem; color:var(--ws-text-muted); line-height:1.8; max-width:760px; margin-bottom:14px; }
.ws-about-text strong { color:var(--ws-text); }
.ws-about-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:20px; margin-top:44px; }
.ws-about-item { background:var(--ws-off-white); border:1px solid var(--ws-border); border-radius:16px; padding:26px 22px; }
.ws-about-icon { font-size:2rem; margin-bottom:12px; display:block; }
.ws-about-item h3 { font-size:1rem; font-weight:600; margin-bottom:8px; }
.ws-about-item p { font-size:.87rem; color:var(--ws-text-muted); line-height:1.65; margin:0; }

/* ─── FEATURES ─── */
.features { padding:80px 5vw; max-width:1100px; margin:0 auto; }
.section-title { font-family:'Playfair Display',serif; font-size:clamp(1.6rem,3vw,2.4rem); font-weight:700; text-align:center; margin-bottom:48px; }
.cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:20px; }
.card { background:var(--ws-white); border:1px solid var(--ws-border); border-radius:16px; padding:28px 24px; transition:transform .2s,box-shadow .2s; }
.card:hover { transform:translateY(-4px); box-shadow:0 12px 36px rgba(61,187,110,.12); }
.card-icon { font-size:2rem; margin-bottom:16px; }
.card h3 { font-size:1rem; font-weight:600; margin-bottom:8px; }
.card p { font-size:.88rem; color:var(--ws-text-muted); line-height:1.6; margin:0; }

/* ─── PAGE HEADER ─── */
.page-header { background:linear-gradient(135deg,var(--ws-green-light) 0%,var(--ws-white) 60%); padding:60px 5vw 40px; text-align:center; border-bottom:1px solid var(--ws-border); }
.page-header h1 { font-family:'Playfair Display',serif; font-size:clamp(1.9rem,5vw,3.4rem); font-weight:900; }
.page-header p { color:var(--ws-text-muted); margin-top:12px; font-size:1rem; }
.content-container { max-width:900px; margin:0 auto; padding:60px 5vw; }

/* ─── BLOG LIST ─── */
.blog-posts { display:flex; flex-direction:column; gap:24px; }
.blog-post { background:var(--ws-white); border:1px solid var(--ws-border); border-radius:16px; padding:28px; transition:box-shadow .2s; }
.blog-post:hover { box-shadow:0 8px 28px rgba(61,187,110,.1); }
.post-meta { font-size:.75rem; color:var(--ws-green-dark); font-weight:600; text-transform:uppercase; letter-spacing:.08em; margin-bottom:10px; }
.post-title { font-family:'Playfair Display',serif; font-size:1.35rem; font-weight:700; margin-bottom:10px; }
.post-title a { text-decoration:none; color:var(--ws-text); transition:color .2s; }
.post-title a:hover { color:var(--ws-green-dark); }
.post-body { font-size:.9rem; color:var(--ws-text-muted); line-height:1.7; margin:0; }

/* ─── SINGLE POST / PAGE ─── */
.single-content { background:var(--ws-white); border:1px solid var(--ws-border); border-radius:16px; padding:36px; }
.single-content h1,.single-content h2,.single-content h3,.single-content h4 { font-family:'Playfair Display',serif; margin:1.4em 0 .6em; line-height:1.2; }
.single-content h2 { font-size:1.6rem; }
.single-content h3 { font-size:1.25rem; }
.single-content p { line-height:1.8; margin-bottom:1.1em; color:var(--ws-text); }
.single-content a { color:var(--ws-green-dark); text-decoration:underline; }
.single-content ul,.single-content ol { padding-left:1.4em; margin-bottom:1.1em; }
.single-content li { line-height:1.75; color:var(--ws-text); }
.single-content img { border-radius:12px; margin:1.2em 0; }
.single-content strong { font-weight:600; }
.single-content blockquote { border-left:3px solid var(--ws-green-dark); padding-left:16px; color:var(--ws-text-muted); font-style:italic; margin:1.2em 0; }
.single-content hr { border:none; border-top:1px solid var(--ws-border); margin:2em 0; }
.post-disclaimer { background:var(--ws-green-light); border:1px solid var(--ws-border); border-radius:10px; padding:14px 18px; font-size:.8rem; color:var(--ws-text-muted); line-height:1.6; margin-top:32px; }
.post-disclaimer strong { color:var(--ws-green-dark); }
.post-cta { margin-top:28px; text-align:center; background:var(--ws-off-white); border:1px solid var(--ws-border); border-radius:14px; padding:24px; }
.post-cta p { margin-bottom:14px; font-size:.95rem; color:var(--ws-text-muted); }

/* ─── PAGINATION ─── */
.pagination { display:flex; justify-content:center; gap:10px; margin-top:40px; flex-wrap:wrap; }
.pagination a,.pagination span { padding:8px 16px; border-radius:100px; border:1px solid var(--ws-border); text-decoration:none; font-size:.85rem; font-weight:600; color:var(--ws-text-muted); transition:background .2s,color .2s; }
.pagination a:hover { background:var(--ws-green-light); color:var(--ws-green-dark); }
.pagination .current { background:var(--ws-green-dark); color:#fff; border-color:var(--ws-green-dark); }

/* ─── LEAD CAPTURE (Contact) ─── */
.ws-lead-wrap { background:var(--ws-white); border:1px solid var(--ws-border); border-radius:20px; padding:40px; max-width:540px; margin:0 auto 44px; box-shadow:0 14px 44px rgba(61,187,110,.09); }
.ws-lead-wrap h2 { font-family:'Playfair Display',serif; font-size:1.7rem; font-weight:900; margin-bottom:6px; }
.ws-lead-sub { color:var(--ws-text-muted); font-size:.92rem; margin-bottom:28px; line-height:1.65; }
.ws-lead-field { margin-bottom:16px; }
.ws-lead-field label { display:block; font-size:.76rem; font-weight:600; color:var(--ws-text-muted); margin-bottom:6px; text-transform:uppercase; letter-spacing:.06em; }
.ws-lead-field input { width:100%; border:1.5px solid var(--ws-border); border-radius:10px; padding:13px 16px; font-size:.95rem; font-family:'DM Sans',sans-serif; background:var(--ws-off-white); outline:none; transition:border-color .2s,box-shadow .2s; }
.ws-lead-field input:focus { border-color:var(--ws-green); box-shadow:0 0 0 3px rgba(61,187,110,.12); }
.ws-lead-submit { width:100%; background:var(--ws-green-dark); color:#fff; border:none; border-radius:100px; padding:15px; font-size:1rem; font-weight:700; cursor:pointer; margin-top:8px; transition:background .2s,transform .1s; font-family:'DM Sans',sans-serif; letter-spacing:.02em; }
.ws-lead-submit:hover { background:var(--ws-green); }
.ws-lead-submit:active { transform:scale(.98); }
.ws-lead-msg { padding:13px 16px; border-radius:10px; font-weight:600; font-size:.9rem; margin-bottom:20px; }
.ws-lead-msg.success { background:var(--ws-green-light); color:var(--ws-green-dark); }
.ws-lead-msg.error { background:#fde8e8; color:#b42318; }
.ws-lead-disclaimer { font-size:.71rem; color:var(--ws-text-muted); margin-top:14px; line-height:1.55; text-align:center; }

/* ─── SOCIAL LINKS ─── */
.social-section { margin-top:52px; }
.social-section h2 { font-family:'Playfair Display',serif; font-size:1.4rem; font-weight:700; margin-bottom:20px; text-align:center; }
.social-links { display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:14px; }
.social-link { display:flex; flex-direction:column; align-items:center; gap:8px; padding:20px 14px; border-radius:14px; border:1px solid var(--ws-border); background:var(--ws-white); text-decoration:none; color:var(--ws-text); font-size:.85rem; font-weight:600; transition:transform .2s,box-shadow .2s,border-color .2s; }
.social-link:hover { transform:translateY(-3px); box-shadow:0 8px 24px rgba(61,187,110,.15); border-color:var(--ws-green-mid); }
.social-link .icon { font-size:1.8rem; }

/* ─── FLOAT BUTTON ─── */
.float-tg { position:fixed; bottom:28px; right:28px; z-index:200; display:flex; align-items:center; gap:10px; background:var(--ws-green-dark); color:#fff; text-decoration:none; border-radius:100px; padding:12px 20px 12px 14px; font-size:.85rem; font-weight:600; box-shadow:0 8px 28px rgba(30,138,74,.38); animation:wsPulse 2.5s ease-in-out infinite; transition:transform .2s; }
.float-tg:hover { transform:scale(1.05); animation:none; color:#fff; }
.float-tg svg { width:24px; height:24px; flex-shrink:0; }
@keyframes wsPulse { 0%,100%{box-shadow:0 8px 28px rgba(30,138,74,.38);} 50%{box-shadow:0 8px 44px rgba(30,138,74,.65);} }

/* ─── FOOTER ─── */
.site-footer { text-align:center; padding:28px 5vw; border-top:1px solid var(--ws-border); font-size:.78rem; color:var(--ws-text-muted); }
.site-footer p { margin:0; }
.dev-credit { margin-top:7px !important; }
.dev-credit a { color:var(--ws-green-dark); font-weight:600; text-decoration:none; border-bottom:1px solid var(--ws-green-mid); transition:color .2s,border-color .2s; }
.dev-credit a:hover { color:var(--ws-green); border-color:var(--ws-green); }

/* ─── MOBILE ─── */
@media(max-width:768px){
  .site-header{ padding:0 4vw; }
  .nav-toggle{ display:flex; }
  .main-nav{ position:fixed; top:64px; left:0; right:0; background:var(--ws-white); border-bottom:1px solid var(--ws-border); max-height:0; overflow:hidden; transition:max-height .28s ease; z-index:99; }
  .main-nav.open{ max-height:280px; }
  .main-nav ul{ flex-direction:column; gap:0; }
  .main-nav li{ width:100%; }
  .main-nav a{ display:block; padding:14px 5vw; border-bottom:1px solid var(--ws-border); }
  .ws-hero{ padding:44px 6vw 36px; }
  .btn-tg{ width:100%; max-width:320px; justify-content:center; }
  .disclaimer{ max-width:100%; }
  .stats-strip{ flex-direction:column; margin-top:40px; }
  .stat{ border-right:none; border-bottom:1px solid var(--ws-border); padding:18px 16px; }
  .stat:last-child{ border-bottom:none; }
  .ws-about{ padding:50px 6vw; }
  .ws-about-grid{ grid-template-columns:1fr; gap:14px; margin-top:32px; }
  .features{ padding:50px 6vw; }
  .cards{ grid-template-columns:1fr; gap:16px; }
  .page-header{ padding:48px 6vw 30px; }
  .content-container{ padding:40px 5vw; }
  .ws-lead-wrap{ padding:26px 20px; }
  .ws-lead-submit{ width:100%; }
  .blog-post{ padding:22px; }
  .post-title{ font-size:1.2rem; }
  .single-content{ padding:22px; }
  .social-links{ grid-template-columns:repeat(2,1fr); }
  .float-tg span{ display:none; }
  .float-tg{ padding:14px; border-radius:50%; bottom:20px; right:20px; }
}
@media(max-width:400px){
  .ws-hero h1{ font-size:1.85rem; }
}
