/*
Theme Name: Richer child theme
Template: richer
Version: 2.0.0
Description: LUIMAS B2B child theme.
*/

:root {
  --luimas-ink: #17201e;
  --luimas-green: #0d3b32;
  --luimas-green-2: #145a4b;
  --luimas-gold: #c7a35a;
  --luimas-sand: #f4f0e8;
  --luimas-cream: #fbfaf7;
  --luimas-line: #dcd7cc;
  --luimas-muted: #65706d;
  --luimas-white: #ffffff;
  --luimas-shadow: 0 18px 50px rgba(23, 32, 30, 0.10);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: auto !important; }
body {
  overflow-x: hidden;
  overflow-y: auto;
  color: var(--luimas-ink);
  background: var(--luimas-white);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}
body, p, li, input, select, textarea, button { font-family: inherit; }
a { color: var(--luimas-green-2); }
a:hover, a:focus { color: var(--luimas-gold); }
img { max-width: 100%; height: auto; }
#main { overflow: visible; }

/* Header */
#fixed_header { display: none !important; }

/* Retire the parent theme's duplicate page-title/breadcrumb strip. */
#title { display: none !important; }

/* The legacy Contact map has no valid API configuration and renders an error banner. */
body.page-id-5875 .map-container { display: none !important; }
.luimas-topbar__inner {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 24px;
  min-height: 36px;
}
.luimas-topbar__inner a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #3f4a47;
  font-size: 12px;
  text-decoration: none;
}
.luimas-topbar__inner a:hover { color: var(--luimas-green); }
#top-bar {
  min-height: 36px;
  height: auto;
  color: #3f4a47;
  background: #f5f3ee;
  border-bottom: 1px solid var(--luimas-line);
  font-size: 12px;
}
#top-bar .container,
#header .container,
#navigation .container { width: min(1240px, calc(100% - 40px)); max-width: 1240px; }
#header.header4 { background: var(--luimas-white); border: 0; }
#header.header4 > .container { padding-top: 18px; padding-bottom: 18px; }
#header .logo img { width: 245px; max-height: 94px; object-fit: contain; }
#header .content-area-info { display: flex; align-items: center; justify-content: flex-end; gap: 16px; }
#header .header-search,
#header .header-cart,
#header .profile-button { margin: 0; }
#header .header-search {
  flex: 0 0 min(320px, 30vw);
  width: min(320px, 30vw) !important;
}
#header .header-search form,
#header .header-search label { display: block; width: 100%; margin: 0; }
#header .header-search input { width: 100% !important; }
#header .header-search input {
  width: min(320px, 30vw);
  height: 42px;
  padding: 0 14px;
  border: 1px solid var(--luimas-line);
  border-radius: 2px;
  color: var(--luimas-ink);
  background: var(--luimas-white);
}
#header .cart-icon,
#header .profile-button { color: var(--luimas-green); font-size: 19px; }
#navigation {
  position: sticky;
  top: 0;
  z-index: 9990;
  float: none !important;
  clear: both;
  width: 100% !important;
  min-height: 54px;
  background: var(--luimas-green);
  border: 0;
  box-shadow: 0 5px 18px rgba(9,45,38,.12);
}
#navigation ul#nav {
  display: flex;
  align-items: stretch;
  justify-content: center;
  width: 100%;
  margin: 0;
  padding: 0;
  white-space: normal;
}
#navigation ul#nav > li { float: none; flex: 0 1 auto; border: 0; }
#navigation ul#nav > li > a {
  display: flex;
  align-items: center;
  min-height: 54px;
  padding: 0 22px;
  color: rgba(255,255,255,.9);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  line-height: 1.2;
  text-transform: uppercase;
  border: 0;
}
#navigation ul#nav > li > a:hover,
#navigation ul#nav > li.current-menu-item > a { color: var(--luimas-gold); background: rgba(255,255,255,.06); }
#navigation .menu-item-5883 > a { background: var(--luimas-gold) !important; color: #16201d !important; }
#navigation .select-menu { display: none; }

/* Retire the legacy video slider; the new content hero is the primary homepage hero. */
body.home #rev_slider_10_1_wrapper { display: none !important; height: 0 !important; }

/* Page system */
.page-template-page-fullwidth #page-wrap.container,
.page-template-page-blank #page-wrap.container {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}
.luimas-page { width: 100%; margin: 0; color: var(--luimas-ink); }
.luimas-page p:empty { display: none; }
.luimas-container { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.luimas-page h1,
.luimas-page h2,
.luimas-page h3 {
  margin-top: 0;
  color: var(--luimas-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: -.025em;
  text-transform: none;
}
.luimas-page h1 { max-width: 850px; margin-bottom: 24px; font-size: clamp(42px, 6.2vw, 78px); }
.luimas-page h2 { max-width: 780px; margin-bottom: 22px; font-size: clamp(32px, 4vw, 52px); }
.luimas-page h3 { margin-bottom: 14px; font-size: clamp(22px, 2.2vw, 30px); }
.luimas-page p,
.luimas-page li { font-size: 16px; line-height: 1.75; }
.luimas-lead { max-width: 780px; color: #495450; font-size: clamp(17px, 1.8vw, 21px) !important; }
.luimas-eyebrow {
  display: inline-block;
  margin-bottom: 20px;
  color: var(--luimas-gold);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .16em;
  line-height: 1.4;
  text-transform: uppercase;
}
.luimas-hero {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 590px;
  padding: 92px 0;
  overflow: hidden;
  color: var(--luimas-white);
  background:
    radial-gradient(circle at 82% 22%, rgba(199,163,90,.23), transparent 32%),
    linear-gradient(125deg, #092d26 0%, #0d3b32 58%, #173b34 100%);
}
.luimas-hero::after {
  content: "";
  position: absolute;
  right: -9vw;
  bottom: -30%;
  width: min(52vw, 700px);
  aspect-ratio: 1;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 50%;
  box-shadow: 0 0 0 50px rgba(255,255,255,.035), 0 0 0 100px rgba(255,255,255,.022);
}
.luimas-hero .luimas-container { position: relative; z-index: 1; }
.luimas-hero__copy { max-width: 900px; }
.luimas-hero h1 { color: var(--luimas-white); }
.luimas-hero .luimas-lead { color: rgba(255,255,255,.78); }
.luimas-section { padding: 96px 0; background: var(--luimas-white); }
.luimas-section--sand { background: var(--luimas-sand); }
.luimas-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px; margin-top: 42px; }
.luimas-card {
  padding: 34px;
  background: var(--luimas-white);
  border: 1px solid var(--luimas-line);
  border-radius: 4px;
  box-shadow: 0 8px 30px rgba(23,32,30,.05);
}
.luimas-card__number { display: block; margin-bottom: 42px; color: var(--luimas-gold); font-size: 13px; font-weight: 800; letter-spacing: .14em; }
.luimas-card p:last-child { margin-bottom: 0; color: var(--luimas-muted); }

/* Keep the How We Work process cards spacious and their headings inside the card. */
body.page-id-5873 #content.sidebar-right {
  width: 100%;
  margin-left: 0;
  float: none;
}
body.page-id-5873 #sidebar { display: none; }
body.page-id-5873 .luimas-grid .luimas-card { min-width: 0; }
body.page-id-5873 .luimas-grid .luimas-card h2 {
  max-width: none;
  margin-bottom: 16px;
  font-size: clamp(22px, 2.2vw, 29px);
  line-height: 1.18;
  overflow-wrap: break-word;
}
.luimas-split { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(320px,.75fr); gap: 70px; align-items: start; }
.luimas-list { margin: 30px 0 0; padding: 0; list-style: none; }
.luimas-list li { position: relative; margin: 13px 0; padding-left: 26px; }
.luimas-list li::before { content: ""; position: absolute; left: 0; top: .76em; width: 9px; height: 9px; border: 2px solid var(--luimas-gold); border-radius: 50%; }
.luimas-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.luimas-actions br { display: none; }
.luimas-button,
.luimas-page a.luimas-button,
.wpcf7 input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 24px;
  color: #15211e;
  background: var(--luimas-gold);
  border: 1px solid var(--luimas-gold);
  border-radius: 2px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .05em;
  line-height: 1.2;
  text-decoration: none;
  text-transform: uppercase;
  transition: transform .18s ease, background .18s ease, color .18s ease;
}
.luimas-button:hover,
.luimas-page a.luimas-button:hover,
.wpcf7 input[type="submit"]:hover { transform: translateY(-2px); color: #15211e; background: #d8b976; }
.luimas-button--ghost,
.luimas-page a.luimas-button--ghost { color: currentColor; background: transparent; border-color: currentColor; }
.luimas-hero .luimas-button--ghost { color: var(--luimas-white); border-color: rgba(255,255,255,.55); }
.luimas-cta { padding: 58px; color: var(--luimas-white); background: var(--luimas-green); border-radius: 4px; box-shadow: var(--luimas-shadow); }
.luimas-cta h2 { color: var(--luimas-white); }
.luimas-cta p { max-width: 760px; color: rgba(255,255,255,.78); }

/* Contact Form 7 */
.wpcf7 { margin-top: 28px; }
.luimas-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.luimas-form-grid > p {
  min-width: 0;
  margin: 0;
}
.luimas-form-grid > p > label {
  display: flex;
  flex-direction: column;
  height: 100%;
  margin: 0;
  line-height: 1.35;
}
.luimas-form-grid > p > label > br { display: none; }
.luimas-form-grid .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
  min-width: 0;
  margin-top: auto;
  padding-top: 8px;
}
.luimas-form-grid input,
.luimas-form-grid select {
  width: 100% !important;
  max-width: 100%;
  margin-top: 0 !important;
}
.wpcf7 label { display: block; margin-bottom: 17px; color: var(--luimas-ink); font-size: 13px; font-weight: 750; letter-spacing: .02em; }
.wpcf7 input:not([type="submit"]),
.wpcf7 select,
.wpcf7 textarea {
  width: 100%;
  margin-top: 8px;
  padding: 13px 14px;
  color: var(--luimas-ink);
  background: var(--luimas-white);
  border: 1px solid #cbc6ba;
  border-radius: 2px;
  font: inherit;
  box-shadow: none;
}
.wpcf7 input:not([type="submit"]), .wpcf7 select { min-height: 48px; }
.wpcf7 textarea { min-height: 155px; resize: vertical; }
.wpcf7 input:focus, .wpcf7 select:focus, .wpcf7 textarea:focus { outline: 2px solid rgba(13,59,50,.22); border-color: var(--luimas-green); }
.wpcf7 .wpcf7-not-valid-tip { margin-top: 5px; font-size: 12px; }
.wpcf7 form .wpcf7-response-output { margin: 18px 0 0; padding: 12px 14px; }

/* WooCommerce and membership continuity */
.tabs { margin: 20px 0; padding: 10px 0; }
.tabs > * { text-align: center; background: #f4f4f4; transition: background-color .3s; font-weight: 700; }
.tabs > *:hover, .tabs > *:focus, .tabs > *:active { background: #dde2e5; }
.wp-post-image { max-width: 100%; }
.remove.remove_from_cart_button { font-size: 16pt; }
.wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link { color: #fff; }
.wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link:hover { color: #f7d950; }
.woocommerce-page #sidebar { float: left; width: 20%; margin-top: 20px; }
.woocommerce-page #content, .woocommerce-page #container { float: right; width: 80%; }
.woocommerce-page:not(.post-type-archive-product) #sidebar { display: none; }
.woocommerce-page:not(.post-type-archive-product) #content { width: 100%; }
.wc-block-components-button:not(.is-link) { border: 2px solid #000; }
.ur-frontend-form.ur-frontend-form--bordered form button[type="submit"],
.ur-frontend-form.ur-frontend-form--bordered form input[type="submit"] { background: var(--luimas-green); }
.ur-frontend-form.ur-frontend-form--bordered form input,
.ur-frontend-form.ur-frontend-form--bordered form select,
.ur-frontend-form.ur-frontend-form--bordered form textarea { background: #f4f4f4; }
.no-border, .no-border table, .no-border td { border: 0 !important; border-collapse: collapse !important; }
#toggleButton { position: fixed; bottom: 15px; left: 15px; z-index: 9999; width: 50px; height: 50px; color: var(--luimas-green); background: rgba(255,255,255,.94); border: 2px solid var(--luimas-green); border-radius: 50%; }
aside.side-navigation.side-navigation-toggle .logo { display: none; }
body.side-navigation-enabled.sidenav-toggle.sidenav-left { padding-left: 0; }

/* Replace legacy footer content with a focused B2B footer. */
#footer, #copyright { display: none !important; }
.luimas-footer { color: rgba(255,255,255,.72); background: #092b25; }
.luimas-footer__grid { display: grid; grid-template-columns: 1.35fr .75fr .7fr 1.2fr; gap: 56px; padding-top: 70px; padding-bottom: 55px; }
.luimas-footer__logo { display: inline-flex; flex-direction: column; margin-bottom: 20px; color: var(--luimas-white); font-family: Georgia,"Times New Roman",serif; font-size: 34px; letter-spacing: .08em; line-height: .82; text-decoration: none; }
.luimas-footer__logo span { margin-top: 8px; font-size: 15px; letter-spacing: .18em; }
.luimas-footer p { margin: 0; color: rgba(255,255,255,.62); font-size: 14px; line-height: 1.7; }
.luimas-footer h2 { margin: 0 0 20px; color: var(--luimas-white); font-family: inherit; font-size: 13px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.luimas-footer ul { margin: 0; padding: 0; list-style: none; }
.luimas-footer li { margin: 10px 0; }
.luimas-footer a { color: rgba(255,255,255,.78); text-decoration: none; }
.luimas-footer a:hover { color: var(--luimas-gold); }
.luimas-footer__contact { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.luimas-footer__contact h2 { margin-bottom: 10px; }
.luimas-footer__contact p { margin-top: 8px; }
.luimas-footer__bottom { display: flex; justify-content: space-between; gap: 24px; padding-top: 22px; padding-bottom: 22px; border-top: 1px solid rgba(255,255,255,.12); font-size: 12px; }

@media (max-width: 1050px) {
  #navigation ul#nav > li > a { padding-inline: 13px; font-size: 11px; }
  .luimas-footer__grid { grid-template-columns: 1.3fr 1fr 1fr; }
  .luimas-footer__contact { grid-column: 1 / -1; }
}

@media (max-width: 900px) {
  #top-bar { display: none; }
  #header.header4 > .container { padding-block: 12px; }
  #header .logo img { width: 185px; max-height: 70px; }
  #header .header-search { display: none; }
  #navigation { padding: 10px 0; min-height: 0; }
  #navigation ul#nav { display: none !important; }
  #navigation .select-menu { display: block !important; width: 100%; height: 44px; margin: 0; padding: 0 12px; color: var(--luimas-white); background: #0b3028; border: 1px solid rgba(255,255,255,.25); }
  .luimas-hero { min-height: 520px; padding: 76px 0; }
  .luimas-section { padding: 72px 0; }
  .luimas-grid { grid-template-columns: 1fr; }
  .luimas-split { grid-template-columns: 1fr; gap: 34px; }
  .luimas-footer__grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 38px; }
  .luimas-footer__brand, .luimas-footer__contact { grid-column: 1 / -1; }
  .woocommerce-page #sidebar, .woocommerce-page #content, .woocommerce-page #container { float: none; width: 100%; }
}

@media (max-width: 620px) {
  #top-bar .container, #header .container, #navigation .container,
  .luimas-container { width: min(100% - 32px, 1180px); }
  #header .my-table { display: flex; align-items: center; justify-content: space-between; }
  #header .content-area-info { gap: 10px; }
  #header .logo img { width: 150px; }
  .luimas-hero { min-height: 470px; padding: 62px 0; }
  .luimas-page h1 { font-size: clamp(38px, 12vw, 55px); }
  .luimas-section { padding: 58px 0; }
  .luimas-card, .luimas-cta { padding: 28px; }
  .luimas-form-grid { grid-template-columns: 1fr; gap: 0; }
  .luimas-actions { flex-direction: column; align-items: stretch; }
  .luimas-button, .luimas-page a.luimas-button { width: 100%; }
  .luimas-footer__grid { grid-template-columns: 1fr; padding-top: 55px; }
  .luimas-footer__brand, .luimas-footer__contact { grid-column: auto; }
  .luimas-footer__bottom { flex-direction: column; }
}
