:root {
  --body: #fcfaed;

  --color-cream: #fcfaed;
  --color-cream-dark: #ece3d4;
  --color-forest: #1d6b3b;
  --color-forest-dark: #224f1c;
  --color-forest-light: #7e9d7b;
  --color-gray: #efefef;
  --color-gray-dark: #b5b3b3;
  --color-gold: #c9a96b;
  --color-text: #1f2620;
  --color-text-muted: #5b6555;
  --color-border: #e0d9c8;
  --color-table-border: var(--color-gray-dark);
  --color-bar: var(--color-gray);

  --radius-card: 18px;
  --shadow-soft: 0 15px 35px rgba(30, 38, 32, 0.12);
  --max-width: 1160px;

  --font-family-primary: 'Lateef', serif;
  --font-family: var(--font-family-primary);

  --font-size: 26px;
  --font-title-size: 28px;
  --wp--preset--font-size--small: var(--font-size) !important;
  --wp--preset--font-size--medium: var(--font-size) !important;
  --wp--preset--font-size--large: 36px;
  --wp--preset--font-size--x-large: 42px;

  --font-color: #1f2620;
  --font-weight: 400;
  --font-height: 1.6;

  --font-title-spacing: 0.18em;

  --bar-padding: 18px 22px;
  --tab-inside: #faf6e2;
  --site-padding-fixed: 80px;
  --site-padding-general: 30px 30px 10px 30px;
}

/* =========================================================
   1. CSS RESET + VARIABLES
   ========================================================= */

* {
  box-sizing: border-box;
}
html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
span,
a,
li,
strong,
em,
button,
input,
select,
textarea,
.entry-content,
.wp-block,
.site-header,
.site-footer,
.main-navigation,
.woocommerce,
.woocommerce * {
  font-family: var(--font-family) !important;
}

body {
  margin: 0;
  color: var(--color-text);
  line-height: 1.6;
  min-height: 100vh;
  background-color: var(--body);
  font-family: var(--font-family-primary);
  font-size: var(--font-size);
  line-height: normal;
}
/* =========================================
   GLOBAL FONT — APPLY LATEEF TO EVERYTHING
   ========================================= */
html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
span,
a,
li,
strong,
em,
button,
input,
select,
textarea,
.entry-content,
.wp-block,
.site-header,
.site-footer,
.main-navigation,
.woocommerce,
.woocommerce * {
  font-family: var(--font-family) !important;
}

body.page-template-home-page #page {
  background: transparent;
  box-shadow: none;
}
.p-0 {
  padding: 0 !important;
}
.m-0 {
  margin: 0 !important;
}
body.page-template-home-page #content,
body.page-template-home-page .site-content,
body.page-template-home-page .site-content .content-area,
body.page-template-home-page .site-content .inside-article,
body.page-template-home-page .site-content .entry-content {
  margin: 0;
  padding: 0;
  max-width: 100%;
  background: transparent;
}
body a {
  font-size: var(--font-size) !important;
  color: var(--color-forest-dark) !important;
}
body a:hover {
  color: var(--color-forest-light) !important;
}
#site-main {
  padding-top: 0;
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}

#page.site {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.wc-block-components-checkout-place-order-button {
  background-color: var(--color-forest-dark) !important;
  color: white !important;
}

.wp-singular p:not(#hero-section *),
.wp-singular h1:not(#hero-section *),
.wp-singular h2:not(#hero-section *),
.wp-singular ol:not(#hero-section *),
.wp-singular ul:not(#hero-section *) {
  color: var(--color-forest-dark);
  line-height: normal;
}
.wp-singular p:not(#hero-section *) {
  font-size: var(--font-size);
  line-height: normal;
}
.wp-singular ol,
.wp-singular ul {
  font-size: var(--font-size);
  line-height: normal;
}

/* =========================================
   GLOBAL BTN
   ========================================= */
.wc-block-checkout__actions
  .wc-block-checkout__actions_row
  .wc-block-components-checkout-place-order-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 20px !important;
  border-radius: 999px;
  border: none;
  background: var(--color-forest-dark) !important;
  color: white !important;
  text-transform: uppercase;
  letter-spacing: var(--font-title-spacing);
  text-decoration: none;
  font-size: var(--font-size) !important;
  font-family: var(--font-family) !important;
  border-radius: 0px !important;
  width: fit-content;
  text-transform: uppercase;
}
.woocommerce div.product form.cart .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 20px !important;
  border-radius: 999px;
  border: none;
  background: var(--color-forest-dark) !important;
  color: white !important;
  text-transform: uppercase;
  letter-spacing: var(--font-title-spacing);
  text-decoration: none;
  font-size: var(--font-size) !important;
  font-family: var(--font-family) !important;
  border-radius: 0px !important;
  float: none;
}
/* VIEW button */
.woocommerce-MyAccount-content .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 20px !important;
  border-radius: 999px;
  border: none;
  background: var(--color-forest-dark) !important;
  color: white !important;
  text-transform: uppercase;
  letter-spacing: var(--font-title-spacing);
  text-decoration: none;
  font-size: var(--font-size) !important;
  font-family: var(--font-family) !important;
  border-radius: 0px !important;
}
.woocommerce div.product form.cart .button:hover {
  background-color: var(--color-forest) !important;
}
/* Log in button (same style as VIEW orders) */
.woocommerce-account .woocommerce-form-login .woocommerce-button.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 30px;
  border-radius: 999px;
  border: none;
  background: var(--color-forest-dark);
  color: #fff;
  text-transform: uppercase;
  letter-spacing: var(--font-title-spacing);
  font-size: var(--font-size);
  font-family: var(--font-family);
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.2s ease, transform 0.1s ease;
}

.woocommerce-account .woocommerce-form-login .woocommerce-button.button:hover {
  background: var(--color-forest);
  transform: translateY(-1px);
}
.gbp-section {
  padding: 0rem var(--site-padding-fixed) !important;
}
@media (max-width: 475px) {
  :root {
    --font-size: 18px;
    --site-padding-fixed: 20px;
  }
  h1.entry-title {
    font-size: 32px;
  }
}

/* =========================================
   TITLES STYLE
   ========================================= */
.single-research-title,
#nf-form-title-1 h3, /* contact */
h1:not(#hero h1), h2.gbp-section__headline {
  width: 100%;
  text-align: center;
  font-family: var(--gp-font--lateef);
  font-size: 64px;
  letter-spacing: 8px;
  line-height: auto;
  text-align: center;
  margin: 0px;
  padding: 0px;
  text-transform: uppercase;
  margin-bottom: 30px;
  margin-top: var(--site-padding-fixed);
}
h2.gbp-section__headline.gb-text-3cee2a71,
h2.gbp-section__headline.gb-text-6b63286e {
  margin-top: 0px !important;
}
@media (max-width: 768px) {
  .single-research-title,
#nf-form-title-1 h3, /* contact */
h1:not(#hero h1), h2.gbp-section__headline {
    font-size: 32px;
    margin-top: 80px !important;
  }
}

h1:not(#hero h1)::after,
#nf-form-1-cont h3::after {
  content: '';
  display: block;
  width: 200px;
  height: 2px;
  background-color: #7e9e7b;
  margin-top: 20px !important;
  margin: auto;
}
#nf-form-1-cont h3::after {
  background-color: #ffffff;
}
