/* ==========================================================================
   Bengal Glory Ltd — Brand Design Foundation
   Palette : Deep Green (brand) · Teal-green (primary/CTA) · Orange (accent)
             — matched to the existing bengalglory.com brand.
   Type    : Poppins (headings) · Inter (body)
   Loaded after Flatsome so these rules win.
   ========================================================================== */

:root {
  /* Brand colors (from live site) */
  --green-dark:  #1D422F;  /* headings + body text */
  --green:       #00803E;  /* logo green / mid accents */
  --teal:        #00A896;  /* primary — buttons, links */
  --teal-dark:   #00887A;  /* teal hover */
  --orange:      #FF4D00;  /* accent — section titles */
  --orange-dark: #E04400;  /* orange hover */
  --ink:         #1D422F;  /* main text */
  --muted:       #5C6B62;  /* muted text / captions */
  --line:        #E4EAE6;  /* borders / dividers */
  --soft:        #F5F7F6;  /* soft section background */

  /* Type stacks */
  --font-head: 'Poppins', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-body: 'Inter',   -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* ---------- Base typography ---------- */
body {
  font-family: var(--font-body);
  color: var(--ink);
  font-size: 16px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6,
.heading-font, .entry-title, .widget-title {
  font-family: var(--font-head);
  color: var(--green-dark);
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.25;
}
h1 { font-weight: 700; }

/* ---------- Navigation ---------- */
.header-nav .nav > li > a,
.nav > li > a {
  font-family: var(--font-head);
  font-weight: 500;
  letter-spacing: 0.01em;
}

/* ---------- Links ---------- */
a { color: var(--teal); transition: color .2s ease; }
a:hover { color: var(--teal-dark); }

/* ---------- Buttons ---------- */
.button {
  font-family: var(--font-head);
  font-weight: 600;
  letter-spacing: 0.02em;
  border-radius: 4px;
  text-transform: none;
}

/* Primary = teal (reinforces Flatsome color_primary) */
.button.primary { background-color: var(--teal); border-color: var(--teal); }
.button.primary:hover { background-color: var(--teal-dark); border-color: var(--teal-dark); }

/* Orange accent CTA — use class "orange" or Flatsome's "secondary" (color_secondary = orange) */
.button.orange, .button.secondary {
  background-color: var(--orange);
  border-color: var(--orange);
  color: #fff;
}
.button.orange:hover, .button.secondary:hover {
  background-color: var(--orange-dark);
  border-color: var(--orange-dark);
  color: #fff;
}

/* Deep-green button (for dark CTAs) */
.button.green { background-color: var(--green-dark); border-color: var(--green-dark); color: #fff; }
.button.green:hover { background-color: #163523; border-color: #163523; color: #fff; }

/* Outline variants */
.button.teal.is-outline    { background: transparent; color: var(--teal); border-color: var(--teal); }
.button.teal.is-outline:hover { background: var(--teal); color: #fff; }
.button.orange.is-outline, .button.secondary.is-outline { background: transparent; color: var(--orange); border-color: var(--orange); }
.button.orange.is-outline:hover { background: var(--orange); color: #fff; }

/* ---------- Utility / brand helpers (for UX Builder sections) ---------- */
.bg-green      { background-color: var(--green-dark) !important; color: #fff; }
.bg-teal       { background-color: var(--teal) !important; color: #fff; }
.bg-soft       { background-color: var(--soft) !important; }
.text-teal     { color: var(--teal) !important; }
.text-orange   { color: var(--orange) !important; }
.text-green    { color: var(--green-dark) !important; }

/* Headings stay light on dark/green sections */
.dark h1, .dark h2, .dark h3, .dark h4, .dark h5, .dark h6,
.bg-green h1, .bg-green h2, .bg-green h3, .bg-green h4,
.bg-teal h1, .bg-teal h2, .bg-teal h3 { color: #fff; }

/* ---------- Eyebrow / small-caps label (orange, like current section titles) ---------- */
.eyebrow, .is-eyebrow {
  font-family: var(--font-head);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--orange);
  display: inline-block;
  margin-bottom: 0.5rem;
}

/* ---------- Top bar ---------- */
#top-bar { font-family: var(--font-head); font-size: 0.8rem; letter-spacing: 0.02em; }

/* ---------- Footer brand ---------- */
#footer .footer-2, .footer-2 { background-color: var(--green-dark); }
.absolute-footer, html .absolute-footer.dark {
  background-color: #163523;
  color: rgba(255,255,255,0.6);
}
.absolute-footer a { color: rgba(255,255,255,0.85); }
.absolute-footer a:hover { color: var(--orange); }

/* ---------- Subtle premium hover ---------- */
.box-image, .col-inner > img { transition: transform .4s ease, box-shadow .4s ease; }
.has-hover:hover .box-image { transform: translateY(-4px); }

/* ---------- Section rhythm polish ---------- */
.section-title-normal span { font-family: var(--font-head); }
hr.is-divider { background-color: var(--line); }

/* ---------- Header: single row — logo left · menu center · CTA right ---------- */
/* The nav column has flex-grow (fills the gap between logo and the button),
   so centering its content puts the menu in the middle. */
.header-main .flex-col.flex-left.flex-grow { justify-content: center; }
.header-main ul.header-nav-main.nav-left { margin: 0 auto; }

/* Request-a-Quote button — clear separation on the right */
.header-main .flex-col.flex-right { margin-left: 24px; }
.header-main .header-button-1 .button { margin-bottom: 0; }

/* ---------- Front page: sections span edge-to-edge (full-width landing) ---------- */
.page .page-wrapper.content-area { padding-left: 0; padding-right: 0; }
.page .page-wrapper .row-main { max-width: 100%; padding-left: 0; padding-right: 0; }
.page .page-wrapper .row-main > .col { padding-left: 0; padding-right: 0; }
.page .page-wrapper .row-main > .col > .col-inner { padding-left: 0; padding-right: 0; }

/* ==========================================================================
   Home page components — stats, cards, badges
   ========================================================================== */

/* Section eyebrow + title helpers (centered blocks) */
.bg-sec-head { margin-bottom: 2.4rem; }
.bg-sec-head h2 { font-size: clamp(1.6rem, 3vw, 2.3rem); margin: .2rem 0 .5rem; }
.bg-sec-head p { color: var(--muted); max-width: 620px; margin: 0 auto; }

/* ---- Stats band ---- */
.bg-stats .stat { text-align: center; padding: 10px 6px; }
.bg-stats .stat-num {
  font-family: var(--font-head); font-weight: 700; line-height: 1;
  font-size: clamp(2rem, 3.4vw, 2.9rem); color: #fff;
}
.bg-stats .stat-num span { color: var(--orange); }
.bg-stats .stat-label {
  font-family: var(--font-head); text-transform: uppercase; letter-spacing: .12em;
  font-size: .74rem; color: rgba(255,255,255,.72); margin-top: .55rem; font-weight: 500;
}

/* ---- Feature / service / product cards ---- */
.bg-card {
  background: #fff; border: 1px solid var(--line); border-radius: 12px;
  padding: 30px 26px; height: 100%;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.bg-card:hover { transform: translateY(-5px); box-shadow: 0 14px 34px rgba(21,44,32,.12); border-color: transparent; }
.bg-card .ic {
  width: 54px; height: 54px; border-radius: 12px;
  background: rgba(0,168,150,.10); color: var(--teal);
  display: flex; align-items: center; justify-content: center; margin-bottom: 18px;
}
.bg-card .ic svg { width: 27px; height: 27px; }
.bg-card h4 { margin: 0 0 .45rem; font-size: 1.14rem; color: var(--green-dark); }
.bg-card p { margin: 0; color: var(--muted); font-size: .95rem; line-height: 1.65; }

/* product card variant — accent bar on hover */
.bg-card.product .ic { background: rgba(255,77,0,.10); color: var(--orange); }

/* ---- Compliance badges ---- */
.cert-wrap { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; }
.cert-badge {
  display: inline-flex; align-items: center; gap: 9px;
  background: #fff; border: 1px solid var(--line); border-radius: 10px;
  padding: 14px 22px; font-family: var(--font-head); font-weight: 600;
  color: var(--green-dark); font-size: .98rem;
}
.cert-badge svg { width: 20px; height: 20px; color: var(--teal); flex: 0 0 auto; }

/* ---- CTA band ---- */
.bg-cta h2 { color: #fff; font-size: clamp(1.6rem, 3vw, 2.2rem); }
.bg-cta p { color: rgba(255,255,255,.85); }

/* ---- Footer widgets ---- */
#footer .widget .widget-title, #footer .widget h3, #footer .widget h4 {
  color: #fff; font-family: var(--font-head); font-size: 1.05rem; letter-spacing: .01em; margin-bottom: 1rem;
}
#footer { background: var(--green-dark); }
#footer, #footer p, #footer li, #footer a { color: rgba(255,255,255,.78); }
#footer a:hover { color: var(--orange); }
#footer .footer-contact li { list-style: none; margin: 0 0 .7rem; padding-left: 28px; position: relative; line-height: 1.5; }
#footer .footer-contact li svg { position: absolute; left: 0; top: 2px; width: 18px; height: 18px; color: var(--teal); }
#footer ul.footer-links { list-style: none; margin: 0; padding: 0; }
#footer ul.footer-links li { margin: 0 0 .55rem; }
#footer .footer-social { display: flex; gap: 12px; margin-top: .4rem; }
#footer .footer-social a {
  width: 40px; height: 40px; border-radius: 50%; background: rgba(255,255,255,.08);
  display: flex; align-items: center; justify-content: center; color: #fff; transition: background .25s;
}
#footer .footer-social a:hover { background: var(--teal); color: #fff; }
#footer .footer-social svg { width: 18px; height: 18px; }

/* ==========================================================================
   Layout centering + fluid typography + responsive  (fix wide-screen left-stick)
   ========================================================================== */

/* Center every section's inner container (was stuck left after full-width sections) */
.page .page-wrapper .section .row {
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100%;
}
/* Footer content also centered to the same container */
#footer .row, #footer .footer-inner { margin-left: auto; margin-right: auto; }

/* ---- Fluid, device-agnostic type scale ---- */
h1 { font-size: clamp(2rem, 1.1rem + 3.4vw, 3.4rem); }
.bg-sec-head h2 { font-size: clamp(1.7rem, 1.2rem + 1.8vw, 2.35rem); }
.bg-stats .stat-num { font-size: clamp(2rem, 1.4rem + 1.8vw, 2.9rem); }
.bg-card h4 { font-size: clamp(1.05rem, 1rem + .3vw, 1.18rem); }
body { font-size: clamp(15.5px, 15px + .18vw, 17px); }

/* ---- Equal-height cards in a row ---- */
.page .page-wrapper .section .row { align-items: stretch; }
.page .page-wrapper .section .col > .col-inner { height: 100%; }

/* ---- Responsive spacing ---- */
@media (max-width: 849px) {
  .page .page-wrapper .section { padding-top: 50px !important; padding-bottom: 50px !important; }
  .bg-sec-head { margin-bottom: 1.6rem; }
  .bg-card { padding: 24px 22px; }
  .bg-stats .stat { padding: 14px 6px; }
}
@media (max-width: 549px) {
  .cert-wrap { gap: 10px; }
  .cert-badge { padding: 11px 16px; font-size: .9rem; }
  .bg-stats .stat-num { font-size: 2rem; }
}

/* ==========================================================================
   Inner page components
   ========================================================================== */

/* Page banner */
.page-banner h1 { color: #fff; margin: 0; font-size: clamp(1.9rem, 1.2rem + 2.6vw, 3rem); }
.page-banner .eyebrow { color: var(--orange); }

/* Left/right split blocks */
.split-text h2 { margin: .2rem 0 .8rem; font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.1rem); }
.split-text p { color: var(--muted); }

/* "At a glance" fact card */
.fact-card { background: var(--green-dark); border-radius: 14px; padding: 30px 30px; color: #fff; }
.fact-card h4 { color: #fff; font-size: 1.1rem; margin: 0 0 1rem; }
.fact-card dl { margin: 0; }
.fact-card .fact { display: flex; justify-content: space-between; gap: 14px; padding: 11px 0; border-bottom: 1px solid rgba(255,255,255,.12); }
.fact-card .fact:last-child { border-bottom: 0; }
.fact-card .fact dt { color: rgba(255,255,255,.62); font-size: .9rem; }
.fact-card .fact dd { margin: 0; font-family: var(--font-head); font-weight: 600; text-align: right; }

/* Mission / vision cards */
.mv-card { background: #fff; border: 1px solid var(--line); border-left: 4px solid var(--teal); border-radius: 12px; padding: 28px 30px; height: 100%; }
.mv-card.orange { border-left-color: var(--orange); }
.mv-card h3 { margin: 0 0 .5rem; font-size: 1.25rem; }
.mv-card p { margin: 0; color: var(--muted); }

/* Process steps */
.proc-step { position: relative; padding: 26px 24px 24px; background: #fff; border: 1px solid var(--line); border-radius: 12px; height: 100%; }
.proc-step .n { font-family: var(--font-head); font-weight: 700; font-size: 1.05rem; color: #fff; background: var(--teal); width: 42px; height: 42px; border-radius: 10px; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
.proc-step h4 { margin: 0 0 .4rem; font-size: 1.08rem; }
.proc-step p { margin: 0; color: var(--muted); font-size: .93rem; }

/* Product spec list */
.spec-list { list-style: none; margin: 1rem 0 0; padding: 0; }
.spec-list li { display: flex; gap: 10px; padding: 8px 0; border-bottom: 1px dashed var(--line); font-size: .94rem; }
.spec-list li:last-child { border-bottom: 0; }
.spec-list li b { min-width: 92px; color: var(--green-dark); font-family: var(--font-head); font-weight: 600; }
.prod-block { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 30px 30px; height: 100%; }
.prod-block h3 { margin: 0 0 .3rem; font-size: 1.3rem; }
.prod-block .tagline { color: var(--teal); font-family: var(--font-head); font-weight: 600; font-size: .9rem; }

/* Certification detail cards */
.cert-card { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 26px 26px; height: 100%; }
.cert-card .cc-top { display: flex; align-items: center; gap: 12px; margin-bottom: .7rem; }
.cert-card .cc-ic { width: 44px; height: 44px; border-radius: 10px; background: rgba(0,168,150,.10); color: var(--teal); display: flex; align-items: center; justify-content: center; }
.cert-card .cc-ic svg { width: 24px; height: 24px; }
.cert-card h4 { margin: 0; font-size: 1.12rem; }
.cert-card p { margin: 0; color: var(--muted); font-size: .93rem; }

/* Contact page */
.contact-info { list-style: none; margin: 1.2rem 0 0; padding: 0; }
.contact-info li { position: relative; padding: 0 0 1.1rem 44px; line-height: 1.5; }
.contact-info li .ci-ic { position: absolute; left: 0; top: 0; width: 30px; height: 30px; color: var(--teal); }
.contact-info li .ci-ic svg { width: 22px; height: 22px; }
.contact-info li b { display: block; font-family: var(--font-head); color: var(--green-dark); margin-bottom: 2px; }
.map-embed { position: relative; width: 100%; padding-bottom: 42%; min-height: 300px; border-radius: 0; overflow: hidden; }
.map-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* Contact form (CF7) styling to match brand */
.wpcf7 .cf7-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.wpcf7 .cf7-full { grid-column: 1 / -1; }
.wpcf7 label { font-family: var(--font-head); font-weight: 500; font-size: .9rem; color: var(--green-dark); display: block; }
.wpcf7 input[type=text], .wpcf7 input[type=email], .wpcf7 input[type=tel], .wpcf7 input[type=number], .wpcf7 textarea, .wpcf7 select {
  width: 100%; border: 1px solid var(--line); border-radius: 8px; padding: 11px 13px; font-family: var(--font-body); font-size: .95rem; margin-top: 5px; background: #fff;
}
.wpcf7 input:focus, .wpcf7 textarea:focus, .wpcf7 select:focus { outline: none; border-color: var(--teal); box-shadow: 0 0 0 3px rgba(0,168,150,.12); }
.wpcf7 .wpcf7-submit { background: var(--teal); color: #fff; border: 0; border-radius: 6px; padding: 13px 30px; font-family: var(--font-head); font-weight: 600; letter-spacing: .02em; cursor: pointer; transition: background .2s; }
.wpcf7 .wpcf7-submit:hover { background: var(--teal-dark); }
@media (max-width: 549px) { .wpcf7 .cf7-grid { grid-template-columns: 1fr; } }

/* ==========================================================================
   RFQ — inquiry system
   ========================================================================== */

/* Header inquiry link + count */
.header-main .bg-inq-nav { display: flex; align-items: center; }
.header-main .bg-inq-nav a { display: inline-flex; align-items: center; gap: 7px; font-family: var(--font-head); font-weight: 600; color: var(--green-dark); }
.header-main .bg-inq-nav svg { width: 22px; height: 22px; }
.header-main .bg-inq-nav .bg-inq-label { font-size: .82rem; letter-spacing: .02em; }
.header-main .bg-inq-nav .bg-count { min-width: 20px; height: 20px; padding: 0 5px; border-radius: 10px; background: var(--bg-line, #E4EAE6); color: var(--green-dark); font-size: .72rem; display: inline-flex; align-items: center; justify-content: center; }
.header-main .bg-inq-nav a.has-items .bg-count { background: var(--orange); color: #fff; }
@media (max-width: 849px) { .header-main .bg-inq-nav .bg-inq-label { display: none; } }

/* Product page inquiry form */
.bg-inquiry-form { margin: 1.4rem 0; padding: 22px; border: 1px solid var(--line); border-radius: 12px; background: var(--soft); }
.bg-if-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.bg-if-grid > .bg-if-full, .bg-if-grid > label.bg-if-full { grid-column: 1 / -1; }
.bg-inquiry-form label { font-family: var(--font-head); font-weight: 500; font-size: .86rem; color: var(--green-dark); display: block; }
.bg-inquiry-form label span { color: var(--orange); }
.bg-inquiry-form input[type=text], .bg-inquiry-form input[type=number], .bg-inquiry-form input[type=date], .bg-inquiry-form input[type=email], .bg-inquiry-form input[type=tel], .bg-inquiry-form textarea {
  width: 100%; border: 1px solid var(--line); border-radius: 8px; padding: 10px 12px; font-family: var(--font-body); font-size: .93rem; margin-top: 5px; background: #fff;
}
.bg-inquiry-form input:focus, .bg-inquiry-form textarea:focus { outline: none; border-color: var(--teal); box-shadow: 0 0 0 3px rgba(0,168,150,.12); }
.bg-if-custom { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; }
.bg-if-custom .bg-if-label { width: 100%; font-family: var(--font-head); font-weight: 500; font-size: .86rem; color: var(--green-dark); }
.bg-chk { display: inline-flex; align-items: center; gap: 6px; font-weight: 400; font-family: var(--font-body); color: var(--ink); font-size: .9rem; }
.bg-chk input { margin: 0; }
.bg-add-inquiry { margin-top: 16px; background: var(--teal); border-color: var(--teal); color: #fff; }
.bg-add-inquiry:hover { background: var(--teal-dark); border-color: var(--teal-dark); }
.bg-add-inquiry.loading { opacity: .6; pointer-events: none; }
.bg-if-msg { margin-left: 12px; font-size: .88rem; font-family: var(--font-head); }
.bg-if-msg.ok { color: var(--teal-dark); }
.bg-if-msg.err { color: var(--orange); }
.button.bg-inquire-link { background: var(--teal); border-color: var(--teal); color: #fff; }

/* Toast */
.bg-toast { position: fixed; left: 50%; bottom: 26px; transform: translateX(-50%) translateY(20px); background: var(--green-dark); color: #fff; padding: 13px 22px; border-radius: 10px; font-family: var(--font-head); font-weight: 500; font-size: .92rem; box-shadow: 0 10px 30px rgba(0,0,0,.22); opacity: 0; pointer-events: none; transition: opacity .25s, transform .25s; z-index: 9999; max-width: 90vw; }
.bg-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }
.bg-toast.err { background: var(--orange); }

/* Inquiry list page */
.bg-inquiry { max-width: 860px; margin: 0 auto; }
.bg-inq-empty, .bg-inq-success { text-align: center; padding: 40px 20px; }
.bg-inq-items { display: grid; gap: 14px; margin-bottom: 2rem; }
.bg-inq-item { border: 1px solid var(--line); border-radius: 12px; padding: 20px 22px; background: #fff; }
.bg-inq-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: .6rem; }
.bg-inq-head h4 { margin: 0; font-size: 1.1rem; }
.bg-inq-remove { color: var(--muted); font-size: 1.5rem; line-height: 1; text-decoration: none; }
.bg-inq-remove:hover { color: var(--orange); }
.bg-inq-specs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 4px 20px; }
.bg-inq-specs li { display: flex; gap: 8px; font-size: .9rem; padding: 3px 0; border-bottom: 1px dashed var(--line); }
.bg-inq-specs li b { min-width: 108px; color: var(--green-dark); font-family: var(--font-head); font-weight: 600; }
.bg-inq-form { border: 1px solid var(--line); border-radius: 12px; padding: 26px; background: var(--soft); }
.bg-inq-form h3 { margin: 0 0 1rem; }
.bg-inq-form label { font-family: var(--font-head); font-weight: 500; font-size: .86rem; color: var(--green-dark); display: block; }
.bg-inq-form label span { color: var(--orange); }
.bg-inq-form input, .bg-inq-form textarea { width: 100%; border: 1px solid var(--line); border-radius: 8px; padding: 10px 12px; font-family: var(--font-body); font-size: .93rem; margin-top: 5px; background: #fff; }
.bg-inq-form input:focus, .bg-inq-form textarea:focus { outline: none; border-color: var(--teal); box-shadow: 0 0 0 3px rgba(0,168,150,.12); }
.bg-inq-submit { margin-top: 16px; background: var(--teal); border-color: var(--teal); color: #fff; }
.bg-inq-submit:hover { background: var(--teal-dark); border-color: var(--teal-dark); }
.bg-inq-success h3 { color: var(--teal-dark); }
@media (max-width: 549px) { .bg-if-grid { grid-template-columns: 1fr; } .bg-inq-specs { grid-template-columns: 1fr; } }

/* ==========================================================================
   v2 — stronger type hierarchy + header / footer fixes
   ========================================================================== */

/* ---- Contrasted, hierarchical type scale ---- */
h1, .page-banner h1 { font-size: clamp(2.4rem, 1.4rem + 3.4vw, 3.9rem); font-weight: 700; letter-spacing: -0.02em; line-height: 1.08; }
.bg-sec-head h2, .split-text h2, h2 { font-size: clamp(1.9rem, 1.25rem + 2.2vw, 2.8rem); font-weight: 700; letter-spacing: -0.015em; line-height: 1.15; }
h3, .mv-card h3, .prod-block h3 { font-size: clamp(1.3rem, 1.1rem + .8vw, 1.6rem); font-weight: 600; }
h4, .bg-card h4, .cert-card h4 { font-size: 1.18rem; font-weight: 600; }
body { font-size: 16.5px; line-height: 1.7; }
.bg-sec-head p, .lead { font-size: clamp(1.02rem, .96rem + .35vw, 1.18rem); line-height: 1.65; }
.eyebrow, .is-eyebrow { font-size: .8rem; letter-spacing: .2em; margin-bottom: .7rem; }
.bg-card p, .prod-block p, .cert-card p { font-size: .96rem; }

/* ---- Header: keep nav on ONE line, tidy button + merged count badge ---- */
.header-main ul.header-nav-main.nav-left { flex-wrap: nowrap; }
.header-main .nav > li > a { font-size: .82rem; letter-spacing: .04em; white-space: nowrap; padding: 0 13px; }
.header-main .flex-col.flex-right { margin-left: 16px; }
.header-main .bg-inq-nav { display: none !important; }
.header-main .header-button-1 .button { position: relative; white-space: nowrap; }
.bg-count-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 5px; margin-left: 9px; border-radius: 10px; background: var(--orange); color: #fff; font-size: .72rem; font-weight: 700; line-height: 1; }

/* ---- Footer: hierarchy, spacing, centered copyright ---- */
#footer .footer-widgets { padding-top: 56px; padding-bottom: 30px; }
#footer .widget .widget-title, #footer .widget h4 { font-size: 1.18rem !important; font-weight: 600; margin-bottom: 1.15rem; letter-spacing: .01em; text-transform: none; }
#footer p, #footer li, #footer a { font-size: .95rem; line-height: 1.75; }
#footer .footer-contact li { font-size: .92rem; }
.absolute-footer { text-align: center !important; }
.absolute-footer, html .absolute-footer.dark { font-size: .82rem; color: rgba(255,255,255,.5); }
.absolute-footer .flex-col { width: 100% !important; text-align: center !important; }
.footer-certs { display: flex; gap: 10px; flex-wrap: wrap; margin-top: .6rem; }
.footer-certs img { background: #fff; padding: 8px 12px; border-radius: 8px; height: 46px; width: auto; object-fit: contain; }

/* Home: factory figure, cert logos, market pills */
.home-figure { border-radius: 14px; overflow: hidden; box-shadow: 0 18px 44px rgba(21,44,32,.16); height: 100%; }
.home-figure img { width: 100%; height: 100%; min-height: 340px; object-fit: cover; display: block; }
.cert-logos { display: flex; gap: 22px; justify-content: center; flex-wrap: wrap; }
.cert-logo { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 26px 44px; display: flex; align-items: center; justify-content: center; min-width: 210px; }
.cert-logo img { height: 74px; width: auto; object-fit: contain; }
.market-pills { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-top: 1rem; }
.market-pills span { font-family: var(--font-head); font-weight: 600; color: var(--green-dark); background: var(--soft); border: 1px solid var(--line); border-radius: 30px; padding: 9px 22px; font-size: .95rem; }

/* WooCommerce product cards (catalog / RFQ) polish */
.woocommerce ul.products li.product .price { display: none; }
.woocommerce ul.products li.product .button.bg-inquire-link { display: inline-block; margin-top: .4rem; }
.woocommerce ul.products li.product h2, .woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--font-head); font-weight: 600; font-size: 1.05rem; color: var(--green-dark); }
.woocommerce ul.products li.product img { border-radius: 8px; }

/* Category cards (homepage [product_categories]) */
.woocommerce ul.products li.product-category a img { border-radius: 10px; }
.woocommerce ul.products li.product-category h2,
.woocommerce ul.products li.product-category .woocommerce-loop-category__title { font-family: var(--font-head); font-weight: 600; color: var(--green-dark); font-size: 1.08rem; }
.woocommerce ul.products li.product-category mark.count { background: transparent; color: var(--teal); font-weight: 600; }

/* Shop category sidebar (switcher) */
.widget_product_categories ul { list-style: none; margin: 0; padding: 0; }
.widget_product_categories li { margin: 0; border-bottom: 1px solid var(--line); }
.widget_product_categories li a { display: block; padding: 10px 4px; font-family: var(--font-head); font-weight: 500; color: var(--green-dark); }
.widget_product_categories li a:hover, .widget_product_categories li.current-cat > a { color: var(--teal); }

/* Inquiry / contact page tweaks */
.bg-inq-note { text-align: center; color: var(--muted); margin-bottom: 1.4rem; }
.bg-inq-h { font-size: 1.1rem; margin: 0 0 1rem; }

/* Floating WhatsApp button */
.bg-whatsapp { position: fixed; right: 22px; bottom: 22px; z-index: 9998; width: 58px; height: 58px; border-radius: 50%; background: #25D366; color: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 8px 24px rgba(0,0,0,.28); transition: transform .2s ease, box-shadow .2s ease; }
.bg-whatsapp:hover { color: #fff; transform: scale(1.08); box-shadow: 0 12px 32px rgba(37,211,102,.5); }
.bg-whatsapp svg { width: 30px; height: 30px; }
@media (max-width: 549px) { .bg-whatsapp { width: 52px; height: 52px; right: 16px; bottom: 16px; } }

/* Hide Flatsome auto-added mobile menu extras (Login / Newsletter) */
.mobile-sidebar .account-item,
.mobile-sidebar .header-newsletter-item,
.mobile-sidebar li.account-item,
.nav-sidebar .account-item,
.nav-sidebar .header-newsletter-item {
	display: none !important;
}
