/*
Theme Name: Pixel Dental Supply Child
Theme URI: https://pixeldentalsupply.com/
Description: Child theme for Pixel Dental Supply. Includes pagination cleanup + rebuilt WooCommerce single product layout (with breadcrumbs).
Author: Pixel Dental Supply
Template: pixel-dental-supply
Version: 1.0.0
Text Domain: pixel-dental-supply-child
*/

/* ==========================================================================
 * PROMO BAR — First-order discount
 * ========================================================================== */
.pds-promo-bar {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100000;
  background: linear-gradient(90deg, #04102a 0%, #064d55 50%, #0a6670 100%);
  color: #fff;
  text-align: center;
  padding: 10px 48px 10px 18px;
  font-size: 14px;
  letter-spacing: 0.3px;
  line-height: 1.4;
}
.pds-promo-bar strong {
  background: rgba(255,255,255,0.15);
  padding: 2px 10px;
  border-radius: 4px;
  font-weight: 700;
  letter-spacing: 1.5px;
  margin: 0 4px;
}
.pds-promo-bar__close {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: rgba(255,255,255,0.6);
  font-size: 20px;
  cursor: pointer;
  padding: 4px 8px;
  line-height: 1;
}
.pds-promo-bar__close:hover {
  color: #fff;
}
.pds-promo-bar--hidden {
  display: none;
}

/* =========================
   USP Top Bar
   ========================= */
/* Fixed header from first paint — prevents CLS */
#pds-header {
  position: fixed !important;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 99999;
  background:
    linear-gradient(to bottom, rgba(255,255,255,.36), rgba(255,255,255,.92)),
    url("https://pixeldentalsupply.com/wp-content/uploads/footer.jpg") center/cover no-repeat;
}
#pds-header .pds-header__row {
  padding-top: 5px;
}
.pds-usp-bar {
  background: transparent;
  color: var(--pds-ink, #04102a);
  font-size: 8pt;
  font-weight: 600;
  letter-spacing: 0.02em;
  padding: 5px 0 0 0;
  margin-bottom: 0;
  max-height: 50px;
  transition: opacity 0.4s ease, max-height 0.4s ease 0.1s, padding 0.4s ease 0.1s;
  overflow: hidden;
}
.pds-usp-bar.pds-usp-hidden {
  opacity: 0;
  max-height: 0;
  padding: 0;
}
.pds-usp-bar__inner {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 32px;
  padding: 4px 18px;
  background: rgba(255,255,255,.55);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  border-radius: 4px;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 5%, black 95%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0%, black 5%, black 95%, transparent 100%);
}
.pds-usp-bar__item {
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  cursor: pointer;
}
.pds-usp-bar__item svg {
  color: var(--pds-teal, #148a94);
  opacity: 0.85;
  flex-shrink: 0;
}
@media (max-width: 768px) {
  .pds-usp-bar {
    overflow: hidden;
    background: rgba(255,255,255,.55);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    -webkit-mask-image: linear-gradient(to right, transparent 0%, black 4%, black 96%, transparent 100%);
    mask-image: linear-gradient(to right, transparent 0%, black 4%, black 96%, transparent 100%);
  }
  .pds-usp-bar__inner {
    display: inline-flex;
    gap: 32px;
    font-size: 12px;
    padding: 0 16px;
    white-space: nowrap;
    will-change: transform;
    transition: transform 0.8s cubic-bezier(0.4,0,0.2,1);
    background: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    border-radius: 0;
  }
  .pds-usp-bar__item {
    opacity: 0.45;
    transition: opacity 0.4s ease;
  }
  .pds-usp-bar__item.active {
    opacity: 1;
  }
  .pds-usp-bar__item svg {
    width: 14px;
    height: 14px;
  }
}


/* =========================
   Contrast fixes (WCAG AA compliance)
   ========================= */

/* Darken teal palette site-wide for better contrast */
:root {
  --pds-teal: #148a94;
  --pds-teal-dark: #0a6670;
}

body {
  color: #1a1a2e;
  overflow-x: hidden;
}

/* Darken general link color */
a {
  color: #2b5797;
}

a:hover,
a:focus {
  color: #1e3f6e;
}

.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price bdi,
.woocommerce ul.products li.product .price .amount {
  color: #2d2d2d !important;
}

.pds-footer.v2 .pds-footer__bottom {
  background: #0a5c63 !important;
  color: #fff !important;
}

/* Darken header accent bar */
#pds-header .pds-header__accent {
  background: repeating-linear-gradient(
    to right,
    #0a6670 0 26px,
    rgba(255,255,255,.9) 26px 52px,
    var(--pds-orange) 52px 78px,
    rgba(255,255,255,.9) 78px 104px
  ) !important;
}

/* Gradient for all teal buttons site-wide */
.woocommerce-Button,
.woocommerce button[type="submit"],
.woocommerce .button,
.woocommerce-form-register__submit,
.woocommerce-form-login__submit {
  background: linear-gradient(to bottom, #148a94, #0a6670) !important;
  color: #fff !important;
}

.woocommerce-Button:hover,
.woocommerce button[type="submit"]:hover,
.woocommerce .button:hover,
.woocommerce-form-register__submit:hover,
.woocommerce-form-login__submit:hover {
  background: linear-gradient(to bottom, #0a6670, #084f58) !important;
}

/* =========================
   Header Nav: Button Style for Shop & My Account
   ========================= */
#pds-header .pds-header__nav {
  align-items: stretch !important;
}

#pds-header .pds-header__nav a.pds-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 700;
  color: #04102a !important;
  background: #fff !important;
  border: none;
  border-radius: 10px;
  text-decoration: none !important;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
}

#pds-header .pds-header__nav a.pds-link:hover,
#pds-header .pds-header__nav a.pds-link:focus {
  background: #ffc24a !important;
  color: #04102a !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2) !important;
}

/* Active page: Shop link (first direct child) on shop/category/product pages */
.pds-on-shop #pds-header .pds-header__nav > a.pds-link:first-child {
  background: #117a82 !important;
  color: #fff !important;
  box-shadow: 0 4px 12px rgba(20, 138, 148, 0.3) !important;
}

/* Active page: Closeout Deals link (second direct child) */
.pds-on-deals #pds-header .pds-header__nav > a.pds-link:nth-child(2) {
  background: #117a82 !important;
  color: #fff !important;
  box-shadow: 0 4px 12px rgba(20, 138, 148, 0.3) !important;
}

/* Active page: My Account dropdown trigger on account pages */
.pds-on-account #pds-header .pds-header__nav .pds-account-trigger {
  background: #117a82 !important;
  color: #fff !important;
  box-shadow: 0 4px 12px rgba(20, 138, 148, 0.3) !important;
}

/* =========================
   Account Dropdown (Hello, Name)
   ========================= */
.pds-account-dropdown {
  position: relative;
  display: flex;
}

.pds-account-trigger {
  gap: 6px;
  cursor: pointer;
  flex: 1;
}

.pds-account-greeting {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
}

.pds-account-hello {
  font-size: 11px;
  font-weight: 400;
  opacity: 0.7;
}

.pds-account-name {
  display: block;
  max-width: 7ch;
  overflow: hidden;
  white-space: nowrap;
  font-weight: 700;
  -webkit-mask-image: linear-gradient(to right, #000 90%, transparent 100%);
  mask-image: linear-gradient(to right, #000 90%, transparent 100%);
}

.pds-account-trigger__icon {
  flex-shrink: 0;
}

.pds-account-trigger__chevron {
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.pds-account-dropdown:hover .pds-account-trigger__chevron {
  transform: rotate(180deg);
}

.pds-account-dropdown__menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 200px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
  padding: 8px 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: all 0.2s ease;
  z-index: 9999;
}

/* Invisible bridge so cursor can travel from trigger to menu */
.pds-account-dropdown__menu::before {
  content: '';
  position: absolute;
  top: -12px;
  left: 0;
  right: 0;
  height: 12px;
}

.pds-account-dropdown:hover .pds-account-dropdown__menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.pds-account-dropdown__menu a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  font-size: 14px;
  font-weight: 500;
  color: #333;
  text-decoration: none;
  transition: background 0.15s ease;
}

.pds-account-dropdown__menu a:hover {
  background: #f5f7fa;
  color: #04102a;
}

.pds-account-dropdown__menu a svg {
  flex-shrink: 0;
  opacity: 0.5;
}

.pds-account-dropdown__menu a:hover svg {
  opacity: 0.8;
}

.pds-account-dropdown__divider {
  height: 1px;
  background: #eee;
  margin: 6px 0;
}

.pds-account-dropdown__logout {
  color: #dc3545 !important;
}

.pds-account-dropdown__logout:hover {
  background: rgba(220, 53, 69, 0.06) !important;
}

.pds-account-dropdown__logout svg {
  opacity: 0.8 !important;
  stroke: #dc3545;
}

/* Mobile menu: size SVG icons */
.pds-mobileMenu .pds-mobileLink {
  display: flex;
  align-items: center;
  gap: 10px;
}

.pds-mobileMenu .pds-mobileLink svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

/* No special styling needed — greeting is now a standard .pds-mobileLink */

.pds-mobileLink--logout {
  color: #dc3545 !important;
  border-top: 1px solid #eee;
  margin-top: 4px;
  padding-top: 12px !important;
}

/* Hide dropdown on mobile — items are in hamburger menu */
@media (max-width: 768px) {
  .pds-account-dropdown__menu {
    display: none !important;
  }
  .pds-account-trigger__chevron {
    display: none;
  }
}

/* =========================
   Pagination: remove borders/boxes + allow wrapping
   ========================= */
.woocommerce nav.woocommerce-pagination {
  width: 100% !important;
  overflow: visible !important;
}

.woocommerce nav.woocommerce-pagination ul,
.woocommerce nav.woocommerce-pagination ul li {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

.woocommerce nav.woocommerce-pagination ul {
  display: flex !important;
  flex-wrap: wrap !important;
  width: 100% !important;
  max-width: none !important;
  overflow: visible !important;
  white-space: normal !important;
  justify-content: center;
  gap: 6px;
  padding: 0;
  margin: 0;
}

.woocommerce nav.woocommerce-pagination ul li {
  display: inline-flex !important;
  float: none !important;
  overflow: visible !important;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 34px;
  line-height: 34px;
  border-radius: 999px;
  text-decoration: none;
}

.woocommerce nav.woocommerce-pagination ul li + li {
  border-left: 0 !important;
  border-right: 0 !important;
}

.woocommerce nav.woocommerce-pagination ul li::before,
.woocommerce nav.woocommerce-pagination ul li::after,
.woocommerce nav.woocommerce-pagination ul li a::before,
.woocommerce nav.woocommerce-pagination ul li a::after,
.woocommerce nav.woocommerce-pagination ul li span::before,
.woocommerce nav.woocommerce-pagination ul li span::after {
  content: none !important;
  display: none !important;
}

/* Hide ellipsis if theme uses dots element */
.woocommerce nav.woocommerce-pagination .dots {
  display: none !important;
}

/* =========================
   Single Product: clean 2-column layout + breadcrumbs
   ========================= */
.pds-product-main {
  margin-bottom: 20px !important;
}

.pds-breadcrumbs {
  margin: 0 0 14px 0;
  max-width: 100% !important;
  min-width: 0 !important;
}

.pds-breadcrumbs .woocommerce-breadcrumb {
  font-size: 16px !important;
  opacity: .9;
}
.single-product .woocommerce-breadcrumb {
  padding-top: 0 !important;
}

.pds-breadcrumbs .pds-bc-sep {
  opacity: .6;
  padding: 0 6px;
}

/* Breadcrumbs: horizontally scrollable/swipable on overflow */
.pds-breadcrumbs,
.woocommerce-breadcrumb,
nav.woocommerce-breadcrumb {
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  white-space: nowrap !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  /* Safari iOS specific properties */
  scroll-snap-type: none !important;
  overscroll-behavior-x: contain !important;
  -webkit-transform: translateZ(0) !important; /* Force hardware acceleration */
  transform: translateZ(0) !important;
}

/* iOS Safari: Ensure content doesn't get constrained */
@supports (-webkit-touch-callout: none) {
  .pds-breadcrumbs,
  .woocommerce-breadcrumb,
  nav.woocommerce-breadcrumb {
    cursor: grab !important;
    cursor: -webkit-grab !important;
  }

  .pds-breadcrumbs:active,
  .woocommerce-breadcrumb:active,
  nav.woocommerce-breadcrumb:active {
    cursor: grabbing !important;
    cursor: -webkit-grabbing !important;
  }
}

/* Breadcrumb links */
.pds-breadcrumbs a,
.woocommerce-breadcrumb a,
nav.woocommerce-breadcrumb a {
  font-weight: 400 !important;
}

/* Hide horizontal scrollbar (Chrome, Safari, Edge) */
.pds-breadcrumbs::-webkit-scrollbar,
.woocommerce-breadcrumb::-webkit-scrollbar,
nav.woocommerce-breadcrumb::-webkit-scrollbar {
  display: none !important;
  height: 0 !important;
}

/* Hide horizontal scrollbar (Firefox) */
.pds-breadcrumbs,
.woocommerce-breadcrumb,
nav.woocommerce-breadcrumb {
  scrollbar-width: none !important;
}

/* Mobile: adjust spacing and hide scrollbar */
@media (max-width: 768px) {
  .single-product .pds-breadcrumbs,
  body.single-product .pds-breadcrumbs,
  body .pds-breadcrumbs,
  .pds-breadcrumbs {
    margin: 0 0 24px 0 !important;
    padding: 0 !important;
  }

  .woocommerce-breadcrumb,
  nav.woocommerce-breadcrumb {
    margin: 0 !important;
    padding: 4px 0 0 !important;
    font-size: 16px !important;
  }

  /* Hide scrollbar on mobile (works on most mobile browsers) */
  .pds-breadcrumbs::-webkit-scrollbar,
  .woocommerce-breadcrumb::-webkit-scrollbar,
  nav.woocommerce-breadcrumb::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
  }

  /* Firefox mobile */
  .pds-breadcrumbs,
  .woocommerce-breadcrumb,
  nav.woocommerce-breadcrumb {
    scrollbar-width: none !important;
    -ms-overflow-style: none !important; /* IE and Edge */
  }

  /* Add spacing above product gallery on mobile */
  .single-product .woocommerce-product-gallery,
  .woocommerce-product-gallery {
    margin-top: 5px !important;
  }

  /* Add spacing to main content area on mobile */
  .single-product #primary,
  #primary {
    margin-top: 5px !important;
  }

  /* Prevent horizontal scroll on mobile product pages */
  html:has(body.single-product),
  body.single-product {
    overflow-x: hidden !important;
  }
  body.single-product .pds-woo-container,
  body.single-product .pds-product-main,
  body.single-product .pds-product-gallery,
  body.single-product .pds-product-info,
  body.single-product .site-main {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  body.single-product .pds-product-info *,
  body.single-product .pds-product-gallery * {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Allow FlexSlider's wrapper to be wider than 100% so slides can animate */
  body.single-product .pds-product-gallery .woocommerce-product-gallery__wrapper {
    max-width: none !important;
  }
}

/* Breadcrumb right-side fade on screens ≤1000px */
@media (max-width: 1000px) {
  .pds-breadcrumbs,
  .woocommerce-breadcrumb,
  nav.woocommerce-breadcrumb {
    -webkit-mask-image: linear-gradient(to right, #000 85%, transparent 100%) !important;
    mask-image: linear-gradient(to right, #000 85%, transparent 100%) !important;
  }
}

  .pds-product {
    margin-top: 0 !important;
  }

  /* Thumbnails beside main image on mobile */
  .woocommerce-product-gallery {
    display: grid !important;
    grid-template-columns: 50px 1fr;
    gap: 8px;
  }

  /* Single image: full width without thumbnail column */
  .woocommerce-product-gallery:not(:has(.flex-control-thumbs)) {
    grid-template-columns: 1fr !important;
  }

  .woocommerce-product-gallery .flex-viewport {
    grid-column: 2;
    grid-row: 1;
  }

  .woocommerce-product-gallery:not(:has(.flex-control-thumbs)) .flex-viewport {
    grid-column: 1;
  }

  /* Container for thumbnail wrapper and gradients */
  .pds-thumb-container {
    grid-column: 1;
    grid-row: 1;
    position: relative;
    max-height: 500px; /* Default, will be set by JS to match main image */
  }

  /* Scrollable wrapper for thumbnails */
  .pds-thumb-wrapper {
    position: relative;
    overflow-y: auto;
    overflow-x: hidden;
    max-height: 100%;
    height: 100%;
    scroll-behavior: smooth;
    padding: 0;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE/Edge */
  }

  .pds-thumb-wrapper::-webkit-scrollbar {
    display: none; /* Chrome/Safari */
  }

  .woocommerce-product-gallery .flex-control-thumbs {
    flex-direction: column !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .woocommerce-product-gallery .flex-control-thumbs li {
    width: 100% !important;
    flex-shrink: 0;
  }

  /* Gradient fade indicators for overflow */
  .pds-gradient {
    position: absolute;
    left: 0;
    right: 0;
    width: 100%;
    height: 40px;
    pointer-events: none;
    z-index: 10;
    opacity: 1;
    transition: opacity 0.3s ease;
  }

  /* Top gradient */
  .pds-gradient-top {
    top: 0;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0.7) 40%, rgba(255, 255, 255, 0) 100%);
  }

  /* Bottom gradient */
  .pds-gradient-bottom {
    bottom: 0;
    background: linear-gradient(to top, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0.7) 40%, rgba(255, 255, 255, 0) 100%);
  }

  /* Hide gradients when at scroll boundaries */
  .pds-gradient.pds-hidden {
    opacity: 0;
  }
}

/* =========================
   Product Gallery: Desktop Thumbnails
   ========================= */
@media (min-width: 769px) {
  .woocommerce-product-gallery {
    display: grid !important;
    grid-template-columns: 300px 1fr !important;
    grid-template-rows: auto !important;
    gap: 12px !important;
  }

  /* Single image: full width without thumbnail column */
  .woocommerce-product-gallery:not(:has(.flex-control-thumbs)) {
    grid-template-columns: 1fr !important;
  }

  /* Zoom trigger - overlay on main image */
  .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  .woocommerce-product-gallery .flex-viewport {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  .woocommerce-product-gallery:not(:has(.flex-control-thumbs)) .flex-viewport {
    grid-column: 1 !important;
  }

  /* Thumbnails - override parent theme horizontal layout */
  .woocommerce-product-gallery > .flex-control-thumbs,
  .woocommerce-product-gallery .flex-control-thumbs,
  .flex-control-thumbs {
    grid-column: 1 !important;
    grid-row: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    margin: 0 !important;
    margin-top: 0 !important;
    padding: 0 !important;
  }

  .woocommerce-product-gallery .flex-control-thumbs li,
  .flex-control-thumbs li {
    width: 100% !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .woocommerce-product-gallery .flex-control-thumbs li img,
  .flex-control-thumbs li img {
    width: 100% !important;
    height: auto !important;
  }

  /* Container for thumbnail wrapper and gradients */
  .pds-thumb-container {
    grid-column: 1 !important;
    grid-row: 1 !important;
    position: relative;
    max-height: 500px;
  }

  /* Scrollable wrapper for thumbnails */
  .pds-thumb-wrapper {
    position: relative;
    overflow-y: auto;
    overflow-x: hidden;
    max-height: 100%;
    height: 100%;
    scroll-behavior: smooth;
    padding: 0;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .pds-thumb-wrapper::-webkit-scrollbar {
    display: none;
  }

  /* Gradient fade indicators for overflow */
  .pds-gradient {
    position: absolute;
    left: 0;
    right: 0;
    width: 100%;
    height: 40px;
    pointer-events: none;
    z-index: 10;
    opacity: 1;
    transition: opacity 0.3s ease;
  }

  .pds-gradient-top {
    top: 0;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0.7) 40%, rgba(255, 255, 255, 0) 100%);
  }

  .pds-gradient-bottom {
    bottom: 0;
    background: linear-gradient(to top, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0.7) 40%, rgba(255, 255, 255, 0) 100%);
  }

  .pds-gradient.pds-hidden {
    opacity: 0;
  }
}

/* =========================
   Product Gallery: Lightbox Frosted Glass Effect
   ========================= */

/* Ensure lightbox covers full viewport above the sticky header */
.pswp {
  z-index: 999999 !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

/* Keyframe animations for lightbox */
@keyframes pswpBgFadeIn {
  from {
    opacity: 0;
    backdrop-filter: blur(0px);
    -webkit-backdrop-filter: blur(0px);
  }
  to {
    opacity: 1;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
  }
}

@keyframes pswpImgZoomIn {
  from {
    opacity: 0;
    transform: scale(0.85);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

.pswp__bg {
  background: rgba(40, 40, 40, 0.5) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
}

/* Animate background when lightbox opens */
.pswp--open .pswp__bg {
  animation: pswpBgFadeIn 0.6s ease forwards !important;
}

/* White glow around image that blends into background */
.pswp__img {
  box-shadow:
    0 0 80px 40px rgba(255, 255, 255, 0.8),
    0 0 120px 80px rgba(255, 255, 255, 0.6),
    0 0 180px 120px rgba(255, 255, 255, 0.4),
    0 0 250px 180px rgba(255, 255, 255, 0.2) !important;
}

/* Animate image when lightbox opens */
.pswp--open .pswp__img {
  animation: pswpImgZoomIn 0.6s cubic-bezier(0.4, 0, 0.2, 1) forwards !important;
}

/* White background for loading spinner */
.pswp__preloader {
  background: white !important;
  border-radius: 50% !important;
  padding: 8px !important;
}

.pswp__preloader__icn {
  background: white !important;
}

.pswp__preloader__cut {
  background: white !important;
}

/* Hide the grey control bar in lightbox */
.pswp__top-bar {
  background: none !important;
}

.pswp__button--zoom,
.pswp__button--share,
.pswp__button--fs,
.pswp__counter {
  display: none !important;
}

.pswp__button--close {
  opacity: 0.6 !important;
  transition: opacity 0.2s ease;
}

.pswp__button--close:hover {
  opacity: 1 !important;
}

/* Hide bottom caption bar */
.pswp__caption {
  display: none !important;
}

/* WooCommerce error notices on product page */
.woocommerce-error {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 16px 24px !important;
  margin: 0 0 20px !important;
  background: #fef2f2 !important;
  border: 1px solid #fecaca !important;
  border-top: 1px solid #fecaca !important;
  border-radius: 12px !important;
  font-size: 14px;
  font-weight: 500;
  color: #dc2626 !important;
  list-style: none;
}

.woocommerce-error::before {
  position: static !important;
  flex-shrink: 0 !important;
  color: #dc2626 !important;
  font-size: 16px;
  transform: none !important;
}

.woocommerce-error::after {
  display: none !important;
}

.woocommerce-error .button {
  float: none !important;
  margin-left: auto !important;
  flex-shrink: 0 !important;
}

.woocommerce-error li {
  list-style: none;
}

.pds-product {
  margin-top: 8px;
}

.pds-product__grid {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 28px;
  align-items: start;
}

/* Stop Woo defaults fighting the grid */
.woocommerce div.product div.images,
.woocommerce div.product div.summary {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
}

.pds-product__gallery img {
  max-width: 100%;
  height: auto;
}

.pds-product__summary .product_title {
  margin-bottom: 8px;
}

.pds-product__summary .price,
.woocommerce div.product .pds-product__summary .price,
.woocommerce div.product p.price,
.woocommerce div.product .summary .price {
  font-size: 44px !important;
  font-weight: 900 !important;
  color: var(--pds-teal-dark) !important;
  margin: 0 0 30px !important;
  padding: 0 !important;
  line-height: 1 !important;
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.pds-product__summary .price ins {
  text-decoration: none !important;
  color: var(--pds-teal-dark) !important;
  font-weight: 900 !important;
}
.pds-product__summary .price del {
  opacity: 0.35 !important;
  margin-right: 14px !important;
  font-size: 28px !important;
  font-weight: 600 !important;
  color: rgba(4,16,42,0.4) !important;
}

.pds-product__summary form.cart {
  margin: 14px 0 16px;
}

.woocommerce div.product .woocommerce-tabs {
  margin-top: 28px;
}

@media (max-width: 900px) {
  .pds-product__grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
}

/* =========================
   Shop archive: sidebar + content layout
   ========================= */
.pds-shop-shell {
  max-width: 1200px;
  margin: 0 auto;
  padding: 18px 18px 28px;
}

.pds-shop-title-row {
  display: grid;
  gap: 10px;
  margin: 4px 0 16px;
}

.pds-shop-title,
.page-title,
.woocommerce-products-header__title {
  margin: 0;
  font-size: 46px;
  font-weight: 400;
  letter-spacing: 0.01em;
  text-align: center;
  color: #064d55;
  font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
}

/* Regular page title — match shop/catalog style */
body.page .entry-header {
  margin: 0;
  padding: 0;
}
body.page .entry-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
body.page .entry-content > p:first-child:empty {
  display: none;
}
body.page .entry-title {
  margin: 0;
  padding: 0;
  font-size: 46px;
  font-weight: 400;
  letter-spacing: 0.01em;
  text-align: center;
  color: #064d55;
  font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
}
@media (max-width: 768px) {
  body.page .entry-title {
    font-size: 32px;
  }
}

/* Category description (subtext below title) */
.pds-shop-title-row .term-description,
.pds-shop-title-row .woocommerce-archive-description {
  text-align: center;
  font-size: 15px;
  line-height: 1.6;
  color: #5a6a7a;
  max-width: 600px;
  margin: 0 auto;
}

.pds-shop-title-row .term-description p:last-child {
  margin-bottom: 0;
}

.pds-shop-layout {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 22px;
  align-items: start;
}

.pds-shop-sidebar {
  position: sticky;
  top: 16px;
}

.pds-shop-content {
  min-width: 0;
}

/* Filter toggle button — hidden on desktop */
.pds-filter-toggle {
  display: none;
}

@media (max-width: 980px) {
  .pds-shop-layout {
    grid-template-columns: 1fr;
  }

  .pds-shop-sidebar,
  .pds-woo-container #secondary.widget-area,
  .pds-woo-container .woocommerce-sidebar,
  #secondary.widget-area {
    display: none;
  }

  /* --- Mobile filter sidebar: slide-in overlay panel --- */
  .pds-shop-sidebar.is-open {
    display: block !important;
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    width: 88vw !important;
    max-width: 360px !important;
    height: 100% !important;
    z-index: 999999 !important;
    background: #fff !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    padding: 16px 18px 32px !important;
    box-shadow: -4px 0 24px rgba(0,0,0,.15) !important;
    transform: translateX(0);
    transition: transform .25s ease;
  }

  /* Close button */
  .pds-filter-close {
    display: flex;
    align-items: center;
    justify-content: center;
    position: sticky;
    top: 0;
    z-index: 2;
    width: 36px;
    height: 36px;
    margin: 0 0 10px auto;
    padding: 0;
    font-size: 26px;
    line-height: 1;
    color: rgba(4,16,42,.65);
    background: rgba(4,16,42,.05);
    border: none;
    border-radius: 50%;
    cursor: pointer;
    transition: background .15s ease;
  }

  .pds-filter-close:hover {
    background: rgba(4,16,42,.1);
    color: rgba(4,16,42,.9);
  }

  /* Backdrop overlay */
  .pds-filter-backdrop {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 999998;
    background: rgba(0,0,0,.4);
  }

  .pds-filter-backdrop.is-visible {
    display: block;
  }

  /* Lock body scroll when filter is open */
  body.pds-filter-open {
    overflow: hidden !important;
  }

  .pds-filter-toggle {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 14px;
    font-size: 13px;
    font-weight: 600;
    color: var(--pds-ink, rgba(4,16,42,.85));
    background: #fff;
    border: 1px solid rgba(4,16,42,.12);
    border-radius: 8px;
    cursor: pointer;
    white-space: nowrap;
    transition: background .15s ease, border-color .15s ease;
  }

  .pds-filter-toggle:hover {
    background: rgba(4,16,42,.04);
    border-color: rgba(4,16,42,.2);
  }

  .pds-filter-toggle.is-active {
    background: rgba(4,16,42,.06);
    border-color: rgba(4,16,42,.25);
  }
}

/* Browse Categories button + dropdown — hidden on desktop where sidebar is visible */
.pds-browse-cats-wrap {
  position: relative;
  display: none;
}

@media (max-width: 980px) {
  .pds-browse-cats-wrap {
    display: block;
  }
}

.pds-browse-cats-toggle {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 14px;
  font-size: 13px;
  font-weight: 600;
  color: var(--pds-ink, rgba(4,16,42,.85));
  background: #fff;
  border: 1px solid rgba(4,16,42,.12);
  border-radius: 8px;
  cursor: pointer;
  white-space: nowrap;
  transition: background .15s ease, border-color .15s ease;
}

.pds-browse-cats-toggle:hover {
  background: rgba(4,16,42,.04);
  border-color: rgba(4,16,42,.2);
}

.pds-browse-cats-toggle.is-active {
  background: rgba(4,16,42,.06);
  border-color: rgba(4,16,42,.25);
}

.pds-browse-cats-panel {
  display: none;
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 1000;
  min-width: 240px;
  max-height: 60vh;
  overflow-y: auto;
  background: #fff;
  border: 1px solid rgba(4,16,42,.1);
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(4,16,42,.12);
  padding: 10px 0;
}

.pds-browse-cats-panel.is-open {
  display: block;
}

.pds-browse-cats-panel .product-categories {
  list-style: none;
  margin: 0;
  padding: 0;
}

.pds-browse-cats-panel .product-categories li {
  margin: 0;
}

.pds-browse-cats-panel .product-categories a {
  display: block;
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 500;
  color: rgba(4,16,42,.75);
  text-decoration: none;
  transition: background .12s ease;
}

.pds-browse-cats-panel .product-categories a:hover {
  background: rgba(4,16,42,.04);
}

.pds-browse-cats-panel .product-categories .current-cat > a {
  color: #1e88c9;
  font-weight: 700;
}

.pds-browse-cats-panel .product-categories .children {
  list-style: none;
  margin: 0;
  padding: 0 0 0 14px;
}

/* Mobile: compact shop header controls */
@media (max-width: 600px) {
  .pds-shop-title-row {
    margin: 0 0 10px;
    gap: 4px;
    padding: 0 !important;
  }

  .pds-shop-title,
  .page-title,
  .woocommerce-products-header__title {
    font-size: 36px;
    font-weight: 400;
    line-height: 1.15;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    text-align: center;
    color: #064d55;
    margin: 0 0 10px 0 !important;
    padding: 0 !important;
  }

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

  /* Sort row */
  .pds-shop-toolbar {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 0;
    flex-wrap: nowrap;
  }

  .pds-filter-toggle,
  .pds-browse-cats-toggle {
    font-size: 11px;
    padding: 5px 8px;
    gap: 3px;
  }

  .pds-shop-toolbar .woocommerce-ordering {
    float: none !important;
    margin: 0 0 0 auto;
  }

  .pds-shop-toolbar .woocommerce-ordering select.orderby {
    font-size: 12px;
    max-width: none;
    width: 100%;
  }

  /* Meta row: count + view toggle */
  .pds-shop-toolbar-meta .woocommerce-result-count {
    font-size: 11px;
  }
}

/* =========================
   View Toggle: Card / List
   ========================= */

/* Row 1: Sort dropdown only */
.pds-shop-toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 0;
}

.pds-shop-toolbar .woocommerce-ordering {
  float: none !important;
  margin: 0 0 0 auto;
}
.pds-shop-toolbar .woocommerce-ordering select.orderby {
  height: 34px;
  padding: 0 28px 0 10px;
  border: 1.5px solid rgba(4, 16, 42, .12);
  border-radius: 8px;
  background: rgba(4, 16, 42, .03);
  color: rgba(4, 16, 42, .7);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all .18s ease;
  -webkit-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2304102a' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round' opacity='.45'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
}
.pds-shop-toolbar .woocommerce-ordering select.orderby:hover {
  border-color: rgba(4, 16, 42, .2);
  background-color: rgba(4, 16, 42, .06);
}
.pds-shop-toolbar .woocommerce-ordering select.orderby:focus {
  outline: none;
  border-color: var(--pds-teal-dark);
  background-color: rgba(20, 138, 148, .1);
}

/* Divider between rows */
.pds-toolbar-divider {
  border: none;
  border-top: 1px solid rgba(4, 16, 42, .08);
  margin: 8px 0;
}

/* Row 2: Product count + view toggle */
.pds-shop-toolbar-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

.pds-shop-toolbar-meta .woocommerce-result-count {
  float: none !important;
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  color: #555e6e;
}

.pds-view-toggle {
  display: flex;
  gap: 4px;
  margin-left: auto;
}

.pds-view-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 1.5px solid rgba(4, 16, 42, .12);
  border-radius: 8px;
  background: rgba(4, 16, 42, .03);
  color: rgba(4, 16, 42, .45);
  cursor: pointer;
  transition: all .18s ease;
}

.pds-view-btn:hover {
  border-color: rgba(4, 16, 42, .2);
  color: rgba(4, 16, 42, .7);
  background: rgba(4, 16, 42, .06);
}

.pds-view-btn.is-active {
  border-color: var(--pds-teal-dark);
  background: rgba(20, 138, 148, .1);
  color: var(--pds-teal-dark);
}

/* Desktop: collapse toolbar to a single row
   [XX products] ·············· [view icons] [sort dropdown] */
@media (min-width: 768px) {
  .pds-shop-controls {
    display: flex;
    align-items: center;
    gap: 12px;
    border-top: 1px solid lightgray;
    border-bottom: 1px solid lightgray;
    padding: 10px 0;
    margin-bottom: 12px;
  }

  .pds-shop-controls .pds-toolbar-divider {
    display: none;
  }

  /* Meta row first (product count + view toggle) */
  .pds-shop-controls .pds-shop-toolbar-meta {
    order: -1;
    flex: 1;
    margin-bottom: 0;
  }

  /* Sort dropdown sits at the far right */
  .pds-shop-controls .pds-shop-toolbar {
    margin-bottom: 0;
  }

  .pds-shop-controls .pds-shop-toolbar .woocommerce-ordering {
    margin: 0;
  }
}

/* =========================================================
   Inline Add-to-Cart (List View Only)
   ========================================================= */

/* Hidden by default (grid view) */
.pds-list-atc {
  display: none;
}

/* Visible only in list view */
.woocommerce ul.products.pds-view-list .pds-list-atc {
  display: block;
  grid-column: 3;
  grid-row: 1 / span 3;
  padding: 0;
  margin: 0;
  align-self: start;
  border-left: 1px solid rgba(4, 16, 42, .08);
  padding-left: 10px !important;
}

/* Out of stock: align to top, no divider */
.woocommerce ul.products.pds-view-list li.product:has(.pds-out-of-stock) .pds-list-atc {
  align-self: start;
  border-left: none;
}

/* Out of stock label */
.pds-out-of-stock {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #b91c1c;
  background: rgba(185, 28, 28, .08);
  padding: 4px 10px;
  border-radius: 6px;
  white-space: nowrap;
}

/* Card view: show out-of-stock label, centered */
.pds-out-of-stock--card {
  display: block;
  text-align: center;
  margin-top: 8px;
}

/* List view: hide the card version */
.woocommerce ul.products.pds-view-list .pds-out-of-stock--card {
  display: none;
}

/* Hide "Read more" button on out-of-stock products */
.woocommerce ul.products li.product.outofstock > .button,
.woocommerce ul.products li.product.outofstock > a.button {
  display: none !important;
}

/* Card view: brand logo container — fixed height, clips whitespace from square logos */
.woocommerce ul.products:not(.pds-view-list) li.product .pds-loop-brand {
  margin: 0;
  height: 50px;
  overflow: hidden;
  display: flex;
  align-items: center;
}

/* Card view: brand logo image */
.woocommerce ul.products:not(.pds-view-list) li.product .pds-loop-brand-logo {
  width: 80px;
  height: auto;
  object-fit: contain;
}

/* Card view: product name */
.woocommerce ul.products:not(.pds-view-list) li.product .woocommerce-loop-product__title {
  font-size: 15px !important;
  line-height: 1.35;
  margin-top: -20px !important;
}

/* Card view: hide "Select options" / "Add to cart" buttons */
.woocommerce ul.products:not(.pds-view-list) li.product > .button,
.woocommerce ul.products:not(.pds-view-list) li.product > a.button {
  display: none !important;
}

/* Variable products: dissolve wrappers so children join the product grid */
.woocommerce ul.products.pds-view-list li.product:has(.variations_form) .pds-list-atc,
.woocommerce ul.products.pds-view-list li.product:has(.variations_form) .pds-list-atc__form {
  display: contents !important;
}

/* Variable: heading + dropdowns stay in column 2 below price */
.woocommerce ul.products.pds-view-list li.product:has(.variations_form) .pds-list-atc__heading {
  grid-column: 2;
  margin-top: 16px;
}

.woocommerce ul.products.pds-view-list li.product:has(.variations_form) .pds-list-atc__attrs {
  grid-column: 2;
  margin-left: 20px !important;
}

/* Variable: qty+button in column 3, spanning all rows — matches simple products */
.woocommerce ul.products.pds-view-list li.product:has(.variations_form) .single_variation_wrap {
  grid-column: 3;
  grid-row: 1 / span 3;
  align-self: center;
  border-left: 1px solid rgba(4, 16, 42, .08);
  padding-left: 10px !important;
  margin-left: 0;
  position: static;
}

/* Reset WooCommerce default margins inside the inline add-to-cart */
.pds-list-atc .variations,
.pds-list-atc .single_variation,
.pds-list-atc .single_variation_wrap,
.pds-list-atc .woocommerce-variation {
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
}

/* Form: flex row */
.pds-list-atc__form {
  display: flex !important;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 4px;
  margin: 0 !important;
  padding: 0 !important;
}

/* Attributes container (variation dropdowns) */
.pds-list-atc__attrs {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  flex: 1 1 auto;
  min-width: 0;
  margin: 0 !important;
  justify-content: center;
}

/* Individual attribute group */
.pds-list-atc__attr {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 80px;
  flex: 0 0 auto;
  max-width: 200px;
  margin-top: 4px;
}

.pds-list-atc__attr:first-child {
  margin-top: 0;
}

.pds-list-atc__heading {
  display: block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: rgba(4, 16, 42, .45);
  line-height: 1;
  margin-bottom: 4px;
  margin-left: 0;
  text-align: left;
}

.pds-list-atc__label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: rgba(4, 16, 42, .5);
  line-height: 1;
}

/* Hide native select — boxes replace it visually */
.pds-list-atc select.pds-list-atc__select {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  border: 0 !important;
  padding: 0 !important;
  margin: -1px !important;
}

/* Variation option boxes */
.pds-var-boxes {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.pds-var-box {
  position: relative;
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;
  border: 1.5px solid rgba(4, 16, 42, .15);
  border-radius: 6px;
  background: #fff;
  color: #374151;
  cursor: pointer;
  transition: border-color .15s, background .15s, color .15s, box-shadow .15s;
  overflow: hidden;
}
.pds-var-box:hover:not(.pds-var-box--oos):not(.pds-var-box--unavailable) {
  border-color: var(--pds-teal);
  color: var(--pds-teal-dark);
}
.pds-var-box--active {
  border-color: var(--pds-teal-dark) !important;
  background: rgba(20, 138, 148, .12) !important;
  color: var(--pds-teal-dark) !important;
  box-shadow: 0 0 0 2px rgba(20, 138, 148, .18);
}
.pds-var-box--oos {
  color: #9ca3af;
  border-color: #e5e7eb;
  cursor: not-allowed;
  background: #f9fafb;
}
.pds-var-box--oos::before,
.pds-var-box--oos::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 85%;
  height: 1.5px;
  background: rgba(185, 28, 28, .55);
  pointer-events: none;
}
.pds-var-box--oos::before { transform: translate(-50%, -50%) rotate(45deg); }
.pds-var-box--oos::after  { transform: translate(-50%, -50%) rotate(-45deg); }
.pds-var-box--unavailable {
  color: #9ca3af;
  border-color: #e5e7eb;
  cursor: not-allowed;
  background: #f9fafb;
  opacity: .5;
}

/* ── Single product variation boxes ── */
.pds-single-var {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 20px;
}
.pds-single-var__group {
  display: flex;
  flex-direction: row;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}
.pds-single-var__label {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--pds-ink, #04102a);
}
/* Qty + Add to cart in one row, half and half */
.single-product .woocommerce-variation-add-to-cart,
.single-product .cart:not(.variations_form) {
  display: flex;
  align-items: center;
  width: 100%;
}
.pds-qty-wrap {
  flex: 1;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding-right: 16px;
  position: relative;
}
.pds-qty-wrap::after {
  content: '';
  position: absolute;
  right: 0;
  top: 15%;
  height: 70%;
  width: 1px;
  background: rgba(0,0,0,.15);
}
.single-product .single_add_to_cart_button {
  flex: 1;
  margin-left: 16px;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .single-product .single_add_to_cart_button {
    flex: 0 1 auto !important;
    margin-left: 12px;
    padding-left: 14px !important;
    padding-right: 14px !important;
    font-size: 13px;
  }

  /* Product title on mobile */
  .pds-product-info .product_title,
  .pds-product-info h1,
  .pds-product__summary .product_title {
    font-size: 26px !important;
    line-height: 1.3 !important;
  }
}
.pds-qty-label {
  color: #6b7280;
}
/* Add to cart icon on single product */
.single-product .single_add_to_cart_button::before {
  content: '';
  display: inline-block;
  width: 18px;
  height: 18px;
  margin-right: 8px;
  vertical-align: middle;
  background: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
}
/* Hide native select on single product — boxes replace it */
select.pds-single-var__select {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  border: 0 !important;
  padding: 0 !important;
  margin: -1px !important;
}
.pds-single-var__boxes {
  gap: 8px;
}
.pds-single-var__box {
  padding: 8px 16px;
  font-size: 13px;
}
/* Clear link */
.pds-single-var .reset_variations {
  font-size: 12px;
  color: var(--pds-teal);
  text-decoration: none;
  margin-top: 2px;
  display: inline-block;
}
.pds-single-var .reset_variations:hover {
  text-decoration: underline;
}

/* Action row: qty + button */
.pds-list-atc__action {
  display: flex !important;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

/* Qty wrapper: -/+ buttons around input */
.pds-list-atc__qty-wrap {
  display: flex;
  align-items: center;
  border: 1px solid rgba(4, 16, 42, .15);
  border-radius: 6px;
  overflow: hidden;
}

/* Hide the inner .quantity wrapper border since outer wrap handles it */
.pds-list-atc .quantity {
  display: flex !important;
  align-items: center;
  width: auto !important;
  margin: 0 !important;
  border: none;
  border-radius: 0;
  overflow: hidden;
}

.pds-list-atc .quantity .qty {
  width: 36px !important;
  min-width: 32px;
  padding: 5px 2px !important;
  font-size: 12px !important;
  text-align: center;
  border: none !important;
  border-radius: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  line-height: 1.3 !important;
  -moz-appearance: textfield;
}

.pds-list-atc .quantity .qty::-webkit-inner-spin-button,
.pds-list-atc .quantity .qty::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.pds-qty-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0 !important;
  border: none;
  background: rgba(4, 16, 42, .04);
  color: rgba(4, 16, 42, .6);
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: all .15s ease;
  line-height: 1;
}

.pds-qty-btn:hover {
  background: rgba(20, 138, 148, .12);
  color: var(--pds-teal-dark);
}

/* Force WC variation wrappers always visible in list-atc (we control state via opacity) */
.pds-list-atc .single_variation_wrap {
  display: block !important;
}
.pds-list-atc .woocommerce-variation-add-to-cart {
  display: flex !important;
}

/* Disabled qty state (waiting for variation selection) */
.pds-list-atc__qty-wrap {
  transition: opacity .3s ease;
}
.pds-list-atc__qty-wrap.pds-qty-disabled {
  opacity: 0.35;
  pointer-events: none;
}
.pds-list-atc__action .pds-list-atc__label {
  transition: opacity .3s ease;
}
.pds-list-atc__action:has(.pds-qty-disabled) .pds-list-atc__label {
  opacity: 0.35;
}

/* "Select an option" prompt */
.pds-list-atc__select-prompt {
  font-size: 11px;
  color: #148a94;
  font-style: italic;
  transition: opacity .3s ease;
}
.pds-list-atc__select-prompt.pds-prompt-hidden {
  opacity: 0;
  pointer-events: none;
}

/* List view: prompt in column 3, aligned with first variation row */
.woocommerce ul.products.pds-view-list li.product:has(.variations_form) .pds-list-atc__select-prompt {
  grid-column: 3;
  padding-left: 10px;
  align-self: center;
}

/* Stock status badge */
.pds-stock-status {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.02em;
  transition: opacity .3s ease;
}
.pds-stock-status:empty {
  display: none;
}
.pds-stock-status--in {
  display: none;
}
.single-product .stock.in-stock,
.single-product .woocommerce-variation-availability .stock.in-stock,
.single-product p.stock.in-stock,
.single-product .pds-product__summary .stock.in-stock,
.single-product .summary .stock.in-stock,
body.single-product .in-stock {
  display: none !important;
}
.single-product p.stock.out-of-stock,
.woocommerce div.product form.cart {
  margin: 0 !important;
}

/* Hide qty, qty label + add to cart when product is out of stock */
.single-product .product.outofstock .quantity,
.single-product .product.outofstock .pds-qty-label,
.single-product .product.outofstock .single_add_to_cart_button {
  display: none !important;
}
.pds-stock-status--out {
  color: #b91c1c;
}
.pds-stock-status--backorder {
  color: #b45309;
}

/* Attribute group needs relative positioning for hidden select */
.pds-list-atc__attr {
  position: relative;
}

/* Add to Cart button */
.pds-list-atc__btn {
  padding: 6px 14px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  white-space: nowrap;
  border-radius: 8px !important;
  line-height: 1.3 !important;
  min-height: 0 !important;
  cursor: pointer;
  transition: all .18s ease;
  background: linear-gradient(to bottom, var(--pds-teal), var(--pds-teal-dark)) !important;
  color: #fff !important;
  border: none !important;
  box-shadow: 0 2px 8px rgba(20, 138, 148, .2);
}

.pds-list-atc__btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(20, 138, 148, .3);
}

.pds-list-atc__btn:active {
  transform: translateY(0);
}

.pds-list-atc__btn.loading {
  opacity: .6;
  pointer-events: none;
}

.pds-list-atc__btn.added {
  background: #46b450 !important;
  border-color: #46b450 !important;
  color: #fff !important;
}

.pds-list-atc__btn.added::after {
  content: ' \2713';
}

.pds-list-atc__btn.disabled,
.pds-list-atc__btn.wc-variation-selection-needed {
  opacity: .5;
  cursor: not-allowed;
}

/* Hide WC default SKU output — we handle SKU ourselves */
.single-product .product_meta .sku_wrapper {
  display: none !important;
}

/* Hide WC variation price/description/availability (we show our own) */
.single_variation .woocommerce-variation-price,
.pds-list-atc .single_variation .woocommerce-variation-description,
.pds-list-atc .single_variation .woocommerce-variation-availability {
  display: none !important;
}

/* Variation price rendered by our JS into #pds-variation-info */
.pds-variation-price {
  margin: 0 0 30px;
}
.single-product span.woocommerce-Price-amount.amount {
  margin-bottom: 30px;
}
.pds-variation-price .price {
  font-size: 44px !important;
  font-weight: 900 !important;
  color: var(--pds-teal-dark) !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  display: inline-block !important;
  box-shadow: none !important;
  max-width: fit-content !important;
}
.pds-variation-price .price ins {
  text-decoration: none !important;
  color: var(--pds-teal-dark) !important;
  font-weight: 900 !important;
}
.pds-variation-price .price del {
  opacity: 0.35 !important;
  margin-right: 14px !important;
  font-size: 28px !important;
  font-weight: 600 !important;
  color: rgba(4,16,42,0.4) !important;
}

.pds-list-atc .reset_variations {
  font-size: 10px;
  margin-left: 4px;
}

/* Variation form layout */
.pds-list-atc__form {
  display: flex !important;
  flex-direction: column;
  gap: 4px;
  margin: 0 !important;
  padding: 0 !important;
}

.pds-list-atc__form > .pds-list-atc__heading {
  flex: 0 0 auto;
}

.pds-list-atc__attrs {
  flex-direction: column;
  min-width: 0;
}

.pds-list-atc__attr {
  max-width: 100%;
}

.pds-list-atc__form--simple .pds-list-atc__action {
  border-left: none;
  padding-left: 0 !important;
  margin-left: 0;
}

.pds-list-atc__action {
  flex-direction: column !important;
  justify-content: flex-start;
  align-items: center !important;
  gap: 6px;
}

/* ----------- LIST VIEW ----------- */

/* Single column, no gap (rows separated by border-bottom) */
.woocommerce ul.products.pds-view-list {
  grid-template-columns: 1fr !important;
  gap: 0 !important;
}

/*
 * 3-column layout:  Image | Info | Button
 *
 * HTML constraint: image, brand, title, price are all inside one <a>,
 * button is a separate <a>. Using display:contents on the link so all
 * children participate in the parent 3-column grid directly.
 */
.woocommerce ul.products.pds-view-list li.product {
  display: grid !important;
  grid-template-columns: 80px 1fr auto;
  align-items: start;
  align-content: start;
  gap: 0 10px;
  padding: 25px 8px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  border: none !important;
  border-bottom: 1px solid rgba(4, 16, 42, .07) !important;
  background: transparent !important;
  min-height: 0 !important;
}


.woocommerce ul.products.pds-view-list li.product:last-child {
  border-bottom: none !important;
}

.woocommerce ul.products.pds-view-list li.product:hover {
  transform: none !important;
  box-shadow: none !important;
  background: rgba(4, 16, 42, .02) !important;
}

/* Dissolve the <a> wrapper so its children join the parent grid */
.woocommerce ul.products.pds-view-list li.product > a:first-of-type {
  display: contents;
}

/* --- Col 1: Product image + brand logo stacked --- */
.woocommerce ul.products.pds-view-list li.product a img:not(.pds-loop-brand-logo) {
  grid-column: 1;
  grid-row: 2 / span 3;
  width: 80px !important;
  min-width: 80px;
  max-width: 80px !important;
  height: 80px !important;
  max-height: 80px !important;
  min-height: 0 !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: contain;
  border-radius: 6px;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
  align-self: start;
  background: #f8f9fa;
}

/* Floating image preview on hover */
.pds-img-preview {
  position: absolute;
  z-index: 9999;
  pointer-events: none;
  opacity: 0;
  transform: scale(.9);
  transition: opacity .2s ease, transform .2s ease;
  background: #fff;
  border: 1px solid rgba(4, 16, 42, .1);
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(4, 16, 42, .12);
  padding: 6px;
  overflow: hidden;
}

.pds-img-preview.is-visible {
  opacity: 1;
  transform: scale(1);
}

.pds-img-preview img {
  display: block;
  width: 220px;
  height: 220px;
  object-fit: contain;
  border-radius: 6px;
}

/* Sale badge: hide in list view (keeps rows clean) */
.woocommerce ul.products.pds-view-list li.product .onsale {
  display: none;
}

/* --- Col 2: Brand → Title → Price (stacked) --- */

/* Brand: under product image in list view */
.woocommerce ul.products.pds-view-list li.product .pds-loop-brand {
  grid-column: 1;
  grid-row: 1;
  margin: 0 !important;
  align-self: end;
  justify-self: center;
}

.woocommerce ul.products.pds-view-list li.product .pds-loop-brand-logo {
  height: auto;
  width: 80px;
  max-width: 80px;
  clip-path: inset(50px 0);
  margin: -50px 0;
  object-fit: contain;
}

/* Product title */
.woocommerce ul.products.pds-view-list li.product .woocommerce-loop-product__title {
  grid-column: 2;
  display: block;
  -webkit-line-clamp: unset !important;
  overflow: visible;
  min-height: 0 !important;
  margin: 0 !important;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.3;
  align-self: start;
}

/* Hide gradient fade */
.woocommerce ul.products.pds-view-list li.product .woocommerce-loop-product__title::after {
  display: none;
}

/* Price pill */
.woocommerce ul.products.pds-view-list li.product .price {
  grid-column: 2;
  font-size: 14px;
  padding: 2px 6px !important;
  margin: 2px 0 0 !important;
  align-self: start;
}

/* Rating: hide in list view */
.woocommerce ul.products.pds-view-list li.product .star-rating {
  display: none !important;
}

/* Kill all extra spacing from product card children (not .pds-list-atc) */
.woocommerce ul.products.pds-view-list li.product > a *,
.woocommerce ul.products.pds-view-list li.product > .button {
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
}

/* Hide default button in list view (replaced by inline add-to-cart) */
.woocommerce ul.products.pds-view-list li.product > .button {
  display: none !important;
}

/* Mobile: smaller view toggle buttons */
@media (max-width: 600px) {
  .pds-view-btn {
    width: 30px;
    height: 30px;
  }

  .pds-view-btn svg {
    width: 14px;
    height: 14px;
  }
}

/* Single product page: brand logo clipping + tighter spacing to title */
.woocommerce div.product .pds-product-brand .pds-brand-logo {
  clip-path: inset(20px 0px 20px 0px) !important;
  margin: -20px 0 -20px 0 !important;
}

.woocommerce div.product .pds-product-brand {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 15px !important;
  position: relative;
  z-index: 0;
}

.pds-product-info .product_title,
.pds-product-info h1 {
  position: relative;
  z-index: 1;
}

/* Gallery sticky product title: hidden by default, shown/hidden by jQuery on scroll */
.pds-gallery-sticky-title {
  display: none;
  padding: 120px 0 6px 0;
}

.pds-gallery-sticky-brand {
  display: block;
  margin-bottom: 0;
  text-decoration: none;
}

.pds-gallery-sticky-brand__logo {
  width: 100px !important;
  height: auto !important;
  max-width: 100px !important;
  clip-path: inset(10px 0 10px 0) !important;
  margin: -10px 0 -10px 0;
  display: block;
}

.pds-gallery-sticky-brand__name {
  font-size: 12px;
  font-weight: 500;
  color: #5a6a7a;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.pds-gallery-sticky-title__text {
  font-size: 1.6em;
  font-weight: 700;
  color: #04102a;
  line-height: 1;
  display: block;
  margin: -20px 0 0 0;
  position: relative;
  z-index: 2;
}

.pds-product-gallery {
  position: relative;
}

.pds-sticky-column {
  top: 70px !important;
}

/* Keep two-column + sticky active on tablets (override parent 768px breakpoint) */
@media (min-width: 601px) and (max-width: 768px) {
  .pds-product-main {
    grid-template-columns: 1fr 1fr !important;
    gap: 30px;
  }
  .pds-product-gallery,
  .pds-product-info {
    grid-column: auto !important;
  }
  .pds-sticky-column {
    position: sticky !important;
    top: 70px !important;
  }
}

/* Remove dotted focus outline on gallery images */
.pds-product-gallery .woocommerce-product-gallery__image a,
.pds-product-gallery .woocommerce-product-gallery__image a:focus,
.pds-product-gallery .woocommerce-product-gallery__image a:active,
.pds-product-gallery .woocommerce-product-gallery__image img {
  outline: none !important;
  border: none !important;
  box-shadow: none !important;
}

.pds-product-gallery .woocommerce-product-gallery {
  transition: transform 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
  transform-origin: top left;
}

.pds-product-gallery.has-sticky-title .woocommerce-product-gallery {
  transform: scale(0.7);
}

@media (max-width: 600px) {
  .pds-gallery-sticky-title {
    display: none !important;
  }
  .pds-product-gallery.has-sticky-title .woocommerce-product-gallery {
    transform: none;
  }
  .pds-product-info {
    padding-right: 16px;
  }
}

/* Placeholder image for products without pictures: 30% opacity */
ul.products li.product img.woocommerce-placeholder,
ul.products li.product > a > img[src*="cropped-PDS-Logo-Square-1"],
ul.products li.product .woocommerce-LoopProduct-link > img[src*="cropped-PDS-Logo-Square-1"],
.woocommerce-product-gallery__image img[src*="cropped-PDS-Logo-Square-1"],
.single-product .product .woocommerce-product-gallery img[src*="cropped-PDS-Logo-Square-1"] {
  opacity: 0.3 !important;
}

/* Empty category: no products found - overlay layout */
.pds-no-products {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 400px;
  max-width: 600px;
  margin: 40px auto;
}

.pds-no-products__image {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.pds-no-products__placeholder {
  width: 450px;
  height: 450px;
  object-fit: contain;
  opacity: 0.08;
}

.pds-no-products__content {
  position: relative;
  z-index: 1;
  text-align: center;
  padding: 40px 20px;
}

.pds-no-products__title {
  font-size: 42px;
  font-weight: 700;
  color: var(--pds-ink, #04102a);
  margin: 0 0 16px;
}

.pds-no-products__message {
  font-size: 20px;
  color: var(--pds-muted, #2c3a52);
  margin: 0 0 32px;
  line-height: 1.5;
}

.pds-no-products__message strong {
  color: var(--pds-teal-dark, #0a6670);
}

.pds-no-products__btn {
  display: inline-block;
  padding: 14px 32px;
  background: var(--pds-teal, #148a94);
  color: #fff !important;
  font-weight: 600;
  font-size: 16px;
  border-radius: 10px;
  text-decoration: none !important;
  transition: all 0.2s ease;
}

.pds-no-products__btn:hover {
  background: var(--pds-teal-dark, #0a6670);
  box-shadow: 0 4px 12px rgba(20, 138, 148, 0.3);
}

@media (max-width: 480px) {
  .pds-no-products__title {
    font-size: 32px;
  }
  .pds-no-products__message {
    font-size: 16px;
  }
}

/* Hide category title on empty category pages */
.pds-empty-category .pds-shop-title-row {
  display: none !important;
}

/* Related products title — match shop/catalog page title */
.woocommerce div.product section.related > h2 {
  font-size: 28px;
  font-weight: 400;
  letter-spacing: 0.01em;
  text-align: center;
  color: #064d55;
  font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 20px;
}
.woocommerce div.product section.related > h2::before,
.woocommerce div.product section.related > h2::after {
  content: '';
  flex: 1;
  height: 1px;
  background: #d1d5db;
}
@media (max-width: 600px) {
  .woocommerce div.product section.related > h2 {
    font-size: 24px;
    text-transform: uppercase;
  }
}

/* Related products: 5 columns desktop, 4 columns mobile */
.woocommerce div.product section.related ul.products {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

/* Related products: reduce card shadow */
.woocommerce div.product section.related ul.products li.product {
  box-shadow: 0 1px 3px rgba(0,0,0,.06) !important;
}
.woocommerce div.product section.related ul.products li.product:hover {
  box-shadow: 0 2px 8px rgba(0,0,0,.1) !important;
}

/* Related products: horizontal scroll on mobile */
@media (max-width: 768px) {
  .woocommerce div.product section.related ul.products {
    display: flex !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 10px !important;
    padding-bottom: 16px !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
  }
  .woocommerce div.product section.related ul.products::-webkit-scrollbar {
    display: none !important;
  }

  .woocommerce div.product section.related ul.products li.product {
    flex: 0 0 42%;
    min-width: 42%;
    scroll-snap-align: start;
  }

  /* Carousel wrapper — for positioning nav arrows */
  .pds-related-carousel {
    position: relative;
  }

  /* Left/right nav arrows — larger tap target via ::before */
  .pds-related-nav {
    position: absolute;
    top: 30%;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid rgba(0,0,0,.1);
    background: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,.15);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 5;
    transition: opacity .2s, background .2s;
    -webkit-tap-highlight-color: transparent;
    font-size: 22px;
    font-weight: 600;
    color: #1f2937;
    line-height: 1;
    padding: 0 0 2px;
  }
  .pds-related-nav::before {
    content: '';
    position: absolute;
    top: -12px;
    left: -12px;
    right: -12px;
    bottom: -12px;
  }
  .pds-related-nav:active {
    background: rgba(255,255,255,1);
  }
  .pds-related-nav--prev {
    left: 4px;
  }
  .pds-related-nav--next {
    right: 4px;
  }
  .pds-related-nav.pds-nav-hidden {
    opacity: 0;
    pointer-events: none;
  }

  /* Edge fade gradients */
  .pds-related-carousel::before,
  .pds-related-carousel::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 40px;
    width: 24px;
    z-index: 3;
    pointer-events: none;
    transition: opacity .2s;
  }
  .pds-related-carousel::before {
    left: 0;
    background: linear-gradient(to right, #fff 0%, transparent 100%);
  }
  .pds-related-carousel::after {
    right: 0;
    background: linear-gradient(to left, #fff 0%, transparent 100%);
  }
  .pds-related-carousel.at-start::before {
    opacity: 0;
  }
  .pds-related-carousel.at-end::after {
    opacity: 0;
  }

  /* Pagination dots */
  .pds-related-dots {
    display: flex;
    justify-content: center;
    gap: 6px;
    padding: 8px 0 0;
  }
  .pds-related-dots__dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #d1d5db;
    border: none;
    padding: 0;
    cursor: pointer;
    transition: background .2s, transform .2s;
  }
  .pds-related-dots__dot.active {
    background: var(--pds-teal, #148a94);
    transform: scale(1.3);
  }
}

/* Closeout Deals badge */
.pds-badge {
  display: inline-block;
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-radius: 6px;
  line-height: 1.3;
}

.pds-badge--closeout {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 5;
  background: linear-gradient(135deg, #ff6b35 0%, #f7931e 100%);
  color: #fff;
  box-shadow: 0 2px 8px rgba(255, 107, 53, 0.35);
}

/* Single product page badge */
.pds-badge--single {
  position: relative;
  top: auto;
  left: auto;
  margin-bottom: 12px;
}

/* Closeout stock availability */
.pds-closeout-stock {
  font-size: 14px;
  font-weight: 700;
  color: #e65100;
  margin: 8px 0 4px;
}

/* =========================
   Share buttons
   ========================= */
.pds-share {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 16px 0 0;
  padding: 14px 0 14px;
  border-top: 1px solid #e8e8e8;
}
.pds-share__label {
  font-size: 13px;
  font-weight: 600;
  color: var(--pds-teal, #148a94);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.pds-share__buttons {
  display: flex;
  gap: 6px;
}
.pds-share__btn,
a.pds-share__btn,
a.pds-share__btn:visited {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1px solid rgba(20, 138, 148, 0.3);
  background: #fff;
  color: var(--pds-teal, #148a94) !important;
  cursor: pointer;
  transition: all 0.2s ease;
  text-decoration: none;
  padding: 0;
  font: inherit;
  line-height: 1;
}
.pds-share__btn:hover,
a.pds-share__btn:hover {
  border-color: var(--pds-teal, #148a94);
  color: #fff !important;
  background: var(--pds-teal, #148a94);
}
.pds-share__btn--copy.copied {
  border-color: var(--pds-teal, #148a94);
  color: #fff;
  background: var(--pds-teal, #148a94);
}

/* License Required badge — subtle, right-aligned next to brand logo */
.pds-badge--license {
  position: relative;
  top: auto;
  left: auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #f0f4f8;
  color: #475569;
  border: 1px solid #cbd5e1;
  box-shadow: none;
  margin: 0;
  margin-left: auto;
  flex-shrink: 0;
  overflow: visible;
  padding-right: 10px;
}

/* "?" help icon — positioned as superscript circle at top-right of badge */
.pds-license-tip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #94a3b8;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  position: absolute;
  top: -7px;
  right: -7px;
  flex-shrink: 0;
  z-index: 2;
  border: 2px solid #fff;
}

.pds-license-tip:hover,
.pds-license-tip:focus {
  background: #64748b;
}

/* Tooltip bubble — anchored from the badge, not the tiny circle */
/* Desktop: opens above the badge */
.pds-license-tip__text {
  display: none;
  position: absolute;
  bottom: calc(100% + 14px);
  right: -8px;
  width: 260px;
  padding: 10px 14px;
  background: #1e293b;
  color: #f1f5f9;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
  text-transform: none;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0,0,0,.18);
  z-index: 100;
  pointer-events: none;
}

/* Arrow — desktop: below tooltip */
.pds-license-tip__text::after {
  content: '';
  position: absolute;
  top: 100%;
  right: 14px;
  border: 6px solid transparent;
  border-top-color: #1e293b;
}

/* Show on hover & focus — desktop only */
@media (min-width: 769px) {
  .pds-license-tip:hover .pds-license-tip__text,
  .pds-license-tip:focus .pds-license-tip__text {
    display: block;
  }
}

/* Mobile: hide inline tooltip entirely, JS shows modal instead */
@media (max-width: 768px) {
  .pds-license-tip__text {
    display: none !important;
  }
}

/* License info modal — mobile only, triggered by JS */
.pds-license-modal-overlay {
  display: flex;
  position: fixed;
  inset: 0;
  z-index: 999999;
  background: rgba(255,255,255,.05);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity .25s ease, visibility .25s ease;
}
.pds-license-modal-overlay.pds-license-modal--open {
  opacity: 1;
  visibility: visible;
}
.pds-license-modal {
  background: rgba(255,255,255,.92);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,.5);
  border-radius: 16px;
  padding: 28px 24px 22px;
  max-width: 300px;
  width: 90%;
  text-align: center;
  box-shadow: 0 8px 32px rgba(0,0,0,.08);
  transform: scale(.95);
  transition: transform .25s ease;
}
.pds-license-modal-overlay.pds-license-modal--open .pds-license-modal {
  transform: scale(1);
}
.pds-license-modal__title {
  font-size: 16px;
  font-weight: 700;
  color: #0f172a;
  margin: 0 0 8px;
}
.pds-license-modal__body {
  font-size: 14px;
  line-height: 1.55;
  color: #475569;
  margin: 0 0 20px;
}
.pds-license-modal__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--pds-teal, #148a94);
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 10px 28px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}

/* Ensure badge parent doesn't clip the "?" circle */
.woocommerce div.product .pds-product-brand {
  overflow: visible !important;
}

/* Ensure product card has relative positioning for badge */
.woocommerce ul.products li.product {
  position: relative;
}

/* Adjust badge position if sale badge is also present */
.woocommerce ul.products li.product .onsale + .pds-badge--closeout,
.woocommerce ul.products li.product .pds-badge--closeout:not(:first-child) {
  top: 42px;
}

/* "No more products" and info messages on catalog/shop pages */
.woocommerce-info,
.woocommerce-message,
.pds-shop-content .woocommerce-info,
.pds-shop-content .woocommerce-message,
.wc-block-components-notice-banner,
.infinite-loader,
#infinite-handle,
.pds-no-more-products {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 16px 24px;
  margin: 24px 0;
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 500;
  color: #5a6a7a;
  text-align: center;
}

.woocommerce-info::before,
.woocommerce-message::before {
  content: '';
  display: none;
}

/* Infinite scroll end message */
.infinite-loader {
  padding: 20px;
}

#infinite-handle span {
  background: none;
  border: none;
  padding: 0;
  font-size: 14px;
  color: #5a6a7a;
}

/* Jetpack infinite scroll status */
.infinite-scroll .pds-shop-content .woocommerce-pagination {
  display: none;
}

/* Load More Products plugin - "No more products" message */
.lmp_products_loading {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 20px 24px;
  margin: 32px 0 16px;
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 500;
  color: #6c757d;
  text-align: center;
  /* Span full width across all grid columns */
  grid-column: 1 / -1;
}

/* If inside product list, ensure it spans all columns */
ul.products .lmp_products_loading,
.woocommerce ul.products .lmp_products_loading {
  grid-column: 1 / -1;
  width: 100%;
}

.lmp_products_loading span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.lmp_products_loading span::before {
  content: '';
  display: inline-block;
  width: 18px;
  height: 18px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236c757d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M8 12h8'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}

/* =========================
   My Account Page - Two Column Layout
   ========================= */

/* Hide default page title on My Account page */
.woocommerce-account .entry-header,
.woocommerce-account header.entry-header {
  display: none !important;
}

/* Two-column layout using existing .woocommerce wrapper */
/* Higher specificity to override parent theme */
body.woocommerce-account .woocommerce,
body.woocommerce-account .site-main .woocommerce,
body.woocommerce-account .entry-content .woocommerce {
  display: grid !important;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 32px;
  align-items: start;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 !important;
}

/* Sidebar Navigation - Higher specificity to override parent theme */
body.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account nav.woocommerce-MyAccount-navigation {
  position: sticky !important;
  top: 24px !important;
  background-color: #f0f7f8 !important;
  border: 1px solid #d4e5e8 !important;
  border-radius: 16px !important;
  padding: 16px !important;
  box-shadow: 0 2px 10px rgba(20, 138, 148, 0.08) !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  gap: 4px !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li {
  margin: 0 !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 12px 16px !important;
  border-radius: 10px !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  color: #5a6a7a !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  transition: all 0.2s ease !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation a::before {
  content: '' !important;
  width: 20px !important;
  height: 20px !important;
  flex-shrink: 0 !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  opacity: 0.6 !important;
  transition: opacity 0.2s ease !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
  background: #f5f7fa !important;
  color: #04102a !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation a:hover::before {
  opacity: 1 !important;
}

/* Active state */
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  background: #0a6670 !important;
  color: #fff !important;
  font-weight: 600 !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a::before {
  opacity: 1 !important;
  filter: brightness(0) invert(1) !important;
}

/* Icons for each menu item */
body.woocommerce-account .woocommerce-MyAccount-navigation-link--dashboard a::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235a6a7a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpolyline points='9 22 9 12 15 12 15 22'/%3E%3C/svg%3E") !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation-link--orders a::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235a6a7a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E") !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation-link--downloads a::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235a6a7a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='7 10 12 15 17 10'/%3E%3Cline x1='12' y1='15' x2='12' y2='3'/%3E%3C/svg%3E") !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation-link--edit-address a::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235a6a7a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E") !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation-link--edit-account a::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235a6a7a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E") !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation-link--payment-methods a::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235a6a7a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='1' y='4' width='22' height='16' rx='2' ry='2'/%3E%3Cline x1='1' y1='10' x2='23' y2='10'/%3E%3C/svg%3E") !important;
}

/* Logout link styling */
body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout {
  margin-top: 8px !important;
  padding-top: 8px !important;
  border-top: 1px solid #eee !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a {
  color: #dc3545 !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23dc3545' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/%3E%3Cpolyline points='16 17 21 12 16 7'/%3E%3Cline x1='21' y1='12' x2='9' y2='12'/%3E%3C/svg%3E") !important;
  opacity: 1 !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a:hover {
  background: rgba(220, 53, 69, 0.08) !important;
  color: #dc3545 !important;
}

/* Content Area */
body.woocommerce-account .woocommerce-MyAccount-content {
  min-width: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}

body.woocommerce-account .pds-account-header {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

body.woocommerce-account .pds-account-title {
  margin: 0 !important;
  font-size: 28px !important;
  font-weight: 400 !important;
  letter-spacing: 0.01em !important;
  font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif !important;
  color: #04102a !important;
}

/* Orders table */
body.woocommerce-account .woocommerce-orders-table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  font-size: 14px !important;
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  margin-top: 20px !important;
}

body.woocommerce-account .woocommerce-orders-table thead {
  background: linear-gradient(to bottom, #f8fafb, #f1f5f7) !important;
}

body.woocommerce-account .woocommerce-orders-table th {
  text-align: left !important;
  padding: 14px 18px !important;
  background: transparent !important;
  font-weight: 700 !important;
  font-size: 11px !important;
  color: #5a6a7a !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  border-bottom: 1px solid #e5e7eb !important;
}

body.woocommerce-account .woocommerce-orders-table tbody tr {
  transition: background 0.15s ease !important;
}

body.woocommerce-account .woocommerce-orders-table tbody tr:hover {
  background: #f8fafb !important;
}

body.woocommerce-account .woocommerce-orders-table td,
body.woocommerce-account .woocommerce-orders-table tbody th {
  padding: 16px 18px !important;
  border-bottom: 1px solid #f0f2f5 !important;
  vertical-align: middle !important;
  color: #04102a !important;
}

body.woocommerce-account .woocommerce-orders-table tbody tr:last-child td,
body.woocommerce-account .woocommerce-orders-table tbody tr:last-child th {
  border-bottom: none !important;
}

/* Order number link */
body.woocommerce-account .woocommerce-orders-table__cell-order-number a {
  font-weight: 700 !important;
  color: #148a94 !important;
  text-decoration: none !important;
  transition: color 0.15s ease !important;
}

body.woocommerce-account .woocommerce-orders-table__cell-order-number a:hover {
  color: #0a6670 !important;
  text-decoration: underline !important;
}

/* Order date */
body.woocommerce-account .woocommerce-orders-table__cell-order-date {
  color: #5a6a7a !important;
  font-size: 13px !important;
}

/* Order status badges */
body.woocommerce-account .woocommerce-orders-table__cell-order-status {
  font-size: 12px !important;
  font-weight: 600 !important;
}

/* Processing status */
body.woocommerce-account .woocommerce-orders-table__row--status-processing .woocommerce-orders-table__cell-order-status {
  color: #2563eb !important;
}

body.woocommerce-account .woocommerce-orders-table__row--status-processing .woocommerce-orders-table__cell-order-status::before {
  content: '' !important;
  display: inline-block !important;
  width: 8px !important;
  height: 8px !important;
  background: #2563eb !important;
  border-radius: 50% !important;
  margin-right: 8px !important;
}

/* Completed status */
body.woocommerce-account .woocommerce-orders-table__row--status-completed .woocommerce-orders-table__cell-order-status {
  color: #059669 !important;
}

body.woocommerce-account .woocommerce-orders-table__row--status-completed .woocommerce-orders-table__cell-order-status::before {
  content: '' !important;
  display: inline-block !important;
  width: 8px !important;
  height: 8px !important;
  background: #059669 !important;
  border-radius: 50% !important;
  margin-right: 8px !important;
}

/* On-hold status - Yellow */
body.woocommerce-account .woocommerce-orders-table__row--status-on-hold .woocommerce-orders-table__cell-order-status {
  color: #ca8a04 !important;
}

body.woocommerce-account .woocommerce-orders-table__row--status-on-hold .woocommerce-orders-table__cell-order-status::before {
  content: '' !important;
  display: inline-block !important;
  width: 8px !important;
  height: 8px !important;
  background: #ca8a04 !important;
  border-radius: 50% !important;
  margin-right: 8px !important;
}

/* Pending status - Orange/Amber */
body.woocommerce-account .woocommerce-orders-table__row--status-pending .woocommerce-orders-table__cell-order-status {
  color: #d97706 !important;
}

body.woocommerce-account .woocommerce-orders-table__row--status-pending .woocommerce-orders-table__cell-order-status::before {
  content: '' !important;
  display: inline-block !important;
  width: 8px !important;
  height: 8px !important;
  background: #d97706 !important;
  border-radius: 50% !important;
  margin-right: 8px !important;
}

/* Cancelled status */
body.woocommerce-account .woocommerce-orders-table__row--status-cancelled .woocommerce-orders-table__cell-order-status {
  color: #dc2626 !important;
}

body.woocommerce-account .woocommerce-orders-table__row--status-cancelled .woocommerce-orders-table__cell-order-status::before {
  content: '' !important;
  display: inline-block !important;
  width: 8px !important;
  height: 8px !important;
  background: #dc2626 !important;
  border-radius: 50% !important;
  margin-right: 8px !important;
}

/* Failed status - Dark Red */
body.woocommerce-account .woocommerce-orders-table__row--status-failed .woocommerce-orders-table__cell-order-status {
  color: #b91c1c !important;
}

body.woocommerce-account .woocommerce-orders-table__row--status-failed .woocommerce-orders-table__cell-order-status::before {
  content: '' !important;
  display: inline-block !important;
  width: 8px !important;
  height: 8px !important;
  background: #b91c1c !important;
  border-radius: 50% !important;
  margin-right: 8px !important;
}

/* Refunded status */
body.woocommerce-account .woocommerce-orders-table__row--status-refunded .woocommerce-orders-table__cell-order-status {
  color: #6b7280 !important;
}

body.woocommerce-account .woocommerce-orders-table__row--status-refunded .woocommerce-orders-table__cell-order-status::before {
  content: '' !important;
  display: inline-block !important;
  width: 8px !important;
  height: 8px !important;
  background: #6b7280 !important;
  border-radius: 50% !important;
  margin-right: 8px !important;
}

/* Order total */
body.woocommerce-account .woocommerce-orders-table__cell-order-total {
  font-weight: 600 !important;
  color: #04102a !important;
}

/* Action buttons */
body.woocommerce-account .woocommerce-orders-table__cell-order-actions {
  text-align: right !important;
}

body.woocommerce-account .woocommerce-orders-table .woocommerce-button,
body.woocommerce-account .woocommerce-orders-table .button {
  display: inline-block !important;
  padding: 8px 16px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  background: linear-gradient(to bottom, #148a94, #0a6670) !important;
  color: #fff !important;
  border: none !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 1px 3px rgba(20, 138, 148, 0.2) !important;
  margin: 2px !important;
}

body.woocommerce-account .woocommerce-orders-table .woocommerce-button:hover,
body.woocommerce-account .woocommerce-orders-table .button:hover {
  background: linear-gradient(to bottom, #0a6670, #084f58) !important;
  box-shadow: 0 2px 6px rgba(20, 138, 148, 0.3) !important;
  transform: translateY(-1px) !important;
}

/* Orders pagination */
body.woocommerce-account .woocommerce-pagination--without-numbers {
  display: flex !important;
  justify-content: center !important;
  gap: 12px !important;
  margin-top: 24px !important;
  padding-top: 20px !important;
  border-top: 1px solid #e5e7eb !important;
}

body.woocommerce-account .woocommerce-pagination--without-numbers .woocommerce-button {
  padding: 10px 20px !important;
}

/* =========================================================
   View Order Page Styling
   ========================================================= */

/* =========================================================
   View Order Header - Professional Styling
   ========================================================= */

body.woocommerce-account .pds-order-header {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 0 40px 0 !important;
  margin: 0 !important;
}

body.woocommerce-account .pds-order-header__top {
  padding: 0 0 12px !important;
  border-bottom: none !important;
  background: transparent !important;
}

body.woocommerce-account .pds-order-header__back {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #5a6a7a !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

body.woocommerce-account .pds-order-header__back:hover {
  color: #148a94 !important;
}

body.woocommerce-account .pds-order-header__back svg {
  transition: transform 0.2s ease !important;
}

body.woocommerce-account .pds-order-header__back:hover svg {
  transform: translateX(-3px) !important;
}

body.woocommerce-account .pds-order-header__main {
  padding: 0 !important;
}

body.woocommerce-account .pds-order-header__title-row {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
  margin-bottom: 16px !important;
}

body.woocommerce-account .pds-order-header__title {
  margin: 0 !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  color: #04102a !important;
  letter-spacing: -0.01em !important;
}

body.woocommerce-account .pds-order-header__status {
  display: inline-flex !important;
  align-items: center !important;
  padding: 6px 14px !important;
  border-radius: 20px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: capitalize !important;
  background: #f3f4f6 !important;
  color: #6b7280 !important;
}

/* Status colors for header badge */
body.woocommerce-account .pds-order-header__status--pending {
  background: #fef3c7 !important;
  color: #d97706 !important;
}

body.woocommerce-account .pds-order-header__status--processing {
  background: #dbeafe !important;
  color: #2563eb !important;
}

body.woocommerce-account .pds-order-header__status--on-hold {
  background: #fef9c3 !important;
  color: #ca8a04 !important;
}

body.woocommerce-account .pds-order-header__status--completed {
  background: #d1fae5 !important;
  color: #059669 !important;
}

body.woocommerce-account .pds-order-header__status--cancelled {
  background: #fee2e2 !important;
  color: #dc2626 !important;
}

body.woocommerce-account .pds-order-header__status--failed {
  background: #fecaca !important;
  color: #b91c1c !important;
}

body.woocommerce-account .pds-order-header__status--refunded {
  background: #f3f4f6 !important;
  color: #6b7280 !important;
}

body.woocommerce-account .pds-order-header__meta {
  display: flex !important;
  align-items: center !important;
  gap: 24px !important;
  flex-wrap: wrap !important;
}

body.woocommerce-account .pds-order-header__meta-item {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 14px !important;
  color: #5a6a7a !important;
}

body.woocommerce-account .pds-order-header__meta-item svg {
  color: #9ca3af !important;
  flex-shrink: 0 !important;
}

body.woocommerce-account .pds-order-header__label {
  font-weight: 500 !important;
  color: #5a6a7a !important;
}

body.woocommerce-account .pds-order-header__value {
  font-weight: 600 !important;
  color: #04102a !important;
}

/* Hide the default order summary paragraph when using new header */
body.woocommerce-account .pds-order-header + .pds-account-content-inner > .woocommerce-order-details ~ p:first-of-type,
body.woocommerce-account .pds-order-header ~ .pds-account-content-inner > p:first-of-type {
  display: none !important;
}

/* Order summary paragraph (for non-order pages) */
body.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type {
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: #5a6a7a !important;
  background: #f8fafb !important;
  padding: 16px 20px !important;
  border-radius: 10px !important;
  border: 1px solid #e5e7eb !important;
  margin: 20px 0 !important;
}

/* Order summary marks styling */
body.woocommerce-account mark.order-number,
body.woocommerce-account mark.order-date,
body.woocommerce-account mark.order-status {
  background: none !important;
  font-weight: 600 !important;
}

body.woocommerce-account mark.order-number {
  color: #148a94 !important;
}

body.woocommerce-account mark.order-date {
  color: #04102a !important;
}

body.woocommerce-account mark.order-status {
  display: inline-block !important;
  padding: 3px 10px !important;
  border-radius: 20px !important;
  font-size: 12px !important;
  text-transform: capitalize !important;
  background: #f3f4f6 !important;
  color: #6b7280 !important;
}

/* Pending payment - Orange/Amber */
body.woocommerce-account mark.order-status--pending {
  background: #fef3c7 !important;
  color: #d97706 !important;
}

/* Processing - Blue */
body.woocommerce-account mark.order-status--processing {
  background: #dbeafe !important;
  color: #2563eb !important;
}

/* On-hold - Yellow */
body.woocommerce-account mark.order-status--on-hold {
  background: #fef9c3 !important;
  color: #ca8a04 !important;
}

/* Completed - Green */
body.woocommerce-account mark.order-status--completed {
  background: #d1fae5 !important;
  color: #059669 !important;
}

/* Cancelled - Red */
body.woocommerce-account mark.order-status--cancelled {
  background: #fee2e2 !important;
  color: #dc2626 !important;
}

/* Failed - Dark Red */
body.woocommerce-account mark.order-status--failed {
  background: #fecaca !important;
  color: #b91c1c !important;
}

/* Refunded - Gray */
body.woocommerce-account mark.order-status--refunded {
  background: #f3f4f6 !important;
  color: #6b7280 !important;
}

/* =========================================================
   Section Titles - Professional Styling
   ========================================================= */

/* Unified section title style - All section headers */
body.woocommerce-account .woocommerce-order-details__title,
body.woocommerce-account .woocommerce-customer-details .woocommerce-column__title,
body.woocommerce-account .pds-payment-details__title,
body.woocommerce-account .woocommerce-Address-title h2,
body.woocommerce-account .woocommerce-EditAccountForm fieldset legend,
body.woocommerce-account .woocommerce-address-fields fieldset legend,
body.woocommerce-account .woocommerce-MyAccount-content h2:has(+ .woocommerce-OrderUpdates),
body.woocommerce-account .pds-account-content-inner > h2 {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #04102a !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  margin: 0 0 16px !important;
  padding: 0 0 12px 0 !important;
  border-bottom: none !important;
  position: relative !important;
}

/* Accent line under title */
body.woocommerce-account .woocommerce-order-details__title::after,
body.woocommerce-account .woocommerce-customer-details .woocommerce-column__title::after,
body.woocommerce-account .pds-payment-details__title::after,
body.woocommerce-account .woocommerce-Address-title h2::after,
body.woocommerce-account .woocommerce-EditAccountForm fieldset legend::after,
body.woocommerce-account .woocommerce-address-fields fieldset legend::after,
body.woocommerce-account .woocommerce-MyAccount-content h2:has(+ .woocommerce-OrderUpdates)::after,
body.woocommerce-account .pds-account-content-inner > h2::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 40px !important;
  height: 3px !important;
  background: linear-gradient(to right, #148a94, #0a6670) !important;
  border-radius: 2px !important;
}

/* Icon before title */
body.woocommerce-account .woocommerce-order-details__title::before,
body.woocommerce-account .pds-payment-details__title::before,
body.woocommerce-account .woocommerce-EditAccountForm fieldset legend::before,
body.woocommerce-account .woocommerce-MyAccount-content h2:has(+ .woocommerce-OrderUpdates)::before,
body.woocommerce-account .pds-account-content-inner > h2::before {
  content: '' !important;
  width: 20px !important;
  height: 20px !important;
  flex-shrink: 0 !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
}

/* Order Details icon */
body.woocommerce-account .woocommerce-order-details__title::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231fa3ad' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E") !important;
}

/* Payment Details icon */
body.woocommerce-account .pds-payment-details__title::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231fa3ad' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='1' y='4' width='22' height='16' rx='2' ry='2'/%3E%3Cline x1='1' y1='10' x2='23' y2='10'/%3E%3C/svg%3E") !important;
}

/* Password change icon */
body.woocommerce-account .woocommerce-EditAccountForm fieldset legend::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231fa3ad' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2' ry='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E") !important;
}

/* Order updates icon (bell/notification icon) */
body.woocommerce-account .woocommerce-MyAccount-content h2:has(+ .woocommerce-OrderUpdates)::before,
body.woocommerce-account .pds-account-content-inner > h2::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231fa3ad' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9'/%3E%3Cpath d='M13.73 21a2 2 0 0 1-3.46 0'/%3E%3C/svg%3E") !important;
}

/* Billing/Shipping address icons (customer details on view-order) */
body.woocommerce-account .woocommerce-customer-details .woocommerce-column--billing-address .woocommerce-column__title::before {
  content: '' !important;
  width: 18px !important;
  height: 18px !important;
  flex-shrink: 0 !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231fa3ad' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E") !important;
}

body.woocommerce-account .woocommerce-customer-details .woocommerce-column--shipping-address .woocommerce-column__title::before {
  content: '' !important;
  width: 18px !important;
  height: 18px !important;
  flex-shrink: 0 !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231fa3ad' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='1' y='3' width='15' height='13' rx='2' ry='2'/%3E%3Cpath d='M16 8h4l3 3v5a2 2 0 0 1-2 2h-1'/%3E%3Ccircle cx='5.5' cy='18.5' r='2.5'/%3E%3Ccircle cx='18.5' cy='18.5' r='2.5'/%3E%3C/svg%3E") !important;
}

/* =========================================================
   Addresses Page Styling
   ========================================================= */

/* Addresses container */
body.woocommerce-account .woocommerce-Addresses,
body.woocommerce-account .u-columns.addresses {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 24px !important;
  margin-top: 20px !important;
}

/* Individual address card */
body.woocommerce-account .u-columns .woocommerce-Address,
body.woocommerce-account .addresses .woocommerce-Address {
  background: #f8fafb !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 12px !important;
  padding: 20px !important;
  width: auto !important;
  float: none !important;
}

/* Address title header */
body.woocommerce-account .woocommerce-Address-title {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 16px !important;
}

body.woocommerce-account .woocommerce-Address-title h2 {
  margin: 0 !important;
  padding-bottom: 0 !important;
}

body.woocommerce-account .woocommerce-Address-title h2::after {
  display: none !important;
}

/* Add icon before address titles */
body.woocommerce-account .woocommerce-Address-title h2::before {
  content: '' !important;
  width: 18px !important;
  height: 18px !important;
  flex-shrink: 0 !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
}

/* Billing address icon on addresses page */
body.woocommerce-account .col-1 .woocommerce-Address-title h2::before,
body.woocommerce-account .u-column1 .woocommerce-Address-title h2::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231fa3ad' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E") !important;
}

/* Shipping address icon on addresses page */
body.woocommerce-account .col-2 .woocommerce-Address-title h2::before,
body.woocommerce-account .u-column2 .woocommerce-Address-title h2::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231fa3ad' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='1' y='3' width='15' height='13' rx='2' ry='2'/%3E%3Cpath d='M16 8h4l3 3v5a2 2 0 0 1-2 2h-1'/%3E%3Ccircle cx='5.5' cy='18.5' r='2.5'/%3E%3Ccircle cx='18.5' cy='18.5' r='2.5'/%3E%3C/svg%3E") !important;
}

/* Edit link styling */
body.woocommerce-account .woocommerce-Address-title a.edit {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #148a94 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  transition: color 0.2s ease !important;
}

body.woocommerce-account .woocommerce-Address-title a.edit:hover {
  color: #0a6670 !important;
  text-decoration: underline !important;
}

/* Address content */
body.woocommerce-account .woocommerce-Address address,
body.woocommerce-account .addresses address {
  font-style: normal !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  color: #5a6a7a !important;
}

/* =========================================================
   Edit Account Form Styling
   ========================================================= */

/* Fieldset reset */
body.woocommerce-account .woocommerce-EditAccountForm fieldset {
  border: none !important;
  padding: 0 !important;
  margin: 32px 0 0 !important;
}

body.woocommerce-account .woocommerce-EditAccountForm fieldset legend {
  width: 100% !important;
  float: none !important;
}

/* Form description text */
body.woocommerce-account .woocommerce-MyAccount-content > p:not(:first-of-type) {
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: #5a6a7a !important;
  margin: 0 0 20px !important;
}

/* =========================================================
   Edit Address Form Styling
   ========================================================= */

body.woocommerce-account .woocommerce-address-fields {
  margin-top: 20px !important;
}

body.woocommerce-account .woocommerce-address-fields fieldset {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* =========================================================
   Downloads Table Styling
   ========================================================= */

body.woocommerce-account .woocommerce-table--order-downloads {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  margin-top: 20px !important;
}

body.woocommerce-account .woocommerce-table--order-downloads thead th {
  background: linear-gradient(to bottom, #f8fafb, #f1f5f7) !important;
  padding: 14px 18px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #5a6a7a !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  border-bottom: 1px solid #e5e7eb !important;
  text-align: left !important;
}

body.woocommerce-account .woocommerce-table--order-downloads tbody td {
  padding: 16px 18px !important;
  border-bottom: 1px solid #f0f2f5 !important;
  vertical-align: middle !important;
  color: #04102a !important;
  font-size: 14px !important;
}

body.woocommerce-account .woocommerce-table--order-downloads tbody tr:last-child td {
  border-bottom: none !important;
}

/* =========================================================
   Payment Methods Table Styling
   ========================================================= */

body.woocommerce-account .woocommerce-MyAccount-paymentMethods {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  margin-top: 20px !important;
}

body.woocommerce-account .woocommerce-MyAccount-paymentMethods thead th {
  background: linear-gradient(to bottom, #f8fafb, #f1f5f7) !important;
  padding: 14px 18px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #5a6a7a !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  border-bottom: 1px solid #e5e7eb !important;
  text-align: left !important;
}

body.woocommerce-account .woocommerce-MyAccount-paymentMethods tbody td {
  padding: 16px 18px !important;
  border-bottom: 1px solid #f0f2f5 !important;
  vertical-align: middle !important;
  color: #04102a !important;
  font-size: 14px !important;
}

body.woocommerce-account .woocommerce-MyAccount-paymentMethods tbody tr:last-child td {
  border-bottom: none !important;
}

/* Order details section */
body.woocommerce-account .woocommerce-order-details {
  margin-top: 28px !important;
}

/* Order details table */
body.woocommerce-account .woocommerce-table--order-details {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}

body.woocommerce-account .woocommerce-table--order-details thead th {
  background: linear-gradient(to bottom, #f8fafb, #f1f5f7) !important;
  padding: 14px 18px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #5a6a7a !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  border-bottom: 1px solid #e5e7eb !important;
  text-align: left !important;
}

body.woocommerce-account .woocommerce-table--order-details tbody td {
  padding: 16px 18px !important;
  border-bottom: 1px solid #f0f2f5 !important;
  vertical-align: top !important;
  color: #04102a !important;
  font-size: 14px !important;
}

body.woocommerce-account .woocommerce-table--order-details tbody tr:last-child td {
  border-bottom: none !important;
}

body.woocommerce-account .woocommerce-table--order-details .product-name {
  font-weight: 600 !important;
}

body.woocommerce-account .woocommerce-table--order-details .product-name a {
  color: #0a6670 !important;
  text-decoration: none !important;
}

body.woocommerce-account .woocommerce-table--order-details .product-name a:hover {
  color: #0d5c63 !important;
  text-decoration: underline !important;
}

body.woocommerce-account .woocommerce-table--order-details .product-quantity {
  color: #5a6a7a !important;
  font-weight: 500 !important;
}

/* Price column */
body.woocommerce-account .woocommerce-table--order-details .product-price {
  text-align: center !important;
  color: #5a6a7a !important;
  font-size: 14px !important;
  white-space: nowrap !important;
}

body.woocommerce-account .woocommerce-table--order-details thead .product-price {
  text-align: center !important;
}

/* Qty column */
body.woocommerce-account .woocommerce-table--order-details .product-qty {
  text-align: center !important;
  font-weight: 600 !important;
  color: #04102a !important;
  white-space: nowrap !important;
}

body.woocommerce-account .woocommerce-table--order-details thead .product-qty {
  text-align: center !important;
}

/* Total column */
body.woocommerce-account .woocommerce-table--order-details .product-total {
  text-align: right !important;
  font-weight: 600 !important;
  color: #04102a !important;
  white-space: nowrap !important;
}

body.woocommerce-account .woocommerce-table--order-details thead .product-total {
  text-align: right !important;
}

/* Order totals in tfoot */
body.woocommerce-account .woocommerce-table--order-details tfoot th,
body.woocommerce-account .woocommerce-table--order-details tfoot td {
  padding: 12px 18px !important;
  border-top: 1px solid #f0f2f5 !important;
  font-size: 14px !important;
}

body.woocommerce-account .woocommerce-table--order-details tfoot th {
  font-weight: 600 !important;
  color: #5a6a7a !important;
  text-align: left !important;
  background: transparent !important;
}

body.woocommerce-account .woocommerce-table--order-details tfoot td {
  font-weight: 600 !important;
  color: #04102a !important;
  text-align: right !important;
}

/* Order total row - emphasized */
body.woocommerce-account .woocommerce-table--order-details tfoot tr:last-child th,
body.woocommerce-account .woocommerce-table--order-details tfoot tr:last-child td {
  font-size: 16px !important;
  font-weight: 700 !important;
  background: #f8fafb !important;
  border-top: 2px solid #e5e7eb !important;
}

/* Order updates / notes section */
body.woocommerce-account .woocommerce-OrderUpdates {
  list-style: none !important;
  margin: 24px 0 !important;
  padding: 0 !important;
}

body.woocommerce-account .woocommerce-OrderUpdate {
  background: #f8fafb !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 10px !important;
  padding: 16px 20px !important;
  margin-bottom: 12px !important;
}

body.woocommerce-account .woocommerce-OrderUpdate:last-child {
  margin-bottom: 0 !important;
}

body.woocommerce-account .woocommerce-OrderUpdate-meta {
  font-size: 12px !important;
  color: #5a6a7a !important;
  margin-bottom: 8px !important;
}

body.woocommerce-account .woocommerce-OrderUpdate-description {
  font-size: 14px !important;
  color: #04102a !important;
  line-height: 1.6 !important;
}

body.woocommerce-account .woocommerce-OrderUpdate-description p:last-child {
  margin-bottom: 0 !important;
}

/* Customer details section */
body.woocommerce-account .woocommerce-customer-details {
  margin-top: 32px !important;
}

body.woocommerce-account .woocommerce-customer-details .woocommerce-columns {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 20px !important;
}

body.woocommerce-account .woocommerce-customer-details .woocommerce-column {
  background: #f8fafb !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 12px !important;
  padding: 20px !important;
}

body.woocommerce-account .woocommerce-customer-details address {
  font-style: normal !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  color: #5a6a7a !important;
}

body.woocommerce-account .woocommerce-customer-details address p {
  margin: 0 !important;
}

/* Action buttons in order details */
body.woocommerce-account .woocommerce-order-details .order-actions-button {
  display: inline-block !important;
  padding: 8px 16px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  background: linear-gradient(to bottom, #148a94, #0a6670) !important;
  color: #fff !important;
  border: none !important;
  margin-right: 8px !important;
  transition: all 0.2s ease !important;
}

body.woocommerce-account .woocommerce-order-details .order-actions-button:hover {
  background: linear-gradient(to bottom, #0a6670, #084f58) !important;
  transform: translateY(-1px) !important;
}

/* Payment Details section */
body.woocommerce-account .pds-payment-details {
  margin-top: 28px !important;
}

body.woocommerce-account .pds-payment-details__content {
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}

body.woocommerce-account .pds-payment-details__row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 14px 18px !important;
  border-bottom: 1px solid #f0f2f5 !important;
}

body.woocommerce-account .pds-payment-details__row:last-child {
  border-bottom: none !important;
}

body.woocommerce-account .pds-payment-details__label {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #5a6a7a !important;
}

body.woocommerce-account .pds-payment-details__value {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #04102a !important;
}

/* No orders message */
body.woocommerce-account .woocommerce-message,
body.woocommerce-account .woocommerce-info {
  padding: 20px !important;
  background: #f8f9fa !important;
  border: 1px solid #e9ecef !important;
  border-radius: 12px !important;
  color: #5a6a7a !important;
  font-size: 14px !important;
  margin: 0 !important;
}

body.woocommerce-account .woocommerce-message::before,
body.woocommerce-account .woocommerce-info::before {
  color: #148a94 !important;
}

/* Address cards */
body.woocommerce-account .woocommerce-Addresses {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 20px !important;
}

body.woocommerce-account .woocommerce-Address {
  background: #f8f9fa !important;
  border-radius: 12px !important;
  padding: 20px !important;
  border: 1px solid #e9ecef !important;
}

body.woocommerce-account .woocommerce-Address-title h3 {
  margin: 0 0 12px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #04102a !important;
}

body.woocommerce-account .woocommerce-Address-title a {
  font-size: 13px !important;
  color: #148a94 !important;
  text-decoration: none !important;
}

body.woocommerce-account .woocommerce-Address-title a:hover {
  text-decoration: underline !important;
}

body.woocommerce-account address {
  font-style: normal !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: #5a6a7a !important;
}

/* Login / Register page: remove spacing from header and content wrapper */
body.pds-is-login div#content {
  margin-top: 0 !important;
  padding: 0 !important;
}
body.pds-is-login header#pds-header {
  margin-bottom: 0 !important;
}

/* =========================
   Login Page: full-width two-column layout (light theme)
   ========================= */
.pds-login-page {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: calc(100vh - 80px);
  position: relative;
}

.pds-login-or {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 2;
  gap: 8px;
}

.pds-login-or__label {
  font-size: 12px;
  font-weight: 700;
  color: #0f6e76;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.pds-login-or__label--mobile {
  display: none;
  text-decoration: none !important;
  cursor: pointer;
}

.pds-login-page {
  scroll-behavior: smooth;
}

.pds-login-or span {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid #e2ecee;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 600;
  color: #5a6a7a;
  text-transform: uppercase;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

/* Left column: light background with subtle pattern */
.pds-login-info {
  background-image: url('https://static.vecteezy.com/system/resources/previews/005/173/023/non_2x/dental-equipment-dental-chair-examination-form-instruments-for-examination-treatment-prosthetics-tooth-extraction-implants-braces-background-with-icons-of-the-dental-clinic-seamless-pattern-vector.jpg');
  background-size: cover;
  background-position: center;
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 30px 48px;
  color: #04102a;
}

.pds-login-info::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(240, 247, 248, 0.82) 0%, rgba(255, 255, 255, 0.9) 50%, rgba(255, 255, 255, 1) 100%);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  pointer-events: none;
}

.pds-login-info__inner {
  position: relative;
  z-index: 1;
  max-width: 420px;
  margin: 0 auto;
}

.pds-login-info__title {
  font-size: 28px;
  font-weight: 700;
  margin: 0 0 10px;
  color: #04102a;
  line-height: 1.3;
  text-shadow: 0 1px 6px rgba(20, 138, 148, 0.3);
}

.pds-login-info__subtitle {
  font-size: 15px;
  margin: 0 0 16px;
  line-height: 1.6;
  color: #5a6a7a;
  text-shadow: 0 1px 4px rgba(20, 138, 148, 0.25);
}

#pds-show-register-top {
  display: block;
  width: 100%;
  padding: 10px 40px;
  text-align: center;
  background: linear-gradient(135deg, #1a9aa3, #0f6e76);
  color: #fff !important;
  font-weight: 700;
  font-size: 16px;
  border-radius: 10px;
  text-decoration: none !important;
  transition: all 0.2s ease;
  box-shadow: 0 4px 14px rgba(15, 110, 118, 0.4);
  margin-bottom: 16px;
  letter-spacing: 0.5px;
}

#pds-show-register-top:hover {
  background: linear-gradient(135deg, #158a92, #0b5960);
  box-shadow: 0 6px 20px rgba(15, 110, 118, 0.5);
  transform: translateY(-1px);
}

.pds-login-info__benefits {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.pds-login-info__benefits li {
  display: flex;
  align-items: center;
  gap: 16px;
  background: #fff;
  padding: 16px 20px;
  border-radius: 12px;
  border: 1px solid #e2ecee;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

.pds-login-info__benefits li svg {
  flex-shrink: 0;
  color: #148a94;
}

.pds-login-info__benefits li strong {
  display: block;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 2px;
  color: #04102a;
}

.pds-login-info__benefits li span {
  font-size: 13px;
  color: #5a6a7a;
  line-height: 1.4;
}

.pds-login-info__register {
  position: relative;
  z-index: 1;
  margin-top: 36px;
  padding-top: 24px;
  border-top: 1px solid #d4e5e8;
}

.pds-login-info__register p {
  font-size: 14px;
  margin: 0 0 14px;
  color: #5a6a7a;
}

.pds-login-info__register-btn {
  display: inline-block;
  padding: 12px 32px;
  background: linear-gradient(135deg, #1a9aa3, #0f6e76);
  color: #fff !important;
  font-weight: 600;
  font-size: 14px;
  border-radius: 10px;
  text-decoration: none !important;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(15, 110, 118, 0.3);
}

.pds-login-info__register-btn:hover {
  background: linear-gradient(135deg, #158a92, #0b5960);
  box-shadow: 0 4px 12px rgba(15, 110, 118, 0.4);
}

/* Right column: form */
.pds-login-form-col {
  padding: 30px 48px;
  background: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.pds-login-form-card {
  width: 100%;
  max-width: 400px;
}

.pds-login-form__title {
  font-size: 26px;
  font-weight: 700;
  color: #04102a;
  margin: 0 0 6px;
}

.pds-login-form__subtitle {
  font-size: 14px;
  color: #5a6a7a;
  margin: 0 0 28px;
}

.pds-login-page .woocommerce-form-row label {
  display: block !important;
  margin-bottom: 6px !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  color: #04102a !important;
}

.pds-login-page .woocommerce-form-row input[type="text"],
.pds-login-page .woocommerce-form-row input[type="email"],
.pds-login-page .woocommerce-form-row input[type="password"] {
  width: 100% !important;
  padding: 12px 14px !important;
  font-size: 14px !important;
  border: 1px solid #ddd !important;
  border-radius: 10px !important;
  background: #fff !important;
  transition: border-color 0.2s ease !important;
}

.pds-login-page .woocommerce-form-row input:focus {
  outline: none !important;
  border-color: #148a94 !important;
}

.pds-login-page .woocommerce-form-login__submit,
.pds-login-page .woocommerce-form-register__submit {
  width: 100% !important;
  padding: 14px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  border: none !important;
  border-radius: 10px !important;
  background: linear-gradient(135deg, #1a9aa3, #0f6e76) !important;
  color: #fff !important;
  cursor: pointer;
  transition: all 0.2s ease !important;
  margin-top: 8px;
  box-shadow: 0 2px 8px rgba(15, 110, 118, 0.25);
}

.pds-login-page .woocommerce-form-login__submit:hover,
.pds-login-page .woocommerce-form-register__submit:hover {
  background: linear-gradient(135deg, #158a92, #0b5960) !important;
  box-shadow: 0 4px 12px rgba(15, 110, 118, 0.4) !important;
}

.pds-login-actions {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 4px !important;
}

.pds-lost-password {
  font-size: 13px;
  color: #148a94 !important;
  text-decoration: none !important;
}

.pds-lost-password:hover {
  text-decoration: underline !important;
}

.pds-login-page .woocommerce-LostPassword {
  display: none;
}

.pds-back-to-login {
  text-align: center;
  margin-top: 16px;
}

.pds-back-to-login a {
  font-size: 13px;
  color: #148a94 !important;
  text-decoration: none !important;
}

.pds-back-to-login a:hover {
  text-decoration: underline !important;
}

/* =========================================================
 * Lost Password Page (centered layout)
 * ========================================================= */
.pds-lost-password-page {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: calc(100vh - 80px);
  padding: 20px 0;
  background-image: url('https://static.vecteezy.com/system/resources/previews/005/173/023/non_2x/dental-equipment-dental-chair-examination-form-instruments-for-examination-treatment-prosthetics-tooth-extraction-implants-braces-background-with-icons-of-the-dental-clinic-seamless-pattern-vector.jpg');
  background-size: cover;
  background-position: center;
  position: relative;
}

.pds-lost-password-page::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(240, 247, 248, 0.82) 0%, rgba(255, 255, 255, 0.9) 50%, rgba(255, 255, 255, 1) 100%);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  pointer-events: none;
}

.pds-lost-password-card {
  position: relative;
  z-index: 1;
}

body:has(.pds-lost-password-page) #content.site-content {
  margin-top: 0 !important;
  padding: 0 !important;
}

body:has(.pds-lost-password-page) header#pds-header {
  margin: 0;
}

.pds-lost-password-card {
  width: 100%;
  max-width: 440px;
  background: #fff;
  border-radius: 16px;
  padding: 48px 40px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
  text-align: center;
}

.pds-lost-password-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: #f0f7f8;
  color: #148a94;
  margin-bottom: 24px;
}

.pds-lost-password-card__title {
  font-size: 24px;
  font-weight: 700;
  color: #04102a;
  margin: 0 0 8px;
}

.pds-lost-password-card__subtitle {
  font-size: 14px;
  color: #666;
  margin: 0 0 28px;
  line-height: 1.5;
}

.pds-lost-password-card .woocommerce-form-row {
  text-align: left;
  margin-bottom: 16px !important;
}

.pds-lost-password-card .woocommerce-form-row label {
  display: block !important;
  margin-bottom: 6px !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  color: #333 !important;
}

.pds-lost-password-card .woocommerce-form-row input[type="text"],
.pds-lost-password-card .woocommerce-form-row input[type="password"] {
  width: 100% !important;
  padding: 12px 14px !important;
  border: 1px solid #ddd !important;
  border-radius: 10px !important;
  font-size: 15px !important;
  transition: border-color 0.2s !important;
  box-sizing: border-box !important;
}

.pds-lost-password-card .woocommerce-form-row input[type="text"]:focus,
.pds-lost-password-card .woocommerce-form-row input[type="password"]:focus {
  border-color: #148a94 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(20, 138, 148, 0.1) !important;
}

.pds-lost-password-card .woocommerce-Button,
.pds-lost-password-card button[type="submit"] {
  width: 100% !important;
  padding: 14px !important;
  background: linear-gradient(to bottom, #148a94, #0a6670) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
}

.pds-lost-password-card .woocommerce-Button:hover,
.pds-lost-password-card button[type="submit"]:hover {
  background: linear-gradient(to bottom, #0a6670, #084f58) !important;
}

.pds-lost-password-card__back {
  margin-top: 24px;
  margin-bottom: 0;
}

.pds-lost-password-card__back a {
  font-size: 14px;
  color: #148a94 !important;
  text-decoration: none !important;
}

.pds-lost-password-card__back a:hover {
  text-decoration: underline !important;
}

.pds-lost-password-card .woocommerce-message,
.pds-lost-password-card .woocommerce-info {
  text-align: left;
  border-radius: 10px;
  margin-bottom: 20px;
  font-size: 14px;
}

.pds-lost-password-card .woocommerce-error {
  text-align: left;
  border-radius: 10px;
  margin-bottom: 20px;
  font-size: 14px;
  color: #c00;
}

/* Full card loading overlay */
.pds-lost-password-card {
  position: relative;
}

.pds-lost-password-card.pds-lp-card-loading::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.85);
  border-radius: 16px;
  z-index: 10;
  animation: pds-lp-overlay-in 0.3s ease-out;
}

.pds-lost-password-card.pds-lp-card-loading::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 36px;
  height: 36px;
  margin: -18px 0 0 -18px;
  border: 3px solid rgba(20, 138, 148, 0.2);
  border-top-color: #148a94;
  border-radius: 50%;
  z-index: 11;
  animation: pds-lp-spin 0.6s linear infinite;
}

@keyframes pds-lp-spin {
  to { transform: rotate(360deg); }
}

@keyframes pds-lp-overlay-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* Fade-in animation for success state */
.pds-lp-fadein {
  animation: pds-lp-fadeup 0.5s ease-out both;
}

@keyframes pds-lp-fadeup {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Success icon */
.pds-lost-password-card__icon--success {
  background: #e8f8f0;
  color: #22c55e;
}

.pds-lost-password-card__icon--success .pds-checkmark {
  stroke-dasharray: 20;
  stroke-dashoffset: 20;
  animation: pds-lp-check 0.4s ease-out 0.3s forwards;
}

@keyframes pds-lp-check {
  to { stroke-dashoffset: 0; }
}

@media (max-width: 768px) {
  .pds-lost-password-page {
    min-height: auto;
    padding: 8px 16px 24px;
    align-items: flex-start;
  }
  .pds-lost-password-card {
    max-width: 90%;
  }
}

@media (max-width: 480px) {
  .pds-lost-password-card {
    padding: 32px 24px;
  }
}

/* Mobile: stack columns */
@media (max-width: 768px) {
  .pds-login-page {
    grid-template-columns: 1fr;
  }

  .pds-login-form-col {
    order: 1;
    padding: 36px 24px;
  }

  .pds-login-or {
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    order: 2;
    margin: 0;
    flex-direction: row;
    gap: 16px;
    padding: 20px 0;
  }

  .pds-login-or span {
    width: 54px;
    height: 54px;
    font-size: 15px;
  }

  .pds-login-or__label--desktop {
    display: none;
  }

  .pds-login-or__label--mobile {
    display: block;
    font-size: 14px;
  }

  .pds-login-info {
    order: 3;
    padding: 36px 24px;
  }

  .pds-login-info::before {
    background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(240, 247, 248, 0.82) 5%, rgba(240, 247, 248, 0.82) 85%, rgba(255, 255, 255, 1) 100%) !important;
  }

  .pds-login-info__title {
    font-size: 22px;
  }
}

/* Form styling */
body.woocommerce-account .woocommerce-EditAccountForm,
body.woocommerce-account .woocommerce-address-fields {
  max-width: 100% !important;
}

body.woocommerce-account .woocommerce-form-row,
body.woocommerce-account .form-row {
  margin-bottom: 20px !important;
}

body.woocommerce-account .woocommerce-form-row label,
body.woocommerce-account .form-row label {
  display: block !important;
  margin-bottom: 6px !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  color: #04102a !important;
}

body.woocommerce-account .woocommerce-form-row input[type="text"],
body.woocommerce-account .woocommerce-form-row input[type="email"],
body.woocommerce-account .woocommerce-form-row input[type="password"],
body.woocommerce-account .woocommerce-form-row input[type="tel"],
body.woocommerce-account .woocommerce-form-row select,
body.woocommerce-account .form-row input[type="text"],
body.woocommerce-account .form-row input[type="email"],
body.woocommerce-account .form-row input[type="password"],
body.woocommerce-account .form-row input[type="tel"],
body.woocommerce-account .form-row select {
  width: 100% !important;
  padding: 12px 14px !important;
  font-size: 14px !important;
  border: 1px solid #ddd !important;
  border-radius: 10px !important;
  transition: border-color 0.2s ease !important;
  background: #fff !important;
}

body.woocommerce-account .woocommerce-form-row input:focus,
body.woocommerce-account .woocommerce-form-row select:focus,
body.woocommerce-account .form-row input:focus,
body.woocommerce-account .form-row select:focus {
  outline: none !important;
  border-color: #148a94 !important;
}

/* Buttons */
body.woocommerce-account .woocommerce button[type="submit"],
body.woocommerce-account .woocommerce .woocommerce-Button,
body.woocommerce-account .woocommerce .button {
  display: inline-block !important;
  padding: 14px 28px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  border: none !important;
  border-radius: 10px !important;
  background: linear-gradient(to bottom, #148a94, #0a6670) !important;
  color: #fff !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
}

body.woocommerce-account .woocommerce button[type="submit"]:hover,
body.woocommerce-account .woocommerce .woocommerce-Button:hover,
body.woocommerce-account .woocommerce .button:hover {
  background: linear-gradient(to bottom, #0a6670, #084f58) !important;
}

/* Mobile responsive */
@media (max-width: 768px) {
  /* Stack layout vertically on mobile */
  .woocommerce-account .woocommerce,
  body.woocommerce-account .woocommerce,
  body.woocommerce-account .site-main .woocommerce,
  body.woocommerce-account .entry-content .woocommerce {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    padding: 0 16px !important;
  }

  /* Horizontal wrapping navigation */
  body.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation,
  body.woocommerce-account .woocommerce-MyAccount-navigation,
  body.woocommerce-account nav.woocommerce-MyAccount-navigation {
    position: relative !important;
    top: 0 !important;
    border-radius: 12px !important;
    padding: 8px !important;
    margin-bottom: 16px !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 6px !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation a {
    padding: 8px 14px !important;
    font-size: 13px !important;
    white-space: nowrap !important;
    border-radius: 8px !important;
    background: #e8f4f5 !important;
    color: #04102a !important;
    border: 1px solid #d4e5e8 !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
    background: #daeef0 !important;
  }

  /* Active state keeps teal */
  body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
    background: #0a6670 !important;
    color: #fff !important;
    border-color: #0a6670 !important;
  }

  /* Hide icons on mobile nav to save space */
  body.woocommerce-account .woocommerce-MyAccount-navigation a::before {
    display: none !important;
  }

  /* Logout link - remove top border in horizontal layout */
  body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout {
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: none !important;
    border-left: 1px solid #eee !important;
    padding-left: 4px !important;
  }

  /* Content area full width */
  body.woocommerce-account .woocommerce-MyAccount-content {
    width: 100% !important;
    min-width: 0 !important;
  }

  .pds-account-title {
    font-size: 22px !important;
  }

  .pds-account-header {
    margin-bottom: 16px !important;
  }

  /* Addresses single column */
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses {
    grid-template-columns: 1fr !important;
  }

  /* Orders table responsive — stacked card layout */
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table {
    display: block !important;
    border: none !important;
    background: transparent !important;
    overflow: visible !important;
  }

  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table thead {
    display: none !important;
  }

  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table tbody {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }

  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table tbody tr {
    display: flex !important;
    flex-wrap: wrap !important;
    background: #fff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 12px !important;
    padding: 16px !important;
    gap: 4px 16px !important;
    align-items: center !important;
  }

  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table td {
    display: inline-flex !important;
    align-items: center !important;
    padding: 0 !important;
    border-bottom: none !important;
    white-space: normal !important;
  }

  /* Order number — full width, bold, top of card */
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-number {
    width: 100% !important;
    font-size: 15px !important;
    margin-bottom: 4px !important;
  }

  /* Date and status on one row */
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-date {
    font-size: 13px !important;
  }

  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-status {
    font-size: 12px !important;
  }

  /* Total — push right */
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-total {
    margin-left: auto !important;
    font-size: 15px !important;
    font-weight: 700 !important;
  }

  /* Actions — full width, bottom of card */
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions {
    width: 100% !important;
    margin-top: 8px !important;
    padding-top: 12px !important;
    border-top: 1px solid #f0f2f5 !important;
  }

  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions .button {
    width: 100% !important;
    text-align: center !important;
    padding: 10px 16px !important;
  }

  /* Order header mobile styles */
  body.woocommerce-account .pds-order-header__title {
    font-size: 22px !important;
  }

  body.woocommerce-account .pds-order-header__title-row {
    gap: 12px !important;
    margin-bottom: 12px !important;
  }

  body.woocommerce-account .pds-order-header__meta {
    gap: 16px !important;
  }

  body.woocommerce-account .pds-order-header__meta-item {
    font-size: 13px !important;
  }

  /* Order details table responsive */
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-table--order-details {
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  /* Edit account form fields full width */
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm .form-row-first,
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm .form-row-last {
    width: 100% !important;
    float: none !important;
  }
}

/* Smaller mobile screens */
@media (max-width: 480px) {
  body.woocommerce-account .woocommerce,
  body.woocommerce-account .site-main .woocommerce,
  body.woocommerce-account .entry-content .woocommerce {
    padding: 0 10px !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation a {
    padding: 7px 12px !important;
    font-size: 12px !important;
  }

  .pds-account-title {
    font-size: 18px !important;
  }

  /* Order header small mobile */
  body.woocommerce-account .pds-order-header__top {
    padding: 0 0 8px !important;
  }

  body.woocommerce-account .pds-order-header__back {
    font-size: 12px !important;
  }

  body.woocommerce-account .pds-order-header__title {
    font-size: 18px !important;
  }

  body.woocommerce-account .pds-order-header__title-row {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
  }

  body.woocommerce-account .pds-order-header__status {
    font-size: 11px !important;
    padding: 4px 10px !important;
  }

  body.woocommerce-account .pds-order-header__meta {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
  }

  body.woocommerce-account .pds-order-header__meta-item {
    font-size: 12px !important;
  }

  /* Orders table — smaller card padding */
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table tbody tr {
    padding: 12px !important;
  }
}

/* ==========================================================================
   ORDER PAY PAGE STYLES
   ========================================================================== */

/* Main container styling - Two column layout */
.woocommerce-order-pay #order_review {
  width: 100%;
}

/* Two-column layout wrapper */
.pds-order-pay-wrapper {
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 24px;
  align-items: start;
}

.pds-order-pay-left {
  width: 100%;
}

/* Make order table sticky on desktop when scrolling */
@media (min-width: 1024px) {
  .pds-order-pay-left {
    position: sticky;
    top: 20px;
    align-self: flex-start;
  }
}

.pds-order-pay-right {
  width: 100%;
}

/* Order summary table container */
.woocommerce-order-pay #order_review .shop_table {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
  border: none;
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  border: 1px solid #e5e7eb;
  overflow: hidden;
}

.woocommerce-order-pay #order_review .shop_table thead {
  background: linear-gradient(135deg, #04102a 0%, #0a1a3a 100%);
}

.woocommerce-order-pay #order_review .shop_table thead th {
  color: #ffffff;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 14px 20px;
  border: none;
  text-align: left;
}

.woocommerce-order-pay #order_review .shop_table thead th.product-quantity,
.woocommerce-order-pay #order_review .shop_table thead th.product-total {
  text-align: center;
}

.woocommerce-order-pay #order_review .shop_table tbody tr {
  border-bottom: 1px solid #f3f4f6;
  transition: background-color 0.15s ease;
}

.woocommerce-order-pay #order_review .shop_table tbody tr:hover {
  background-color: #f9fafb;
}

.woocommerce-order-pay #order_review .shop_table tbody td {
  padding: 16px 20px;
  font-size: 14px;
  color: #374151;
  border: none;
  vertical-align: middle;
}

.woocommerce-order-pay #order_review .shop_table tbody td.product-name {
  font-weight: 500;
  color: #111827;
}

.woocommerce-order-pay #order_review .shop_table tbody td.product-quantity {
  text-align: center;
}

.woocommerce-order-pay #order_review .shop_table tbody td.product-quantity .product-quantity {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #f3f4f6;
  color: #374151;
  font-size: 13px;
  font-weight: 600;
  padding: 4px 12px;
  border-radius: 20px;
  min-width: 40px;
}

.woocommerce-order-pay #order_review .shop_table tbody td.product-subtotal {
  text-align: center;
  font-weight: 600;
  color: #111827;
}

/* Table footer - totals */
.woocommerce-order-pay #order_review .shop_table tfoot {
  background: #f9fafb;
  border-top: 2px solid #e5e7eb;
}

.woocommerce-order-pay #order_review .shop_table tfoot tr {
  border-bottom: 1px solid #e5e7eb;
}

.woocommerce-order-pay #order_review .shop_table tfoot tr:last-child {
  border-bottom: none;
  background: linear-gradient(135deg, #04102a 0%, #0a1a3a 100%);
}

.woocommerce-order-pay #order_review .shop_table tfoot th {
  padding: 12px 20px;
  font-size: 13px;
  font-weight: 600;
  color: #374151;
  text-align: right;
  border: none;
}

.woocommerce-order-pay #order_review .shop_table tfoot td {
  padding: 12px 20px;
  font-size: 14px;
  font-weight: 600;
  color: #111827;
  text-align: center;
  border: none;
}

.woocommerce-order-pay #order_review .shop_table tfoot tr:last-child th {
  color: #ffffff;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.woocommerce-order-pay #order_review .shop_table tfoot tr:last-child td {
  color: #ffffff;
  font-size: 18px;
  font-weight: 700;
}

/* Payment section - Right column card */
.woocommerce-order-pay #order_review #payment {
  padding: 0;
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  border: 1px solid #e5e7eb;
  position: sticky;
  top: 24px;
  overflow: hidden;
}

/* Payment section title */
.woocommerce-order-pay #order_review #payment::before {
  content: 'Payment';
  display: block;
  background: linear-gradient(135deg, #148a94 0%, #0a6670 100%);
  color: #ffffff;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 16px 18px;
  margin: 0 0 20px 0;
  border-radius: 12px 12px 0 0;
}

/* Payment intro text */
.pds-payment-intro {
  padding: 5px 24px;
  margin: 0 0 8px;
  font-size: 14px;
  color: #6b7280;
  line-height: 1.5;
}

.pds-payment-transaction-info {
  padding: 0 24px;
  margin: 0 0 16px;
  font-size: 11px;
  color: #6b7280;
  line-height: 1.5;
}

/* Payment methods list */
.woocommerce-order-pay #order_review ul.payment_methods {
  list-style: none !important;
  padding: 0 24px 0 24px !important;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.woocommerce-checkout #payment ul.payment_methods {
  border-bottom: none !important;
}

.woocommerce-checkout #payment div.form-row {
  padding-top: 0 !important;
}

.woocommerce-order-pay #order_review ul.payment_methods li {
  background: #f9fafb !important;
  border: none !important;
  border-radius: 8px;
  padding: 0;
  box-sizing: border-box;
}

.woocommerce-order-pay #order_review ul.payment_methods li input:checked ~ label {
  background: none !important;
}

.woocommerce-order-pay #order_review ul.payment_methods li label {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 12px !important;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  color: #111827;
  padding: 12px 16px;
}

.woocommerce-order-pay #order_review ul.payment_methods li label input[type="radio"] {
  order: -1 !important;
  flex-shrink: 0 !important;
  width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
  accent-color: #148a94;
  cursor: pointer;
}

.woocommerce-order-pay #order_review ul.payment_methods li label > :not(input):not(img) {
  flex: 0 1 auto !important;
  order: 0 !important;
}

.woocommerce-order-pay #order_review ul.payment_methods li label img {
  flex-shrink: 0 !important;
  order: 1 !important;
  max-height: 16px !important;
  max-width: 100% !important;
  width: auto !important;
  object-fit: contain !important;
  height: auto !important;
  margin-left: auto !important;
}

/* Hide Square payment gateway description text */
.woocommerce-order-pay #order_review .payment_box.payment_method_square_credit_card p:first-of-type {
  display: none !important;
}

/* Hide Payment Method row in order totals */
.woocommerce-order-pay .shop_table tfoot tr.payment_method {
  display: none !important;
}

/* Remove padding from form row */
.woocommerce-order-pay #order_review p.form-row.form-row-wide {
  padding: 0 !important;
}

/* Payment loading overlay */
.pds-payment-loading-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.95);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.pds-payment-loading-overlay.pds-hidden {
  opacity: 0;
  visibility: hidden;
}

.pds-payment-spinner {
  width: 40px;
  height: 40px;
  border: 3px solid #e5e7eb;
  border-top-color: #148a94;
  border-radius: 50%;
  animation: pds-spin 0.8s linear infinite;
}

@keyframes pds-spin {
  to { transform: rotate(360deg); }
}

#payment {
  position: relative;
}

/* Payment method description */
.woocommerce-order-pay #order_review .wc_payment_methods .payment_box {
  margin-top: 12px;
  padding: 0 !important;
  background: #ffffff;
  border-radius: 8px;
  border: none;
  font-size: 13px;
  color: #6b7280;
  line-height: 1.6;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}

/* Radio buttons and labels inside payment box */
.woocommerce-order-pay #order_review .wc_payment_methods .payment_box label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-direction: row !important;
}

.woocommerce-order-pay #order_review .wc_payment_methods .payment_box input[type="radio"] {
  width: auto !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}

/* Remove border from Square credit card fieldset */
fieldset#wc-square-credit-card-credit-card-form {
  border: none !important;
}

/* Payment box form elements */
.woocommerce-order-pay #order_review .wc_payment_methods .payment_box input,
.woocommerce-order-pay #order_review .wc_payment_methods .payment_box select,
.woocommerce-order-pay #order_review .wc_payment_methods .payment_box textarea {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.woocommerce-order-pay #order_review .wc_payment_methods .payment_box fieldset,
.woocommerce-order-pay #order_review .wc_payment_methods .payment_box .form-row {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.woocommerce-order-pay #order_review .wc_payment_methods .payment_box iframe,
.woocommerce-order-pay #order_review .wc_payment_methods .payment_box div {
  max-width: 100%;
  box-sizing: border-box;
}

/* Ensure all payment box children fit */
.woocommerce-order-pay #order_review .wc_payment_methods .payment_box * {
  max-width: 100%;
  box-sizing: border-box;
}

/* No payment methods notice */
.woocommerce-order-pay #order_review .wc_payment_methods .woocommerce-info,
.woocommerce-order-pay #order_review .wc_payment_methods .woocommerce-notice {
  margin: 0;
  padding: 16px;
  background: #fef3c7;
  border: 1px solid #fcd34d;
  border-radius: 8px;
  color: #92400e;
  font-size: 13px;
}

/* Form row - button area */
.woocommerce-order-pay #order_review .form-row {
  margin: 0;
  padding: 0 24px 24px 24px;
}

/* Terms checkbox */
.woocommerce-order-pay #order_review .woocommerce-terms-and-conditions-wrapper {
  margin-bottom: 20px;
}

.woocommerce-order-pay #order_review .woocommerce-terms-and-conditions-wrapper label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13px;
  color: #6b7280;
  line-height: 1.5;
}

.woocommerce-order-pay #order_review .woocommerce-terms-and-conditions-wrapper input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  accent-color: #148a94;
  flex-shrink: 0;
}

/* Submit button */
.woocommerce-order-pay #order_review #place_order {
  display: block;
  width: 100%;
  padding: 16px 32px;
  background: linear-gradient(135deg, #148a94 0%, #0a6670 100%);
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 4px 12px rgba(20, 138, 148, 0.3);
}

.woocommerce-order-pay #order_review #place_order:hover {
  background: linear-gradient(135deg, #0a6670 0%, #0d5f66 100%);
  box-shadow: 0 6px 16px rgba(20, 138, 148, 0.4);
  transform: translateY(-1px);
}

.woocommerce-order-pay #order_review #place_order:active {
  transform: translateY(0);
  box-shadow: 0 2px 8px rgba(20, 138, 148, 0.3);
}

/* Page title styling */
.woocommerce-order-pay .entry-title,
.woocommerce-order-pay h1.page-title {
  font-size: 28px;
  font-weight: 700;
  color: #04102a;
  padding-bottom: 20px !important;
  margin-bottom: 0 !important;
}

/* Order Pay Table Styling */
.woocommerce-order-pay #order_review .shop_table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  margin-bottom: 24px;
}

/* Table Header */
.woocommerce-order-pay #order_review .shop_table thead {
  background: linear-gradient(135deg, #148a94 0%, #0a6670 100%);
}

.woocommerce-order-pay #order_review .shop_table thead th {
  padding: 16px 18px;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #fff;
  text-align: left;
  border: none;
}

.woocommerce-order-pay #order_review .shop_table thead th:last-child {
  text-align: right;
}

/* Table Body */
.woocommerce-order-pay #order_review .shop_table tbody tr {
  border-bottom: 1px solid #e5e7eb;
  transition: background-color 0.2s ease;
}

.woocommerce-order-pay #order_review .shop_table tbody tr:hover {
  background-color: #f8f9fa;
}

.woocommerce-order-pay #order_review .shop_table tbody tr:last-child {
  border-bottom: none;
}

.woocommerce-order-pay #order_review .shop_table tbody td {
  padding: 16px 18px;
  font-size: 14px;
  color: #04102a;
  vertical-align: middle;
}

/* Product Name with Link */
.woocommerce-order-pay #order_review .shop_table tbody td.product-name a {
  color: #1e88c9;
  text-decoration: none;
  font-weight: 600;
  transition: color 0.2s ease;
}

.woocommerce-order-pay #order_review .shop_table tbody td.product-name a:hover {
  color: #148a94;
  text-decoration: underline;
}

/* Quantity Column */
.woocommerce-order-pay #order_review .shop_table tbody td.product-quantity {
  text-align: center;
}

.woocommerce-order-pay #order_review .shop_table tbody td.product-quantity .product-quantity {
  display: inline-block;
  background: #f8f9fa;
  color: #04102a;
  padding: 6px 14px;
  border-radius: 6px;
  font-weight: 700;
  font-size: 14px;
  border: 1px solid #e5e7eb;
}

/* Unit Price and Total Columns */
.woocommerce-order-pay #order_review .shop_table tbody td.product-unit-price,
.woocommerce-order-pay #order_review .shop_table tbody td.product-subtotal {
  text-align: right;
  font-weight: 600;
  color: #04102a;
}

.woocommerce-order-pay #order_review .shop_table thead th.product-unit-price,
.woocommerce-order-pay #order_review .shop_table thead th.product-total {
  text-align: right;
}

.woocommerce-order-pay #order_review .shop_table thead th.product-unit-price,
.woocommerce-order-pay #order_review .shop_table tbody td.product-unit-price {
  width: 15%;
  min-width: 120px;
}

/* Table Footer */
.woocommerce-order-pay #order_review .shop_table tfoot {
  background: #f8f9fa;
}

.woocommerce-order-pay #order_review .shop_table tfoot tr {
  border-bottom: 1px solid #e5e7eb;
}

.woocommerce-order-pay #order_review .shop_table tfoot tr:first-child {
  border-top: 2px solid #148a94;
}

.woocommerce-order-pay #order_review .shop_table tfoot tr:last-child {
  border-bottom: none;
}

.woocommerce-order-pay #order_review .shop_table tfoot th,
.woocommerce-order-pay #order_review .shop_table tfoot td {
  padding: 8px 18px;
  font-size: 13px;
  color: #04102a;
  background: transparent;
}

.woocommerce-order-pay #order_review .shop_table tfoot th {
  font-weight: 600;
  text-align: left;
}

.woocommerce-order-pay #order_review .shop_table tfoot td {
  text-align: right;
  font-weight: 700;
}

/* Order Total Row */
.woocommerce-order-pay #order_review .shop_table tfoot tr.order_total th,
.woocommerce-order-pay #order_review .shop_table tfoot tr.order_total td,
.woocommerce-order-pay #order_review .shop_table tfoot tr:last-child th,
.woocommerce-order-pay #order_review .shop_table tfoot tr:last-child td {
  background: linear-gradient(135deg, #148a94 0%, #0a6670 100%) !important;
  color: #fff !important;
  font-size: 15px;
  font-weight: 700;
  padding: 10px 18px;
}

.woocommerce-order-pay #order_review .shop_table tfoot tr.order_total th,
.woocommerce-order-pay #order_review .shop_table tfoot tr:last-child th {
  border-radius: 0 0 0 12px;
}

.woocommerce-order-pay #order_review .shop_table tfoot tr.order_total td,
.woocommerce-order-pay #order_review .shop_table tfoot tr:last-child td {
  border-radius: 0 0 12px 0;
}

/* Order Actions (Add Item) */
.pds-order-actions {
  margin-bottom: 20px;
}

.pds-add-item-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  background: linear-gradient(to bottom, #148a94, #0a6670);
  color: #fff;
  border: none;
  border-radius: 8px;
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.pds-add-item-btn:hover {
  background: linear-gradient(to bottom, #0a6670, #084f58);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(20, 138, 148, 0.3);
}

.pds-add-item-btn svg {
  width: 16px;
  height: 16px;
}

/* Add Item Modal */
.pds-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
}

.pds-modal-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(4, 16, 42, 0.7);
  backdrop-filter: blur(4px);
}

.pds-modal-content {
  position: relative;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  width: 90%;
  max-width: 600px;
  max-height: 80vh;
  display: flex;
  flex-direction: column;
  z-index: 1;
  animation: modalFadeIn 0.2s ease;
}

@keyframes modalFadeIn {
  from {
    opacity: 0;
    transform: scale(0.95) translateY(-20px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

.pds-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px 24px 16px;
  border-bottom: 1px solid #e5e7eb;
}

.pds-modal-header h3 {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  color: #04102a;
}

.pds-modal-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: #f8f9fa;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  color: #5a6a7a;
  cursor: pointer;
  transition: all 0.2s ease;
  flex-shrink: 0;
}

.pds-modal-close:hover {
  background: #04102a;
  color: #fff;
  border-color: #04102a;
  transform: rotate(90deg);
}

.pds-modal-close i {
  font-size: 20px;
  color: #5a6a7a;
  display: block;
  line-height: 1;
}

.pds-modal-close:hover i {
  color: #fff;
}

.pds-modal-body {
  padding: 24px;
  overflow-y: auto;
  flex: 1;
}

.pds-product-search {
  width: 100%;
  padding: 12px 16px;
  border: 2px solid #e5e7eb;
  border-radius: 10px;
  font-size: 15px;
  transition: all 0.2s ease;
  box-sizing: border-box;
}

.pds-product-search:focus {
  outline: none;
  border-color: #148a94;
  box-shadow: 0 0 0 3px rgba(20, 138, 148, 0.1);
}

.pds-product-results {
  max-height: 400px;
  overflow-y: auto;
  margin-top: 16px;
}

.pds-no-results {
  padding: 40px 20px;
  text-align: center;
  color: #5a6a7a;
  font-size: 14px;
}

.pds-product-result {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px;
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.2s ease;
  border: 2px solid transparent;
}

.pds-product-result:hover {
  background: #f0fafb;
  border-color: #148a94;
  transform: translateX(2px);
}

.pds-product-result-img {
  width: 60px;
  height: 60px;
  object-fit: cover;
  border-radius: 8px;
  background: #f8f9fa;
  border: 1px solid #e5e7eb;
}

.pds-product-result-info {
  flex: 1;
}

.pds-product-result-name {
  font-weight: 600;
  color: #04102a;
  font-size: 15px;
  margin-bottom: 4px;
}

.pds-product-result-price {
  color: #148a94;
  font-size: 14px;
  font-weight: 600;
}

/* Modal Responsive */
@media (max-width: 768px) {
  .pds-modal-content {
    width: 95%;
    max-height: 90vh;
    border-radius: 12px;
  }

  .pds-modal-header {
    padding: 20px 16px 12px;
  }

  .pds-modal-header h3 {
    font-size: 18px;
  }

  .pds-modal-body {
    padding: 16px;
  }

  .pds-product-result {
    padding: 10px;
  }

  .pds-product-result-img {
    width: 50px;
    height: 50px;
  }

  .pds-product-result-name {
    font-size: 14px;
  }

  .pds-product-result-price {
    font-size: 13px;
  }
}

/* Alert Dialog Modal */
.pds-alert-modal .pds-modal-overlay {
  background: rgba(4, 16, 42, 0.8);
}

.pds-alert-content {
  max-width: 440px;
  padding: 32px;
  text-align: center;
}

.pds-alert-icon {
  margin: 0 auto 20px;
  width: 64px;
  height: 64px;
  background: linear-gradient(135deg, #148a94 0%, #0a6670 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.pds-alert-icon svg {
  color: #fff;
}

.pds-alert-message {
  font-size: 16px;
  line-height: 1.6;
  color: #04102a;
  margin-bottom: 24px;
  font-weight: 500;
}

.pds-alert-ok {
  padding: 12px 32px;
  background: linear-gradient(135deg, #148a94 0%, #0a6670 100%);
  color: #fff;
  border: none;
  border-radius: 8px;
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
  transition: all 0.2s ease;
  min-width: 120px;
}

.pds-alert-ok:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(20, 138, 148, 0.4);
}

.pds-alert-ok:active {
  transform: translateY(0);
}

@media (max-width: 768px) {
  .pds-alert-content {
    width: 90%;
    padding: 24px;
  }

  .pds-alert-icon {
    width: 56px;
    height: 56px;
  }

  .pds-alert-icon svg {
    width: 40px;
    height: 40px;
  }

  .pds-alert-message {
    font-size: 15px;
  }
}

/* Quantity Controls */
.pds-qty-controls {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #f8f9fa;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 4px;
}

.pds-qty-btn {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  color: #04102a;
  font-weight: 700;
  font-size: 16px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.pds-qty-btn:hover {
  background: linear-gradient(to bottom, #148a94, #0a6670);
  color: #fff;
  border-color: #0a6670;
}

.pds-qty-input {
  width: 50px;
  text-align: center;
  border: none;
  background: transparent;
  font-weight: 700;
  font-size: 14px;
  color: #04102a;
}

.pds-qty-input::-webkit-inner-spin-button,
.pds-qty-input::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Remove Item Button */
.pds-remove-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background: #fee;
  color: #b91c1c;
  border: 1px solid #fcc;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  margin-left: 12px;
  padding: 0;
}

.pds-remove-item:hover {
  background: #b91c1c;
  color: #fff;
  border-color: #b91c1c;
}

.pds-remove-item svg {
  width: 14px;
  height: 14px;
}

/* Deleted Items Section */
.pds-deleted-items {
  background: #fef3c7;
  border: 1px solid #fde68a;
  border-radius: 12px;
  padding: 16px;
  margin-bottom: 20px;
}

.pds-deleted-items h3 {
  margin: 0 0 12px;
  font-size: 14px;
  font-weight: 700;
  color: #92400e;
}

.pds-deleted-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px;
  background: #fff;
  border: 1px solid #fde68a;
  border-radius: 8px;
  margin-bottom: 8px;
}

.pds-deleted-item:last-child {
  margin-bottom: 0;
}

.pds-deleted-item-name {
  font-weight: 600;
  color: #04102a;
}

.pds-undo-btn {
  padding: 6px 14px;
  background: linear-gradient(to bottom, #148a94, #0a6670);
  color: #fff;
  border: none;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}

.pds-undo-btn:hover {
  background: #0a6670;
}

/* Row Being Removed Animation */
.pds-removing {
  opacity: 0.5;
  pointer-events: none;
}

/* Order Pay page responsive */
@media (max-width: 768px) {
  .woocommerce-order-pay #order_review .shop_table thead th {
    padding: 12px 14px;
    font-size: 11px;
  }

  .woocommerce-order-pay #order_review .shop_table tbody td {
    padding: 12px 14px;
    font-size: 13px;
  }

  .woocommerce-order-pay #order_review .shop_table tfoot th,
  .woocommerce-order-pay #order_review .shop_table tfoot td {
    padding: 10px 14px;
  }

  .woocommerce-order-pay #order_review #payment {
    padding: 16px;
  }

  .woocommerce-order-pay #order_review .wc_payment_methods li {
    padding: 14px 16px;
  }

  .woocommerce-order-pay #order_review #place_order {
    padding: 14px 24px;
    font-size: 14px;
  }
}

@media (max-width: 480px) {
  .woocommerce-order-pay #order_review .shop_table thead th {
    padding: 10px 10px;
    font-size: 10px;
  }

  .woocommerce-order-pay #order_review .shop_table tbody td {
    padding: 10px 10px;
    font-size: 12px;
  }

  .woocommerce-order-pay #order_review .shop_table tbody td.product-quantity .product-quantity {
    padding: 3px 8px;
    font-size: 11px;
  }

  .woocommerce-order-pay #order_review .shop_table tfoot tr:last-child td {
    font-size: 16px;
  }

  .woocommerce-order-pay #order_review #payment {
    padding: 14px;
  }

  .woocommerce-order-pay #order_review .wc_payment_methods li {
    padding: 12px 14px;
  }

  .woocommerce-order-pay #order_review .wc_payment_methods li label {
    font-size: 13px;
  }
}

/* Shop by Categories Section */
.pds-shop-by-categories {
  margin: 60px 0 40px;
  padding: 0 20px;
}

.pds-shop-by-categories h2 {
  font-size: clamp(24px, 4vw, 32px);
  margin-bottom: 30px;
  text-align: center;
  font-weight: 600;
}

.pds-categories-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  grid-auto-rows: 1fr;
  gap: 24px;
  max-width: 1200px;
  margin: 0 auto;
}

/* Category card - main container */
.pds-category-card {
  display: flex;
  flex-direction: column;
  padding: 20px;
  border-radius: 8px;
  background: #fff;
  height: 100%;
  gap: 16px;
}

/* Parent category link wrapper */
.pds-category-link-wrapper {
  display: block;
  text-decoration: none;
  color: inherit;
  transition: all 0.3s ease;
}

.pds-category-link-wrapper:hover .pds-category-image img {
  transform: scale(1.1);
}

.pds-category-link-wrapper:hover .pds-category-name {
  transform: translate(-50%, -50%) scale(1.05);
}

.pds-category-image {
  position: relative;
  width: 100%;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 12px;
  margin-bottom: 0;
  background: #f5f5f5;
}

.pds-category-image::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 50%;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.4), transparent);
  pointer-events: none;
}

.pds-category-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.4;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.pds-category-link-wrapper:hover .pds-category-image img {
  opacity: 0.5;
}

.pds-category-name {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 24px;
  font-weight: 800;
  margin: 0;
  text-align: center;
  color: #fff;
  text-shadow:
    -2px -2px 0 #000,
    2px -2px 0 #000,
    -2px 2px 0 #000,
    2px 2px 0 #000,
    -2px 0 0 #000,
    2px 0 0 #000,
    0 -2px 0 #000,
    0 2px 0 #000,
    0 0 10px rgba(0, 0, 0, 0.8);
  z-index: 2;
  transition: all 0.3s ease;
  width: calc(100% - 24px);
}

/* Subcategories list - now inside the card */
.pds-subcategories-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 0;
  margin-top: 4px;
}

.pds-subcategory-link {
  display: block;
  padding: 6px 8px;
  text-decoration: none;
  color: #666;
  background: #f8f8f8;
  border-radius: 4px;
  font-size: 13px;
  text-align: center;
  transition: all 0.2s ease;
}

.pds-subcategory-link:hover {
  background: #e5e5e5;
  color: #000;
}

@media (max-width: 768px) {
  .pds-shop-by-categories {
    margin: 40px 0 30px;
    padding: 0 15px;
  }

  .pds-categories-grid {
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 16px;
  }

  .pds-category-card {
    padding: 15px;
    gap: 12px;
  }

  .pds-category-name {
    font-size: 14px;
  }

  .pds-subcategory-link {
    padding: 5px 6px;
    font-size: 12px;
  }
}

@media (max-width: 480px) {
  .pds-categories-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .pds-category-card {
    padding: 15px;
  }
}

/* =========================
   Product Title Links on Shop/Catalog
   ========================= */
.woocommerce ul.products li.product .woocommerce-loop-product__title a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title a:hover {
  color: #148a94;
}

#content.site-content {
  margin-top: 10px !important;
}
body.logged-in #content.site-content {
  margin-top: 0 !important;
}
body.logged-in.woocommerce #content.site-content,
body.logged-in.single-product #content.site-content {
  margin-top: 20px !important;
}
.single-product #content.site-content {
  margin-top: 15px !important;
}

/* Sticky header: gradient shadow beneath */
#pds-header::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -8px;
  height: 8px;
  background: linear-gradient(to bottom, rgba(0,0,0,.08), transparent);
  pointer-events: none;
}

@media (max-width: 768px) {
  .woocommerce main#primary {
    padding-top: 10px !important;
  }
}

/* =========================
   Footer: Resources column (4-col layout)
   ========================= */
.pds-footer.v2 .pds-footer__grid {
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
.pds-footer.v2 .pds-footer__grid--3col {
  grid-template-columns: 1fr 1fr 1fr;
}

.pds-footer.v2 .pds-footer__resources {
  text-align: right;
  align-items: flex-end;
}

.pds-footer.v2 .pds-footer__catalog-link {
  display: inline-flex !important;
  align-items: center;
}

@media (max-width: 900px) {
  .pds-footer.v2 .pds-footer__grid {
    grid-template-columns: 1fr;
  }
  .pds-footer.v2 .pds-footer__resources {
    align-items: center !important;
    text-align: center !important;
  }
}

/* =========================
   Cart Page
   ========================= */

/* Hide sidebar on cart page and make container full-width */
body.woocommerce-cart .pds-woo-container {
  display: block !important;
}

body.woocommerce-cart .pds-woo-container #secondary.widget-area,
body.woocommerce-cart .pds-woo-container .woocommerce-sidebar {
  display: none !important;
}

body.woocommerce-cart .pds-woo-container .pds-woo {
  max-width: 100% !important;
}

/* Hide breadcrumbs on cart */
body.woocommerce-cart .woocommerce-breadcrumb {
  display: none !important;
}

/* ── Cart: remove top spacing from entry-content ── */
body.woocommerce-cart .entry-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* ── Cart Page Title (matches Shop/Catalog page title) ── */
body.woocommerce-cart .pds-woo .woocommerce-products-header__title,
body.woocommerce-cart .pds-woo .page-title,
body.woocommerce-cart .pds-woo .wp-block-woocommerce-cart .wc-block-cart h2:first-of-type,
body.woocommerce-cart .entry-title,
body.woocommerce-cart .woocommerce-products-header__title {
  font-size: 46px !important;
  font-weight: 400 !important;
  letter-spacing: 0.01em !important;
  text-align: center !important;
  color: #064d55 !important;
  font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ── Block Cart: Container ── */
body.woocommerce-cart .wp-block-woocommerce-cart {
  max-width: 1200px;
  margin: 0 auto;
  padding: 10px;
}

/* ── Block Cart: Two-Column Layout ── */
body.woocommerce-cart .wc-block-components-sidebar-layout {
  gap: 30px !important;
}

body.woocommerce-cart .wc-block-components-main {
  flex: 1 !important;
}

body.woocommerce-cart .wc-block-components-sidebar {
  flex: 0 0 380px !important;
  max-width: 380px !important;
  align-self: flex-start;
}

/* Cart totals sidebar — no card on outer wrapper */
body.woocommerce-cart .wc-block-components-sidebar.wc-block-cart__sidebar {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  overflow: visible !important;
  padding: 0 !important;
}

/* Strip inner containers */
body.woocommerce-cart .wc-block-components-sidebar.wc-block-cart__sidebar .wp-block-woocommerce-cart-totals-block,
body.woocommerce-cart .wc-block-components-sidebar.wc-block-cart__sidebar .wc-block-components-panel {
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* Order summary — card body with left/right/bottom border */
body.woocommerce-cart .wc-block-components-sidebar.wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block {
  background: #fff !important;
  border-left: 1px solid #e5e7eb !important;
  border-right: 1px solid #e5e7eb !important;
  border-bottom: 1px solid #e5e7eb !important;
  border-top: none !important;
  border-radius: 0 0 12px 12px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
  overflow: hidden !important;
  padding: 0 !important;
}

/* Checkout button — outside the card */
body.woocommerce-cart .wc-block-components-sidebar.wc-block-cart__sidebar .wp-block-woocommerce-proceed-to-checkout-block {
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  margin-top: 16px !important;
}

body.woocommerce-cart .wc-block-cart .wc-block-cart__submit-container {
  padding: 0 !important;
}

/* ── Block Cart: Items Table ── */
body.woocommerce-cart table.wc-block-cart-items {
  width: 100%;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  border: 1px solid #e5e7eb;
}

/* ── Shared grid for header + body rows (4 visual columns) ── */
body.woocommerce-cart .wc-block-cart-items__header,
body.woocommerce-cart .wc-block-cart-items__row {
  display: grid !important;
  grid-template-columns: 96px 1fr 160px 110px;
  align-items: center;
}

/* Table header */
body.woocommerce-cart .wc-block-cart-items__header {
  background: linear-gradient(135deg, #148a94 0%, #0a6670 100%);
}

body.woocommerce-cart .wc-block-cart-items__header th {
  display: block !important;
  padding: 14px 18px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #fff !important;
  border: none !important;
  background: transparent !important;
}

body.woocommerce-cart .wc-block-cart-items__header-image {
  grid-column: 1;
  grid-row: 1;
}

body.woocommerce-cart .wc-block-cart-items__header-product {
  grid-column: 2;
  grid-row: 1;
}

/* Injected "Quantity" header via pseudo-element */
body.woocommerce-cart .wc-block-cart-items__header::after {
  content: "Quantity";
  grid-column: 3;
  grid-row: 1;
  text-align: center;
  padding: 14px 0;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #fff;
}

body.woocommerce-cart .wc-block-cart-items__header-total {
  grid-column: 4;
  grid-row: 1;
  text-align: right !important;
}

/* Table body rows */
body.woocommerce-cart .wc-block-cart-items__row {
  border-bottom: 1px solid #f3f4f6;
  transition: background-color 0.15s ease;
}

body.woocommerce-cart .wc-block-cart-items__row:hover {
  background-color: #f9fafb;
}

body.woocommerce-cart .wc-block-cart-items__row td {
  display: block !important;
  padding: 16px 18px !important;
  border: none !important;
  background: transparent !important;
}

/* Image cell → column 1 */
body.woocommerce-cart .wc-block-cart-item__image {
  grid-column: 1;
}

body.woocommerce-cart .wc-block-cart-item__image img,
body.woocommerce-cart .wc-block-components-product-image img {
  width: 70px !important;
  height: 70px !important;
  object-fit: cover;
  border-radius: 8px !important;
  border: none !important;
}

/* Product cell → spans columns 2+3 (name + qty live inside) */
body.woocommerce-cart .wc-block-cart-item__product {
  grid-column: 2 / 4;
}

/* Product name */
body.woocommerce-cart .wc-block-components-product-name {
  font-weight: 600 !important;
  font-size: 14px !important;
  color: #111827 !important;
  text-decoration: none !important;
  transition: color 0.2s ease;
}

body.woocommerce-cart .wc-block-components-product-name:hover {
  color: #148a94 !important;
}

/* Show variation details under product name, before price */
body.woocommerce-cart .wc-block-components-product-metadata,
body.woocommerce-cart .wc-block-components-product-details {
  display: block !important;
  order: 1 !important;
  font-size: 12px !important;
  color: #6b7280 !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  line-height: 1.4 !important;
}
body.woocommerce-cart .wc-block-components-product-details li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.woocommerce-cart .wc-block-components-product-details__name {
  font-weight: 600 !important;
}

/* License Required badge in cart & checkout — same style as product page */
.pds-cart-license-badge {
  display: inline-flex !important;
  align-items: center !important;
  margin: 4px 0 2px !important;
  padding: 4px 10px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  border-radius: 6px !important;
  background: #f0f4f8 !important;
  color: #475569 !important;
  border: 1px solid #cbd5e1 !important;
  box-shadow: none !important;
  line-height: 1.3 !important;
  order: 0.5 !important;
  position: static !important;
  top: auto !important;
  left: auto !important;
}
body.woocommerce-cart .wc-block-components-product-name {
  order: 0 !important;
}
body.woocommerce-cart .wc-block-cart-item__prices {
  order: 2 !important;
}

/* Product price */
body.woocommerce-cart .wc-block-cart-item__prices {
  margin-top: 4px;
}

body.woocommerce-cart .wc-block-components-product-price {
  font-weight: 600;
  font-size: 14px;
  color: #374151;
}

/* Total cell → column 4 */
body.woocommerce-cart .wc-block-cart-item__total {
  grid-column: 4;
  text-align: right;
}

/* ── Inner wrap: split product info vs quantity ── */
body.woocommerce-cart .wc-block-cart-item__wrap {
  display: grid !important;
  grid-template-columns: 1fr 160px !important;
  align-items: center;
  gap: 0 !important;
}

body.woocommerce-cart .wc-block-cart-item__wrap > * {
  grid-column: 1;
}

body.woocommerce-cart .wc-block-cart-item__quantity {
  grid-column: 2 !important;
  grid-row: 1 / -1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 10px !important;
  margin: 0 !important;
}

/* ── Block Cart: Quantity Selector ── */
body.woocommerce-cart .wc-block-components-quantity-selector {
  display: inline-flex !important;
  align-items: center;
  background: #f3f4f6 !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 8px !important;
  overflow: hidden;
}

body.woocommerce-cart .wc-block-components-quantity-selector__button {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 32px !important;
  height: 36px !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  color: #374151 !important;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.15s ease;
}

body.woocommerce-cart .wc-block-components-quantity-selector__button:hover {
  background: rgba(20, 138, 148, 0.12) !important;
  color: #0a6670 !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector__input {
  width: 40px !important;
  height: 36px !important;
  text-align: center !important;
  border: none !important;
  background: transparent !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  color: #111827 !important;
  -moz-appearance: textfield;
  padding: 0 !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector__input::-webkit-inner-spin-button,
body.woocommerce-cart .wc-block-components-quantity-selector__input::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Remove link */
body.woocommerce-cart .wc-block-cart-item__remove-link {
  color: #dc2626 !important;
  font-size: 12px !important;
  font-weight: 600;
  text-decoration: none !important;
  transition: color 0.2s ease;
  margin-top: 6px;
  display: inline-block;
}

body.woocommerce-cart .wc-block-cart-item__remove-link:hover {
  color: #991b1b !important;
  text-decoration: underline !important;
}

/* Item total */
body.woocommerce-cart .wc-block-cart-item__total {
  text-align: right;
}

body.woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price {
  font-weight: 700 !important;
  font-size: 15px !important;
  color: #111827 !important;
}

/* ── Block Cart: Totals Sidebar ── */
body.woocommerce-cart .wc-block-cart__totals-title {
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #fff !important;
  background: linear-gradient(135deg, #148a94 0%, #0a6670 100%) !important;
  padding: 16px 20px !important;
  margin: 0 !important;
  border-radius: 12px 12px 0 0 !important;
  border: 1px solid #0a6670 !important;
  border-bottom: none !important;
}

/* Tax/shipping info note — before subtotal */
body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-wrapper:first-child::before {
  content: "Taxes are estimated based on your default shipping address. You can update your address at checkout and your total will be recalculated automatically.";
  display: block;
  font-size: 12px;
  line-height: 1.5;
  color: #6b7280;
  background: #f0fdfa;
  padding: 10px 16px;
  margin-bottom: 4px;
  border-bottom: 1px solid #e5e7eb;
  font-style: italic;
}

/* Totals items */
body.woocommerce-cart .wc-block-components-totals-item {
  padding: 4px 16px !important;
  border-bottom: 1px solid #f3f4f6;
}

body.woocommerce-cart .wc-block-components-totals-item__label {
  font-size: 13px !important;
  font-weight: 600;
  color: #6b7280 !important;
}

body.woocommerce-cart .wc-block-components-totals-item__value {
  font-size: 14px !important;
  font-weight: 600;
  color: #111827 !important;
}

/* Order total footer */
body.woocommerce-cart .wc-block-components-totals-footer-item {
  padding: 6px 16px !important;
  background: #f0fdfa !important;
  border-top: 2px solid #148a94 !important;
}

body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  font-weight: 700 !important;
  color: #04102a !important;
  font-size: 14px !important;
}

body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-weight: 800 !important;
  color: #148a94 !important;
  font-size: 18px !important;
}

/* Coupon panel */
body.woocommerce-cart .wc-block-components-totals-coupon {
  background: #e6f7f8 !important;
  padding: 14px 16px !important;
  margin: 8px 12px !important;
  border-radius: 10px !important;
  border: 1px dashed #0a6670 !important;
}

/* Coupon toggle link */
body.woocommerce-cart .wc-block-components-totals-coupon__link,
body.woocommerce-cart .wc-block-components-panel__button {
  color: #0a6670 !important;
  font-weight: 700 !important;
  font-size: 14px !important;
}

body.woocommerce-cart .wc-block-components-totals-coupon__content .wc-block-components-totals-coupon__form {
  display: flex;
  gap: 8px;
}

body.woocommerce-cart .wc-block-components-totals-coupon__input input {
  border: 2px solid #148a94 !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  font-size: 14px;
  background: #fff !important;
}

body.woocommerce-cart .wc-block-components-totals-coupon__input input::placeholder {
  color: #9ca3af !important;
  font-style: italic;
}

body.woocommerce-cart .wc-block-components-totals-coupon__input input:focus {
  border-color: #0a6670 !important;
  box-shadow: 0 0 0 3px rgba(20, 138, 148, 0.15) !important;
  outline: none !important;
}

body.woocommerce-cart .wc-block-components-totals-coupon__button {
  background: linear-gradient(135deg, #148a94 0%, #0a6670 100%) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  padding: 10px 20px !important;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}

body.woocommerce-cart .wc-block-components-totals-coupon__button:hover {
  background: linear-gradient(135deg, #0a6670 0%, #085a62 100%) !important;
  box-shadow: 0 2px 8px rgba(20, 138, 148, 0.3) !important;
}

/* Shipping section */
body.woocommerce-cart .wc-block-components-totals-shipping input[type="radio"] {
  accent-color: #148a94;
}

body.woocommerce-cart .wc-block-components-totals-shipping__change-address__link {
  color: #148a94 !important;
  font-weight: 600;
}

/* ── Block Cart: Checkout Button ── */
body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button {
  display: block !important;
  width: 100% !important;
  padding: 16px 32px !important;
  background: linear-gradient(135deg, #148a94 0%, #0a6670 100%) !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border: none !important;
  border-radius: 10px !important;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 4px 12px rgba(20, 138, 148, 0.3) !important;
  text-align: center;
  text-decoration: none !important;
  box-sizing: border-box;
  margin-top: 16px;
}

body.woocommerce-cart .wc-block-cart__submit-button:hover,
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:hover {
  background: linear-gradient(135deg, #0a6670 0%, #0d5f66 100%) !important;
  box-shadow: 0 6px 16px rgba(20, 138, 148, 0.4) !important;
  transform: translateY(-1px);
}

/* ── Block Cart: Empty Cart ── */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
  text-align: center;
  padding: 60px 20px;
}

body.woocommerce-cart .wc-block-cart__empty-cart__title {
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #04102a !important;
  margin-bottom: 20px;
}

/* ── Block Cart: Cross-sells ── */
body.woocommerce-cart .wp-block-woocommerce-cart-cross-sells-block .wp-block-heading {
  font-size: 18px;
  font-weight: 700;
  color: #04102a;
}

body.woocommerce-cart .wp-block-woocommerce-cart-cross-sells-block .cross-sells-product {
  background: #fff;
  border-radius: 10px;
  border: 1px solid #e5e7eb;
  padding: 12px;
  transition: all 0.2s ease;
}

body.woocommerce-cart .wp-block-woocommerce-cart-cross-sells-block .cross-sells-product:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  transform: translateY(-2px);
}

/* ── Block Cart: Express Payment divider ── */
body.woocommerce-cart .wc-block-components-express-payment-continue-rule::before {
  border-color: #e5e7eb !important;
}

/* ── Block Cart: Mobile Responsive ── */
@media (max-width: 900px) {
  body.woocommerce-cart .wc-block-components-sidebar-layout {
    flex-direction: column !important;
  }

  body.woocommerce-cart .wc-block-components-sidebar {
    flex: 1 1 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 768px) {
  /* Prevent horizontal scroll */
  body.woocommerce-cart {
    overflow-x: hidden !important;
    max-width: 100vw !important;
  }

  body.woocommerce-cart .wp-block-woocommerce-cart {
    padding: 0 10px 30px;
    max-width: 100% !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  /* Force table + sections to block */
  body.woocommerce-cart table.wc-block-cart-items,
  body.woocommerce-cart .wc-block-cart-items,
  body.woocommerce-cart .wc-block-cart-items tbody,
  body.woocommerce-cart .wc-block-cart-items thead {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Hide table header — card layout doesn't need it */
  body.woocommerce-cart .wc-block-cart-items__header {
    display: none !important;
  }

  /* ── Row: image left (top-aligned), stacked content right ── */
  body.woocommerce-cart .wc-block-cart-items__row {
    display: grid !important;
    grid-template-columns: 64px 1fr !important;
    align-items: start !important;
    gap: 2px 12px !important;
    padding: 14px 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Image: col 1, pinned to top, spans all rows */
  body.woocommerce-cart .wc-block-cart-items__row .wc-block-cart-item__image {
    grid-column: 1 !important;
    grid-row: 1 / 20 !important;
    padding: 0 !important;
    align-self: start !important;
  }

  body.woocommerce-cart .wc-block-cart-item__image img,
  body.woocommerce-cart .wc-block-components-product-image img {
    width: 64px !important;
    height: 64px !important;
    object-fit: cover;
    border-radius: 8px !important;
  }

  /* Product td: col 2 */
  body.woocommerce-cart .wc-block-cart-items__row .wc-block-cart-item__product {
    grid-column: 2 !important;
    grid-row: 1 !important;
    padding: 0 !important;
    min-width: 0 !important;
  }

  /* Inner wrap: vertical stack, left-aligned */
  body.woocommerce-cart .wc-block-cart-items__row .wc-block-cart-item__wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 2px !important;
  }

  /* 1) Product name — dark teal */
  body.woocommerce-cart .wc-block-cart-items__row .wc-block-components-product-name {
    order: 1 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #0a6670 !important;
    word-break: break-word !important;
  }

  /* 2) Unit price with label */
  body.woocommerce-cart .wc-block-cart-items__row .wc-block-cart-item__prices {
    order: 2 !important;
    display: flex !important;
    align-items: baseline !important;
    gap: 4px !important;
    margin: 0 !important;
  }

  body.woocommerce-cart .wc-block-cart-items__row .wc-block-cart-item__prices::before {
    content: "Unit Price:";
    font-size: 12px;
    font-weight: 600;
    color: #6b7280;
    white-space: nowrap;
  }

  body.woocommerce-cart .wc-block-cart-items__row .wc-block-cart-item__prices .wc-block-components-product-price {
    font-size: 13px !important;
  }

  /* 3) Variation details below unit price */
  body.woocommerce-cart .wc-block-cart-items__row .wc-block-components-product-metadata,
  body.woocommerce-cart .wc-block-cart-items__row .wc-block-components-product-details {
    order: 3 !important;
    margin: 0 !important;
  }

  /* 4) Cloned total (injected by JS before qty) */
  body.woocommerce-cart .pds-mobile-total {
    order: 4 !important;
    display: flex !important;
    align-items: baseline !important;
    gap: 4px !important;
    padding: 2px 0 0 !important;
  }

  body.woocommerce-cart .pds-mobile-total::before {
    content: "Total:";
    font-size: 12px;
    font-weight: 600;
    color: #6b7280;
    white-space: nowrap;
  }

  body.woocommerce-cart .pds-mobile-total .wc-block-components-product-price {
    font-size: 14px !important;
    font-weight: 700 !important;
  }

  /* 5) Qty + Remove in one row — always last, left-aligned with product name */
  body.woocommerce-cart .wc-block-cart-items__row .wc-block-cart-item__quantity {
    order: 5 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    grid-column: auto !important;
    grid-row: auto !important;
    gap: 12px !important;
    padding: 8px 0 0 !important;
    margin: 4px 0 0 !important;
    border-top: 1px solid #f3f4f6 !important;
    width: 100% !important;
    text-align: left !important;
  }

  body.woocommerce-cart .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-components-quantity-selector {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.woocommerce-cart .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link {
    margin-left: 0 !important;
  }

  /* Hide original total td on mobile (JS clones it into the wrap) */
  body.woocommerce-cart .wc-block-cart-items__row .wc-block-cart-item__total {
    display: none !important;
  }

  /* Reset all cell padding/border */
  body.woocommerce-cart .wc-block-cart-items__row td {
    padding: 0 !important;
    border: none !important;
  }

  /* Containers stay within viewport */
  body.woocommerce-cart .wp-block-woocommerce-cart-totals-block,
  body.woocommerce-cart .wc-block-cart__items {
    max-width: 100% !important;
    overflow: hidden !important;
  }
}

/* ── Cart notices ── */
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .wc-block-components-notice-banner {
  border-color: #148a94 !important;
  border-radius: 8px;
  margin-bottom: 16px;
}

body.woocommerce-cart .woocommerce-error {
  border-top-color: #dc2626 !important;
  border-radius: 8px;
  margin-bottom: 16px;
}


/* ═══════════════════════════════════════════════════════════════
   CHECKOUT PAGE — Block Checkout Styling (matches Cart page)
   ═══════════════════════════════════════════════════════════════ */

/* ── Fix sticky: override overflow-x:hidden on ancestors ── */
body.woocommerce-checkout,
body.woocommerce-checkout #page,
body.woocommerce-checkout #content,
body.woocommerce-checkout .site-content,
body.woocommerce-checkout .site-main,
body.woocommerce-checkout #primary,
body.woocommerce-checkout .entry-content,
body.woocommerce-checkout .pds-woo-container,
body.woocommerce-checkout .pds-woo {
  overflow: visible !important;
  overflow-x: clip !important;
}

/* ── Hide sidebar & breadcrumbs ── */
body.woocommerce-checkout .pds-woo-container {
  display: block !important;
}
body.woocommerce-checkout .pds-woo-container #secondary.widget-area,
body.woocommerce-checkout .pds-woo-container .woocommerce-sidebar {
  display: none !important;
}
body.woocommerce-checkout .pds-woo-container .pds-woo {
  max-width: 100% !important;
}
body.woocommerce-checkout .woocommerce-breadcrumb {
  display: none !important;
}
body.woocommerce-checkout .entry-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* ── Page Title (matches Cart) ── */
body.woocommerce-checkout .entry-title,
body.woocommerce-checkout .page-title,
body.woocommerce-checkout .woocommerce-products-header__title {
  font-size: 46px !important;
  font-weight: 400 !important;
  letter-spacing: 0.01em !important;
  text-align: center !important;
  color: #064d55 !important;
  font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ── Container ── */
body.woocommerce-checkout .wp-block-woocommerce-checkout {
  max-width: 1200px;
  margin: 0 auto;
  padding: 10px 10px 40px;
}

/* ── Two-Column Layout ── */
body.woocommerce-checkout .wc-block-components-sidebar-layout {
  gap: 30px !important;
}

body.woocommerce-checkout .wc-block-components-main {
  flex: 1 !important;
}

body.woocommerce-checkout .wc-block-components-sidebar {
  flex: 0 0 380px !important;
  max-width: 380px !important;
  align-self: flex-start;
}

/* ── Left Column: Form card ── */
body.woocommerce-checkout .wc-block-checkout__form {
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
  padding: 24px !important;
  overflow: visible !important;
}

body.woocommerce-checkout .wc-block-checkout__form::before {
  display: none !important;
}

/* ── Billing + Shipping side by side ── */
body.woocommerce-checkout .wp-block-woocommerce-checkout-fields-block {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0 24px !important;
}

/* Make all other sections (payment, etc.) span full width */
body.woocommerce-checkout .wp-block-woocommerce-checkout-fields-block > * {
  grid-column: 1 / -1 !important;
}

/* Billing and shipping each take one column */
body.woocommerce-checkout .wp-block-woocommerce-checkout-billing-address-block {
  grid-column: 1 !important;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-address-block {
  grid-column: 2 !important;
}

@media (max-width: 768px) {
  body.woocommerce-checkout .wp-block-woocommerce-checkout-fields-block {
    grid-template-columns: 1fr !important;
  }

  body.woocommerce-checkout .wp-block-woocommerce-checkout-billing-address-block,
  body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-address-block {
    grid-column: 1 !important;
  }
}

/* ── Sections ── */
body.woocommerce-checkout .wc-block-components-checkout-step {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 0 20px 0 !important;
  margin-bottom: 20px !important;
  box-shadow: none !important;
  border-bottom: 1px solid #f3f4f6 !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step:last-child {
  border-bottom: none !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Hide WC default step indicators */
body.woocommerce-checkout .wc-block-components-checkout-step::after {
  display: none !important;
}
body.woocommerce-checkout .wc-block-components-checkout-step::before {
  display: none !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step--with-step-number {
  padding-left: 0 !important;
}

/* Section heading */
body.woocommerce-checkout .wc-block-components-checkout-step__container {
  margin: 0 !important;
  padding: 0 !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step__heading {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step__heading-container {
  margin-bottom: 14px !important;
  gap: 2px !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step__title {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #04102a !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step__description {
  font-size: 13px !important;
  color: #6b7280 !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step__content {
  margin: 0 !important;
  padding: 0 !important;
  clear: both;
}

/* ── Form Inputs ── */
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-text-input textarea,
body.woocommerce-checkout .wc-block-components-select .wc-block-components-combobox-control input {
  border: 1px solid #d1d5db !important;
  border-radius: 8px !important;
  padding: 12px 14px !important;
  font-size: 14px !important;
  background: #fff !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  color: #111827 !important;
}

body.woocommerce-checkout .wc-block-components-text-input,
body.woocommerce-checkout .wc-block-components-address-form__address_2 {
  margin-top: 12px !important;
  margin-bottom: 0 !important;
}

body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-block-components-text-input textarea:focus,
body.woocommerce-checkout .wc-block-components-select .wc-block-components-combobox-control input:focus {
  border-color: #148a94 !important;
  box-shadow: 0 0 0 3px rgba(20, 138, 148, 0.15) !important;
  outline: none !important;
}

body.woocommerce-checkout .wc-block-components-text-input label {
  color: #6b7280 !important;
  font-size: 13px !important;
}

/* Always show Address Line 2 */
body.woocommerce-checkout .wc-block-components-address-form__address_2-toggle {
  display: none !important;
}
body.woocommerce-checkout .wc-block-components-address-form__address_2 {
  display: block !important;
}

/* ── Checkbox & Radio — teal accent ── */
body.woocommerce-checkout input[type="checkbox"],
body.woocommerce-checkout input[type="radio"] {
  accent-color: #148a94 !important;
}

/* ── Shipping Methods ── */
body.woocommerce-checkout .wc-block-components-radio-control__input {
  border-color: #148a94 !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__input:checked {
  border-color: #148a94 !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__input:checked::before {
  background: #148a94 !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__option {
  border: 1px solid #e5e7eb !important;
  border-radius: 8px !important;
  padding: 14px 16px 14px 48px !important;
  margin-bottom: 8px !important;
  position: relative !important;
  transition: border-color 0.2s ease, background 0.2s ease;
}

/* Remove WC default divider lines between options */
body.woocommerce-checkout .wc-block-components-radio-control__option::after {
  display: none !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__option--checked {
  border-color: #148a94 !important;
  background: #f0fdfa !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__option--checked .wc-block-components-radio-control__label {
  font-weight: 600 !important;
}

/* ── Payment Methods ── */
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option {
  border: 1px solid #e5e7eb !important;
  border-radius: 8px !important;
  margin-bottom: 8px !important;
  overflow: hidden;
  transition: border-color 0.2s ease;
}

body.woocommerce-checkout .wc-block-components-radio-control-accordion-option--checked {
  border-color: #148a94 !important;
  background: #f0fdfa !important;
}

body.woocommerce-checkout .wc-block-components-payment-method-label {
  font-weight: 600 !important;
  color: #111827 !important;
}

/* ── Express Payment ── */
body.woocommerce-checkout .wc-block-components-express-payment {
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 12px !important;
  padding: 20px 24px !important;
  margin-bottom: 20px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
}

body.woocommerce-checkout .wc-block-components-express-payment__title-container {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #6b7280 !important;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

/* ══ RIGHT COLUMN: Order Summary ══ */

/* Outer sidebar — no card */
body.woocommerce-checkout .wc-block-components-sidebar {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  overflow: visible !important;
  padding: 0 !important;
}

/* Strip inner wrappers */
body.woocommerce-checkout .wp-block-woocommerce-checkout-totals-block,
body.woocommerce-checkout .wc-block-components-panel {
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

/* Order summary title — teal gradient header (matches cart) */
body.woocommerce-checkout .wc-block-components-checkout-order-summary__title {
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: #fff !important;
  background: linear-gradient(135deg, #148a94 0%, #0a6670 100%) !important;
  padding: 16px 20px !important;
  margin: 0 !important;
  border-radius: 12px 12px 0 0 !important;
  border: 1px solid #0a6670 !important;
  border-bottom: none !important;
  line-height: 1.4 !important;
  min-height: 0 !important;
  display: block !important;
}

body.woocommerce-checkout .wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-text {
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  color: #fff !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Hide collapse elements on desktop */
body.woocommerce-checkout .wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-icon,
body.woocommerce-checkout .wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-price,
body.woocommerce-checkout .wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-open-close {
  display: none !important;
}

/* Order summary content — card body */
body.woocommerce-checkout .wc-block-components-checkout-order-summary__content {
  background: #fff !important;
  border-left: 1px solid #e5e7eb !important;
  border-right: 1px solid #e5e7eb !important;
  border-bottom: 1px solid #e5e7eb !important;
  border-top: none !important;
  border-radius: 0 0 12px 12px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
  overflow: hidden !important;
  padding: 0 !important;
}

/* Order summary block inside content */
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

/* Product items */
body.woocommerce-checkout .wc-block-components-order-summary-item {
  padding: 14px 16px !important;
  border-bottom: 1px solid #f3f4f6;
}

body.woocommerce-checkout .wc-block-components-order-summary-item:last-child {
  border-bottom: 1px solid #e5e7eb;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__image img {
  border-radius: 8px !important;
  border: 1px solid #e5e7eb !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name {
  font-weight: 600 !important;
  color: #111827 !important;
  font-size: 13px !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__total-price {
  font-weight: 700 !important;
  color: #111827 !important;
}

/* Totals rows */
body.woocommerce-checkout .wc-block-components-totals-item {
  padding: 4px 16px !important;
  border-bottom: 1px solid #f3f4f6;
}

body.woocommerce-checkout .wc-block-components-totals-item__label {
  font-size: 13px !important;
  font-weight: 600;
  color: #6b7280 !important;
}

body.woocommerce-checkout .wc-block-components-totals-item__value {
  font-size: 14px !important;
  font-weight: 600;
  color: #111827 !important;
}

/* Order total */
body.woocommerce-checkout .wc-block-components-totals-footer-item {
  padding: 6px 16px !important;
  background: #f0fdfa !important;
  border-top: 2px solid #148a94 !important;
}

body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  font-weight: 700 !important;
  color: #04102a !important;
  font-size: 14px !important;
}

body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-weight: 800 !important;
  color: #148a94 !important;
  font-size: 18px !important;
}

/* ── Coupon (matches cart) ── */
body.woocommerce-checkout .wc-block-components-totals-coupon {
  background: #e6f7f8 !important;
  padding: 14px 16px !important;
  margin: 8px 12px !important;
  border-radius: 10px !important;
  border: 1px dashed #0a6670 !important;
}

body.woocommerce-checkout .wc-block-components-totals-coupon__link,
body.woocommerce-checkout .wc-block-components-panel__button {
  color: #0a6670 !important;
  font-weight: 700 !important;
  font-size: 14px !important;
}

body.woocommerce-checkout .wc-block-components-totals-coupon__content .wc-block-components-totals-coupon__form {
  display: flex;
  gap: 8px;
}

body.woocommerce-checkout .wc-block-components-totals-coupon__input input {
  border: 2px solid #148a94 !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  font-size: 14px;
  background: #fff !important;
}

body.woocommerce-checkout .wc-block-components-totals-coupon__input input::placeholder {
  color: #9ca3af !important;
  font-style: italic;
}

body.woocommerce-checkout .wc-block-components-totals-coupon__input input:focus {
  border-color: #0a6670 !important;
  box-shadow: 0 0 0 3px rgba(20, 138, 148, 0.15) !important;
  outline: none !important;
}

body.woocommerce-checkout .wc-block-components-totals-coupon__button {
  background: linear-gradient(135deg, #148a94 0%, #0a6670 100%) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  padding: 10px 20px !important;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}

body.woocommerce-checkout .wc-block-components-totals-coupon__button:hover {
  background: linear-gradient(135deg, #0a6670 0%, #085a62 100%) !important;
  box-shadow: 0 2px 8px rgba(20, 138, 148, 0.3) !important;
}

/* Shipping in sidebar */
body.woocommerce-checkout .wc-block-components-totals-shipping input[type="radio"] {
  accent-color: #148a94;
}

body.woocommerce-checkout .wc-block-components-totals-shipping__change-address__link {
  color: #148a94 !important;
  font-weight: 600;
}

/* ── Place Order Button (matches cart checkout button) ── */
body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
  flex: 1 !important;
  width: auto !important;
  height: auto !important;
  padding: 16px 32px !important;
  background: linear-gradient(135deg, #148a94 0%, #0a6670 100%) !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border: none !important;
  border-radius: 10px !important;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 4px 12px rgba(20, 138, 148, 0.3) !important;
  text-align: center;
  text-decoration: none !important;
  box-sizing: border-box;
  margin: 0;
  white-space: nowrap;
}

body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover {
  background: linear-gradient(135deg, #0a6670 0%, #0d5f66 100%) !important;
  box-shadow: 0 6px 16px rgba(20, 138, 148, 0.4) !important;
  transform: translateY(-1px);
}

/* Actions container */
body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block {
  width: 100% !important;
  height: auto !important;
  padding: 20px 0 0 !important;
  margin-top: 8px !important;
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
}

/* Return to cart */
body.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button {
  flex: 0 0 auto !important;
  color: #148a94 !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  transition: color 0.2s ease;
  border: 1px solid #e5e7eb !important;
  border-radius: 10px !important;
  padding: 12px 24px !important;
  background: #fff !important;
  cursor: pointer;
  text-align: center;
  white-space: nowrap;
  box-sizing: border-box;
}

body.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button:hover {
  color: #0a6670 !important;
  border-color: #148a94 !important;
  background: #f0fdfa !important;
}

/* ── Notices ── */
body.woocommerce-checkout .wc-block-components-notice-banner {
  border-color: #148a94 !important;
  border-radius: 8px;
  margin-bottom: 16px;
}

body.woocommerce-checkout .woocommerce-error,
body.woocommerce-checkout .wc-block-components-notice-banner.is-error {
  border-color: #dc2626 !important;
  border-radius: 8px;
  margin-bottom: 16px;
}

/* ── Terms & Conditions ── */
body.woocommerce-checkout .wc-block-checkout__terms::before {
  content: "\2139\FE0F  Transaction will show up on your bank statement as SQ* L4U - Pixel Dental Supply";
  display: block;
  font-size: 12px;
  color: #6b7280;
  background: #f0fdfa;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  padding: 10px 14px;
  margin-bottom: 12px;
  line-height: 1.5;
  font-style: italic;
}

body.woocommerce-checkout .wc-block-checkout__terms {
  font-size: 13px !important;
  color: #6b7280 !important;
}

body.woocommerce-checkout .wc-block-checkout__terms a {
  color: #148a94 !important;
  font-weight: 600;
}

/* ── Mobile Responsive ── */
@media (max-width: 900px) {
  body.woocommerce-checkout .wc-block-components-sidebar-layout {
    flex-direction: column !important;
  }

  body.woocommerce-checkout .wc-block-components-sidebar {
    flex: 1 1 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 768px) {
  body.woocommerce-checkout .wp-block-woocommerce-checkout {
    padding: 0 15px 30px;
  }

  body.woocommerce-checkout .wc-block-checkout__form {
    padding: 16px !important;
  }

  body.woocommerce-checkout .entry-title,
  body.woocommerce-checkout .page-title {
    font-size: 32px !important;
  }

  body.woocommerce-checkout .wc-block-components-checkout-step__title {
    font-size: 15px !important;
  }

  /* Order Summary — collapsible on mobile */
  body.woocommerce-checkout .wc-block-components-checkout-order-summary__title {
    display: flex !important;
    align-items: center !important;
    cursor: pointer !important;
    border-radius: 12px !important;
  }

  body.woocommerce-checkout .wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-icon {
    display: block !important;
    fill: #fff;
    width: 20px;
    height: 20px;
    transition: transform 0.3s ease;
  }

  body.woocommerce-checkout .wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-price {
    display: inline-block !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    margin-right: 8px !important;
  }

  body.woocommerce-checkout .wc-block-components-checkout-order-summary__title.is-open {
    border-radius: 12px 12px 0 0 !important;
  }

  body.woocommerce-checkout .wc-block-components-checkout-order-summary__title.is-open .wc-block-components-checkout-order-summary__title-icon {
    transform: rotate(180deg);
  }

  /* Hide duplicate inline order summary */
  body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block.checkout-order-summary-block-fill-wrapper {
    display: none !important;
  }

  /* Buttons stacked on mobile */
  body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
    flex: none !important;
    width: 100% !important;
  }

  body.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button {
    flex: none !important;
    width: 100% !important;
    text-align: center !important;
  }
}

/* =========================================================
   Address Book — My Account
   ========================================================= */

.pds-address-book {
  max-width: 100%;
}

.pds-address-section {
  margin-bottom: 32px;
}

.pds-address-section__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

.pds-address-section__header h2 {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: #064d55;
  font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
}

.pds-addr-add-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 600;
  background: linear-gradient(135deg, #148a94 0%, #0a6670 100%);
  color: #fff;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.pds-addr-add-btn:hover {
  box-shadow: 0 4px 12px rgba(20, 138, 148, 0.3);
}

/* Card grid */
.pds-address-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 16px;
}

.pds-address-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.pds-address-card:hover {
  border-color: #d1d5db;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.pds-address-card--default {
  border-color: #148a94;
  border-width: 2px;
}

.pds-address-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.pds-address-card__nickname {
  font-weight: 700;
  font-size: 15px;
  color: #04102a;
}

.pds-address-card__badge {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #fff;
  background: linear-gradient(135deg, #148a94, #0a6670);
  border-radius: 20px;
}

.pds-address-card__body {
  font-style: normal;
  font-size: 14px;
  line-height: 1.7;
  color: #5a6a7a;
  margin-bottom: 16px;
}

.pds-address-card__actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  border-top: 1px solid #f0f2f5;
  padding-top: 12px;
}

.pds-addr-edit-btn,
.pds-addr-default-btn,
.pds-addr-delete-btn {
  padding: 6px 12px;
  font-size: 12px;
  font-weight: 600;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
  border: 1px solid;
  background: transparent;
}

.pds-addr-edit-btn {
  color: #148a94;
  border-color: #148a94;
}

.pds-addr-edit-btn:hover {
  background: #148a94;
  color: #fff;
}

.pds-addr-default-btn {
  color: #5a6a7a;
  border-color: #d1d5db;
}

.pds-addr-default-btn:hover {
  background: #f0f7f8;
  border-color: #148a94;
  color: #148a94;
}

.pds-addr-delete-btn {
  color: #dc2626;
  border-color: #fca5a5;
  margin-left: auto;
}

.pds-addr-delete-btn:hover {
  background: #dc2626;
  color: #fff;
  border-color: #dc2626;
}

.pds-address-empty {
  padding: 40px 20px;
  text-align: center;
  color: #9ca3af;
  font-size: 14px;
  background: #f9fafb;
  border: 2px dashed #e5e7eb;
  border-radius: 12px;
}

/* ── Address Modal ── */
.pds-addr-modal {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
}

.pds-addr-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
}

.pds-addr-modal__content {
  position: relative;
  z-index: 1;
  background: #fff;
  border-radius: 14px;
  width: 560px;
  max-width: 95vw;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
}

.pds-addr-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid #e5e7eb;
}

.pds-addr-modal__header h3 {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: #064d55;
}

.pds-addr-modal__close {
  background: none;
  border: none;
  font-size: 24px;
  color: #9ca3af;
  cursor: pointer;
  padding: 4px 8px;
  line-height: 1;
}

.pds-addr-modal__close:hover {
  color: #04102a;
}

.pds-addr-modal__body {
  padding: 24px;
}

.pds-addr-form-row {
  margin-bottom: 16px;
}

.pds-addr-form-row label {
  display: block;
  margin-bottom: 6px;
  font-weight: 600;
  font-size: 14px;
  color: #04102a;
}

.pds-addr-form-row .required {
  color: #dc2626;
}

.pds-addr-form-row input,
.pds-addr-form-row select {
  width: 100%;
  padding: 10px 14px;
  font-size: 14px;
  border: 1px solid #ddd;
  border-radius: 10px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  background: #fff;
  box-sizing: border-box;
}

.pds-addr-form-row input:focus,
.pds-addr-form-row select:focus {
  outline: none;
  border-color: #148a94;
  box-shadow: 0 0 0 3px rgba(20, 138, 148, 0.12);
}

.pds-addr-form-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.pds-addr-form-cols--3 {
  grid-template-columns: 1fr 1fr 1fr;
}

.pds-addr-form-check label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 400;
  cursor: pointer;
}

.pds-addr-form-check input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: #148a94;
}

.pds-addr-form-error {
  padding: 10px 14px;
  background: #fef2f2;
  border: 1px solid #fca5a5;
  border-radius: 8px;
  color: #dc2626;
  font-size: 13px;
  margin-bottom: 16px;
}

.pds-addr-form__actions {
  display: flex;
  gap: 12px;
  margin-top: 24px;
}

.pds-addr-save-btn {
  flex: 1;
  padding: 14px 24px;
  font-size: 14px;
  font-weight: 600;
  border: none;
  border-radius: 10px;
  background: linear-gradient(135deg, #148a94 0%, #0a6670 100%);
  color: #fff;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 4px 12px rgba(20, 138, 148, 0.3);
}

.pds-addr-save-btn:hover {
  box-shadow: 0 6px 16px rgba(20, 138, 148, 0.4);
}

.pds-addr-save-btn.loading {
  opacity: 0.7;
  pointer-events: none;
}

.pds-addr-cancel-btn {
  padding: 14px 24px;
  font-size: 14px;
  font-weight: 600;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  background: #fff;
  color: #5a6a7a;
  cursor: pointer;
}

.pds-addr-cancel-btn:hover {
  background: #f9fafb;
}

/* ── Checkout Address Picker ── */
.pds-checkout-address-picker {
  margin-bottom: 16px;
  padding: 14px 16px;
  background: #f0fdfa;
  border: 1px solid #d1e7ea;
  border-radius: 10px;
}

.pds-checkout-address-picker__label {
  display: block;
  font-size: 12px;
  font-weight: 700;
  color: #064d55;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  margin-bottom: 8px;
}

.pds-checkout-address-select {
  width: 100%;
  padding: 10px 12px;
  font-size: 13px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  background: #fff;
  color: #04102a;
  cursor: pointer;
}

.pds-checkout-address-select:focus {
  outline: none;
  border-color: #148a94;
  box-shadow: 0 0 0 3px rgba(20, 138, 148, 0.15);
}

/* ── Address Book Responsive ── */
@media (max-width: 768px) {
  .pds-address-section__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .pds-address-grid {
    grid-template-columns: 1fr;
  }

  .pds-addr-form-cols,
  .pds-addr-form-cols--3 {
    grid-template-columns: 1fr;
  }

  .pds-addr-form__actions {
    flex-direction: column;
  }

  .pds-addr-modal__content {
    max-height: 95vh;
    border-radius: 14px 14px 0 0;
    align-self: flex-end;
  }
}

/* ==========================================================================
 * TRUST BADGES — Below Add to Cart
 * ========================================================================== */
.pds-trust-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid #e8e8e8;
}
.pds-trust-badge {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  color: #555;
  letter-spacing: 0.2px;
}
.pds-trust-badge svg {
  color: #148a94;
  flex-shrink: 0;
}

/* ==========================================================================
 * SHIPPING NUDGE — Cart Page
 * ========================================================================== */
.pds-shipping-nudge {
  background: linear-gradient(135deg, #e8f8f5 0%, #d1f2eb 100%);
  border: 1px solid #a3e4d7;
  border-radius: 8px;
  padding: 14px 20px;
  margin-bottom: 20px;
  font-size: 15px;
  color: #1a5c52;
  text-align: center;
}
.pds-shipping-nudge--upgrade {
  background: linear-gradient(135deg, #fef9e7 0%, #fdebd0 100%);
  border-color: #f9e79f;
  color: #7d6608;
}

/* ==========================================================================
 * LOW STOCK WARNING
 * ========================================================================== */
.pds-low-stock-warning {
  background: #fff3cd;
  border: 1px solid #ffc107;
  border-radius: 6px;
  padding: 8px 14px;
  margin: 10px 0;
  font-size: 13px;
  font-weight: 600;
  color: #856404;
}

/* ==========================================================================
 * SAVINGS BADGE — Price Comparison
 * ========================================================================== */
.pds-savings-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #e8f8f5;
  border: 1px solid #a3e4d7;
  border-radius: 6px;
  padding: 6px 14px;
  margin: 8px 0 4px;
  font-size: 13px;
}
.pds-savings-pct {
  font-weight: 700;
  color: #148a94;
  font-size: 15px;
}
.pds-savings-compare {
  color: #666;
  text-decoration: line-through;
}

/* ==========================================================================
 * WHY CHOOSE PDS — Shop/Category Pages
 * ========================================================================== */
.pds-why-choose {
  margin: 50px 0 30px;
  padding: 40px 24px;
  background: #f8fffe;
  border-top: 2px solid #e0f2f1;
  border-bottom: 2px solid #e0f2f1;
}
.pds-why-choose__title {
  text-align: center;
  font-size: 22px;
  font-weight: 700;
  color: #1e2d4f;
  margin-bottom: 30px;
}
.pds-why-choose__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  max-width: 1100px;
  margin: 0 auto;
}
.pds-why-choose__item {
  text-align: center;
  padding: 20px 16px;
}
.pds-why-choose__item svg {
  margin-bottom: 12px;
}
.pds-why-choose__item h3 {
  font-size: 16px;
  font-weight: 700;
  color: #1e2d4f;
  margin-bottom: 8px;
}
.pds-why-choose__item p {
  font-size: 13px;
  color: #666;
  line-height: 1.5;
}
.pds-why-choose__item a {
  color: #148a94;
}
@media (max-width: 768px) {
  .pds-why-choose__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
}
@media (max-width: 480px) {
  .pds-why-choose__grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
 * PRODUCT FAQ ACCORDION
 * ========================================================================== */
.pds-product-faqs {
  max-width: 800px;
  margin: 30px auto 40px;
  padding: 0 16px;
}
.pds-product-faqs h2 {
  font-size: 20px;
  font-weight: 700;
  color: #1e2d4f;
  margin-bottom: 16px;
}
.pds-faq-item {
  border: 1px solid #e2e2e2;
  border-radius: 8px;
  margin-bottom: 8px;
  overflow: hidden;
}
.pds-faq-item summary {
  padding: 14px 18px;
  font-size: 15px;
  font-weight: 600;
  color: #1e2d4f;
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.pds-faq-item summary::after {
  content: '+';
  font-size: 20px;
  font-weight: 300;
  color: #148a94;
  flex-shrink: 0;
  margin-left: 12px;
}
.pds-faq-item[open] summary::after {
  content: '\2212';
}
.pds-faq-item summary::-webkit-details-marker {
  display: none;
}
.pds-faq-answer {
  padding: 0 18px 16px;
  font-size: 14px;
  color: #555;
  line-height: 1.6;
}

/* ==========================================================================
 * BLOG — Shared
 * ========================================================================== */
.pds-blog-main {
  max-width: 1400px;
  margin: 0 auto;
  padding: 18px 18px 60px;
}
.pds-blog-breadcrumbs {
  font-size: 13px;
  color: #5a6a7a;
  margin-bottom: 28px;
}
.pds-blog-breadcrumbs a {
  color: var(--pds-teal, #148a94);
  text-decoration: none;
}
.pds-blog-breadcrumbs a:hover {
  text-decoration: underline;
}

/* ==========================================================================
 * BLOG — Listing Header
 * ========================================================================== */
.pds-blog-listing__header {
  text-align: center;
  margin-bottom: 44px;
}
.pds-blog-listing__title {
  font-size: 46px;
  font-weight: 400;
  color: #064d55;
  margin-bottom: 12px;
  letter-spacing: 0.01em;
  font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
}
.pds-blog-listing__desc {
  font-size: 16px;
  color: #5a6a7a;
  max-width: 520px;
  margin: 0 auto;
  line-height: 1.6;
}

/* ==========================================================================
 * BLOG — Featured Post (first post on page 1)
 * ========================================================================== */
.pds-blog-featured {
  margin-bottom: 40px;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid #e5e7eb;
}
.pds-blog-featured__link {
  display: block;
  text-decoration: none;
  color: inherit;
}
.pds-blog-featured__banner {
  position: relative;
  min-height: 360px;
  background: linear-gradient(135deg, var(--pds-teal-dark, #0a6670) 0%, var(--pds-teal, #148a94) 50%, #1a9fa8 100%);
  display: flex;
  align-items: flex-end;
}
.pds-blog-featured__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pds-blog-featured__overlay {
  position: relative;
  z-index: 1;
  width: 100%;
  padding: 48px 40px 36px;
  background: linear-gradient(to top, rgba(4,16,42,.85) 0%, rgba(4,16,42,.5) 55%, transparent 100%);
  color: #fff;
}
.pds-blog-featured__cat {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  background: rgba(255,255,255,.18);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  padding: 5px 14px;
  border-radius: 20px;
  margin-bottom: 16px;
}
.pds-blog-featured__title {
  font-size: 30px;
  font-weight: 400;
  line-height: 1.25;
  margin-bottom: 14px;
  color: #fff;
  font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
}
.pds-blog-featured__meta {
  font-size: 14px;
  opacity: 0.8;
  display: flex;
  align-items: center;
  gap: 8px;
}
.pds-blog-featured__dot { opacity: 0.5; }
.pds-blog-featured:hover .pds-blog-featured__banner {
  filter: brightness(1.04);
}
.pds-blog-featured:hover .pds-blog-featured__title {
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
}

/* ==========================================================================
 * BLOG — Card Grid
 * ========================================================================== */
.pds-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}
.pds-blog-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  overflow: hidden;
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}
.pds-blog-card:hover {
  box-shadow: 0 8px 30px rgba(10,102,112,0.1), 0 2px 8px rgba(0,0,0,0.04);
  transform: translateY(-3px);
}
.pds-blog-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: inherit;
}
.pds-blog-card__image {
  overflow: hidden;
}
.pds-blog-card__image img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}
.pds-blog-card:hover .pds-blog-card__image img {
  transform: scale(1.04);
}
.pds-blog-card__accent {
  height: 4px;
  background: linear-gradient(90deg, var(--pds-teal-dark, #0a6670), var(--pds-teal, #148a94));
}
.pds-blog-card__accent svg { display: none; }
.pds-blog-card__body {
  padding: 22px 24px 18px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.pds-blog-card__cat {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--pds-teal, #148a94);
  margin-bottom: 10px;
}
.pds-blog-card__title {
  font-size: 20px;
  font-weight: 400;
  color: #064d55;
  line-height: 1.35;
  margin-bottom: 10px;
  font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
}
.pds-blog-card:hover .pds-blog-card__title {
  color: var(--pds-teal, #148a94);
}
.pds-blog-card__excerpt {
  font-size: 14px;
  color: #5a6a7a;
  line-height: 1.6;
  margin-bottom: auto;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.pds-blog-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 14px;
  margin-top: 16px;
  border-top: 1px solid #f0f0f0;
  font-size: 12px;
  color: #9ca3af;
}
.pds-blog-card__read {
  font-weight: 500;
}
.pds-blog-pagination {
  text-align: center;
  margin-top: 44px;
}
.pds-blog-pagination .nav-links {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
}
.pds-blog-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 38px;
  padding: 0 12px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  color: #04102a;
  border: 1px solid #e5e7eb;
  transition: all 0.15s;
}
.pds-blog-pagination .page-numbers:hover {
  background: linear-gradient(to bottom, var(--pds-teal, #148a94), var(--pds-teal-dark, #0a6670));
  color: #fff;
  border-color: var(--pds-teal-dark, #0a6670);
}
.pds-blog-pagination .page-numbers.current {
  background: linear-gradient(to bottom, var(--pds-teal, #148a94), var(--pds-teal-dark, #0a6670));
  color: #fff;
  border-color: var(--pds-teal-dark, #0a6670);
}
.pds-blog-empty {
  text-align: center;
  color: #5a6a7a;
  padding: 60px 0;
  font-size: 16px;
}
@media (max-width: 991px) {
  .pds-blog-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .pds-blog-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .pds-blog-featured__banner { min-height: 280px; }
  .pds-blog-featured__title { font-size: 24px; }
  .pds-blog-featured__overlay { padding: 28px 22px 24px; }
  .pds-blog-listing__title { font-size: 32px; }
}

/* ==========================================================================
 * BLOG — Single Post
 * ========================================================================== */
.pds-blog-post {
  max-width: 760px;
  margin: 0 auto;
}
.pds-blog-post__hero {
  margin-bottom: 28px;
  border-radius: 14px;
  overflow: hidden;
}
.pds-blog-post__image {
  width: 100%;
  height: auto;
  display: block;
}
.pds-blog-post__header {
  margin-bottom: 36px;
}
.pds-blog-post__cats {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}
.pds-blog-post__cat-badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--pds-teal, #148a94);
  background: rgba(20,138,148,0.08);
  padding: 5px 14px;
  border-radius: 20px;
  text-decoration: none;
  transition: background 0.15s;
}
.pds-blog-post__cat-badge:hover {
  background: rgba(20,138,148,0.15);
  color: var(--pds-teal, #148a94);
}
.pds-blog-post__title {
  font-size: 38px;
  font-weight: 400;
  color: #064d55;
  line-height: 1.2;
  margin-bottom: 16px;
  font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
}
.pds-blog-post__meta {
  font-size: 14px;
  color: #5a6a7a;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.pds-blog-post__meta a {
  color: var(--pds-teal, #148a94);
  text-decoration: none;
}
.pds-blog-post__content {
  font-size: 17px;
  line-height: 1.8;
  color: var(--pds-ink, #04102a);
}
.pds-blog-post__content h2 {
  font-size: 26px;
  font-weight: 400;
  color: #064d55;
  margin: 44px 0 18px;
  padding-bottom: 10px;
  border-bottom: 2px solid #e5e7eb;
  font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
}
.pds-blog-post__content h3 {
  font-size: 20px;
  font-weight: 700;
  color: #064d55;
  margin: 30px 0 12px;
}
.pds-blog-post__content p {
  margin-bottom: 18px;
}
.pds-blog-post__content ul,
.pds-blog-post__content ol {
  margin: 0 0 18px 24px;
}
.pds-blog-post__content li {
  margin-bottom: 8px;
}
.pds-blog-post__content a {
  color: var(--pds-teal, #148a94);
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-color: rgba(20,138,148,.3);
  transition: text-decoration-color 0.15s;
}
.pds-blog-post__content a:hover {
  text-decoration-color: var(--pds-teal, #148a94);
}
.pds-blog-post__content img {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
  margin: 20px 0;
}
.pds-blog-post__content blockquote {
  border-left: 4px solid var(--pds-teal, #148a94);
  padding: 16px 24px;
  margin: 24px 0;
  background: #f0fafb;
  border-radius: 0 12px 12px 0;
  font-style: italic;
  color: #5a6a7a;
}
.pds-blog-post__content strong {
  color: var(--pds-ink, #04102a);
}

/* Blog share buttons */
.pds-blog-post__share {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 40px 0;
  padding: 24px 0;
  border-top: 1px solid #e5e7eb;
  border-bottom: 1px solid #e5e7eb;
}
.pds-blog-post__share-label {
  font-size: 14px;
  font-weight: 600;
  color: #5a6a7a;
}
.pds-blog-post__share-btns {
  display: flex;
  gap: 8px;
}
.pds-share-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  text-decoration: none;
  color: #fff;
  transition: transform 0.15s, opacity 0.15s;
}
.pds-share-btn:hover {
  transform: scale(1.1);
  opacity: 0.9;
  color: #fff;
}
.pds-share-btn--fb { background: #1877f2; }
.pds-share-btn--tw { background: #0f1419; }
.pds-share-btn--li { background: #0a66c2; }
.pds-share-btn--email { background: #5a6a7a; }

/* Blog post navigation */
.pds-blog-post__nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 40px;
}
.pds-blog-post__nav-link {
  display: block;
  text-decoration: none;
  padding: 20px 24px;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.pds-blog-post__nav-link:hover {
  border-color: var(--pds-teal, #148a94);
  box-shadow: 0 2px 12px rgba(10,102,112,0.1);
}
.pds-blog-post__nav-link--next {
  text-align: right;
}
.pds-blog-post__nav-label {
  display: block;
  font-size: 12px;
  color: #9ca3af;
  margin-bottom: 6px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.pds-blog-post__nav-title {
  display: block;
  font-size: 15px;
  font-weight: 600;
  color: #064d55;
  line-height: 1.35;
}
.pds-blog-post__back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 28px;
  font-size: 14px;
  font-weight: 700;
  color: var(--pds-teal, #148a94);
  text-decoration: none;
  padding: 10px 20px;
  border-radius: 10px;
  background: rgba(20,138,148,0.06);
  transition: background 0.15s;
}
.pds-blog-post__back:hover {
  background: rgba(20,138,148,0.12);
}
@media (max-width: 600px) {
  .pds-blog-post__title { font-size: 28px; }
  .pds-blog-post__content { font-size: 16px; }
  .pds-blog-post__content h2 { font-size: 22px; }
  .pds-blog-post__nav { grid-template-columns: 1fr; }
  .pds-blog-post__nav-link--next { text-align: left; }
  .pds-blog-post__share { flex-direction: column; align-items: flex-start; gap: 12px; }
}
















