/* ================================================================
   STYLE.CSS ARCHITECTURE MAP (non-destructive)
   - Same cascade as your current file.
   - Added navigational headings + an index so you can spot duplicates.
   - DO NOT add random overrides elsewhere. Put changes in the right section.
   ================================================================ */

/* TABLE OF CONTENTS (by where rules appear in this file) */
/* TOKENS                   L124–L134, L174–L182, L195–L197, L205–L209, L217–L240, L296–L305 (+216 more) */
/* RESET_BASE               L117–L119, L249–L257, L263–L277, L283–L295, L407–L433, L464–L483 (+23 more) */
/* TYPOGRAPHY               L306–L326, L355–L357, L392–L398, L508–L511, L545–L548, L1075–L1078 (+24 more) */
/* FORMS                    L120–L123, L135–L141, L210–L216, L651–L653, L831–L838, L1113–L1125 (+36 more) */
/* LAYOUT                   L434–L463, L489–L500, L517–L537, L580–L588, L731–L749, L824–L830 (+59 more) */
/* HEADER                   L1–L116, L142–L156, L571–L575, L589–L594, L611–L614, L654–L659 (+63 more) */
/* NAV                      L701–L711, L727–L730, L1228–L1240, L1262–L1265, L1377–L1408, L2289–L2299 (+3 more) */
/* FOOTER                   L1435–L1437, L2016–L2040, L2047–L2049, L2068–L2077, L2087–L2092, L2102–L2114 (+20 more) */
/* WOOCOMMERCE_ARCHIVE      L3519–L3538, L3617–L3626, L3660–L3666, L4580–L4590, L4727–L4735, L4766–L4810 (+9 more) */
/* WOOCOMMERCE_SINGLE       L3683–L3686, L3694–L3696, L3704–L3710, L3734–L3740, L3759–L3775, L3831–L3836 (+6 more) */
/* WOOCOMMERCE_CART_CHECKOUT L4318–L4326, L4348–L4350, L4378–L4384, L4400–L4418, L4429–L4433 */
/* UTILITIES                L2173–L2185, L2210–L2217, L2541–L2548 */
/* MEDIA_QUERIES            L241–L248, L1126–L1141, L2222–L2235, L7559–L7575 */
/* MISC                     L157–L173, L183–L194, L198–L204, L258–L262, L278–L282, L327–L337 (+107 more) */

/* ================================================================
   HEADER
   ================================================================ */

/* 
Peptide Theme CSS — v4 (component-by-component !important reduction)

Component map (canonical anchors):
1) Header shell: .site-header (variants .header-style-1 / .header-style-2 / .header-style-3)
2) Header top row: .header-top-inner
3) Header search: .ps-header-search-center
4) Header nav: .primary-nav + .primary-menu
5) Footer shell: .footer-style-1
6) Footer legal/disclaimer: .footer-style-1 .footer-disclaimer-inner
7) Shop/archive wrapper: body.woocommerce.archive / body.tax-product_cat / body.post-type-archive-product
8) Product grid: #ps-products-grid ul.products / .ps-shop-grid ul.products / .ps-products-grid-wrapper ul.products
9) Product card: ul.products li.product
10) Single product page: .ps-single-product-page
11) Quantity control: .ps-quantity-wrapper .quantity
12) Cart sidebar: .peptide-cart-sidebar
13) Cart page: .woocommerce-cart
14) Checkout: .woocommerce-checkout
15) Account: .woocommerce-account
16) Notices: .woocommerce-notices-wrapper

Rule of engagement:
- No scattering overrides. If you must override, do it in the component’s block, near the component.
- Add !important only for inline-style fights (rare) or 3rd-party hard overrides you can’t control.
*/

/*
Theme Name: Peptide Theme
Version: 2.0
*/
/**
 * Table of Contents
 *
 * 0.0 - Design Tokens
 * 1.0 - Header Options Styles
 * 2.0 - Reset / Base
 * 3.0 - Typography + Body
 * 4.0 - Layout Shell
 * 5.0 - Cards / Grid
 * 6.0 - Header – PeptideSciences-style light header
 * 7.0 - Hero (Peptide Sciences-style, dark with DNA effect)
 * 8.0 - Buttons & Forms
 * 9.0 - Homepage catalog nav + sections
 * 10.0 - Features Row & Newsletter
 * 11.0 - Content: Posts & Pages (WordPress)
 * 12.0 - Widgets / Sidebar
 * 13.0 - Comments
 * 14.0 - Internal pages (About / Services / Contact)
 * 15.0 - Footer – light lab footer
 * 16.0 - Helpers (accessibility, alignments, clearfix)
 * 17.0 - Responsive Tweaks
 * 18.0 - Header - Peptide Sciences Style (ps-header)
 * 19.0 - Homepage Sections
 * 20.0 - Elementor Full-Width Shop Page Support
 * 21.0 - WooCommerce Shop Pages
 * 22.0 - Footer Style 1 - Peptide Sciences Style
 * 23.0 - Footer Style 2 - Core Peptides Style
 * 24.0 - Footer Style 3 - GenScript Style (matches Header Style 3)
 */
/**
 * 0.0 - Design Tokens
 */
/* Design Tokens */
:root {
  --c-bg: #ffffff;
  --c-surface: #f9fafb;
  --c-text: #111827;
  --c-text-muted: #64748b;
  --c-text-subtle: #475569;
  --c-text-strong: #334155;
  --c-primary: #3b82f6;
  --c-primary-strong: #2563eb;
  --c-black: #000000;
  --c-sky: #87CEEB;
  --c-border: #e5e7eb;
  --c-muted: #6b7280;
  --c-heading: #1f2937;
  --c-gold: #0066CC;
  --c-success: #10b981;
  --c-success-strong: #065f46;
  --c-error: #dc2626;
  --c-success-bg: #d1fae5;
  --c-error-bg: #fee2e2;
  --c-primary-hover: #1d4ed8;
  --c-gray: #4b5563;
  --c-gray-light: #9ca3af;
  --c-gray-dark: #374151;
  --c-gray-darker: #1e293b;
  --c-bg-light: #f1f5f9;
  --c-bg-lighter: #f5f7fb;
  --c-bg-lightest: #f8fafc;
  --c-bg-neutral: #f3f4f6;
  --c-border-light: #e2e8f0;
  --sp-2: 0.5rem;
  --sp-3: 0.75rem;
  --sp-4: 1rem;
  --sp-5: 1.25rem;
  --sp-6: 1.5rem;
  --sp-8: 2rem;
  --radius-8: 8px;
  --radius-12: 12px;
  --ease: 200ms ease;
  --grid-3: repeat(3, minmax(0, 1fr));
}
/**
 * 1.0 - Header Options Styles
 */
/* Sticky Header */
.peptide-header--sticky {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* ================================================================
   RESET + BASE
   ================================================================ */

body.peptide-header-sticky-active {
  padding-top: 105px;
}

/* ================================================================
   FORMS + INPUTS
   ================================================================ */

/* Header Button */
.ps-header-button-wrapper {
  margin-left: var(--sp-4);
}

/* ================================================================
   DESIGN TOKENS
   ================================================================ */

.ps-header-button {
  display: inline-block;
  padding: 0.625rem 1.25rem;
  color: var(--c-bg);
  text-decoration: none;
  border-radius: 4px;
  font-weight: 600;
  transition: background-color 0.3s ease;
  border: none;
  cursor: pointer;
}
.ps-header-button:hover {
  opacity: 0.9;
}
/* Search Button */
.ps-header-search-button-wrapper {
  margin-left: var(--sp-4);
}
.ps-header-search-toggle {
  background: none;
  border: none;
  color: inherit;
  cursor: pointer;
  padding: 0.5rem;
  font-size: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.2s;
}
.ps-header-search-toggle:hover {
  opacity: 0.7;
}

/* ================================================================
   MISC
   ================================================================ */

/* Search Overlay */
.ps-search-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.9);
  z-index: 10000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 2rem;
}
.ps-search-overlay.active {
  display: flex;
}
.ps-search-overlay-inner {
  background: var(--c-bg);
  border-radius: 8px;
  padding: 3rem;
  max-width: 600px;
  width: 100%;
  position: relative;
  text-align: center;
}
.ps-search-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: none;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
  color: #666666;
  padding: 0.5rem;
  line-height: 1;
}
.ps-search-close:hover {
  color: var(--c-black);
}
.ps-search-logo {
  margin-bottom: var(--sp-6);
}
.ps-search-logo img {
  max-width: 200px;
  height: auto;
}
.ps-search-title {
  font-size: 1.5rem;
  margin-bottom: var(--sp-6);
  color: var(--c-text);
}
.ps-search-form-wrapper {
  margin-top: var(--sp-6);
}
.ps-search-form-wrapper form {
  display: flex;
  gap: 0.5rem;
}
.ps-search-form-wrapper input[type="search"] {
  flex: 1;
  padding: 0.75rem 1rem;
  border: 2px solid var(--c-border);
  border-radius: 4px;
  font-size: 1rem;
}
.ps-search-form-wrapper input[type="search"]:focus {
  outline: none;
  border-color: var(--c-primary-strong);
}
.ps-search-form-wrapper button[type="submit"] {
  padding: 0.75rem 1.5rem;
  background: var(--c-primary-strong);
  color: var(--c-bg);
  border: none;
  border-radius: 4px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.2s;
}
.ps-search-form-wrapper button[type="submit"]:hover {
  background: var(--c-primary-hover);
}

/* ================================================================
   MEDIA QUERIES
   ================================================================ */

@media (max-width: 768px) {
  .ps-search-overlay-inner {
    padding: 2rem 1.5rem;
  }
  .ps-search-title {
    font-size: 1.25rem;
  }
}
/**
 * 2.0 - Reset / Base
 */
/* Scoped to front-end only - not wp-admin */
html {
  box-sizing: border-box;
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
}
*,
*::before,
*::after {
  box-sizing: inherit;
}
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
  padding: 0;
}
img {
  border-style: none;
  max-width: 100%;
  height: auto;
}
/**
 * 3.0 - Typography + Body
 */
/* Scoped to front-end only - not wp-admin */
body:not(.wp-admin) {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  margin: 0;
  padding: 0;
  background: var(--c-bg);
  color: var(--c-text);
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 700;
  line-height: 1.2;
  color: var(--c-text);
}

/* ================================================================
   TYPOGRAPHY
   ================================================================ */

h1 {
  font-size: 2.25rem;
}
h2 {
  font-size: 1.8rem;
}
h3 {
  font-size: 1.4rem;
}
h4 {
  font-size: 1.2rem;
}
h5,
h6 {
  font-size: 1rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
p {
  margin-bottom: 1em;
}
b,
strong {
  font-weight: 700;
}
em,
i {
  font-style: italic;
}
small {
  font-size: 0.85em;
}
/* Links – use blue healthcare theme */
a {
  color: var(--c-primary);
  text-decoration: none;
}
a:hover,
a:focus {
  text-decoration: underline;
}
/* Blockquotes */
blockquote {
  border-left: 4px solid rgba(15, 23, 42, 0.12);
  padding-left: 1rem;
  margin: var(--sp-6) 0;
  color: var(--c-gray);
  font-style: italic;
}
blockquote p:last-child {
  margin-bottom: 0;
}
/* Lists */
ul,
ol {
  margin: 0 0 1rem 1.25rem;
  padding: 0;
}
li > ul,
li > ol {
  margin-bottom: 0;
}
/* Tables */
table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: var(--sp-6);
  table-layout: fixed;
}
th,
td {
  padding: 0.6rem 0.75rem;
  border: 1px solid var(--c-border);
  text-align: left;
  font-size: 0.9rem;
}
th {
  background: var(--c-bg-light);
  font-weight: 600;
}
/* Horizontal rule */
hr {
  border: 0;
  border-top: 1px solid var(--c-border);
  margin: 2rem 0;
}
/* Code & pre */
code,
kbd,
pre,
samp {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
pre {
  background: var(--c-bg);
  color: var(--c-text);
  padding: var(--sp-4);
  border-radius: 0.5rem;
  overflow: auto;
  font-size: 0.9rem;
}
/**
 * 4.0 - Layout Shell
 */
/* Scoped to front-end only - not wp-admin */
body:not(.wp-admin) .site {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
/* Scoped to front-end only - not wp-admin */
body:not(.wp-admin) .site-wrap {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 2rem;
  width: 100%;
  display: block !important;
}
/* Header Style 4 inner containers should not inherit site-wrap padding */
body:not(.wp-admin) .header-style-3-top-inner,
body:not(.wp-admin) .header-style-3-bottom-inner {
  padding: 0.72rem 22px;
  display: flex;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  box-sizing: border-box !important;
}

/* ================================================================
   LAYOUT + STRUCTURE
   ================================================================ */

/* Responsive padding for containers - Scoped to front-end only */
@media (max-width: 1024px) {
  body:not(.wp-admin) .site-wrap {
    padding: 0 1.5rem;
  }
  body:not(.wp-admin) .site-main-inner {
    padding: 0 1.5rem;
  }
}
@media (max-width: 768px) {
  body:not(.wp-admin) .site-wrap {
    padding: 0 1rem;
  }
  body:not(.wp-admin) .site-main-inner {
    padding: 0 1rem;
  }
}
@media (max-width: 480px) {
  body:not(.wp-admin) .site-wrap {
    padding: 0 0.75rem;
  }
  body:not(.wp-admin) .site-main-inner {
    padding: 0 0.75rem;
  }
}
/* CRITICAL: Ensure shop page containers don't break grid */
.ps-shop-page .site-wrap {
  display: block !important;
  width: 100% !important;
}
/* Scoped to front-end only - not wp-admin */
body:not(.wp-admin) .site-main {
  flex: 1 0 auto;
  padding: 2rem 0;
}
body:not(.wp-admin) .site-main-inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 2rem;
  width: 100%;
}
body:not(.wp-admin) .site-with-sidebar {
  max-width: 1600px;
  margin: 0 auto;
  padding: 3rem 2rem;
  width: 100%;
}
body:not(.wp-admin) .content-area {
  width: 100%;
}
.sidebar,
.widget-area {
  width: 100%;
  margin-top: 3rem;
}
/* Two-column layout on larger screens (NOT on WooCommerce pages) */
@media (min-width: 960px) {
  body:not(.woocommerce):not(.woocommerce-page) .site-with-sidebar {
    display: grid;
    grid-template-columns: minmax(0, 2.5fr) minmax(0, 1fr);
    gap: 2.5rem;
  }
  body:not(.woocommerce):not(.woocommerce-page) .sidebar,
body:not(.woocommerce):not(.woocommerce-page) .widget-area {
    margin-top: 0;
  }
}
/* Sections - Scoped to front-end only */
body:not(.wp-admin) .section {
  padding: 3rem 0;
}
body:not(.wp-admin) .section-header {
  margin-bottom: var(--sp-6);
}
.section-header h2 {
  margin: 0 0 0.4rem;
  font-size: 1.6rem;
}
.section-header p {
  margin: 0;
  color: var(--c-muted);
  font-size: 0.95rem;
}
/**
 * 5.0 - Cards / Grid
 */
.grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1.5rem;
}
/* explicit 3 / 4 column helpers */
.grid-3 {
  grid-template-columns: var(--grid-3);
}
.grid-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
@media (max-width: 900px) {
  .grid-3,
.grid-4 {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  }
}
.card {
  background: var(--c-bg);
  border-radius: 0.75rem;
  border: 1px solid var(--c-border);
  padding: 1.25rem;
  box-shadow: 0 10px 25px rgba(15, 23, 42, 0.06);
}
.card h3 {
  margin: 0 0 0.4rem;
  font-size: 1.05rem;
}
.card p {
  margin: 0;
  font-size: 0.9rem;
  color: var(--c-gray);
}
/**
 * 6.0 - Header – PeptideSciences-style light header
 */
/* Whole header sticks to top */
.cp-header {
  position: sticky;
  top: 0;
  z-index: 2000;
  width: 100%;
  background: var(--c-bg);
  color: var(--c-text);
  border-bottom: 1px solid var(--c-border);
}
/* Avoid overlapping the WP admin bar */
body.admin-bar .cp-header {
  top: 32px;
}
@media (max-width: 782px) {
  body.admin-bar .cp-header {
    top: 46px;
  }
}
/* ----- Row 1: logo + search + account/cart ----- */
.cp-header-top {
  border-bottom: 1px solid var(--c-border);
}
.cp-header-top-inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0.65rem 1.5rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 1.5rem;
}
/* Logo/title */
.cp-header-left {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.cp-logo img,
.cp-logo .custom-logo {
  max-height: 48px;
  width: auto;
}
.cp-site-title {
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--c-text);
  text-decoration: none;
}
.cp-site-title:hover {
  color: var(--c-primary);
}
/* Search bar in the middle (uses searchform.php markup) */
.cp-header-search {
  width: 100%;
}
.header-search-form,
.ps-search-form {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  width: 100%;
  background: var(--c-surface);
  border-radius: 999px;
  border: 1px solid #d1d5db;
  padding: 0.25rem 0.75rem;
}
.header-search-input {
  flex: 1;
  border: none;
  background: transparent;
  color: var(--c-text);
  font-size: 0.9rem;
  outline: none;
  min-width: 0;
  width: 100%;
}
.header-search-input::placeholder {
  color: var(--c-gray-light);
}
.header-search-button {
  border: none;
  background: var(--c-primary);
  color: var(--c-bg);
  border-radius: 999px;
  padding: 0.35rem 0.85rem;
  font-size: 0.8rem;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.header-search-button:hover {
  filter: brightness(1.05);
}
/* Right side: icons/links */
.cp-header-right {
  display: flex;
  align-items: center;
  gap: 1.1rem;
}
.cp-header-icon {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.85rem;
  color: var(--c-gray-dark);
  text-decoration: none;
}
.cp-header-icon:hover {
  color: var(--c-primary);
}
.cp-header-icon .dashicons {
  font-size: 18px;
}
/* Small cart count bubble */
.cp-cart-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  border-radius: 999px;
  background: var(--c-primary);
  color: var(--c-bg);
  font-size: 0.7rem;
  font-weight: 700;
  margin-left: 2px;
}
/* ----- Row 2: main navigation ----- */
.cp-header-bottom {
  background: var(--c-bg);
}
.cp-header-bottom-inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0.45rem 1.5rem 0.55rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}

/* ================================================================
   NAVIGATION
   ================================================================ */

/* Main menu */
.cp-main-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 1.75rem;
}
.cp-main-menu li {
  margin: 0;
}
.cp-main-menu a {
  color: var(--c-gray-dark);
  text-decoration: none;
  font-size: 0.88rem;
  text-transform: none;
  letter-spacing: 0.04em;
  padding-bottom: 0.2rem;
  border-bottom: 2px solid transparent;
}
.cp-main-menu a:hover,
.cp-main-menu li.current-menu-item > a,
.cp-main-menu li.current-menu-ancestor > a {
  color: var(--c-primary);
  border-bottom-color: var(--c-primary);
}
/* Optionally stronger styling for “catalog” item if you add that class */
.cp-main-menu-catalog a {
  font-weight: 600;
}
/* Right side of bottom nav row is usually empty or a small CTA */
.cp-main-menu-primary {
  justify-content: flex-end;
}
/* Mobile tweaks */
@media (max-width: 900px) {
  .cp-header-top-inner {
    grid-template-columns: 1fr;
    row-gap: 0.5rem;
  }
  .cp-header-bottom-inner {
    flex-direction: column;
    align-items: flex-start;
  }
  .cp-main-menu {
    flex-wrap: wrap;
    row-gap: 0.4rem;
  }
}
/**
 * 7.0 - Hero (Peptide Sciences-style, dark with DNA effect)
 */
.hero {
  background-color: var(--c-bg-lighter);
  color: var(--c-text);
  padding: 3rem 0 3.25rem;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  border-bottom: 1px solid var(--c-border);
}
/* Peptide Sciences-style Hero - White & Blue Healthcare Theme */
.hero.hero-peptide-style {
  position: relative;
  background-color: var(--c-bg);
  color: var(--c-gray-darker);
  padding: 0;
  min-height: 650px;
  margin-left: 0;
  margin-right: 0;
  border-bottom: 1px solid var(--c-border-light);
  overflow: hidden;
  background: radial-gradient(ellipse 900px 500px at 30% 50%, rgba(59, 130, 246, 0.08) 0%, transparent 60%),
    radial-gradient(ellipse 900px 500px at 70% 50%, rgba(96, 165, 250, 0.06) 0%, transparent 60%),
    
    radial-gradient(circle at 20% 30%, rgba(59, 130, 246, 0.1) 0%, transparent 50%),
    radial-gradient(circle at 80% 70%, rgba(147, 197, 253, 0.08) 0%, transparent 50%),
    
    var(--c-bg);
  background-size: 100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100%;
}
.hero.hero-peptide-style::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: repeating-linear-gradient(
      45deg,
      transparent,
      transparent 120px,
      rgba(59, 130, 246, 0.02) 120px,
      rgba(59, 130, 246, 0.02) 240px
    ),
    repeating-linear-gradient(
      -45deg,
      transparent,
      transparent 120px,
      rgba(96, 165, 250, 0.02) 120px,
      rgba(96, 165, 250, 0.02) 240px
    );
  pointer-events: none;
  opacity: 0.5;
  z-index: 0;
}
.hero-inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 1.5rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 2.5rem;
  min-height: 320px;
}
.hero.hero-peptide-style .hero-inner {
  padding: 4rem 1.5rem 3rem;
  position: relative;
  z-index: 1;
  min-height: 600px;
  display: block;
}
.hero-content-wrapper {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 3rem;
  align-items: center;
  min-height: 500px;
}
/* Left Sidebar Product List Button */
.hero-sidebar-button {
  position: fixed;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 100;
}
.hero-product-list-btn {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  background: var(--c-primary);
  color: var(--c-bg);
  border: none;
  padding: 1.5rem 0.75rem;
  border-radius: 0 0.5rem 0.5rem 0;
  cursor: pointer;
  font-size: 0.9rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  transition: background 0.2s ease, transform 0.2s ease;
  box-shadow: 2px 0 8px rgba(59, 130, 246, 0.3);
  border-right: 2px solid var(--c-primary);
}
.hero-product-list-btn:hover {
  background: var(--c-primary);
  transform: translateY(-50%) translateX(3px);
}
.hero-product-list-text {
  letter-spacing: 0.1em;
}
.hero-product-list-arrow {
  font-size: 1.2rem;
  margin-top: var(--sp-2);
}
/* Left: Promotional Text Box */
.hero-promo-box {
  background: var(--c-bg);
  border-radius: 1rem;
  padding: 2.5rem 2rem;
  box-shadow: 0 10px 40px rgba(59, 130, 246, 0.15), 0 0 0 1px rgba(59, 130, 246, 0.1);
  border: 1px solid var(--c-border-light);
}
.hero-promo-eyebrow {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--c-primary);
  margin-bottom: var(--sp-2);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.hero-promo-title {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 700;
  color: var(--c-text);
  margin: 0 0 var(--sp-5);
  line-height: 1.2;
}
.hero-product-list {
  list-style: none;
  margin: 0 0 var(--sp-6);
  padding: 0;
  font-size: 0.95rem;
  color: var(--c-gray);
  line-height: 1.8;
}
.hero-product-list li {
  margin-bottom: 0.4rem;
  padding-left: 1.2rem;
  position: relative;
}
.hero-product-list li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--c-primary);
  font-weight: bold;
  font-size: 1.2rem;
}
.hero-purity-badge {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--c-primary);
  margin-bottom: var(--sp-6);
}
.hero-learn-more {
  background: var(--c-primary);
  border-color: var(--c-primary);
  color: var(--c-bg);
  padding: 0.85rem 2rem;
  font-size: 1rem;
  font-weight: 600;
  border-radius: 999px;
  text-decoration: none;
  display: inline-block;
  transition: all 0.2s ease;
}
.hero-learn-more:hover {
  background: var(--c-primary);
  border-color: var(--c-primary);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.4);
  color: var(--c-bg);
}
/* Right: Product Vials */
.hero-vials {
  display: flex;
  gap: 1.5rem;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
  padding-top: 1rem;
}
.hero-vial {
  background: var(--c-bg);
  border-radius: 0.75rem;
  padding: 1.5rem 1.25rem;
  box-shadow: 0 10px 30px rgba(59, 130, 246, 0.15), 0 0 0 1px rgba(59, 130, 246, 0.1);
  text-align: center;
  min-width: 160px;
  max-width: 180px;
  border: 2px solid var(--c-border-light);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  position: relative;
}
.hero-vial:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 40px rgba(59, 130, 246, 0.25), 0 0 0 1px rgba(59, 130, 246, 0.2);
  border-color: #93c5fd;
}
.hero-vial-image {
  margin-bottom: var(--sp-3);
}
.hero-vial-image img {
  width: 100%;
  height: auto;
  border-radius: 0.5rem;
  max-height: 140px;
  object-fit: cover;
}
.hero-vial-image-placeholder {
  width: 100%;
  height: 160px;
  background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 50%, #93c5fd 100%);
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--sp-4);
  border: 2px solid #60a5fa;
  box-shadow: inset 0 2px 8px rgba(37, 99, 235, 0.2);
  position: relative;
  overflow: hidden;
}
.hero-vial-image-placeholder::before {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.3) 0%, transparent 70%);
  animation: shimmer 3s infinite;
}
@keyframes shimmer {
  0%,
100% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  50% {
    transform: translate(-50%, -50%) rotate(180deg);
  }
}
.hero-vial-placeholder-icon {
  font-size: 3.5rem;
  opacity: 0.7;
}
.hero-vial-label {
  font-size: 0.85rem;
}
.hero-vial-name {
  font-weight: 700;
  color: var(--c-text);
  margin-bottom: 0.3rem;
  font-size: 0.9rem;
  line-height: 1.3;
}
.hero-vial-weight {
  color: var(--c-gray);
  margin-bottom: 0.3rem;
  font-size: 0.8rem;
}
.hero-vial-purity {
  color: var(--c-primary);
  font-weight: 600;
  margin-bottom: 0.3rem;
  font-size: 0.8rem;
}
.hero-vial-disclaimer {
  color: var(--c-muted);
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
/* Carousel Indicators */
.hero-carousel-indicators {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 2rem;
  padding-bottom: 1.5rem;
  position: relative;
  z-index: 2;
}
.hero-carousel-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: none;
  background: rgba(255, 255, 255, 0.4);
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease;
  padding: 0;
}
.hero-carousel-dot:hover {
  background: rgba(255, 255, 255, 0.6);
  transform: scale(1.2);
}
.hero-carousel-dot.active {
  background: var(--c-primary);
  transform: scale(1.3);
}
.hero-main {
  flex: 1 1 320px;
}
.hero-eyebrow {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--c-primary);
  margin-bottom: 0.6rem;
}
.hero h1 {
  margin: 0 0 0.7rem;
  font-size: clamp(2.1rem, 3.2vw, 2.9rem);
}
.hero p {
  margin: 0;
  max-width: 36rem;
  line-height: 1.7;
  color: var(--c-gray);
}
.hero.hero-peptide-style p {
  color: var(--c-text-subtle);
}
.hero-cta {
  margin-top: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.9rem;
}
.hero-bottles {
  flex: 1 1 260px;
  display: flex;
  justify-content: center;
}
.hero-bottles-inner {
  width: 100%;
  max-width: 360px;
  border-radius: 1.25rem;
  padding: 1.5rem 1.4rem;
  background: var(--c-bg);
  border: 1px solid var(--c-border);
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.12);
}
.hero-bottles-inner p {
  margin: 0;
  font-size: 0.9rem;
  color: var(--c-gray);
}
/* Responsive */
@media (max-width: 1024px) {
  .hero-content-wrapper {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .hero-vials {
    justify-content: center;
  }
  .hero-sidebar-button {
    display: none;
  }
}
@media (max-width: 768px) {
  .hero.hero-peptide-style {
    min-height: auto;
    padding: 2rem 0;
  }
  .hero-promo-box {
    padding: 1.75rem 1.5rem;
  }
  .hero-vials {
    gap: 1rem;
  }
  .hero-vial {
    min-width: 130px;
    max-width: 150px;
  }
}
/**
 * 8.0 - Buttons & Forms
 */
.btn-outline,
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1.6rem;
  border-radius: 999px;
  font-weight: 600;
  font-size: 0.95rem;
  border: 2px solid transparent;
  cursor: pointer;
  font-family: inherit;
}
/* Theme buttons */
.btn-primary,
input[type="submit"].btn-primary {
  background: var(--c-primary);
  color: var(--c-bg);
  border-color: var(--c-primary);
}
.btn-primary:hover,
.btn-primary:focus {
  filter: brightness(1.05);
}
.btn-outline {
  background: transparent;
  color: var(--c-primary);
  border-color: var(--c-primary);
}
.btn-outline:hover {
  background: var(--c-primary);
  color: var(--c-bg);
}
/* Default WP-style buttons */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  background: var(--c-bg);
  color: var(--c-text);
  border-color: var(--c-border-light);
}
button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
  background: var(--c-primary);
  border-color: var(--c-primary);
  color: var(--c-bg);
}
/* Inputs */
input,
select,
textarea {
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.5;
  background-color: var(--c-surface);
  border-radius: 0.5rem;
  border: 1px solid var(--c-border);
  padding: 0.6rem 0.75rem;
  color: var(--c-text);
  max-width: 100%;
}
input:focus,
select:focus,
textarea:focus {
  outline: 2px solid var(--c-primary);
  outline-offset: 2px;
  border-color: var(--c-primary);
  background-color: var(--c-bg);
}
/**
 * 9.0 - Homepage catalog nav + sections
 */
.section-catalog-nav {
  padding: 1rem 0 0.75rem;
  background: var(--c-bg);
  border-bottom: 1px solid var(--c-border);
}
.section-catalog-nav-inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 1.5rem;
  display: flex;
  justify-content: flex-start;
}
.catalog-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  font-size: 0.9rem;
}
.catalog-nav-link {
  position: relative;
  color: var(--c-gray-dark);
  text-decoration: none;
  font-weight: 500;
  padding-bottom: 0.25rem;
}
.catalog-nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 2px;
  background: var(--c-primary);
  transition: width 0.18s ease-out;
}
.catalog-nav-link:hover,
.catalog-nav-link.is-active {
  color: var(--c-primary);
}
.catalog-nav-link:hover::after,
.catalog-nav-link.is-active::after {
  width: 100%;
}
/* Product and blog sections */
.section-products {
  background: var(--c-bg);
}
.section-blog {
  background: var(--c-surface);
}
.section-blog .card {
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.06);
}
/**
 * 10.0 - Features Row & Newsletter
 */
.section.features-row {
  background: var(--c-bg-neutral);
  color: var(--c-text);
  padding: 2.5rem 0 2.75rem;
}
.section.features-row .card {
  background: var(--c-bg);
  border-color: var(--c-border);
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05);
}
.newsletter {
  background: var(--c-bg);
  border-top: 1px solid var(--c-border);
  border-bottom: 1px solid var(--c-border);
  color: var(--c-text);
  padding: 2.3rem 0;
}
.newsletter-inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 1.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  align-items: center;
  justify-content: space-between;
}
.newsletter form {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.newsletter input[type="email"] {
  padding: 0.6rem 0.9rem;
  border-radius: 999px;
  border: 1px solid #d1d5db;
  background: var(--c-surface);
  color: var(--c-text);
  min-width: 230px;
}
.newsletter button {
  padding: 0.6rem 1.3rem;
  border-radius: 999px;
  border: none;
  background: var(--c-primary);
  color: var(--c-bg);
  font-weight: 600;
  cursor: pointer;
}
/**
 * 11.0 - Content: Posts & Pages (WordPress)
 */
.hentry {
  background: var(--c-bg);
  border-radius: 0.75rem;
  border: 1px solid var(--c-border);
  padding: 2rem 2rem 1.75rem;
  margin-bottom: 2rem;
}
.sticky {
  border-color: var(--c-primary);
  box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.3);
}
.entry-header {
  margin-bottom: var(--sp-4);
}
.entry-title {
  margin: 0 0 0.4rem;
}
.entry-meta {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-muted);
}
.entry-content,
.entry-summary,
.page-content {
  font-size: 0.98rem;
  color: var(--c-text);
}
.entry-content > :last-child,
.entry-summary > :last-child,
.page-content > :last-child {
  margin-bottom: 0;
}
/* Page header (archives, search, etc.) - Scoped to front-end only */
body:not(.wp-admin) .page-header {
  margin-bottom: var(--sp-6);
}
body:not(.wp-admin) .page-title {
  font-size: 1.5rem;
  margin-bottom: 0.25rem;
}
.taxonomy-description {
  font-size: 0.95rem;
  color: var(--c-text-muted);
}
/* Pagination */
/* Hide pagination on shop page since all products are shown */
.woocommerce-pagination,
.woocommerce nav.woocommerce-pagination,
.woocommerce-page nav.woocommerce-pagination,
body.woocommerce-shop .woocommerce-pagination,
body.woocommerce-shop nav.woocommerce-pagination {
  display: none;
}
.pagination,
.nav-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  align-items: center;
  margin-top: 2rem;
}
.page-numbers,
.nav-links a,
.nav-links span {
  min-width: 2.1rem;
  height: 2.1rem;
  border-radius: 999px;
  padding: 0 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8rem;
  border: 1px solid var(--c-border);
  color: var(--c-gray-darker);
  background: var(--c-bg);
}
/* Exclude Header Style 1 nav-links from general pagination styles */
.header-style-1 .nav-links a,
.header-style-1 .nav-links .nav-link {
  min-width: auto;
  height: auto;
  padding: 0;
  font-size: 1rem;
}
.page-numbers.current,
.nav-links .current {
  background: var(--c-bg);
  color: var(--c-surface);
  border-color: var(--c-border-light);
}
/* Post thumbnail */
.post-thumbnail {
  margin: -2rem -2rem 1.5rem;
  overflow: hidden;
  border-radius: 0.75rem 0.75rem 0 0;
}
/* Entry footer */
.entry-footer {
  margin-top: 1.25rem;
  font-size: 0.8rem;
  color: var(--c-muted);
}

/* ================================================================
   FOOTER
   ================================================================ */

.entry-footer a {
  color: inherit;
}
/**
 * 12.0 - Widgets / Sidebar
 */
.widget {
  background: var(--c-bg);
  border-radius: 0.75rem;
  border: 1px solid var(--c-border);
  padding: 1.5rem 1.5rem 1.25rem;
  margin-bottom: var(--sp-6);
  font-size: 0.95rem;
  color: var(--c-gray);
}
.widget-title {
  font-size: 1rem;
  margin: 0 0 1rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-gray-darker);
}
.widget ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.widget li {
  padding: 0.35rem 0;
  border-bottom: 1px solid var(--c-border);
}
.widget li:last-child {
  border-bottom: 0;
}
/**
 * 13.0 - Comments
 */
.comments-area {
  margin-top: 3rem;
  background: var(--c-bg);
  border-radius: 0.75rem;
  border: 1px solid var(--c-border);
  padding: 2rem;
}
.comments-title,
.comment-reply-title {
  font-size: 1.1rem;
  margin-bottom: var(--sp-4);
}
.comment-list {
  list-style: none;
  margin: 0 0 var(--sp-6);
  padding: 0;
}
.comment-list .comment {
  border-top: 1px solid var(--c-border);
  padding-top: 1rem;
  margin-top: 1rem;
}
.comment-list > .comment:first-child {
  border-top: 0;
  padding-top: 0;
  margin-top: 0;
}
.comment-author {
  font-weight: 600;
  margin-bottom: 0.25rem;
  color: var(--c-gray-darker);
}
.comment-metadata {
  font-size: 0.8rem;
  color: var(--c-muted);
  margin-bottom: var(--sp-3);
}
.comment-content {
  font-size: 0.95rem;
  color: var(--c-gray-darker);
}
.comment-respond {
  margin-top: 1.5rem;
}
.comment-form label {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-muted);
  display: block;
  margin-bottom: 0.25rem;
}
.comment-form p {
  margin-bottom: var(--sp-4);
}
/**
 * 14.0 - Internal pages (About / Services / Contact)
 */
.ps-page {
  padding: 3rem 0 4rem;
  background: var(--c-bg);
}
.ps-page-inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 2rem;
  width: 100%;
}
.ps-page-header {
  margin-bottom: 2rem;
}
.ps-page-kicker {
  font-size: 0.9rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--c-primary);
  margin-bottom: 0.4rem;
}
.ps-page-title {
  font-size: clamp(2rem, 3vw, 2.7rem);
  font-weight: 700;
  margin: 0;
  color: var(--c-text);
}
/* two-column layout: text left, image right */
.ps-page-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  gap: 2.5rem;
  align-items: flex-start;
}
.ps-page-content {
  font-size: 0.98rem;
  line-height: 1.8;
  color: var(--c-text);
}
.ps-page-content h2 {
  font-size: 1.25rem;
  margin: 2rem 0 0.5rem;
}
.ps-page-content p {
  margin-bottom: var(--sp-4);
}
/* right-hand image */
.ps-page-media img {
  width: 100%;
  height: auto;
  border-radius: 0.75rem;
  object-fit: cover;
  box-shadow: 0 18px 40px rgba(15,23,42,0.18);
}
/* grey placeholder box when no Featured Image */
.ps-page-media-placeholder {
  width: 100%;
  min-height: 260px;
  border-radius: 0.75rem;
  background: var(--c-bg-neutral);
  border: 1px dashed #d1d5db;
  color: var(--c-muted);
  font-size: 0.9rem;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 1.5rem;
}
@media (max-width: 960px) {
  .ps-page-layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .ps-page-media {
    margin-top: 1.5rem;
  }
}
/* extras */
.ps-page-subtitle {
  margin-top: 0.35rem;
  max-width: 32rem;
  color: var(--c-muted);
  font-size: 0.95rem;
}
/* Stats row */
.ps-about-stats {
  background: var(--c-surface);
}
.ps-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1.5rem;
  margin-top: 1.5rem;
}
.ps-stat {
  padding: 1.25rem 1.5rem;
  border-radius: 0.75rem;
  background: var(--c-bg);
  color: var(--c-gray-darker);
  box-shadow: 0 10px 30px rgba(59, 130, 246, 0.15);
  border: 1px solid var(--c-border-light);
}
.ps-stat-number {
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 0.3rem;
  color: var(--c-primary);
}
.ps-stat-label {
  font-size: 0.9rem;
  color: var(--c-text-muted);
}
/* Timeline */
.ps-timeline {
  list-style: none;
  margin: 2rem 0 0;
  padding: 0 0 0 1.5rem;
  border-left: 2px solid var(--c-border);
}
.ps-timeline li {
  margin-bottom: 1.75rem;
  position: relative;
}
.ps-timeline li::before {
  content: "";
  position: absolute;
  left: -1.5rem;
  top: 0.25rem;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--c-primary);
}
.ps-timeline-year {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--c-gray-light);
}
.ps-timeline-title {
  font-weight: 600;
  margin: 0.25rem 0 0.25rem;
}
.ps-timeline-body {
  font-size: 0.95rem;
  color: var(--c-gray);
}
/* CTA strip */
.ps-generic-cta {
  background: var(--c-bg-lightest);
  color: var(--c-gray-darker);
}
.ps-cta-inner {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  align-items: center;
  justify-content: space-between;
}
.ps-cta-copy h2 {
  margin-bottom: 0.4rem;
}
.ps-cta-copy p {
  margin: 0;
  max-width: 32rem;
  color: var(--c-gray-light);
}
.ps-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
/* Services: steps */
.ps-services-process {
  background: var(--c-surface);
}
.ps-steps {
  list-style: none;
  margin: 2rem 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 1.5rem;
}
.ps-steps li {
  background: var(--c-bg);
  border-radius: 0.75rem;
  border: 1px solid var(--c-border);
  padding: 1.4rem 1.5rem;
}
.ps-steps h3 {
  margin: 0 0 0.35rem;
  font-size: 1rem;
}
.ps-steps p {
  margin: 0;
  font-size: 0.9rem;
  color: var(--c-gray);
}
/* Contact layout */
.ps-contact-section {
  background: var(--c-bg);
  padding: 3rem 0;
}
.ps-contact-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: 2rem;
  margin-top: 1.5rem;
}
.ps-contact-panel {
  background: var(--c-bg);
  border-radius: 0.75rem;
  border: 1px solid var(--c-border);
  padding: 1.75rem 2rem;
}
.ps-contact-details h3,
.ps-contact-form h3 {
  margin-top: 0;
  margin-bottom: var(--sp-3);
}
.ps-contact-list {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0.95rem;
}
.ps-contact-list li {
  margin-bottom: var(--sp-4);
}
.ps-contact-list a {
  color: var(--c-text);
}
.ps-contact-note {
  margin-top: 1rem;
  font-size: 0.9rem;
  color: var(--c-gray);
}
/* fallback form */
.ps-contact-fallback-form p {
  margin-bottom: 0.9rem;
}
.ps-contact-fallback-form label {
  display: block;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-muted);
  margin-bottom: 0.25rem;
}
.ps-contact-fallback-form input,
.ps-contact-fallback-form textarea {
  width: 100%;
}
.ps-contact-form-note {
  font-size: 0.8rem;
  color: var(--c-muted);
  margin-top: var(--sp-2);
}
/* New Contact Page Styles - Matching Peptide Sciences Design */
.ps-contact-header {
  margin-bottom: 2.5rem;
}
.ps-contact-title {
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--c-text);
  margin: 0 0 0.5rem 0;
}
.ps-contact-subtitle {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--c-text);
  margin: 0;
}
.ps-contact-form-wrapper {
  max-width: 800px;
  margin: 0 auto;
}
.ps-contact-form {
  background: var(--c-bg);
}
.ps-contact-form-field {
  margin-bottom: var(--sp-6);
}
.ps-contact-form label {
  display: block;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--c-text);
  margin-bottom: var(--sp-2);
}
.ps-contact-form .ps-required {
  color: var(--c-error);
}
.ps-contact-form input[type="text"],
.ps-contact-form input[type="email"],
.ps-contact-form input[type="tel"],
.ps-contact-form textarea {
  width: 100%;
  padding: 0.75rem 1rem;
  font-size: 1rem;
  border: 1px solid #d1d5db;
  border-radius: 0.375rem;
  background: var(--c-bg);
  color: var(--c-text);
  box-sizing: border-box;
  transition: border-color 0.2s ease;
}
.ps-contact-form input:focus,
.ps-contact-form textarea:focus {
  outline: none;
  border-color: var(--c-primary);
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}
.ps-contact-form textarea {
  resize: vertical;
  min-height: 120px;
}
.ps-contact-privacy {
  font-size: 0.85rem;
  color: var(--c-gray);
  line-height: 1.6;
  margin: var(--sp-6) 0;
}
.ps-contact-privacy a {
  color: var(--c-primary);
  text-decoration: underline;
}
.ps-contact-privacy a:hover {
  color: var(--c-primary-strong);
}
.ps-contact-recaptcha {
  margin: var(--sp-6) 0;
}
.ps-recaptcha-note {
  font-size: 0.75rem;
  color: var(--c-muted);
  margin-top: var(--sp-2);
}
.ps-contact-submit {
  margin-top: 1.5rem;
}
.ps-contact-submit-btn {
  background: var(--c-primary);
  color: var(--c-bg);
  border: none;
  border-radius: 0.5rem;
  padding: 0.875rem 2rem;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.2s ease;
  width: 100%;
  max-width: 200px;
}
.ps-contact-submit-btn:hover {
  background: var(--c-primary-strong);
}
.ps-contact-submit-btn:active {
  background: var(--c-primary-hover);
}
/* Contact Information Section */
.ps-contact-info-section {
  background: var(--c-surface);
  padding: 3rem 0;
}
.ps-contact-info-header {
  text-align: center;
  margin-bottom: 2.5rem;
}
.ps-contact-info-header h2 {
  font-size: 2rem;
  font-weight: 700;
  color: var(--c-text);
  margin: 0;
}
.ps-contact-info-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  max-width: 1200px;
  margin: 0 auto;
}
.ps-contact-info-card {
  background: var(--c-bg);
  border: 1px solid var(--c-border);
  border-radius: 0.5rem;
  padding: 2rem;
  text-align: center;
  transition: box-shadow 0.2s ease;
}
.ps-contact-info-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.ps-contact-info-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin-bottom: var(--sp-4);
}
.ps-contact-info-icon svg {
  width: 100%;
  height: 100%;
}
.ps-contact-info-title {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--c-text);
  margin: 0 0 1rem 0;
}
.ps-contact-info-content {
  font-size: 0.9rem;
  color: var(--c-gray-dark);
  line-height: 1.6;
}
.ps-contact-info-content p {
  margin: 0.5rem 0;
}
.ps-contact-info-content a {
  color: var(--c-primary);
  text-decoration: none;
}
.ps-contact-info-content a:hover {
  text-decoration: underline;
}
/* Responsive adjustments for contact info grid */
@media (max-width: 1200px) {
  .ps-contact-info-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .ps-contact-info-grid {
    grid-template-columns: 1fr;
  }
  .ps-contact-title {
    font-size: 2rem;
  }
  .ps-contact-subtitle {
    font-size: 1.25rem;
  }
}
/* FAQ cards spacing */
.ps-faq-grid .ps-faq-item h3 {
  margin-bottom: 0.4rem;
}
.ps-faq-grid .ps-faq-item p {
  margin: 0;
}
/* Responsive tweaks for these sections */
@media (max-width: 960px) {
  .ps-contact-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .ps-cta-inner {
    align-items: flex-start;
  }
}
/**
 * 15.0 - Footer – light lab footer
 */
.site-footer {
  background: var(--c-bg-lightest);
  color: var(--c-gray-darker);
  margin-top: 0;
  font-size: 0.9rem;
  border-top: 1px solid var(--c-border);
}
/* Top multi-column area */
.footer-main {
  padding: 3rem 0 2.5rem;
  border-bottom: 1px solid var(--c-border);
}
.footer-main-inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 2rem;
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 2.4fr) minmax(0, 4.2fr) minmax(0, 2.4fr);
  gap: 3rem;
  align-items: flex-start;
}
/* Generic footer blocks */
.footer-block {
  min-width: 0;
}
/* Left: brand column */
.footer-logo img,
.footer-logo .custom-logo {
  max-height: 54px;
  width: auto;
}
/* Footer logo size fix - limit custom logo in footer */
.site-footer .custom-logo-link img,
.site-footer .custom-logo,
.site-footer .footer-main .custom-logo-link img,
.site-footer .footer-main .custom-logo {
  max-height: 60px;
  width: auto;
  height: auto;
}
.footer-logo-text {
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}
.footer-tagline {
  margin-top: 1.25rem;
  max-width: 32rem;
  line-height: 1.7;
  color: var(--c-gray);
}
.footer-widgets {
  margin-top: 1.5rem;
}
/* Middle: 4 link columns */
.footer-links-block {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: 2.5rem;
}
.footer-links-block .footer-col {
  margin-bottom: 0;
}
/* Headings and link lists */
.footer-heading {
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  margin: 0 0 0.75rem;
  color: var(--c-primary);
  font-weight: 600;
}
.footer-linklist,
.footer-contact-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.footer-linklist li + li,
.footer-contact-list li + li {
  margin-top: 0.35rem;
}
.footer-linklist a,
.footer-contact-list a {
  text-decoration: none;
  color: var(--c-gray-darker);
}
.footer-linklist a:hover,
.footer-contact-list a:hover {
  color: var(--c-primary);
}
/* Right: contact column */
.footer-contact-item {
  display: flex;
  align-items: flex-start;
  margin-bottom: 0.9rem;
}
.footer-contact-label {
  display: block;
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-muted);
  margin-bottom: 0.1rem;
}
/* Optional small circle icons on the left */
.footer-contact-icon {
  display: inline-block;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, 0.2);
  margin-right: 0.5rem;
  flex-shrink: 0;
}
.footer-contact-text {
  flex: 1;
}

/* Ensure footer contact details are always visible (black text, not white) */
.footer-contact-item,
.footer-contact-label,
.footer-contact-value,
.footer-contact-meta {
  color: #000000 !important;
}

.footer-contact-list a {
  color: #1e293b !important;
}

.footer-contact-list a:hover {
  color: var(--c-primary) !important;
}

/* SVG icons in contact section - ensure they're visible */
.footer-contact-item svg {
  color: #1e293b !important;
}

/* Disclaimer band under the main footer */
.footer-disclaimer {
  background: var(--c-bg);
  padding: 2.2rem 0 2.4rem;
  border-top: 1px solid var(--c-border);
}
.footer-disclaimer-inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 1.5rem;
  font-size: 0.85rem;
}
.footer-disclaimer-inner p {
  margin: 0 0 0.9rem;
  max-width: 60rem;
  color: var(--c-gray);
  line-height: 1.7;
}
/* Bottom copyright strip */
.footer-bottom {
  border-top: 1px solid var(--c-border);
  padding: 0.9rem 0;
  background: var(--c-surface);
}
.footer-bottom-inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.15rem;
  font-size: 0.8rem;
}
.footer-bottom-inner p {
  margin: 0;
  color: var(--c-muted);
}
/* Make all footer links inherit general colors */
.site-footer a {
  color: inherit;
}

/* ================================================================
   HOMEPAGE PRODUCTS SECTION
   ================================================================ */

/* Force white background on homepage */
body.home,
body.page-template-front-page,
body.front-page {
  background: #ffffff !important;
}

.peptide-homepage-products-section {
  padding: 3rem 0;
  background: #ffffff !important;
  border-top: none;
}

.peptide-homepage-products-section .site-main-inner {
  background: #ffffff !important;
}

.peptide-homepage-products-section .ps-products-grid-wrapper,
.peptide-homepage-products-section .ps-shop-grid,
.peptide-homepage-products-section ul.products {
  background: #ffffff !important;
}

.peptide-homepage-products-title {
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--c-heading);
  text-align: left;
  margin-bottom: 1.5rem;
  text-transform: none;
  letter-spacing: 0;
}

/* Homepage Layout with Sidebar */
.peptide-homepage-layout {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 2rem;
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

/* Left Sidebar - Product Categories */
.peptide-homepage-sidebar {
  background: #ffffff;
  padding: 0;
}

.peptide-sidebar-category {
  margin-bottom: 1.5rem;
}

.peptide-sidebar-category-title {
  font-size: 1rem;
  font-weight: 700;
  color: #0066CC;
  margin: 0 0 0.75rem 0;
  padding: 0;
}

.peptide-sidebar-subcategory {
  margin-bottom: 1rem;
}

.peptide-sidebar-subcategory-title {
  font-size: 0.9rem;
  font-weight: 700;
  color: #0066CC;
  margin: 0.5rem 0 0.5rem 0;
  padding: 0;
}

.peptide-sidebar-products {
  list-style: none;
  margin: 0;
  padding: 0;
}

.peptide-sidebar-products li {
  margin: 0;
  padding: 0;
}

.peptide-sidebar-products a {
  display: block;
  padding: 0.35rem 0 0.35rem 0.75rem;
  color: #111827;
  text-decoration: none;
  font-size: 0.875rem;
  line-height: 1.4;
  transition: color 0.2s;
}

.peptide-sidebar-products a:hover {
  color: #0066CC;
}

/* Right Content - Product Grid */
.peptide-homepage-content {
  min-width: 0;
}

.peptide-homepage-content .ps-products-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 1.5rem !important;
}

/* Responsive for Homepage Layout */
@media (max-width: 1200px) {
  .peptide-homepage-layout {
    grid-template-columns: 240px 1fr;
    gap: 1.5rem;
  }
  .peptide-homepage-content .ps-products-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

@media (max-width: 960px) {
  .peptide-homepage-layout {
    grid-template-columns: 1fr;
  }
  .peptide-homepage-sidebar {
    display: none;
  }
  .peptide-homepage-content .ps-products-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

@media (max-width: 768px) {
  .peptide-homepage-content .ps-products-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 480px) {
  .peptide-homepage-content .ps-products-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Responsive tweaks */
@media (max-width: 960px) {
  .footer-main-inner {
    grid-template-columns: 1fr;
    row-gap: 2.25rem;
  }
  .footer-links-block {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 1.75rem;
  }
}
@media (max-width: 720px) {
  .footer-links-block {
    grid-template-columns: 1fr;
  }
}

/* ================================================================
   UTILITIES
   ================================================================ */

/**
 * 16.0 - Helpers (accessibility, alignments, clearfix)
 */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
.screen-reader-text:focus {
  clip: auto;
  height: auto;
  width: auto;
  margin: 0;
  padding: 0.5rem 0.75rem;
  background-color: var(--c-bg);
  color: var(--c-surface);
  z-index: 100000;
}
/* Image/text align helpers (WP) */
.alignleft {
  float: left;
  margin: 0 1.2rem 1.2rem 0;
}
.alignright {
  float: right;
  margin: 0 0 1.2rem 1.2rem;
}
.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
/* Clearfix */
.clear::before,
.clear::after,
.entry-content::before,
.entry-content::after {
  content: "";
  display: table;
}
.clear::after,
.entry-content::after {
  clear: both;
}
/**
 * 17.0 - Responsive Tweaks
 */
@media (max-width: 900px) {
  .hero-inner {
    min-height: auto;
  }
  .hentry {
    padding: 1.5rem 1.5rem 1.25rem;
  }
  .newsletter-inner {
    align-items: flex-start;
  }
}
/**
 * 18.0 - Header - Peptide Sciences Style (ps-header)
 */
.ps-header {
  position: sticky;
  top: 0;
  z-index: 2000;
  width: 100%;
  background: var(--c-bg);
  color: var(--c-text);
  border-bottom: 1px solid var(--c-border);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
body.admin-bar .ps-header {
  top: 32px;
}
@media (max-width: 782px) {
  body.admin-bar .ps-header {
    top: 46px;
  }
}
/* Promo Bar - Blue Banner at Top */
.ps-header-promo-bar {
  background: var(--c-primary);
  color: var(--c-bg);
  text-align: center;
  font-size: 0.9rem;
  font-weight: 500;
  padding: 0.75rem 1.5rem;
  width: 100%;
}
.ps-header-promo-inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 2rem;
  width: 100%;
}
/* Utility Bar - Right Only (if needed) */
.ps-header-utility {
  background: var(--c-bg);
  border-bottom: 1px solid var(--c-border);
  font-size: 0.85rem;
}
.ps-header-utility-inner {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding: 0.5rem 1.5rem;
}
.ps-header-utility-right {
  display: flex;
  align-items: center;
}
.ps-utility-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 1.5rem;
  align-items: center;
}
.ps-utility-menu li {
  margin: 0;
}
.ps-utility-link:hover {
  color: var(--c-primary);
}
.ps-cart-count {
  color: var(--c-primary);
  font-weight: 600;
  margin-left: 0.25rem;
}
/* Main Header Row - Logo Left, Search Center, Sign in/Cart Right */
.ps-header-main {
  background: var(--c-bg);
  border-bottom: 1px solid var(--c-border);
}
.ps-header-main-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: 1.25rem 2rem;
  max-width: 1600px;
  margin: 0 auto;
  width: 100%;
  overflow: visible;
  min-height: 60px;
  flex-wrap: nowrap;
}
.ps-header-main-inner > * {
  display: flex;
  align-items: center;
  vertical-align: middle;
}
.ps-header-logo {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  min-width: fit-content;
  vertical-align: middle;
  margin: 0;
  padding: 0;
}
.ps-logo-image,
.ps-header-logo img {
  max-height: 50px;
  width: auto;
  display: block;
}
.ps-logo-icon {
  display: inline-flex;
  align-items: center;
  font-size: 2rem;
  flex-shrink: 0;
}
.ps-logo-link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  text-decoration: none;
}
.ps-company-name {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
  justify-content: center;
  margin: 0;
  padding: 0;
}
/* Override for Header Style 1 - show inline next to logo, not stacked */
html body .site-header.header-style-1 .ps-company-name,
html body .header-style-1 .ps-company-name {
  display: inline-block;
  flex-direction: row !important;
  flex: none;
}
.ps-company-name-bold {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--c-black);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: 0;
  padding: 0;
  line-height: 1.2;
}
.ps-company-name-light {
  font-size: 1.1rem;
  font-weight: 400;
  color: var(--c-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: 0;
  padding: 0;
  line-height: 1.2;
}
.ps-logo-text {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--c-gray-dark);
  letter-spacing: 0.02em;
}
/* Header Search - Center */
.ps-header-search-center {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
  min-width: 0;
  padding: 0;
  vertical-align: middle;
  margin: 0;
}
.ps-header-search-center .header-search-form,
.ps-header-search-center .ps-search-form {
  position: relative;
  width: 100%;
  max-width: none;
  min-width: 0;
  display: flex;
  align-items: center;
  background: var(--c-bg);
  border: 1px solid var(--c-border-light);
  border-radius: 0.5rem;
  padding: 0.5rem 1rem;
  gap: 0.5rem;
  flex-shrink: 1;
  margin: 0;
  vertical-align: middle;
}
.ps-header-search-center .header-search-icon {
  display: flex;
  align-items: center;
  color: var(--c-muted);
  flex-shrink: 0;
}
.ps-header-search-center .header-search-icon .dashicons-search {
  font-size: 20px;
  width: 20px;
  height: 20px;
}
.ps-header-search-center .header-search-input {
  flex: 1;
  border: none;
  background: transparent;
  outline: none;
  font-size: 0.95rem;
  color: var(--c-gray-darker);
  min-width: 0;
  padding: 0;
  margin: 0;
  line-height: 1.5;
  vertical-align: middle;
}
.ps-header-search-center .header-search-input::placeholder {
  color: var(--c-gray-light);
}
.ps-header-search-center .header-search-button {
  display: none;
}
/* Search Autocomplete Dropdown */
/* Ensure search forms have relative positioning for autocomplete */
.header-search-form,
.ps-search-form,
form.header-search-form,
form.ps-search-form,
.ps-header-search-center,
.header-search-center {
  position: relative !important;
  overflow: visible !important;
  z-index: auto !important;
}

/* Ensure header doesn't clip autocomplete */
.site-header,
.ps-header,
header {
  overflow: visible !important;
}

/* Ensure autocomplete is always on top */
.ps-search-autocomplete {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 0.5rem !important;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important;
  z-index: 99999 !important;
  max-height: 400px !important;
  overflow-y: auto !important;
  margin-top: 0.25rem !important;
  display: none;
  visibility: visible !important;
  opacity: 1 !important;
}

.ps-search-autocomplete:not([style*="display: none"]),
.ps-search-autocomplete[style*="display: block"] {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.ps-search-autocomplete-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.75rem 1rem;
  text-decoration: none;
  color: var(--c-text);
  border-bottom: 1px solid var(--c-bg-neutral);
  transition: background-color 0.2s;
}
.ps-search-autocomplete-item:last-child {
  border-bottom: none;
}
.ps-search-autocomplete-item:hover {
  background-color: var(--c-surface);
}
.ps-search-autocomplete-item img {
  width: 50px;
  height: 50px;
  object-fit: contain;
  flex-shrink: 0;
  background: var(--c-surface);
  border-radius: 0.25rem;
}
.ps-search-autocomplete-item > div {
  flex: 1;
  min-width: 0;
}
.ps-search-autocomplete-item > div > div:first-child {
  font-weight: 600;
  font-size: 0.9rem;
  margin-bottom: 0.25rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ps-search-autocomplete-item > div > div:last-child {
  font-size: 0.85rem;
  color: var(--c-primary-strong);
  font-weight: 600;
}
/* Account Links - Right Side */
.ps-header-account-right {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  white-space: nowrap;
  min-width: fit-content;
  vertical-align: middle;
  margin: 0;
  padding: 0;
}
.ps-header-account-right .ps-utility-menu {
  gap: 1.5rem;
  flex-shrink: 0;
}
.ps-utility-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--c-gray-dark);
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 500;
  transition: color 0.2s ease;
  line-height: 1;
  white-space: nowrap;
}
.ps-utility-link .dashicons {
  font-size: 20px;
  width: 20px;
  height: 20px;
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
}
/* Navigation Bar Below Header */
.ps-header-nav-bar {
  background: var(--c-bg);
  border-bottom: 1px solid var(--c-border);
}
.ps-header-nav-bar-inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0.9rem 2rem 1.35rem;
  width: 100%;
}
.ps-header-nav-below {
  display: flex;
  justify-content: center;
}
.ps-nav-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  gap: 2rem;
}
.ps-main-nav {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 1.75rem;
  align-items: center;
  flex-wrap: wrap;
}
.ps-main-nav-left {
  justify-content: flex-start;
  flex: 1;
}
.ps-main-nav-right {
  justify-content: flex-end;
  flex-shrink: 0;
}
.ps-main-nav li {
  margin: 0;
}
.ps-main-nav a {
  color: var(--c-gray-dark);
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 500;
  padding-bottom: 0.3rem;
  border-bottom: 2px solid transparent;
  transition: all 0.2s ease;
}
.ps-main-nav a:hover,
.ps-main-nav .current-menu-item > a,
.ps-main-nav .current-menu-ancestor > a {
  color: var(--c-primary);
  border-bottom-color: var(--c-primary);
}
@media (max-width: 1024px) {
  /* Make containers full-width on tablet and below */
  .site-wrap,
.site-main-inner,
.site-with-sidebar,
.ps-hero-banner-inner,
.ps-header-main-inner,
.ps-header-nav-bar-inner,
.ps-header-promo-inner,
.footer-main-inner,
.ps-page-inner {
    max-width: 100%;
  }
  .ps-categories-grid,
.ps-benefits-grid {
    max-width: 100%;
    padding: 0 1.5rem;
  }
  .ps-header-main-inner {
    flex-wrap: nowrap;
    gap: 2rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .ps-header-logo {
    flex-shrink: 0;
    order: 1;
  }
  .ps-header-search-center {
    flex: 1;
    order: 2;
  }
  .ps-header-account-right {
    flex-shrink: 0;
    order: 3;
    display: flex;
  }
  .ps-header-search-center .header-search-form {
    max-width: 500px;
    min-width: 300px;
  }
  .ps-header-nav-bar {
    border-top: 1px solid var(--c-border);
  }
  .ps-hero-banner.ps-hero-exact {
    min-height: auto;
    max-height: none;
  }
  .ps-hero-content-wrapper {
    grid-template-columns: 1fr;
    gap: 3rem;
    min-height: auto;
  }
  .ps-hero-content-box {
    padding: 3rem 2.5rem;
  }
  .ps-hero-products-accordion {
    max-width: 100%;
    height: 450px;
  }
}
@media (max-width: 768px) {
  .ps-header-utility-inner {
    justify-content: center;
  }
  .ps-header-main-inner {
    flex-wrap: wrap;
    gap: 1rem;
  }
  .ps-header-logo {
    width: 100%;
    justify-content: flex-start;
  }
  .ps-header-search-center {
    width: 100%;
    order: 3;
    padding: 0;
  }
  .ps-header-search-center .header-search-form {
    max-width: 100%;
    min-width: auto;
  }
  .ps-header-account-right {
    order: 2;
    margin-left: auto;
  }
  .ps-main-nav {
    gap: 1rem;
    font-size: 0.85rem;
  }
  .ps-hero-banner.ps-hero-exact {
    min-height: auto;
    padding: 2rem 0;
  }
  .ps-hero-banner-inner {
    padding: 3rem 1.5rem 4rem;
  }
  .ps-hero-content-box {
    padding: 2.5rem 2rem;
  }
  .ps-hero-title-large {
    font-size: 2.5rem;
  }
  .ps-hero-product-list {
    font-size: 1rem;
  }
  .ps-hero-products-accordion {
    height: 400px;
  }
  /* Ensure all containers are full-width on mobile */
  .site-wrap,
.site-main-inner,
.site-with-sidebar {
    padding: 0 1rem;
  }
  .ps-categories-grid,
.ps-benefits-grid {
    padding: 0 1rem;
  }
}
/**
 * 19.0 - Homepage Sections
 */
/* Hero Banner - Exact Peptide Sciences Style - WIDE/HORIZONTAL */
.ps-hero-banner.ps-hero-exact {
  position: relative;
  min-height: 550px;
  max-height: 650px;
  padding: 0;
  overflow: hidden;
  display: flex;
  align-items: center;
  width: 100%;
}
.ps-hero-background {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 1920 600\"><rect fill=\"%23f3f4f6\" width=\"1920\" height=\"600\"/></svg>");
  background-size: cover;
  background-position: center;
  filter: blur(8px);
  opacity: 0.4;
  z-index: 0;
}
.ps-hero-banner-inner {
  position: relative;
  z-index: 1;
  max-width: 1600px;
  margin: 0 auto;
  padding: 3rem 2rem 4rem;
  width: 100%;
}
.ps-hero-content-wrapper {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 5rem;
  align-items: center;
  min-height: 500px;
  max-width: 100%;
}
/* Left: White Content Box */
.ps-hero-content-box {
  background: var(--c-bg);
  border-radius: 1.5rem;
  padding: 4rem 3.5rem;
  box-shadow: 0 25px 80px rgba(0, 0, 0, 0.2);
  width: 100%;
}
.ps-hero-eyebrow {
  font-size: 1.1rem;
  color: var(--c-muted);
  margin-bottom: var(--sp-4);
  font-weight: 500;
  letter-spacing: 0.02em;
}
.ps-hero-title-large {
  font-size: clamp(3rem, 6vw, 4.5rem);
  font-weight: 800;
  margin: 0 0 var(--sp-6);
  color: var(--c-primary);
  line-height: 1.1;
  letter-spacing: -0.02em;
}
.ps-hero-product-list {
  font-size: 1.2rem;
  color: var(--c-gray-dark);
  margin: 0 0 2rem;
  line-height: 1.7;
}
.ps-hero-badge {
  font-size: 1.1rem;
  color: var(--c-gray-dark);
  font-weight: 600;
  margin-bottom: 2.5rem;
  padding: 0.75rem 1.5rem;
  background: var(--c-primary);
  color: var(--c-bg);
  border-radius: 999px;
  display: inline-block;
}
.ps-hero-cta-buttons {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.btn-hero-primary {
  background: var(--c-primary);
  color: var(--c-bg);
  padding: 1.1rem 2.5rem;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 600;
  font-size: 1rem;
  text-align: center;
  transition: all 0.2s ease;
  border: 2px solid var(--c-primary);
}
.btn-hero-primary:hover {
  background: var(--c-primary-strong);
  border-color: var(--c-primary-strong);
  color: var(--c-bg);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.4);
}
.btn-hero-secondary {
  background: rgba(59, 130, 246, 0.15);
  color: var(--c-primary);
  padding: 1.1rem 2.5rem;
  border-radius: 999px;
  border: 2px solid rgba(59, 130, 246, 0.3);
  text-decoration: none;
  font-weight: 600;
  font-size: 1rem;
  text-align: center;
  transition: all 0.2s ease;
}
.btn-hero-secondary:hover {
  background: rgba(59, 130, 246, 0.2);
  border-color: rgba(59, 130, 246, 0.5);
  color: var(--c-primary-strong);
}
/* Right: Product Images Accordion/Carousel */
.ps-hero-products-accordion {
  position: relative;
  width: 100%;
  max-width: none;
  height: 550px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ps-hero-accordion-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ps-hero-accordion-item {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  transform: scale(0.85);
  transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ps-hero-accordion-item.active {
  opacity: 1;
  transform: scale(1);
  z-index: 2;
}
.ps-hero-accordion-image {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--c-bg);
  border-radius: 1.5rem;
  padding: 3rem;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.2);
  border: 1px solid var(--c-border);
}
.ps-accordion-img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 0.75rem;
}
.ps-accordion-placeholder {
  width: 100%;
  height: 100%;
  min-height: 400px;
  background: linear-gradient(135deg, #e0f2fe 0%, #bae6fd 100%);
  border-radius: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 8rem;
  border: 2px solid #0066CC;
}
/* Hero Carousel Indicators */
.ps-hero-carousel-indicators {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 2rem;
  padding-bottom: 1.5rem;
  position: relative;
  z-index: 3;
}
.ps-carousel-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: none;
  background: rgba(0, 0, 0, 0.2);
  cursor: pointer;
  transition: all 0.3s ease;
  padding: 0;
}
.ps-carousel-dot:hover {
  background: rgba(59, 130, 246, 0.6);
  transform: scale(1.2);
}
.ps-carousel-dot.active {
  background: var(--c-primary);
  transform: scale(1.3);
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.3);
}
/* Category Cards Section */
.ps-categories-section {
  padding: 4rem 0;
  background: var(--c-bg);
}
.ps-categories-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 2rem;
  max-width: 1600px;
  margin: 0 auto;
  width: 100%;
  padding: 0 2rem;
}
.ps-category-card {
  background: var(--c-bg);
  border: 1px solid var(--c-border);
  border-radius: 0.75rem;
  overflow: hidden;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
.ps-category-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(59, 130, 246, 0.15);
  border-color: #93c5fd;
}
.ps-category-link {
  display: block;
  text-decoration: none;
  color: inherit;
}
.ps-category-image-wrapper {
  width: 100%;
  height: 200px;
  overflow: hidden;
  background: var(--c-surface);
}
.ps-category-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ps-category-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%);
}
.ps-category-icon {
  font-size: 4rem;
}
.ps-category-content {
  padding: 1.5rem;
}
.ps-category-title {
  font-size: 1.2rem;
  font-weight: 700;
  margin: 0 0 0.5rem;
  color: var(--c-text);
}
.ps-category-description {
  font-size: 0.9rem;
  color: var(--c-muted);
  margin: 0 0 1rem;
  line-height: 1.6;
}
.ps-category-cta {
  color: var(--c-primary);
  font-weight: 600;
  font-size: 0.9rem;
}
/* Featured Products Section */
.ps-featured-products {
  padding: 4rem 0;
  background: var(--c-surface);
}
.ps-featured-header {
  text-align: center;
  margin-bottom: 2.5rem;
}
.ps-section-title {
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  font-weight: 700;
  margin: 0 0 0.5rem;
  color: var(--c-text);
}
.ps-section-subtitle {
  font-size: 1rem;
  color: var(--c-muted);
  margin: 0;
}
/* Product Filter Tabs */
.ps-product-tabs {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 2.5rem;
}
.ps-tab-btn {
  padding: 0.6rem 1.25rem;
  border: 1px solid var(--c-border);
  background: var(--c-bg);
  color: var(--c-gray-dark);
  border-radius: 999px;
  font-size: 0.9rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}
.ps-tab-btn:hover {
  border-color: var(--c-primary);
  color: var(--c-primary);
}
.ps-tab-btn.active {
  background: var(--c-primary);
  border-color: var(--c-primary);
  color: var(--c-bg);
}
.ps-products-cta {
  text-align: center;
}
/* Product Card - Peptide Sciences Style */
.ps-product-card {
  background: var(--c-bg);
  border: 1px solid var(--c-bg);
  border-radius: 0.5rem;
  overflow: hidden;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
  min-height: 0;
  max-width: 100%;
  box-sizing: border-box;
}
.ps-product-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  border-color: var(--c-bg);
}
.ps-product-card-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
}
/* Brand Header - Healthcare Blue - Hidden by default */
.ps-product-brand-header {
  display: none !important;
}
.ps-product-brand-logo {
  font-size: 1rem;
}
.ps-product-brand-text {
  text-transform: uppercase;
}
/* Reference Number */
.ps-product-ref {
  padding: 0.5rem 1rem;
  font-size: 0.75rem;
  color: var(--c-muted);
  background: var(--c-surface);
  border-bottom: 1px solid var(--c-border);
}
/* Product Name - Hidden */
.ps-product-name,
.ps-product-name-header {
  display: none !important;
}
/* Product Details Section */
.ps-product-details {
  padding: 0.75rem 1rem;
  font-size: 0.8rem;
  color: var(--c-gray-dark);
  line-height: 1.5;
  border-bottom: 1px solid var(--c-border);
  flex-grow: 1;
}
.ps-product-detail-item {
  margin-bottom: 0.4rem;
  display: flex;
  gap: 0.5rem;
}
.ps-product-detail-item:last-child {
  margin-bottom: 0;
}
.ps-detail-label {
  font-weight: 600;
  color: var(--c-gray);
  min-width: 60px;
}
.ps-detail-value {
  color: var(--c-text);
}
.ps-product-ruo {
  margin-top: var(--sp-2);
  padding-top: 0.5rem;
  border-top: 1px solid var(--c-border);
}
.ps-product-ruo .ps-detail-value {
  font-weight: 600;
  color: var(--c-gray-dark);
}
.ps-product-disclaimer {
  margin-top: 0.25rem;
}
.ps-product-disclaimer .ps-detail-value {
  font-size: 0.75rem;
  color: var(--c-muted);
}
/* Product Image */
.ps-product-image-link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  overflow: hidden;
  padding: var(--sp-4);
  background: var(--c-bg);
  text-align: center;
  min-height: 250px;
  max-height: 250px;
  height: 250px;
  box-sizing: border-box;
  border-top: none;
  border-bottom: none;
}
.ps-product-image {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  object-position: center center;
  display: block;
  margin: 0 auto;
}
/* Product card thumbnail images - properly centered */
.ps-product-image-link img,
.ps-product-card .attachment-woocommerce_thumbnail,
.ps-product-card img.wp-post-image {
  max-width: 100%;
  max-height: 200px;
  width: auto;
  height: auto;
  object-fit: contain;
  object-position: center center;
  transition: transform 0.3s ease;
}
.ps-product-image-link:hover img,
.ps-product-card:hover .attachment-woocommerce_thumbnail,
.ps-product-card:hover img.wp-post-image {
  transform: scale(1.05);
}
/* Full Product Title - Fixed height for 2 rows */
.ps-product-full-title {
  padding: 0.75rem 1rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--c-text);
  border-top: none;
  border-bottom: none;
  background: var(--c-bg);
  line-height: 1.3;
  height: 60px;
  min-height: 60px;
  max-height: 60px;
  display: flex;
  align-items: center;
  word-wrap: break-word;
  overflow-wrap: break-word;
  hyphens: auto;
  text-align: center;
  justify-content: center;
  overflow: hidden;
}
.ps-product-full-title a {
  color: var(--c-text);
  text-decoration: none;
  transition: color 0.2s;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ps-product-full-title a:hover {
  color: var(--c-primary-strong);
  text-decoration: underline;
}
/* Product Actions */
.ps-product-actions {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: var(--sp-4);
  background: var(--c-bg);
}
.ps-product-learn-more {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 0.75rem 1rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--c-primary-strong);
  background: transparent;
  border: 2px solid var(--c-primary-strong);
  border-radius: 0.375rem;
  text-decoration: none;
  transition: all 0.2s ease;
  min-height: 2.75rem;
  box-sizing: border-box;
}
.ps-product-learn-more:hover {
  background: var(--c-primary-strong);
  color: var(--c-bg);
}
.ps-product-add-to-cart {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 0.75rem 1rem;
  font-size: 0.9rem;
  font-weight: 600;
  background: var(--c-primary-strong);
  color: var(--c-bg);
  border: 2px solid var(--c-primary-strong);
  border-radius: 0.375rem;
  text-decoration: none;
  transition: all 0.2s ease;
  min-height: 2.75rem;
  box-sizing: border-box;
}
.ps-product-add-to-cart:hover {
  background: var(--c-primary-strong);
  border-color: var(--c-primary-strong);
  color: var(--c-bg);
}
.ps-product-soldout {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 0.75rem 1rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--c-muted);
  background: var(--c-bg-neutral);
  border: 2px solid var(--c-border);
  border-radius: 0.375rem;
  min-height: 2.75rem;
  box-sizing: border-box;
}
/* About / Quality Section */
.ps-about-quality {
  padding: 4rem 0;
  background: var(--c-bg);
}
.ps-about-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: center;
  margin-bottom: 3rem;
}
.ps-about-content h2 {
  margin-bottom: var(--sp-6);
}
.ps-about-text {
  margin-bottom: var(--sp-6);
}
.ps-about-text p {
  margin-bottom: var(--sp-4);
  color: var(--c-gray);
  line-height: 1.7;
}
.ps-about-image img {
  width: 100%;
  height: auto;
  border-radius: 0.75rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}
.ps-about-placeholder {
  width: 100%;
  min-height: 300px;
  background: var(--c-bg-neutral);
  border: 2px dashed #d1d5db;
  border-radius: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c-muted);
  text-align: center;
  padding: 2rem;
}
.ps-about-subsections {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}
.ps-about-subsection {
  padding: 1.5rem;
  background: var(--c-surface);
  border-radius: 0.75rem;
  border: 1px solid var(--c-border);
}
.ps-subsection-title {
  font-size: 1.1rem;
  font-weight: 700;
  margin: 0 0 0.75rem;
  color: var(--c-text);
}
.ps-about-subsection p {
  margin: 0;
  color: var(--c-gray);
  line-height: 1.7;
  font-size: 0.95rem;
}
/* Benefits Section */
.ps-benefits-section {
  padding: 4rem 0;
  background: var(--c-surface);
}
.ps-benefits-section .ps-section-title {
  text-align: center;
  margin-bottom: 2.5rem;
}
.ps-benefits-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 2rem;
  max-width: 1600px;
  margin: 0 auto;
  width: 100%;
  padding: 0 2rem;
}
.ps-benefit-card {
  background: var(--c-bg);
  padding: 2rem;
  border-radius: 0.75rem;
  border: 1px solid var(--c-border);
  text-align: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  transition: all 0.3s ease;
}
.ps-benefit-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(59, 130, 246, 0.15);
}
.ps-benefit-icon {
  font-size: 2.5rem;
  color: var(--c-primary);
  margin-bottom: var(--sp-4);
}
.ps-benefit-title {
  font-size: 1.1rem;
  font-weight: 700;
  margin: 0 0 0.75rem;
  color: var(--c-text);
}
.ps-benefit-desc {
  margin: 0;
  color: var(--c-gray);
  line-height: 1.6;
  font-size: 0.95rem;
}
/* Resources Section */
.ps-resources-section {
  padding: 3rem 0;
  background: var(--c-bg);
  border-top: 1px solid var(--c-border);
  border-bottom: 1px solid var(--c-border);
}
.ps-resources-content {
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
}
.ps-resources-links {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 1.5rem;
}
/* Newsletter Section */
.ps-newsletter-section {
  padding: 3rem 0;
  background: var(--c-surface);
  border-top: 1px solid var(--c-border);
}
.ps-newsletter-content {
  text-align: center;
  max-width: 600px;
  margin: 0 auto;
}
.ps-newsletter-title {
  font-size: 1.8rem;
  font-weight: 700;
  margin: 0 0 0.75rem;
  color: var(--c-text);
}
.ps-newsletter-desc {
  font-size: 0.95rem;
  color: var(--c-muted);
  margin: 0 0 var(--sp-6);
  line-height: 1.6;
}
.ps-newsletter-form {
  display: flex;
  gap: 0.75rem;
  max-width: 500px;
  margin: 0 auto;
}
.ps-newsletter-input {
  flex: 1;
  padding: 0.75rem 1rem;
  border: 1px solid #d1d5db;
  border-radius: 999px;
  font-size: 0.95rem;
}
.ps-newsletter-submit {
  padding: 0.75rem 1.5rem;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .ps-about-grid {
    grid-template-columns: 1fr;
  }
  .ps-about-subsections {
    grid-template-columns: 1fr;
  }
  .ps-newsletter-form {
    flex-direction: column;
  }
  .ps-newsletter-input,
.ps-newsletter-submit {
    width: 100%;
  }
}
/**
 * 20.0 - Elementor Full-Width Shop Page Support
 */
/* Elementor full-width layout for shop page */
.elementor-shop-page {
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin: 0;
}
/* Ensure Elementor content is full-width */
.elementor-shop-page .elementor {
  max-width: 100% !important;
  width: 100% !important;
}
/* Remove any theme constraints for Elementor shop page */
body.elementor-page .elementor-shop-page,
body.elementor-page.woocommerce-shop .elementor-shop-page {
  padding: 0 !important;
  margin: 0 !important;
}

/* ================================================================
   WOOCOMMERCE: ARCHIVE (SHOP/CATS)
   ================================================================ */

/* Ensure WooCommerce products display correctly in Elementor */
.elementor-shop-page .woocommerce ul.products {
  margin: 0;
  padding: 0;
  width: 100%;
}
.elementor-shop-page .woocommerce ul.products li.product,
.elementor-shop-page ul.products li.product {
  display: block;
  visibility: visible !important;
  opacity: 1;
  width: auto;
}
.elementor-shop-page .woocommerce ul.products li.product .ps-product-card,
.elementor-shop-page ul.products li.product .ps-product-card {
  display: flex;
  visibility: visible !important;
  opacity: 1;
  width: 100%;
}
/**
 * 21.0 - WooCommerce Shop Pages
 */
/* Shop page now uses standard page structure - matches Our Company page - Scoped to front-end only */
/* Force white background on all shop/category pages */
body.woocommerce,
body.woocommerce-page,
body.archive.tax-product_cat,
body.post-type-archive-product {
  background: #ffffff !important;
}
body:not(.wp-admin) .section-page-default {
  padding: 2.5rem 1rem 3rem;
  background: #ffffff !important;
}
body:not(.wp-admin) .section-page-default .site-main-inner {
  background: #ffffff !important;
}
/* Ensure consistent width across all pages - override any WooCommerce-specific styles - Scoped to front-end only */
body:not(.wp-admin) .section-page-default .site-main-inner,
body:not(.wp-admin) .woocommerce-page .section-page-default .site-main-inner,
body:not(.wp-admin).woocommerce .section-page-default .site-main-inner {
  max-width: 1600px !important;
  margin: 0 auto !important;
  padding: 0 2rem !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
body:not(.wp-admin) .section-page-default .page-header {
  margin-bottom: var(--sp-6);
}
.section-page-default .page-title {
  font-size: 1.6rem;
  font-weight: 600;
  margin: 0 0 0.5rem;
  color: var(--c-gray-darker);
}
/* Product grid wrapper - matches page content area styling */
.section-page-default .ps-products-grid-wrapper {
  width: 100%;
  display: block;
  overflow: visible;
  margin-top: 2rem;
  margin-bottom: 2rem;
  background: #ffffff !important;
}
.ps-products-grid-wrapper,
.woocommerce ul.products,
.ps-shop-grid,
.ps-products-grid {
  background: #ffffff !important;
}
.ps-shop-grid {
  list-style: none !important;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 2rem;
  width: 100%;
  align-items: start;
}
/* ============================================================
   RESPONSIVE DESIGN - Mobile, Tablet, Laptop
   ============================================================ */
/* Product card styling (5-column grid) - Override defaults for ps-product-card */
.woocommerce ul.products li.product {
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  transition: none !important;
  display: block;
  flex-direction: unset !important;
  gap: 0;
}
/* Use ps-product-card for styling instead */
.woocommerce ul.products li.product .ps-product-card {
  background: var(--c-bg);
  border: 1px solid var(--c-bg);
  border-radius: 0.5rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
  align-self: start;
}
.woocommerce ul.products li.product .ps-product-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  border-color: var(--c-bg);
}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
  display: none;
}
.woocommerce ul.products li.product img {
  max-height: 200px;
  width: auto;
  object-fit: contain;
  object-position: center center;
  margin: 0 auto;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  display: none;
  font-weight: 700;
  color: var(--c-text);
  margin: 0;
  line-height: 1.3;
  min-height: 2.6rem;
}
.woocommerce ul.products li.product .price {
  color: var(--c-primary-strong);
  font-weight: 700;
  margin: 0.25rem 0 0.5rem;
}
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
  width: 100%;
  text-align: center;
  background: var(--c-primary-strong);
  color: var(--c-bg);
  border: 1px solid var(--c-primary-strong);
  border-radius: 0.5rem;
  padding: 0.65rem 1rem;
  font-weight: 600;
  transition: all 0.2s ease;
  box-shadow: 0 2px 6px rgba(37, 99, 235, 0.25);
}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .added_to_cart:hover {
  background: var(--c-primary-hover);
  border-color: var(--c-primary-hover);
  color: var(--c-bg);
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.3);
}
.woocommerce ul.products li.product .add_to_cart_button {
  order: 3;
}
.woocommerce ul.products li.product .star-rating,
.woocommerce ul.products li.product .woocommerce-product-details__short-description {
  display: none;
}
.woocommerce ul.products li.product,
.ps-products-grid li.product,
.ps-shop-grid li.product,
ul.products li.product,
.ps-shop-page ul.products li.product {
  margin: 0;
  padding: 0;
  float: none;
  display: block;
  list-style: none !important;
  position: relative !important;
  box-sizing: border-box !important;
  width: auto;
  max-width: none;
  min-width: 0;
}

/* ================================================================
   WOOCOMMERCE: SINGLE PRODUCT
   ================================================================ */

/* Single Product Page - Custom Layout */
.ps-single-product-page {
  padding: 2rem 0 3rem;
}
.ps-single-product-page .site-main-inner {
  max-width: 1400px;
}
/* Ensure 3-column layout is not overridden */
.ps-single-product-page .site-main-inner > div[style*="grid-template-columns"] {
  display: grid;
}
.ps-single-product-page .woocommerce div.product {
  display: block;
}
/* Single product layout grid */
.ps-single-product-layout {
  display: grid;
  grid-template-columns: 400px 1fr;
  gap: 2rem;
  margin-bottom: 3rem;
}
/* Single product image styling */
.ps-single-product-image {
  max-width: 100%;
  height: auto;
  max-height: 300px;
  object-fit: contain;
}
/* Variation Button Styles */
.ps-variation-btn {
  padding: 0.75rem 1.5rem;
  border: 1px solid #d1d5db;
  border-radius: 0.375rem;
  background: var(--c-bg);
  color: var(--c-gray-dark);
  font-size: 0.95rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s ease;
  min-width: 70px;
  text-align: center;
}
.ps-variation-btn:hover {
  border-color: var(--c-primary-strong);
  background: #eff6ff;
}
.ps-variation-btn.active {
  background: var(--c-primary-strong) !important;
  color: var(--c-bg) !important;
  border-color: var(--c-primary-strong) !important;
}
/* Hide default WooCommerce variation elements when using custom buttons */
.ps-single-product-page .variations_form .variations {
  display: none;
}
.ps-single-product-page .variations_form .single_variation_wrap .woocommerce-variation {
  display: none;
}
/* Quantity input styling for single product */
.ps-single-product-page .ps-quantity-wrapper .quantity {
  display: inline-flex;
  align-items: center;
  border: none;
  margin: 0;
  flex: 1;
}
.ps-single-product-page .ps-quantity-wrapper .quantity input[type="number"]::-webkit-outer-spin-button,
.ps-single-product-page .ps-quantity-wrapper .quantity input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
/* Add to Cart button hover */
.ps-single-product-page .single_add_to_cart_button:hover {
  background: var(--c-primary-hover);
  background: var(--c-primary-hover);
}
.ps-single-product-page .single_add_to_cart_button.wc-variation-selection-needed {
  opacity: 0.7;
  cursor: not-allowed;
}
/* Price styling in single product */
.ps-single-product-page .ps-product-price .woocommerce-Price-amount {
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
}
.ps-single-product-page .ps-product-price del {
  opacity: 0.5;
  font-size: 0.75em;
}
.ps-single-product-page .ps-product-price ins {
  text-decoration: none;
}
/* Single product form styling */
.ps-single-product-page .cart {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}
.ps-single-product-page .ps-quantity-wrapper {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 0;
  border: 1px solid #d1d5db;
  border-radius: 0.375rem;
  overflow: hidden;
  background: var(--c-bg);
  width: auto;
  min-width: 150px;
  margin-bottom: 0;
}
.ps-single-product-page .ps-quantity-wrapper .quantity input[type="number"] {
  flex: 1;
  width: auto;
  min-width: 60px;
  padding: 0.75rem;
  border: none;
  border-left: 1px solid #d1d5db;
  border-right: 1px solid #d1d5db;
  border-radius: 0;
  text-align: center;
  font-size: 1rem;
  font-weight: 600;
  color: var(--c-text);
  background: var(--c-bg);
  -moz-appearance: textfield;
  appearance: textfield;
  margin: 0;
}
.ps-single-product-page .ps-qty-minus,
.ps-single-product-page .ps-qty-plus {
  width: 40px;
  height: 40px;
  padding: 0;
  border: none;
  background: var(--c-bg);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  color: var(--c-gray-dark);
  transition: all 0.2s;
  line-height: 1;
  user-select: none;
}
.ps-single-product-page .ps-qty-minus {
  border-right: 1px solid #d1d5db;
}
.ps-single-product-page .ps-qty-plus {
  border-left: 1px solid #d1d5db;
}
.ps-single-product-page .ps-qty-minus:hover,
.ps-single-product-page .ps-qty-plus:hover {
  background: var(--c-bg-neutral);
  color: var(--c-text);
}
.ps-single-product-page .quantity .qty-button {
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid #d1d5db;
  background: var(--c-bg);
  border-radius: 0.375rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  color: var(--c-gray-dark);
  transition: all 0.2s;
}
.ps-single-product-page .quantity .qty-button:hover {
  background: var(--c-bg-neutral);
  border-color: var(--c-primary-strong);
  color: var(--c-primary-strong);
}
/* Simple product add to cart button - match quantity width */
.ps-single-product-page .single_add_to_cart_button {
  display: block;
  width: 180px;
  padding: 1rem 1.5rem;
  background: var(--c-primary-strong);
  color: var(--c-bg);
  border: none;
  border-radius: 0.375rem;
  font-size: 1rem;
  font-weight: 700;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  transition: background-color 0.15s ease;
  margin-top: 0;
  text-align: center;
}
/* WooCommerce variation buttons - healthcare blue */
.ps-single-product-page .variations .reset_variations {
  color: var(--c-primary-strong);
}
.ps-single-product-page .variations_button {
  background: var(--c-primary-strong);
  border-color: var(--c-primary-strong);
  color: var(--c-bg);
}
.ps-single-product-page .variations_button:hover {
  background: var(--c-primary-hover);
  border-color: var(--c-primary-hover);
}
/* WooCommerce Variation Selector Styling */
.ps-single-product-page .variations {
  margin-bottom: var(--sp-6);
}
/* Variation selector wrapper - consistent spacing */
.ps-single-product-page .ps-variation-selector {
  margin-bottom: var(--sp-6);
}
/* Hide "Form" attribute from variation dropdowns */
.ps-single-product-page .variations .variations tr[data-attribute_name*="form"],
.ps-single-product-page .variations .variations tr[data-attribute_name*="pa_form"],
.ps-single-product-page .variations label:has(+ select[name*="form"]),
.ps-single-product-page .variations .variations tr:has(select[name*="form"]) {
  display: none;
}
.ps-single-product-page .variations label {
  display: block;
  font-weight: 700;
  color: var(--c-text);
  margin-bottom: var(--sp-3);
  font-size: 0.95rem;
}
.ps-single-product-page .variations select {
  padding: 0.625rem 1.25rem;
  border: 2px solid #d1d5db;
  border-radius: 0.375rem;
  background: var(--c-bg);
  color: var(--c-gray-dark);
  font-weight: 600;
  font-size: 0.9rem;
  min-width: 150px;
}
.ps-single-product-page .variations select:focus {
  outline: none;
  border-color: var(--c-primary-strong);
}
/* Variation price display - hide it since we show price at top */
.ps-single-product-page .woocommerce-variation-price {
  display: none;
}
.ps-single-product-page .woocommerce-variation-price .price {
  display: none;
}
.ps-single-product-page .woocommerce-variation-description {
  margin-bottom: var(--sp-6);
}
.ps-single-product-page .woocommerce-variation-availability {
  margin-bottom: var(--sp-6);
}
/* Variable products - ensure variation add to cart form is visible when variation is selected */
.ps-single-product-page .woocommerce-variation-add-to-cart,
.woocommerce-variation-add-to-cart {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  max-width: 400px;
  margin-top: 0;
  margin-bottom: 0;
  align-items: flex-start;
  width: 100%;
  visibility: visible !important;
  opacity: 1;
}
.ps-single-product-page .woocommerce-variation-add-to-cart .quantity {
  margin-bottom: 0;
}
.ps-single-product-page .woocommerce-variation-add-to-cart .single_add_to_cart_button {
  display: block;
  width: 100%;
  max-width: 400px;
  padding: 1rem 1.5rem;
  background: var(--c-primary-strong);
  color: var(--c-bg);
  border: none;
  border-radius: 0.375rem;
  font-size: 1rem;
  font-weight: 700;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  transition: background-color 0.15s ease;
  margin-top: 0;
  text-align: center;
  box-sizing: border-box;
  visibility: visible !important;
  opacity: 1;
}
.ps-single-product-page .woocommerce-variation-add-to-cart .single_add_to_cart_button:hover:not(:disabled) {
  background: var(--c-primary-hover);
}
.ps-single-product-page .woocommerce-variation-add-to-cart .single_add_to_cart_button:disabled,
.ps-single-product-page .woocommerce-variation-add-to-cart .single_add_to_cart_button.disabled {
  background: var(--c-gray-light);
  color: var(--c-bg);
  cursor: not-allowed !important;
  opacity: 0.6;
}
.ps-single-product-page .woocommerce-variation-add-to-cart .single_add_to_cart_button:disabled:hover,
.ps-single-product-page .woocommerce-variation-add-to-cart .single_add_to_cart_button.disabled:hover {
  background: var(--c-gray-light);
}
/* Override WooCommerce's inline display:none styles */
.ps-single-product-page .woocommerce-variation-add-to-cart[style*="display: none"],
.woocommerce-variation-add-to-cart[style*="display: none"] {
  display: flex;
}
/* Ensure single_variation_wrap is visible */
.ps-single-product-page .single_variation_wrap {
  display: block;
  visibility: visible !important;
}
.section-page-default .woocommerce div.product .woocommerce-product-gallery {
  margin-bottom: 0;
}
.section-page-default .woocommerce div.product .summary {
  padding-left: 0;
}
.section-page-default .woocommerce div.product .product_title {
  font-size: 2rem;
  font-weight: 700;
  margin: 0 0 1rem;
  color: var(--c-text);
}
.section-page-default .woocommerce div.product .price {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--c-primary);
  margin-bottom: var(--sp-6);
}
.section-page-default .woocommerce div.product .stock {
  margin-bottom: var(--sp-4);
  font-weight: 600;
}
.section-page-default .woocommerce div.product .stock.in-stock {
  color: var(--c-success);
}
.section-page-default .woocommerce div.product .stock.out-of-stock {
  color: var(--c-error);
}
.section-page-default .woocommerce div.product form.cart {
  margin-bottom: 2rem;
}
.section-page-default .woocommerce div.product .quantity {
  margin-right: 1rem;
}
.section-page-default .woocommerce div.product .quantity input {
  width: 80px;
  padding: 0.5rem;
  text-align: center;
}
.section-page-default .woocommerce div.product .single_add_to_cart_button {
  padding: 0.75rem 2rem;
  font-size: 1rem;
  font-weight: 600;
  background: var(--c-primary);
  color: var(--c-bg);
  border: 2px solid var(--c-primary);
  border-radius: 999px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.section-page-default .woocommerce div.product .single_add_to_cart_button:hover {
  background: var(--c-primary-strong);
  border-color: var(--c-primary-strong);
}
/* Product Tabs - Ensure tabs are properly displayed */
.ps-product-tabs-wrapper {
  margin-top: 3rem;
}
.ps-product-tabs-list {
  display: flex;
  list-style: none;
  margin: 0 0 2rem 0;
  padding: 0;
  border-bottom: 2px solid var(--c-border);
  gap: 2rem;
  justify-content: center;
}
.ps-product-tabs-list li {
  margin: 0;
  padding: 0;
}
.ps-product-tabs-list li a {
  display: block;
  padding: 1rem 0;
  color: var(--c-muted);
  text-decoration: none;
  font-weight: 600;
  border-bottom: 3px solid transparent;
  transition: all 0.2s;
  margin-bottom: -3px;
}
.ps-product-tabs-list li.active a,
.ps-product-tabs-list li a:hover {
  color: var(--c-primary-strong);
  border-bottom-color: var(--c-primary-strong);
}
/* Tab panels - hide all by default, show active one via JavaScript */
.ps-product-tabs-panel,
.woocommerce-Tabs-panel,
.wc-tab {
  display: none;
  padding: 2rem 0;
}
.ps-product-tabs-panel:first-of-type,
.woocommerce-Tabs-panel:first-of-type,
.wc-tab:first-of-type {
  display: block;
}
/* Ensure tab panels with inline display:block style are visible */
.ps-product-tabs-panel[style*="display: block"],
.woocommerce-Tabs-panel[style*="display: block"],
.wc-tab[style*="display: block"] {
  display: block !important;
}
/* ============================================
   PRODUCT REVIEWS TAB - CONSOLIDATED RULES
   ============================================ */
/* Hide duplicate "Reviews" heading only */
/* Reviews title - keep visible */
.woocommerce-Reviews-title,
h2.woocommerce-Reviews-title,
#reviews h2.woocommerce-Reviews-title,
.woocommerce-Tabs-panel--reviews h2.woocommerce-Reviews-title,
.ps-product-tabs-panel#tab-reviews h2.woocommerce-Reviews-title {
  display: block !important;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--c-text);
  margin-bottom: var(--sp-6);
}
/* Reviews container base styling */
.woocommerce-Reviews {
  margin-top: 0;
}
/* When reviews tab is active (display: block set by JavaScript), show all content */
.ps-product-tabs-panel#tab-reviews[style*="display: block"],
.woocommerce-Tabs-panel--reviews[style*="display: block"],
#tab-reviews[style*="display: block"],
.ps-product-tabs-panel#tab-reviews.woocommerce-Tabs-panel--reviews[style*="display: block"] {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  padding: 2rem 0 !important;
}
/* Also ensure reviews tab is visible when it has the active class or is shown */
.ps-product-tabs-panel#tab-reviews.active,
.woocommerce-Tabs-panel--reviews.active {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
/* Force all child elements to be visible when reviews tab is active */
.ps-product-tabs-panel#tab-reviews[style*="display: block"] *,
.woocommerce-Tabs-panel--reviews[style*="display: block"] *,
#tab-reviews[style*="display: block"] *,
.ps-product-tabs-panel#tab-reviews.active *,
.woocommerce-Tabs-panel--reviews.active * {
  visibility: visible !important;
}
/* Reviews content containers - visible when tab is active */
.ps-product-tabs-panel#tab-reviews[style*="display: block"] .woocommerce-Reviews,
.ps-product-tabs-panel#tab-reviews[style*="display: block"] #reviews,
.woocommerce-Tabs-panel--reviews[style*="display: block"] .woocommerce-Reviews,
.woocommerce-Tabs-panel--reviews[style*="display: block"] #reviews,
#tab-reviews[style*="display: block"] .woocommerce-Reviews,
#tab-reviews[style*="display: block"] #reviews {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  min-height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  width: 100% !important;
}
/* Reviews content elements - visible when tab is active */
.ps-product-tabs-panel#tab-reviews[style*="display: block"] .woocommerce-Reviews #comments,
.ps-product-tabs-panel#tab-reviews[style*="display: block"] .woocommerce-Reviews #review_form_wrapper,
.ps-product-tabs-panel#tab-reviews[style*="display: block"] .woocommerce-Reviews .commentlist,
.ps-product-tabs-panel#tab-reviews[style*="display: block"] .woocommerce-Reviews .comment-form,
.ps-product-tabs-panel#tab-reviews[style*="display: block"] .woocommerce-Reviews .comment-respond,
.ps-product-tabs-panel#tab-reviews[style*="display: block"] #reviews #comments,
.ps-product-tabs-panel#tab-reviews[style*="display: block"] #reviews #review_form_wrapper,
.ps-product-tabs-panel#tab-reviews[style*="display: block"] #reviews .commentlist,
.ps-product-tabs-panel#tab-reviews[style*="display: block"] #reviews .comment-form,
.ps-product-tabs-panel#tab-reviews[style*="display: block"] #reviews .comment-respond,
.woocommerce-Tabs-panel--reviews[style*="display: block"] .woocommerce-Reviews #comments,
.woocommerce-Tabs-panel--reviews[style*="display: block"] .woocommerce-Reviews #review_form_wrapper,
.woocommerce-Tabs-panel--reviews[style*="display: block"] .woocommerce-Reviews .commentlist,
.woocommerce-Tabs-panel--reviews[style*="display: block"] .woocommerce-Reviews .comment-form,
.woocommerce-Tabs-panel--reviews[style*="display: block"] .woocommerce-Reviews .comment-respond,
.woocommerce-Tabs-panel--reviews[style*="display: block"] #reviews #comments,
.woocommerce-Tabs-panel--reviews[style*="display: block"] #reviews #review_form_wrapper,
.woocommerce-Tabs-panel--reviews[style*="display: block"] #reviews .commentlist,
.woocommerce-Tabs-panel--reviews[style*="display: block"] #reviews .comment-form,
.woocommerce-Tabs-panel--reviews[style*="display: block"] #reviews .comment-respond {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
/* Reviews form elements - visible when tab is active */
.ps-product-tabs-panel#tab-reviews[style*="display: block"] form,
.ps-product-tabs-panel#tab-reviews[style*="display: block"] .comment-form,
.ps-product-tabs-panel#tab-reviews[style*="display: block"] #commentform,
.ps-product-tabs-panel#tab-reviews[style*="display: block"] #respond,
.woocommerce-Tabs-panel--reviews[style*="display: block"] form,
.woocommerce-Tabs-panel--reviews[style*="display: block"] .comment-form,
.woocommerce-Tabs-panel--reviews[style*="display: block"] #commentform,
.woocommerce-Tabs-panel--reviews[style*="display: block"] #respond,
#tab-reviews[style*="display: block"] form,
#tab-reviews[style*="display: block"] .comment-form,
#tab-reviews[style*="display: block"] #commentform,
#tab-reviews[style*="display: block"] #respond,
.ps-product-tabs-panel#tab-reviews.active form,
.ps-product-tabs-panel#tab-reviews.active .comment-form,
.woocommerce-Tabs-panel--reviews.active form,
.woocommerce-Tabs-panel--reviews.active .comment-form {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
#reviews #comments {
  margin-bottom: 2rem;
}
#reviews .commentlist {
  list-style: none;
  margin: 0;
  padding: 0;
}
#reviews .comment {
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid var(--c-border);
}
#reviews .comment:last-child {
  border-bottom: none;
}
#reviews .comment-form {
  margin-top: 2rem;
}
#reviews .comment-form-rating {
  margin-bottom: var(--sp-4);
}
#reviews .comment-form-comment {
  margin-bottom: var(--sp-4);
}
#reviews .comment-form-comment textarea {
  width: 100%;
  min-height: 120px;
  padding: 0.75rem;
  border: 1px solid #d1d5db;
  border-radius: 0.375rem;
}
#reviews .form-submit input[type="submit"] {
  background: var(--c-primary-strong);
  color: var(--c-bg);
  padding: 0.75rem 1.5rem;
  border: none;
  border-radius: 0.375rem;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.2s;
}
#reviews .form-submit input[type="submit"]:hover {
  background: var(--c-primary-hover);
}
/* Product Tabs */
.section-page-default .woocommerce div.product .woocommerce-tabs {
  margin-top: 3rem;
  border-top: 1px solid var(--c-border);
  padding-top: 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.section-page-default .woocommerce div.product .woocommerce-tabs > * {
  width: 100%;
  max-width: 1200px;
}
.section-page-default .woocommerce div.product .woocommerce-tabs ul.tabs {
  list-style: none;
  margin: 0 0 2rem;
  padding: 0;
  display: flex;
  gap: 1rem;
  border-bottom: 2px solid var(--c-border);
}
.section-page-default .woocommerce div.product .woocommerce-tabs ul.tabs li {
  margin: 0;
  padding: 0;
}
.section-page-default .woocommerce div.product .woocommerce-tabs ul.tabs li a {
  display: block;
  padding: 0.75rem 1.5rem;
  text-decoration: none;
  color: var(--c-muted);
  font-weight: 600;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  transition: all 0.2s ease;
}
.section-page-default .woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.section-page-default .woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  color: var(--c-error);
  border-bottom-color: var(--c-error);
}
.section-page-default .woocommerce div.product .woocommerce-tabs .panel {
  padding: 1.5rem 0;
}
.section-page-default .woocommerce div.product .woocommerce-tabs .panel h2 {
  font-size: 1.3rem;
  margin-bottom: var(--sp-4);
}
/* Related Products */
.section-page-default .woocommerce .related.products {
  margin-top: 4rem;
  padding-top: 3rem;
  border-top: 1px solid var(--c-border);
}
.section-page-default .woocommerce .related.products h2 {
  font-size: 1.8rem;
  margin-bottom: 2rem;
  text-align: center;
}

/* ================================================================
   WOOCOMMERCE: CART/CHECKOUT/ACCOUNT
   ================================================================ */

/* Cart Page - Consistent with other pages */
.section-page-default .woocommerce-cart .cart-collaterals {
  margin-top: 3rem;
}
.section-page-default .woocommerce-cart table.cart {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 2rem;
}
.section-page-default .woocommerce-cart table.cart th,
.section-page-default .woocommerce-cart table.cart td {
  padding: var(--sp-4);
  border-bottom: 1px solid var(--c-border);
  text-align: left;
}
.section-page-default .woocommerce-cart table.cart th {
  background: var(--c-surface);
  font-weight: 600;
  color: var(--c-text);
}
.section-page-default .woocommerce-cart .cart_totals {
  background: var(--c-surface);
  padding: 1.5rem;
  border-radius: 0.75rem;
  border: 1px solid var(--c-border);
}
.section-page-default .woocommerce-cart .cart_totals h2 {
  font-size: 1.3rem;
  margin-bottom: var(--sp-4);
}
.section-page-default .woocommerce-cart .wc-proceed-to-checkout {
  margin-top: 1.5rem;
}
.section-page-default .woocommerce-cart .checkout-button {
  width: 100%;
  padding: var(--sp-4);
  font-size: 1rem;
  font-weight: 600;
  background: var(--c-primary);
  color: var(--c-bg);
  border: none;
  border-radius: 0.5rem;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.section-page-default .woocommerce-cart .checkout-button:hover {
  background: var(--c-primary-strong);
}
/* Checkout Page - Consistent with other pages */
.section-page-default .woocommerce-checkout .col2-set {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
}
.section-page-default .woocommerce-checkout #order_review {
  background: var(--c-surface);
  padding: 1.5rem;
  border-radius: 0.75rem;
  border: 1px solid var(--c-border);
}
.section-page-default .woocommerce-checkout #order_review_heading {
  font-size: 1.3rem;
  margin-bottom: var(--sp-4);
}
.section-page-default .woocommerce-checkout .place-order {
  margin-top: 1.5rem;
}
.section-page-default .woocommerce-checkout #place_order {
  width: 100%;
  padding: 1rem;
  font-size: 1rem;
  font-weight: 600;
  background: var(--c-primary);
  color: var(--c-bg);
  border: none;
  border-radius: 0.5rem;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.section-page-default .woocommerce-checkout #place_order:hover {
  background: var(--c-primary-strong);
}
/* My Account Page - Consistent with other pages */
.section-page-default .woocommerce-account .woocommerce {
  max-width: 100%;
}
.section-page-default .woocommerce-account .woocommerce-MyAccount-navigation {
  margin-bottom: 2rem;
}
.section-page-default .woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  border-bottom: 2px solid var(--c-border);
}
.section-page-default .woocommerce-account .woocommerce-MyAccount-navigation ul li {
  margin: 0;
}
.section-page-default .woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 0.75rem 1.5rem;
  text-decoration: none;
  color: var(--c-muted);
  font-weight: 600;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  transition: all 0.2s ease;
}
.section-page-default .woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.section-page-default .woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
  color: var(--c-primary);
  border-bottom-color: var(--c-primary);
}
/* Responsive WooCommerce */
@media (max-width: 1024px) {
  .section-page-default .woocommerce div.product {
    grid-template-columns: 1fr;
  }
  .section-page-default .woocommerce-checkout .col2-set {
    grid-template-columns: 1fr;
  }
}
/* Additional WooCommerce Utilities */
.woocommerce .woocommerce-breadcrumb {
  margin-bottom: var(--sp-6);
  font-size: 0.9rem;
  color: var(--c-muted);
}
.woocommerce .woocommerce-breadcrumb a {
  color: var(--c-primary);
  text-decoration: none;
}
.woocommerce .woocommerce-breadcrumb a:hover {
  text-decoration: underline;
}
/* Ensure WooCommerce pages use consistent styling */
.section-page-default .woocommerce {
  max-width: 100%;
}
/* WooCommerce Buttons - Match theme buttons */
.section-page-default .woocommerce a.button,
.section-page-default .woocommerce button.button,
.section-page-default .woocommerce input.button,
.section-page-default .woocommerce #respond input#submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1.6rem;
  border-radius: 999px;
  font-weight: 600;
  font-size: 0.95rem;
  border: 2px solid var(--c-primary);
  background: var(--c-primary);
  color: var(--c-bg);
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s ease;
}
.section-page-default .woocommerce a.button:hover,
.section-page-default .woocommerce button.button:hover,
.section-page-default .woocommerce input.button:hover,
.section-page-default .woocommerce #respond input#submit:hover {
  background: var(--c-primary-strong);
  border-color: var(--c-primary-strong);
  color: var(--c-bg);
}
.section-page-default .woocommerce a.button.alt,
.section-page-default .woocommerce button.button.alt,
.section-page-default .woocommerce input.button.alt {
  background: transparent;
  color: var(--c-primary);
  border-color: var(--c-primary);
}
.section-page-default .woocommerce a.button.alt:hover,
.section-page-default .woocommerce button.button.alt:hover,
.section-page-default .woocommerce input.button.alt:hover {
  background: var(--c-primary);
  color: var(--c-bg);
}
/* WooCommerce Forms - Match theme inputs */
.section-page-default .woocommerce input[type="text"],
.section-page-default .woocommerce input[type="email"],
.section-page-default .woocommerce input[type="tel"],
.section-page-default .woocommerce input[type="number"],
.section-page-default .woocommerce select,
.section-page-default .woocommerce textarea {
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.5;
  background-color: var(--c-surface);
  border-radius: 0.5rem;
  border: 1px solid var(--c-border);
  padding: 0.6rem 0.75rem;
  color: var(--c-text);
  max-width: 100%;
}
.section-page-default .woocommerce input:focus,
.section-page-default .woocommerce select:focus,
.section-page-default .woocommerce textarea:focus {
  outline: 2px solid var(--c-primary);
  outline-offset: 2px;
  border-color: var(--c-primary);
  background-color: var(--c-bg);
}
/* WooCommerce Messages - Match theme colors */
.section-page-default .woocommerce .woocommerce-message,
.section-page-default .woocommerce .woocommerce-info,
.section-page-default .woocommerce .woocommerce-error {
  padding: 1rem 1.25rem;
  margin-bottom: var(--sp-6);
  border-radius: 0.5rem;
  border-left: 4px solid;
}
.section-page-default .woocommerce .woocommerce-message {
  background: var(--c-success-bg);
  border-color: var(--c-success);
  color: var(--c-success-strong);
}
.section-page-default .woocommerce .woocommerce-info {
  background: #dbeafe;
  border-color: var(--c-primary);
  color: var(--c-primary);
}
.section-page-default .woocommerce .woocommerce-error {
  background: var(--c-error-bg);
  border-color: var(--c-error);
  color: #991b1b;
}
.section-page-default .woocommerce .woocommerce-error li {
  list-style: none;
  margin: 0;
}
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error {
  padding: 1rem 1.25rem;
  margin-bottom: var(--sp-6);
  border-radius: 0.5rem;
  border-left: 4px solid;
}
.woocommerce .woocommerce-message {
  background: var(--c-success-bg);
  border-color: var(--c-success);
  color: var(--c-success-strong);
}
.woocommerce .woocommerce-info {
  background: #dbeafe;
  border-color: var(--c-primary);
  color: var(--c-primary);
}
.woocommerce .woocommerce-error {
  background: var(--c-error-bg);
  border-color: var(--c-error);
  color: #991b1b;
}
.woocommerce .woocommerce-error li {
  list-style: none;
  margin: 0;
}
/* WooCommerce message links - Healthcare Blue */
.woocommerce .woocommerce-message a,
.woocommerce .woocommerce-info a,
.woocommerce .woocommerce-error a,
.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a {
  color: #0066CC !important;
  text-decoration: underline;
  font-weight: 500;
}
.woocommerce .woocommerce-message a:hover,
.woocommerce .woocommerce-info a:hover,
.woocommerce .woocommerce-error a:hover,
.woocommerce-message a:hover,
.woocommerce-info a:hover,
.woocommerce-error a:hover {
  color: #0052a3 !important;
  text-decoration: underline;
}
/* Remove default WooCommerce styling overrides */
.woocommerce ul.products::before,
.woocommerce ul.products::after {
  display: none;
  content: none !important;
}
.woocommerce ul.products li.product::before,
.woocommerce ul.products li.product::after {
  display: none;
  content: none !important;
}
/* Ensure product cards work in grid */
/* CRITICAL: Grid items - NO width constraints - MUST override everything - HIGHEST SPECIFICITY */
.ps-shop-page ul.ps-products-grid.products.woocommerce-loop-product__wrapper > li,
.ps-shop-page ul.ps-shop-grid.products.woocommerce-loop-product__wrapper > li,
.ps-shop-page ul.products.woocommerce-loop-product__wrapper > li,
.ps-shop-page .ps-products-grid > li,
.ps-shop-page .ps-shop-grid > li,
.ps-shop-page ul.products > li,
.ps-shop-page ul.products li.product,
.ps-products-grid > li,
.ps-shop-grid > li,
.woocommerce ul.products > li,
.woocommerce ul.products li.product,
ul.products > li,
ul.products li.product,
.woocommerce-page ul.products > li,
.woocommerce-page ul.products li.product,
.ps-products-grid li.product,
.ps-shop-grid li.product,
li.product {
  display: block;
  float: none;
  clear: none;
  box-sizing: border-box !important;
  margin: 0;
  padding: 0;
  list-style: none !important;
  width: auto;
  max-width: none;
  min-width: 0;
  flex-basis: auto !important;
  flex-grow: 0 !important;
  flex-shrink: 1 !important;
}
/* Clear any floats that might interfere */
.ps-products-grid::after,
.ps-shop-grid::after,
.woocommerce ul.products::after,
ul.products::after {
  content: "" !important;
  display: none;
  clear: none;
}
/* CRITICAL: Grid container - apply to ALL possible selectors - MAXIMUM SPECIFICITY */
.ps-shop-page ul.ps-products-grid.products.woocommerce-loop-product__wrapper,
.ps-shop-page ul.ps-shop-grid.products.woocommerce-loop-product__wrapper,
.ps-shop-page ul.products.woocommerce-loop-product__wrapper,
ul.woocommerce-loop-product__wrapper.products,
ul.products.woocommerce-loop-product__wrapper,
.ps-shop-page ul.products,
.ps-shop-page .ps-products-grid,
.ps-shop-page .ps-shop-grid,
.woocommerce-page ul.products,
.woocommerce ul.products.ps-products-grid,
.woocommerce ul.products,
ul.products.ps-products-grid,
ul.products.ps-shop-grid,
.ps-products-grid.products,
.ps-shop-grid.products,
.woocommerce .ps-shop-page ul.products,
.woocommerce-page .ps-shop-page ul.products {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.5rem;
  list-style: none !important;
  margin: 0;
  padding: 0;
  width: 100%;
  align-items: start;
}
/* Ensure header layout is consistent on WooCommerce pages */
.woocommerce-page .ps-header-main-inner,
body.woocommerce .ps-header-main-inner,
body.woocommerce-page .ps-header-main-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 2rem;
}
/* Ensure WooCommerce wrapper divs don't interfere */
.woocommerce .ps-shop-page,
.woocommerce-page .ps-shop-page,
.woocommerce .site-wrap,
.woocommerce-page .site-wrap {
  display: block !important;
}
/* CRITICAL: Ensure parent containers don't break grid */
.ps-shop-page .site-wrap,
.ps-shop-page {
  display: block !important;
  width: 100% !important;
}
/* CRITICAL: Force grid on the ul - absolute maximum specificity */
.ps-shop-page .site-wrap ul.ps-products-grid.ps-shop-grid.products.woocommerce-loop-product__wrapper,
.ps-shop-page .site-wrap ul.ps-products-grid.ps-shop-grid.products,
.ps-shop-page .site-wrap #ps-products-list,
.ps-products-grid-wrapper ul.ps-products-grid,
.ps-products-grid-wrapper #ps-products-list,
#ps-products-list,
ul.ps-products-grid.ps-shop-grid.products#ps-products-list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.5rem;
  list-style: none !important;
  margin: 0;
  padding: 0;
  width: 100%;
  box-sizing: border-box !important;
  align-items: start;
}
/* CRITICAL: Force grid items to NOT be full width - absolute maximum specificity */
.ps-shop-page .site-wrap ul.ps-products-grid.ps-shop-grid.products.woocommerce-loop-product__wrapper > li,
.ps-shop-page .site-wrap ul.ps-products-grid.ps-shop-grid.products.woocommerce-loop-product__wrapper > li.product,
.ps-shop-page .site-wrap ul.ps-products-grid.ps-shop-grid.products > li,
.ps-shop-page .site-wrap #ps-products-list > li,
.ps-products-grid-wrapper ul.ps-products-grid > li,
.ps-products-grid-wrapper #ps-products-list > li,
#ps-products-list > li,
#ps-products-list > li.product,
ul.ps-products-grid.ps-shop-grid.products#ps-products-list > li {
  width: auto;
  max-width: none;
  min-width: 0;
  display: block;
  float: none;
  flex-basis: auto !important;
  flex-grow: 0 !important;
  flex-shrink: 1 !important;
}
/* Ensure wrapper doesn't interfere */
.ps-products-grid-wrapper {
  width: 100%;
  display: block;
  box-sizing: border-box !important;
}
/* CRITICAL: Override any WooCommerce default product list styling that forces width */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  width: auto;
  max-width: none;
  min-width: 0;
  float: none;
  clear: none;
}
/* Ensure product card fills its grid cell but doesn't force parent width */
.woocommerce .products-wrapper,
.woocommerce-page .products-wrapper {
  width: 100% !important;
}
/* If products are wrapped in a div from shortcode, make the ul inside a grid */
.ps-products-grid-wrapper > ul.products,
#ps-products-grid > ul.products,
#ps-products-grid ul.products,
.ps-products-grid-wrapper ul.products,
.ps-featured-products ul.products,
.ps-featured-products .ps-products-grid-wrapper ul.products,
.ps-featured-products #ps-products-grid ul.products {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.5rem;
  list-style: none !important;
  margin: 0;
  padding: 0;
  width: 100%;
  align-items: start;
  clear: both;
}
/* Force grid on any parent containers */
.ps-shop-page .site-wrap,
.woocommerce-shop .site-wrap {
  width: 100% !important;
  max-width: 1800px !important;
}
/* CRITICAL: Hide ALL product descriptions on archive/shop pages - BUT NOT PRODUCT CARDS */
.section-page-default .woocommerce-product-details__short-description,
.section-page-default .product .woocommerce-product-details__short-description,
.section-page-default .product .product-description,
.section-page-default .product .entry-summary,
.section-page-default .product .woocommerce-product-details__description,
.section-page-default .woocommerce-loop-product__description,
.section-page-default .woocommerce-loop-product__excerpt,
.section-page-default .product .product-short-description,
.section-page-default .product .product_excerpt,
.section-page-default .ps-products-grid .product .product-description,
.section-page-default .ps-products-grid .product .product-excerpt,
.section-page-default .ps-products-grid .product .woocommerce-product-details__short-description,
.section-page-default .ps-products-grid .product .woocommerce-product-details__description,
.section-page-default .ps-products-grid .product p:not(.ps-product-full-title),
.section-page-default .ps-products-grid .product .product-short-description,
.section-page-default .woocommerce-loop-product__title + p,
.section-page-default .product .woocommerce-product-details__short-description p,
.section-page-default .product .product_meta,
.section-page-default .product .entry-content p,
.section-page-default .product-summary p,
.section-page-default .product-summary .woocommerce-product-details__short-description,
.section-page-default .page-description,
.woocommerce-shop .page-description,
.woocommerce-page .page-description {
  display: none;
  visibility: hidden !important;
  height: 0;
  overflow: hidden !important;
  margin: 0;
  padding: 0;
  line-height: 0;
  font-size: 0;
}
/* CRITICAL: Ensure product cards are NOT hidden */
.section-page-default .woocommerce ul.products li.product,
.section-page-default .woocommerce-page ul.products li.product,
.section-shop .woocommerce ul.products li.product,
.section-shop .woocommerce-page ul.products li.product,
.section-page-content .woocommerce ul.products li.product,
.section-page-content .woocommerce-page ul.products li.product {
  display: block;
  visibility: visible !important;
  opacity: 1;
}
.section-page-default .woocommerce ul.products li.product .ps-product-card,
.section-page-default .woocommerce-page ul.products li.product .ps-product-card,
.section-shop .woocommerce ul.products li.product .ps-product-card,
.section-shop .woocommerce-page ul.products li.product .ps-product-card,
.section-page-content .woocommerce ul.products li.product .ps-product-card,
.section-page-content .woocommerce-page ul.products li.product .ps-product-card {
  display: flex;
  visibility: visible !important;
  opacity: 1;
}
/* Fixed Product List Button - Peptide Sciences style (orange, vertical text) */
.peptide-product-list-button {
  position: fixed;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 9998;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  background-color: #0066CC;
  color: #ffffff;
  padding: 0.75rem 0.5rem;
  border: none;
  border-top-right-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(0, 102, 204, 0.4);
  transition: all 0.3s ease;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  width: auto;
  height: auto;
  min-width: unset;
  min-height: unset;
}
.peptide-product-list-button:hover {
  background-color: #0052a3;
  box-shadow: 0 6px 16px rgba(0, 102, 204, 0.5);
  transform: translateY(-50%) scale(1.02);
}
.peptide-product-list-text {
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  white-space: nowrap;
}
.peptide-product-list-button svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}
/* Product Index Sidebar */
.peptide-product-index-sidebar {
  position: fixed;
  left: -400px;
  top: 0;
  width: 400px;
  height: 100vh;
  background: var(--c-bg);
  box-shadow: 2px 0 12px rgba(0, 0, 0, 0.15);
  z-index: 10000;
  transition: left 0.3s ease;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  visibility: hidden;
}
.peptide-product-index-sidebar.active {
  left: 0;
  visibility: visible;
}
.peptide-product-index-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.5rem;
  border-bottom: 1px solid var(--c-border);
  background: var(--c-surface);
}
.peptide-product-index-header h2 {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--c-heading);
}
.peptide-product-index-close {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.5rem;
  color: var(--c-muted);
  transition: color 0.2s, background-color 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}
.peptide-product-index-close:hover {
  color: #0066CC !important;
  background-color: rgba(0, 102, 204, 0.1);
}
.peptide-product-index-search {
  padding: 1rem 1.5rem;
  border-bottom: 1px solid var(--c-border);
}
.peptide-product-index-search input {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 1px solid #d1d5db;
  border-radius: 0.375rem;
  font-size: 0.875rem;
  color: var(--c-heading);
}
.peptide-product-index-search input:focus {
  outline: none;
  border-color: var(--c-primary-strong);
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}
.peptide-product-index-content {
  flex: 1;
  overflow-y: auto;
  padding: 1rem 0;
}
.peptide-product-index-category {
  margin-bottom: 2rem;
}
.peptide-product-index-category h3 {
  margin: 0 0 1rem 1.5rem;
  font-size: 1rem;
  font-weight: 700;
  color: var(--c-heading);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.peptide-product-index-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.peptide-product-index-item {
  margin: 0;
  padding: 0;
}
.peptide-product-index-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1.5rem;
  color: var(--c-gray-dark);
  text-decoration: none;
  transition: background-color 0.2s;
  border-bottom: 1px solid var(--c-bg-neutral);
}
.peptide-product-index-link:hover {
  background-color: var(--c-surface);
}
.peptide-product-index-link span {
  flex: 1;
  font-size: 0.875rem;
}
.peptide-product-index-add-cart {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.5rem;
  color: #0066CC;
  transition: color 0.2s, background-color 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: 0.5rem;
  border-radius: 50%;
  flex-shrink: 0;
}
.peptide-product-index-add-cart:hover {
  color: #ffffff;
  background-color: #0066CC;
}
.peptide-product-index-add-cart.loading {
  pointer-events: none;
  opacity: 0.6;
}
.peptide-product-index-add-cart.loading svg {
  animation: peptide-spin 1s linear infinite;
}
.peptide-product-index-add-cart.added {
  color: #ffffff;
  background-color: #10b981;
}
@keyframes peptide-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
.peptide-product-index-add-cart svg {
  width: 20px;
  height: 20px;
}
/* View cart link - Healthcare Blue (global) */
a.added_to_cart,
.woocommerce a.added_to_cart,
.wc-forward.added_to_cart {
  color: #0066CC !important;
  font-size: 0.8rem;
  font-weight: 500;
  text-decoration: none;
  margin-left: 0.5rem;
}
a.added_to_cart:hover,
.woocommerce a.added_to_cart:hover,
.wc-forward.added_to_cart:hover {
  color: #0052a3 !important;
  text-decoration: underline;
}
/* View cart link in Product Index - Healthcare Blue */
.peptide-product-index-item .added_to_cart,
.peptide-product-index-link .added_to_cart,
.peptide-product-index-sidebar .added_to_cart {
  color: #0066CC !important;
  font-size: 0.8rem;
  font-weight: 500;
  text-decoration: none;
  margin-left: 0.5rem;
}
.peptide-product-index-item .added_to_cart:hover,
.peptide-product-index-link .added_to_cart:hover,
.peptide-product-index-sidebar .added_to_cart:hover {
  color: #0052a3 !important;
  text-decoration: underline;
}
/* Overlay */
.peptide-product-index-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.peptide-product-index-overlay.active {
  opacity: 1;
  visibility: visible;
}
/* Empty Cart Sidebar - Similar to Product Index */
.peptide-empty-cart-sidebar {
  position: fixed;
  right: -400px;
  top: 0;
  width: 400px;
  height: 100vh;
  background: var(--c-bg);
  box-shadow: -2px 0 12px rgba(0, 0, 0, 0.15);
  z-index: 10000;
  transition: right 0.3s ease;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  visibility: hidden;
}
.peptide-empty-cart-sidebar.active {
  right: 0;
  visibility: visible;
}
.peptide-empty-cart-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.5rem;
  border-bottom: 1px solid var(--c-border);
  background: var(--c-surface);
}
.peptide-empty-cart-header h2 {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--c-heading);
}
.peptide-empty-cart-close {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.5rem;
  color: var(--c-muted);
  transition: color 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.peptide-empty-cart-close:hover {
  color: var(--c-heading);
}
.peptide-empty-cart-content {
  flex: 1;
  padding: 2rem 1.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.peptide-continue-shopping-btn {
  color: var(--c-primary-strong);
  text-decoration: none;
  font-weight: 500;
  transition: color 0.2s;
}
.peptide-continue-shopping-btn:hover {
  color: var(--c-primary-hover);
  text-decoration: underline;
}
/* Empty Cart Overlay */
.peptide-empty-cart-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.peptide-empty-cart-overlay.active {
  opacity: 1;
  visibility: visible;
}
/* My Account Login Page Layout */
.peptide-account-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  max-width: 1200px;
  margin: 0 auto;
  padding: 3rem 2rem;
}
@media (max-width: 768px) {
  .peptide-account-wrapper {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 2rem 1rem;
  }
}
/* ============================================================
   RESPONSIVE DESIGN - Mobile, Tablet, Laptop
   ============================================================ */
/* Tablet View (768px - 1199px) */
@media (max-width: 1199px) {
  /* Header adjustments */
  .ps-header-main-inner {
    flex-wrap: wrap;
    gap: 1rem;
  }
  .ps-header-search-center {
    order: 3;
    width: 100%;
    margin-top: 0.5rem;
  }
  .ps-header-account-right {
    margin-left: auto;
  }
  /* Product grid - 3 columns on tablet */
  .ps-products-grid,
.ps-shop-grid,
.woocommerce ul.products,
.ps-products-grid-wrapper ul.products,
.ps-featured-products ul.products,
.ps-featured-products #ps-products-grid ul.products {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
  }
  /* Footer columns - stack on tablet */
  .footer-main-inner > div[style*="grid-template-columns: repeat(5"] {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
  }
  /* Product List button - smaller on tablet */
  .peptide-product-list-button {
    padding: 0.5rem 0.4rem;
  }
  .peptide-product-list-button svg {
    width: 14px;
    height: 14px;
  }
  .peptide-product-list-text {
    font-size: 0.75rem;
  }
  /* Sidebars - full width on tablet */
  .peptide-product-index-sidebar,
.peptide-empty-cart-sidebar {
    width: 100%;
    max-width: 400px;
  }
  /* Account page - stack columns */
  .peptide-account-wrapper {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 2rem 1.5rem;
  }
}
/* Mobile View (up to 768px) */
@media (max-width: 768px) {
  /* Typography - smaller on mobile */
  h1 {
    font-size: 1.75rem;
  }
  h2 {
    font-size: 1.5rem;
  }
  h3 {
    font-size: 1.25rem;
  }
  h4 {
    font-size: 1.1rem;
  }
  /* Header - mobile layout */
  .ps-header-promo-bar {
    font-size: 0.75rem;
    padding: 0.5rem 0;
  }
  .ps-header-main-inner {
    padding: 0.75rem 1rem;
  }
  .ps-header-logo img {
    max-height: 32px;
  }
  .ps-header-search-center {
    order: 3;
    width: 100%;
    margin: 0.5rem 0 0 0;
  }
  .ps-header-search-center .header-search-input {
    font-size: 0.875rem;
    padding: 0.625rem 0.75rem 0.625rem 2.5rem;
  }
  .ps-header-account-right {
    margin-left: auto;
  }
  .ps-header-account-right .ps-utility-menu {
    gap: 0.5rem;
  }
  .ps-header-account-right .ps-utility-link {
    font-size: 0.875rem;
    padding: 0.5rem;
  }
  .ps-header-account-right .dashicons {
    width: 18px;
    height: 18px;
    font-size: 18px;
  }
  /* Navigation - mobile menu */
  .ps-header-nav-bar {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .ps-header-nav-below .ps-main-nav {
    font-size: 0.875rem;
    gap: 1rem;
  }
  .ps-header-nav-below .ps-main-nav li {
    white-space: nowrap;
  }
  /* Product grid - 2 columns on mobile */
  .ps-products-grid,
.ps-shop-grid,
.woocommerce ul.products,
.ps-products-grid-wrapper ul.products,
.ps-featured-products ul.products,
.ps-featured-products #ps-products-grid ul.products {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
  /* Product cards - mobile adjustments */
  .ps-product-card {
    padding: 0.75rem;
  }
  .ps-product-details {
    padding: 0.625rem 0.75rem;
    font-size: 0.75rem;
  }
  .ps-product-actions {
    padding: 0.75rem;
  }
  .ps-product-learn-more,
.ps-product-add-to-cart {
    padding: 0.625rem 0.75rem;
    font-size: 0.8125rem;
  }
  /* Footer - mobile layout */
  .footer-main {
    padding: 2rem 0;
  }
  .footer-main-inner {
    padding: 0 1rem;
  }
  /* Footer columns - stack on mobile */
  .footer-main-inner > div[style*="grid-template-columns: repeat(5"] {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .footer-main-inner > div[style*="display: flex"][style*="margin-bottom: 3rem"] {
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 2rem;
  }
  .footer-main-inner .footer-col {
    margin-bottom: var(--sp-6);
  }
  .footer-main-inner .footer-col h4 {
    font-size: 0.9375rem;
    margin-bottom: 0.75rem;
  }
  .footer-main-inner .footer-col ul li {
    margin-bottom: 0.375rem;
  }
  .footer-main-inner .footer-col ul li a {
    font-size: 0.8125rem;
  }
  /* Footer contact details - mobile */
  .footer-main-inner .footer-col ul li[style*="display: flex"] {
    flex-direction: column;
    gap: 0.5rem;
  }
  .footer-main-inner .footer-col ul li[style*="display: flex"] svg {
    align-self: flex-start;
  }
  /* Product List button - mobile */
  .peptide-product-list-button {
    padding: 0.5rem 0.35rem;
    left: 0;
    transform: translateY(-50%);
  }
  .peptide-product-list-button svg {
    width: 12px;
    height: 12px;
  }
  .peptide-product-list-text {
    font-size: 0.7rem;
  }
  /* Single product page - mobile */
  .ps-single-product-layout {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }
  .ps-single-product-page h1 {
    font-size: 1.5rem;
  }
  .ps-single-product-page .site-main-inner {
    padding: 0 1rem;
  }
  /* Sidebars - full width on mobile */
  .peptide-product-index-sidebar {
    width: 100%;
    left: -100%;
  }
  .peptide-empty-cart-sidebar {
    width: 100%;
    right: -100%;
  }
  .peptide-product-index-header,
.peptide-empty-cart-header {
    padding: 1rem;
  }
  .peptide-product-index-header h2,
.peptide-empty-cart-header h2 {
    font-size: 1.125rem;
  }
  .peptide-product-index-search {
    padding: 0.75rem 1rem;
  }
  .peptide-product-index-content {
    padding: 0.5rem 0;
  }
  .peptide-product-index-category h3 {
    margin: 0 0 0.75rem 1rem;
    font-size: 0.875rem;
  }
  .peptide-product-index-link {
    padding: 0.625rem 1rem;
    font-size: 0.8125rem;
  }
  /* Account page - mobile */
  .peptide-account-wrapper {
    padding: 1.5rem 1rem;
    gap: 2rem;
  }
  .peptide-sign-in-section h2,
.peptide-sign-up-section h2 {
    font-size: 1.5rem;
  }
  /* Page content - mobile */
  .section-page-default {
    padding: 1.5rem 1rem 2rem;
  }
  .site-main-inner {
    padding: 0 1rem !important;
  }
  .page-title {
    font-size: 1.5rem;
  }
}
/* Small Mobile View (up to 480px) */
@media (max-width: 480px) {
  /* Typography - even smaller */
  h1 {
    font-size: 1.5rem;
  }
  h2 {
    font-size: 1.25rem;
  }
  h3 {
    font-size: 1.125rem;
  }
  body {
    font-size: 15px;
  }
  /* Header - small mobile */
  .ps-header-main-inner {
    padding: 0.5rem 0.75rem;
  }
  .ps-header-logo img {
    max-height: 28px;
  }
  .ps-header-account-right .ps-utility-link {
    font-size: 0.75rem;
    padding: 0.375rem;
  }
  .ps-header-account-right .dashicons {
    width: 16px;
    height: 16px;
    font-size: 16px;
  }
  .ps-cart-count {
    font-size: 0.7rem;
  }
  /* Product grid - 1 column on small mobile */
  .ps-products-grid,
.ps-shop-grid,
.woocommerce ul.products,
.ps-products-grid-wrapper ul.products,
.ps-featured-products ul.products,
.ps-featured-products #ps-products-grid ul.products {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  /* Product cards - small mobile */
  .ps-product-card {
    padding: 0.625rem;
  }
  .ps-product-image-link {
    padding: 1rem;
    min-height: 160px;
    max-height: 180px;
  }
  .ps-product-image {
    max-height: 140px;
  }
  .ps-product-full-title {
    padding: 0.625rem 0.75rem;
    font-size: 0.8125rem;
    min-height: 2.5rem;
  }
  .ps-product-actions {
    padding: 0.625rem;
    gap: 0.375rem;
  }
  .ps-product-learn-more,
.ps-product-add-to-cart {
    padding: 0.5rem 0.625rem;
    font-size: 0.75rem;
    min-height: 2.5rem;
  }
  /* Footer - small mobile */
  .footer-main {
    padding: 1.5rem 0;
  }
  .footer-main-inner {
    padding: 0 0.75rem;
  }
  /* Product List button - small mobile */
  .peptide-product-list-button {
    padding: 0.4rem 0.3rem;
  }
  .peptide-product-list-button svg {
    width: 10px;
    height: 10px;
  }
  .peptide-product-list-text {
    font-size: 0.65rem;
  }
  /* Sidebars - small mobile */
  .peptide-product-index-header,
.peptide-empty-cart-header {
    padding: 0.875rem;
  }
  .peptide-product-index-search {
    padding: 0.625rem 0.875rem;
  }
  .peptide-product-index-link {
    padding: 0.5rem 0.875rem;
  }
  /* Account page - small mobile */
  .peptide-account-wrapper {
    padding: 1rem 0.75rem;
  }
  .peptide-sign-in-section h2,
.peptide-sign-up-section h2 {
    font-size: 1.25rem;
  }
  .peptide-sign-in-section p,
.peptide-sign-up-section p {
    font-size: 0.875rem;
  }
  /* Forms - small mobile */
  input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
textarea,
select {
    font-size: 16px;
    padding: 0.75rem;
  }
  button,
.button,
.woocommerce-button {
    padding: 0.75rem 1rem;
    font-size: 0.875rem;
  }
  /* Page content - small mobile */
  .section-page-default {
    padding: 1rem 0.75rem 1.5rem;
  }
  .site-main-inner {
    padding: 0 0.75rem !important;
  }
}
/* Large Desktop View (1025px+) - Ensure proper spacing */
@media (min-width: 1025px) {
  .ps-header-main-inner {
    max-width: 1600px;
    margin: 0 auto;
    padding: 1rem 2rem;
  }
  .site-main-inner {
    max-width: 1600px;
  }
  .footer-main-inner {
    max-width: 1200px;
  }
}
/* Touch device optimizations */
@media (hover: none) and (pointer: coarse) {
  /* Larger touch targets on mobile */
  .ps-product-learn-more,
.ps-product-add-to-cart,
.peptide-product-list-button,
button,
.button {
    min-height: 44px;
  }
  .ps-header-account-right .ps-utility-link {
    min-height: 44px;
    min-width: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  /* ABSOLUTE MAXIMUM PRIORITY - FORCE GRID ON ALL PRODUCT LISTS */
  html body .woocommerce ul.products,
html body .woocommerce-page ul.products,
html body.woocommerce ul.products,
html body.woocommerce-page ul.products,
html body .section-shop ul.products,
html body .section-page-content ul.products,
html body .section-page-default ul.products,
html body .section-shop .woocommerce ul.products,
html body .section-page-content .woocommerce ul.products,
html body .section-page-default .woocommerce ul.products,
html body .site-main-inner .woocommerce ul.products,
html body .site-wrap .woocommerce ul.products {
    margin: 0;
    padding: 0;
    width: 100%;
    float: none;
    clear: both;
  }
  /* CRITICAL: Ensure product cards are visible */
  .woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
ul.products li.product {
    display: block;
    visibility: visible !important;
    opacity: 1;
  }
  .woocommerce ul.products li.product .ps-product-card,
.woocommerce-page ul.products li.product .ps-product-card,
ul.products li.product .ps-product-card {
    display: flex;
    visibility: visible !important;
    opacity: 1;
  }
  /* CRITICAL FIX: Force grid display and ensure product cards are visible */
  html body .section-shop ul.products,
html body .section-page-content ul.products,
html body .woocommerce ul.products,
html body .woocommerce-page ul.products,
html body .section-shop .woocommerce ul.products,
html body .woocommerce ul.products li.product,
html body .woocommerce-page ul.products li.product,
html body ul.products li.product {
    display: block;
    visibility: visible !important;
    opacity: 1;
    width: auto;
    max-width: none;
  }
  html body .woocommerce ul.products li.product .ps-product-card,
html body .woocommerce-page ul.products li.product .ps-product-card,
html body ul.products li.product .ps-product-card {
    display: flex;
    visibility: visible !important;
    opacity: 1;
    width: 100%;
  }
  .peptide-product-index-add-cart {
    min-width: 44px;
    min-height: 44px;
  }
}
/* ============================================================
   Header Style 1 - Peptide Sciences Style
   ============================================================ */
/* Ensure product list items are visible and in grid - shop page, category pages, all archives */
html body .section-shop ul.products li.product,
html body .section-page-content ul.products li.product,
html body .section-page-default ul.products li.product,
html body .section-shop .woocommerce ul.products li.product,
html body .section-page-content .woocommerce ul.products li.product,
html body .section-page-default .woocommerce ul.products li.product,
html body.woocommerce-shop ul.products li.product,
html body.woocommerce-page.woocommerce-shop ul.products li.product,
html body .woocommerce-shop ul.products li.product,
html body .woocommerce-shop .woocommerce ul.products li.product,
html body .tax-product_cat ul.products li.product,
html body .tax-product_cat .woocommerce ul.products li.product,
html body.tax-product_cat ul.products li.product {
  display: block;
  visibility: visible !important;
  opacity: 1;
  width: auto;
  max-width: none;
  min-width: 0;
  float: none;
}
/* Ensure product cards are visible - shop page, category pages, all archives */
html body .section-shop ul.products li.product .ps-product-card,
html body .section-page-content ul.products li.product .ps-product-card,
html body .section-page-default ul.products li.product .ps-product-card,
html body .section-shop .woocommerce ul.products li.product .ps-product-card,
html body .section-page-content .woocommerce ul.products li.product .ps-product-card,
html body .section-page-default .woocommerce ul.products li.product .ps-product-card,
html body.woocommerce-shop ul.products li.product .ps-product-card,
html body.woocommerce-page.woocommerce-shop ul.products li.product .ps-product-card,
html body .woocommerce-shop ul.products li.product .ps-product-card,
html body .woocommerce-shop .woocommerce ul.products li.product .ps-product-card,
html body .tax-product_cat ul.products li.product .ps-product-card,
html body .tax-product_cat .woocommerce ul.products li.product .ps-product-card,
html body.tax-product_cat ul.products li.product .ps-product-card {
  display: flex;
  visibility: visible !important;
  opacity: 1;
  width: 100%;
}
/* Header layout refinements */
.site-header {
  width: 100%;
}
.site-header .site-wrap {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}
/* Header Style 4 uses its own inner containers, don't apply site-wrap styles */
.header-style-3-top-inner,
.header-style-3-bottom-inner {
  padding: 0 20px;
  display: flex;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  box-sizing: border-box !important;
}
/* Override any WordPress/WooCommerce site-wrap styles */
body:not(.wp-admin) .header-style-3-top-inner {
  padding: 1rem 28px;
  display: flex;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  box-sizing: border-box !important;
}
body:not(.wp-admin) .header-style-3-bottom-inner {
  padding: 0.75rem 28px;
  display: flex;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  box-sizing: border-box !important;
}
.header-row,
.header-inner,
.header-nav-inner,
.header-topbar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
/* Header Style 4 - GenScript Style Two-Row Header */
.header-style-3-top-row {
  background: var(--c-sky);
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}
.header-style-3-top-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 1rem 28px;
  max-width: 1200px;
  margin: 0 auto;
  min-width: 0;
  flex-wrap: nowrap;
  width: 100%;
  box-sizing: border-box !important;
}
.header-style-3-logo {
  flex: 0 0 auto;
  white-space: nowrap;
  min-width: 0;
}
.header-style-3-logo .site-logo,
.header-style-3-logo .ps-logo-link {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: var(--c-bg);
}
.header-style-3-logo .site-logo-img,
.header-style-3-logo img,
.header-style-3-logo .custom-logo,
.header-style-3-logo .ps-logo-image {
  max-height: 40px;
  width: auto;
  height: auto;
  display: block;
}
.header-style-3-logo .ps-logo-text {
  color: var(--c-bg);
  font-weight: 700;
  font-size: 1.25rem;
}
/* Ensure logo wrapper doesn't hide the image */
.header-style-3-logo .site-logo,
.header-style-3-logo .ps-header-logo {
  display: flex;
  align-items: center;
}
.header-style-3-logo .ps-logo-link {
  display: flex;
  align-items: center;
  text-decoration: none;
}
.header-style-3-search-center {
  flex: 1 1 auto;
  min-width: 280px;
  max-width: 500px;
  margin: 0 1rem;
  flex-shrink: 1;
}
.header-style-3-search-center .header-search-form,
.header-style-3-search-center .ps-search-form,
.header-style-3-search-center form {
  display: flex;
  align-items: center;
  width: 100%;
  background: var(--c-bg);
  border-radius: 6px;
  overflow: hidden;
  border: 1px solid #cfd8ed;
}
.header-style-3-search-center input[type="search"],
.header-style-3-search-center #woocommerce-product-search-field,
.header-style-3-search-center .header-search-input {
  flex: 1;
  padding: 0.68rem 1rem;
  border: none;
  background: transparent;
  font-size: 0.94rem;
  color: var(--c-heading);
}
.header-style-3-search-center input[type="search"]:focus,
.header-style-3-search-center #woocommerce-product-search-field:focus {
  outline: none;
}
.header-style-3-search-center input[type="search"]::placeholder,
.header-style-3-search-center #woocommerce-product-search-field::placeholder {
  color: var(--c-gray-light);
}
.header-style-3-search-center .header-search-icon {
  display: flex;
  align-items: center;
  padding: 0 1rem;
  color: var(--c-muted);
  flex-shrink: 0;
  font-size: 1rem;
}
.header-style-3-search-center button,
.header-style-3-search-center input[type="submit"],
.header-style-3-search-center .header-search-button {
  padding: 0.68rem 1rem;
  background: transparent;
  border: none;
  color: var(--c-muted);
  cursor: pointer;
  flex-shrink: 0;
}
.header-style-3-right-cluster {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  flex: 0 0 auto;
  min-width: 0;
  white-space: nowrap;
  flex-shrink: 0;
}
.header-style-3-auth {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  white-space: nowrap;
}
.header-style-3-link {
  color: var(--c-bg);
  text-decoration: none;
  font-weight: 600;
  font-size: 0.95rem;
  white-space: nowrap;
  transition: opacity 0.2s;
}
.header-style-3-link:hover {
  opacity: 0.8;
}
.header-style-3-separator {
  color: var(--c-bg);
  margin: 0 0.3rem;
  font-weight: 400;
}
.header-style-3-language {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  color: var(--c-bg);
  font-weight: 600;
  font-size: 0.95rem;
  white-space: nowrap;
}
.header-style-3-globe-icon {
  font-size: 0.95rem;
  line-height: 1;
}
.header-style-3-actions {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  white-space: nowrap;
}
.header-style-3-bottom-row {
  background: var(--c-sky);
}
/* Header Style 4 Hero Carousel - Only on Home Page */
.header-style-3-hero-carousel {
  position: relative;
  width: 100%;
  height: 500px;
  overflow: hidden;
  background: #f0f9ff;
  display: block;
  visibility: visible;
}
.header-style-3-hero-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
}
.header-style-3-hero-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 1s ease-in-out;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
  visibility: visible;
}
.header-style-3-hero-slide.active {
  opacity: 1;
  z-index: 2;
  visibility: visible;
}
/* Ensure first slide is visible even if JavaScript hasn't run */
.header-style-3-hero-slide:first-child.active,
.header-style-3-hero-slide:first-child {
  opacity: 1;
  z-index: 2;
  visibility: visible;
}
.header-style-3-hero-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.header-style-3-hero-dots {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 0.75rem;
  z-index: 10;
  padding: 0.5rem 1rem;
  background: rgba(255, 255, 255, 0.3);
  border-radius: 2rem;
  backdrop-filter: blur(10px);
}
.header-style-3-hero-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.8);
  background: rgba(255, 255, 255, 0.4);
  cursor: pointer;
  transition: all 0.3s ease;
  padding: 0;
}
.header-style-3-hero-dot:hover {
  background: rgba(255, 255, 255, 0.7);
  transform: scale(1.2);
}
.header-style-3-hero-dot.active {
  background: var(--c-bg);
  border-color: var(--c-bg);
  transform: scale(1.3);
}
@media (max-width: 768px) {
  .header-style-3-hero-carousel {
    height: 350px;
  }
  .header-style-3-hero-dots {
    bottom: 15px;
    gap: 0.5rem;
  }
  .header-style-3-hero-dot {
    width: 10px;
    height: 10px;
  }
}
.header-style-3-bottom-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2.5rem;
  padding: 0.75rem 28px;
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box !important;
}
.header-style-3-nav {
  flex: 1;
}
.header-style-3 .primary-menu {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
  list-style: none !important;
  flex-wrap: nowrap;
  gap: 2.25rem;
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 2rem;
}
.header-style-3 .primary-menu li {
  margin: 0;
  padding: 0;
  white-space: nowrap !important;
  margin: 0;
}
.header-style-3-bottom-right {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex: 0 0 auto;
}
.header-style-3-quick-order-btn {
  display: inline-block;
  padding: 0.5rem 1.35rem;
  background: var(--c-bg);
  color: var(--c-primary-strong);
  border: 2px solid var(--c-primary-strong);
  border-radius: 6px;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.9rem;
  white-space: nowrap;
  transition: background-color 0.2s, color 0.2s;
}
.header-style-3-quick-order-btn:hover {
  background: var(--c-primary-strong);
  color: var(--c-bg);
}
.header-style-3-cart-icon {
  display: flex;
  align-items: center;
  color: var(--c-bg);
  text-decoration: none;
  font-size: 1.5rem;
  position: relative;
}
.header-style-3-cart-symbol {
  font-size: 1.5rem;
}
.header-style-3-cart-symbol .header-icon-monochrome,
.header-style-3 .header-style-3-cart-symbol {
  filter: grayscale(100%) brightness(0.5) !important;
  -webkit-filter: grayscale(100%) brightness(0.5) !important;
  opacity: 0.8;
}
.header-style-3-cart-count {
  position: absolute;
  top: -8px;
  right: -8px;
  background: var(--c-error);
  color: var(--c-bg);
  border-radius: 50%;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 600;
}
@media (max-width: 768px) {
  .header-style-3-top-inner {
    flex-wrap: wrap;
    gap: 1rem;
  }
  .header-style-3-search-center {
    order: 3;
    width: 100%;
    max-width: 100%;
    margin: 0;
  }
  .header-style-3-top-right {
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  .header-style-3-bottom-inner {
    flex-wrap: wrap;
    gap: 1rem;
  }
  .header-style-3 .primary-menu {
    flex-wrap: wrap;
    gap: 1rem;
  }
}
.header-topbar {
  background: var(--c-bg-lightest);
  color: #0f172a;
  font-size: 14px;
}
.topbar-contact,
.top-links-list {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin: 0;
  padding: 6px 0;
  list-style: none;
}
.topbar-social {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-left: auto;
}
.top-links-list li {
  margin: 0;
}
.top-links-list a,
.topbar-contact a,
.topbar-social a {
  text-decoration: none;
  font-weight: 600;
  color: inherit;
}
.header-brand .site-logo-img {
  max-height: 60px;
  height: auto;
  width: auto;
}
.primary-nav {
  flex: 1;
}
.primary-nav .primary-menu {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0;
  padding: 0;
  list-style: none;
}
.primary-menu li {
  margin: 0;
}
.primary-menu a {
  text-decoration: none;
  font-weight: 600;
  color: inherit;
}
.header-right {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-left: auto;
}
.header-search {
  min-width: 220px;
}
.header-search-wide {
  flex: 1;
  min-width: 320px;
}
.header-search form,
.header-search .woocommerce-product-search,
.header-search .search-form {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
}
.header-search input[type="search"] {
  flex: 1;
  min-width: 0;
}
.header-search button,
.header-search input[type="submit"] {
  white-space: nowrap;
}
.header-icons {
  display: flex;
  align-items: center;
  gap: 12px;
}
.header-icons a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
  text-decoration: none;
}
.header-icons .count {
  background: var(--c-heading);
  color: var(--c-bg);
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 12px;
  line-height: 1;
}
.header-style-2 .header-main,
.header-style-3 .header-main {
  padding: 12px 0;
}
.header-style-1 .header-inner,
.header-style-2 .header-row,
.header-style-3 .header-row {
  padding: 14px 0;
}
/* CRITICAL: Override any block display that might cause wrapping */
html body .header-style-2 .header-inner > *,
html body .site-header.header-style-2 .header-inner > *,
body .header-style-2 .header-inner > * {
  display: flex;
  flex-shrink: 0 !important;
  vertical-align: middle !important;
}
.header-style-2 .header-nav-row,
.header-style-3 .header-nav-row,
.header-style-3 .header-nav-row,
.header-style-1 .header-nav-row {
  padding: 10px 0;
}
.header-style-3 .header-brand-row {
  padding: 18px 0;
  justify-content: center;
}
.header-style-3 .header-nav-inner {
  align-items: flex-start;
}
.header-top-links .top-links-list {
  padding: 8px 0;
}
/* ============================================================
   Header Style 1 - Peptide Sciences Style
   ============================================================ */
.header-style-1 {
  background: var(--c-bg);
  border-bottom: none;
  width: 100%;
}
.header-style-1 .header-top-row {
  border-bottom: none;
  background: var(--c-bg);
  overflow: visible !important;
  display: block;
  width: 100%;
}
/* Maximum specificity for top row layout - exact spacing match */
html body .header-style-1 .header-top-inner,
body .site-header.header-style-1 .header-top-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: 1rem 2rem;
  max-width: 1600px;
  margin: 0 auto;
  flex-wrap: nowrap;
  flex-direction: row !important;
  width: 100%;
  box-sizing: border-box !important;
  overflow: visible !important;
  background: var(--c-bg);
}
/* Force all children to stay inline and prevent any wrapping */
.header-style-1 .header-top-inner > * {
  flex-shrink: 0 !important;
  display: flex;
  align-items: center;
  white-space: nowrap !important;
}
.header-style-1 .header-top-inner .header-brand,
.header-style-1 .header-top-inner .header-search-center,
.header-style-1 .header-top-inner .header-account-right {
  display: flex;
  flex-wrap: nowrap;
  white-space: nowrap !important;
}
.header-style-1 .header-top-row .site-wrap {
  overflow: visible !important;
  display: block;
  width: 100%;
  max-width: none;
  padding: 0;
  margin: 0;
}
/* Override any site-wrap styles that might affect Header Style 1 */
.header-style-1 .site-wrap {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0;
  width: 100%;
  display: block;
}
.header-style-1 .header-brand {
  flex: 0 0 auto;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  min-width: fit-content;
  order: 1 !important;
  margin: 0;
}
/* Hide site name text for Header Style 1 - logo image already contains the name */
html body .site-header.header-style-1 .header-brand .ps-company-name,
html body .site-header.header-style-1 .header-brand .site-logo-text,
html body .header-style-1 .header-brand .ps-company-name,
html body .header-style-1 .header-brand .site-logo-text,
body .site-header.header-style-1 .header-brand .ps-company-name,
body .site-header.header-style-1 .header-brand .site-logo-text {
  display: none;
  visibility: hidden !important;
  width: 0;
  height: 0;
  overflow: hidden !important;
  margin: 0;
  padding: 0;
}
/* Maximum specificity to override main.css */
html body .site-header.header-style-1 .header-brand .ps-logo-link,
html body .header-style-1 .header-brand .ps-logo-link,
body .site-header.header-style-1 .header-brand .ps-logo-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  flex-direction: row !important;
  flex-wrap: nowrap;
}
/* Show logo image and text together */
.header-style-1 .header-brand .ps-logo-link img,
.header-style-1 .header-brand .ps-logo-link .custom-logo {
  margin-right: 0.5rem;
}
/* Hide text that might be in custom-logo output */
.header-style-1 .header-brand .custom-logo-link {
  display: flex;
  align-items: center;
}
.header-style-1 .header-brand .custom-logo-link::after {
  display: none;
}
/* Hide any text content in logo wrapper */
.header-style-1 .header-brand .ps-header-logo::after,
.header-style-1 .header-brand .site-logo::after {
  display: none;
  content: none !important;
}
.header-style-1 .header-brand .site-logo,
.header-style-1 .header-brand .ps-header-logo,
.header-style-1 .header-brand .header-logo-link {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  text-decoration: none;
}
/* Hide site logo text for Header Style 1 */
.header-style-1 .header-brand .site-logo-text {
  display: none;
}
.header-style-1 .header-brand .site-logo-img,
.header-style-1 .header-brand img,
.header-style-1 .header-brand .custom-logo,
.header-style-1 .header-brand .ps-logo-image {
  max-height: 80px;
  width: auto;
  height: auto;
  display: block;
}
.header-style-1 .header-search-center {
  flex: 1 1 auto;
  min-width: 500px;
  max-width: none;
  margin: 0 2rem;
  flex-shrink: 1 !important;
  display: flex;
  align-items: center;
  order: 2;
  justify-content: flex-start;
}
.header-style-1 .header-search-center form,
.header-style-1 .header-search-center .header-search-form {
  display: flex;
  align-items: center;
  width: 100%;
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: 6px;
  overflow: hidden !important;
  position: relative;
  gap: 0.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
}
.header-style-1 .header-search-icon {
  display: inline-block;
  font-size: 1.1rem;
  color: var(--c-gray-light);
  flex-shrink: 0 !important;
  line-height: 1;
  opacity: 0.6;
}
.header-style-1 .header-search-center input[type="search"],
.header-style-1 .header-search-center #woocommerce-product-search-field,
.header-style-1 .header-search-center .header-search-input {
  flex: 1;
  padding: 0.625rem 1rem 0.625rem 0;
  border: none;
  background: transparent;
  font-size: 1rem;
  order: 2;
  min-width: 0;
}
.header-style-1 .header-search-center input[type="search"]:focus {
  outline: none;
}
.header-style-1 .header-search-center .header-search-icon {
  padding: 0 0.75rem 0 1rem;
  color: var(--c-muted);
  flex-shrink: 0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  order: 1;
}
.header-style-1 .header-search-center .header-search-icon .dashicons-search {
  font-size: 18px;
  width: 18px;
  height: 18px;
  color: var(--c-muted);
}
.header-style-1 .header-search-center input[type="search"]::placeholder,
.header-style-1 .header-search-center #woocommerce-product-search-field::placeholder {
  color: var(--c-gray-light);
}
/* Hide search submit button for Header Style 1 - Peptide Sciences style */
.header-style-1 .header-search-center button[type="submit"],
.header-style-1 .header-search-center input[type="submit"],
.header-style-1 .header-search-center .header-search-button {
  display: none;
  visibility: hidden !important;
  width: 0;
  height: 0;
  padding: 0;
  margin: 0;
  border: none;
}
/* Maximum specificity for account/cart section */
html body .header-style-1 .header-account-right,
body .site-header.header-style-1 .header-account-right {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex: 0 0 auto;
  flex-shrink: 0 !important;
  flex-wrap: nowrap;
  white-space: nowrap !important;
  min-width: fit-content;
  order: 3 !important;
  margin: 0;
  position: relative !important;
}
/* CRITICAL: Ensure header-top-inner children are all on same line - Maximum specificity */
html body .header-style-1 .header-top-inner .header-brand,
html body .header-style-1 .header-top-inner .header-search-center,
html body .header-style-1 .header-top-inner .header-account-right,
body .site-header.header-style-1 .header-top-inner .header-brand,
body .site-header.header-style-1 .header-top-inner .header-search-center,
body .site-header.header-style-1 .header-top-inner .header-account-right {
  display: flex;
  flex-shrink: 0 !important;
  vertical-align: middle !important;
  align-items: center;
}
.header-style-1 .header-account-link,
.header-style-1 .header-cart-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  color: var(--c-gray-dark);
  font-size: 1rem;
  font-weight: 500;
  transition: color 0.2s !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

/* Ensure My Account is NOT blue when not hovered - override any active/current states */
.header-style-1 .header-account-link,
.header-style-1 .header-account-link.current-menu-item,
.header-style-1 .header-account-link.active,
.header-style-1 .header-account-link.is-active {
  color: var(--c-gray-dark) !important;
}

.header-style-1 .header-account-link:hover,
.header-style-1 .header-cart-link:hover {
  color: var(--c-primary);
}
/* Icons for Header Style 1 - neutral grey, no color */
.header-style-1 .icon-user,
.header-style-1 .icon-cart,
.header-style-1 .header-account-link .icon-user,
.header-style-1 .header-cart-link .icon-cart {
  display: inline-block;
  font-size: 1.1rem;
  color: var(--c-muted);
  margin-right: 0.4rem;
  vertical-align: middle !important;
}
/* Icons are now rendered via peptide_render_header_icon() function - no ::before needed */
/* If using dashicons, override with dashicons */
.header-style-1 .icon-user.dashicons,
.header-style-2 .icon-user.dashicons,
.header-style-3 .icon-cart.dashicons {
  font-family: dashicons;
  font-size: 1.25rem;
}
.header-style-1 .icon-user.dashicons::before {
  content: "";
}
.header-style-1 .icon-cart.dashicons::before,
.header-style-2 .icon-cart.dashicons::before,
.header-style-3 .icon-cart.dashicons::before {
  content: "";
}
.header-style-2 .icon-search.dashicons::before {
  content: "";
}
.header-style-1 .header-cart-link .count {
  background: var(--c-primary);
  color: var(--c-bg);
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
}
.header-style-1 .header-bottom-row {
  border-top: none;
  border-bottom: 1px solid var(--c-border);
  background: var(--c-bg);
}
.header-style-1 .header-bottom-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  padding: 0.9rem 2rem 1.05rem;
  max-width: 1600px;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
  background: var(--c-bg);
}
.header-style-1 .primary-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  gap: 48px;
}
/* Hide any WordPress menu that might be duplicating */
.header-style-1 .primary-menu,
.header-style-1 .primary-nav ul.menu,
.header-style-1 .primary-nav .menu {
  display: none;
}
/* CRITICAL: Override general .nav-links styles for Header Style 1 */
html body .header-style-1 .nav-links,
html body .site-header.header-style-1 .nav-links,
body .header-style-1 .nav-links {
  display: flex;
  align-items: center;
  gap: 32px;
  flex-wrap: wrap;
  list-style: none !important;
  margin: 0;
  padding: 0;
  min-width: 0;
  height: auto;
  margin-top: 0;
}
/* Navigation layout: left group left, right group right; gap controls spacing between items within each group */
.header-style-1 .nav-links-left {
  display: flex;
  align-items: center;
  gap: 32px;
  flex: 0 0 auto;
}
.header-style-1 .nav-links-right {
  display: flex;
  align-items: center;
  gap: 32px;
  flex: 0 0 auto;
}
/* Plain text navigation links (no pill boxes) */
html body .header-style-1 .nav-link,
html body .site-header.header-style-1 .nav-link,
html body .header-style-1 .nav-links a,
html body .header-style-1 .nav-links .nav-link,
html body .header-style-1 .primary-nav .nav-link,
html body .header-style-1 .primary-nav .nav-links a,
body .site-header.header-style-1 .nav-link,
body .header-style-1 .nav-link,
body .header-style-1 .nav-links a {
  display: inline-block;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  color: var(--c-gray-dark);
  text-decoration: none;
  font-size: 1rem;
  font-weight: 500;
  transition: color 0.2s !important;
  white-space: nowrap !important;
  min-width: auto;
  height: auto;
  margin: 0;
  width: auto;
  line-height: 1.5;
}
html body .header-style-1 .nav-link:hover,
html body .site-header.header-style-1 .nav-link:hover,
body .header-style-1 .nav-link:hover {
  color: var(--c-primary);
  background: transparent;
  border: none;
}
/* Secondary nav items are now part of primary menu in Header Style 1 */
.header-style-1 .secondary-nav {
  display: none;
}
/* CRITICAL OVERRIDES - Maximum specificity to override all conflicting rules */
html body .site-header.header-style-1 .header-brand .ps-logo-link,
html body .header-style-1 .header-brand .ps-logo-link {
  display: flex;
  flex-direction: row !important;
  align-items: center;
  gap: 0.5rem;
}
html body .site-header.header-style-1 .header-top-inner,
html body .header-style-1 .header-top-inner {
  display: flex;
  flex-direction: row !important;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
}
html body .site-header.header-style-1 .header-top-inner > *,
html body .header-style-1 .header-top-inner > * {
  flex-shrink: 0 !important;
  display: flex;
  align-items: center;
}
/* ============================================================
   Header Style 2 - Core Peptides Style
   ============================================================ */
.header-style-2 {
  background: var(--c-black);
  border-bottom: 1px solid #333333;
  width: 100%;
  position: relative !important;
}
/* CRITICAL: Force single row layout for Header Style 2 */
html body .header-style-2 .header-inner,
html body .site-header.header-style-2 .header-inner,
body .header-style-2 .header-inner,
.header-style-2 .header-inner {
  display: flex;
  flex-direction: row !important;
  align-items: center;
  justify-content: space-between;
  gap: 0;
  padding: 1rem 2rem;
  max-width: 1600px;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box !important;
  flex-wrap: nowrap;
  overflow: visible !important;
  height: auto;
  min-height: auto;
  position: relative !important;
}
/* CRITICAL: Force logo to stay inline */
html body .header-style-2 .header-brand,
html body .site-header.header-style-2 .header-brand,
body .header-style-2 .header-brand,
.header-style-2 .header-brand {
  flex: 0 0 auto;
  flex-shrink: 0 !important;
  display: flex;
  align-items: center;
  white-space: nowrap !important;
  vertical-align: middle !important;
  line-height: 1;
}
/* Hide site name text for Header Style 2 - logo image already contains the name */
.header-style-2 .header-brand .ps-company-name,
.header-style-2 .header-brand .site-logo-text {
  display: none;
  visibility: hidden !important;
}
.header-style-2 .header-brand .site-logo,
.header-style-2 .header-brand .ps-logo-link {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: var(--c-text);
}
.header-style-2 .header-brand .site-logo-img,
.header-style-2 .header-brand img,
.header-style-2 .header-brand .custom-logo {
  max-height: 60px;
  width: auto;
  height: auto;
}
/* Search overlay - appears when search icon is clicked, positioned directly below header */
.header-style-2-search-overlay {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  right: 0 !important;
  width: 100%;
  background: rgba(0, 0, 0, 0.95);
  z-index: 9999 !important;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 2rem 0;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
  margin-top: 0;
}
/* Show overlay when active */
.header-style-2-search-overlay[style*="block"],
.header-style-2-search-overlay.show {
  display: flex;
}
.header-style-2-search-modal {
  position: relative !important;
  width: 100%;
  max-width: 800px;
  padding: 0 2rem;
}
.header-style-2-search-close {
  position: absolute !important;
  top: -3rem !important;
  right: 0 !important;
  background: transparent;
  border: none;
  color: var(--c-bg);
  font-size: 2rem;
  cursor: pointer !important;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  line-height: 1;
}
.header-style-2-search-close:hover {
  color: var(--c-primary);
}
.header-style-2-search-form {
  position: relative !important;
  display: flex;
  align-items: center;
  width: 100%;
}
.header-style-2-search-input {
  width: 100%;
  padding: 1.25rem 3.5rem 1.25rem 1.5rem;
  background: var(--c-black);
  border: 2px solid var(--c-primary);
  border-radius: 8px;
  color: var(--c-bg);
  font-size: 1.1rem;
  outline: none;
}
.header-style-2-search-input::placeholder {
  color: var(--c-gray-light);
}
.header-style-2-search-input:focus {
  border-color: var(--c-primary);
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}
.header-style-2-search-clear {
  position: absolute !important;
  right: 1rem !important;
  background: transparent;
  border: none;
  color: var(--c-primary);
  font-size: 1.5rem;
  cursor: pointer !important;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  line-height: 1;
  border-radius: 50%;
  transition: background 0.2s !important;
}
.header-style-2-search-clear:hover {
  background: rgba(59, 130, 246, 0.1);
}
/* CRITICAL: Force right group to stay inline */
html body .header-style-2 .header-right-group,
html body .site-header.header-style-2 .header-right-group,
body .header-style-2 .header-right-group,
.header-style-2 .header-right-group {
  display: flex;
  flex-direction: row !important;
  align-items: center;
  gap: 2rem;
  flex: 0 0 auto;
  flex-shrink: 0 !important;
  flex-wrap: nowrap;
  white-space: nowrap !important;
  margin-left: auto;
  margin-right: 0;
  vertical-align: middle !important;
}
/* CRITICAL: Force navigation to stay inline on same row */
html body .header-style-2 .primary-nav,
html body .site-header.header-style-2 .primary-nav,
body .header-style-2 .primary-nav,
.header-style-2 .primary-nav {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  margin-left: 4rem;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
}
.header-style-2 .primary-menu {
  display: flex;
  list-style: none !important;
  margin: 0;
  padding: 0;
  gap: 1.5rem;
  align-items: center;
  flex-wrap: nowrap;
  white-space: nowrap !important;
}
.header-style-2 .primary-menu li {
  margin: 0;
}
.header-style-2 .primary-menu a {
  color: var(--c-bg);
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  transition: color 0.2s !important;
  white-space: nowrap !important;
}
.header-style-2 .primary-menu a:hover,
.header-style-2 .primary-menu li.current-menu-item > a {
  color: var(--c-gold);
}
/* Icons on right side */
.header-style-2 .header-icons-right {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex: 0 0 auto;
  flex-shrink: 0 !important;
  flex-wrap: nowrap;
  white-space: nowrap !important;
}
.header-style-2 .header-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: none;
  background: transparent;
  color: var(--c-bg);
  cursor: pointer !important;
  text-decoration: none;
  position: relative !important;
  transition: color 0.2s !important;
}
.header-style-2 .header-icon:hover {
  color: var(--c-gold);
}
.header-style-2 .header-icon .icon-user,
.header-style-2 .header-icon .icon-cart,
.header-style-2 .header-icon .icon-search {
  font-size: 1.25rem;
}
/* Icons are now rendered via peptide_render_header_icon() function - no ::before needed */
/* Monochrome/Grayscale styling for default emoji icons */
.header-icon-monochrome,
.header-icon-emoji.header-icon-monochrome,
.header-icon-symbol.header-icon-monochrome {
  filter: grayscale(100%) brightness(0.5) !important;
  -webkit-filter: grayscale(100%) brightness(0.5) !important;
  opacity: 0.7 !important;
  display: inline-block !important;
}
/* Override for header style 1 icons */
.header-style-1 .header-icon-monochrome,
.header-style-1 .icon-user .header-icon-monochrome,
.header-style-1 .icon-cart .header-icon-monochrome {
  filter: grayscale(100%) brightness(0.4) !important;
  -webkit-filter: grayscale(100%) brightness(0.4) !important;
  opacity: 0.7;
}
/* Override for header style 2 icons */
.header-style-2 .header-icon .header-icon-monochrome,
.header-style-2 .header-icon .icon-user .header-icon-monochrome,
.header-style-2 .header-icon .icon-cart .header-icon-monochrome,
.header-style-2 .header-icon .icon-search .header-icon-monochrome {
  filter: grayscale(100%) brightness(0.9) !important;
  -webkit-filter: grayscale(100%) brightness(0.9) !important;
  opacity: 1;
}
/* Override for header style 3 icons */
.header-style-3 .header-icon-monochrome,
.header-style-3 .header-style-3-cart-symbol .header-icon-monochrome {
  filter: grayscale(100%) brightness(0.5) !important;
  -webkit-filter: grayscale(100%) brightness(0.5) !important;
  opacity: 0.8;
}
.header-style-2 .cart-count-badge {
  position: absolute !important;
  top: -4px !important;
  right: -4px !important;
  background: var(--c-gold);
  color: var(--c-black);
  border-radius: 50%;
  width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.7rem;
  font-weight: 700;
  line-height: 1;
  padding: 0;
  position: absolute;
  top: -4px;
  right: -4px;
  background: #0066CC;
  color: var(--c-bg);
  border-radius: 50%;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.7rem;
  font-weight: 600;
  line-height: 1;
}
.header-style-2 .cart-count-badge.cart-count-zero {
  background: var(--c-muted);
  color: var(--c-bg);
  background: var(--c-gray-light);
}
.header-style-2 .header-search-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.9);
  z-index: 10000;
  display: none;
  align-items: center;
  justify-content: center;
}
.header-style-2 .header-search-overlay.active {
  display: flex;
}
.header-style-2 .header-search-modal {
  background: var(--c-bg);
  border-radius: 8px;
  padding: 3rem;
  max-width: 600px;
  width: 90%;
  position: relative;
}
.header-style-2 .header-search-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: none;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
  color: #666666;
  padding: 0.5rem;
  line-height: 1;
}
.header-style-2 .header-search-close:hover {
  color: var(--c-black);
}
.header-style-2 .header-search-form-wrapper {
  width: 100%;
}
.header-style-2 .header-search-form-wrapper form {
  display: flex;
  width: 100%;
}
.header-style-2 .header-search-form-wrapper input[type="search"] {
  flex: 1;
  padding: 0.875rem 1rem;
  border: 2px solid var(--c-border);
  border-radius: 6px;
  font-size: 1rem;
}
/* ============================================================
   Header Style 3 - PekCura Style
   ============================================================ */
.header-style-3 {
  background: var(--c-bg);
  border-bottom: 1px solid var(--c-border);
  width: 100%;
}
.header-style-3 .header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: 1.125rem 1.5rem;
  max-width: 1600px;
  margin: 0 auto;
}
.header-style-3 .header-brand {
  flex: 0 0 auto;
}
.header-style-3 .header-brand .site-logo,
.header-style-3 .header-brand .ps-logo-link {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: var(--c-primary-strong);
}
.header-style-3 .header-brand .site-logo-img,
.header-style-3 .header-brand img,
.header-style-3 .header-brand .custom-logo {
  max-height: 40px;
  width: auto;
  height: auto;
}
.header-style-3 .header-right-section {
  display: flex;
  align-items: center;
  gap: 2rem;
  flex: 1 1 auto;
  justify-content: flex-end;
}
.header-style-3 .primary-nav {
  flex: 0 0 auto;
}
.header-style-3 .primary-menu a {
  display: inline-flex;
  align-items: center;
  color: var(--c-gray-dark);
  text-decoration: none;
  font-size: 0.95rem;
  font-weight: 500;
  transition: color 0.2s;
}
.header-style-3 .primary-menu a:hover,
.header-style-3 .primary-menu li.current-menu-item > a {
  color: var(--c-primary-strong);
}
.header-style-3 .header-account-link {
  color: var(--c-gray-dark);
  text-decoration: none;
  font-size: 0.95rem;
  font-weight: 500;
  transition: color 0.2s;
}
.header-style-3 .header-account-link:hover {
  color: var(--c-primary-strong);
}
.header-style-3 .header-cart-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  color: var(--c-gray-dark);
  font-size: 0.95rem;
  font-weight: 500;
  transition: color 0.2s;
}
.header-style-3 .header-cart-link:hover {
  color: var(--c-primary-strong);
}
.header-style-3 .header-cart-link .icon-cart {
  font-size: 1.25rem;
}
.header-style-3 .header-cart-link .cart-count-text {
  font-size: 0.875rem;
}
/* Responsive adjustments for all header styles */
@media (max-width: 900px) {
  .header-style-1 .header-top-inner {
    flex-wrap: wrap;
    gap: 1rem;
  }
  .header-style-1 .header-search-center {
    order: 3;
    width: 100%;
    margin: 0.5rem 0 0 0;
  }
  .header-style-1 .header-bottom-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }
  .header-style-1 .primary-menu {
    flex-wrap: wrap;
  }
  /* Mobile: Allow wrapping but keep logo and right group separate */
  .header-style-2 .header-inner {
    flex-wrap: wrap;
    gap: 1rem;
    align-items: flex-start;
  }
  .header-style-2 .header-brand {
    width: 100%;
    margin-bottom: 0.5rem;
  }
  .header-style-2 .header-right-group {
    width: 100%;
    justify-content: space-between;
    flex-wrap: wrap;
    justify-content: flex-end;
  }
  /* Mobile: Keep navigation and icons together but allow wrapping if needed */
  .header-style-2 .primary-nav {
    order: 1;
    width: auto;
    justify-content: flex-start;
  }
  .header-style-2 .header-icons-right {
    order: 2;
  }
  .header-style-2 .primary-menu {
    flex-wrap: wrap;
    gap: 1rem;
  }
  .header-style-3 .header-inner {
    flex-wrap: wrap;
    gap: 1rem;
  }
  .header-style-3 .header-right-section {
    flex-wrap: wrap;
    width: 100%;
    justify-content: flex-start;
  }
  .header-style-3 .primary-menu {
    flex-wrap: wrap;
    gap: 1rem;
  }
}
/**
 * 22.0 - Footer Style 1 - Peptide Sciences Style
 */
.footer-style-1 {
  background-color: var(--c-bg);
}
.footer-style-1-main,
.footer-style-2-main,
.footer-style-3-main {
  background-color: var(--c-bg);
}
.footer-style-1 .footer-main-inner,
.footer-style-2 .footer-main-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
  width: 100%;
  display: block; /* critical: kills the base 3-col grid for style 1/2 */
}

/* Logo and tagline section (now in first column of grid) */
.footer-style-1 .custom-logo-link,
.footer-style-1 .custom-logo {
  max-height: 60px;
  width: auto;
}
.footer-style-1-col p {
  margin: 0;
  color: var(--c-muted);
  font-size: 0.875rem;
  line-height: 1.5;
}
/* Column headings */
.footer-style-1-col h4,
.footer-style-2-col h4,
.footer-style-3-col h4 {
  font-size: 0.875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.footer-style-1-col h4 {
  color: var(--c-heading);
  margin: 0 0 1rem 0;
}
.footer-style-2-col h4 {
  color: var(--c-gold);
  margin: 0 0 1.5rem 0;
}
.footer-style-3-col h4 {
  color: var(--c-bg);
}
/* Footer links */
.footer-style-1-linklist,
.footer-style-2-linklist,
.footer-style-3-linklist {
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer-style-1-linklist li {
  margin-bottom: 0.5rem;
}
.footer-style-1-linklist a {
  color: var(--c-muted);
  text-decoration: none;
  font-size: 0.875rem;
  transition: color 0.2s ease;
}
.footer-style-1-linklist a:hover {
  color: var(--c-heading);
}
/* Footer sub-menu styling for hierarchical pages */
.footer-style-1-linklist li ul,
.footer-style-1-linklist li ol,
.footer-style-2-linklist li ul,
.footer-style-2-linklist li ol,
.footer-style-3-linklist li ul,
.footer-style-3-linklist li ol {
  list-style: none;
  padding: 0.5rem 0 0 1rem;
  margin: 0;
}
.footer-style-1-linklist li li,
.footer-style-2-linklist li li,
.footer-style-3-linklist li li {
  margin-bottom: 0.25rem;
}
.footer-style-1-linklist li li a,
.footer-style-2-linklist li li a,
.footer-style-3-linklist li li a {
  font-size: 0.8125rem;
  padding-left: 0.5rem;
  border-left: 2px solid var(--c-muted);
  opacity: 0.8;
}
.footer-style-1-linklist li li a:hover,
.footer-style-2-linklist li li a:hover,
.footer-style-3-linklist li li a:hover {
  opacity: 1;
}
/* Contact column styling */
.footer-style-1-contact-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer-style-1-contact-col li {
  margin-bottom: var(--sp-6);
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}
.footer-style-1-contact-col svg {
  flex-shrink: 0;
  color: var(--c-primary-strong);
  width: 20px;
  height: 20px;
}
.footer-style-1-contact-col > div {
  flex: 1;
}
.footer-style-1-contact-col .footer-main-inner > div:last-of-type > div > div {
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--c-heading);
  margin-bottom: 0.25rem;
}
.footer-style-1-contact-col a {
  color: var(--c-heading);
  text-decoration: none;
}
.footer-style-1-contact-col a:hover {
  text-decoration: underline;
}
/* Grid layout for columns - 6 columns with logo as first column */
.footer-style-1-main .footer-main-inner > div {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr 1fr 1.5fr;
  gap: 2.5rem;
  margin-bottom: 3rem;
}

/* Disclaimer section */
.footer-style-1 .footer-main + div {
  background-color: var(--c-bg);
  border-top: 1px solid var(--c-border);
  padding: 2rem 0;
}
.footer-style-1 .footer-main + div p {
  font-size: 0.875rem;
  color: var(--c-muted);
  line-height: 1.6;
  margin: 0 0 1rem 0;
}
.footer-style-1 .footer-main + div p:last-child {
  margin-bottom: 0;
}
/* Footer disclaimer block */
#myspec-footer-legal {
  text-align: center;
  font-size: 12px;
  line-height: 1.6;
  max-width: 1100px;
  margin: 0 auto;
  padding: 18px 12px;
  border-top: 1px solid rgba(0,0,0,.12);
}
#myspec-footer-legal p {
  margin: 6px 0;
}
/* Responsive */
@media (max-width: 1024px) {
  .footer-style-1-main .footer-main-inner > div {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }
}
@media (max-width: 768px) {
  .footer-style-1-main .footer-main-inner > div {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
/**
 * 23.0 - Footer Style 2 - Core Peptides Style
 */
.footer-style-2 {
  background-color: var(--c-black);
  color: var(--c-bg);
}
/* Logo styling */
.footer-style-2 .custom-logo-link,
.footer-style-2 .custom-logo {
  max-height: 60px;
  width: auto;
  filter: brightness(0) invert(1);
}
/* Footer links - white text */
.footer-style-2-linklist li {
  margin-bottom: 0.75rem;
}
.footer-style-2-linklist a {
  color: var(--c-bg);
  text-decoration: none;
  font-size: 0.875rem;
  transition: opacity 0.2s ease;
}
.footer-style-2-linklist a:hover {
  opacity: 0.8;
  text-decoration: underline;
}
/* Disclaimer text - white */
.footer-style-2-col p {
  color: var(--c-bg);
  font-size: 0.875rem;
  line-height: 1.6;
  margin: 0 0 1rem 0;
}
.footer-style-2-col p:last-child {
  margin-bottom: 0;
}
.footer-style-2-col p[style*="font-style: italic"] {
  font-style: italic;
}
/* Grid layout for columns */
.footer-style-2-main .footer-main-inner > div[style*="grid-template-columns"] {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 3rem;
  margin-bottom: 0;
}
/* Copyright bar - dark gray with gold text */
.footer-style-2 > div:last-child {
  background-color: #1a1a1a;
  border-top: 1px solid #333333;
  padding: 1.5rem 0;
}
.footer-style-2 > div:last-child p {
  margin: 0;
  font-size: 0.875rem;
  color: var(--c-gold);
  text-align: center;
}
/* Payment method logos */
.footer-style-2 .footer-main-inner [style*="background: linear-gradient"] {
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}
/* Responsive */
@media (max-width: 1024px) {
  .footer-style-2-main .footer-main-inner > div[style*="grid-template-columns"] {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}
@media (max-width: 768px) {
  .footer-style-2-main .footer-main-inner > div[style*="grid-template-columns"] {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
/**
 * 24.0 - Footer Style 3 - GenScript Style (matches Header Style 3)
 */
.footer-style-3 {
  background-color: var(--c-sky);
  color: var(--c-bg);
}
.footer-style-3-linklist a {
  color: var(--c-bg);
  opacity: 0.9;
  transition: opacity 0.2s ease;
  text-decoration: none;
}
.footer-style-3-linklist a:hover {
  opacity: 1;
  text-decoration: underline;
}
.footer-style-3-contact h4,
.footer-style-3-social h4 {
  color: var(--c-bg);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.footer-style-3-contact a,
.footer-style-3-social a {
  color: var(--c-bg);
  opacity: 0.9;
  transition: all 0.2s ease;
}
.footer-style-3-contact a:hover,
.footer-style-3-social a:hover {
  opacity: 1;
}
.footer-style-3-social a {
  transition: background-color 0.2s ease;
}
.footer-style-3-social a:hover {
  background: rgba(255, 255, 255, 0.3);
}
/* Ensure footer-style-3 links are white */
.footer-style-3 .footer-linklist a,
.footer-style-3 a {
  color: var(--c-bg);
}
.footer-style-3 .footer-linklist a:hover,
.footer-style-3 a:hover {
  opacity: 1;
  text-decoration: underline;
}
/* Footer Style 3 responsive */
@media (max-width: 768px) {
  .footer-style-3-main .footer-main-inner > div[style*="grid-template-columns"] {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .footer-style-3-main .footer-main-inner > div[style*="grid-template-columns: 1fr 1fr"] {
    grid-template-columns: 1fr;
  }
}
/**
 * Social Links Shortcode Styles
 * [ts-social-links]
 */
.ts-social-links {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.ts-social-links li {
  margin: 0;
  padding: 0;
}
.ts-social-link a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: var(--c-bg-neutral);
  color: var(--c-gray-dark);
  text-decoration: none;
  transition: all 0.3s ease;
}
.ts-social-link a:hover {
  background-color: var(--c-primary-strong);
  color: var(--c-bg);
  transform: translateY(-2px);
}
.ts-social-link a i {
  font-size: 18px;
}
.ts-social-link a span {
  font-size: 14px;
  font-weight: 500;
}
/**
 * 404 Error Page Styles
 */
.section-404-error {
  min-height: 60vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4rem 2rem;
}
.error-404-content {
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
}
.error-404-icon {
  margin-bottom: 2rem;
}
.error-404-icon i {
  font-size: 120px;
  color: var(--c-muted);
  opacity: 0.8;
}
.error-404-title {
  font-size: 3rem;
  font-weight: 700;
  margin-bottom: var(--sp-6);
  color: var(--c-heading);
  line-height: 1.2;
}
.error-404-message {
  font-size: 1.125rem;
  color: var(--c-gray);
  margin-bottom: 2.5rem;
  line-height: 1.7;
}
.error-404-message p {
  margin-bottom: var(--sp-4);
}
.error-404-message p:last-child {
  margin-bottom: 0;
}
.error-404-search {
  max-width: 500px;
  margin: 0 auto;
}
.error-404-search .search-form {
  display: flex;
  gap: 0.5rem;
}
.error-404-search .search-field {
  flex: 1;
  padding: 0.75rem 1rem;
  border: 2px solid var(--c-border);
  border-radius: 0.5rem;
  font-size: 1rem;
}
.error-404-search .search-field:focus {
  outline: none;
  border-color: var(--c-primary-strong);
}
.error-404-search .search-submit {
  padding: 0.75rem 2rem;
  background-color: var(--c-primary-strong);
  color: var(--c-bg);
  border: none;
  border-radius: 0.5rem;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.3s ease;
}
.error-404-search .search-submit:hover {
  background-color: var(--c-primary-hover);
}
@media (max-width: 768px) {
  .error-404-icon i {
    font-size: 80px;
  }
  .error-404-title {
    font-size: 2rem;
  }
  .error-404-message {
    font-size: 1rem;
  }
  .error-404-search {
    max-width: 100%;
  }
  .error-404-search .search-form {
    flex-direction: column;
  }
}
/* =====================================================
   Slide-out Cart Sidebar Styles
   ===================================================== */
.peptide-cart-sidebar {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 99999;
  pointer-events: none;
  visibility: hidden;
}
.peptide-cart-sidebar.active {
  pointer-events: auto;
  visibility: visible;
}
.peptide-cart-sidebar-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  transition: opacity 0.3s ease;
}
.peptide-cart-sidebar.active .peptide-cart-sidebar-overlay {
  opacity: 1;
}
.peptide-cart-sidebar-content {
  position: absolute;
  top: 0;
  right: 0;
  width: 480px;
  max-width: 100%;
  height: 100%;
  background: var(--c-bg);
  box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform 0.3s ease;
}
.peptide-cart-sidebar.active .peptide-cart-sidebar-content {
  transform: translateX(0);
}
/* Header */
.peptide-cart-sidebar-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid var(--c-border);
  flex-shrink: 0;
}
.peptide-cart-sidebar-title {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
}
.peptide-cart-sidebar-title h3 {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--c-text);
}
.peptide-cart-sidebar-title-link {
  color: #0066CC;
  text-decoration: none;
  transition: color 0.2s ease;
}
.peptide-cart-sidebar-title-link:hover {
  color: #0052a3;
  text-decoration: underline;
}
.peptide-cart-sidebar-count {
  font-size: 0.95rem;
  color: var(--c-muted);
  font-weight: 400;
}
.peptide-cart-sidebar-continue {
  background: #0066CC !important;
  border: none !important;
  color: #ffffff !important;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.625rem 1.25rem;
  border-radius: 2rem;
  transition: background-color 0.2s ease;
  text-decoration: none;
}
.peptide-cart-sidebar-continue:hover {
  background: #0052a3 !important;
  color: #ffffff !important;
}
.peptide-cart-sidebar-continue span {
  font-size: 1rem;
}
/* Success Message Banner */
.peptide-cart-success-message {
  padding: 0.875rem 1.5rem;
  background: var(--c-primary-strong);
  color: var(--c-bg);
  font-size: 0.9rem;
  font-weight: 500;
  text-align: center;
  flex-shrink: 0;
}
/* Free Shipping Progress */
.peptide-cart-shipping-progress {
  padding: 1rem 1.5rem;
  background: var(--c-surface);
  border-bottom: 1px solid var(--c-border);
  flex-shrink: 0;
}
.peptide-cart-shipping-bar {
  position: relative;
  height: 8px;
  background: var(--c-border);
  border-radius: 4px;
  overflow: visible;
  margin-bottom: 0.75rem;
}
.peptide-cart-shipping-fill {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background: linear-gradient(90deg, var(--c-primary-strong) 0%, var(--c-primary) 100%);
  border-radius: 4px;
  transition: width 0.5s ease;
}
.peptide-cart-shipping-icon {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(50%, -50%);
  width: 32px;
  height: 32px;
  background: var(--c-bg);
  border: 2px solid var(--c-border);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c-muted);
  transition: all 0.3s ease;
}
.peptide-cart-shipping-icon.achieved {
  background: #22c55e;
  border-color: #22c55e;
  color: var(--c-bg);
}
.peptide-cart-shipping-text {
  font-size: 0.85rem;
  color: var(--c-gray-dark);
  text-align: center;
}
.peptide-cart-shipping-text strong {
  color: var(--c-primary-strong);
}
/* Cart Items */
.peptide-cart-sidebar-items {
  flex: 1;
  overflow-y: auto;
  padding: 0;
}
.peptide-cart-sidebar-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 3rem 1.5rem;
  text-align: center;
}
.peptide-cart-sidebar-empty p {
  color: var(--c-muted);
  font-size: 1rem;
  margin: 0 0 1rem;
}
.peptide-cart-sidebar-shop-link {
  color: var(--c-primary-strong);
  font-weight: 500;
  text-decoration: underline;
}
/* Cart Item */
.peptide-cart-item {
  display: flex;
  gap: 1rem;
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid var(--c-border);
  position: relative;
}
.peptide-cart-item-image {
  width: 80px;
  height: 80px;
  flex-shrink: 0;
  background: var(--c-surface);
  border-radius: 0.5rem;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.peptide-cart-item-image img {
  max-width: 100%;
  max-height: 100%;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.peptide-cart-item-image img[src=""],
.peptide-cart-item-image img:not([src]) {
  display: none;
}
.peptide-cart-item-details {
  flex: 1;
  min-width: 0;
}
.peptide-cart-item-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.5rem;
  margin-bottom: 0.25rem;
}
.peptide-cart-item-title {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--c-text);
  line-height: 1.3;
  flex: 1;
}
.peptide-cart-item-shipping {
  font-size: 0.75rem;
  color: var(--c-muted);
  margin: 0 0 0.75rem;
  line-height: 1.4;
}
.peptide-cart-item-shipping strong {
  color: var(--c-primary-strong);
}
.peptide-cart-item-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.peptide-cart-item-qty {
  display: inline-flex;
  align-items: center;
  border: 1px solid #d1d5db;
  border-radius: 0.375rem;
  overflow: hidden;
}
.peptide-cart-item-qty button {
  width: 32px;
  height: 32px;
  border: none;
  background: var(--c-bg);
  color: var(--c-gray-dark);
  font-size: 1rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s ease;
}
.peptide-cart-item-qty button:hover {
  background: var(--c-bg-neutral);
}
.peptide-cart-item-qty input {
  width: 40px;
  height: 32px;
  border: none;
  border-left: 1px solid #d1d5db;
  border-right: 1px solid #d1d5db;
  text-align: center;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--c-text);
  -moz-appearance: textfield;
  appearance: textfield;
}
.peptide-cart-item-qty input::-webkit-outer-spin-button,
.peptide-cart-item-qty input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.peptide-cart-item-price {
  font-size: 1rem;
  font-weight: 700;
  color: var(--c-text);
}
.peptide-cart-item-remove {
  width: 28px;
  height: 28px;
  border: none !important;
  background: transparent !important;
  color: var(--c-gray-light) !important;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  flex-shrink: 0;
  padding: 0;
}
.peptide-cart-item-remove:hover,
.peptide-cart-item-remove:focus,
.peptide-cart-item-remove:active {
  color: var(--c-primary-strong) !important;
  background: transparent !important;
  border: none !important;
  transform: scale(1.1);
}
.peptide-cart-item-remove svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
}
.peptide-cart-item-remove:hover svg,
.peptide-cart-item-remove:focus svg,
.peptide-cart-item-remove:active svg {
  stroke: var(--c-primary-strong);
}
/* Bulk Discounts in Cart Item */
.peptide-cart-item-discounts {
  margin-top: 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.peptide-cart-item-discount {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.5rem 0.75rem;
  border: 1px solid var(--c-primary-strong);
  border-radius: 0.375rem;
  background: var(--c-bg);
}
.peptide-cart-item-discount-label {
  color: var(--c-primary-strong);
  font-size: 0.8rem;
  font-weight: 600;
}
.peptide-cart-item-discount-price {
  color: var(--c-gray-dark);
  font-size: 0.8rem;
  font-weight: 600;
}
/* Footer */
.peptide-cart-sidebar-footer {
  padding: 1.25rem 1.5rem;
  border-top: 1px solid var(--c-border);
  background: var(--c-bg);
  flex-shrink: 0;
}
.peptide-cart-sidebar-subtotal {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--sp-4);
}
.peptide-cart-sidebar-subtotal span:first-child {
  font-size: 1rem;
  color: var(--c-gray-dark);
}
.peptide-cart-sidebar-subtotal span:last-child {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--c-text);
}
.peptide-cart-sidebar-checkout {
  display: block;
  width: 100%;
  padding: 1rem;
  background: var(--c-primary-strong);
  color: var(--c-bg);
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  border-radius: 0.5rem;
  margin-bottom: 0.75rem;
  transition: background 0.2s ease;
}
.peptide-cart-sidebar-checkout:hover {
  background: var(--c-primary-hover);
  color: var(--c-bg);
}
.peptide-cart-sidebar-view-cart {
  display: block;
  width: 100%;
  padding: 0.75rem;
  background: var(--c-bg);
  color: var(--c-primary-strong);
  font-size: 0.95rem;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  border: 2px solid var(--c-primary-strong);
  border-radius: 0.5rem;
  margin-bottom: 0.75rem;
  transition: all 0.2s ease;
}
.peptide-cart-sidebar-view-cart:hover {
  background: #eff6ff;
}
.peptide-cart-sidebar-promo {
  text-align: center;
  margin-top: 0.5rem;
}
.peptide-cart-sidebar-promo a {
  color: var(--c-muted);
  font-size: 0.9rem;
  text-decoration: none;
}
.peptide-cart-sidebar-promo a:hover {
  color: var(--c-primary-strong);
  text-decoration: underline;
}
/* Hide footer when cart is empty */
.peptide-cart-sidebar.cart-empty .peptide-cart-sidebar-footer {
  display: none;
}
/* Add to Cart Button States */
.ps-product-add-to-cart.loading,
.add_to_cart_button.loading {
  opacity: 0.7;
  pointer-events: none;
  position: relative;
}
.ps-product-add-to-cart.loading::after,
.add_to_cart_button.loading::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 16px;
  margin: -8px 0 0 -8px;
  border: 2px solid var(--c-bg);
  border-top-color: transparent;
  border-radius: 50%;
  animation: button-spin 0.8s linear infinite;
}
@keyframes button-spin {
  to {
    transform: rotate(360deg);
  }
}
.ps-product-add-to-cart.added,
.add_to_cart_button.added {
  background: #22c55e !important;
  border-color: #22c55e !important;
}
.ps-product-add-to-cart.added::before,
.add_to_cart_button.added::before {
  content: "✓ ";
}
/* Mobile responsive */
@media (max-width: 480px) {
  .peptide-cart-sidebar-content {
    width: 100%;
  }
  .peptide-cart-sidebar-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
  .peptide-cart-item {
    padding: 1rem;
  }
  .peptide-cart-item-image {
    width: 70px;
    height: 70px;
  }
}
/* Cart Notification Badge */
.header-cart-container {
  position: relative;
  display: inline-block;
}
.cart-notification-badge {
  position: absolute;
  top: -6px;
  right: -6px;
  min-width: 18px;
  min-height: 18px;
  background: var(--c-primary-strong);
  color: var(--c-bg);
  border-radius: 4px;
  font-size: 11px;
  font-weight: 700;
  text-align: center;
  line-height: 18px;
  padding: 0 4px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--c-bg);
}
.cart-notification-badge.hidden {
  display: none !important;
}
/* Ensure cart notification badge is visible on cart page */
.woocommerce-cart .cart-notification-badge,
body.woocommerce-cart .cart-notification-badge,
.woocommerce-cart .header-cart-container .cart-notification-badge {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}
/* Ensure badge text is visible and styled */
.woocommerce-cart .cart-notification-badge,
body.woocommerce-cart .cart-notification-badge {
  color: var(--c-bg) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
}
/* Ensure cart notification popup is visible on cart page */
.woocommerce-cart #cart-notification-popup,
body.woocommerce-cart #cart-notification-popup {
  z-index: 99999 !important;
  position: fixed !important;
}
/* When popup is shown (display: block in inline style), ensure it's fully visible */
.woocommerce-cart #cart-notification-popup[style*="display: block"],
body.woocommerce-cart #cart-notification-popup[style*="display: block"],
.woocommerce-cart #cart-notification-popup[style*="display:block"],
body.woocommerce-cart #cart-notification-popup[style*="display:block"] {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  transform: translateY(0) !important;
}
/* Ensure cart notification badge is visible on cart page - ULTRA AGGRESSIVE */
body.woocommerce-cart .header-cart-container .cart-notification-badge,
html body.woocommerce-cart .header-cart-container .cart-notification-badge,
.woocommerce-cart .header-cart-container .cart-notification-badge,
body.woocommerce-cart .icon-cart .cart-notification-badge,
html body.woocommerce-cart .icon-cart .cart-notification-badge,
.woocommerce-cart .icon-cart .cart-notification-badge {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: absolute !important;
  top: -6px !important;
  right: -6px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  background: #0066CC !important;
  color: #fff !important;
  border-radius: 4px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 18px !important;
  padding: 0 4px !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2) !important;
  z-index: 10 !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid var(--c-bg) !important;
}
/* Override hidden class completely on cart page */
body.woocommerce-cart .cart-notification-badge.hidden,
html body.woocommerce-cart .cart-notification-badge.hidden,
.woocommerce-cart .cart-notification-badge.hidden {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}
/* Adjust positioning for different header styles */
.header-style-2 .cart-notification-badge {
  top: -4px;
  right: -4px;
}
.header-style-3-cart-icon .cart-notification-badge {
  top: -6px;
  right: -6px;
}
/* ============== SHOP TOOLBAR (Items count + Sort By) ============== */
/* ===== SHOP TOOLBAR: force 2-row grid so products never sit beside it ===== */
body.woocommerce.archive .peptide-shop-toolbar,
body.tax-product_cat .peptide-shop-toolbar,
body.post-type-archive-product .peptide-shop-toolbar {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  grid-template-rows: auto auto !important;
  column-gap: 24px !important;
  row-gap: 18px !important;
  align-items: center !important;
  width: 100% !important;
}
/* count left, sort right (row 1) */
body.woocommerce.archive .peptide-shop-toolbar .peptide-product-count,
body.tax-product_cat .peptide-shop-toolbar .peptide-product-count,
body.post-type-archive-product .peptide-shop-toolbar .peptide-product-count {
  grid-column: 1 !important;
  grid-row: 1 !important;
}
body.woocommerce.archive .peptide-shop-toolbar .peptide-product-sorting,
body.tax-product_cat .peptide-shop-toolbar .peptide-product-sorting,
body.post-type-archive-product .peptide-shop-toolbar .peptide-product-sorting {
  grid-column: 2 !important;
  grid-row: 1 !important;
  justify-self: end !important;
}
/* CRITICAL: if the products list (any variant) is inside the toolbar, force it to row 2 full width */
body.woocommerce.archive .peptide-shop-toolbar ul.products,
body.woocommerce.archive .peptide-shop-toolbar .ps-shop-grid,
body.woocommerce.archive .peptide-shop-toolbar ul.ps-products-grid,
body.woocommerce.archive .peptide-shop-toolbar #ps-products-list,
body.tax-product_cat .peptide-shop-toolbar ul.products,
body.tax-product_cat .peptide-shop-toolbar .ps-shop-grid,
body.tax-product_cat .peptide-shop-toolbar ul.ps-products-grid,
body.tax-product_cat .peptide-shop-toolbar #ps-products-list,
body.post-type-archive-product .peptide-shop-toolbar ul.products,
body.post-type-archive-product .peptide-shop-toolbar .ps-shop-grid,
body.post-type-archive-product .peptide-shop-toolbar ul.ps-products-grid,
body.post-type-archive-product .peptide-shop-toolbar #ps-products-list {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  width: 100%;
  max-width: none;
  margin: 0;
}
.peptide-shop-toolbar__count {
  font-size: 14px;
  font-weight: 600;
  color: var(--c-text);
}
.peptide-shop-toolbar__sort {
  margin-left: auto;
}
/* Remove spacing when dropdown is placed inside the toolbar */
.peptide-shop-toolbar__sort .peptide-product-sorting {
  margin: 0;
  padding: 0;
}
/* Make label + select sit inline like the reference */
.peptide-product-sorting form {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
}
.peptide-product-sorting label {
  font-size: 14px;
  font-weight: 600;
  color: var(--c-text);
  margin: 0;
  white-space: nowrap;
}
.peptide-product-sorting select {
  min-width: 180px;
  padding: 10px 36px 10px 12px;
  border: 1px solid var(--c-border);
  border-radius: 8px;
  background-color: var(--c-bg);
  font-size: 14px;
  line-height: 1.2;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 20 20'%3E%3Cpath fill='%23111827' d='M5.5 7.5 10 12l4.5-4.5 1.4 1.4L10 14.8 4.1 8.9z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 14px;
}
.peptide-product-sorting select:focus {
  outline: none;
  border-color: var(--c-primary-strong);
  box-shadow: 0 0 0 3px rgba(37,99,235,0.20);
}
/* Mobile: stack count and sort cleanly */
@media (max-width: 640px) {
  body.woocommerce.archive .peptide-shop-toolbar,
body.tax-product_cat .peptide-shop-toolbar,
body.post-type-archive-product .peptide-shop-toolbar {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto !important;
  }
  body.woocommerce.archive .peptide-shop-toolbar .peptide-product-count,
body.tax-product_cat .peptide-shop-toolbar .peptide-product-count,
body.post-type-archive-product .peptide-shop-toolbar .peptide-product-count {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }
  body.woocommerce.archive .peptide-shop-toolbar .peptide-product-sorting,
body.tax-product_cat .peptide-shop-toolbar .peptide-product-sorting,
body.post-type-archive-product .peptide-shop-toolbar .peptide-product-sorting {
    grid-column: 1 !important;
    grid-row: 2 !important;
    justify-self: start !important;
  }
  .peptide-product-sorting select {
    width: 100%;
    min-width: 0;
  }
}
/* Optional safety net: hide default WooCommerce toolbar if it still appears */
/* DISABLED: We want to show result count and ordering now */
/*
.woocommerce-result-count,
.woocommerce-ordering{
  display: none !important;
}

*/
/* =========================================================
   Product card title hover: blue + tooltip showing full name
   ========================================================= */
/* Make sure the title/link can anchor the tooltip */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title a {
  position: relative;
}
/* Smooth color change on hover */
.woocommerce ul.products li.product .woocommerce-loop-product__title a {
  transition: color 0.15s ease;
}
/* Turn title blue on hover (match your theme blue if different) */
.woocommerce ul.products li.product:hover .woocommerce-loop-product__title a {
  color: var(--c-primary-strong);
}
/* Tooltip: uses the link's title attribute text */
.woocommerce ul.products li.product .woocommerce-loop-product__title a[title]::after {
  content: attr(title);
  position: absolute;
  left: 50%;
  bottom: -34px;
  transform: translateX(-50%);
  padding: 6px 10px;
  border-radius: 6px;
  background: rgba(17, 24, 39, 0.95);
  color: var(--c-bg);
  font-size: 12px;
  line-height: 1.2;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  z-index: 9999;
  box-shadow: 0 8px 24px rgba(0,0,0,0.18);
}
/* Tooltip arrow */
.woocommerce ul.products li.product .woocommerce-loop-product__title a[title]::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -10px;
  transform: translateX(-50%);
  border: 6px solid transparent;
  border-bottom-color: rgba(17, 24, 39, 0.95);
  opacity: 0;
  pointer-events: none;
  z-index: 9999;
}
/* Show tooltip when hovering the title or the card */
.woocommerce ul.products li.product:hover .woocommerce-loop-product__title a[title]::after,
.woocommerce ul.products li.product:hover .woocommerce-loop-product__title a[title]::before,
.woocommerce ul.products li.product .woocommerce-loop-product__title a[title]:hover::after,
.woocommerce ul.products li.product .woocommerce-loop-product__title a[title]:hover::before {
  opacity: 1;
}
/* Title turns blue when hovering the whole card */
.ps-product-card:hover .ps-product-full-title a {
  color: var(--c-primary-strong);
  text-decoration: underline;
}
/* Title goes blue when hovering the card (and when hovering the title itself) */
.woocommerce ul.products li.product:hover .ps-product-full-title a,
.ps-product-card:hover .ps-product-full-title a,
.ps-product-full-title a:hover {
  color: var(--c-primary-strong);
  text-decoration: underline;
}
/* Put the cart badge on top of the cart icon */
.header-cart-link .icon-cart {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.ps-archive-subtitle {
  margin: 6px 0 18px;
  font-size: 14px;
  color: var(--c-gray);
}
.ps-archive-subtitle p {
  margin: 0;
}
/* =========================================================
   WC ARCHIVES (Shop / Category / Tag / Search)
   Single source of truth:
   - Removes sidebar column if theme uses 2-col layout
   - Toolbar stays above products
   - 5-up grid on desktop
   - Clears floats so grid never shifts right
   ========================================================= */
body.woocommerce.archive #secondary,
body.woocommerce.archive .sidebar,
body.woocommerce.archive .widget-area,
body.post-type-archive-product #secondary,
body.post-type-archive-product .sidebar,
body.post-type-archive-product .widget-area,
body.tax-product_cat #secondary,
body.tax-product_cat .sidebar,
body.tax-product_cat .widget-area,
body.tax-product_tag #secondary,
body.tax-product_tag .sidebar,
body.tax-product_tag .widget-area {
  display: none !important;
}
/* Ensure content spans full width on archives */
body.woocommerce.archive #primary,
body.woocommerce.archive .content-area,
body.post-type-archive-product #primary,
body.post-type-archive-product .content-area,
body.tax-product_cat #primary,
body.tax-product_cat .content-area,
body.tax-product_tag #primary,
body.tax-product_tag .content-area {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
/* If theme wrapper is flex/grid two-column, force it to 1 column */
body.woocommerce.archive .site-with-sidebar,
body.woocommerce.archive .section-page-default .site-main-inner,
body.post-type-archive-product .site-with-sidebar,
body.post-type-archive-product .section-page-default .site-main-inner,
body.tax-product_cat .site-with-sidebar,
body.tax-product_cat .section-page-default .site-main-inner,
body.tax-product_tag .site-with-sidebar,
body.tax-product_tag .section-page-default .site-main-inner {
  display: block !important;
  grid-template-columns: 1fr !important;
  grid-template-areas: none !important;
}
/* Toolbar behavior: keep above grid */
body.woocommerce.archive .woocommerce-result-count,
body.woocommerce.archive .woocommerce-ordering,
body.post-type-archive-product .woocommerce-result-count,
body.post-type-archive-product .woocommerce-ordering,
body.tax-product_cat .woocommerce-result-count,
body.tax-product_cat .woocommerce-ordering,
body.tax-product_tag .woocommerce-result-count,
body.tax-product_tag .woocommerce-ordering {
  float: none !important;
  clear: none !important;
  width: auto;
  margin: 0;
}
/* ===== WC ARCHIVE FINAL OVERRIDES (stop 2-column layouts dead) ===== */
body.woocommerce.archive #primary,
body.tax-product_cat #primary,
body.post-type-archive-product #primary,
body.woocommerce.archive .content-area,
body.tax-product_cat .content-area,
body.post-type-archive-product .content-area {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
body.woocommerce.archive #secondary,
body.tax-product_cat #secondary,
body.post-type-archive-product #secondary,
body.woocommerce.archive .sidebar,
body.tax-product_cat .sidebar,
body.post-type-archive-product .sidebar,
body.woocommerce.archive .widget-area,
body.tax-product_cat .widget-area,
body.post-type-archive-product .widget-area {
  display: none !important;
}
/* Responsive grid caps consolidated later with the `.woocommerce ul.products.columns-*` rules. */
/* =========================================================
   WC ARCHIVE: Category Page Layout
   Title → Description → Result Count/Sorting → 5-Column Product Grid
   ========================================================= */
/* Category description spacing and layout */
body.tax-product_cat .term-description,
body.tax-product_tag .term-description {
  margin-bottom: 2rem !important;
  padding-bottom: 1rem !important;
  border-bottom: 1px solid var(--c-border) !important;
  clear: both !important;
  width: 100% !important;
}
/* Shop controls container - horizontal layout for result count and sorting */
.woocommerce-shop-controls {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center;
  width: 100% !important;
  margin-bottom: 2rem !important;
  margin-top: 1rem !important;
  flex-wrap: wrap !important;
  gap: 1rem !important;
  position: relative !important;
  z-index: 2 !important;
}
/* Result count and sorting in horizontal row */
.woocommerce-shop-controls .woocommerce-result-count,
.woocommerce-shop-controls .woocommerce-ordering {
  display: flex;
  align-items: center;
  margin: 0;
  flex-shrink: 0 !important;
}
/* Result count on the left */
.woocommerce-shop-controls .woocommerce-result-count {
  order: 1;
  text-align: left;
  justify-content: flex-start;
}
/* Ordering dropdown on the right */
.woocommerce-shop-controls .woocommerce-ordering {
  order: 2;
  text-align: right;
  margin-left: auto;
  justify-content: flex-end;
}
/* Sort By label styling */
.woocommerce-shop-controls .woocommerce-ordering label {
  margin-right: 0.5rem;
  margin-bottom: 0;
  font-weight: 600;
  white-space: nowrap !important;
}
/* Dropdown select styling */
.woocommerce-shop-controls .woocommerce-ordering select {
  min-width: 180px;
  padding: 0.5rem;
  border: 1px solid #d1d5db;
  border-radius: 0.375rem;
  background: var(--c-bg);
}
/* Responsive: stack vertically on small screens */
@media (max-width: 767px) {
  .woocommerce-shop-controls {
    flex-direction: column !important;
    align-items: stretch;
  }
  .woocommerce-shop-controls .woocommerce-result-count,
.woocommerce-shop-controls .woocommerce-ordering {
    text-align: center;
    margin-left: 0;
  }
  .woocommerce-shop-controls .woocommerce-ordering {
    order: 1;
    margin-bottom: 1rem;
  }
  .woocommerce-shop-controls .woocommerce-result-count {
    order: 2;
  }
}
/* Product grid spacing from shop controls above */
.woocommerce ul.products {
  margin-top: 2rem;
  clear: both;
}
/* Ensure shop controls don't interfere with product grid */
/* Hide category information on product cards */
.ps-product-card .product-category,
.ps-product-card .woocommerce-loop-category__title,
.ps-product-card .term-description,
.ps-product-card .woocommerce-loop-product__category,
.ps-product-card .product_meta .posted_in {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
}
/* Footer disclaimer section and alignment options */
.disclaimer-section {
  display: block;
  visibility: visible !important;
}
.disclaimer-content {
  display: block;
  visibility: visible !important;
}
/* Footer text color schemes */
.footer-text-light {
  --footer-link: var(--c-bg);
  --footer-link-hover: rgba(255, 255, 255, 0.8);
  color: var(--footer-link);
}
.footer-text-dark {
  --footer-link: var(--c-heading);
  --footer-link-hover: var(--c-muted);
  color: var(--footer-link);
}
.footer-text-light a,
.footer-text-dark a {
  color: var(--footer-link);
}
.footer-text-light a:hover,
.footer-text-dark a:hover {
  color: var(--footer-link-hover);
}
/* Override specific footer styles when text schemes are applied */
.footer-text-light.footer-style-1 .footer-style-1-main,
.footer-text-light.footer-style-3 .footer-style-3-main {
  color: var(--c-bg);
}
.footer-text-dark.footer-style-2 .footer-style-2-main,
.footer-text-dark.footer-style-3 .footer-style-3-main {
  color: var(--c-heading);
}
/* Footer layout variations - these can be extended for different column arrangements */
.footer-2col.footer-2col-brand-links .footer-col-1,
.footer-2col.footer-2col-brand-links .footer-col-2 {
  grid-column: span 1;
}
.footer-2col.footer-2col-links-contact .footer-col-2,
.footer-2col.footer-2col-links-contact .footer-col-3 {
  grid-column: span 1;
}
.footer-1col-centered .footer-col-1,
.footer-1col-centered .footer-col-2,
.footer-1col-centered .footer-col-3 {
  text-align: center;
  margin: 0 auto;
  max-width: 400px;
}
.footer-1col-centered .footer-col-1 {
  margin-bottom: 2rem;
}
.footer-1col-centered .footer-col-2 {
  margin-bottom: 2rem;
}
/* =========================================================
   WC ARCHIVE GRID: follow WooCommerce Customizer "Products per row"
   WooCommerce adds class: ul.products.columns-X
   ========================================================= */
body.woocommerce.archive ul.products,
body.post-type-archive-product ul.products,
body.tax-product_cat ul.products,
body.tax-product_tag ul.products {
  display: grid;
  gap: 24px;
  list-style: none !important;
  margin: 0 0 32px;
  padding: 0;
  width: 100%;
  max-width: none;
  float: none;
  clear: both;
}
/* Kill legacy float sizing */
body.woocommerce.archive ul.products li.product,
body.post-type-archive-product ul.products li.product,
body.tax-product_cat ul.products li.product,
body.tax-product_tag ul.products li.product {
  float: none;
  width: auto;
  max-width: none;
  min-width: 0;
  margin: 0;
  padding: 0;
}
/* Desktop: follow Woo's columns-X class (Customizer-driven) - MAXIMUM SPECIFICITY */
body.woocommerce.archive ul.products.columns-1,
body.post-type-archive-product ul.products.columns-1,
body.tax-product_cat ul.products.columns-1,
body.tax-product_tag ul.products.columns-1,
.woocommerce ul.products.columns-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
body.woocommerce.archive ul.products.columns-2,
body.post-type-archive-product ul.products.columns-2,
body.tax-product_cat ul.products.columns-2,
body.tax-product_tag ul.products.columns-2,
.woocommerce ul.products.columns-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
body.woocommerce.archive ul.products.columns-3,
body.post-type-archive-product ul.products.columns-3,
body.tax-product_cat ul.products.columns-3,
body.tax-product_tag ul.products.columns-3,
.woocommerce ul.products.columns-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
body.woocommerce.archive ul.products.columns-4,
body.post-type-archive-product ul.products.columns-4,
body.tax-product_cat ul.products.columns-4,
body.tax-product_tag ul.products.columns-4,
.woocommerce ul.products.columns-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
body.woocommerce.archive ul.products.columns-5,
body.post-type-archive-product ul.products.columns-5,
body.tax-product_cat ul.products.columns-5,
body.tax-product_tag ul.products.columns-5,
.woocommerce ul.products.columns-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
body.woocommerce.archive ul.products.columns-6,
body.post-type-archive-product ul.products.columns-6,
body.tax-product_cat ul.products.columns-6,
body.tax-product_tag ul.products.columns-6,
.woocommerce ul.products.columns-6 {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
/* Responsive caps (never increase columns) */
@media (max-width: 1600px) {
  .woocommerce ul.products.columns-6 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}
@media (max-width: 2200px) {
  .woocommerce ul.products.columns-6,
.woocommerce ul.products.columns-5 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (max-width: 900px) {
  .woocommerce ul.products.columns-6,
.woocommerce ul.products.columns-5,
.woocommerce ul.products.columns-4,
.woocommerce ul.products.columns-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 600px) {
  .woocommerce ul.products.columns-6,
.woocommerce ul.products.columns-5,
.woocommerce ul.products.columns-4,
.woocommerce ul.products.columns-3,
.woocommerce ul.products.columns-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 520px) {
  .woocommerce ul.products {
    grid-template-columns: 1fr;
  }
}
/* =================================================
   EMERGENCY 5-COLUMN OVERRIDE - MAXIMUM PRIORITY
   ================================================= */
body.tax-product_cat ul.products.columns-5,
body.tax-product_tag ul.products.columns-5,
body.woocommerce.archive ul.products.columns-5,
body.post-type-archive-product ul.products.columns-5 {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 24px;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none !important;
}
/* Force 5 columns regardless of other rules */
ul.products.columns-5.ps-shop-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
/* ================================
   Product Card Custom Styles (ps-product-full-title)
   ================================ */
/* Ensure product card title link shows blue on hover */
.ps-product-full-title a[title] {
  position: relative;
}
.ps-product-card:hover .ps-product-full-title a[title] {
  color: var(--c-primary-strong) !important;
}
/* Tooltip for ps-product-full-title link */
.ps-product-full-title a[title]::after {
  content: attr(title);
  position: absolute;
  left: 50%;
  bottom: -34px;
  transform: translateX(-50%);
  padding: 6px 10px;
  border-radius: 6px;
  background: rgba(17, 24, 39, 0.95);
  color: var(--c-bg);
  font-size: 12px;
  line-height: 1.2;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  z-index: 9999;
  box-shadow: 0 8px 24px rgba(0,0,0,0.18);
}
/* Tooltip arrow for ps-product-full-title link */
.ps-product-full-title a[title]::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -10px;
  transform: translateX(-50%);
  border: 6px solid transparent;
  border-bottom-color: rgba(17, 24, 39, 0.95);
  opacity: 0;
  pointer-events: none;
  z-index: 9999;
}
/* Show tooltip on hover */
.ps-product-card:hover .ps-product-full-title a[title]::after,
.ps-product-card:hover .ps-product-full-title a[title]::before {
  opacity: 1;
}
/* ================================
   Footer Style 1 – Disclaimer (final)
   ================================ */
.footer-style-1 .footer-main + .disclaimer-section {
  border-top: 1px solid rgba(0,0,0,.12);
  padding: 16px 0;
}
/* The disclaimer content container (this is where your theme was clamping width) */
.footer-style-1 .disclaimer-section .disclaimer-content,
.footer-style-1 #myspec-footer-legal {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 12px;
  text-align: center;
  font-size: 12px;
  line-height: 1.6;
  border-top: 0;
}
/* Paragraph behavior: no narrow max-width, consistent spacing */
.footer-style-1 .disclaimer-section .disclaimer-content p,
.footer-style-1 #myspec-footer-legal p,
.footer-style-1 .footer-disclaimer-inner p {
  max-width: none;
  margin: 6px 0;
}
/* ======================================================================
*/

/* ============================================================
   Header Style 1 — Tablet/Mobile Wrap Rules (canonical)
   Keep search full-width below logo on <=1023px when needed.
   ============================================================ */

@media (max-width: 1023px) {
  html body .header-style-1 .header-top-inner,
  body .site-header.header-style-1 .header-top-inner {
    flex-wrap: wrap;
  }

  html body .header-style-1 .header-top-inner .header-search-center,
  body .site-header.header-style-1 .header-top-inner .header-search-center {
    flex: 1 1 100% !important;
    max-width: none;
    margin: 0.75rem 0 0;
    order: 3;
    justify-content: stretch;
  }
}

/* ============================================================
   HOTFIX (v4.2) — FORCE Header Style 1 top row to be 3-column flex
   Symptom: logo / search / account stack vertically on desktop.
   Cause: header containers picking up column/grid/nowrap conflicts.
   Fix: explicitly set the header top container to flex-row on desktop
        and constrain search width so it won't push items to new lines.
   ============================================================ */
@media (min-width: 1024px) {
    /* 1) Force the top header row container into a single flex row */
    html body .site-header.header-style-1 .ps-header-main-inner,
    html body .header-style-1 .ps-header-main-inner,
    html body .site-header.header-style-1 .header-top-inner,
    html body .header-style-1 .header-top-inner {
      display: flex !important;
      flex-direction: row !important;
      flex-wrap: nowrap !important;
      align-items: center !important;
      justify-content: space-between !important;
      gap: 2rem !important;
    }
  
    /* 2) Logo / brand should never shrink */
    html body .site-header.header-style-1 .ps-header-logo,
    html body .header-style-1 .ps-header-logo,
    html body .site-header.header-style-1 .header-brand,
    html body .header-style-1 .header-brand,
    html body .site-header.header-style-1 .site-branding,
    html body .header-style-1 .site-branding {
      flex: 0 0 auto !important;
      flex-shrink: 0 !important;
      order: 1 !important;
    }
  
        /* 3) Search takes remaining space — restore original spacing */
    html body .site-header.header-style-1 .ps-header-search-center,
    html body .header-style-1 .ps-header-search-center,
    html body .site-header.header-style-1 .header-search-center,
    html body .header-style-1 .header-search-center {
      flex: 1 1 auto !important;
      flex-shrink: 1 !important;
      min-width: 0 !important;

      /* restore old layout behavior */
      max-width: none !important;
      margin: 0 2rem !important;

      width: auto !important;
      order: 2 !important;
    }

    html body .header-style-1 .ps-header-search-center .header-search-form,
    html body .header-style-1 .header-search-center .header-search-form,
    html body .header-style-1 .ps-header-search-center form,
    html body .header-style-1 .header-search-center form {
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;
    }
  
    /* 4) Account/cart stays on the right */
    html body .site-header.header-style-1 .ps-header-account-right,
    html body .header-style-1 .ps-header-account-right,
    html body .site-header.header-style-1 .header-account-right,
    html body .header-style-1 .header-account-right {
      flex: 0 0 auto !important;
      flex-shrink: 0 !important;
      margin-left: auto !important;
      order: 3 !important;
      width: auto !important;
    }
  }

/* =========================================================
   SIGN IN / SIGN UP PAGE (My Account) — STABLE LAYOUT
   ========================================================= */

/* Container */
body.woocommerce-account:not(.logged-in) .ms-auth,
body.woocommerce-account:not(.logged-in) #customer_login {
  width: 100%;
  max-width: 1200px;
  margin: 3rem auto;
  padding: 0 clamp(16px, 3vw, 32px);
  box-sizing: border-box;
}

/* Two-column grid */
body.woocommerce-account:not(.logged-in) .ms-auth__grid,
body.woocommerce-account:not(.logged-in) #customer_login {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 5rem;
  row-gap: 4rem;
  align-items: start;
}

/* Left column with divider */
body.woocommerce-account:not(.logged-in) .ms-auth__signin,
body.woocommerce-account:not(.logged-in) #customer_login .u-column1,
body.woocommerce-account:not(.logged-in) #customer_login .col-1 {
  padding-right: 2.5rem;
  border-right: 1px solid #d1d5db;
}

/* Right column */
body.woocommerce-account:not(.logged-in) .ms-auth__signup,
body.woocommerce-account:not(.logged-in) #customer_login .u-column2,
body.woocommerce-account:not(.logged-in) #customer_login .col-2 {
  padding-left: 2.5rem;
}

/* Hide divider element if present */
body.woocommerce-account:not(.logged-in) .ms-auth__divider {
  display: none;
}

/* Title styling */
.ms-auth__title {
  font-size: 1.75rem;
  font-weight: 600;
  color: #1e293b;
  margin: 0 0 0.75rem 0;
}

/* Subtitle */
.ms-auth__sub {
  font-size: 0.95rem;
  color: #64748b;
  margin: 0 0 1.5rem 0;
  line-height: 1.5;
}

/* Form rows */
.ms-auth .form-row {
  margin-bottom: 1.25rem;
}

/* Form labels */
.ms-auth .form-row label {
  display: block;
  font-weight: 500;
  color: #374151;
  margin-bottom: 0.5rem;
  font-size: 0.95rem;
}

/* Required asterisk - healthcare blue */
.ms-auth .form-row .required,
.ms-auth__req {
  color: #0066CC;
}

.ms-auth__req {
  font-size: 0.8rem;
  margin-top: 1.5rem;
}

/* Form inputs */
.ms-auth__input,
.ms-auth .form-row input[type="text"],
.ms-auth .form-row input[type="email"],
.ms-auth .form-row input[type="password"] {
  width: 100%;
  padding: 0.875rem 1rem;
  border: 1px solid #d1d5db;
  border-radius: 0.375rem;
  font-size: 1rem;
  background: #f9fafb;
  box-sizing: border-box;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.ms-auth__input:focus,
.ms-auth .form-row input:focus {
  outline: none;
  border-color: #0066CC;
  box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.1);
  background: #ffffff;
}

/* Password field wrapper - for inline label + input */
.ms-auth__passwrap {
  position: relative;
  width: 100%;
}

/* Password input with room for toggle button */
.ms-auth__passwrap .ms-auth__input {
  padding-right: 3rem;
}

/* Password toggle button inside input */
.ms-pass-toggle {
  position: absolute;
  right: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  padding: 0.25rem;
  cursor: pointer;
  color: #9ca3af;
  transition: color 0.2s;
}

.ms-pass-toggle:hover {
  color: #0066CC;
}

/* Hide WooCommerce default password toggle */
.ms-auth .show-password-input,
.woocommerce-form-login .show-password-input,
.woocommerce-form-register .show-password-input {
  display: none;
}

/* Sign In / Submit button - healthcare blue */
.ms-auth__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.875rem 2rem;
  background: #0066CC;
  color: #ffffff;
  border: none;
  border-radius: 0.375rem;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.2s, transform 0.1s;
  text-decoration: none;
}

.ms-auth__btn:hover {
  background: #0052a3;
  color: #ffffff;
}

/* Create an Account button - healthcare blue */
.ms-auth__cta,
.ms-auth__signup .button,
.ms-auth__signup a.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.875rem 2rem;
  background: #0066CC;
  color: #ffffff;
  border: none;
  border-radius: 0.375rem;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  transition: background-color 0.2s;
  margin-top: 1rem;
}

.ms-auth__cta:hover,
.ms-auth__signup .button:hover,
.ms-auth__signup a.button:hover {
  background: #0052a3;
  color: #ffffff;
}

/* Actions row (button + forgot password) */
.ms-auth__actions {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin-top: 1.5rem;
}

/* Forgot password link - healthcare blue */
.ms-auth__lost {
  color: #0066CC;
  font-size: 0.9rem;
  text-decoration: none;
  transition: color 0.2s;
}

.ms-auth__lost:hover {
  color: #0052a3;
  text-decoration: underline;
}

/* Hide remember me checkbox */
.ms-auth .woocommerce-form-login__rememberme {
  display: none;
}

/* ==========================================================================
   REGISTRATION PAGE STYLES
   ========================================================================== */

/* Registration page container - half width */
.ms-auth__register-page {
  max-width: 600px;
  margin: 0;
}

/* Section headings */
.ms-auth__section {
  font-size: 1.25rem;
  font-weight: 600;
  color: #1e293b;
  margin: 2rem 0 1rem 0;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #e5e7eb;
}

/* Form row styling for registration */
.ms-auth__register-page .form-row {
  margin-bottom: 1.25rem;
}

.ms-auth__register-page .form-row label {
  display: block;
  font-weight: 500;
  color: #374151;
  margin-bottom: 0.5rem;
  font-size: 0.95rem;
}

/* Required asterisk - healthcare blue */
.ms-auth__register-page .form-row .required {
  color: #0066CC;
}

/* Checkbox labels */
.ms-auth__register-page .form-row input[type="checkbox"] {
  margin-right: 0.5rem;
  accent-color: #0066CC;
}

/* Strong text in form */
.ms-auth__register-page .form-row strong {
  display: block;
  margin-bottom: 0.75rem;
  font-weight: 600;
  color: #1e293b;
  font-size: 1rem;
}

/* Terms and Conditions, Privacy Policy links - healthcare blue */
.ms-auth__register-page .form-row a,
.ms-auth__register-page a,
.ms-auth__register-page .woocommerce-privacy-policy-text a,
.ms-auth .woocommerce-privacy-policy-text a,
.woocommerce-form-register .woocommerce-privacy-policy-text a {
  color: #0066CC;
  text-decoration: underline;
}

.ms-auth__register-page .form-row a:hover,
.ms-auth__register-page a:hover,
.ms-auth__register-page .woocommerce-privacy-policy-text a:hover,
.ms-auth .woocommerce-privacy-policy-text a:hover,
.woocommerce-form-register .woocommerce-privacy-policy-text a:hover {
  color: #0052a3;
}

/* Sign In link at bottom - healthcare blue */
.ms-auth__login-link {
  margin-top: 1.5rem;
  text-align: left;
  color: #64748b;
  font-size: 0.95rem;
}

.ms-auth__login-link a {
  color: #0066CC;
  text-decoration: none;
  font-weight: 600;
  margin-left: 0.5rem;
}

.ms-auth__login-link a:hover {
  text-decoration: underline;
  color: #0052a3;
}

/* Tablet */
@media (max-width: 1024px) {
  body.woocommerce-account:not(.logged-in) .ms-auth,
  body.woocommerce-account:not(.logged-in) #customer_login {
    max-width: 980px;
  }
  body.woocommerce-account:not(.logged-in) .ms-auth__grid,
  body.woocommerce-account:not(.logged-in) #customer_login {
    column-gap: 3rem;
    row-gap: 3rem;
  }
  body.woocommerce-account:not(.logged-in) .ms-auth__signin,
  body.woocommerce-account:not(.logged-in) #customer_login .u-column1,
  body.woocommerce-account:not(.logged-in) #customer_login .col-1 {
    padding-right: 2rem;
  }
  body.woocommerce-account:not(.logged-in) .ms-auth__signup,
  body.woocommerce-account:not(.logged-in) #customer_login .u-column2,
  body.woocommerce-account:not(.logged-in) #customer_login .col-2 {
    padding-left: 2rem;
  }
}

/* Mobile: stack the columns */
@media (max-width: 768px) {
  body.woocommerce-account:not(.logged-in) .ms-auth,
  body.woocommerce-account:not(.logged-in) #customer_login {
    margin: 2rem auto;
    max-width: 720px;
  }

  body.woocommerce-account:not(.logged-in) .ms-auth__grid,
  body.woocommerce-account:not(.logged-in) #customer_login {
    grid-template-columns: 1fr;
    row-gap: 2.5rem;
  }

  body.woocommerce-account:not(.logged-in) .ms-auth__signin,
  body.woocommerce-account:not(.logged-in) #customer_login .u-column1,
  body.woocommerce-account:not(.logged-in) #customer_login .col-1 {
    padding-right: 0;
    border-right: none;
    padding-bottom: 2rem;
    border-bottom: 1px solid #e5e7eb;
  }

  body.woocommerce-account:not(.logged-in) .ms-auth__signup,
  body.woocommerce-account:not(.logged-in) #customer_login .u-column2,
  body.woocommerce-account:not(.logged-in) #customer_login .col-2 {
    padding-left: 0;
  }
}


/* ==========================================================================
   16) My Account Page - Healthcare Blue Theme
   ========================================================================== */

/* Logged-in only: sidebar + content */
body.woocommerce-account.logged-in .woocommerce {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 4rem;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 2rem 4rem 2rem 2rem;
}

/* Logged-out: login/register should NOT be inside the sidebar grid */
body.woocommerce-account:not(.logged-in) .woocommerce {
  display: block;
  max-width: none;
  margin: 0;
  padding: 0;
}

/* Left Sidebar Navigation */
.woocommerce-account .woocommerce-MyAccount-navigation {
  background: #fff;
  border-right: 1px solid #e5e7eb;
  padding-right: 2rem;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  border-bottom: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li {
  margin: 0;
  border-left: 3px solid transparent;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 0.875rem 1.25rem;
  text-decoration: none;
  color: #374151;
  font-weight: 500;
  font-size: 0.95rem;
  border-bottom: none;
  margin-bottom: 0;
  transition: all 0.2s ease;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
  color: #3b82f6;
  background: #f8fafc;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active {
  border-left-color: #3b82f6;
  background: #f0f7ff;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
  color: #3b82f6;
  font-weight: 600;
}

/* User Name Header in Sidebar */
.woocommerce-account .woocommerce-MyAccount-navigation::before {
  content: none;
}
.woocommerce-account .myaccount-user-info {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 1.25rem 1.5rem;
  color: #3b82f6;
  font-weight: 600;
  font-size: 1rem;
}
.woocommerce-account .myaccount-user-info svg,
.woocommerce-account .myaccount-user-info .user-icon {
  width: 20px;
  height: 20px;
  color: #3b82f6;
}

/* Sign Out Button */
.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout {
  margin-top: 1.5rem;
  border-left: none;
  padding: 0 1.25rem;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a {
  display: inline-block;
  padding: 0.625rem 2rem;
  border: 1px solid #d1d5db;
  border-radius: 4px;
  color: #6b7280;
  background: #fff;
  text-align: center;
  font-weight: 500;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
  background: #f3f4f6;
  color: #374151;
}

/* Main Content Area */
.woocommerce-account .woocommerce-MyAccount-content {
  padding: 0;
}
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
  font-size: 1.5rem;
  font-weight: 700;
  color: #111827;
  margin: 0 0 1.5rem 0;
}
.woocommerce-account .woocommerce-MyAccount-content h3 {
  font-size: 1.25rem;
  margin-top: 2rem;
}

/* Dashboard Info Boxes */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  margin-top: 1.5rem;
}

/* Account Information Grid - wider columns for single-line text */
.woocommerce-account .woocommerce-MyAccount-content .u-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
}

.woocommerce-account .woocommerce-MyAccount-content .u-column1,
.woocommerce-account .woocommerce-MyAccount-content .u-column2 {
  min-width: 0;
  white-space: normal;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address {
  background: #fff;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address header h3 {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address address {
  font-style: normal;
  color: #6b7280;
  line-height: 1.6;
}

/* Links and Buttons - Healthcare Blue */
.woocommerce-account .woocommerce-MyAccount-content a {
  color: #3b82f6;
  text-decoration: none;
  font-weight: 500;
}
.woocommerce-account .woocommerce-MyAccount-content a:hover {
  text-decoration: underline;
}

/* Edit/Action Links */
.woocommerce-account .edit-address,
.woocommerce-account .woocommerce-EditAccountForm a,
.woocommerce-account .u-column1 a,
.woocommerce-account .u-column2 a {
  color: #3b82f6;
  font-size: 0.875rem;
}

/* Form Styling - moved to end of file for specificity */

/* Checkboxes */
.woocommerce-account .woocommerce-MyAccount-content input[type="checkbox"] {
  width: 1rem;
  height: 1rem;
  accent-color: #3b82f6;
  margin-right: 0.5rem;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-form__label-for-checkbox {
  display: flex;
  align-items: center;
  font-weight: 400;
  cursor: pointer;
}

/* Primary Button - Healthcare Blue */
.woocommerce-account .woocommerce-MyAccount-content button[type="submit"],
.woocommerce-account .woocommerce-MyAccount-content .button,
.woocommerce-account .woocommerce-MyAccount-content input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1.75rem;
  background: #3b82f6;
  color: #fff;
  border: none;
  border-radius: 4px;
  font-weight: 600;
  font-size: 0.95rem;
  cursor: pointer;
  transition: background 0.2s ease;
}
.woocommerce-account .woocommerce-MyAccount-content button[type="submit"]:hover,
.woocommerce-account .woocommerce-MyAccount-content .button:hover,
.woocommerce-account .woocommerce-MyAccount-content input[type="submit"]:hover {
  background: #2563eb;
}

/* Secondary/Dark Button (Go Back) */
.woocommerce-account .woocommerce-MyAccount-content .button.alt,
.woocommerce-account .woocommerce-MyAccount-content .button--secondary {
  background: #1f2937;
  color: #fff;
}
.woocommerce-account .woocommerce-MyAccount-content .button.alt:hover,
.woocommerce-account .woocommerce-MyAccount-content .button--secondary:hover {
  background: #111827;
}

/* Orders Table */
.woocommerce-account .woocommerce-orders-table {
  width: 100%;
  border-collapse: collapse;
}
.woocommerce-account .woocommerce-orders-table th,
.woocommerce-account .woocommerce-orders-table td {
  padding: 1rem;
  text-align: left;
  border-bottom: 1px solid #e5e7eb;
}
.woocommerce-account .woocommerce-orders-table th {
  font-weight: 600;
  color: #374151;
  background: #f9fafb;
}
.woocommerce-account .woocommerce-orders-table .button {
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
}

/* Empty States / Messages */
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info {
  background: #fef9c3;
  border: 1px solid #fcd34d;
  color: #92400e;
  padding: 1rem 1.25rem;
  border-radius: 4px;
  margin-bottom: 1.5rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.woocommerce-account .woocommerce-message::before,
.woocommerce-account .woocommerce-info::before {
  content: "";
}
.woocommerce-account .woocommerce-error {
  background: #fee2e2;
  border: 1px solid #fca5a5;
  color: #991b1b;
  padding: 1rem 1.25rem;
  border-radius: 4px;
  margin-bottom: 1.5rem;
}

/* Reward Balance */
.woocommerce-account .reward-balance {
  font-size: 1rem;
  margin-bottom: 1.5rem;
}
.woocommerce-account .reward-balance .amount {
  color: #3b82f6;
  font-weight: 600;
}

/* Required Fields Note */
.woocommerce-account .woocommerce-MyAccount-content .required-note,
.woocommerce-account .woocommerce-MyAccount-content p em {
  color: #3b82f6;
  font-size: 0.875rem;
}

/* Section Headers - moved to end of file for specificity */

/* Newsletter Subscriptions */
.woocommerce-account .newsletter-subscription h3 {
  font-size: 1.1rem;
  margin-bottom: 0.75rem;
}
.woocommerce-account .newsletter-subscription label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
}

/* My Rewards Section */
.woocommerce-account .rewards-info {
  margin-bottom: 1.5rem;
}
.woocommerce-account .rewards-balance {
  display: flex;
  gap: 0.5rem;
  font-size: 1rem;
}
.woocommerce-account .rewards-balance strong {
  color: #111827;
}
.woocommerce-account .rewards-balance .balance-amount {
  color: #3b82f6;
  font-weight: 600;
}

/* Product Alerts Section */
.woocommerce-account .product-alerts-title {
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 0.75rem;
}

/* Dashboard Welcome Text */
.woocommerce-account .woocommerce-MyAccount-content > p:first-child {
  color: #6b7280;
  margin-bottom: 2rem;
}
.woocommerce-account .woocommerce-MyAccount-content > p:first-child a {
  color: #3b82f6;
}

/* Contact Information Section */
.woocommerce-account .contact-info,
.woocommerce-account .account-info-box {
  margin-bottom: 1.5rem;
}
.woocommerce-account .contact-info h4,
.woocommerce-account .account-info-box h4 {
  font-size: 0.9rem;
  font-weight: 700;
  color: #111827;
  margin-bottom: 0.5rem;
}
.woocommerce-account .contact-info p,
.woocommerce-account .account-info-box p {
  color: #6b7280;
  margin: 0;
  line-height: 1.6;
}

/* Responsive - Tablet */
@media (max-width: 900px) {
  body.woocommerce-account.logged-in .woocommerce {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation {
    border-right: none;
    border-bottom: 1px solid #e5e7eb;
    padding-right: 0;
    padding-bottom: 1.5rem;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation ul {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation ul li {
    border-left: none;
    border-bottom: 3px solid transparent;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active {
    border-left-color: transparent;
    border-bottom-color: #3b82f6;
    background: transparent;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
  }
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses {
    grid-template-columns: 1fr;
  }
}

/* Responsive - Mobile */
@media (max-width: 600px) {
  body.woocommerce-account.logged-in .woocommerce {
    padding: 1rem 0.75rem;
  }
  .woocommerce-account .woocommerce-MyAccount-content h2 {
    font-size: 1.25rem;
  }
  .woocommerce-account .woocommerce-orders-table {
    font-size: 0.875rem;
  }
  .woocommerce-account .woocommerce-orders-table th,
  .woocommerce-account .woocommerce-orders-table td {
    padding: 0.75rem 0.5rem;
  }
}

/* =====================================================
   HEADER ACCOUNT DROPDOWN MENU
   ===================================================== */
.header-account-dropdown {
  position: relative;
  display: inline-block;
}

.header-account-menu {
  position: absolute;
  top: 100%;
  right: 0;
  min-width: 200px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.12);
  padding: 0.5rem 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all 0.2s ease;
  z-index: 1000;
}

.header-account-dropdown:hover .header-account-menu,
.header-account-dropdown:focus-within .header-account-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.header-account-menu a {
  display: block;
  padding: 0.75rem 1.25rem;
  color: #374151;
  font-size: 0.9rem;
  text-decoration: none;
  transition: background 0.15s ease, color 0.15s ease;
}

.header-account-menu a:hover {
  background: #f3f4f6;
  color: #3b82f6;
}

.header-account-menu a.logout-link {
  border-top: 1px solid #e5e7eb;
  margin-top: 0.5rem;
  padding-top: 1rem;
  color: #6b7280;
}

.header-account-menu a.logout-link:hover {
  background: #fef2f2;
  color: #dc2626;
}

/* Header Style 1 - My Account text display */
.header-style-1 .header-account-dropdown .header-account-link .label {
  color: var(--c-gray-dark);
}
.header-style-1 .header-account-dropdown .header-account-link:hover .label {
  color: var(--c-primary);
}

/* Header Style 3 - Inline dropdown */
.header-account-dropdown-inline {
  display: inline-flex;
  align-items: center;
}

.header-account-dropdown-inline .header-account-trigger {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.icon-user-inline {
  display: inline-flex;
  align-items: center;
}

.icon-user-inline .icon-user-img-small {
  width: 18px;
  height: 18px;
}

/* Ensure dropdown doesn't get cut off */
.header-account-right,
.header-icons-right,
.header-style-3-right-cluster {
  position: relative;
  z-index: 100;
}

/* ================================================================
   MY ACCOUNT PAGE - Peptide Sciences Style
   ================================================================ */

.ps-myaccount-wrapper {
  padding: 2rem 0;
  background: #ffffff;
  min-height: 60vh;
  width: 100%;
}

.ps-myaccount-grid {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 4rem;
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 3rem;
  width: 100%;
  box-sizing: border-box;
}

/* Sidebar Navigation */
.ps-myaccount-sidebar {
  background: #ffffff;
}

.ps-myaccount-nav {
  position: sticky;
  top: 100px;
}

.ps-myaccount-user {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 0;
  margin-bottom: 1rem;
}

.ps-myaccount-user-icon {
  width: 24px;
  height: 24px;
  color: #0066CC;
}

.ps-myaccount-user-name {
  font-size: 1rem;
  font-weight: 500;
  color: #0066CC;
}

.ps-myaccount-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.ps-myaccount-menu-item {
  border-top: 1px solid #e5e7eb;
}

.ps-myaccount-menu-item:last-child {
  border-bottom: 1px solid #e5e7eb;
}

.ps-myaccount-menu-item a {
  display: block;
  padding: 1rem 1rem 1rem 1.25rem;
  color: #374151;
  text-decoration: none;
  font-size: 0.95rem;
  font-weight: 500;
  transition: all 0.2s ease;
  border-left: 3px solid transparent;
}

.ps-myaccount-menu-item a:hover {
  color: #0066CC;
  background: #f0f7ff;
}

.ps-myaccount-menu-item.is-active a {
  color: #0066CC;
  border-left-color: #0066CC;
  background: transparent;
}

.ps-myaccount-signout {
  margin-top: 2rem;
  padding-top: 1rem;
}

.ps-myaccount-signout-btn {
  display: block;
  width: 100%;
  padding: 0.75rem 1.5rem;
  text-align: center;
  background: #ffffff;
  color: #374151;
  border: 1px solid #d1d5db;
  border-radius: 0.375rem;
  font-size: 0.95rem;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.2s ease;
}

.ps-myaccount-signout-btn:hover {
  background: #f3f4f6;
  border-color: #9ca3af;
}

/* Content Area */
.ps-myaccount-content {
  background: #ffffff;
  min-height: 400px;
}

.ps-myaccount-dashboard {
  padding: 0;
}

.ps-myaccount-section {
  margin-bottom: 2.5rem;
}

.ps-myaccount-section-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #111827;
  margin: 0 0 1.5rem 0;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #e5e7eb;
}

.ps-myaccount-info-grid {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(280px, 1fr);
  gap: 4rem;
}

.ps-myaccount-info-box {
  padding: 0;
}

.ps-myaccount-info-heading {
  font-size: 1rem;
  font-weight: 600;
  color: #111827;
  margin: 0 0 0.75rem 0;
}

.ps-myaccount-info-text {
  font-size: 0.95rem;
  color: #4b5563;
  line-height: 1.6;
  margin: 0 0 1rem 0;
}

.ps-myaccount-address {
  font-size: 0.95rem;
  color: #4b5563;
  line-height: 1.6;
  font-style: normal;
  margin: 0 0 1rem 0;
}

.ps-myaccount-info-links {
  display: flex;
  gap: 1.5rem;
}

.ps-myaccount-link {
  font-size: 0.9rem;
  color: #0066CC;
  text-decoration: none;
  font-weight: 500;
}

.ps-myaccount-link:hover {
  text-decoration: underline;
}

/* Orders Table Styling */
.woocommerce-orders-table {
  width: 100%;
  border-collapse: collapse;
}

.woocommerce-orders-table th {
  background: #f9fafb;
  padding: 0.75rem 1rem;
  text-align: left;
  font-weight: 600;
  font-size: 0.875rem;
  color: #374151;
  border-bottom: 1px solid #e5e7eb;
}

.woocommerce-orders-table td {
  padding: 1rem;
  border-bottom: 1px solid #e5e7eb;
  font-size: 0.95rem;
  color: #4b5563;
}

.woocommerce-orders-table .woocommerce-button {
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
}

/* Responsive */
@media (max-width: 960px) {
  .ps-myaccount-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .ps-myaccount-nav {
    position: static;
  }

  .ps-myaccount-info-grid {
    grid-template-columns: 1fr;
  }
}

/* My Account content should fill the grid cell */
.woocommerce-account.logged-in .woocommerce-MyAccount-content {
  min-width: 0;
}

/* Form Styles in My Account - Full Width */
body.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-EditAccountForm,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-address-fields,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content form {
  width: 100% !important;
  max-width: 700px !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content .form-row {
  margin-bottom: 1.25rem;
  width: 100% !important;
  max-width: 100% !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content .form-row-first,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content .form-row-last {
  width: 48% !important;
  float: left;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content .form-row-first {
  margin-right: 4% !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content .form-row-wide {
  width: 100% !important;
  clear: both;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content label {
  display: block;
  font-weight: 500;
  margin-bottom: 0.5rem;
  color: #374151;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content input[type="text"],
body.woocommerce-account.logged-in .woocommerce-MyAccount-content input[type="email"],
body.woocommerce-account.logged-in .woocommerce-MyAccount-content input[type="password"],
body.woocommerce-account.logged-in .woocommerce-MyAccount-content input[type="tel"],
body.woocommerce-account.logged-in .woocommerce-MyAccount-content select,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content textarea {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0.75rem 1rem;
  border: 1px solid #d1d5db;
  border-radius: 0.375rem;
  font-size: 0.95rem;
  box-sizing: border-box;
  background: #f9fafb;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content input:focus,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content select:focus,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content textarea:focus {
  outline: none;
  border-color: #0066CC;
  box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.1);
  background: #ffffff;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content form::after {
  content: "";
  display: table;
  clear: both;
}

/* Fieldset styling */
body.woocommerce-account.logged-in .woocommerce-MyAccount-content fieldset {
  width: 100% !important;
  max-width: 700px !important;
  border: none;
  padding: 0;
  margin: 2rem 0 0 0;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content fieldset legend {
  font-size: 1.1rem;
  font-weight: 700;
  color: #111827;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #e5e7eb;
  width: 100%;
}

.woocommerce-account button[type="submit"],
.woocommerce-account .woocommerce-Button {
  background: #0066CC;
  color: #ffffff;
  border: none;
  padding: 0.75rem 2rem;
  border-radius: 0.375rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s ease;
}

.woocommerce-account button[type="submit"]:hover,
.woocommerce-account .woocommerce-Button:hover {
  background: #0052a3;
}

/* =========================================================
   EMPTY CART PAGE — Peptide Sciences Style
   ========================================================= */
.ps-empty-cart {
  max-width: 900px;
  margin: 0 auto;
  padding: 2rem 1.5rem 4rem;
}

.ps-empty-cart__title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #111827;
  margin: 0 0 1rem 0;
  line-height: 1.3;
}

.ps-empty-cart__divider {
  height: 1px;
  background: #e5e7eb;
  margin-bottom: 1.5rem;
}

.ps-empty-cart__content {
  font-size: 0.95rem;
  color: #374151;
  line-height: 1.6;
}

.ps-empty-cart__content p {
  margin: 0 0 0.5rem 0;
}

.ps-empty-cart__content a {
  color: #0066CC;
  text-decoration: none;
  font-weight: 500;
}

.ps-empty-cart__content a:hover {
  text-decoration: underline;
  color: #0052a3;
}

