/*
Theme Name: Seanav Theme
Theme URI: https://seanav.ae/
Description: Premium, high-performance WordPress Theme engineered for Seanav Mirai with Flipkart-style mega navigation, WooCommerce integration, fluid typography, and responsive maritime design system.
Author: Seanav Engineering Team
Version: 1.1.61
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: seanav
*/

/* =====================================================================
   1. DESIGN TOKENS & MARITIME COLOR SYSTEM
   ===================================================================== */
:root {
  /* ── Futuristic Dark Palette (Seanav v4) ── */
  --seanav-navy-dark:    #060c12;
  --seanav-navy:         #0d1117;
  --seanav-navy-light:   #161b22;
  --seanav-cyan:         #00ff88;
  --seanav-cyan-bright:  #00ffa3;
  --seanav-cyan-dark:    #00cc6a;
  --seanav-cyan-glow:    rgba(0, 255, 136, 0.16);
  --seanav-accent:       #00d4ff;
  --seanav-gold:         #f59e0b;
  --seanav-text:         #f0f6fc;
  --seanav-text-muted:   #8b949e;
  --seanav-text-white:   #ffffff;
  --seanav-body:         #0d1117;
  --seanav-card-bg:      #131b24;
  --seanav-border:       rgba(0, 255, 136, 0.12);
  --seanav-border-light: rgba(255, 255, 255, 0.07);
  --seanav-radius:       14px;
  --seanav-radius-sm:    8px;
  --seanav-radius-lg:    20px;
  --seanav-shadow:       0 10px 30px rgba(0, 0, 0, 0.4);
  --seanav-shadow-lg:    0 20px 45px rgba(0, 0, 0, 0.6);
  --seanav-shadow-glow:  0 0 25px rgba(0, 255, 136, 0.20);
  --seanav-transition:   0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

/* =====================================================================
   2. BASE REBOOT, TYPOGRAPHY & FLUID SCALING
   ===================================================================== */
*, *::before, *::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  font-size: 16px;
}

body {
  margin: 0;
  padding: 0;
  font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: var(--seanav-body);
  color: var(--seanav-text);
  line-height: 1.6;
  overflow-x: hidden;
}

/* Accessibility Utilities */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

.skip-link:focus {
  background-color: var(--seanav-navy, #0d1117);
  color: #ffffff !important;
  clip: auto !important;
  clip-path: none;
  height: auto;
  left: 10px;
  top: 10px;
  width: auto;
  z-index: 100000;
  padding: 12px 22px;
  font-weight: 700;
  border: 2px solid var(--seanav-cyan, #00ff88);
  border-radius: var(--seanav-radius-sm, 8px);
  box-shadow: var(--seanav-shadow-lg);
}

a {
  color: var(--seanav-cyan-dark);
  text-decoration: none;
  transition: color 0.2s ease, opacity 0.2s ease;
}

a:hover {
  color: var(--seanav-cyan);
}

img {
  max-width: 100%;
  height: auto;
  display: inline-block;
  vertical-align: middle;
}

h1, h2, h3, h4, h5, h6, .section-title, .hero-title, .mega-col-title {
  font-family: 'Outfit', sans-serif;
  color: var(--seanav-text);
  font-weight: 700;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 0.5em;
  letter-spacing: -0.02em;
}

h1 { font-size: clamp(2.2rem, 4vw, 3.8rem); font-weight: 800; }
h2 { font-size: clamp(1.6rem, 3vw, 2.6rem); }
h3 { font-size: clamp(1.3rem, 2.2vw, 1.8rem); }
h4 { font-size: clamp(1.1rem, 1.6vw, 1.35rem); }
h5 { font-size: 1rem; }

/* Keyboard Accessibility */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid var(--seanav-cyan) !important; /* #00ff88 */
  outline-offset: 3px !important;
  border-radius: 4px;
}

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Utility Classes */
.display-flex { display: flex; }
.align-items-center { align-items: center; }
.justify-content-between { justify-content: space-between; }
.relative { position: relative; }
.ml-10 { margin-left: 10px; }
.ml-15 { margin-left: 15px; }
.mt-15 { margin-top: 15px; }
.mt-20 { margin-top: 20px; }
.mb-20 { margin-bottom: 20px; }
.text-center { text-align: center; }

/* =====================================================================
   3. SEANAV GRID FRAMEWORK & FULL-WIDTH PAGE SYSTEM
   ===================================================================== */
#content, .content-area, .site-main, main#main {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.full-width-page, .single-post-fullwidth, .archive-fullwidth {
  width: 100% !important;
  max-width: 100% !important;
}

.container,
.container-width {
  width: 100%;
  max-width: 1380px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
}

.full-width-container, .container.full-width {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.row {
  display: flex;
  flex-wrap: wrap;
  margin-left: -15px;
  margin-right: -15px;
}

[class*="col"] {
  position: relative;
  width: 100%;
  padding-left: 15px;
  padding-right: 15px;
  min-height: 1px;
}

.col-inner {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* Full 12-column span support */
@media (min-width: 850px) {
  .col.large-1  { flex: 0 0 8.3333%;  width: 8.3333%;  max-width: 8.3333%; }
  .col.large-2  { flex: 0 0 16.6667%; width: 16.6667%; max-width: 16.6667%; }
  .col.large-3  { flex: 0 0 25%;      width: 25%;      max-width: 25%; }
  .col.large-4  { flex: 0 0 33.3333%; width: 33.3333%; max-width: 33.3333%; }
  .col.large-5  { flex: 0 0 41.6667%; width: 41.6667%; max-width: 41.6667%; }
  .col.large-6  { flex: 0 0 50%;      width: 50%;      max-width: 50%; }
  .col.large-7  { flex: 0 0 58.3333%; width: 58.3333%; max-width: 58.3333%; }
  .col.large-8  { flex: 0 0 66.6667%; width: 66.6667%; max-width: 66.6667%; }
  .col.large-9  { flex: 0 0 75%;      width: 75%;      max-width: 75%; }
  .col.large-10 { flex: 0 0 83.3333%; width: 83.3333%; max-width: 83.3333%; }
  .col.large-11 { flex: 0 0 91.6667%; width: 91.6667%; max-width: 91.6667%; }
  .col.large-12 { flex: 0 0 100%;     width: 100%;     max-width: 100%; }
}

@media (min-width: 550px) and (max-width: 849px) {
  .col.medium-6,
  .col.large-6,
  .col.large-4,
  .col.large-3 { flex: 0 0 50%; width: 50%; max-width: 50%; }
  .col.medium-12,
  .col.small-12 { flex: 0 0 100%; width: 100%; max-width: 100%; }
}

@media (max-width: 549px) {
  .col.small-6 { flex: 0 0 50%; width: 50%; max-width: 50%; }
  .col.small-12,
  .col.large-5,
  .col.large-7,
  .col.large-6,
  .col.large-4,
  .col.large-3 { flex: 0 0 100%; width: 100%; max-width: 100%; }
}

.row.row-collapse {
  margin-left: 0;
  margin-right: 0;
}

.row.row-collapse > .col {
  padding-left: 0;
  padding-right: 0;
}

.row.valign-middle {
  align-items: stretch;
}

.row.align-center {
  justify-content: center;
}

/* Section intros ? Category / Featured / CTA etc. centered */
.col.align-center,
.col.align-center .col-inner {
  text-align: center !important;
}

.col.align-center .col-inner {
  align-items: center !important;
  justify-content: center;
}

.col.align-center .col-inner > *,
.col.align-center .col-inner h1,
.col.align-center .col-inner h2,
.col.align-center .col-inner h3,
.col.align-center .col-inner h4,
.col.align-center .col-inner p,
.col.align-center .col-inner span {
  text-align: center !important;
}

.col.align-center .col-inner > h2,
.col.align-center .col-inner > h3,
.col.align-center .col-inner > p {
  width: 100%;
  max-width: 760px;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Keep wide centered columns in the middle of the row */
.row.align-center > .col.large-10,
.row.align-center > .col.large-8,
.row.align-center > .col.align-center {
  margin-left: auto;
  margin-right: auto;
}

.section.dark .col.align-center .col-inner,
.section-dark .col.align-center .col-inner {
  text-align: center !important;
  color: rgba(255, 255, 255, 0.9);
}

.section.dark .col.align-center .col-inner > div[style*="display:flex"],
.section-dark .col.align-center .col-inner > div[style*="display:flex"] {
  justify-content: center !important;
  width: 100%;
}

.col.align-left,
.col.align-left .col-inner {
  text-align: left;
  align-items: flex-start;
}

.col.align-right,
.col.align-right .col-inner {
  text-align: right;
  align-items: flex-end;
}

/* Promo / split banners ? center copy in the panel */
.row.row-collapse .ux-banner .banner-layers,
.row.row-collapse .ux-banner .text-box,
.row.row-collapse .ux-banner .text-box-inner {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

/*
 * Split promo banners (Navigation / LSA / Airtime):
 * - Eyebrow labels match (no pill; white text like WHY NAVIGATION MATTERS)
 * - Supporting taglines & body copy white
 * Scoped to .row.row-collapse .ux-banner so category intros / body paragraphs stay untouched
 */
.row.row-collapse .ux-banner .text-box-inner > p:first-child,
.row.row-collapse .ux-banner .text-box-inner > p:first-child > span {
  color: #ffffff !important;
  background: transparent !important;
  background-color: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

.row.row-collapse .ux-banner .text-box-inner > p:first-child > span[style*="background"] {
  font-size: 11px !important;
  letter-spacing: 4px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
}

.row.row-collapse .ux-banner .text-box-inner > p[style*="letter-spacing:2px"],
.row.row-collapse .ux-banner .text-box-inner > p[style*="line-height:1.8"],
.row.row-collapse .ux-banner .text-box-inner > p[style*="font-size:13px"],
.row.row-collapse .ux-banner .text-box-inner > p[style*="font-size:15px"] {
  color: #ffffff !important;
}

/*
 * Bare homepage split promo rows (Safety / Airtime) sit as direct children of
 * main#main ? not wrapped in [section]. Give them a full-bleed navy band so
 * they read as sections. Nested rows (About Us, Navigation) are excluded.
 */
#content main#main > .row.row-collapse {
  background-color: var(--seanav-navy);
  width: 100%;
  max-width: 100%;
  margin-top: 0;
  margin-bottom: 0;
}

/* About Us ? 2 columns side by side */
.seanav-about-section {
  overflow: hidden;
}

.seanav-about-section > .section-content.container {
  max-width: 100%;
  width: 100%;
  padding-left: 0;
  padding-right: 0;
}

.seanav-about-section .seanav-about-row,
.seanav-about-section .row {
  margin: 0;
  align-items: stretch;
  display: flex;
  flex-wrap: wrap;
}

.seanav-about-section .row > .col {
  padding: 0;
  display: flex;
}

.seanav-about-section .col-inner {
  width: 100%;
  height: 100%;
}

.seanav-about-panel {
  height: 100%;
  min-height: 420px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 48px 40px;
  box-sizing: border-box;
  width: 100%;
}

.seanav-about-panel--intro {
  background: linear-gradient(160deg, #0a4f8a 0%, #0f76d0 55%, #1490e8 100%);
  color: rgba(255, 255, 255, 0.88);
}

.seanav-about-panel--mission {
  position: relative;
  color: rgba(255, 255, 255, 0.9);
  background-color: #0a1929;
  background-size: cover;
  background-position: center;
  overflow: hidden;
}

.seanav-about-panel--mission::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, rgba(10, 25, 41, 0.88) 0%, rgba(15, 118, 208, 0.55) 100%);
  z-index: 0;
}

.seanav-about-panel--mission > * {
  position: relative;
  z-index: 1;
}

.seanav-about-eyebrow {
  display: inline-block;
  color: #00e5ff;
  font-size: 11px;
  letter-spacing: 4px;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 14px;
}

.seanav-about-panel h2 {
  color: #ffffff;
  font-size: clamp(2rem, 3vw, 2.4rem);
  font-weight: 800;
  margin: 0 0 16px;
  line-height: 1.15;
}

.seanav-about-panel h3 {
  color: #ffffff;
  font-size: clamp(1.25rem, 2vw, 1.6rem);
  font-weight: 700;
  line-height: 1.4;
  margin: 0 0 16px;
}

.seanav-about-panel p {
  font-size: 15px;
  line-height: 1.75;
  margin: 0 0 14px;
  max-width: 36em;
  color: rgba(255, 255, 255, 0.88);
}

.seanav-about-panel .button,
.seanav-about-panel a.button {
  display: inline-flex;
  align-items: center;
  margin-top: 10px;
  padding: 10px 20px;
  border: 1.5px solid #ffffff;
  border-radius: 6px;
  color: #ffffff !important;
  background: transparent !important;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  width: fit-content;
}

.seanav-about-panel .button:hover,
.seanav-about-panel a.button:hover {
  background: #ffffff !important;
  color: #0f76d0 !important;
  transform: none;
  box-shadow: none;
}

@media (max-width: 849px) {
  .seanav-about-panel {
    min-height: 300px;
    padding: 40px 28px;
  }
}

/* =====================================================================
   4. HEADER & FLIPKART-STYLE MEGA MENU NAVIGATION
   ===================================================================== */
#header {
  position: relative;
  width: 100%;
  z-index: 1000;
  background: #ffffff;
  box-shadow: 0 4px 20px rgba(6, 23, 41, 0.06);
}

/* Top Contact Bar */
.header-top {
  background: var(--seanav-navy-dark);
  color: rgba(255, 255, 255, 0.88);
  font-size: 0.84rem;
  padding: 8px 0;
  border-bottom: 1px solid rgba(0, 200, 224, 0.15);
}

.header-top a {
  color: rgba(255, 255, 255, 0.92);
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.header-top a:hover {
  color: var(--seanav-cyan-bright);
}

.top-bar-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.seanav-icon {
  stroke: var(--seanav-cyan);
  flex-shrink: 0;
}

/* Main Header Row ? min-height (not fixed) so nav/logo never clip */
.header-main {
  min-height: 62px;
  padding: 0;
  display: flex;
  align-items: center;
  background: #ffffff;
  border-bottom: 1px solid var(--seanav-border-light);
  margin-bottom: 0;
}

/* Flush hero slider directly under header ? no gap */
#header {
  margin-bottom: 0;
}

#header + #content,
#header + .content-area,
.header-wrapper + #content {
  margin-top: 0;
  padding-top: 0;
}

body.home #content,
body.page-template-default #content.full-width-page,
#content.full-width-page > #main.site-main {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Hide empty / comment-only paragraphs that create header?hero gap */
#main.site-main > p:empty,
#main.site-main > p:first-child:has(> :only-child:is(br)),
#content > p:empty {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  line-height: 0 !important;
}

/* Hero / UX slider ? full-bleed, flush to header, text ON image */
.ux-slider-wrapper {
  margin: 0 !important;
  padding: 0 !important;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  position: relative;
}

.ux-slider-wrapper > .ux-slider,
.ux-slider-wrapper > .ux-slider.row,
.ux-slider,
.ux-slider.row {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
  position: relative;
}

.ux-banner.banner {
  position: relative !important;
  overflow: hidden !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  isolation: isolate;
}

/* Background image layer ? fills the whole banner behind the text */
.ux-banner .banner-bg {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none;
}

.ux-banner .banner-bg img.bg,
.ux-banner .banner-bg img {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.ux-banner .banner-overlay {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  z-index: 1 !important;
  pointer-events: none;
}

/* Text / CTAs sit on top of the image */
.ux-banner .banner-layers {
  position: relative !important;
  z-index: 2 !important;
  width: 100%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 48px;
  padding-bottom: 48px;
  box-sizing: border-box;
}

.ux-banner .banner-layers > .text_box,
.ux-banner .seanav-hero-copy,
.ux-banner .seanav-hero-copy .text-box-inner {
  width: 100%;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.ux-banner .seanav-hero-copy .text-box-inner > h1,
.ux-banner .seanav-hero-copy .text-box-inner > p,
.ux-banner .seanav-hero-copy .text-box-inner > div {
  margin-left: auto;
  margin-right: auto;
}

.ux-banner .seanav-hero-copy .text-box-inner > div[style*="display:flex"] {
  justify-content: center;
}

/* Homepage hero subtitle ? white (scoped; inline has size/width only) */
.ux-banner.seanav-hero-banner .seanav-hero-copy .text-box-inner > p[style*="font-size:17px"],
.ux-banner.seanav-hero-banner .seanav-hero-copy .text-box-inner > p[style*="max-width:540px"] {
  color: #ffffff !important;
}

/* Homepage stats bar — numbers and labels white */
.stat-pulse {
  color: #ffffff;
}

.stat-pulse > span,
.stat-pulse > span[style*="color:#00bcd4"],
.stat-pulse > span[style*="color: #00bcd4"],
.stat-pulse > span[style*="color:#00c8e0"],
.stat-pulse > span[style*="color: #00c8e0"] {
  color: #ffffff !important;
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  width: 100%;
}

.header-logo a {
  display: flex;
  align-items: center;
  gap: 10px;
}

.header-logo img {
  max-height: 46px;
  width: auto;
  object-fit: contain;
}

.logo-fallback-text {
  font-family: 'Outfit', sans-serif;
  font-size: 1.45rem;
  font-weight: 800;
  color: var(--seanav-navy);
  letter-spacing: -0.5px;
}

.logo-fallback-text span {
  color: var(--seanav-cyan);
}

/* Centered Search Bar ? transparent on navy header-top */
.header-search-container {
  flex: 1;
  max-width: 580px;
  margin: 0 15px;
}

.header-search-form {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}

.header-top .header-search-input {
  width: 100%;
  height: 40px;
  padding: 8px 46px 8px 16px;
  font-size: 0.88rem;
  border-radius: var(--seanav-radius-sm);
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.06);
  color: var(--seanav-text-white);
  outline: none;
  transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.header-top .header-search-input::placeholder {
  color: rgba(255, 255, 255, 0.55);
  opacity: 1;
}

.header-top .header-search-input:focus {
  border-color: var(--seanav-cyan);
  background: rgba(255, 255, 255, 0.1);
  box-shadow: 0 0 0 2px var(--seanav-cyan-glow);
}

.header-top .header-search-btn {
  position: absolute;
  right: 3px;
  top: 3px;
  bottom: 3px;
  width: 36px;
  padding: 0;
  background: transparent;
  color: rgba(255, 255, 255, 0.92);
  border: none;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
}

.header-top .header-search-btn svg,
.header-top .header-search-icon {
  display: block;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  pointer-events: none;
  stroke: currentColor;
}

.header-top .header-search-btn:hover,
.header-top .header-search-btn:focus-visible {
  background: rgba(0, 200, 224, 0.18);
  color: var(--seanav-cyan-bright);
  outline: none;
}

/* Shared input baseline (e.g. mobile drawer) */
.header-search-input {
  width: 100%;
  height: 40px;
  padding: 8px 16px;
  font-size: 0.88rem;
  border-radius: var(--seanav-radius-sm);
  border: 1px solid var(--seanav-border-light);
  background: #f8fafc;
  color: var(--seanav-navy);
  outline: none;
}

/* =====================================================================
   Live Search Autocomplete Dropdown
   ===================================================================== */
.header-search-container.seanav-ls-wrap {
  position: relative;
}

.seanav-ls-panel {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  z-index: 999;
  max-height: 70vh;
  overflow-y: auto;
  background: #ffffff;
  border: 1px solid var(--seanav-border-light, #e2e8f0);
  border-top: 3px solid var(--seanav-cyan, #00c8e0);
  border-radius: 10px;
  box-shadow: 0 18px 44px rgba(6, 23, 41, 0.22);
  padding: 6px 0;
  text-align: left;
  animation: seanavLsFade 0.14s ease;
}

@keyframes seanavLsFade {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}

.header-top .seanav-ls-loading,
.header-top .seanav-ls-empty,
.seanav-ls-loading,
.seanav-ls-empty {
  padding: 16px 18px;
  font-size: 0.88rem;
  color: #64748b;
}

.seanav-ls-group + .seanav-ls-group {
  border-top: 1px solid #eef2f7;
}

.header-top .seanav-ls-group-title,
.seanav-ls-group-title {
  padding: 10px 16px 6px;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--seanav-navy, #061729);
}

.seanav-ls-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Higher specificity than .header-top a (white text) so results stay readable on the white panel */
.header-top .seanav-ls-link,
.seanav-ls-link {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 9px 16px;
  color: var(--seanav-navy, #061729);
  text-decoration: none;
  transition: background 0.15s ease;
}

.header-top .seanav-ls-link:hover,
.header-top .seanav-ls-link.is-active,
.seanav-ls-link:hover,
.seanav-ls-link.is-active {
  background: rgba(0, 200, 224, 0.1);
  color: var(--seanav-navy, #061729);
}

.seanav-ls-thumb {
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  border-radius: 6px;
  overflow: hidden;
  background: #f1f5f9;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #eef2f7;
}

.seanav-ls-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  opacity: 1;
  visibility: visible;
}

.seanav-ls-thumb-fallback {
  width: 20px;
  height: 20px;
  border-radius: 4px;
  background: linear-gradient(135deg, #cbd5e1, #e2e8f0);
}

.seanav-ls-text {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.header-top .seanav-ls-name,
.seanav-ls-name {
  font-size: 0.9rem;
  font-weight: 500;
  line-height: 1.3;
  color: var(--seanav-navy, #061729);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.header-top .seanav-ls-price,
.seanav-ls-price {
  font-size: 0.82rem;
  font-weight: 700;
  color: #008fa3;
  margin-top: 2px;
}

.seanav-ls-price del {
  color: #94a3b8;
  font-weight: 400;
  margin-right: 4px;
}

.header-top .seanav-ls-viewall,
.seanav-ls-viewall {
  display: block;
  padding: 11px 16px;
  margin-top: 4px;
  border-top: 1px solid #eef2f7;
  font-size: 0.84rem;
  font-weight: 700;
  color: var(--seanav-navy, #061729);
  text-decoration: none;
  background: #f8fafc;
}

.header-top .seanav-ls-viewall:hover,
.seanav-ls-viewall:hover {
  background: rgba(0, 200, 224, 0.12);
  color: #008fa3;
}

/* Quote Button & Cart Badge */
.header-actions {
  display: flex;
  align-items: center;
  gap: 15px;
}

.header-quote-btn {
  padding: 10px 20px;
  font-size: 0.88rem;
  font-weight: 700;
  border-radius: var(--seanav-radius-sm);
  background: linear-gradient(135deg, var(--seanav-navy) 0%, var(--seanav-navy-light) 100%);
  color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(6, 23, 41, 0.15);
  transition: all 0.25s ease;
  white-space: nowrap;
}

.header-quote-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 200, 224, 0.3);
  background: var(--seanav-cyan);
  color: #ffffff !important;
}

.cart-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #f1f5f9;
  color: var(--seanav-navy);
  transition: all 0.2s ease;
}

.cart-link:hover {
  background: var(--seanav-cyan-glow);
  color: var(--seanav-cyan-dark);
}

.cart-count {
  position: absolute;
  top: -4px;
  right: -4px;
  background: var(--seanav-cyan);
  color: #ffffff;
  font-size: 0.72rem;
  font-weight: 800;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #ffffff;
}

/* Horizontal Mega Nav Bar */
.mega-nav-bar {
  display: flex;
  align-items: center;
}

.mega-nav-list {
  display: flex;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
}

.mega-nav-item {
  position: static;
}

.mega-nav-link {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 14px 7px;
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--seanav-navy);
  transition: all 0.2s ease;
  white-space: nowrap;
}

.mega-nav-link .chevron {
  font-size: 9px;
  color: #94a3b8;
  transition: transform 0.2s ease;
}

.mega-nav-item:hover > .mega-nav-link {
  color: var(--seanav-cyan-dark);
}

.mega-nav-item:hover > .mega-nav-link .chevron {
  transform: rotate(180deg);
  color: var(--seanav-cyan-dark);
}

/* Mega Menu Dropdown Container */
.seanav-mega-menu {
  position: absolute;
  top: 100%;
  left: 0;
  width: 1160px;
  max-width: min(1180px, calc(100vw - 32px));
  background: #ffffff;
  border: 1px solid var(--seanav-border-light);
  border-radius: 0 0 var(--seanav-radius) var(--seanav-radius);
  box-shadow: 0 20px 45px rgba(6, 23, 41, 0.14);
  padding: 28px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition: all 0.25s cubic-bezier(0.25, 0.8, 0.25, 1);
  z-index: 9999;
}

.seanav-mega-menu.cols-4 {
  grid-template-columns: repeat(4, 1fr);
}

.seanav-mega-menu.cols-5 {
  grid-template-columns: repeat(5, 1fr);
}

.mega-nav-item.has-mega-dropdown:nth-last-child(-n+4) > .seanav-mega-menu {
  right: 0;
  left: auto;
}

.mega-nav-item.has-mega-dropdown:hover > .seanav-mega-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.mega-column {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.mega-col-title {
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--seanav-navy);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 2px solid var(--seanav-cyan-glow);
  padding-bottom: 6px;
}

.mega-col-title .arrow {
  font-size: 10px;
  color: var(--seanav-cyan);
}

.mega-col-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.mega-col-list li {
  margin-bottom: 8px;
}

.mega-col-list li a {
  font-size: 0.86rem;
  color: var(--seanav-text-muted);
  font-weight: 500;
  display: inline-block;
  transition: all 0.15s ease;
}

.mega-col-list li a:hover {
  color: var(--seanav-cyan-dark);
  transform: translateX(4px);
}

/* Mobile Off-Canvas Drawer */
.mobile-nav-toggle {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  color: var(--seanav-navy);
}

.header-main-mobile-actions {
  display: none;
  align-items: center;
  gap: 4px;
}

.header-cart--mobile .cart-link {
  color: var(--seanav-navy);
}

.header-cart--mobile .cart-link:hover {
  color: var(--seanav-cyan);
}

.header-cart--mobile .cart-count {
  background: var(--seanav-cyan);
  color: #fff;
}

.mobile-drawer-contact {
  margin-top: 1.25rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--seanav-border-light);
  display: flex;
  flex-direction: column;
}

.mobile-drawer-contact-link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 0;
  border-bottom: 1px solid #f1f5f9;
  color: var(--seanav-navy);
  font-weight: 600;
  font-size: 0.95rem;
  line-height: 1.35;
}

.mobile-drawer-contact-link .seanav-icon {
  stroke: var(--seanav-cyan);
  flex-shrink: 0;
}

.mobile-drawer-contact-link:hover,
.mobile-drawer-contact-link:focus-visible {
  color: var(--seanav-cyan);
}

.mobile-drawer-quote {
  margin-top: 0.65rem;
  justify-content: center;
  padding: 0.7rem 1rem;
  border: none;
  border-radius: var(--seanav-radius, 6px);
  background: var(--seanav-navy);
  color: #fff;
  font-weight: 700;
  text-align: center;
}

.mobile-drawer-quote:hover,
.mobile-drawer-quote:focus-visible {
  background: var(--seanav-cyan);
  color: #fff;
}

@media (max-width: 960px) {
  .header-top {
    display: none;
  }

  .header-search-container { display: none; }
  .mega-nav-bar { display: none; }
  .mobile-nav-toggle { display: block; }
  .header-main-mobile-actions { display: flex; }
}

.mobile-nav-drawer {
  position: fixed;
  inset: 0;
  z-index: 99999;
  visibility: hidden;
  opacity: 0;
  transition: all 0.3s ease;
}

body.mobile-nav-active .mobile-nav-drawer {
  visibility: visible;
  opacity: 1;
}

.drawer-overlay {
  position: absolute;
  inset: 0;
  background: rgba(4, 16, 30, 0.75);
  backdrop-filter: blur(4px);
}

.drawer-content {
  position: absolute;
  top: 0; right: 0; bottom: 0;
  width: 320px;
  max-width: 88vw;
  background: #ffffff;
  transform: translateX(100%);
  transition: transform 0.3s ease;
  display: flex;
  flex-direction: column;
}

body.mobile-nav-active .drawer-content {
  transform: translateX(0);
}

.drawer-header {
  padding: 20px;
  border-bottom: 1px solid var(--seanav-border-light);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.drawer-title { font-weight: 800; color: var(--seanav-navy); font-size: 1.1rem; }
.drawer-close { background: none; border: none; font-size: 1.6rem; cursor: pointer; color: var(--seanav-navy); }
.drawer-body { padding: 20px; overflow-y: auto; flex: 1; }
.mobile-menu-list { list-style: none; padding: 0; margin: 0; }

.mobile-menu-list .mobile-menu-item {
  border-bottom: 1px solid #f1f5f9;
}

.mobile-menu-list .mobile-menu-item > a,
.mobile-menu-item-row > a,
.mobile-menu-group-label {
  display: block;
  padding: 12px 0;
  color: var(--seanav-navy);
  font-weight: 600;
  line-height: 1.35;
}

.mobile-menu-item-row {
  display: flex;
  align-items: center;
  gap: 4px;
}

.mobile-menu-item-row > a,
.mobile-menu-item-row > .mobile-menu-group-label {
  flex: 1;
  min-width: 0;
  border-bottom: none;
  padding-right: 8px;
}

.mobile-menu-group-label {
  font-size: 0.92rem;
  color: var(--seanav-navy-light);
}

.mobile-submenu-toggle {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: var(--seanav-radius-sm);
  background: transparent;
  color: var(--seanav-navy);
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.mobile-submenu-toggle:hover,
.mobile-submenu-toggle:focus-visible {
  background: var(--seanav-cyan-glow);
  color: var(--seanav-cyan-dark);
  box-shadow: none;
  transform: none;
}

.mobile-submenu-toggle svg {
  display: block;
  transition: transform 0.25s ease;
}

.mobile-menu-item.has-children.is-open > .mobile-menu-item-row > .mobile-submenu-toggle {
  color: var(--seanav-cyan-dark);
  background: var(--seanav-cyan-glow);
}

.mobile-menu-item.has-children.is-open > .mobile-menu-item-row > .mobile-submenu-toggle svg {
  transform: rotate(180deg);
}

.mobile-submenu {
  list-style: none;
  margin: 0;
  padding: 0 0 6px 14px;
  border-left: 2px solid var(--seanav-cyan-glow);
  display: none;
}

.mobile-menu-item.has-children.is-open > .mobile-submenu {
  display: block;
}

.mobile-submenu > .mobile-menu-item {
  border-bottom-color: #f8fafc;
}

.mobile-submenu > .mobile-menu-item > a,
.mobile-submenu .mobile-menu-item-row > a,
.mobile-submenu .mobile-menu-group-label {
  padding: 10px 0;
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--seanav-navy-light);
}

.mobile-submenu .mobile-submenu {
  padding-left: 12px;
  margin-left: 2px;
}

.mobile-submenu .mobile-submenu > .mobile-menu-item > a {
  font-size: 0.86rem;
  font-weight: 500;
  color: var(--seanav-text-muted);
}

.mobile-menu-list a:hover,
.mobile-menu-list a:focus-visible {
  color: var(--seanav-cyan-dark);
}

/* =====================================================================
   5. BUTTONS, CARDS, GRID ALIGNMENT & FOOTER
   ===================================================================== */
.button, button, input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 24px;
  font-size: 0.92rem;
  font-weight: 700;
  border-radius: var(--seanav-radius-sm);
  background: var(--seanav-cyan);
  color: #ffffff;
  border: none;
  cursor: pointer;
  transition: all var(--seanav-transition);
}

.button:hover, button:hover, input[type="submit"]:hover {
  background: var(--seanav-cyan-dark);
  color: #ffffff;
  transform: translateY(-2px);
  box-shadow: var(--seanav-shadow);
}

.button.secondary { background: var(--seanav-navy); }
.button.secondary:hover { background: var(--seanav-navy-light); }

/* Equal-Height Card Grids (exclude product cards ? they have their own layout) */
.box:not(.product-small),
.box-push,
.seanav-card,
.widget {
  background: var(--seanav-card-bg);
  border-radius: var(--seanav-radius);
  border: 1px solid var(--seanav-border-light);
  box-shadow: var(--seanav-shadow);
  transition: all var(--seanav-transition);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  overflow: hidden;
}

.box:not(.product-small):hover,
.seanav-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--seanav-shadow-lg);
  border-color: var(--seanav-cyan);
}

.seanav-card img {
  width: 100%;
  height: 220px;
  object-fit: contain;
  background: #ffffff;
  padding: 14px;
}

.box-text, .product-title {
  padding: 18px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* =====================================================================
   CATEGORY TILES (site-wide standard)
   Markup: .box.box-push.box-text-bottom[.seanav-cat-tile] from ux_image_box
   Does NOT target .product-small (no .box-push).
   ===================================================================== */

/* Equal-height columns when a row contains category tiles */
#content .row:has(.box.box-push.box-text-bottom) > .col {
  display: flex;
  align-items: stretch;
}

#content .row:has(.box.box-push.box-text-bottom) > .col > .col-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
}

/* Card shell ? inherits .box / .box-push chrome (bg, border, shadow, radius) */
#content .box.box-push.box-text-bottom,
#content .seanav-cat-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
  width: 100%;
  height: 100%;
  margin: 0;
  overflow: hidden;
}

/* Image on top ? centered, contain, rounded */
#content .box.box-push.box-text-bottom .box-image,
#content .seanav-cat-tile .box-image {
  display: flex;
  flex: 1 1 auto;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 0;
  padding: 12px;
  background: #ffffff;
  border-radius: 12px 12px 0 0;
  box-sizing: border-box;
}

#content .box.box-push.box-text-bottom .box-image img,
#content .seanav-cat-tile .box-image img {
  display: block;
  margin: 0 auto;
  width: auto;
  max-width: 90%;
  max-height: 100%;
  height: auto;
  object-fit: contain;
  object-position: center center;
}

/* Label below ? centered, ~188px, hugs text (1px spacing) */
#content .box.box-push.box-text-bottom > .box-text,
#content .seanav-cat-tile > .box-text {
  flex: 0 0 auto;
  height: auto !important;
  min-height: 0 !important;
  max-width: 188px;
  width: 100%;
  margin: 1px auto !important;
  padding: 1px !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  box-sizing: border-box;
}

#content .box.box-push.box-text-bottom .box-text-inner,
#content .seanav-cat-tile .box-text-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center;
}

/* Title typography ? matches homepage inline style standard */
#content .box.box-push.box-text-bottom .box-text-inner h5,
#content .box.box-push.box-text-bottom .seanav-cat-tile-title,
#content .seanav-cat-tile .box-text-inner h5,
#content .seanav-cat-tile .seanav-cat-tile-title {
  margin: 0 !important;
  padding: 0 !important;
  text-align: center;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.35;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  color: #0a1929 !important;
}

#content .box.box-push.box-text-bottom .box-text-inner p,
#content .seanav-cat-tile .box-text-inner p {
  margin: 0 !important;
  padding: 0 !important;
  text-align: center;
}

/* Hide unused shortcode wrappers / empty title shells */
#content .box.box-push.box-text-bottom .box-text-inner p:empty,
#content .seanav-cat-tile .box-text-inner p:empty,
#content .box.box-push.box-text-bottom .box-text-inner > h5:empty,
#content .seanav-cat-tile .box-text-inner > h5:empty,
#content .box.box-push.box-text-bottom .box-text-inner > h5:has(> a:only-child:empty),
#content .seanav-cat-tile .box-text-inner > h5:has(> a:only-child:empty) {
  display: none;
}

#content .box.box-push.box-text-bottom .box-text-inner a,
#content .box.box-push.box-text-bottom .seanav-cat-tile-title a,
#content .seanav-cat-tile .box-text-inner a,
#content .seanav-cat-tile .seanav-cat-tile-title a {
  color: inherit;
  text-align: center;
}

/* =====================================================================
   PRODUCT GRID + HORIZONTAL SLIDER
   ===================================================================== */

/* Parent-driven column widths */
@media (min-width: 850px) {
  .row.large-columns-1 > .col { flex: 0 0 100%; width: 100%; max-width: 100%; }
  .row.large-columns-2 > .col { flex: 0 0 50%; width: 50%; max-width: 50%; }
  .row.large-columns-3 > .col { flex: 0 0 33.3333%; width: 33.3333%; max-width: 33.3333%; }
  .row.large-columns-4 > .col { flex: 0 0 25%; width: 25%; max-width: 25%; }
  .row.large-columns-5 > .col { flex: 0 0 20%; width: 20%; max-width: 20%; }
  .row.large-columns-6 > .col { flex: 0 0 16.6667%; width: 16.6667%; max-width: 16.6667%; }
  .row.large-columns-7 > .col { flex: 0 0 14.2857%; width: 14.2857%; max-width: 14.2857%; }
  .row.large-columns-8 > .col { flex: 0 0 12.5%; width: 12.5%; max-width: 12.5%; }
}

@media (min-width: 550px) and (max-width: 849px) {
  .row.medium-columns-1 > .col { flex: 0 0 100%; width: 100%; max-width: 100%; }
  .row.medium-columns-2 > .col { flex: 0 0 50%; width: 50%; max-width: 50%; }
  .row.medium-columns-3 > .col { flex: 0 0 33.3333%; width: 33.3333%; max-width: 33.3333%; }
  .row.medium-columns-4 > .col { flex: 0 0 25%; width: 25%; max-width: 25%; }
}

@media (max-width: 549px) {
  .row.small-columns-1 > .col { flex: 0 0 100%; width: 100%; max-width: 100%; }
  .row.small-columns-2 > .col { flex: 0 0 50%; width: 50%; max-width: 50%; }
  .row.small-columns-3 > .col { flex: 0 0 33.3333%; width: 33.3333%; max-width: 33.3333%; }
}

.row.row-small {
  margin-left: -10px;
  margin-right: -10px;
}

.row.row-small > .col {
  padding-left: 10px;
  padding-right: 10px;
  margin-bottom: 20px;
}

/* Horizontal scroll carousel */
.seanav-products-slider,
.products.row.seanav-products-slider {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  gap: 0;
  padding-bottom: 10px;
  align-items: stretch;
}

.seanav-products-slider > .col,
.seanav-products-slider > .product-small.col {
  flex: 0 0 25% !important;
  width: 25% !important;
  max-width: 25% !important;
  min-width: 250px;
  scroll-snap-align: start;
  margin-bottom: 0;
}

@media (max-width: 849px) {
  .seanav-products-slider > .col,
  .seanav-products-slider > .product-small.col {
    flex: 0 0 33.3333% !important;
    width: 33.3333% !important;
    max-width: 33.3333% !important;
    min-width: 200px;
  }
}

@media (max-width: 549px) {
  .seanav-products-slider > .col,
  .seanav-products-slider > .product-small.col {
    flex: 0 0 50% !important;
    width: 50% !important;
    max-width: 50% !important;
    min-width: 160px;
  }
}

.seanav-products-slider.large-columns-4 > .col { flex-basis: 25% !important; width: 25% !important; max-width: 25% !important; }
.seanav-products-slider.large-columns-5 > .col { flex-basis: 20% !important; width: 20% !important; max-width: 20% !important; }
.seanav-products-slider.large-columns-3 > .col { flex-basis: 33.3333% !important; width: 33.3333% !important; max-width: 33.3333% !important; }

.product-small.col {
  display: flex;
  flex-direction: column;
}

.product-small .col-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  overflow: visible !important;
  padding: 0;
}

.product-small .box,
.product-small .product-small.box {
  background: #ffffff;
  border: 1px solid #e8edf3;
  border-radius: 10px;
  box-shadow: 0 4px 18px rgba(15, 23, 42, 0.06);
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.product-small .box:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.10);
  border-color: #e8edf3;
}

.product-small .box-image {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  background: #ffffff;
  overflow: hidden;
  flex: 0 0 auto;
}

.product-small .box-image .image-cover {
  position: absolute;
  inset: 0;
  display: block;
}

.product-small .box-image .image-cover > a {
  position: absolute;
  inset: 0;
  display: block;
}

.product-small .box-image img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: 0 !important;
  padding: 12px !important;
  box-sizing: border-box;
  background: transparent;
}

.product-small .badge-container {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 2;
  pointer-events: none;
}

.product-small .badge-circle .badge-inner,
.product-small .callout.badge {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #1e3a5f;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.72rem;
  font-weight: 600;
  font-style: italic;
}

.product-small .onsale {
  color: #ffffff;
  background: transparent;
  border: 0;
  padding: 0;
}

.product-small .box-text {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: 14px 16px 18px !important;
  text-align: left;
  min-height: 0;
}

.product-small .title-wrapper {
  flex: 1 1 auto;
}

.product-small .product-cat {
  margin: 0 0 6px;
  font-size: 0.7rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #94a3b8;
  font-weight: 500;
}

.product-small .product-cat a {
  color: inherit;
  pointer-events: none;
}

.product-small .product-title,
.product-small .name.product-title,
.product-small h5.product-title {
  margin: 0 0 8px;
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.35;
  color: #334155;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
}

.product-small .product-title a {
  color: inherit;
}

.product-small .price-wrapper {
  margin-top: auto;
}

.product-small .price {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  font-size: 0.95rem;
  color: #0f172a;
  font-weight: 700;
}

.product-small .price del {
  order: -1;
  color: #94a3b8;
  font-weight: 400;
  font-size: 0.85rem;
}

.product-small .price ins {
  text-decoration: none;
  font-weight: 700;
}

.product-small .add-to-cart-button {
  margin-top: 12px;
}

.product-small .add-to-cart-button .button,
.product-small .button.is-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 8px 16px;
  border: none;
  border-radius: 4px;
  background: var(--seanav-cyan) !important;
  color: #0d1117 !important;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  transform: none !important;
  box-shadow: 0 2px 10px rgba(0, 255, 136, 0.2) !important;
}

.product-small .add-to-cart-button .button:hover,
.product-small .button.is-outline:hover {
  background: var(--seanav-cyan-dark) !important;
  border-color: transparent;
  color: #0d1117 !important;
}

.product-section-title {
  margin: 0 0 1.25rem;
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #334155;
  text-align: center;
}

/* Footer Architecture */
#footer {
  background: var(--seanav-navy-dark);
  color: rgba(255, 255, 255, 0.75);
  padding: 65px 0 25px;
  border-top: 3px solid var(--seanav-cyan);
}

#footer h4.widget-title {
  color: #ffffff;
  font-size: 1.15rem;
  margin-bottom: 18px;
  border-bottom: 2px solid var(--seanav-cyan-glow);
  padding-bottom: 8px;
}

#footer a { color: rgba(255, 255, 255, 0.85); }
#footer a:hover { color: var(--seanav-cyan-bright); }

/* Footer column headings (PRODUCTS, SOLUTIONS, COMPANY, CONTACT) */
#footer .section-title-container .section-title,
#footer h3.section-title,
#footer .widget-title,
#footer h4.widget-title {
  color: #ff7a00 !important;
  border-bottom-color: rgba(255, 122, 0, 0.35);
}

#footer ul { list-style: none; padding: 0; margin: 0; }
#footer ul li { margin-bottom: 8px; }

.absolute-footer {
  margin-top: 45px;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 0.85rem;
}

.payment-icons span {
  display: inline-block;
  background: rgba(255, 255, 255, 0.1);
  padding: 4px 10px;
  border-radius: 4px;
  font-size: 0.8rem;
  color: #ffffff;
  margin-left: 6px;
}

/* Social follow icons (footer + elsewhere) ? inline SVGs, no icon font */
.social-icons.follow-icons {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55em;
  line-height: 1;
}

.social-icons.follow-icons .follow-icons__title {
  display: block;
  width: 100%;
  margin-bottom: 0.4em;
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.85);
}

.social-icons.follow-icons a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.15em;
  height: 2.15em;
  border: 1px solid rgba(255, 255, 255, 0.45);
  border-radius: 50%;
  color: #ffffff !important;
  background: transparent;
  text-decoration: none;
  transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.social-icons.follow-icons a svg {
  width: 1em;
  height: 1em;
  display: block;
}

.social-icons.follow-icons a:hover,
.social-icons.follow-icons a:focus {
  color: var(--seanav-cyan-bright) !important;
  border-color: var(--seanav-cyan);
  background: rgba(0, 200, 224, 0.12);
}

#footer .social-icons.follow-icons a {
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.5);
}

#footer .social-icons.follow-icons a:hover,
#footer .social-icons.follow-icons a:focus {
  color: var(--seanav-cyan-bright) !important;
  border-color: var(--seanav-cyan-bright);
}

/* Info cards stretch to match the tallest sibling card in the same row */
.col:has(> .col-inner > .seanav-info-card) {
  display: flex;
  flex-direction: column;
}

.col-inner > .seanav-info-card {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

.col-inner > .seanav-info-card > ul:last-child {
  margin-bottom: 0;
}

/* =====================================================================
   SHOP / CATALOG ARCHIVE ? left sidebar + 4-col product grid
   Scoped to shop, product category/tag/brand, and product search.
   ===================================================================== */

.pt-main { padding-top: 2rem; }
.pb-main { padding-bottom: 3rem; }

.seanav-shop-page {
  background:
    radial-gradient(ellipse 80% 50% at 0% 0%, rgba(0, 200, 224, 0.06), transparent 55%),
    radial-gradient(ellipse 60% 40% at 100% 10%, rgba(6, 23, 41, 0.04), transparent 50%),
    var(--seanav-body);
  min-height: 40vh;
}

/* Shop archives only: edge-to-edge within viewport, keep modest side padding.
   Overrides .container.full-width { padding: 0 } without affecting homepage. */
.seanav-shop-page .container.seanav-shop-container.full-width {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(24px, 3vw, 40px) !important;
  padding-right: clamp(24px, 3vw, 40px) !important;
}

.seanav-shop-layout {
  align-items: flex-start;
}

/* ---- Left sidebar widgets ---- */
.seanav-shop-sidebar-inner {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  height: auto !important;
}

.seanav-shop-sidebar .widget {
  display: block;
  height: auto !important;
  justify-content: flex-start;
  margin: 0;
  padding: 1rem 1.1rem;
  background: var(--seanav-card-bg);
  border: 1px solid var(--seanav-border-light);
  border-radius: var(--seanav-radius-sm);
  box-shadow: 0 4px 16px rgba(6, 23, 41, 0.05);
  overflow: hidden;
}

.seanav-shop-sidebar .widget-title {
  display: block;
  margin: 0 0 0.75rem;
  padding-bottom: 0.55rem;
  border-bottom: 2px solid var(--seanav-cyan-glow);
  font-family: 'Outfit', sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--seanav-navy);
}

.seanav-shop-sidebar ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.seanav-shop-sidebar .product-categories > li,
.seanav-shop-sidebar .seanav-brand-list > li,
.seanav-shop-sidebar .woocommerce-widget-layered-nav-list > li,
.seanav-shop-sidebar .wc-brand-list-layered-nav-product_brand > li,
#shop-sidebar .widget_brand_nav .wc-layered-nav-term,
.seanav-shop-sidebar .wc-block-product-categories-list-item {
  margin: 0;
  padding: 0.35rem 0;
  border-bottom: 1px solid #f1f5f9;
  font-size: 0.88rem;
  line-height: 1.4;
}

.seanav-shop-sidebar .product-categories > li:last-child,
.seanav-shop-sidebar .seanav-brand-list > li:last-child,
.seanav-shop-sidebar .woocommerce-widget-layered-nav-list > li:last-child,
.seanav-shop-sidebar .wc-brand-list-layered-nav-product_brand > li:last-child,
#shop-sidebar .widget_brand_nav .wc-layered-nav-term:last-child {
  border-bottom: 0;
}

.seanav-shop-sidebar .widget a {
  color: #334155;
  text-decoration: none;
  transition: color 0.2s ease;
}

.seanav-shop-sidebar .widget a:hover {
  color: var(--seanav-cyan-dark);
}

.seanav-shop-sidebar .product-categories,
.seanav-shop-sidebar .seanav-brand-list,
.seanav-shop-sidebar .wc-brand-list-layered-nav-product_brand,
#shop-sidebar .widget_brand_nav ul,
#shop-sidebar .widget_layered_nav.widget_brand_nav ul,
.seanav-shop-sidebar .product_list_widget,
#shop-sidebar .widget_products .product_list_widget,
#shop-sidebar .widget_top_rated_products .product_list_widget,
#shop-sidebar .widget_recently_viewed_products .product_list_widget,
#shop-sidebar .widget_recent_reviews .product_list_widget,
.seanav-shop-sidebar-inner .woocommerce.widget_products .product_list_widget {
  max-height: 280px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--seanav-cyan) transparent;
}

/* Brands layered nav list ? match Product Categories link UX */
#shop-sidebar .widget_brand_nav .wc-brand-list-layered-nav-product_brand,
#shop-sidebar .widget_brand_nav.widget_layered_nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

#shop-sidebar .widget_brand_nav .wc-layered-nav-term a,
.seanav-shop-sidebar .widget_brand_nav .wc-layered-nav-term a {
  color: #334155;
  text-decoration: none;
  transition: color 0.2s ease;
}

#shop-sidebar .widget_brand_nav .wc-layered-nav-term a:hover,
.seanav-shop-sidebar .widget_brand_nav .wc-layered-nav-term a:hover {
  color: var(--seanav-cyan-dark);
}

#shop-sidebar .widget_brand_nav .wc-layered-nav-term.chosen a,
.seanav-shop-sidebar .widget_brand_nav .wc-layered-nav-term.chosen a {
  color: var(--seanav-navy);
  font-weight: 600;
}

#shop-sidebar .widget_brand_nav .wc-layered-nav-term .count,
.seanav-shop-sidebar .widget_brand_nav .wc-layered-nav-term .count {
  color: #94a3b8;
  font-size: 0.8em;
  font-weight: 500;
}

/* Compact horizontal product rows ? override Flatsome absolute thumb layout */
#shop-sidebar .widget_products ul.product_list_widget li,
#shop-sidebar .widget_top_rated_products ul.product_list_widget li,
#shop-sidebar .widget_recently_viewed_products ul.product_list_widget li,
#shop-sidebar .widget_recent_reviews ul.product_list_widget li,
.seanav-shop-sidebar ul.product_list_widget li,
.seanav-shop-sidebar-inner .woocommerce.widget_products ul.product_list_widget li {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  gap: 0.12rem 0.65rem;
  margin: 0 !important;
  padding: 0.45rem 0 !important;
  padding-left: 0 !important;
  border-bottom: 1px solid #f1f5f9;
  border-top: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  overflow: visible !important;
  position: static !important;
  line-height: 1.3;
}

#shop-sidebar .widget_products ul.product_list_widget li:last-child,
#shop-sidebar .widget_top_rated_products ul.product_list_widget li:last-child,
#shop-sidebar .widget_recently_viewed_products ul.product_list_widget li:last-child,
#shop-sidebar .widget_recent_reviews ul.product_list_widget li:last-child,
.seanav-shop-sidebar ul.product_list_widget li:last-child,
.seanav-shop-sidebar-inner .woocommerce.widget_products ul.product_list_widget li:last-child {
  border-bottom: 0;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

#shop-sidebar ul.product_list_widget li > a,
.seanav-shop-sidebar ul.product_list_widget li > a,
.seanav-shop-sidebar-inner .woocommerce.widget_products ul.product_list_widget li > a {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 0.65rem !important;
  flex: 1 1 100%;
  min-width: 0;
  width: 100% !important;
  max-width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  text-decoration: none;
  line-height: 1.3;
}

#shop-sidebar ul.product_list_widget li img,
#shop-sidebar .widget_products ul.product_list_widget li img,
#shop-sidebar .widget_top_rated_products ul.product_list_widget li img,
#shop-sidebar .widget_recently_viewed_products ul.product_list_widget li img,
#shop-sidebar .widget_recent_reviews ul.product_list_widget li img,
.seanav-shop-sidebar ul.product_list_widget li img,
.seanav-shop-sidebar-inner .woocommerce.widget_products ul.product_list_widget li img {
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  flex: 0 0 52px !important;
  width: 52px !important;
  height: 52px !important;
  max-width: 52px !important;
  max-height: 52px !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  display: block !important;
  object-fit: contain !important;
  object-position: center center !important;
  border-radius: 6px;
  background: #f8fafc;
}

#shop-sidebar ul.product_list_widget .product-title,
.seanav-shop-sidebar ul.product_list_widget .product-title,
.seanav-shop-sidebar-inner .woocommerce.widget_products ul.product_list_widget .product-title {
  position: static !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: 100%;
  display: -webkit-box !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0.8rem !important;
  font-weight: 600;
  line-height: 1.3 !important;
  color: #1e293b;
  white-space: normal !important;
  text-overflow: ellipsis;
}

#shop-sidebar ul.product_list_widget li > .price,
#shop-sidebar ul.product_list_widget li > del,
#shop-sidebar ul.product_list_widget li > ins,
#shop-sidebar ul.product_list_widget li > .woocommerce-Price-amount,
#shop-sidebar ul.product_list_widget li > .amount,
.seanav-shop-sidebar ul.product_list_widget li > .price,
.seanav-shop-sidebar ul.product_list_widget li > del,
.seanav-shop-sidebar ul.product_list_widget li > ins,
.seanav-shop-sidebar ul.product_list_widget li > .woocommerce-Price-amount,
.seanav-shop-sidebar ul.product_list_widget li > .amount,
.seanav-shop-sidebar-inner .woocommerce.widget_products ul.product_list_widget li > .price,
.seanav-shop-sidebar-inner .woocommerce.widget_products ul.product_list_widget li > del,
.seanav-shop-sidebar-inner .woocommerce.widget_products ul.product_list_widget li > ins,
.seanav-shop-sidebar-inner .woocommerce.widget_products ul.product_list_widget li > .woocommerce-Price-amount {
  display: inline-block !important;
  flex: 0 0 auto;
  align-self: baseline;
  max-width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0.75rem !important;
  font-weight: 600;
  line-height: 1.25 !important;
  color: var(--seanav-navy);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: baseline;
}

/* Sale price row: del (strikethrough) then ins side-by-side on one line,
   starting at the li left edge so the pair never wraps apart */
#shop-sidebar ul.product_list_widget li > del + ins,
.seanav-shop-sidebar ul.product_list_widget li > del + ins {
  margin-left: 0.3rem !important;
}

#shop-sidebar ul.product_list_widget li > del,
#shop-sidebar ul.product_list_widget li > del .woocommerce-Price-amount,
.seanav-shop-sidebar ul.product_list_widget li > del,
.seanav-shop-sidebar ul.product_list_widget li > del .woocommerce-Price-amount {
  font-size: 0.7rem !important;
  font-weight: 500;
  opacity: 0.65;
  text-decoration: line-through;
}

#shop-sidebar ul.product_list_widget li > ins,
.seanav-shop-sidebar ul.product_list_widget li > ins {
  text-decoration: none;
}

#shop-sidebar ul.product_list_widget .star-rating,
.seanav-shop-sidebar ul.product_list_widget .star-rating {
  float: none !important;
  flex: 0 0 auto;
  width: auto !important;
  margin: 0 0 0 calc(52px + 0.65rem) !important;
  font-size: 0.65rem;
}

#shop-sidebar ul.product_list_widget .reviewer,
.seanav-shop-sidebar ul.product_list_widget .reviewer {
  display: block;
  flex: 1 1 100%;
  margin: 0 0 0 calc(52px + 0.65rem);
  font-size: 0.7rem;
  color: var(--seanav-text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Product search ? header-style field adapted for light sidebar */
.seanav-shop-sidebar .woocommerce-product-search,
.seanav-shop-sidebar form.woocommerce-product-search,
#shop-sidebar form.woocommerce-product-search {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  gap: 0;
  margin: 0;
}

.seanav-shop-sidebar .woocommerce-product-search .screen-reader-text,
#shop-sidebar .woocommerce-product-search .screen-reader-text,
.seanav-shop-sidebar .woocommerce-product-search > label,
#shop-sidebar .woocommerce-product-search > label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.seanav-shop-sidebar .woocommerce-product-search .search-field,
#shop-sidebar .woocommerce-product-search .search-field {
  flex: 1;
  min-width: 0;
  width: 100%;
  height: 42px;
  padding: 8px 46px 8px 14px;
  border: 1px solid var(--seanav-border-light);
  border-radius: var(--seanav-radius-sm);
  font-size: 0.86rem;
  color: var(--seanav-navy);
  background: #f8fafc;
  outline: none;
  transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
  -webkit-appearance: none;
  appearance: none;
}

.seanav-shop-sidebar .woocommerce-product-search .search-field::placeholder,
#shop-sidebar .woocommerce-product-search .search-field::placeholder {
  color: #94a3b8;
  opacity: 1;
}

.seanav-shop-sidebar .woocommerce-product-search .search-field:focus,
#shop-sidebar .woocommerce-product-search .search-field:focus {
  border-color: var(--seanav-cyan);
  background: #fff;
  box-shadow: 0 0 0 2px var(--seanav-cyan-glow);
}

.seanav-shop-sidebar .woocommerce-product-search .seanav-product-search-btn,
.seanav-shop-sidebar .woocommerce-product-search button[type="submit"],
#shop-sidebar .woocommerce-product-search .seanav-product-search-btn,
#shop-sidebar .woocommerce-product-search button[type="submit"] {
  position: absolute;
  right: 3px;
  top: 3px;
  bottom: 3px;
  width: 36px;
  padding: 0;
  margin: 0;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: #64748b;
  font-size: 0;
  line-height: 0;
  text-indent: -9999px;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
}

.seanav-shop-sidebar .woocommerce-product-search .seanav-product-search-btn,
#shop-sidebar .woocommerce-product-search .seanav-product-search-btn {
  font-size: inherit;
  line-height: normal;
  text-indent: 0;
  overflow: visible;
}

.seanav-shop-sidebar .woocommerce-product-search .seanav-product-search-icon,
.seanav-shop-sidebar .woocommerce-product-search button[type="submit"] svg,
#shop-sidebar .woocommerce-product-search .seanav-product-search-icon,
#shop-sidebar .woocommerce-product-search button[type="submit"] svg {
  display: block;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  pointer-events: none;
  stroke: currentColor;
}

.seanav-shop-sidebar .woocommerce-product-search .seanav-product-search-btn:hover,
.seanav-shop-sidebar .woocommerce-product-search .seanav-product-search-btn:focus-visible,
.seanav-shop-sidebar .woocommerce-product-search button[type="submit"]:hover,
.seanav-shop-sidebar .woocommerce-product-search button[type="submit"]:focus-visible,
#shop-sidebar .woocommerce-product-search .seanav-product-search-btn:hover,
#shop-sidebar .woocommerce-product-search .seanav-product-search-btn:focus-visible,
#shop-sidebar .woocommerce-product-search button[type="submit"]:hover,
#shop-sidebar .woocommerce-product-search button[type="submit"]:focus-visible {
  background: var(--seanav-cyan-glow);
  color: var(--seanav-cyan-dark);
  outline: none;
}

/* ---- Shop sidebar price filter (scoped) ---- */
#shop-sidebar .widget_price_filter .price_slider_wrapper,
.seanav-shop-sidebar-inner .widget_price_filter .price_slider_wrapper,
.seanav-shop-sidebar .widget_price_filter .price_slider_wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

#shop-sidebar .widget_price_filter .price_slider_amount,
.seanav-shop-sidebar-inner .widget_price_filter .price_slider_amount,
.seanav-shop-sidebar .widget_price_filter .price_slider_amount {
  display: contents;
}

#shop-sidebar .widget_price_filter .price_label,
.seanav-shop-sidebar-inner .widget_price_filter .price_label,
.seanav-shop-sidebar .widget_price_filter .price_label {
  order: 1;
  margin: 0;
  padding: 0;
  text-align: left;
  line-height: 1.35;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--seanav-text);
  letter-spacing: 0.01em;
}

#shop-sidebar .widget_price_filter .price_slider,
.seanav-shop-sidebar-inner .widget_price_filter .price_slider,
.seanav-shop-sidebar .widget_price_filter .price_slider {
  order: 2;
  margin: 0.55rem 0.35rem 0.35rem;
}

#shop-sidebar .widget_price_filter .price_slider_amount .button,
.seanav-shop-sidebar-inner .widget_price_filter .price_slider_amount .button,
.seanav-shop-sidebar .widget_price_filter .button {
  order: 3;
  float: none;
  align-self: flex-start;
  margin-top: 0.15rem;
  padding: 0.5rem 0.85rem;
  border: 0;
  border-radius: var(--seanav-radius-sm);
  background: var(--seanav-navy);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.2s ease;
}

#shop-sidebar .widget_price_filter .button:hover,
.seanav-shop-sidebar .widget_price_filter .button:hover {
  background: var(--seanav-cyan-dark);
}

/* Hide Filter button when auto-submit JS is active (fallback remains without JS). */
#shop-sidebar .widget_price_filter.seanav-price-auto .price_slider_amount .button,
.seanav-shop-sidebar-inner .widget_price_filter.seanav-price-auto .price_slider_amount .button,
.seanav-shop-sidebar .widget_price_filter.seanav-price-auto .button {
  display: none;
}

#shop-sidebar .widget_price_filter .price_slider_amount .clear,
.seanav-shop-sidebar-inner .widget_price_filter .price_slider_amount .clear,
.seanav-shop-sidebar .widget_price_filter .clear {
  display: none;
}

.seanav-shop-sidebar .widget_price_filter input[type="text"],
#shop-sidebar .widget_price_filter input[type="text"] {
  flex: 1;
  min-width: 0;
  padding: 0.5rem 0.7rem;
  border: 1px solid var(--seanav-border-light);
  border-radius: var(--seanav-radius-sm);
  font-size: 0.88rem;
  color: var(--seanav-text);
  background: #fff;
}

#shop-sidebar .widget_price_filter .ui-slider,
.seanav-shop-sidebar-inner .widget_price_filter .ui-slider,
.seanav-shop-sidebar .widget_price_filter .ui-slider {
  position: relative;
  height: 6px;
  border: 0;
  border-radius: 999px;
  background: var(--seanav-navy);
  margin-left: 0.5em;
  margin-right: 0.5em;
}

#shop-sidebar .widget_price_filter .ui-slider .ui-slider-range,
.seanav-shop-sidebar-inner .widget_price_filter .ui-slider .ui-slider-range,
.seanav-shop-sidebar .widget_price_filter .price_slider .ui-slider-range,
.seanav-shop-sidebar .ui-slider .ui-slider-range {
  position: absolute;
  top: 0;
  height: 100%;
  border: 0;
  border-radius: 999px;
  background: var(--seanav-cyan);
}

#shop-sidebar .widget_price_filter .ui-slider .ui-slider-handle,
.seanav-shop-sidebar-inner .widget_price_filter .ui-slider .ui-slider-handle,
.seanav-shop-sidebar .widget_price_filter .price_slider .ui-slider-handle,
.seanav-shop-sidebar .ui-slider .ui-slider-handle {
  position: absolute;
  z-index: 2;
  top: 50%;
  width: 16px;
  height: 16px;
  margin-left: -8px;
  border: 2px solid var(--seanav-cyan);
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(6, 23, 41, 0.22);
  cursor: ew-resize;
  outline: none;
  transform: translateY(-50%);
  transition: box-shadow 0.15s ease, border-color 0.15s ease, background 0.15s ease;
}

#shop-sidebar .widget_price_filter .ui-slider .ui-slider-handle:hover,
.seanav-shop-sidebar-inner .widget_price_filter .ui-slider .ui-slider-handle:hover,
.seanav-shop-sidebar .widget_price_filter .ui-slider .ui-slider-handle:hover {
  border-color: var(--seanav-cyan-bright);
  background: var(--seanav-cyan-glow);
}

#shop-sidebar .widget_price_filter .ui-slider .ui-slider-handle:focus,
#shop-sidebar .widget_price_filter .ui-slider .ui-slider-handle:focus-visible,
#shop-sidebar .widget_price_filter .ui-slider .ui-slider-handle.ui-state-focus,
.seanav-shop-sidebar-inner .widget_price_filter .ui-slider .ui-slider-handle:focus,
.seanav-shop-sidebar-inner .widget_price_filter .ui-slider .ui-slider-handle:focus-visible,
.seanav-shop-sidebar .widget_price_filter .ui-slider .ui-slider-handle:focus-visible {
  border-color: var(--seanav-cyan-bright);
  box-shadow: 0 0 0 3px var(--seanav-cyan-glow);
  outline: none;
}

#shop-sidebar .widget_price_filter .price_slider_wrapper .ui-widget-content,
.seanav-shop-sidebar-inner .widget_price_filter .price_slider_wrapper .ui-widget-content,
.seanav-shop-sidebar .widget_price_filter .price_slider_wrapper .ui-widget-content {
  border: 0;
  border-radius: 999px;
  background: var(--seanav-navy);
}

/* ---- Catalog ordering (sidebar) / result count (below grid) ---- */
.seanav-shop-main .woocommerce-notices-wrapper {
  margin-bottom: 0.75rem;
}

.seanav-shop-main .woocommerce-result-count {
  clear: both;
  float: none;
  display: block;
  margin: 1.25rem 0 0.75rem;
  padding-top: 0;
  font-size: 0.88rem;
  color: var(--seanav-text-muted);
  text-align: center;
}

/* Sort by ? faux widget under Filter by Price */
#shop-sidebar .seanav-widget-catalog-ordering .woocommerce-ordering,
.seanav-shop-sidebar .seanav-widget-catalog-ordering .woocommerce-ordering {
  float: none;
  margin: 0;
  width: 100%;
}

#shop-sidebar .seanav-widget-catalog-ordering .woocommerce-ordering select,
.seanav-shop-sidebar .seanav-widget-catalog-ordering .woocommerce-ordering select,
#shop-sidebar .seanav-widget-catalog-ordering select.orderby,
.seanav-shop-sidebar .seanav-widget-catalog-ordering select.orderby {
  display: block;
  width: 100%;
  min-width: 0;
  height: 42px;
  padding: 8px 2.25rem 8px 14px;
  border: 1px solid var(--seanav-border-light);
  border-radius: var(--seanav-radius-sm);
  background: #f8fafc url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23061729' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 0.75rem center;
  appearance: none;
  -webkit-appearance: none;
  font-size: 0.86rem;
  color: var(--seanav-navy);
  font-weight: 500;
  cursor: pointer;
  outline: none;
  transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

#shop-sidebar .seanav-widget-catalog-ordering .woocommerce-ordering select:hover,
.seanav-shop-sidebar .seanav-widget-catalog-ordering .woocommerce-ordering select:hover,
#shop-sidebar .seanav-widget-catalog-ordering .woocommerce-ordering select:focus,
.seanav-shop-sidebar .seanav-widget-catalog-ordering .woocommerce-ordering select:focus,
#shop-sidebar .seanav-widget-catalog-ordering select.orderby:focus,
.seanav-shop-sidebar .seanav-widget-catalog-ordering select.orderby:focus {
  border-color: var(--seanav-cyan);
  background-color: #fff;
  outline: none;
  box-shadow: 0 0 0 2px var(--seanav-cyan-glow);
}

.seanav-shop-main .shop-container::after {
  content: "";
  display: table;
  clear: both;
}

.seanav-shop-main .products.seanav-products {
  clear: both;
  width: 100%;
  max-width: none;
  margin-left: -10px;
  margin-right: -10px;
}

/* Equal-height cards in archive grid */
.seanav-shop-main .products.seanav-products > .product-small.col {
  display: flex;
  align-items: stretch;
}

/* ---- Pagination ---- */
.seanav-shop-main .woocommerce-pagination {
  clear: both;
  margin: 2rem 0 0;
  text-align: center;
}

.seanav-shop-main .woocommerce-pagination ul {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0;
  padding: 0;
  list-style: none;
  border: 0;
}

.seanav-shop-main .woocommerce-pagination ul li {
  margin: 0;
  border: 0;
  overflow: visible;
}

.seanav-shop-main .woocommerce-pagination ul li a,
.seanav-shop-main .woocommerce-pagination ul li span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 0.65rem;
  border: 1px solid var(--seanav-border-light);
  border-radius: var(--seanav-radius-sm);
  background: #fff;
  color: var(--seanav-navy);
  font-size: 0.88rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease;
}

.seanav-shop-main .woocommerce-pagination ul li a:hover {
  border-color: var(--seanav-cyan);
  color: var(--seanav-cyan-dark);
  box-shadow: 0 0 0 3px var(--seanav-cyan-glow);
}

.seanav-shop-main .woocommerce-pagination ul li span.current {
  background: var(--seanav-navy);
  border-color: var(--seanav-navy);
  color: #fff;
}

/* ---- Responsive: sidebar stacks below filters area / products stay usable ---- */
@media (max-width: 849px) {
  .seanav-shop-layout {
    flex-direction: column;
  }

  .seanav-shop-sidebar,
  .seanav-shop-main {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .seanav-shop-sidebar {
    order: 2;
    margin-top: 1.5rem;
  }

  .seanav-shop-main {
    order: 1;
  }

  .seanav-shop-sidebar-inner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.85rem;
  }

  .seanav-shop-main .woocommerce-result-count {
    text-align: left;
  }
}

@media (max-width: 549px) {
  .pt-main { padding-top: 1.25rem; }
  .pb-main { padding-bottom: 2rem; }

  .seanav-shop-sidebar-inner {
    grid-template-columns: 1fr;
  }

  .seanav-shop-main .products.seanav-products.small-columns-2 > .col {
    flex: 0 0 50%;
    width: 50%;
    max-width: 50%;
  }
}

@media (max-width: 380px) {
  .seanav-shop-main .products.seanav-products > .col {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* =====================================================================
   SINGLE PRODUCT ? full-width layout, RIGHT sidebar (mirrors shop)
   Scoped to body.single-product / .seanav-product-page.
   Reuses .seanav-shop-sidebar widget styling; the sidebar sits on the
   RIGHT because the main column is rendered first in the DOM.
   ===================================================================== */

body.single-product {
  overflow-x: hidden;
}

body.single-product .seanav-product-page {
  width: 100%;
  max-width: none;
}

/* Full-width container padding (matches shop; .seanav-shop-container rule
   already applies, this keeps it explicit for the product container). */
body.single-product .seanav-product-page .container.seanav-product-container.full-width {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(24px, 3vw, 40px) !important;
  padding-right: clamp(24px, 3vw, 40px) !important;
}

/* Tighter top rhythm than the shop archive: header ? breadcrumb ? gallery */
body.single-product .seanav-product-page .container.seanav-product-container.pt-main {
  padding-top: 0.85rem;
}

/* ---- Breadcrumbs ---- */
body.single-product .seanav-product-page .woocommerce-breadcrumb {
  margin: 0 0 0.6rem;
  padding: 0.4rem 0.75rem;
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.15rem;
  background: rgba(255, 255, 255, 0.75);
  border: 1px solid var(--seanav-border-light);
  border-radius: var(--seanav-radius-sm);
  font-size: 0.82rem;
  font-weight: 500;
  color: #64748b;
}

body.single-product .seanav-product-page .woocommerce-breadcrumb a {
  color: var(--seanav-navy);
  text-decoration: none;
  transition: color 0.2s ease;
}

body.single-product .seanav-product-page .woocommerce-breadcrumb a:hover {
  color: var(--seanav-cyan-dark);
}

/* ---- Layout row: keep sidebar top-aligned, main left / sidebar right ---- */
body.single-product .seanav-product-layout {
  align-items: flex-start;
}

/* Nested product-top row: cancel outer card padding overflow from .row gutters */
body.single-product .seanav-product-main > .col-inner > .seanav-product-top {
  margin-left: -15px;
  margin-right: -15px;
  width: calc(100% + 30px);
  max-width: none;
}

/* ---- Main column card ---- */
body.single-product .seanav-product-main > .col-inner {
  background: var(--seanav-card-bg);
  border: 1px solid var(--seanav-border-light);
  border-radius: var(--seanav-radius-lg);
  box-shadow: 0 10px 30px rgba(6, 23, 41, 0.06);
  padding: clamp(0.85rem, 1.4vw, 1.15rem) clamp(1.1rem, 2.4vw, 2rem) clamp(1.1rem, 2.4vw, 2rem);
  height: auto;
}

body.single-product .seanav-product-top {
  align-items: flex-start;
}

body.single-product .seanav-product-gallery-col,
body.single-product .seanav-product-summary-col {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-width: 0;
}

body.single-product .seanav-product-gallery-col > .col-inner,
body.single-product .seanav-product-summary-col > .col-inner {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: auto;
  flex: 1 1 auto;
  align-self: stretch;
}

/* ---- Gallery ---- */
body.single-product .seanav-product-gallery-inner {
  position: relative;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: auto;
}

/*
 * WooCommerce's stock rule makes div.images and div.summary 48% wide for its
 * traditional two-column template. These elements already live inside our
 * large-6 columns, so that rule was halving them again to roughly 168px.
 */
body.single-product.woocommerce div.product .seanav-product-gallery-col div.woocommerce-product-gallery.images {
  position: relative;
  float: none !important;
  clear: both;
  display: block;
  flex: 0 0 100%;
  margin: 0;
  padding: 0;
  width: 100% !important;
  max-width: 100%;
  min-width: 0;
  align-self: stretch;
  overflow: visible;
}

body.single-product .seanav-product-gallery-col .flex-viewport {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
}

body.single-product .seanav-product-gallery-col .woocommerce-product-gallery__wrapper {
  margin: 0;
  min-width: 0;
}

body.single-product .seanav-product-gallery-col .woocommerce-product-gallery__image {
  margin: 0;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  background: #fff;
  border: 1px solid var(--seanav-border-light);
  border-radius: var(--seanav-radius);
  overflow: hidden;
}

body.single-product .seanav-product-gallery-col .woocommerce-product-gallery__image a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  aspect-ratio: 4 / 3;
  max-height: min(620px, 70vh);
  line-height: 0;
  background: #fff;
}

body.single-product .seanav-product-gallery-col .woocommerce-product-gallery__image img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 100%;
  max-height: min(620px, 70vh);
  margin: 0 auto;
  object-fit: contain;
  background: #fff;
  border: 0;
  border-radius: 0;
  vertical-align: middle;
}

body.single-product .seanav-product-gallery-col .flex-control-thumbs {
  margin: 0.75rem 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.5rem;
  width: 100%;
  max-width: 100%;
  list-style: none;
}

body.single-product .seanav-product-gallery-col .flex-control-thumbs li {
  width: auto !important;
  min-width: 0;
  margin: 0;
  float: none !important;
}

body.single-product .seanav-product-gallery-col .flex-control-thumbs img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: var(--seanav-radius-sm);
  border: 1px solid var(--seanav-border-light);
  opacity: 0.75;
  cursor: pointer;
  transition: opacity 0.2s ease, border-color 0.2s ease;
}

body.single-product .seanav-product-gallery-col .flex-control-thumbs img:hover,
body.single-product .seanav-product-gallery-col .flex-control-thumbs .flex-active img {
  opacity: 1;
  border-color: var(--seanav-cyan);
}

/* Sale badge overlays the gallery (WC prints it as a sibling before .images) */
body.single-product .seanav-product-gallery-col .onsale {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 3;
  background: var(--seanav-cyan);
  color: var(--seanav-navy);
  border: 0;
  font-family: 'Outfit', sans-serif;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-radius: 999px;
  min-height: 0;
  min-width: 0;
  line-height: 1.2;
  padding: 0.35rem 0.8rem;
  box-shadow: 0 4px 14px rgba(6, 23, 41, 0.12);
}

/* Lightbox trigger remains available; hover zoom is intentionally disabled. */
body.single-product .seanav-product-gallery-col .woocommerce-product-gallery__trigger {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 3;
}

/* Defensive fallback if a plugin injects WooCommerce's hover-zoom image. */
body.single-product img.zoomImg,
body.single-product .zoomImg {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  max-width: 0 !important;
  max-height: 0 !important;
  pointer-events: none !important;
}

/* ---- Summary ---- */
body.single-product.woocommerce div.product .seanav-product-summary-col div.summary.entry-summary {
  float: none !important;
  clear: both;
  display: block;
  width: 100% !important;
  max-width: 100%;
  min-width: 0;
  margin: 0 !important;
  align-self: stretch;
  text-align: left;
}

body.single-product .seanav-product-summary-col .product_title {
  width: 100%;
  max-width: 100%;
  font-family: 'Outfit', sans-serif;
  font-weight: 800;
  font-size: clamp(1.35rem, 1.9vw, 1.55rem);
  line-height: 1.25;
  color: var(--seanav-navy);
  margin: 0 0 0.75rem;
  text-align: left;
}

body.single-product .seanav-product-summary-col .woocommerce-product-rating {
  margin-bottom: 0.9rem;
}

/* Hide WC a11y price clones visually (kept for screen readers) */
body.single-product .seanav-product-summary-col .price .screen-reader-text,
body.single-product .seanav-product-footer .price .screen-reader-text,
body.single-product .seanav-product-sidebar .price .screen-reader-text,
body.single-product .seanav-product-sidebar ul.product_list_widget .screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

body.single-product .seanav-product-summary-col .price,
body.single-product .seanav-product-summary-col .price .woocommerce-Price-amount {
  font-family: 'Outfit', sans-serif;
  font-weight: 700;
  color: var(--seanav-navy);
}

body.single-product .seanav-product-summary-col .price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.45rem 0.65rem;
  font-size: clamp(1.2rem, 1.7vw, 1.35rem);
  margin: 0 0 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--seanav-border-light);
  text-align: left;
}

body.single-product .seanav-product-summary-col .price del {
  color: #94a3b8;
  font-weight: 500;
  opacity: 0.9;
  font-size: 0.78em;
}

body.single-product .seanav-product-summary-col .price ins {
  text-decoration: none;
  color: var(--seanav-cyan-dark);
}

body.single-product .seanav-product-summary-col .woocommerce-product-details__short-description {
  color: #475569;
  font-size: 0.95rem;
  line-height: 1.65;
  margin-bottom: 1.25rem;
  text-align: justify;
  text-justify: inter-word;
}

body.single-product .seanav-product-summary-col .woocommerce-product-details__short-description p {
  margin: 0 0 0.75rem;
  text-align: justify;
  text-justify: inter-word;
}

body.single-product .seanav-product-summary-col .woocommerce-product-details__short-description p:last-child {
  margin-bottom: 0;
}

body.single-product .seanav-product-summary-col .stock.in-stock {
  color: #15803d;
  font-weight: 600;
}

body.single-product .seanav-product-summary-col .stock.out-of-stock {
  color: #b91c1c;
  font-weight: 600;
}

/*
 * Quantity + Add to cart.
 * Simple products: inline flex row.
 * Variable products: stack variations table; only the ATC row is flex.
 */
body.single-product .seanav-product-summary-col form.cart {
  margin: 1rem 0 1.25rem;
}

body.single-product .seanav-product-summary-col form.cart:not(.variations_form):not(.grouped_form),
body.single-product .seanav-product-summary-col form.cart .woocommerce-variation-add-to-cart {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}

body.single-product .seanav-product-summary-col form.cart.variations_form,
body.single-product .seanav-product-summary-col form.cart.grouped_form {
  display: block;
}

body.single-product .seanav-product-summary-col form.cart.variations_form .woocommerce-variation-add-to-cart {
  margin-top: 0.75rem;
}

body.single-product .seanav-product-summary-col form.cart .variations {
  width: 100%;
  margin-bottom: 0.5rem;
}

body.single-product .seanav-product-summary-col form.cart .quantity input.qty {
  width: 4.25rem;
  height: 48px;
  padding: 0 0.5rem;
  text-align: center;
  border: 1px solid var(--seanav-border-light);
  border-radius: var(--seanav-radius-sm);
  background: #fff;
  color: var(--seanav-navy);
  font-weight: 600;
}

body.single-product .seanav-product-summary-col .button,
body.single-product .seanav-product-summary-col .single_add_to_cart_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 1.6rem;
  background: var(--seanav-navy);
  color: #fff;
  border: 1px solid var(--seanav-navy);
  border-radius: var(--seanav-radius-sm);
  font-family: 'Outfit', sans-serif;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  font-size: 0.9rem;
  box-shadow: 0 6px 18px rgba(6, 23, 41, 0.14);
  transition: all 0.2s ease;
}

body.single-product .seanav-product-summary-col .button:hover,
body.single-product .seanav-product-summary-col .single_add_to_cart_button:hover {
  background: var(--seanav-cyan);
  border-color: var(--seanav-cyan);
  color: var(--seanav-navy);
  box-shadow: 0 8px 22px var(--seanav-cyan-glow);
}

/* Product meta (SKU / categories / tags) ? left-aligned stacks */
body.single-product .seanav-product-summary-col .product_meta {
  margin-top: 1.1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--seanav-border-light);
  font-size: 0.85rem;
  line-height: 1.55;
  color: #64748b;
  text-align: left;
}

body.single-product .seanav-product-summary-col .product_meta > span {
  display: block;
  margin: 0 0 0.35rem;
}

body.single-product .seanav-product-summary-col .product_meta > span:last-child {
  margin-bottom: 0;
}

body.single-product .seanav-product-summary-col .product_meta a {
  color: var(--seanav-cyan-dark);
  text-decoration: none;
}

body.single-product .seanav-product-summary-col .product_meta a:hover {
  text-decoration: underline;
}

/* Shipping notice: full width under gallery+summary (.seanav-product-top) */
body.single-product .seanav-product-main > .col-inner > .seanav-shipping-notice {
  margin: 1rem 0 0;
  padding: 0.9rem 1rem;
  background: rgba(0, 200, 224, 0.06);
  border: 1px solid var(--seanav-cyan-glow);
  border-left: 3px solid var(--seanav-cyan);
  border-radius: var(--seanav-radius-sm);
  font-size: 0.86rem;
  line-height: 1.55;
  color: #334155;
  text-align: justify;
  text-justify: inter-word;
}

body.single-product .seanav-product-main > .col-inner > .seanav-shipping-notice p {
  margin: 0;
  text-align: justify;
  text-justify: inter-word;
}

body.single-product .seanav-product-main > .col-inner > .seanav-shipping-notice a {
  color: var(--seanav-cyan-dark);
  font-weight: 600;
}

/* Product tags: compact meta line at bottom of .seanav-product-footer (matches .product_meta .posted_in) */
body.single-product .seanav-product-footer .seanav-product-tags {
  margin: 1.5rem 0 0;
  padding-top: 1rem;
  border-top: 1px solid var(--seanav-border-light);
  font-size: 0.85rem;
  line-height: 1.55;
  color: #64748b;
  text-align: left;
}

body.single-product .seanav-product-footer .seanav-product-tags .seanav-product-tags-label {
  margin-right: 0.25rem;
}

body.single-product .seanav-product-footer .seanav-product-tags .seanav-product-tags-list a {
  color: var(--seanav-cyan-dark);
  text-decoration: none;
}

body.single-product .seanav-product-footer .seanav-product-tags .seanav-product-tags-list a:hover {
  text-decoration: underline;
}

/* ---- Footer: tabs + tags stay inside the main column ---- */
body.single-product .seanav-product-footer {
  margin-top: 2rem;
  clear: both;
}

body.single-product .seanav-product-footer .woocommerce-tabs ul.tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin: 0 0 1.25rem;
  padding: 0 0 0.6rem;
  border-bottom: 1px solid var(--seanav-border-light);
  list-style: none;
}

body.single-product .seanav-product-footer .woocommerce-tabs ul.tabs::before,
body.single-product .seanav-product-footer .woocommerce-tabs ul.tabs li::before,
body.single-product .seanav-product-footer .woocommerce-tabs ul.tabs li::after {
  display: none;
}

body.single-product .seanav-product-footer .woocommerce-tabs ul.tabs li {
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
}

body.single-product .seanav-product-footer .woocommerce-tabs ul.tabs li a {
  display: inline-flex;
  align-items: center;
  padding: 0.55rem 1.1rem;
  border: 1px solid var(--seanav-border-light);
  border-radius: 999px;
  background: #fff;
  color: var(--seanav-navy);
  font-family: 'Outfit', sans-serif;
  font-weight: 600;
  font-size: 0.85rem;
  text-decoration: none;
  transition: all 0.2s ease;
}

body.single-product .seanav-product-footer .woocommerce-tabs ul.tabs li.active a,
body.single-product .seanav-product-footer .woocommerce-tabs ul.tabs li a:hover {
  background: var(--seanav-navy);
  border-color: var(--seanav-navy);
  color: #fff;
}

body.single-product .seanav-product-footer .woocommerce-Tabs-panel {
  text-align: justify;
  text-justify: inter-word;
}

body.single-product .seanav-product-footer .woocommerce-Tabs-panel p {
  text-align: justify;
  text-justify: inter-word;
}

body.single-product .seanav-product-footer .woocommerce-Tabs-panel h2,
body.single-product .seanav-product-footer .woocommerce-Tabs-panel h3 {
  font-family: 'Outfit', sans-serif;
  color: var(--seanav-navy);
  text-align: left;
}

body.single-product .seanav-product-footer .woocommerce-Tabs-panel table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
}

/* ---- Full-width Featured Products (after sidebar+main layout row) ---- */
body.single-product .seanav-product-featured-section {
  width: 100%;
  clear: both;
  margin-top: 2.5rem;
  padding-top: 2rem;
  border-top: 1px solid var(--seanav-border-light);
}

body.single-product .seanav-product-featured-section .seanav-featured-products > h3,
body.single-product .seanav-product-featured-section .seanav-featured-products .product-section-title,
body.single-product .seanav-product-featured-section .seanav-featured-products .section-title {
  font-family: 'Outfit', sans-serif;
  font-weight: 700;
  color: var(--seanav-navy);
  margin: 0 0 1.25rem;
  text-align: left;
}

body.single-product .seanav-product-featured-section .products.row {
  width: 100%;
  max-width: none;
  margin-left: -15px;
  margin-right: -15px;
}

/* Featured Products: horizontal slider ? 5 / 3 / 2 / 1 visible */
body.single-product .seanav-product-featured-section .seanav-products-slider,
body.single-product .seanav-product-featured-section .products.row.seanav-products-slider {
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding-bottom: 4px;
}

body.single-product .seanav-product-featured-section .seanav-products-slider::-webkit-scrollbar {
  display: none;
}

body.single-product .seanav-product-featured-section .seanav-products-slider > .col,
body.single-product .seanav-product-featured-section .seanav-products-slider > .product-small.col,
body.single-product .seanav-product-featured-section .products.seanav-products > .product-small.col {
  display: flex;
  align-items: stretch;
  flex: 0 0 20% !important;
  width: 20% !important;
  max-width: 20% !important;
  min-width: 0 !important;
  scroll-snap-align: start;
  margin-bottom: 0;
}

@media (max-width: 849px) {
  body.single-product .seanav-product-featured-section .seanav-products-slider > .col,
  body.single-product .seanav-product-featured-section .seanav-products-slider > .product-small.col {
    flex: 0 0 33.3333% !important;
    width: 33.3333% !important;
    max-width: 33.3333% !important;
    min-width: 0 !important;
  }
}

@media (max-width: 549px) {
  body.single-product .seanav-product-featured-section .seanav-products-slider > .col,
  body.single-product .seanav-product-featured-section .seanav-products-slider > .product-small.col {
    flex: 0 0 50% !important;
    width: 50% !important;
    max-width: 50% !important;
    min-width: 0 !important;
  }
}

@media (max-width: 399px) {
  body.single-product .seanav-product-featured-section .seanav-products-slider > .col,
  body.single-product .seanav-product-featured-section .seanav-products-slider > .product-small.col {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* ---- Product sidebar on the RIGHT (reuses .seanav-shop-sidebar styles) ---- */
body.single-product .seanav-product-sidebar {
  align-self: flex-start;
}

@media (min-width: 850px) {
  body.single-product .seanav-product-sidebar .seanav-shop-sidebar-inner {
    position: sticky;
    top: 1.25rem;
  }
}

/* Notices sit above the product layout, not nested twice */
body.single-product .seanav-product-page > .woocommerce-notices-wrapper,
body.single-product .seanav-product-container > .woocommerce-notices-wrapper {
  margin-bottom: 1rem;
}

/* WooCommerce always prints the wrapper; collapse it when there are no notices */
.woocommerce-notices-wrapper:empty {
  margin: 0 !important;
  padding: 0 !important;
}

/* ---- Responsive: stack main first, sidebar below ---- */
@media (max-width: 849px) {
  body.single-product .seanav-product-layout {
    flex-direction: column;
  }

  body.single-product .seanav-product-main,
  body.single-product .seanav-product-sidebar {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.single-product .seanav-product-main {
    order: 1;
  }

  body.single-product .seanav-product-sidebar {
    order: 2;
    margin-top: 1.5rem;
  }

  body.single-product .seanav-product-sidebar .seanav-shop-sidebar-inner {
    position: static;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.85rem;
  }

  body.single-product .seanav-product-top {
    flex-direction: column;
  }

  body.single-product .seanav-product-gallery-col,
  body.single-product .seanav-product-summary-col {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.single-product .seanav-product-summary-col {
    margin-top: 1.25rem;
  }
}

@media (max-width: 549px) {
  body.single-product .seanav-product-sidebar .seanav-shop-sidebar-inner {
    grid-template-columns: 1fr;
  }

  body.single-product .seanav-product-summary-col form.cart:not(.variations_form),
  body.single-product .seanav-product-summary-col form.cart .woocommerce-variation-add-to-cart {
    gap: 0.5rem;
  }

  body.single-product .seanav-product-summary-col .single_add_to_cart_button {
    flex: 1 1 auto;
  }
}

/* =====================================================================
   BLOG LISTING (/blogs/) ? shop-archive layout, LEFT product-sidebar
   Reuses .seanav-shop-page / .seanav-shop-container / #shop-sidebar CSS.
   Blog-main styles scoped under .seanav-blog-page.
   ===================================================================== */

.seanav-blog-page .container.seanav-shop-container.full-width {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(24px, 3vw, 40px) !important;
  padding-right: clamp(24px, 3vw, 40px) !important;
}

.seanav-blog-page .seanav-blog-header {
  margin: 0 0 1.75rem;
}

.seanav-blog-page .seanav-blog-title {
  margin: 0 0 0.4rem;
  font-family: 'Outfit', sans-serif;
  font-size: clamp(1.65rem, 2.4vw, 2.15rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--seanav-navy);
  line-height: 1.2;
}

.seanav-blog-page .seanav-blog-intro {
  margin: 0;
  max-width: 52ch;
  font-size: 0.98rem;
  line-height: 1.55;
  color: var(--seanav-text-muted);
}

.seanav-blog-page .seanav-blog-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}

.seanav-blog-page .seanav-blog-card {
  display: flex;
  flex-direction: column;
  margin: 0;
  background: var(--seanav-card-bg, #fff);
  border: 1px solid var(--seanav-border-light);
  border-radius: var(--seanav-radius-sm);
  box-shadow: 0 4px 16px rgba(6, 23, 41, 0.05);
  overflow: hidden;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.seanav-blog-page .seanav-blog-card:hover {
  border-color: rgba(0, 200, 224, 0.35);
  box-shadow: 0 10px 28px rgba(6, 23, 41, 0.08);
  transform: translateY(-2px);
}

.seanav-blog-page .seanav-blog-card-media {
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #e8eef4;
}

.seanav-blog-page .seanav-blog-card-media--placeholder {
  background:
    linear-gradient(135deg, rgba(0, 200, 224, 0.12), transparent 55%),
    linear-gradient(180deg, #0a1929 0%, #061729 100%);
}

.seanav-blog-page .seanav-blog-card-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.seanav-blog-page .seanav-blog-card:hover .seanav-blog-card-image {
  transform: scale(1.04);
}

.seanav-blog-page .seanav-blog-card-body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: 1.1rem 1.15rem 1.2rem;
}

.seanav-blog-page .seanav-blog-card-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  margin: 0 0 0.55rem;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--seanav-text-muted);
}

.seanav-blog-page .seanav-blog-card-sep {
  opacity: 0.55;
}

.seanav-blog-page .seanav-blog-card-cat {
  color: var(--seanav-cyan-dark);
}

.seanav-blog-page .seanav-blog-card-title {
  margin: 0 0 0.55rem;
  font-family: 'Outfit', sans-serif;
  font-size: 1.12rem;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: -0.015em;
}

.seanav-blog-page .seanav-blog-card-title a {
  color: var(--seanav-navy);
  text-decoration: none;
}

.seanav-blog-page .seanav-blog-card-title a:hover {
  color: var(--seanav-cyan-dark);
}

.seanav-blog-page .seanav-blog-card-excerpt {
  margin: 0 0 1rem;
  flex: 1 1 auto;
  font-size: 0.92rem;
  line-height: 1.6;
  color: #475569;
}

.seanav-blog-page .seanav-blog-card-more {
  align-self: flex-start;
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--seanav-cyan-dark);
  text-decoration: none;
}

.seanav-blog-page .seanav-blog-card-more:hover {
  color: var(--seanav-navy);
}

.seanav-blog-page .seanav-blog-pagination {
  margin-top: 2rem;
  text-align: center;
}

.seanav-blog-page .seanav-blog-pagination .nav-links {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  justify-content: center;
}

.seanav-blog-page .seanav-blog-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 0.65rem;
  border: 1px solid var(--seanav-border-light);
  border-radius: var(--seanav-radius-sm);
  background: #fff;
  color: var(--seanav-navy);
  font-size: 0.88rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease;
}

.seanav-blog-page .seanav-blog-pagination a.page-numbers:hover {
  border-color: var(--seanav-cyan);
  color: var(--seanav-cyan-dark);
  box-shadow: 0 0 0 3px var(--seanav-cyan-glow);
}

.seanav-blog-page .seanav-blog-pagination .page-numbers.current {
  background: var(--seanav-navy);
  border-color: var(--seanav-navy);
  color: #fff;
}

.seanav-blog-page .seanav-blog-empty {
  margin: 2rem 0;
  font-size: 1.05rem;
  color: var(--seanav-text-muted);
}

@media (max-width: 849px) {
  .seanav-blog-page .seanav-blog-grid {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 1100px) {
  .seanav-blog-page .seanav-blog-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* =====================================================================
   SINGLE BLOG POST ? product-single layout, RIGHT product-sidebar
   Reuses .seanav-shop-sidebar / .seanav-product-layout patterns.
   ===================================================================== */

.seanav-blog-post-page .container.seanav-shop-container.full-width {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(24px, 3vw, 40px) !important;
  padding-right: clamp(24px, 3vw, 40px) !important;
}

.seanav-blog-post-page .seanav-blog-post-layout {
  align-items: flex-start;
}

.seanav-blog-post-page .seanav-blog-post-inner {
  padding: 0;
}

.seanav-blog-post-page .seanav-blog-post-header {
  margin: 0 0 1.35rem;
}

.seanav-blog-post-page .seanav-blog-post-cats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 0 0 0.75rem;
}

.seanav-blog-post-page .seanav-blog-post-cat {
  display: inline-block;
  padding: 0.2rem 0.55rem;
  border-radius: 4px;
  background: rgba(0, 200, 224, 0.1);
  color: var(--seanav-cyan-dark);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
}

.seanav-blog-post-page .seanav-blog-post-cat:hover {
  background: rgba(0, 200, 224, 0.18);
  color: var(--seanav-navy);
}

.seanav-blog-post-page .seanav-blog-post-title,
.seanav-blog-post-page .seanav-blog-post-content > h1:first-child,
.seanav-blog-post-page .seanav-blog-post-content h1 {
  margin: 0 0 0.65rem;
  font-family: 'Outfit', sans-serif;
  font-size: clamp(1.35rem, 2.2vw, 1.75rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.3;
  color: var(--seanav-navy);
}

.seanav-blog-post-page .seanav-blog-post-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.9rem;
  color: var(--seanav-text-muted);
}

.seanav-blog-post-page .seanav-blog-post-sep {
  opacity: 0.5;
}

/* Mirror product gallery frame: contained 4:3 box, object-fit contain (~580px like gallery col) */
.seanav-blog-post-page .seanav-blog-post-featured {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 1.75rem;
  width: 100%;
  max-width: 580px;
  aspect-ratio: 4 / 3;
  max-height: min(620px, 70vh);
  background: #fff;
  border: 1px solid var(--seanav-border-light);
  border-radius: var(--seanav-radius);
  overflow: hidden;
  line-height: 0;
}

.seanav-blog-post-page .seanav-blog-post-featured-image {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 100%;
  max-height: min(620px, 70vh);
  margin: 0 auto;
  object-fit: contain;
  background: #fff;
  border: 0;
  border-radius: 0;
}

.seanav-blog-post-page .seanav-blog-post-content {
  font-size: 1.05rem;
  line-height: 1.8;
  color: #1e293b;
}

.seanav-blog-post-page .seanav-blog-post-content > *:first-child {
  margin-top: 0;
}

.seanav-blog-post-page .seanav-blog-post-content h2,
.seanav-blog-post-page .seanav-blog-post-content h3,
.seanav-blog-post-page .seanav-blog-post-content h4 {
  font-family: 'Outfit', sans-serif;
  color: var(--seanav-navy);
  letter-spacing: -0.02em;
  line-height: 1.25;
  margin: 1.75rem 0 0.75rem;
}

.seanav-blog-post-page .seanav-blog-post-content a {
  color: var(--seanav-cyan-dark);
}

.seanav-blog-post-page .seanav-blog-post-content a:hover {
  color: var(--seanav-navy);
}

.seanav-blog-post-page .seanav-blog-post-content img {
  max-width: 100%;
  height: auto;
  border-radius: var(--seanav-radius-sm);
}

.seanav-blog-post-page .seanav-blog-post-content ul,
.seanav-blog-post-page .seanav-blog-post-content ol {
  padding-left: 1.25rem;
}

.seanav-blog-post-page .seanav-blog-post-tags {
  margin-top: 2rem;
  padding-top: 1.15rem;
  border-top: 1px solid var(--seanav-border-light);
  font-size: 0.9rem;
  color: #475569;
}

.seanav-blog-post-page .seanav-blog-post-tags-label {
  font-weight: 700;
  color: var(--seanav-navy);
  margin-right: 0.25rem;
}

.seanav-blog-post-page .seanav-blog-post-tags-list a {
  color: var(--seanav-cyan-dark);
  text-decoration: none;
}

.seanav-blog-post-page .seanav-blog-post-tags-list a:hover {
  color: var(--seanav-navy);
  text-decoration: underline;
}

.seanav-blog-post-page .seanav-blog-post-sidebar {
  align-self: flex-start;
}

@media (min-width: 850px) {
  .seanav-blog-post-page .seanav-blog-post-sidebar .seanav-shop-sidebar-inner {
    position: sticky;
    top: 1.25rem;
  }
}

@media (max-width: 849px) {
  .seanav-blog-post-page .seanav-blog-post-layout {
    flex-direction: column;
  }

  .seanav-blog-post-page .seanav-blog-post-main,
  .seanav-blog-post-page .seanav-blog-post-sidebar {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .seanav-blog-post-page .seanav-blog-post-main {
    order: 1;
  }

  .seanav-blog-post-page .seanav-blog-post-sidebar {
    order: 2;
    margin-top: 1.5rem;
  }

  .seanav-blog-post-page .seanav-blog-post-sidebar .seanav-shop-sidebar-inner {
    position: static;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.85rem;
  }
}

@media (max-width: 549px) {
  .seanav-blog-post-page .seanav-blog-post-sidebar .seanav-shop-sidebar-inner {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   SEANAV INTERACTIVE COMPONENTS (Tabs, Lightbox, Slider, Flip Cards, Dividers)
   ========================================================================== */

/* --- Tabs Component --- */
.tabgroup {
  margin: 1.5rem 0;
}
.tabgroup .nav-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  list-style: none;
  padding: 0;
  margin: 0 0 1rem 0;
  border-bottom: 2px solid #e2e8f0;
}
.tabgroup .tab-nav-item {
  margin: 0;
  padding: 0;
}
.tabgroup .tab-nav-link {
  background: transparent;
  border: none;
  border-bottom: 3px solid transparent;
  padding: 0.6rem 1.2rem;
  font-family: inherit;
  font-weight: 600;
  font-size: 0.95rem;
  color: #4a5568;
  cursor: pointer;
  transition: color 0.2s, border-color 0.2s;
  outline: none;
}
.tabgroup .tab-nav-link:hover {
  color: #00c8e0;
}
.tabgroup .tab-nav-link.active {
  color: #061729;
  border-bottom-color: #00c8e0;
}
.tabgroup .tab-panel {
  display: none;
  padding: 1rem 0;
  animation: seanavTabFadeIn 0.3s ease;
}
.tabgroup .tab-panel.active {
  display: block;
}
@keyframes seanavTabFadeIn {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}

/* --- Lightbox Modal --- */
body.lightbox-active {
  overflow: hidden;
}
.lightbox-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
}
.lightbox-modal .lightbox-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(6, 23, 41, 0.75);
  backdrop-filter: blur(4px);
}
.lightbox-modal .lightbox-dialog {
  position: relative;
  z-index: 2;
  background: #ffffff;
  border-radius: 12px;
  max-width: 90vw;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
  animation: seanavModalPop 0.25s ease-out;
}
.lightbox-modal .lightbox-close {
  position: absolute;
  top: 10px;
  right: 14px;
  background: transparent;
  border: none;
  font-size: 1.8rem;
  line-height: 1;
  color: #4a5568;
  cursor: pointer;
  transition: color 0.2s;
  z-index: 5;
}
.lightbox-modal .lightbox-close:hover {
  color: #e53e3e;
}
@keyframes seanavModalPop {
  from { opacity: 0; transform: scale(0.92); }
  to { opacity: 1; transform: scale(1); }
}

/* --- UX Slider Component --- */
.ux-slider-wrapper {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.ux-slider-dots {
  position: absolute;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  z-index: 10;
}
.ux-slider-dots .ux-slider-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: none;
  background: rgba(255, 255, 255, 0.5);
  cursor: pointer;
  padding: 0;
  transition: background 0.2s, transform 0.2s;
}
.ux-slider-dots .ux-slider-dot.active {
  background: #00c8e0;
  transform: scale(1.25);
}

/* --- Product Flip Hover Animation --- */
.product-small.is-product-flip .image-cover {
  position: relative;
  overflow: hidden;
}
.product-small.is-product-flip .image-cover img.front-image {
  transition: opacity 0.35s ease, transform 0.35s ease;
}
.product-small.is-product-flip .image-cover img.back-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 0.35s ease, transform 0.35s ease;
}
.product-small.is-product-flip:hover .image-cover img.front-image {
  opacity: 0;
}
.product-small.is-product-flip:hover .image-cover img.back-image {
  opacity: 1;
}

/* --- Divider Styles --- */
hr.is-divider {
  border: 0;
  height: 1px;
  background-color: #e2e8f0;
  margin: 1.5rem 0;
}
hr.is-divider.divider-dashed {
  background: transparent;
  border-top: 1px dashed #cbd5e0;
}
hr.is-divider.divider-dotted {
  background: transparent;
  border-top: 1px dotted #cbd5e0;
}

