/* Gems main site — header + footer rebrand (gradient, logo lockup, mobile) */

:root {
  --gems-site-topbar-gradient: linear-gradient(
    120deg,
    #1a120c 0%,
    #4a2c2a 22%,
    #8f5528 45%,
    #c98a4a 58%,
    #b87333 72%,
    #3d2218 100%
  );
  --gems-site-cream: #f5f0e8;
  --gems-site-gold: #d4af37;
  --gems-site-font-brand: "Manrope", "Segoe UI", sans-serif;
  --gems-site-text-dark: #1a120c;
  --gems-site-header-h: 72px;
  --gems-site-header-h-fixed: 64px;
  --gems-site-menu-pad-x: 17px;
}

/* Was #EB5C2E — only the top contact strip */
body.gems-site-rebrand #masthead .ttm-topbar-wrapper {
  background: var(--gems-site-topbar-gradient) !important;
  border-bottom: 1px solid rgba(212, 175, 55, 0.35) !important;
}

body.gems-site-rebrand #masthead .ttm-topbar-wrapper,
body.gems-site-rebrand #masthead .ttm-topbar-wrapper a,
body.gems-site-rebrand #masthead .ttm-topbar-wrapper .top-contact,
body.gems-site-rebrand #masthead .ttm-topbar-wrapper .top-contact li {
  color: var(--gems-site-cream) !important;
}

body.gems-site-rebrand #masthead .ttm-topbar-wrapper a:hover {
  color: var(--gems-site-gold) !important;
}

body.gems-site-rebrand #masthead .ttm-topbar-wrapper .social-icons a {
  color: var(--gems-site-cream) !important;
}

body.gems-site-rebrand #masthead .ttm-topbar-wrapper .social-icons a:hover {
  color: var(--gems-site-gold) !important;
}

/* Brand lockup — logo + name on ONE horizontal line */
body.gems-site-rebrand #masthead .site-branding .gems-brand-lockup {
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 10px;
  height: 100%;
  text-decoration: none !important;
  color: inherit;
  vertical-align: middle;
  border: none !important;
}

body.gems-site-rebrand #masthead .site-branding .gems-brand-text {
  flex: 0 0 auto;
  min-width: max-content;
}

body.gems-site-rebrand #masthead .site-branding .gems-brand-name {
  font-family: var(--gems-site-font-brand) !important;
  font-weight: 700 !important;
  font-size: clamp(0.88rem, 1.4vw, 1.1rem) !important;
  letter-spacing: 0.02em;
  line-height: 1.1 !important;
  white-space: nowrap !important;
  color: var(--gems-site-text-dark) !important;
  display: inline !important;
  text-decoration: none !important;
  border: none !important;
}

body.gems-site-rebrand #masthead .site-branding img#logo-img,
body.gems-site-rebrand #masthead .site-branding img.gems-site-logo {
  flex: 0 0 auto !important;
  display: block !important;
  height: 52px !important;
  max-height: 52px !important;
  width: auto !important;
  max-width: none !important;
  object-fit: contain !important;
}

/* Desktop — branding + menu on one row; restore theme menu floats/spacing */
@media (min-width: 1200px) {
  body.gems-site-rebrand #masthead .site-header-menu {
    height: var(--gems-site-header-h) !important;
  }

  body.gems-site-rebrand #masthead .ttm-header-style-01 .ttm-stickable-header-w {
    height: var(--gems-site-header-h) !important;
  }

  /* Grid keeps brand + menu in separate columns — stops Home overlapping LLC */
  body.gems-site-rebrand #masthead .site-header-menu-inner .container {
    display: grid !important;
    grid-template-columns: max-content minmax(0, 1fr) !important;
    column-gap: 32px !important;
    align-items: center !important;
    height: var(--gems-site-header-h) !important;
    min-height: var(--gems-site-header-h) !important;
  }

  body.gems-site-rebrand #masthead .site-branding.gems-site-branding {
    float: none !important;
    display: block !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    height: var(--gems-site-header-h) !important;
    line-height: var(--gems-site-header-h) !important;
    width: max-content !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    z-index: 2 !important;
    flex-shrink: 0 !important;
  }

  body.gems-site-rebrand #masthead #site-navigation {
    float: none !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    position: relative !important;
    width: 100% !important;
    min-width: 0 !important;
    height: var(--gems-site-header-h) !important;
    line-height: var(--gems-site-header-h) !important;
    text-align: right !important;
    overflow: hidden !important;
  }

  body.gems-site-rebrand #masthead #site-navigation .menu {
    float: none !important;
    display: inline-block !important;
    margin: 0 !important;
    max-width: 100% !important;
    text-align: right !important;
    vertical-align: top !important;
  }

  body.gems-site-rebrand #masthead #site-navigation .menu > ul.dropdown {
    white-space: nowrap !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.gems-site-rebrand #masthead #site-navigation .menu > ul.dropdown > li {
    display: inline-block !important;
    float: none !important;
    white-space: nowrap !important;
    vertical-align: top !important;
  }

  body.gems-site-rebrand #masthead .ttm-menu-toggle {
    display: none !important;
  }

  body.gems-site-rebrand #masthead .ttm-header-style-01 .site-branding,
  body.gems-site-rebrand #masthead .ttm-header-style-01 .ttm-header-icons,
  body.gems-site-rebrand #masthead .ttm-header-style-01 .ttm-header-icon {
    height: var(--gems-site-header-h) !important;
    line-height: var(--gems-site-header-h) !important;
  }

  /* Restore theme menu link padding + height (was disrupted by partial padding reset) */
  body.gems-site-rebrand #masthead #site-header-menu #site-navigation .menu > ul.dropdown > li > a {
    display: block !important;
    margin: 0 !important;
    padding: 0 var(--gems-site-menu-pad-x) !important;
    height: var(--gems-site-header-h) !important;
    line-height: var(--gems-site-header-h) !important;
    position: relative !important;
    white-space: nowrap !important;
  }

  body.gems-site-rebrand #masthead .ttm-stickable-header.fixed-header .site-branding,
  body.gems-site-rebrand #masthead .ttm-stickable-header.fixed-header #site-navigation,
  body.gems-site-rebrand #masthead .ttm-stickable-header.fixed-header #site-navigation > .menu > ul > li > a,
  body.gems-site-rebrand #masthead .ttm-stickable-header.fixed-header .ttm-header-icons,
  body.gems-site-rebrand #masthead .ttm-stickable-header.fixed-header .ttm-header-icon {
    height: var(--gems-site-header-h-fixed) !important;
    line-height: var(--gems-site-header-h-fixed) !important;
  }

  body.gems-site-rebrand #masthead .ttm-stickable-header.fixed-header #site-navigation .menu > ul.dropdown > li > a {
    height: var(--gems-site-header-h-fixed) !important;
    line-height: var(--gems-site-header-h-fixed) !important;
  }

  body.gems-site-rebrand #masthead .ttm-stickable-header.fixed-header .container {
    height: var(--gems-site-header-h-fixed) !important;
    min-height: var(--gems-site-header-h-fixed) !important;
  }

  body.gems-site-rebrand #masthead .ttm-header-style-01 .ttm-stickable-header-w.fixed-header,
  body.gems-site-rebrand #masthead .fixed-header.site-header-menu {
    height: var(--gems-site-header-h-fixed) !important;
  }

  body.gems-site-rebrand #masthead .fixed-header .site-branding img#logo-img,
  body.gems-site-rebrand #masthead .fixed-header .site-branding img.gems-site-logo {
    height: 48px !important;
    max-height: 48px !important;
  }
}

/* Slightly tighter menu padding on narrower desktops so Login stays on one row */
@media (min-width: 1200px) and (max-width: 1399px) {
  body.gems-site-rebrand #masthead #site-header-menu #site-navigation .menu > ul.dropdown > li > a {
    padding: 0 13px !important;
    font-size: 14px !important;
  }

  body.gems-site-rebrand #masthead .site-branding .gems-brand-name {
    font-size: clamp(0.82rem, 1.2vw, 0.98rem) !important;
  }
}

/* Tablet / mobile header */
@media (max-width: 1199px) {
  body.gems-site-rebrand #masthead .site-header-menu {
    min-height: 64px !important;
  }

  body.gems-site-rebrand #masthead .site-branding.gems-site-branding {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: auto !important;
    max-width: calc(100% - 96px) !important;
    height: 64px !important;
    line-height: normal !important;
    text-align: center;
    padding: 0 10px !important;
    z-index: 2 !important;
  }

  body.gems-site-rebrand #masthead .site-branding .gems-brand-lockup {
    justify-content: center;
    max-width: 100%;
  }

  body.gems-site-rebrand #masthead .site-branding .gems-brand-name {
    font-size: clamp(0.68rem, 2.6vw, 0.9rem) !important;
  }

  body.gems-site-rebrand #masthead .site-branding img#logo-img,
  body.gems-site-rebrand #masthead .site-branding img.gems-site-logo {
    height: 40px !important;
    max-height: 40px !important;
  }

  body.gems-site-rebrand #masthead .ttm-menu-toggle {
    position: relative !important;
    z-index: 3 !important;
  }
}

@media (max-width: 479px) {
  body.gems-site-rebrand #masthead .site-branding.gems-site-branding {
    max-width: calc(100% - 72px) !important;
  }

  body.gems-site-rebrand #masthead .site-branding .gems-brand-lockup {
    gap: 6px;
  }

  body.gems-site-rebrand #masthead .site-branding .gems-brand-name {
    font-size: clamp(0.56rem, 2.8vw, 0.72rem) !important;
    letter-spacing: 0.01em !important;
  }

  body.gems-site-rebrand #masthead .site-branding img#logo-img,
  body.gems-site-rebrand #masthead .site-branding img.gems-site-logo {
    height: 34px !important;
    max-height: 34px !important;
  }
}

/* ===== Footer — copper gradient + logo lockup (matches header topbar) ===== */

body.gems-site-rebrand footer.gems-site-footer .gems-first-footer,
body.gems-site-rebrand footer.gems-site-footer .gems-first-footer.ttm-bgcolor-skincolor,
body.gems-site-rebrand footer.gems-site-footer .gems-bottom-footer,
body.gems-site-rebrand footer.gems-site-footer .gems-bottom-footer.ttm-bgcolor-darkgrey {
  background-color: #4a2c2a !important;
  background-image: var(--gems-site-topbar-gradient) !important;
}

body.gems-site-rebrand footer.gems-site-footer .gems-first-footer {
  border-bottom: 1px solid rgba(212, 175, 55, 0.35) !important;
}

body.gems-site-rebrand footer.gems-site-footer .gems-bottom-footer {
  border-top: 1px solid rgba(212, 175, 55, 0.28) !important;
}

body.gems-site-rebrand footer.gems-site-footer .gems-first-footer,
body.gems-site-rebrand footer.gems-site-footer .gems-first-footer p,
body.gems-site-rebrand footer.gems-site-footer .gems-first-footer a,
body.gems-site-rebrand footer.gems-site-footer .gems-bottom-footer,
body.gems-site-rebrand footer.gems-site-footer .gems-bottom-footer a,
body.gems-site-rebrand footer.gems-site-footer .gems-bottom-footer span {
  color: var(--gems-site-cream) !important;
}

body.gems-site-rebrand footer.gems-site-footer .gems-first-footer a:hover,
body.gems-site-rebrand footer.gems-site-footer .gems-bottom-footer a:hover,
body.gems-site-rebrand footer.gems-site-footer .footer-nav-menu a:hover {
  color: var(--gems-site-gold) !important;
}

body.gems-site-rebrand footer.gems-site-footer .gems-footer-lockup {
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px;
  text-decoration: none !important;
  color: inherit;
}

body.gems-site-rebrand footer.gems-site-footer .gems-footer-lockup .gems-brand-name {
  font-family: var(--gems-site-font-brand) !important;
  font-weight: 700 !important;
  font-size: clamp(0.82rem, 1.5vw, 1.05rem) !important;
  letter-spacing: 0.02em;
  line-height: 1.1 !important;
  white-space: nowrap !important;
  color: var(--gems-site-cream) !important;
}

body.gems-site-rebrand footer.gems-site-footer img.gems-footer-logo {
  flex: 0 0 auto !important;
  display: block !important;
  height: 48px !important;
  max-height: 48px !important;
  width: auto !important;
  object-fit: contain !important;
}

body.gems-site-rebrand footer.gems-site-footer .footer-logo.gems-footer-branding {
  margin: 0 auto;
}

body.gems-site-rebrand footer.gems-site-footer .gems-first-footer .ttm-btn.ttm-btn-style-border {
  border-color: rgba(245, 240, 232, 0.65) !important;
  color: var(--gems-site-cream) !important;
}

body.gems-site-rebrand footer.gems-site-footer .gems-quicklink-box {
  width: 100% !important;
  max-width: 505px;
}

/* Footer mobile */
@media (max-width: 991px) {
  body.gems-site-rebrand footer.gems-site-footer .gems-first-footer {
    padding: 28px 0 24px !important;
  }

  body.gems-site-rebrand footer.gems-site-footer .gems-first-footer .text-left,
  body.gems-site-rebrand footer.gems-site-footer .gems-first-footer .text-sm-right {
    text-align: center !important;
  }

  body.gems-site-rebrand footer.gems-site-footer .gems-first-footer .featured-icon-box.left-icon {
    justify-content: center;
    text-align: center;
    margin-bottom: 12px;
  }

  body.gems-site-rebrand footer.gems-site-footer .gems-first-footer .ttm-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin: 8px auto 0;
  }

  body.gems-site-rebrand footer.gems-site-footer .gems-footer-lockup .gems-brand-name {
    font-size: clamp(0.68rem, 2.8vw, 0.88rem) !important;
  }

  body.gems-site-rebrand footer.gems-site-footer img.gems-footer-logo {
    height: 40px !important;
    max-height: 40px !important;
  }

  body.gems-site-rebrand footer.gems-site-footer .gems-bottom-footer .copyright > div,
  body.gems-site-rebrand footer.gems-site-footer .gems-bottom-footer .text-md-right {
    text-align: center !important;
  }

  body.gems-site-rebrand footer.gems-site-footer .gems-bottom-footer .d-lg-inline-flex {
    display: block !important;
  }

  body.gems-site-rebrand footer.gems-site-footer .footer-nav-menu {
    margin: 10px 0 !important;
    padding: 0;
  }

  body.gems-site-rebrand footer.gems-site-footer .gems-bottom-footer .float-md-right {
    float: none !important;
    margin: 10px auto 0 !important;
    text-align: center;
  }
}

@media (max-width: 479px) {
  body.gems-site-rebrand footer.gems-site-footer .gems-footer-lockup {
    gap: 7px;
  }

  body.gems-site-rebrand footer.gems-site-footer .gems-footer-lockup .gems-brand-name {
    font-size: clamp(0.56rem, 2.9vw, 0.72rem) !important;
  }

  body.gems-site-rebrand footer.gems-site-footer img.gems-footer-logo {
    height: 34px !important;
    max-height: 34px !important;
  }
}
