/* ==================================================
   APOGEE C-ARM PARTS — MASTER WEBSITE CSS
   Use globally in Appearance > Customize > Additional CSS
   ================================================== */

:root {
  --apogee-navy: #071d3a;
  --apogee-blue: #0b315f;
  --apogee-gold: #bd9638;
  --apogee-gold-dark: #a77f27;
  --apogee-bg: #f4f6f9;
  --apogee-white: #ffffff;
  --apogee-text: #1f2937;
  --apogee-muted: #5f6b7a;
  --apogee-border: #dfe5ec;
  --apogee-radius: 20px;
  --apogee-shadow: 0 18px 45px rgba(7, 29, 58, 0.09);
  --apogee-max: 1180px;
}

/* Global */
body {
  background: var(--apogee-bg);
  color: var(--apogee-text);
  font-family: Inter, Arial, Helvetica, sans-serif;
  font-size: 17px;
  line-height: 1.65;
}

.site-content,
.apogee-page {
  background: linear-gradient(180deg, #f7f9fc 0%, #eef2f6 100%);
}

/* Main container */
.apogee-container {
  max-width: var(--apogee-max);
  margin: 0 auto;
  padding: 72px 24px;
}

/* Typography */
.apogee-eyebrow,
.woocommerce-breadcrumb {
  color: var(--apogee-gold);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.apogee-page h1,
.apogee-section h1,
.entry-content h1,
.single-product .product_title {
  color: var(--apogee-navy);
  font-size: clamp(40px, 5vw, 64px);
  line-height: 1.08;
  font-weight: 900;
  letter-spacing: -0.045em;
  margin: 0 0 22px;
  max-width: 950px;
}

.apogee-page h2,
.apogee-section h2,
.entry-content h2,
.woocommerce-Tabs-panel h2 {
  color: var(--apogee-navy);
  font-size: clamp(26px, 3vw, 36px);
  line-height: 1.15;
  font-weight: 900;
  letter-spacing: -0.025em;
  margin-top: 36px;
  margin-bottom: 16px;
}

.apogee-page h3,
.entry-content h3 {
  color: var(--apogee-navy);
  font-size: 22px;
  font-weight: 850;
  margin-top: 28px;
  margin-bottom: 12px;
}

.apogee-lead,
.entry-content p,
.apogee-page p {
  color: var(--apogee-text);
  font-size: 18px;
  line-height: 1.7;
  max-width: 900px;
}

.apogee-page ul,
.entry-content ul {
  margin-top: 14px;
  padding-left: 22px;
}

.apogee-page li,
.entry-content li {
  margin-bottom: 7px;
}

/* Main Cards */
.apogee-card,
.apogee-form-box,
.apogee-highlight-box,
.apogee-about-card,
.single-product div.product {
  background: var(--apogee-white);
  border: 1px solid var(--apogee-border);
  border-radius: var(--apogee-radius);
  box-shadow: var(--apogee-shadow);
}

/* Standard Card Padding */
.apogee-card,
.apogee-form-box,
.apogee-highlight-box,
.apogee-about-card {
  padding: 36px;
}
/* Grids */
.apogee-grid,
.apogee-two-column {
  display: grid;
  gap: 28px;
}

.apogee-two-column {
  grid-template-columns: 1.2fr .8fr;
}

/* Buttons */
.apogee-btn,
.apogee-page a.button,
.entry-content a.button,
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.single-product .summary a.button,
.single-product .summary button.button,
.single-product .yith-ywraq-add-button a,
.single-product .yith-ywraq-add-button button,
.single-product .ywraq_add_item_browse-list a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: var(--apogee-gold) !important;
  color: #ffffff !important;
  border: 2px solid var(--apogee-gold) !important;
  border-radius: 999px !important;
  padding: 15px 30px !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  letter-spacing: .07em;
  text-transform: uppercase;
  text-decoration: none !important;
  line-height: 1.1 !important;
  box-shadow: 0 14px 28px rgba(189, 150, 56, 0.28);
  transition: all .22s ease;
}

.apogee-btn:hover,
.apogee-page a.button:hover,
.entry-content a.button:hover,
.wp-block-button__link:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.single-product .summary a.button:hover,
.single-product .summary button.button:hover,
.single-product .yith-ywraq-add-button a:hover,
.single-product .yith-ywraq-add-button button:hover,
.single-product .ywraq_add_item_browse-list a:hover {
  background: var(--apogee-navy) !important;
  border-color: var(--apogee-navy) !important;
  color: #ffffff !important;
  transform: translateY(-2px);
  box-shadow: 0 16px 32px rgba(7, 29, 58, 0.22);
}

/* Dark secondary button */
.apogee-btn-dark,
.apogee-page .apogee-btn-dark,
.entry-content .apogee-btn-dark {
  background: var(--apogee-navy) !important;
  border-color: var(--apogee-navy) !important;
  color: #ffffff !important;
}

.apogee-btn-dark:hover {
  background: var(--apogee-gold) !important;
  border-color: var(--apogee-gold) !important;
}

/* Fix plain links */
.apogee-page a:not(.apogee-btn):not(.button),
.entry-content a:not(.apogee-btn):not(.button) {
  color: var(--apogee-blue);
  font-weight: 800;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

/* Supported system cards */
.apogee-system-card{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 82px;
  padding: 24px 26px;
  background: #ffffff;
  border: 1px solid var(--apogee-border);
  border-radius: 20px;
  color: var(--apogee-navy) !important;
  font-size: 20px;
  font-weight: 900;
  text-decoration: none !important;

  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease;
}

.apogee-system-card:hover {
  transform: translateY(-4px);

  border-color: rgba(201,157,59,.45);

  box-shadow:
    0 14px 30px rgba(7,29,58,.08),
    0 0 0 1px rgba(201,157,59,.12);
}

/* Forms */
.apogee-page input,
.apogee-page textarea,
.apogee-page select,
.woocommerce input,
.woocommerce textarea,
.woocommerce select {
  width: 100%;
  border: 1px solid var(--apogee-border);
  border-radius: 14px;
  padding: 15px 16px;
  font-size: 16px;
  background: #ffffff;
  color: var(--apogee-text);
}

.apogee-page label {
  display: block;
  color: var(--apogee-navy);
  font-weight: 900;
  margin-bottom: 7px;
}

/* WooCommerce product page */
.single-product div.product {
  max-width: var(--apogee-max);
  margin: 60px auto;
  padding: 42px;
}

.single-product div.product .woocommerce-product-gallery {
  background: #ffffff;
  border: 1px solid var(--apogee-border);
  border-radius: var(--apogee-radius);
  padding: 14px;
}

.single-product div.product .woocommerce-product-gallery img {
  border-radius: 14px;
}

.single-product .product_meta {
  color: var(--apogee-muted);
  border-top: 1px solid var(--apogee-border);
  padding-top: 18px;
  margin-top: 20px;
}

/* WooCommerce tabs */
.woocommerce-tabs ul.tabs {
  border-bottom: 1px solid var(--apogee-border);
  padding-left: 0 !important;
  margin-top: 50px !important;
}

.woocommerce-tabs ul.tabs li {
  background: var(--apogee-navy) !important;
  border: none !important;
  border-radius: 12px 12px 0 0 !important;
}

.woocommerce-tabs ul.tabs li.active {
  background: var(--apogee-gold) !important;
}

.woocommerce-tabs ul.tabs li a {
  color: #ffffff !important;
  font-weight: 900 !important;
}

.woocommerce-Tabs-panel {
  background: #ffffff;
  border: 1px solid var(--apogee-border);
  border-radius: 0 0 var(--apogee-radius) var(--apogee-radius);
  padding: 34px !important;
}

/* Mobile */
@media (max-width: 768px) {
  .apogee-container {
    padding: 44px 18px;
  }

  .apogee-two-column {
    grid-template-columns: 1fr;
  }

  .apogee-card,
  .apogee-form-box,
  .apogee-highlight-box,
  .apogee-about-card,
  .single-product div.product {
    padding: 24px;
  }

  .single-product div.product {
    margin: 24px 14px;
  }

  .apogee-btn,
  .apogee-page a.button,
  .entry-content a.button,
  .wp-block-button__link,
  .woocommerce a.button,
  .woocommerce button.button,
  .woocommerce input.button {
    width: 100% !important;
    min-width: 100%;
  }
}
/* Homepage Hero Fix */
.apogee-hero-grid {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 42px;
  align-items: center;
}

.apogee-hero-card {
  padding: 34px;
}

.apogee-button-row,
.apogee-hero-buttons {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin: 28px 0 16px;
}

.apogee-trust-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.apogee-trust-row span {
  background: #ffffff;
  border: 1px solid var(--apogee-border);
  border-radius: 999px;
  padding: 8px 14px;
  color: var(--apogee-navy);
  font-size: 14px;
  font-weight: 800;
  box-shadow: 0 8px 18px rgba(7, 29, 58, 0.05);
}

.apogee-system-grid,
.apogee-category-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.apogee-section-heading {
  margin-bottom: 34px;
}

.apogee-section {
  padding: 10px 0;
}

@media (max-width: 900px) {
  .apogee-hero-grid,
  .apogee-two-column {
    grid-template-columns: 1fr;
  }

  .apogee-system-grid,
  .apogee-category-grid {
    grid-template-columns: 1fr;
  }
}
.apogee-card-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
  margin: 36px 0 42px;
}

.apogee-cta-box {
  background: var(--apogee-navy);
  color: #ffffff;
  border-radius: var(--apogee-radius);
  padding: 42px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 28px;
  box-shadow: var(--apogee-shadow);
}

.apogee-cta-box h2,
.apogee-cta-box p {
  color: #ffffff;
}

.apogee-cta-box .apogee-eyebrow {
  color: var(--apogee-gold);
}

@media (max-width: 768px) {
  .apogee-card-grid {
    grid-template-columns: 1fr;
  }

  .apogee-cta-box {
    flex-direction: column;
    align-items: flex-start;
  }
}
/* Cleaner Why Apogee / Services Two-Column Section */
.apogee-two-column {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 54px;
  align-items: start;
}

.apogee-benefit-list {
  display: grid;
  gap: 18px;
}

.apogee-benefit-list .apogee-card {
  padding: 26px 30px;
  min-height: auto;
  box-shadow: 0 12px 28px rgba(7, 29, 58, 0.06);
}

.apogee-benefit-list .apogee-card h3 {
  margin-top: 0;
  margin-bottom: 10px;
  font-size: 21px;
}

.apogee-benefit-list .apogee-card p {
  margin-bottom: 0;
  font-size: 16px;
  line-height: 1.6;
}

.apogee-section {
  padding: 28px 0;
}

.apogee-section .apogee-container {
  padding-top: 56px;
  padding-bottom: 56px;
}

@media (max-width: 900px) {
  .apogee-two-column {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}
/* Browse Parts Page */
.apogee-inventory-note {
  background: #ffffff;
  border-left: 5px solid var(--apogee-gold);
  border-radius: var(--apogee-radius);
  padding: 24px 28px;
  margin: 30px 0;
  box-shadow: 0 12px 28px rgba(7, 29, 58, 0.06);
}

.apogee-inventory-note h3 {
  color: var(--apogee-navy);
  margin-top: 0;
  margin-bottom: 8px;
}

.apogee-inventory-note p {
  margin-bottom: 0;
}

.apogee-search-wrap {
  margin: 30px 0 20px;
}

.apogee-part-search {
  display: flex;
  gap: 14px;
  background: #ffffff;
  border: 1px solid var(--apogee-border);
  border-radius: 999px;
  padding: 8px;
  box-shadow: 0 12px 30px rgba(7, 29, 58, 0.07);
  max-width: 820px;
}

.apogee-search-input {
  border: none !important;
  box-shadow: none !important;
  padding: 0 18px !important;
  min-height: 52px;
  font-size: 16px;
}

.apogee-search-input:focus {
  outline: none;
}

.apogee-system-card.featured {
  border-color: var(--apogee-gold);
  background: linear-gradient(180deg, #ffffff 0%, #fbf7ed 100%);
}

.apogee-category-card h3 {
  margin-top: 0;
}

.apogee-category-card p {
  margin-bottom: 0;
}

.apogee-btn-light {
  background: #ffffff !important;
  color: var(--apogee-navy) !important;
  border-color: #ffffff !important;
}

.apogee-btn-light:hover {
  background: var(--apogee-gold) !important;
  border-color: var(--apogee-gold) !important;
  color: #ffffff !important;
}

@media (max-width: 768px) {
  .apogee-part-search {
    flex-direction: column;
    border-radius: 24px;
    padding: 14px;
  }

  .apogee-search-input {
    min-height: 50px;
  }
}
/* Request Quote / Contact Page */
.apogee-contact-page .apogee-two-column {
  grid-template-columns: 1.25fr .75fr;
  align-items: start;
}

.apogee-form-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}

.apogee-quote-form {
  display: grid;
  gap: 18px;
  margin-top: 24px;
}

.apogee-quote-form textarea {
  min-height: 150px;
  resize: vertical;
}

.apogee-form-note {
  margin-top: 18px;
  padding: 16px 18px;
  background: #f8f4e9;
  border-left: 4px solid var(--apogee-gold);
  border-radius: 12px;
  font-size: 15px;
}

.apogee-check-list {
  list-style: none;
  padding-left: 0 !important;
  margin: 20px 0 30px;
}

.apogee-check-list li {
  position: relative;
  padding-left: 30px;
  margin-bottom: 13px;
  font-weight: 700;
}

.apogee-check-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--apogee-gold);
  font-weight: 900;
}

.apogee-contact-card {
  background: var(--apogee-navy);
  color: #ffffff;
  border-radius: 18px;
  padding: 26px;
  margin-top: 28px;
}

.apogee-contact-card h3,
.apogee-contact-card p {
  color: #ffffff;
}

.apogee-contact-card h3 {
  margin-top: 0;
}

@media (max-width: 900px) {
  .apogee-contact-page .apogee-two-column,
  .apogee-form-grid {
    grid-template-columns: 1fr;
  }
}
/* About Page */
.apogee-about-page .apogee-two-column {
  align-items: stretch;
}

.apogee-dark-card {
  background: var(--apogee-navy);
  color: #ffffff;
}

.apogee-dark-card h2,
.apogee-dark-card p,
.apogee-dark-card li {
  color: #ffffff;
}

.apogee-dark-card .apogee-eyebrow {
  color: var(--apogee-gold);
}

.apogee-dark-card .apogee-check-list li::before {
  color: var(--apogee-gold);
}

.apogee-about-page .apogee-card {
  min-height: 100%;
}

.apogee-about-page .apogee-card h2 {
  margin-top: 0;
}
/* Terms & Conditions Page */
.apogee-terms-card {
  padding: 44px;
}

.apogee-terms-section {
  padding-bottom: 28px;
  margin-bottom: 28px;
  border-bottom: 1px solid var(--apogee-border);
}

.apogee-terms-section:last-of-type {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.apogee-terms-section h2 {
  margin-top: 0;
  margin-bottom: 14px;
  font-size: 28px;
}

.apogee-terms-section p:last-child {
  margin-bottom: 0;
}

.apogee-legal-contact-box {
  margin-top: 42px;
  background: var(--apogee-navy);
  color: #ffffff;
  border-radius: var(--apogee-radius);
  padding: 34px;
}

.apogee-legal-contact-box h3 {
  color: #ffffff;
  margin-top: 0;
  margin-bottom: 24px;
}

.apogee-legal-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

.apogee-legal-grid strong {
  display: block;
  color: var(--apogee-gold);
  margin-bottom: 6px;
}

.apogee-legal-grid p {
  color: #ffffff;
  margin: 0;
}

@media (max-width: 768px) {
  .apogee-terms-card {
    padding: 26px;
  }

  .apogee-legal-grid {
    grid-template-columns: 1fr;
  }
}
.apogee-terms-page .apogee-container {
  max-width: 980px;
}
/* Final Terms Page Polish */
.apogee-terms-page .apogee-container {
  max-width: 980px;
}

.apogee-terms-card {
  background: #ffffff;
  border: 1px solid var(--apogee-border);
  border-radius: 24px;
  padding: 48px;
  box-shadow: 0 20px 45px rgba(7, 29, 58, 0.08);
  margin-top: 34px;
}

.apogee-terms-card h2 {
  font-size: 26px;
  margin-top: 0;
}

.apogee-terms-section {
  padding-bottom: 26px;
  margin-bottom: 26px;
  border-bottom: 1px solid var(--apogee-border);
}
/* Checkout Page */
.apogee-checkout-layout {
  margin-top: 34px;
  margin-bottom: 34px;
}

.apogee-checkout-notice {
  background: #f8f4e9;
  border-left: 4px solid var(--apogee-gold);
  border-radius: 14px;
  padding: 18px 22px;
  margin-top: 28px;
  margin-bottom: 34px;
}

.apogee-order-summary,
.apogee-checkout-info {
  min-height: 100%;
}

.apogee-order-row,
.apogee-order-total {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 14px 0;
  border-bottom: 1px solid var(--apogee-border);
}

.apogee-order-total {
  border-bottom: none;
  padding-top: 24px;
  font-size: 20px;
}

.apogee-order-total strong {
  color: var(--apogee-navy);
}

.apogee-payment-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.apogee-payment-badges span {
  background: #ffffff;
  border: 1px solid var(--apogee-border);
  border-radius: 999px;
  padding: 10px 14px;
  font-size: 14px;
  font-weight: 800;
}

.apogee-checkout-form-wrap {
  margin-top: 34px;
}
/* =========================
   APOGEE HEADER
========================= */

.site-header,
.main-header-bar,
.ast-primary-header-bar {
  background: #ffffff !important;
  border-bottom: 1px solid #e8edf3;
  box-shadow: 0 4px 18px rgba(7,29,58,.04);
}

/* Reduce overall header height */
.ast-primary-header-bar {
  min-height: 76px;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Better alignment */
.ast-builder-grid-row {
  min-height: 76px;
  align-items: center;
}

/* Logo */
.custom-logo-link img,
.site-logo-img img {
  max-height: 54px;
  width: auto;
  display: block;
}

/* Branding alignment */
.site-branding {
  display: flex;
  align-items: center;
  margin: 0;
  padding-left: 6px;
}

/* Navigation */
.main-header-menu > .menu-item > a {
  color: var(--apogee-navy) !important;
  font-size: 15px;
  font-weight: 800;
  padding: 0 16px !important;
  line-height: 76px;
  transition: color .2s ease;
}

/* Hover */
.main-header-menu > .menu-item > a:hover {
  color: var(--apogee-gold) !important;
}

/* Active page */
.main-header-menu > .current-menu-item > a {
  color: var(--apogee-gold) !important;
}
/* WooCommerce Category / Archive Pages */
.woocommerce.archive .site-content {
  background: linear-gradient(180deg, #f7f9fc 0%, #eef2f6 100%);
}

.woocommerce.archive .ast-container {
  max-width: 1180px;
  padding-top: 60px;
  padding-bottom: 80px;
}

.woocommerce.archive .woocommerce-products-header,
.woocommerce.archive .page-title {
  margin-bottom: 28px;
}

.woocommerce.archive .page-title {
  color: var(--apogee-navy);
  font-size: clamp(42px, 5vw, 64px);
  font-weight: 900;
  letter-spacing: -0.04em;
}

.woocommerce.archive .woocommerce-breadcrumb {
  color: var(--apogee-muted);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

/* Results + Sorting Row */
.woocommerce.archive .woocommerce-result-count,
.woocommerce.archive .woocommerce-ordering {
  margin-bottom: 34px;
  color: var(--apogee-text);
  font-size: 15px;
}

.woocommerce.archive .woocommerce-ordering select {
  border: 1px solid var(--apogee-border);
  border-radius: 999px;
  padding: 10px 18px;
  background: #ffffff;
  font-weight: 700;
}

/* Product Grid */
.woocommerce ul.products {
  display: grid;
  gap: 34px 28px;
}

.woocommerce ul.products li.product {
  background: #ffffff;
  border: 1px solid var(--apogee-border);
  border-radius: 22px;
  padding: 18px 18px 22px !important;
  box-shadow: 0 14px 34px rgba(7,29,58,.07);
  transition: all .22s ease;
}

.woocommerce ul.products li.product:hover {
  transform: translateY(-4px);
  border-color: rgba(189,150,56,.45);
  box-shadow: 0 18px 42px rgba(7,29,58,.12);
}

.woocommerce ul.products li.product a img {
  border-radius: 16px;
  background: #ffffff;
  margin-bottom: 16px;
}

.woocommerce ul.products li.product .ast-woo-product-category,
.woocommerce ul.products li.product .posted_in {
  color: var(--apogee-muted);
  font-size: 13px;
  font-weight: 800;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  color: var(--apogee-navy);
  font-size: 18px !important;
  line-height: 1.25;
  font-weight: 900;
  padding-top: 8px;
}

.woocommerce ul.products li.product .price {
  color: var(--apogee-gold) !important;
  font-weight: 900;
  font-size: 17px;
}

/* Product Buttons */
.woocommerce ul.products li.product .button {
  margin-top: 14px;
  width: 100%;
}

/* Mobile */
@media (max-width: 768px) {
  .woocommerce.archive .ast-container {
    padding-top: 36px;
  }

  .woocommerce ul.products {
    gap: 22px;
  }

  .woocommerce ul.products li.product {
    padding: 14px !important;
  }
}
/* Fix huge top gap on WooCommerce category pages */
.woocommerce.archive .site-content {
  padding-top: 0 !important;
}

.woocommerce.archive .ast-container {
  padding-top: 30px !important;
}

.woocommerce-products-header {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Remove extra Astra spacing */
.ast-woocommerce-container {
  padding-top: 20px !important;
}
.woocommerce.archive .entry-header {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
/* Force Slim Apogee Header */
.site-header,
.main-header-bar,
.ast-primary-header-bar,
.ast-builder-grid-row {
  min-height: 82px !important;
  height: 82px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.site-branding,
.ast-site-identity {
  padding: 0 !important;
  margin: 0 !important;
}

.custom-logo-link img,
.site-logo-img img {
  max-height: 58px !important;
  width: auto !important;
}

.main-header-menu > .menu-item > a {
  line-height: 82px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
/* Balanced Apogee Header */
.site-header,
.main-header-bar,
.ast-primary-header-bar,
.ast-builder-grid-row {
  min-height: 94px !important;
  height: 94px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Logo */
.custom-logo-link img,
.site-logo-img img {
  max-height: 68px !important;
  width: auto !important;
  display: block;
}

/* Branding */
.site-branding,
.ast-site-identity {
  display: flex;
  align-items: center;
  margin: 0 !important;
  padding-left: 8px;
}

/* Navigation alignment */
.main-header-menu > .menu-item > a {
  line-height: 94px !important;
  padding: 0 16px !important;
}
/* =========================================
   APOGEE WOOCOMMERCE PRODUCT STYLING
========================================= */

/* Product Page Container */
.single-product div.product {
  background: #ffffff;
  border: 1px solid var(--apogee-border);
  border-radius: 28px;
  padding: 42px;
  box-shadow: 0 20px 50px rgba(7,29,58,.06);
  margin-top: 30px;
  margin-bottom: 70px;
}

/* Breadcrumbs */
.woocommerce-breadcrumb {
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: var(--apogee-muted);
  margin-bottom: 24px !important;
  opacity: .8;
}

/* Product Title */
.single-product .product_title {
  color: var(--apogee-navy);
  font-size: clamp(42px, 5vw, 72px);
  line-height: .95;
  font-weight: 900;
  letter-spacing: -.05em;
  margin-bottom: 26px !important;
}

/* SKU + Categories */
.single-product .product_meta {
  border-top: 1px solid var(--apogee-border);
  padding-top: 18px;
  margin-top: 24px;
  color: var(--apogee-muted);
  font-size: 15px;
  line-height: 1.7;
}

.single-product .product_meta a {
  color: var(--apogee-navy);
  font-weight: 700;
  text-decoration: none;
}

.single-product .product_meta a:hover {
  color: var(--apogee-gold);
}

/* Product Gallery */
.single-product .woocommerce-product-gallery {
  background: #ffffff;
  border: 1px solid var(--apogee-border);
  border-radius: 24px;
  padding: 16px;
  box-shadow: 0 18px 40px rgba(7,29,58,.05);
}

.single-product .woocommerce-product-gallery img {
  border-radius: 18px;
}

/* Thumbnails */
.flex-control-thumbs img {
  border-radius: 12px;
  border: 1px solid transparent;
  transition: all .2s ease;
}

.flex-control-thumbs img:hover {
  border-color: var(--apogee-gold);
  transform: translateY(-2px);
}

/* Price */
.single-product .price {
  color: var(--apogee-gold) !important;
  font-size: 28px !important;
  font-weight: 900 !important;
  margin-bottom: 20px !important;
}

/* Request Quote / Buttons */
.single-product .button,
.single-product button.button,
.single-product input.button {
  background: linear-gradient(
    135deg,
    var(--apogee-gold),
    #b8912f
  ) !important;

  color: #ffffff !important;
  border: none !important;
  border-radius: 999px !important;

  padding: 16px 34px !important;

  font-size: 14px !important;
  font-weight: 900 !important;
  letter-spacing: .08em;
  text-transform: uppercase;

  box-shadow: 0 14px 30px rgba(189,150,56,.24);

  transition: all .22s ease;
}

.single-product .button:hover,
.single-product button.button:hover,
.single-product input.button:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 36px rgba(189,150,56,.32);
}

/* Quantity Box */
.quantity .qty {
  border: 1px solid var(--apogee-border);
  border-radius: 14px;
  height: 52px;
  background: #ffffff;
  font-weight: 700;
}

/* Tabs */
.woocommerce-tabs {
  margin-top: 70px;
}

.woocommerce-tabs ul.tabs {
  border-bottom: 1px solid var(--apogee-border);
  padding-left: 0 !important;
}

.woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border: none !important;
  margin-right: 10px !important;
}

.woocommerce-tabs ul.tabs li a {
  background: #ffffff;
  border: 1px solid var(--apogee-border);
  border-radius: 14px 14px 0 0;
  padding: 14px 22px !important;

  color: var(--apogee-navy) !important;

  font-size: 14px;
  font-weight: 800;
  letter-spacing: .03em;

  transition: all .2s ease;
}

.woocommerce-tabs ul.tabs li.active a {
  background: var(--apogee-navy) !important;
  color: #ffffff !important;
  border-color: var(--apogee-navy) !important;
}

/* Description Panel */
.woocommerce-Tabs-panel {
  background: #ffffff;
  border: 1px solid var(--apogee-border);
  border-radius: 0 22px 22px 22px;
  padding: 42px;
  margin-top: -1px;
}

/* Description Typography */
.woocommerce-Tabs-panel h2,
.woocommerce-Tabs-panel h3 {
  color: var(--apogee-navy);
  font-weight: 900;
  letter-spacing: -.03em;
}

.woocommerce-Tabs-panel p,
.woocommerce-Tabs-panel li {
  color: var(--apogee-text);
  font-size: 18px;
  line-height: 1.8;
}

/* Additional Information Tables */
.shop_attributes {
  border: none !important;
}

.shop_attributes th,
.shop_attributes td {
  border-bottom: 1px solid var(--apogee-border) !important;
  padding: 16px !important;
}

/* Hide weak related blog styling */
.related.posts {
  display: none !important;
}

/* Related Products */
.related.products {
  margin-top: 80px;
}

.related.products h2 {
  font-size: 38px;
  font-weight: 900;
  color: var(--apogee-navy);
  margin-bottom: 34px;
}

/* Product Cards */
.related.products ul.products li.product,
.woocommerce ul.products li.product {
  background: #ffffff;
  border: 1px solid var(--apogee-border);
  border-radius: 24px;
  padding: 18px !important;

  box-shadow: 0 16px 36px rgba(7,29,58,.06);

  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease;
}

.related.products ul.products li.product:hover,
.woocommerce ul.products li.product:hover {
  transform: translateY(-4px);

  border-color: rgba(189,150,56,.35);

  box-shadow:
    0 22px 44px rgba(7,29,58,.10);
}

/* Product Images */
.woocommerce ul.products li.product img {
  border-radius: 16px;
}

/* Product Titles */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  color: var(--apogee-navy);
  font-size: 19px !important;
  line-height: 1.3;
  font-weight: 900;
  padding-top: 12px;
}

/* Category Text */
.woocommerce ul.products li.product .ast-woo-product-category {
  color: var(--apogee-muted);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .04em;
}

/* Mobile */
@media (max-width: 768px) {

  .single-product div.product {
    padding: 24px;
    border-radius: 20px;
  }

  .single-product .product_title {
    font-size: 42px;
  }

  .woocommerce-Tabs-panel {
    padding: 26px;
  }

  .woocommerce ul.products li.product {
    padding: 14px !important;
  }

}
.single-product .product_title {
  font-size: clamp(38px, 4vw, 58px);
  line-height: .95;
  letter-spacing: -.045em;
}
.single-product .product_title {
  line-height: .88;
}
#payment .payment_box {
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
}
.woocommerce-terms-and-conditions-wrapper label {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}
#payment ul.payment_methods li {
    margin-bottom: 10px !important;
}

#payment .payment_box {
    margin-top: 10px !important;
    padding: 24px !important;
}
.wc-stripe-card-icons-container,
.wc-stripe-payment-method-icons {
    display: none !important;
}
.wc-stripe-payment-method-icons,
.wc-stripe-card-icons-container,
.wc-stripe-credit-card-brand {
    display: none !important;
}
#payment .payment_box {
    padding: 22px !important;
    border-radius: 14px !important;
}

#payment .wc_payment_method {
    margin-bottom: 12px !important;
}
.woocommerce-terms-and-conditions-wrapper {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.woocommerce-terms-and-conditions-wrapper input {
    margin: 0 !important;
}
tr.woocommerce-table__payment-method {
    display: none !important;
}
/* Mobile header/menu cleanup */
@media (max-width: 921px) {
  .site-header {
    position: sticky;
    top: 0;
    z-index: 999;
    background: #fff;
    box-shadow: 0 1px 8px rgba(10, 25, 50, 0.08);
  }

  .ast-primary-header-bar {
    min-height: 82px;
    padding: 10px 18px;
  }

  .site-logo-img img,
  .custom-logo {
    max-width: 150px;
    height: auto;
  }

  .menu-toggle.main-header-menu-toggle {
    width: 44px;
    height: 44px;
    padding: 0;
    border-radius: 999px;
    background: #f5f7fb;
    color: #071b3a;
  }

  .ast-mobile-popup-drawer .ast-mobile-popup-content,
  .ast-mobile-popup-drawer .main-header-menu {
    padding: 8px 0;
  }

  .ast-mobile-popup-drawer .main-header-menu .menu-link {
    padding: 16px 24px;
    font-size: 18px;
    font-weight: 700;
    color: #071b3a;
    border-bottom: 1px solid #edf0f5;
  }

  .site-content {
    padding-top: 0;
  }
}

/* Apogee homepage: remove stacked hero spacing */
.apogee-hero-card .apogee-hero > .apogee-container { padding-top: 24px; padding-bottom: 24px; }
@media (max-width: 921px) {
 .apogee-hero-card .apogee-hero > .apogee-container { padding-top: 16px; padding-bottom: 16px; }
}

/* Keep the Apogee logo legible in the header */
.site-header .site-logo-img img.custom-logo { width: 135px !important; max-width: 135px !important; height: auto; }
@media (max-width: 921px) { .site-header .site-logo-img img.custom-logo { width: 110px !important; max-width: 110px !important; } }

/* Mobile homepage: clear the header and retain readable content width */
@media (max-width: 921px) {
 .home .site-content { padding-top: 96px !important; }
 .home .apogee-hero-card { margin-left: 12px !important; margin-right: 12px !important; padding-left: 20px !important; padding-right: 20px !important; }
 .apogee-hero-card .apogee-hero > .apogee-container { padding-left: 0; padding-right: 0; }
 .apogee-hero-content h1 { font-size: clamp(30px, 8vw, 40px); line-height: 1.15; }
}

/* Balanced header and catalog spacing */
.site-header .site-logo-img img.custom-logo { width: 105px !important; max-width: 105px !important; max-height: 64px; object-fit: contain; display: block; }
.site-header .site-branding { padding: 0 !important; line-height: 1; }
.site-header .ast-primary-header-bar .ast-builder-grid-row { min-height: 88px; align-items: center !important; }
.site-header .ast-primary-header-bar .site-header-section { align-items: center !important; }
.site-header .ast-primary-header-bar .ast-builder-grid-row-container-inner { max-width: 1180px; margin: 0 auto; padding-left: 24px; padding-right: 24px; }
@media (min-width: 922px) {
 .tax-product_cat .site-content > .ast-container, .post-type-archive-product .site-content > .ast-container { padding-top: 40px !important; }
 .tax-product_cat #primary, .post-type-archive-product #primary { margin-top: 0 !important; padding-top: 0 !important; }
}
@media (max-width: 921px) {
 .site-header .site-logo-img img.custom-logo { width: 100px !important; max-width: 100px !important; }
}

@media (min-width: 922px) {
 .site-header .ast-container { max-width: 1180px !important; margin-left: auto; margin-right: auto; padding-left: 24px; padding-right: 24px; }
 .site-header .main-header-bar { padding-top: 0 !important; padding-bottom: 0 !important; }
 .site-header .site-logo-img { display: flex; align-items: center; padding: 0 !important; }
}

/* Center logo and navigation within the same header row */
@media (min-width: 922px) {
 .site-header .main-header-bar .ast-container { display: flex; align-items: center; min-height: 88px; }
 .site-header .site-branding { margin: 0 !important; align-self: center; position: static; transform: none; }
 .site-header .site-logo-img img.custom-logo { margin: 0 !important; position: static; transform: none; }
 .site-header .main-header-bar-navigation { margin-left: auto; align-self: center; }
}

@media (min-width: 922px) {
 .site-header .main-header-menu { display: flex; align-items: center; gap: 8px; }
 .site-header .main-header-menu > .menu-item > .menu-link { padding-left: 12px; padding-right: 12px; }
}

/* Catalog header: compensate for the archive row baseline offset */
@media (min-width: 922px) {
 .tax-product_cat .site-header .site-branding, .post-type-archive-product .site-header .site-branding,
 .tax-product_cat .site-header .main-header-bar-navigation, .post-type-archive-product .site-header .main-header-bar-navigation { transform: translateY(-24px); }
}

/* Accessibility improvements — October 2026 */
:root { --apogee-gold: #806018; --apogee-gold-dark: #62480f; }
body a:focus-visible, body button:focus-visible, body input:focus-visible, body textarea:focus-visible, body select:focus-visible {
  outline: 3px solid #0b315f !important;
  outline-offset: 3px;
  box-shadow: 0 0 0 6px #fff !important;
}
.apogee-quote-form input:not([type="hidden"]), .apogee-quote-form textarea {
  width: 100%; max-width: 100%; box-sizing: border-box; font-size: 16px; min-height: 44px; border-color: #778393;
}
.apogee-quote-form label { display: block; color: #071d3a; font-weight: 600; }
.apogee-quote-form button { min-height: 48px; white-space: normal; }
.apogee-page p a, .apogee-page li a { text-decoration: underline; text-underline-offset: 3px; }
.apogee-page a, .apogee-page input, .apogee-page textarea { overflow-wrap: anywhere; }
@media (max-width: 767px) {
 .apogee-two-column { grid-template-columns: minmax(0, 1fr); }
 .apogee-two-column > * { min-width: 0; }
 .apogee-quote-form button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
 .apogee-page *, .apogee-page *::before, .apogee-page *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
