:root {
  --lmvii-navy: #101c2c;
  --lmvii-navy-soft: #1d2a3a;
  --lmvii-gold: #c98616;
  --lmvii-gold-light: #e7c98c;
  --lmvii-maroon: #7a2e2e;
  --lmvii-cream: #f7f3eb;
  --lmvii-ink: #17202b;
  --lmvii-muted: #66707b;
  --lmvii-line: #ddd6c9;
  --lmvii-white: #fff;
  --lmvii-shadow: 0 16px 40px rgba(16, 28, 44, .10);
}

body.page-id-11 main.site-main,
body.page-id-166 main.site-main,
body.page-id-13309 main.site-main,
body.page-id-13318 main.site-main,
body.page-id-13324 main.site-main {
  background: var(--lmvii-cream);
  padding: clamp(22px, 4vw, 58px) 0;
}

body.page-id-11 main.site-main article,
body.page-id-166 main.site-main article,
body.page-id-13309 main.site-main article,
body.page-id-13318 main.site-main article,
body.page-id-13324 main.site-main article {
  margin: 0 auto;
}

.lmvii-page-hero,
body.page-id-166 .lmvii-finder,
body.page-id-13324 .tech-library-intro {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(231, 201, 140, .34);
  border-radius: 16px;
  background:
    radial-gradient(circle at 92% 16%, rgba(201, 134, 22, .25), transparent 28%),
    linear-gradient(120deg, var(--lmvii-navy) 0%, var(--lmvii-navy-soft) 72%, #322d27 100%);
  box-shadow: var(--lmvii-shadow);
  color: var(--lmvii-white);
}

.lmvii-page-hero {
  margin: 0 0 30px;
  padding: clamp(28px, 5vw, 56px);
}

.lmvii-page-hero::after,
body.page-id-13324 .tech-library-intro::after {
  content: "VII";
  position: absolute;
  right: clamp(16px, 5vw, 64px);
  top: 50%;
  transform: translateY(-52%);
  color: rgba(255, 255, 255, .045);
  font-size: clamp(92px, 17vw, 220px);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.08em;
  pointer-events: none;
}

.lmvii-page-kicker,
body.page-id-166 .lmvii-kicker,
body.page-id-13324 .tech-library-kicker {
  position: relative;
  z-index: 1;
  margin: 0 0 10px;
  color: var(--lmvii-gold-light);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.lmvii-page-hero h1,
body.page-id-166 .lmvii-finder > h1,
body.page-id-13324 .tech-library-intro h1 {
  position: relative;
  z-index: 1;
  max-width: 850px;
  margin: 0;
  color: var(--lmvii-white);
  font-size: clamp(34px, 5vw, 58px);
  line-height: 1.08;
  letter-spacing: -.025em;
}

.lmvii-page-intro,
body.page-id-166 .lmvii-intro,
body.page-id-13324 .tech-library-intro > p {
  position: relative;
  z-index: 1;
  max-width: 760px;
  margin: 16px 0 0;
  color: rgba(255, 255, 255, .84);
  font-size: clamp(16px, 2vw, 19px);
  line-height: 1.65;
}

/* WooCommerce content surfaces */
body.page-id-11 .woocommerce,
body.page-id-13309 .woocommerce-cart-form,
body.page-id-13309 .cart-collaterals,
body.page-id-13318 form.checkout,
body.page-id-13318 .woocommerce-form-coupon,
body.page-id-13318 .woocommerce-info {
  border-radius: 14px;
}

body.page-id-13318 .woocommerce-form-coupon-toggle .woocommerce-info {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 72px;
  margin-bottom: 28px;
  padding: 13px 15px 13px 52px;
  border: 1px solid #d8bc80;
  border-top: 1px solid #d8bc80;
  background: #f5ead3;
  box-shadow: 0 8px 22px rgba(16, 28, 44, .07);
  color: var(--lmvii-navy);
  font-size: 16px;
  font-weight: 700;
}

body.page-id-13318 .woocommerce-form-login-toggle .woocommerce-info {
  margin-bottom: 28px;
  padding: 18px 20px 18px 52px;
  border: 1px solid #d8bc80;
  border-top: 1px solid #d8bc80;
  border-radius: 14px;
  background: #f5ead3;
  box-shadow: 0 8px 22px rgba(16, 28, 44, .07);
  color: var(--lmvii-navy);
  font-size: 16px;
  font-weight: 700;
}

body.page-id-13318 .woocommerce-form-login-toggle .woocommerce-info::before {
  top: 50%;
  left: 20px;
  transform: translateY(-50%);
  color: var(--lmvii-gold);
}

body.page-id-13318 .woocommerce-form-login-toggle .showlogin {
  color: var(--lmvii-maroon);
  font-weight: 800;
  text-decoration: underline;
  text-decoration-color: var(--lmvii-gold);
  text-underline-offset: 3px;
}

body.page-id-13318 .woocommerce-form-login-toggle .showlogin:hover,
body.page-id-13318 .woocommerce-form-login-toggle .showlogin:focus {
  color: var(--lmvii-navy);
}

body.page-id-13318 .woocommerce-form-coupon-toggle .woocommerce-info::before {
  top: 50%;
  left: 20px;
  transform: translateY(-50%);
  color: var(--lmvii-gold);
}

body.page-id-13318 .woocommerce-form-coupon-toggle .showcoupon {
  flex: 0 0 auto;
  padding: 12px 18px;
  border-radius: 7px;
  background: var(--lmvii-maroon);
  box-shadow: 0 5px 14px rgba(89, 27, 27, .22);
  color: var(--lmvii-white);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .025em;
  text-decoration: none;
}

body.page-id-13318 .woocommerce-form-coupon-toggle .showcoupon:hover,
body.page-id-13318 .woocommerce-form-coupon-toggle .showcoupon:focus {
  background: var(--lmvii-navy);
  color: var(--lmvii-white);
}

body.page-id-11 .woocommerce-MyAccount-navigation,
body.page-id-11 .woocommerce-MyAccount-content,
body.page-id-13309 .woocommerce-cart-form,
body.page-id-13309 .cart_totals,
body.page-id-13318 #customer_details > div,
body.page-id-13318 #order_review {
  border: 1px solid var(--lmvii-line);
  background: var(--lmvii-white);
  box-shadow: 0 10px 28px rgba(16, 28, 44, .07);
}

body.page-id-11 .woocommerce-MyAccount-navigation {
  overflow: hidden;
  padding: 8px;
  border-radius: 14px;
}

body.page-id-11 .woocommerce-MyAccount-navigation ul {
  margin: 0;
  padding: 0;
}

body.page-id-11 .woocommerce-MyAccount-navigation li {
  border: 0;
  list-style: none;
}

body.page-id-11 .woocommerce-MyAccount-navigation a {
  display: block;
  padding: 12px 14px;
  border-radius: 8px;
  color: var(--lmvii-ink);
  font-weight: 700;
}

body.page-id-11 .woocommerce-MyAccount-navigation .is-active a,
body.page-id-11 .woocommerce-MyAccount-navigation a:hover {
  background: var(--lmvii-navy);
  color: var(--lmvii-white);
}

body.page-id-11 .woocommerce-MyAccount-content {
  min-height: 280px;
  padding: clamp(22px, 4vw, 38px);
  border-radius: 14px;
}

body.page-id-13309 .woocommerce-cart-form,
body.page-id-13309 .cart_totals,
body.page-id-13318 #customer_details > div,
body.page-id-13318 #order_review {
  overflow: hidden;
  padding: clamp(18px, 3vw, 30px);
  border-radius: 14px;
}

body.page-id-13309 table.shop_table,
body.page-id-13318 table.shop_table {
  overflow: hidden;
  border-color: var(--lmvii-line);
  border-radius: 10px;
}

body.page-id-13309 table.shop_table thead,
body.page-id-13318 #order_review_heading,
body.page-id-13318 .woocommerce-billing-fields > h3,
body.page-id-13318 .woocommerce-shipping-fields h3 {
  color: var(--lmvii-navy);
}

body.page-id-13309 table.shop_table thead {
  background: var(--lmvii-navy);
  color: var(--lmvii-white);
}

body.page-id-13309 table.shop_table thead th {
  color: var(--lmvii-white);
}

body.page-id-11 .woocommerce a.button,
body.page-id-13309 .woocommerce a.button,
body.page-id-13309 .woocommerce button.button,
body.page-id-13318 .woocommerce a.button,
body.page-id-13318 .woocommerce button.button,
body.page-id-13318 .woocommerce #payment #place_order {
  border-radius: 7px;
  background: var(--lmvii-gold);
  color: var(--lmvii-white);
  font-weight: 800;
  letter-spacing: .02em;
}

body.page-id-11 .woocommerce a.button:hover,
body.page-id-13309 .woocommerce a.button:hover,
body.page-id-13309 .woocommerce button.button:hover,
body.page-id-13318 .woocommerce a.button:hover,
body.page-id-13318 .woocommerce button.button:hover,
body.page-id-13318 .woocommerce #payment #place_order:hover {
  background: var(--lmvii-navy);
  color: var(--lmvii-white);
}

body.page-id-13309 .woocommerce input.input-text,
body.page-id-13318 .woocommerce input.input-text,
body.page-id-13318 .woocommerce textarea,
body.page-id-13318 .select2-container .select2-selection {
  min-height: 46px;
  border: 1px solid #cfc7b9;
  border-radius: 7px;
  background: var(--lmvii-white);
}

/* Cart notices use the site palette instead of WooCommerce blue and green. */
body.page-id-13309 .woocommerce-message,
body.page-id-13309 .woocommerce-info,
body.page-id-13309 .woocommerce-error {
  margin-bottom: 16px;
  padding: 17px 20px 17px 52px;
  border: 1px solid #d8bc80;
  border-top: 1px solid #d8bc80;
  border-radius: 9px;
  background: #f5ead3;
  box-shadow: 0 6px 18px rgba(16, 28, 44, .06);
  color: var(--lmvii-navy);
}

body.page-id-13309 .woocommerce-message::before,
body.page-id-13309 .woocommerce-info::before,
body.page-id-13309 .woocommerce-error::before {
  top: 50%;
  left: 20px;
  transform: translateY(-50%);
  color: var(--lmvii-maroon);
}

body.page-id-13309 .woocommerce-message a,
body.page-id-13309 .woocommerce-info a,
body.page-id-13309 .woocommerce-error a {
  color: var(--lmvii-maroon);
  font-weight: 800;
}

body.page-id-13309 .return-to-shop {
  margin: 20px 0 0;
}

body.page-id-13309 .return-to-shop .button.wc-backward {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 12px 22px;
  border-radius: 7px;
  background: var(--lmvii-maroon);
  color: var(--lmvii-white);
  font-size: 15px;
  font-weight: 800;
  line-height: 1.25;
  text-decoration: none;
}

body.page-id-13309 .return-to-shop .button.wc-backward:hover,
body.page-id-13309 .return-to-shop .button.wc-backward:focus {
  background: var(--lmvii-navy);
  color: var(--lmvii-white);
}

/* Existing custom pages: refine spacing without changing their behavior. */
body.page-id-166 .lmvii-finder {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: clamp(28px, 3vw, 38px) clamp(24px, 4vw, 48px);
}

body.page-id-166 main.site-main {
  padding-top: clamp(20px, 2.5vw, 36px);
}

body.page-id-166 .elementor-element-220c476 {
  overflow: hidden;
  border-radius: 14px;
}

body.page-id-166 .lmvii-grid,
body.page-id-166 .lmvii-search-wrap,
body.page-id-166 .lmvii-results,
body.page-id-166 .lmvii-request-list {
  position: relative;
  z-index: 1;
}

body.page-id-166 .lmvii-field {
  color: var(--lmvii-ink);
}

body.page-id-166 .lmvii-field > span,
body.page-id-166 label.lmvii-field {
  color: var(--lmvii-muted);
}

body.page-id-166 .lmvii-field strong,
body.page-id-166 .lmvii-field select {
  color: var(--lmvii-navy);
}

body.page-id-166 #lmvii-query {
  margin-bottom: 0;
}

body.page-id-166 .lmvii-results:empty {
  margin-top: 0;
}

body.page-id-13324 .tech-library-intro {
  padding: clamp(28px, 5vw, 56px);
}

body.page-id-13324 .tech-library-stats {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

body.page-id-13324 .tech-library-stats br {
  display: none;
}

body.page-id-13324 .tech-library-stats span {
  padding: 9px 13px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 999px;
  background: rgba(255, 255, 255, .08);
  color: var(--lmvii-white);
}

@media (min-width: 768px) {
  body.page-id-11 #hide-hero,
  body.page-id-166 #hide-hero,
  body.page-id-13309 #hide-hero,
  body.page-id-13318 #hide-hero,
  body.page-id-13324 #hide-hero {
    height: 170px;
  }

  body.page-id-11 #content,
  body.page-id-166 #content,
  body.page-id-13309 #content,
  body.page-id-13318 #content,
  body.page-id-13324 #content {
    padding-top: 20px;
  }

  body.page-id-11 main.site-main,
  body.page-id-166 main.site-main,
  body.page-id-13309 main.site-main,
  body.page-id-13318 main.site-main,
  body.page-id-13324 main.site-main {
    padding-top: 0;
  }
}

@media (min-width: 992px) {
  #page {
    overflow: visible !important;
  }

  #page > #hide-hero,
  #page > #masthead {
    position: sticky;
    z-index: 9990;
    box-shadow: 0 8px 22px rgba(16, 28, 44, .13);
  }

  #page > #masthead {
    top: 0;
    z-index: 9991;
  }

  #page > #hide-hero {
    top: 94px;
    height: 56px;
  }

  #page #nav-wrap {
    margin-top: 0 !important;
  }

  body.admin-bar #page > #masthead {
    top: 32px;
  }

  body.admin-bar #page > #hide-hero {
    top: 126px;
  }
}

@media (max-width: 767px) {
  /* Keep contact details and account access balanced on one compact row. */
  #masthead .header-search-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    gap: 9px;
    align-items: center;
  }

  #masthead .header-search-layout > .logo-wrap {
    display: none !important;
  }

  #masthead .header-search-layout > :nth-child(2) {
    grid-column: 1;
    grid-row: 2;
    width: 100%;
    min-width: 0;
    padding: 0;
  }

  #masthead .header-search-layout > :nth-child(4) {
    grid-column: 1;
    grid-row: 1;
    width: auto;
    padding: 0;
    justify-self: end;
  }

  #masthead .header-search-layout > .header-product-search {
    grid-column: 1 / -1;
    grid-row: 3;
    width: 100%;
    margin: 0;
  }

  #masthead ul.info {
    display: flex !important;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    margin: 0;
  }

  #masthead ul.info li {
    width: auto;
    padding: 0;
    font-size: 13px;
    line-height: 1.3;
    white-space: nowrap;
  }

  #masthead .login-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 136px;
    min-height: 52px;
    padding: 10px 12px;
    box-sizing: border-box;
    white-space: nowrap;
  }

  /* Safari may enlarge contact text; use natural-height stacked rows to prevent overlap. */
  #masthead .header-search-layout {
    display: flex !important;
    flex-direction: column;
    gap: 9px;
  }

  #masthead .header-search-layout > :nth-child(4) {
    order: 1;
    align-self: stretch;
    width: 100%;
    position: static !important;
  }

  #masthead .header-search-layout > :nth-child(4) > div {
    justify-content: center !important;
    margin: 0 !important;
  }

  #masthead .header-search-layout > :nth-child(2) {
    order: 2;
    align-self: stretch;
    width: 100%;
    position: static !important;
  }

  #masthead ul.info {
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    text-align: center;
  }

  #masthead .header-search-layout > .header-product-search {
    order: 3;
    align-self: stretch;
    max-width: 370px;
    margin-right: auto;
    margin-left: auto;
    position: static !important;
  }

  #masthead .header-product-search .apsw-search-btn {
    flex: 0 0 136px;
    width: 136px;
    min-width: 136px;
    min-height: 52px;
    padding-right: 10px;
    padding-left: 10px;
  }

  /* Keep the absolutely positioned theme menu completely above the Buy hero. */
  body.page-id-16268 main#main.site-main {
    padding-top: 120px !important;
  }

  body.page-id-11 main.site-main,
  body.page-id-166 main.site-main,
  body.page-id-13309 main.site-main,
  body.page-id-13318 main.site-main,
  body.page-id-13324 main.site-main {
    padding: 16px 0 30px;
  }

  body.page-id-166 main.site-main {
    padding-top: 14px;
  }

  .lmvii-page-hero,
  body.page-id-166 .lmvii-finder,
  body.page-id-13324 .tech-library-intro {
    border-radius: 11px;
  }

  .lmvii-page-hero {
    margin-bottom: 18px;
    padding: 26px 20px;
  }

  .lmvii-page-hero::after,
  body.page-id-13324 .tech-library-intro::after {
    right: 10px;
    font-size: 100px;
  }

  body.page-id-11 .woocommerce-MyAccount-navigation,
  body.page-id-11 .woocommerce-MyAccount-content {
    float: none;
    width: 100%;
  }

  body.page-id-11 .woocommerce-MyAccount-navigation {
    margin-bottom: 16px;
  }

  body.page-id-11 .woocommerce-MyAccount-navigation ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5px;
  }

  body.page-id-11 .woocommerce-MyAccount-navigation a {
    height: 100%;
    padding: 10px;
    font-size: 13px;
  }

  body.page-id-13309 .woocommerce-cart-form,
  body.page-id-13309 .cart_totals,
  body.page-id-13318 #customer_details > div,
  body.page-id-13318 #order_review {
    padding: 14px;
  }

  body.page-id-13309 table.shop_table_responsive tr {
    margin-bottom: 14px;
    border: 1px solid var(--lmvii-line);
    border-radius: 10px;
  }

  body.page-id-13309 .coupon,
  body.page-id-13309 .coupon input,
  body.page-id-13309 .coupon button,
  body.page-id-13309 button[name="update_cart"] {
    width: 100% !important;
  }

  body.page-id-13309 .woocommerce-message,
  body.page-id-13309 .woocommerce-info,
  body.page-id-13309 .woocommerce-error {
    padding: 15px 16px;
  }

  body.page-id-13309 .woocommerce-message::before,
  body.page-id-13309 .woocommerce-info::before,
  body.page-id-13309 .woocommerce-error::before {
    display: none;
  }

  body.page-id-13309 .return-to-shop .button.wc-backward {
    width: 100%;
  }

  body.page-id-13309 .coupon input,
  body.page-id-13309 .coupon button {
    margin-bottom: 8px !important;
  }

  body.page-id-13318 .col2-set .col-1,
  body.page-id-13318 .col2-set .col-2 {
    float: none;
    width: 100%;
  }

  body.page-id-13318 .form-row-first,
  body.page-id-13318 .form-row-last {
    float: none;
    width: 100%;
  }

  body.page-id-13318 .woocommerce-form-coupon-toggle .woocommerce-info {
    align-items: stretch;
    flex-direction: column;
    min-height: 0;
    padding: 18px;
    text-align: center;
  }

  body.page-id-13318 .woocommerce-form-login-toggle .woocommerce-info {
    padding: 18px 18px 18px 46px;
    text-align: left;
  }

  body.page-id-13318 .woocommerce-form-coupon-toggle .woocommerce-info::before {
    display: none;
  }

  body.page-id-13318 .woocommerce-form-coupon-toggle .showcoupon {
    display: block;
    width: 100%;
    text-align: center;
  }

  body.page-id-13324 .tech-library-intro > p br {
    display: none;
  }
}
