/* ==========================================================================
   TBM EXPORT IMPORT — STYLESHEET
   Design tokens: deep agri-green / turmeric-gold / trade-navy on warm cream
   Display: Fraunces | Body: Manrope | Utility/Data: JetBrains Mono
   ========================================================================== */

:root{
  --green:        #1B4332;   /* primary — agriculture / freshness */
  --green-light:  #2D6A4F;
  --green-pale:   #EAF1EC;
  --gold:         #D4972C;   /* accent — harvest / spice */
  --gold-light:   #F0B94F;
  --navy:         #0B2545;   /* secondary — global trade / shipping */
  --navy-light:   #13345F;
  --cream:        #FAF7F0;   /* background */
  --paper:        #FFFFFF;
  --ink:          #23281F;   /* text */
  --ink-soft:     #5B6259;
  --line:         #E4DFD2;

  --font-display: 'Fraunces', Georgia, serif;
  --font-body:    'Manrope', Arial, sans-serif;
  --font-mono:    'JetBrains Mono', 'Courier New', monospace;

  --radius: 10px;
  --shadow: 0 10px 30px rgba(11,37,69,0.08);
  --shadow-lg: 0 20px 50px rgba(11,37,69,0.14);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--cream);
  line-height:1.65;
  overflow-x:hidden;
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important;}
}

h1,h2,h3,h4,.font-display{font-family:var(--font-display); color:var(--navy); font-weight:700; letter-spacing:-0.01em;}
.eyebrow{
  font-family:var(--font-mono); text-transform:uppercase; letter-spacing:.18em;
  font-size:.75rem; color:var(--gold); font-weight:600;
}
a{text-decoration:none; color:inherit;}
:focus-visible{outline:3px solid var(--gold); outline-offset:2px;}
.section{padding:88px 0;}
.section-tight{padding:56px 0;}
.bg-cream{background:var(--cream);}
.bg-paper{background:var(--paper);}
.bg-green{background:var(--green); color:#fff;}
.bg-navy{background:var(--navy); color:#fff;}
.section-head{max-width:640px; margin-bottom:44px;}
.section-head p{color:var(--ink-soft); font-size:1.05rem;}
.divider-route{
  height:2px; width:70px;
  background:linear-gradient(90deg, var(--gold), var(--green));
  margin:14px 0 18px;
  position:relative;
}
.divider-route::after{
  content:"\f0d1"; font-family:"Font Awesome 6 Free"; font-weight:900;
  position:absolute; right:-4px; top:-9px; color:var(--gold); font-size:.75rem;
}

/* ============ BUTTONS ============ */
.btn-brand{
  background:var(--green); color:#fff; border:none; border-radius:999px;
  padding:.75rem 1.8rem; font-weight:600; font-size:.95rem;
  transition:transform .25s ease, background .25s ease, box-shadow .25s ease;
  box-shadow:0 8px 20px rgba(27,67,50,.25);
}
.btn-brand:hover{background:var(--green-light); color:#fff; transform:translateY(-2px);}
.btn-outline-brand{
  background:transparent; color:var(--navy); border:1.5px solid var(--navy); border-radius:999px;
  padding:.7rem 1.7rem; font-weight:600; font-size:.95rem; transition:all .25s ease;
}
.btn-outline-brand:hover{background:var(--navy); color:#fff;}
.btn-gold{
  background:var(--gold); color:var(--navy); border:none; border-radius:999px;
  padding:.75rem 1.8rem; font-weight:700; transition:all .25s ease;
}
.btn-gold:hover{background:var(--gold-light); color:var(--navy); transform:translateY(-2px);}

/* ============ NAVBAR ============ */
.navbar-tbm{
  padding:16px 0; transition:all .35s ease; background:rgba(250,247,240,0.2);
}
.navbar-tbm.scrolled{
  background:rgba(250,247,240,0.97); box-shadow:0 6px 24px rgba(11,37,69,.08); padding:8px 0;
  backdrop-filter:blur(8px);
}
.navbar-tbm .nav-link{
  color:#000; font-weight:600; font-size:.94rem; margin:0 10px; position:relative;
}
.navbar-tbm .nav-link::after{
  content:""; position:absolute; left:0; bottom:-4px; width:0; height:2px; background:var(--gold);
  transition:width .25s ease;
}
.navbar-tbm .nav-link:hover::after, .navbar-tbm .nav-link.active::after{width:100%;}
.navbar-tbm .nav-link.active{color:var(--green);}
.nav-enquiry-btn{
  background:var(--gold); color:var(--navy) !important; border-radius:999px; padding:.55rem 1.4rem !important;
  font-weight:700 !important; margin-left:12px;
}
.nav-enquiry-btn:hover{background:var(--gold-light);}
.lang-switch{
  background:transparent; border:1px solid var(--line); border-radius:999px; padding:.4rem .9rem;
  font-family:var(--font-mono); font-size:.78rem; color:var(--navy); margin-left:10px;
}
.navbar-brand img{height:80px; width:150px;}

/* ============ HERO SLIDER (no text overlay copy per spec) ============ */
.hero-slider{position:relative; height:100vh; min-height:560px; overflow:hidden;}
.hero-slider .carousel-item{height:100vh; min-height:560px;}
.hero-slider .slide-img{
  width:100%; height:100%; object-fit:cover; filter:saturate(1.05);
}
.hero-slider .slide-overlay{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(11,37,69,.55) 0%, rgba(11,37,69,.35) 45%, rgba(11,37,69,.75) 100%);
}
.hero-scroll-cue{
  position:absolute; bottom:28px; left:50%; transform:translateX(-50%); color:#fff;
  text-align:center; font-family:var(--font-mono); font-size:.7rem; letter-spacing:.2em; z-index:3;
}
.hero-scroll-cue .line{width:1px; height:36px; background:rgba(255,255,255,.6); margin:8px auto 0; animation:pulse-line 1.8s infinite;}
@keyframes pulse-line{0%,100%{opacity:.3;} 50%{opacity:1;}}
.hero-slider .carousel-indicators [data-bs-target]{background:var(--gold); width:8px; height:8px; border-radius:50%;}

/* ============ ROUTE STAT STRIP ============ */
.stat-strip{background:var(--navy); color:#fff;}
.stat-item{text-align:center; padding:26px 10px;}
.stat-num{font-family:var(--font-display); font-size:2.6rem; color:var(--gold); font-weight:700;}
.stat-label{font-family:var(--font-mono); font-size:.72rem; text-transform:uppercase; letter-spacing:.14em; color:#C9D3E0;}

/* ============ CARDS ============ */
.card-tbm{
  background:var(--paper); border-radius:var(--radius); border:1px solid var(--line);
  box-shadow:var(--shadow); transition:transform .3s ease, box-shadow .3s ease; height:100%;
}
.card-tbm:hover{transform:translateY(-6px); box-shadow:var(--shadow-lg);}
.icon-badge{
  width:56px; height:56px; border-radius:14px; display:flex; align-items:center; justify-content:center;
  background:var(--green-pale); color:var(--green); font-size:1.4rem; margin-bottom:16px;
}

/* Why choose us */
.why-item{padding:26px 22px; border-left:3px solid var(--line); transition:border-color .25s ease;}
.why-item:hover{border-left-color:var(--gold);}

/* Export process timeline */
.process-track{position:relative; padding-top:10px;}
.process-track::before{
  content:""; position:absolute; top:34px; left:0; right:0; height:2px;
  background:repeating-linear-gradient(90deg, var(--line) 0 8px, transparent 8px 14px);
}
.process-step{position:relative; text-align:center; padding-top:20px;}
.process-step .step-dot{
  width:68px; height:68px; border-radius:50%; background:var(--paper); border:2px solid var(--green);
  color:var(--green); display:flex; align-items:center; justify-content:center; margin:0 auto 16px;
  font-size:1.4rem; position:relative; z-index:2; box-shadow:var(--shadow);
}
.process-step h5{font-size:1rem; color:var(--navy);}
.process-step p{font-size:.88rem; color:var(--ink-soft);}

/* Countries */
.country-chip{
  display:flex; align-items:center; gap:10px; background:var(--paper); border:1px solid var(--line);
  border-radius:999px; padding:.55rem 1.1rem; font-weight:600; font-size:.9rem; color:var(--navy);
  transition:all .25s ease;
}
.country-chip:hover{background:var(--green); color:#fff; border-color:var(--green); transform:translateY(-3px);}
.country-chip .flag-dot{width:10px; height:10px; border-radius:50%; background:var(--gold);}

/* Quality / packaging */
.qa-image, .pack-image{border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-lg);}
.qa-image img, .pack-image img{width:100%; height:100%; object-fit:cover; display:block;}

/* CTA */
.cta-band{
  background:linear-gradient(120deg, var(--green) 0%, #123526 100%); color:#fff; border-radius:22px;
  padding:56px; position:relative; overflow:hidden;
}
.cta-band::before{
  content:""; position:absolute; right:-60px; top:-60px; width:220px; height:220px; border-radius:50%;
  background:rgba(212,151,44,.18);
}

/* ============ PRODUCT CARDS ============ */
.product-filter-btn{
  border:1px solid var(--line); background:var(--paper); color:var(--navy); border-radius:999px;
  padding:.5rem 1.3rem; font-weight:600; font-size:.88rem; margin:0 6px 10px 0; transition:all .25s ease;
}
.product-filter-btn.active, .product-filter-btn:hover{background:var(--green); color:#fff; border-color:var(--green);}
.product-card{
  background:var(--paper); border-radius:var(--radius); overflow:hidden; border:1px solid var(--line);
  box-shadow:var(--shadow); transition:transform .35s ease, box-shadow .35s ease; height:100%;
}
.product-card:hover{transform:translateY(-8px); box-shadow:var(--shadow-lg);}
.product-media{position:relative; height:210px; overflow:hidden;}
.product-media img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease;}
.product-card:hover .product-media img{transform:scale(1.08);}
.product-tag{
  position:absolute; top:12px; left:12px; background:rgba(11,37,69,.85); color:#fff;
  font-family:var(--font-mono); font-size:.68rem; padding:.25rem .6rem; border-radius:999px; letter-spacing:.05em;
}
.product-body{padding:18px 20px;}
.product-body h5{font-size:1.05rem; margin-bottom:6px; color:var(--navy);}
.product-body .desc{font-size:.85rem; color:var(--ink-soft); min-height:40px;}
.product-meta{font-size:.78rem; color:var(--ink-soft); border-top:1px dashed var(--line); margin-top:12px; padding-top:10px;}
.product-meta strong{color:var(--green);}
.product-enquire{
  width:100%; margin-top:12px; background:var(--green-pale); color:var(--green); border:none;
  border-radius:8px; padding:.55rem; font-weight:700; font-size:.86rem; transition:all .25s ease;
}
.product-enquire:hover{background:var(--green); color:#fff;}

/* ============ CERTIFICATE CARDS ============ */
.cert-card{
  background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); text-align:center;
  padding:34px 20px; box-shadow:var(--shadow); transition:transform .3s ease, box-shadow .3s ease; height:100%;
}
.cert-card:hover{transform:translateY(-6px) rotate(-0.5deg); box-shadow:var(--shadow-lg);}
.cert-seal{
  width:84px; height:84px; border-radius:50%; margin:0 auto 18px; display:flex; align-items:center; justify-content:center;
  background:conic-gradient(from 180deg, var(--gold), var(--green), var(--navy), var(--gold));
  position:relative;
}
.cert-seal::before{content:""; position:absolute; inset:5px; border-radius:50%; background:var(--paper);}
.cert-seal i{position:relative; z-index:2; font-size:1.6rem; color:var(--green);}
.cert-card h5{color:var(--navy); font-size:1.05rem;}
.cert-card span{font-family:var(--font-mono); font-size:.72rem; color:var(--ink-soft); letter-spacing:.08em;}

/* ============ PROFILE TABLE ============ */
.profile-table{width:100%; border-collapse:collapse; background:var(--paper); box-shadow:var(--shadow); border-radius:var(--radius); overflow:hidden;}
.profile-table tr{border-bottom:1px solid var(--line);}
.profile-table tr:last-child{border-bottom:none;}
.profile-table td{padding:16px 22px; vertical-align:top;}
.profile-table td:first-child{
  width:34%; font-family:var(--font-mono); font-size:.78rem; text-transform:uppercase; letter-spacing:.06em;
  color:var(--gold); font-weight:700; background:var(--green-pale);
}
.profile-table td:last-child{color:var(--ink); font-weight:500;}
.profile-table tr:nth-child(even){background:rgba(234,241,236,.35);}
.badge-market{
  display:inline-block; background:var(--navy); color:#fff; font-family:var(--font-mono); font-size:.72rem;
  padding:.28rem .7rem; border-radius:999px; margin:2px 4px 2px 0;
}
.badge-term{
  display:inline-block; border:1px solid var(--green); color:var(--green); font-family:var(--font-mono); font-size:.72rem;
  padding:.28rem .7rem; border-radius:999px; margin:2px 4px 2px 0;
}

/* ============ CONTACT ============ */
.contact-form-wrap{background:var(--paper); border-radius:18px; box-shadow:var(--shadow-lg); padding:40px;}
.form-control, .form-select{
  border:1px solid var(--line); border-radius:8px; padding:.7rem .9rem; font-size:.94rem; background:#FCFBF7;
}
.form-control:focus, .form-select:focus{border-color:var(--green); box-shadow:0 0 0 3px rgba(27,67,50,.12);}
.form-label{font-weight:600; font-size:.86rem; color:var(--navy); margin-bottom:6px;}
.contact-info-card{
  background:var(--navy); color:#fff; border-radius:18px; padding:36px; height:100%;
}
.contact-info-card .info-row{display:flex; gap:16px; align-items:flex-start; margin-bottom:22px;}
.contact-info-card .info-row i{
  width:44px; height:44px; border-radius:12px; background:rgba(212,151,44,.18); color:var(--gold);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.map-frame{border-radius:14px; overflow:hidden; box-shadow:var(--shadow);}
.quick-contact-row{display:flex; gap:12px; flex-wrap:wrap;}
.quick-contact-row a{
  flex:1; min-width:140px; text-align:center; padding:.85rem; border-radius:10px; font-weight:700; font-size:.9rem;
}
.qc-whatsapp{background:#25D366; color:#fff;}
.qc-call{background:var(--green); color:#fff;}
.qc-email{background:var(--gold); color:var(--navy);}

/* ============ PAGE HEADER (inner pages) ============ */
.page-header{
  background:var(--navy); color:#fff; padding:150px 0 70px; position:relative; overflow:hidden;
}
.page-header::after{
  content:""; position:absolute; inset:0;
  background:repeating-linear-gradient(90deg, rgba(255,255,255,.03) 0 1px, transparent 1px 40px);
}
.page-header .breadcrumb-tbm{font-family:var(--font-mono); font-size:.78rem; color:var(--gold-light); letter-spacing:.08em;}
.page-header h1{color:#fff; font-size:2.6rem;}

/* ============ ABOUT ============ */
.mv-card{border-radius:var(--radius); padding:32px; height:100%; border:1px solid var(--line); background:var(--paper);}
.strength-strip{display:flex; align-items:center; gap:16px; padding:18px 0; border-bottom:1px solid var(--line);}
.strength-strip:last-child{border-bottom:none;}
.strength-strip .num{font-family:var(--font-mono); color:var(--gold); font-weight:700; font-size:1.1rem; width:34px;}

/* ============ FLOATING BUTTONS ============ */
.float-stack{position:fixed; right:22px; bottom:22px; z-index:1050; display:flex; flex-direction:column; gap:12px; align-items:flex-end;}
.float-btn{
  width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:1.3rem; color:#fff; box-shadow:0 8px 22px rgba(0,0,0,.22); transition:transform .25s ease;
}
.float-btn:hover{transform:scale(1.08); color:#fff;}
.float-whatsapp{background:#25D366;}
.float-call{background:var(--navy);}
.float-enquiry{
  background:var(--gold); color:var(--navy); border-radius:999px; padding:0 22px; height:56px;
  font-weight:700; box-shadow:0 8px 22px rgba(212,151,44,.4); border:none;
}
.back-to-top{
  position:fixed; left:22px; bottom:22px; z-index:1050; width:46px; height:46px; border-radius:50%;
  background:var(--green); color:#fff; display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden; transition:all .3s ease; border:none;
}
.back-to-top.show{opacity:1; visibility:visible;}

/* ============ ENQUIRY MODAL ============ */
.modal-enquiry .modal-content{border-radius:18px; border:none; overflow:hidden;}
.modal-enquiry .modal-header{background:var(--green); color:#fff; border:none; padding:24px 28px;}
.modal-enquiry .modal-body{padding:28px;}
.modal-enquiry .btn-close{filter:invert(1);}

/* ============ FOOTER ============ */
footer.site-footer{background:#0A1A2E; color:#C9D3E0; padding-top:64px;}
footer.site-footer h6{color:#fff; font-family:var(--font-mono); text-transform:uppercase; letter-spacing:.1em; font-size:.8rem; margin-bottom:18px;}
footer.site-footer a.footer-link{display:block; color:#9FB0C4; margin-bottom:10px; font-size:.9rem; transition:color .2s ease;}
footer.site-footer a.footer-link:hover{color:var(--gold);}
.footer-social a{
  width:38px; height:38px; border-radius:50%; border:1px solid rgba(255,255,255,.18); display:inline-flex;
  align-items:center; justify-content:center; margin-right:8px; color:#fff; transition:all .25s ease;
}
.footer-social a:hover{background:var(--gold); border-color:var(--gold); color:var(--navy);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08); margin-top:40px; padding:20px 0; font-size:.82rem; color:#7C8CA0;}

/* ============ COUNTERS / MISC ============ */
.counter-box{text-align:center;}
.counter-box .num{font-family:var(--font-display); font-size:2.8rem; color:var(--green); font-weight:700;}
.counter-box .lbl{font-size:.85rem; color:var(--ink-soft); font-family:var(--font-mono); text-transform:uppercase; letter-spacing:.08em;}

.lang-menu .dropdown-item.active{background:var(--green-pale); color:var(--green);}

/* ============ RESPONSIVE ============ */
@media (max-width:991px){
  .section{padding:64px 0;}
  .page-header{padding:130px 0 50px;}
  .navbar-tbm.scrolled, .navbar-tbm{background:rgba(250,247,240,.98);}
  .navbar-tbm .nav-link{color:var(--navy);}
}
@media (max-width:767px){
  .hero-slider, .hero-slider .carousel-item{height:78vh; min-height:460px;}
  .cta-band{padding:34px 22px;}
  .contact-form-wrap{padding:24px;}
  .float-enquiry span{display:none;}
  .float-enquiry{width:56px; padding:0; border-radius:50%;}
}
