/* ============================================================
   Tax-Eazy shared modern theme (Poppins + blue/teal/gold)
   Used by service pages (gst-registration, gst-return, …).
   Load AFTER style.css so it overrides the legacy template.
   ============================================================ */

body{ font-family:'Poppins','Open Sans',sans-serif; background:#f8f9fa; color:#333; }
.theme-main{ overflow:hidden; }
.theme-main section{ padding:70px 0; }

.section-title{ margin-bottom:46px; }
.section-title h2{ font-size:36px; font-weight:700; color:#111; margin-bottom:14px; }
.section-title h2 span{ color:#0d6efd; }
.section-title p{ color:#666; font-size:16.5px; line-height:1.8; max-width:700px; margin:0 auto; }

/* BUTTONS */
.custom-btn{ display:inline-block; padding:14px 30px; border-radius:7px; text-decoration:none; font-weight:600; transition:.3s; margin:0 8px 10px 0; }
.custom-btn i{ margin-right:8px; }
.btn-primary-custom{ background:#ffc107; color:#000 !important; box-shadow:0 6px 18px rgba(255,193,7,0.3); }
.btn-primary-custom:hover{ background:#ffca2c; transform:translateY(-2px); }
.btn-outline-custom{ border:2px solid #fff; color:#fff !important; }
.btn-outline-custom:hover{ background:#fff; color:#0d6efd !important; }
.btn-whatsapp-custom{ background:#25D366; color:#fff !important; box-shadow:0 6px 18px rgba(37,211,102,0.3); }
.btn-whatsapp-custom:hover{ background:#1ebe5d; transform:translateY(-2px); }
.btn-blue{ background:#0d6efd; color:#fff !important; }
.btn-blue:hover{ background:#0b5ed7; transform:translateY(-2px); }

/* HERO */
.svc-hero{ position:relative; color:#fff; padding:160px 0 100px; background-size:cover; background-position:center; }
.svc-hero .inner{ position:relative; z-index:2; max-width:760px; }
.svc-hero h1{ font-size:50px; font-weight:800; line-height:1.15; margin-bottom:18px; color:#fff; text-shadow:0 3px 14px rgba(0,0,0,0.35); }
.svc-hero h1 .grad{ background:linear-gradient(90deg,#ffc107,#3ec1d5); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.svc-hero .lead{ font-size:18px; line-height:1.9; color:#eef3ff; margin-bottom:30px; }
.hero-badge{ display:inline-block; background:rgba(255,255,255,0.14); border:1px solid rgba(255,255,255,0.35); color:#fff; padding:8px 18px; border-radius:30px; font-size:13.5px; font-weight:500; margin-bottom:20px; }
.hero-badge i{ color:#ffc107; margin-right:7px; }
.hero-chips{ margin-top:20px; }
.hero-chip{ display:inline-block; background:rgba(255,255,255,0.12); border:1px solid rgba(255,255,255,0.28); padding:7px 15px; border-radius:30px; font-size:13px; margin:0 8px 8px 0; }
.hero-chip i{ color:#3ec1d5; margin-right:6px; }

/* STATS STRIP */
.stats-strip{ background:linear-gradient(135deg,#0d6efd,#08368f); color:#fff; padding:42px 0; }
.stat-item{ text-align:center; padding:10px 0; }
.stat-number{ font-size:38px; font-weight:700; line-height:1; }
.stat-label{ font-size:14px; opacity:.9; margin-top:8px; }

/* REVEAL */
.reveal{ opacity:0; transform:translateY(30px); transition:opacity .7s ease, transform .7s ease; }
.reveal.visible{ opacity:1; transform:translateY(0); }

/* GENERIC CONTENT CARD */
.content-card{ background:#fff; border:1px solid #eef1f6; border-radius:14px; padding:34px; box-shadow:0 6px 24px rgba(0,0,0,0.06); }
.content-card h2,.content-card h3{ font-weight:700; color:#111; }
.content-card p{ color:#555; line-height:1.9; font-size:15.5px; }
.theme-list{ list-style:none; padding:0; margin:18px 0; }
.theme-list li{ position:relative; padding:9px 0 9px 32px; color:#444; line-height:1.6; }
.theme-list li::before{ content:"\f058"; font-family:FontAwesome; position:absolute; left:0; top:9px; color:#1ea672; font-size:16px; }
.theme-list.cross li.no::before{ content:"\f057"; color:#e25555; }

/* INFO / DOC CARDS (icon top) */
.icard-row > [class*="col-"]{ display:flex; margin-bottom:28px; }
.icard{ position:relative; overflow:hidden; width:100%; text-align:center; background:#fff; border:1px solid #eef1f6; border-radius:14px; padding:32px 22px; box-shadow:0 6px 24px rgba(13,110,253,0.06); transition:.3s; }
.icard::before{ content:""; position:absolute; top:0; left:0; right:0; height:4px; background:linear-gradient(90deg,#0d6efd,#3ec1d5); transform:scaleX(0); transform-origin:left; transition:transform .35s; }
.icard:hover::before{ transform:scaleX(1); }
.icard:hover{ transform:translateY(-8px); box-shadow:0 18px 42px rgba(13,110,253,0.16); border-color:#dceaff; }
.icard-ic{ width:74px; height:74px; margin:0 auto 18px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#eaf3ff,#e7fbff); color:#0d6efd; font-size:28px; transition:.35s; }
.icard:hover .icard-ic{ background:linear-gradient(135deg,#0d6efd,#3ec1d5); color:#fff; transform:translateY(-4px) rotate(-6deg); }
.icard h4{ font-size:18px; font-weight:600; color:#1a1a1a; margin-bottom:8px; }
.icard p{ color:#666; font-size:14px; line-height:1.7; margin-bottom:0; }

/* BENEFIT CARDS (icon left) */
.benefit-row > [class*="col-"]{ display:flex; margin-bottom:26px; }
.benefit-card{ width:100%; background:#fff; border:1px solid #eef1f6; border-radius:12px; padding:26px; box-shadow:0 5px 22px rgba(0,0,0,0.06); display:flex; gap:16px; align-items:flex-start; transition:.3s; }
.benefit-card:hover{ transform:translateY(-6px); box-shadow:0 16px 38px rgba(13,110,253,0.14); }
.benefit-ic{ flex-shrink:0; width:52px; height:52px; border-radius:50%; background:linear-gradient(135deg,#eaf3ff,#e7fbff); color:#0d6efd; display:flex; align-items:center; justify-content:center; font-size:21px; transition:.3s; }
.benefit-card:hover .benefit-ic{ background:linear-gradient(135deg,#0d6efd,#3ec1d5); color:#fff; }
.benefit-card h4{ font-size:18px; font-weight:600; margin-bottom:6px; }
.benefit-card p{ color:#666; font-size:14.5px; line-height:1.7; margin-bottom:0; }

/* FAQ ACCORDION */
.faq-wrap{ max-width:900px; margin:0 auto; }
.faq-item{ background:#fff; border-radius:10px; margin-bottom:14px; box-shadow:0 4px 18px rgba(0,0,0,0.06); overflow:hidden; border:1px solid #eef1f6; }
.faq-q{ cursor:pointer; padding:18px 22px; font-weight:600; font-size:16px; display:flex; justify-content:space-between; align-items:center; color:#1a1a1a; }
.faq-q .sign{ font-size:22px; color:#0d6efd; transition:transform .3s; flex-shrink:0; margin-left:14px; }
.faq-item.open .faq-q .sign{ transform:rotate(45deg); }
.faq-a{ max-height:0; overflow:hidden; transition:max-height .35s ease, padding .35s ease; padding:0 22px; color:#666; line-height:1.9; font-size:15px; }
.faq-item.open .faq-a{ max-height:600px; padding:0 22px 20px; }

/* THEMED CALCULATOR */
.tcalc{ max-width:760px; margin:0 auto; background:#fff; border:1px solid #eef1f6; border-radius:16px; box-shadow:0 14px 44px rgba(13,110,253,0.13); padding:36px; }
.tcalc-head{ display:flex; align-items:center; gap:14px; margin-bottom:24px; }
.tcalc-head .ic{ width:54px; height:54px; border-radius:14px; background:linear-gradient(135deg,#0d6efd,#3ec1d5); color:#fff; display:flex; align-items:center; justify-content:center; font-size:24px; flex-shrink:0; }
.tcalc-head h3{ font-size:22px; font-weight:700; margin:0; }
.tcalc-head small{ color:#888; }
.tcalc label{ font-weight:600; font-size:13.5px; margin:14px 0 6px; display:block; color:#444; }
.tcalc select,.tcalc input{ width:100%; padding:12px 14px; border:1px solid #d8dce3; border-radius:10px; font-size:15px; background:#fff; }
.tcalc select:focus,.tcalc input:focus{ border-color:#0d6efd; outline:none; box-shadow:0 0 0 3px rgba(13,110,253,0.12); }
.tcalc-btn{ width:100%; margin-top:22px; padding:14px; background:#0d6efd; color:#fff; border:none; border-radius:10px; font-size:16px; font-weight:600; cursor:pointer; transition:.3s; }
.tcalc-btn:hover{ background:#0b5ed7; }
.result-box,.tcalc-result{ margin-top:22px; padding:22px; background:#eef4ff; border-left:4px solid #0d6efd; border-radius:10px; color:#333; line-height:1.7; }
.result-box{ display:none; }
.result-box h3,.result-box h4,.tcalc-result h3,.tcalc-result h4{ color:#0d6efd; margin-top:0; }

/* THEMED TABLE */
.theme-table{ width:100%; background:#fff; border-radius:14px; overflow:hidden; box-shadow:0 6px 24px rgba(0,0,0,0.06); }
.theme-table th,.theme-table td{ padding:14px 18px; border-bottom:1px solid #eef1f6; text-align:left; font-size:15px; }
.theme-table thead th{ background:linear-gradient(135deg,#0d6efd,#08368f); color:#fff; font-weight:600; }
.theme-table tbody tr:hover{ background:#f4f8ff; }
.theme-table td:first-child,.theme-table th[scope="row"]{ font-weight:600; color:#0d6efd; }

/* CTA */
.cta-section{ position:relative; overflow:hidden; background:linear-gradient(135deg,#0d6efd 0%,#0a4bbd 58%,#08368f 100%); color:#fff; text-align:center; }
.cta-section::before,.cta-section::after{ content:""; position:absolute; border-radius:50%; background:rgba(255,255,255,0.06); }
.cta-section::before{ width:340px; height:340px; top:-130px; left:-90px; }
.cta-section::after{ width:280px; height:280px; bottom:-120px; right:-70px; }
.cta-inner{ position:relative; z-index:1; max-width:760px; margin:0 auto; }
.cta-badge-icon{ width:80px; height:80px; border-radius:50%; background:rgba(255,255,255,0.15); border:1px solid rgba(255,255,255,0.35); display:flex; align-items:center; justify-content:center; font-size:34px; margin:0 auto 22px; }
.cta-section h2{ font-size:38px; font-weight:700; margin-bottom:16px; color:#fff !important; text-shadow:0 2px 8px rgba(0,0,0,0.25); }
.cta-section p{ font-size:18px; line-height:1.8; margin-bottom:28px; color:#f3f7ff !important; }
.cta-trust{ margin-top:24px; font-size:14px; color:#fff; }
.cta-trust span{ display:inline-block; margin:6px 12px; }
.cta-trust i{ color:#ffd54a; margin-right:6px; }

/* TABS */
.tz-tabs{ display:flex; gap:10px; margin-bottom:22px; flex-wrap:wrap; }
.tz-tab{ flex:1; min-width:170px; border:2px solid #d8dce3; background:#fff; border-radius:10px; padding:13px 16px; cursor:pointer; font-weight:600; font-size:15px; color:#444; transition:.2s; display:flex; align-items:center; justify-content:center; gap:8px; }
.tz-tab.active{ border-color:#0d6efd; background:#eef4ff; color:#0d6efd; }
.tz-tab i{ color:#0d6efd; }
.tz-panel{ display:none; }
.tz-panel.active{ display:block; }

/* CITIES GRID */
.cities-grid{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
.cities-grid a{ background:#fff; border:1px solid #e2e7ef; border-radius:30px; padding:9px 18px; font-size:14px; color:#0d6efd; text-decoration:none; font-weight:500; transition:.2s; }
.cities-grid a:hover{ background:#0d6efd; color:#fff; border-color:#0d6efd; transform:translateY(-2px); }
.cities-grid a.active{ background:#0d6efd; color:#fff; border-color:#0d6efd; }

/* LOCAL INTRO (per-city) */
.area-chips{ display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.area-chips span{ background:#eef4ff; color:#0d6efd; border-radius:30px; padding:7px 15px; font-size:13.5px; font-weight:500; }
.area-chips span i{ margin-right:6px; }
.local-aside{ background:linear-gradient(135deg,#0d6efd,#08368f); color:#fff; border-radius:16px; padding:32px; height:100%; }
.local-aside h4{ color:#fff; font-size:20px; font-weight:600; margin-bottom:18px; }
.local-aside ul{ list-style:none; padding-left:0; margin-bottom:0; }
.local-aside li{ padding:9px 0; border-bottom:1px solid rgba(255,255,255,0.15); font-size:15px; }
.local-aside li:last-child{ border-bottom:none; }
.local-aside li i{ color:#ffd54a; margin-right:10px; }

/* FLOATING WHATSAPP */
.whatsapp-float{ position:fixed; width:58px; height:58px; bottom:24px; right:24px; background:#25D366; color:#fff; border-radius:50%; text-align:center; font-size:30px; line-height:58px; box-shadow:0 4px 14px rgba(0,0,0,0.3); z-index:998; transition:.3s; }
.whatsapp-float:hover{ transform:scale(1.08); color:#fff; }

@media(max-width:991px){
  .icard-row [class*="col-"], .benefit-row [class*="col-"]{ margin-bottom:24px; }
}
@media(max-width:768px){
  .svc-hero{ padding:120px 0 70px; }
  .svc-hero h1{ font-size:34px; }
  .svc-hero .lead{ font-size:16px; }
  .section-title h2{ font-size:28px; }
  .tcalc{ padding:24px; }
}
