/* ============================================================
   Jyoti Trade Agencies — Main Stylesheet
   Color Palette:
     Primary  : #0F172A
     Secondary: #10B981
     Accent   : #0EA5E9
     BG       : #FFFFFF
   Fonts: Poppins, Inter
============================================================ */

:root {
  --primary:   #0F172A;
  --secondary: #10B981;
  --accent:    #0EA5E9;
  --bg:        #FFFFFF;
  --light-bg:  #F8FAFC;
  --border:    #E2E8F0;
  --text:      #334155;
  --text-light:#64748B;
  --shadow:    0 4px 24px rgba(15,23,42,.08);
  --radius:    12px;
  --transition:all .35s ease;
}

*, *::before, *::after { box-sizing: border-box; }

body {
  font-family: 'Inter', sans-serif;
  color: var(--text);
  background: var(--bg);
  overflow-x: hidden;
}

h1,h2,h3,h4,h5,h6 { font-family: 'Poppins', sans-serif; color: var(--primary); }
a { text-decoration: none; transition: var(--transition); }

/* ── TOP BAR ─────────────────────────────── */
.topbar {
  background: var(--primary);
  color: #94A3B8;
  font-size: .82rem;
}
.topbar a { color: #94A3B8; }
.topbar a:hover { color: var(--secondary); }
.badge-global {
  background: rgba(16,185,129,.15);
  color: var(--secondary);
  padding: .25rem .75rem;
  border-radius: 20px;
  font-size: .78rem;
  font-weight: 600;
}

/* ── NAVBAR ───────────────────────────────── */
#mainNav {
  background: var(--primary);
  box-shadow: 0 2px 20px rgba(0,0,0,.18);
  padding: .6rem 0;
  transition: var(--transition);
}
#mainNav.scrolled { padding: .3rem 0; }
.brand-wrapper { display:flex; align-items:center; gap:.75rem; }
.brand-icon {
  width: 44px; height: 44px;
  background: linear-gradient(135deg,var(--secondary),var(--accent));
  border-radius: 10px;
  display:flex; align-items:center; justify-content:center;
  font-size: 1.25rem; color:#fff;
}
.brand-name { font-family:'Poppins',sans-serif; font-size:1.05rem; font-weight:700; color:#fff; line-height:1.2; }
.brand-tagline { font-size:.65rem; color:#94A3B8; letter-spacing:.04em; text-transform:uppercase; }
.navbar-nav .nav-link { color: #CBD5E1 !important; font-weight:500; font-size:.92rem; padding:.5rem .8rem !important; border-radius:6px; }
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active { color:#fff !important; background:rgba(255,255,255,.08); }
.btn-quote {
  background: linear-gradient(135deg,var(--secondary),#059669);
  color: #fff !important;
  padding: .5rem 1.25rem !important;
  border-radius: 25px !important;
  font-weight: 600;
  font-size: .88rem;
  border: none;
}
.btn-quote:hover { background: linear-gradient(135deg,#059669,var(--secondary)); transform:translateY(-1px); }

/* ── HERO ─────────────────────────────────── */
.hero-section {
  min-height: 92vh;
  background: linear-gradient(135deg, var(--primary) 0%, #1E3A5F 50%, #0F2A3A 100%);
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
}
.hero-section::before {
  content:'';
  position:absolute;
  inset:0;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 800"><defs><radialGradient id="g1" cx="30%" cy="50%"><stop offset="0%" stop-color="%2310B981" stop-opacity=".12"/><stop offset="100%" stop-color="transparent"/></radialGradient><radialGradient id="g2" cx="80%" cy="30%"><stop offset="0%" stop-color="%230EA5E9" stop-opacity=".1"/><stop offset="100%" stop-color="transparent"/></radialGradient></defs><rect width="1440" height="800" fill="url(%23g1)"/><rect width="1440" height="800" fill="url(%23g2)"/></svg>') center/cover;
}
.hero-content { position:relative; z-index:2; }
.hero-badge {
  display:inline-flex; align-items:center; gap:.5rem;
  background:rgba(16,185,129,.15); border:1px solid rgba(16,185,129,.3);
  color:var(--secondary); padding:.4rem 1rem; border-radius:20px;
  font-size:.8rem; font-weight:600; letter-spacing:.05em; text-transform:uppercase;
  margin-bottom:1.5rem;
}
.hero-title { font-size:clamp(2rem,5vw,3.8rem); font-weight:800; color:#fff; line-height:1.15; margin-bottom:1.5rem; }
.hero-title span { background:linear-gradient(135deg,var(--secondary),var(--accent)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.hero-subtitle { font-size:1.05rem; color:#94A3B8; line-height:1.8; max-width:560px; margin-bottom:2.5rem; }
.btn-primary-hero {
  background:linear-gradient(135deg,var(--secondary),#059669);
  color:#fff; border:none;
  padding:.85rem 2rem; border-radius:8px; font-weight:600; font-size:1rem;
  transition:var(--transition);
}
.btn-primary-hero:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(16,185,129,.35); color:#fff; }
.btn-outline-hero {
  background:transparent; color:#fff;
  border:2px solid rgba(255,255,255,.3);
  padding:.85rem 2rem; border-radius:8px; font-weight:600; font-size:1rem;
  transition:var(--transition);
}
.btn-outline-hero:hover { border-color:#fff; background:rgba(255,255,255,.08); color:#fff; }

/* Hero animal icons */
.hero-animals { position:relative; z-index:2; }
.animal-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.animal-card {
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1);
  border-radius:var(--radius); padding:1.25rem .75rem;
  text-align:center; backdrop-filter:blur(8px);
  transition:var(--transition);
}
.animal-card:hover { background:rgba(16,185,129,.12); border-color:rgba(16,185,129,.3); transform:translateY(-4px); }
.animal-card .animal-icon { font-size:2.2rem; margin-bottom:.5rem; }
.animal-card span { font-size:.75rem; color:#CBD5E1; font-weight:500; }

/* ── COUNTERS ─────────────────────────────── */
.counters-section { background:var(--primary); padding:5rem 0; }
.counter-card { text-align:center; padding:2rem 1rem; }
.counter-num { font-size:3rem; font-weight:800; color:#fff; font-family:'Poppins',sans-serif; line-height:1; }
.counter-num span { background:linear-gradient(135deg,var(--secondary),var(--accent)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.counter-label { color:#94A3B8; font-size:.9rem; margin-top:.5rem; font-weight:500; }
.counter-icon { font-size:2rem; margin-bottom:1rem; background:linear-gradient(135deg,var(--secondary),var(--accent)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }

/* ── SECTION HEADERS ──────────────────────── */
.section-header { margin-bottom:3.5rem; }
.section-badge {
  display:inline-block;
  background:rgba(16,185,129,.1); color:var(--secondary);
  padding:.35rem 1rem; border-radius:20px; font-size:.78rem;
  font-weight:700; text-transform:uppercase; letter-spacing:.08em;
  margin-bottom:1rem;
}
.section-title { font-size:clamp(1.7rem,3.5vw,2.5rem); font-weight:700; margin-bottom:1rem; }
.section-divider { width:60px; height:4px; background:linear-gradient(90deg,var(--secondary),var(--accent)); border-radius:2px; margin:.75rem auto 0; }
.section-divider.left { margin-left:0; }

/* ── PRODUCT CATEGORIES ───────────────────── */
.products-section { padding:6rem 0; background:var(--light-bg); }
.product-cat-card {
  position:relative; border-radius:var(--radius);
  overflow:hidden; cursor:pointer;
  box-shadow:var(--shadow);
  height:380px;
}
.product-cat-img {
  width:100%; height:100%;
  object-fit:cover;
  transition: transform .6s ease;
}
.product-cat-card:hover .product-cat-img { transform:scale(1.08); }
.product-cat-overlay {
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(15,23,42,.1) 0%, rgba(15,23,42,.85) 100%);
  display:flex; flex-direction:column; justify-content:flex-end;
  padding:1.75rem;
  transition: var(--transition);
}
.product-cat-card:hover .product-cat-overlay {
  background:linear-gradient(180deg,rgba(15,23,42,.3) 0%,rgba(15,23,42,.95) 100%);
}
.product-cat-name { font-size:1.2rem; font-weight:700; color:#fff; margin-bottom:.5rem; }
.product-cat-desc {
  font-size:.85rem; color:#CBD5E1; line-height:1.6;
  max-height:0; overflow:hidden; opacity:0;
  transition: max-height .4s ease, opacity .4s ease;
}
.product-cat-card:hover .product-cat-desc { max-height:80px; opacity:1; }
.product-cat-actions {
  display:flex; gap:.75rem; margin-top:1rem;
  transform:translateY(20px); opacity:0;
  transition: transform .4s ease, opacity .4s ease;
}
.product-cat-card:hover .product-cat-actions { transform:translateY(0); opacity:1; }
.btn-cat-download { background:var(--secondary); color:#fff; border:none; padding:.45rem 1rem; border-radius:6px; font-size:.8rem; font-weight:600; }
.btn-cat-download:hover { background:#059669; color:#fff; }
.btn-cat-inquiry { background:transparent; color:#fff; border:1px solid rgba(255,255,255,.5); padding:.45rem 1rem; border-radius:6px; font-size:.8rem; font-weight:600; }
.btn-cat-inquiry:hover { background:rgba(255,255,255,.15); color:#fff; }

/* ── INDUSTRIES ───────────────────────────── */
.industries-section { padding:6rem 0; }
.industry-card {
  border-radius:var(--radius); overflow:hidden;
  box-shadow:var(--shadow); transition:var(--transition);
  background:#fff;
}
.industry-card:hover { transform:translateY(-6px); box-shadow:0 16px 40px rgba(15,23,42,.12); }
.industry-img-wrap { height:220px; overflow:hidden; position:relative; }
.industry-img-wrap img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.industry-card:hover .industry-img-wrap img { transform:scale(1.05); }
.industry-body { padding:1.5rem; }
.industry-icon { font-size:1.8rem; color:var(--secondary); margin-bottom:.75rem; }
.industry-title { font-size:1.05rem; font-weight:700; margin-bottom:.5rem; }
.industry-desc { font-size:.875rem; color:var(--text-light); line-height:1.7; }

/* ── WHY CHOOSE US ────────────────────────── */
.why-section { padding:6rem 0; background:var(--light-bg); }
.why-card {
  background:#fff; border-radius:var(--radius);
  padding:2rem 1.5rem; box-shadow:var(--shadow);
  transition:var(--transition); height:100%;
  border-bottom:3px solid transparent;
}
.why-card:hover { transform:translateY(-6px); border-color:var(--secondary); box-shadow:0 16px 40px rgba(16,185,129,.12); }
.why-icon {
  width:60px; height:60px;
  background:linear-gradient(135deg,rgba(16,185,129,.1),rgba(14,165,233,.1));
  border-radius:14px; display:flex; align-items:center; justify-content:center;
  font-size:1.5rem; color:var(--secondary); margin-bottom:1.25rem;
}
.why-title { font-size:1rem; font-weight:700; margin-bottom:.6rem; }
.why-desc { font-size:.875rem; color:var(--text-light); line-height:1.7; }

/* ── CTA BANNER ───────────────────────────── */
.cta-section {
  background:linear-gradient(135deg,var(--primary),#1E3A5F);
  padding:5rem 0; position:relative; overflow:hidden;
}
.cta-section::before {
  content:''; position:absolute; top:-50%; right:-10%;
  width:500px; height:500px;
  background:radial-gradient(circle,rgba(16,185,129,.12),transparent 70%);
}
.cta-title { font-size:clamp(1.6rem,3vw,2.4rem); color:#fff; font-weight:700; margin-bottom:1rem; }
.cta-text { color:#94A3B8; font-size:1rem; margin-bottom:2rem; }

/* ── ABOUT PAGE ───────────────────────────── */
.page-hero {
  background:linear-gradient(135deg,var(--primary) 0%,#1E3A5F 100%);
  padding:2rem 0 1.75rem;
}
.page-hero .breadcrumb { margin-bottom:.4rem; font-size:.8rem; }
.page-hero-title { font-size:clamp(1.5rem,3.5vw,2.25rem); font-weight:800; color:#fff; margin-bottom:.25rem; }
.page-hero-sub { color:#94A3B8; font-size:.9rem; }
.about-vision-card {
  background:linear-gradient(135deg,rgba(16,185,129,.08),rgba(14,165,233,.08));
  border:1px solid rgba(16,185,129,.2); border-radius:var(--radius); padding:2rem;
}
.about-strength-item { display:flex; gap:1rem; margin-bottom:1.5rem; align-items:flex-start; }
.about-strength-icon { width:44px; height:44px; min-width:44px; background:linear-gradient(135deg,var(--secondary),var(--accent)); border-radius:10px; display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.1rem; }
.gallery-img { border-radius:var(--radius); overflow:hidden; }
.gallery-img img { width:100%; height:220px; object-fit:cover; border-radius:var(--radius); transition:transform .4s ease; }
.gallery-img:hover img { transform:scale(1.04); }

/* ── CONTACT PAGE ─────────────────────────── */
.contact-info-card { background:var(--primary); border-radius:var(--radius); padding:2.5rem; color:#fff; height:100%; }
.contact-info-item { display:flex; gap:1rem; margin-bottom:1.75rem; }
.contact-info-icon { width:44px; height:44px; min-width:44px; background:rgba(16,185,129,.15); border-radius:10px; display:flex; align-items:center; justify-content:center; color:var(--secondary); font-size:1.1rem; }
.contact-info-label { font-size:.75rem; color:#64748B; text-transform:uppercase; letter-spacing:.06em; }
.contact-info-val { color:#fff; font-weight:500; }
.contact-form-card { background:#fff; border-radius:var(--radius); padding:2.5rem; box-shadow:var(--shadow); }
.form-label { font-weight:600; font-size:.875rem; color:var(--primary); margin-bottom:.4rem; }
.form-control, .form-select {
  border:1.5px solid var(--border); border-radius:8px;
  padding:.65rem 1rem; font-size:.9rem; transition:var(--transition);
}
.form-control:focus, .form-select:focus { border-color:var(--secondary); box-shadow:0 0 0 3px rgba(16,185,129,.12); }
.btn-submit {
  background:linear-gradient(135deg,var(--secondary),#059669);
  color:#fff; border:none; padding:.8rem 2rem;
  border-radius:8px; font-weight:600; font-size:1rem;
  width:100%; transition:var(--transition);
}
.btn-submit:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(16,185,129,.35); }
.map-wrapper { border-radius:var(--radius); overflow:hidden; }
.map-wrapper iframe { width:100%; height:420px; border:0; display:block; }

/* ── QUOTE PAGE ───────────────────────────── */
.quote-form-card { background:#fff; border-radius:var(--radius); padding:3rem; box-shadow:var(--shadow); }

/* CAPTCHA */
.captcha-wrap { display:flex; align-items:center; gap:.75rem; flex-wrap:wrap; }
.captcha-question {
  display:inline-flex; align-items:center; gap:.5rem;
  background:linear-gradient(135deg,rgba(16,185,129,.08),rgba(14,165,233,.08));
  border:1.5px solid rgba(16,185,129,.25); border-radius:8px;
  padding:.5rem 1rem; font-family:'Poppins',sans-serif; user-select:none;
}
.captcha-num { font-size:1.25rem; font-weight:800; color:var(--primary); }
.captcha-op  { font-size:1.1rem;  font-weight:700; color:#64748B; }
.captcha-q   { font-size:1.25rem; font-weight:800; color:var(--secondary); }
.captcha-input { width:90px !important; text-align:center; font-size:1.1rem; font-weight:700; }

/* ── LEGACY / HERITAGE SECTION ───────────── */
.legacy-section { padding:6rem 0; background:#F8FAFC; }

/* Stats banner */
.legacy-banner {
  display:flex; align-items:center; justify-content:center; flex-wrap:wrap;
  gap:0; background:var(--primary); border-radius:var(--radius);
  padding:2.5rem 2rem; margin:3rem 0 4.5rem;
  box-shadow:0 20px 60px rgba(15,23,42,.2);
}
.legacy-stat { text-align:center; flex:1; min-width:120px; }
.legacy-stat-year { font-family:'Poppins',sans-serif; font-size:2.4rem; font-weight:800; color:var(--secondary); line-height:1; }
.legacy-stat-num  { font-family:'Poppins',sans-serif; font-size:2.4rem; font-weight:800; color:#fff; line-height:1; }
.legacy-stat-num span { font-size:1.4rem; color:var(--secondary); }
.legacy-stat-label { font-size:.8rem; color:#94A3B8; text-transform:uppercase; letter-spacing:.08em; margin-top:.4rem; }
.legacy-stat-divider { color:var(--accent); font-size:1.4rem; padding:0 1rem; flex-shrink:0; }

/* Timeline */
.legacy-timeline { position:relative; max-width:900px; margin:0 auto; }
.legacy-timeline::before {
  content:''; position:absolute; left:50%; top:0; bottom:0;
  width:2px; background:linear-gradient(to bottom, var(--secondary), var(--accent));
  transform:translateX(-50%);
}
.timeline-item {
  display:flex; justify-content:flex-end;
  padding-right:calc(50% + 3rem); margin-bottom:3rem; position:relative;
}
.timeline-item.timeline-right {
  justify-content:flex-start;
  padding-right:0; padding-left:calc(50% + 3rem);
}
.timeline-dot {
  position:absolute; left:50%; top:1.5rem;
  transform:translateX(-50%);
  width:48px; height:48px; border-radius:50%;
  background:var(--primary); border:3px solid var(--secondary);
  display:flex; align-items:center; justify-content:center;
  color:var(--secondary); font-size:1rem; z-index:2;
  box-shadow:0 0 0 6px rgba(16,185,129,.12);
}
.timeline-card {
  background:#fff; border-radius:var(--radius);
  padding:1.5rem 1.75rem;
  box-shadow:0 4px 24px rgba(15,23,42,.08);
  border-left:4px solid var(--secondary);
  max-width:360px; width:100%;
  transition:box-shadow .3s, transform .3s;
}
.timeline-item.timeline-right .timeline-card { border-left:none; border-right:4px solid var(--accent); }
.timeline-card:hover { box-shadow:0 12px 40px rgba(15,23,42,.14); transform:translateY(-3px); }
.timeline-year {
  display:inline-block; font-family:'Poppins',sans-serif; font-size:.78rem;
  font-weight:700; color:var(--secondary); letter-spacing:.1em;
  text-transform:uppercase; background:rgba(16,185,129,.1);
  padding:.2rem .7rem; border-radius:20px; margin-bottom:.6rem;
}
.timeline-item.timeline-right .timeline-year { color:var(--accent); background:rgba(14,165,233,.1); }
.timeline-title { font-family:'Poppins',sans-serif; font-size:1rem; font-weight:700; color:var(--primary); margin-bottom:.5rem; }
.timeline-desc { font-size:.875rem; color:#64748B; line-height:1.7; margin:0; }

@media (max-width:767px) {
  .legacy-timeline::before { left:24px; }
  .timeline-item, .timeline-item.timeline-right {
    justify-content:flex-start;
    padding-right:0; padding-left:4rem;
  }
  .timeline-dot { left:24px; }
  .timeline-card, .timeline-item.timeline-right .timeline-card {
    max-width:100%; border-left:4px solid var(--secondary); border-right:none;
  }
  .legacy-stat-divider { display:none; }
  .legacy-stat { min-width:40%; margin:.5rem 0; }
}

/* ── FOOTER ───────────────────────────────── */
.footer { background:var(--primary); }
.footer-top { padding:5rem 0 3rem; }
.footer-brand { font-family:'Poppins',sans-serif; font-size:1.3rem; font-weight:700; color:#fff; }
.footer-desc { color:#64748B; font-size:.875rem; line-height:1.8; }
.footer-heading { font-size:.9rem; font-weight:700; color:#fff; text-transform:uppercase; letter-spacing:.08em; margin-bottom:1.25rem; }
.footer-links { list-style:none; padding:0; margin:0; }
.footer-links li { margin-bottom:.6rem; }
.footer-links a { color:#64748B; font-size:.875rem; }
.footer-links a:hover { color:var(--secondary); padding-left:4px; }
.footer-contact-list { list-style:none; padding:0; }
.footer-contact-list li { display:flex; gap:.75rem; color:#64748B; font-size:.85rem; margin-bottom:.75rem; }

/* ── WHATSAPP FLOATING BUTTON ────────────────────────────── */
@keyframes wa-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(37,211,102,.55); }
  70%  { box-shadow: 0 0 0 14px rgba(37,211,102,0); }
  100% { box-shadow: 0 0 0 0 rgba(37,211,102,0); }
}
.whatsapp-float {
  position: fixed;
  bottom: 28px;
  right: 28px;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  background: #25D366;
  color: #fff;
  border-radius: 50%;
  box-shadow: 0 4px 16px rgba(37,211,102,.45);
  text-decoration: none;
  animation: wa-pulse 2.2s infinite;
  transition: transform .2s ease, box-shadow .2s ease;
}
.whatsapp-float:hover {
  transform: scale(1.1);
  box-shadow: 0 6px 24px rgba(37,211,102,.6);
  color: #fff;
  animation: none;
}
.whatsapp-float__tooltip {
  position: absolute;
  right: calc(100% + 12px);
  top: 50%;
  transform: translateY(-50%);
  background: #0F172A;
  color: #fff;
  font-size: .78rem;
  font-weight: 600;
  white-space: nowrap;
  padding: .35rem .75rem;
  border-radius: 6px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease;
}
.whatsapp-float__tooltip::after {
  content: '';
  position: absolute;
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
  border: 6px solid transparent;
  border-left-color: #0F172A;
}
.whatsapp-float:hover .whatsapp-float__tooltip { opacity: 1; }
@media (max-width:576px) {
  .whatsapp-float { bottom:18px; right:18px; width:52px; height:52px; }
  .whatsapp-float__tooltip { display:none; }
}
.footer-contact-list i { color:var(--secondary); margin-top:3px; min-width:14px; }
.footer-contact-list a { color:#64748B; }
.footer-contact-list a:hover { color:var(--secondary); }
.footer-bottom { border-top:1px solid rgba(255,255,255,.06); color:#475569; font-size:.85rem; }

/* ── ALERTS ───────────────────────────────── */
.alert-success-custom { background:rgba(16,185,129,.1); border:1px solid rgba(16,185,129,.3); color:var(--secondary); border-radius:8px; padding:1rem 1.25rem; }
.alert-error-custom { background:rgba(239,68,68,.08); border:1px solid rgba(239,68,68,.2); color:#DC2626; border-radius:8px; padding:1rem 1.25rem; }

/* ── BREADCRUMB ───────────────────────────── */
.breadcrumb-item a { color:var(--secondary); }
.breadcrumb-item.active { color:#94A3B8; }
.breadcrumb-item + .breadcrumb-item::before { color:#64748B; }

/* ── RESPONSIVE ───────────────────────────── */
@media (max-width:991px) {
  .animal-grid { grid-template-columns:repeat(3,1fr); }
  .hero-section { min-height:auto; padding:5rem 0; }
}
@media (max-width:575px) {
  .animal-grid { grid-template-columns:repeat(3,1fr); gap:.5rem; }
  .product-cat-card { height:300px; }
  .counters-section { padding:3rem 0; }
  .counter-num { font-size:2.2rem; }
}
