/**
 * WooCommerce Standard CSS - Bootstrap 5 Enhanced
 * Source: Official WooCommerce Plugin + Bootstrap 5 UI Approach
 * Version: Latest (2026)
 *
 * This stylesheet provides base styles for all WooCommerce elements
 * with Bootstrap 5 design system integration and full responsiveness.
 */

@charset "UTF-8";

/* ============================================
   CSS CUSTOM PROPERTIES (Bootstrap 5 Style Variables)
   ============================================ */
:root {
  /* Primary Colors */
  --wc-primary: #0d6efd;
  --wc-primary-hover: #0b5ed7;
  --wc-primary-text: #ffffff;
  --wc-secondary: #6c757d;
  --wc-secondary-hover: #5c636a;
  --wc-secondary-text: #ffffff;

  /* Status Colors */
  --wc-success: #198754;
  --wc-success-light: #d1e7dd;
  --wc-danger: #dc3545;
  --wc-danger-light: #f8d7da;
  --wc-warning: #ffc107;
  --wc-warning-light: #fff3cd;
  --wc-info: #0dcaf0;
  --wc-info-light: #cff4fc;

  /* Legacy color mappings */
  --woocommerce: var(--wc-primary);
  --wc-green: var(--wc-success);
  --wc-red: var(--wc-danger);
  --wc-orange: var(--wc-warning);
  --wc-blue: var(--wc-info);
  --wc-highlight: var(--wc-warning);

  /* Neutral Colors */
  --wc-white: #ffffff;
  --wc-light: #f8f9fa;
  --wc-gray-100: #f8f9fa;
  --wc-gray-200: #e9ecef;
  --wc-gray-300: #dee2e6;
  --wc-gray-400: #ced4da;
  --wc-gray-500: #adb5bd;
  --wc-gray-600: #6c757d;
  --wc-gray-700: #495057;
  --wc-gray-800: #343a40;
  --wc-gray-900: #212529;
  --wc-dark: #212529;
  --wc-black: #000000;

  /* Background & Content */
  --wc-body-bg: #f8f9fa;
  --wc-content-bg: #ffffff;
  --wc-subtext: #6c757d;

  /* Typography */
  --wc-font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif;
  --wc-font-size-base: 1rem;
  --wc-font-size-sm: 0.875rem;
  --wc-font-size-lg: 1.25rem;
  --wc-font-size-xs: 0.75rem;
  --wc-line-height-base: 1.2;
  --wc-font-weight-normal: 400;
  --wc-font-weight-medium: 500;
  --wc-font-weight-semibold: 600;
  --wc-font-weight-bold: 700;

  /* Forms */
  --wc-form-border-color: var(--wc-gray-400);
  --wc-form-border-radius: 0.375rem;
  --wc-form-border-width: 1px;
  --wc-form-focus-color: rgba(13, 110, 253, 0.25);
  --wc-input-padding-y: 0.25rem;
  --wc-input-padding-x: 0.5rem;
  --wc-input-bg: var(--wc-white);

  /* Buttons */
  --wc-btn-padding-y: 0.375rem;
  --wc-btn-padding-x: 0.75rem;
  --wc-btn-font-size: var(--wc-font-size-base);
  --wc-btn-border-radius: var(--wc-form-border-radius);

  /* Spacing */
  --wc-spacer: 1rem;
  --wc-spacer-1: calc(var(--wc-spacer) * 0.25);
  --wc-spacer-2: calc(var(--wc-spacer) * 0.5);
  --wc-spacer-3: var(--wc-spacer);
  --wc-spacer-4: calc(var(--wc-spacer) * 1.5);
  --wc-spacer-5: calc(var(--wc-spacer) * 3);

  /* Shadows */
  --wc-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --wc-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --wc-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);

  /* Transitions */
  --wc-transition-base: all 0.2s ease-in-out;
  --wc-transition-fade: opacity 0.15s linear;

  /* Borders */
  --wc-border-color: var(--wc-gray-300);
  --wc-border-radius: 0.375rem;
  --wc-border-radius-sm: 0.25rem;
  --wc-border-radius-lg: 0.5rem;
  --wc-border-radius-pill: 50rem;

  /* Container widths */
  --wc-container-sm: 540px;
  --wc-container-md: 720px;
  --wc-container-lg: 960px;
  --wc-container-xl: 1140px;
  --wc-container-xxl: 1320px;
}

/* ============================================
   WOOCOMMERCE CONTAINER (Bootstrap-style)
   ============================================ */
.woocommerce-container,
main.wp-block-group {
  width: 100%;
  padding-right: var(--wc-spacer-3);
  padding-left: var(--wc-spacer-3);
  margin-right: auto;
  margin-left: auto;
  background-color: var(--wc-white);
  box-sizing: border-box;
}

/* Responsive container widths */
@media (min-width: 576px) {
  .woocommerce-container,
  main.wp-block-group {
    max-width: var(--wc-container-sm);
  }
}

@media (min-width: 768px) {
  .woocommerce-container,
  main.wp-block-group {
    max-width: var(--wc-container-md);
  }
}

@media (min-width: 992px) {
  .woocommerce-container,
  main.wp-block-group {
    max-width: var(--wc-container-lg);
  }
}

@media (min-width: 1200px) {
  .woocommerce-container,
  main.wp-block-group {
    max-width: var(--wc-container-xl);
  }
}

@media (min-width: 1400px) {
  .woocommerce-container,
  main.wp-block-group {
    max-width: var(--wc-container-xxl);
  }
}

/* Container variations */
.woocommerce-container-fluid,
main.wp-block-group.is-layout-flow {
  width: 100%;
  padding-right: var(--wc-spacer-3);
  padding-left: var(--wc-spacer-3);
  margin-right: auto;
  margin-left: auto;
  background-color: var(--wc-white);
  box-sizing: border-box;
}

.woocommerce-container-sm,
.woocommerce-container-md,
.woocommerce-container-lg,
.woocommerce-container-xl,
.woocommerce-container-xxl {
  width: 100%;
  padding-right: var(--wc-spacer-3);
  padding-left: var(--wc-spacer-3);
  margin-right: auto;
  margin-left: auto;
  background-color: var(--wc-white);
  box-sizing: border-box;
}

/* ============================================
   ANIMATIONS
   ============================================ */
@keyframes spin {
  100% {
    transform: rotate(360deg);
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

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

/* ============================================
   FONTS
   ============================================ */
@font-face {
  font-family: star;
  src: url(../fonts/WooCommerce.woff2) format("woff2"),
       url(../fonts/WooCommerce.woff) format("woff"),
       url(../fonts/WooCommerce.ttf) format("truetype");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: WooCommerce;
  src: url(../fonts/WooCommerce.woff2) format("woff2"),
       url(../fonts/WooCommerce.woff) format("woff"),
       url(../fonts/WooCommerce.ttf) format("truetype");
  font-weight: 400;
  font-style: normal;
}

/* ============================================
   BASE TYPOGRAPHY (Bootstrap-style)
   ============================================ */
.woocommerce,
.woocommerce-page {
  font-family: var(--wc-font-family);
  font-size: var(--wc-font-size-base);
  font-weight: var(--wc-font-weight-normal);
  line-height: var(--wc-line-height-base);
  color: var(--wc-gray-900);
}

.woocommerce h1,
.woocommerce h2,
.woocommerce h3,
.woocommerce h4,
.woocommerce h5,
.woocommerce h6 {
  margin-top: 0;
  margin-bottom: var(--wc-spacer-2);
  font-weight: var(--wc-font-weight-medium);
  line-height: 1.2;
  color: var(--wc-gray-900);
}

.woocommerce h1 { font-size: 2.5rem; }
.woocommerce h2 { font-size: 2rem; }
.woocommerce h3 { font-size: 1.75rem; }
.woocommerce h4 { font-size: 1.5rem; }
.woocommerce h5 { font-size: 1.25rem; }
.woocommerce h6 { font-size: 1rem; }

/* Responsive typography */
@media (max-width: 767.98px) {
  .woocommerce h1 { font-size: 1.75rem; }
  .woocommerce h2 { font-size: 1.5rem; }
  .woocommerce h3 { font-size: 1.25rem; }
  .woocommerce h4 { font-size: 1.125rem; }
}

.woocommerce p {
  margin-top: 0;
  margin-bottom: var(--wc-spacer-3);
}

.woocommerce a {
  color: var(--wc-primary);
  text-decoration: none;
  transition: var(--wc-transition-base);
}

.woocommerce a:hover {
  color: var(--wc-primary-hover);
  text-decoration: underline;
}

/* ============================================
   FORMS (Bootstrap 5 Style)
   ============================================ */
.woocommerce form .form-row {
  padding: 0;
  margin-bottom: var(--wc-spacer-3);
}

.woocommerce form .form-row [placeholder]:focus::-webkit-input-placeholder {
  -webkit-transition: opacity 0.5s 0.5s ease;
  transition: opacity 0.5s 0.5s ease;
  opacity: 0;
}

.woocommerce form .form-row label {
  display: inline-block;
  margin-bottom: var(--wc-spacer-2);
  font-weight: var(--wc-font-weight-medium);
  color: var(--wc-gray-700);
  font-size: var(--wc-font-size-sm);
}

.woocommerce form .form-row label.hidden {
  visibility: hidden;
}

.woocommerce form .form-row label.inline {
  display: inline;
}

.woocommerce form .form-row .woocommerce-input-wrapper .description {
  background: var(--wc-info);
  color: var(--wc-white);
  border-radius: var(--wc-border-radius);
  padding: var(--wc-spacer-3);
  margin: var(--wc-spacer-2) 0 0;
  clear: both;
  display: none;
  position: relative;
  font-size: var(--wc-font-size-sm);
}

.woocommerce form .form-row .woocommerce-input-wrapper .description a {
  color: var(--wc-white);
  text-decoration: underline;
  border: 0;
  box-shadow: none;
}

.woocommerce form .form-row .woocommerce-input-wrapper .description::before {
  left: 50%;
  top: 0;
  margin-top: -4px;
  transform: translateX(-50%) rotate(180deg);
  content: "";
  position: absolute;
  border-width: 4px 6px 0 6px;
  border-style: solid;
  border-color: var(--wc-info) transparent transparent transparent;
  z-index: 100;
  display: block;
}

/* Bootstrap-style form controls */
.woocommerce form .form-row .input-checkbox {
  width: 1em;
  height: 1em;
  margin-top: 0.25em;
  vertical-align: top;
  background-color: var(--wc-white);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: var(--wc-form-border-width) solid var(--wc-form-border-color);
  border-radius: var(--wc-border-radius-sm);
  appearance: none;
  cursor: pointer;
  transition: var(--wc-transition-base);
}

.woocommerce form .form-row .input-checkbox:checked {
  background-color: var(--wc-primary);
  border-color: var(--wc-primary);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}

.woocommerce form .form-row .input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
  display: block;
  width: 100%;
  padding: var(--wc-input-padding-y) var(--wc-input-padding-x);
  font-family: var(--wc-font-family);
  font-size: var(--wc-font-size-base);
  font-weight: var(--wc-font-weight-normal);
  line-height: var(--wc-line-height-base);
  color: var(--wc-gray-900);
  background-color: var(--wc-input-bg);
  background-clip: padding-box;
  border: var(--wc-form-border-width) solid var(--wc-form-border-color);
  border-radius: var(--wc-form-border-radius);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  box-sizing: border-box;
  margin: 0;
}

.woocommerce form .form-row .input-text:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus {
  color: var(--wc-gray-900);
  background-color: var(--wc-white);
  border-color: #86b7fe;
  outline: 0;
  box-shadow: 0 0 0 0.25rem var(--wc-form-focus-color);
}

.woocommerce form .form-row .input-text::placeholder {
  color: var(--wc-gray-500);
  opacity: 1;
}

.woocommerce form .form-row select {
  cursor: pointer;
  appearance: none;
  padding-right: 2.25rem;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px 12px;
}

.woocommerce form .form-row textarea {
  min-height: 120px;
  resize: vertical;
}

.woocommerce form .form-row .required {
  color: var(--wc-danger);
  font-weight: var(--wc-font-weight-bold);
  border: 0 !important;
  text-decoration: none;
}

.woocommerce form .form-row .optional {
  color: var(--wc-gray-500);
  font-size: var(--wc-font-size-sm);
  font-weight: var(--wc-font-weight-normal);
}

/* Validation states */
.woocommerce form .form-row.woocommerce-invalid label {
  color: var(--wc-danger);
}

.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select,
.woocommerce form .form-row.woocommerce-invalid textarea {
  border-color: var(--wc-danger);
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

.woocommerce form .form-row.woocommerce-invalid input.input-text:focus,
.woocommerce form .form-row.woocommerce-invalid select:focus,
.woocommerce form .form-row.woocommerce-invalid textarea:focus {
  border-color: var(--wc-danger);
  box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
}

.woocommerce form .form-row.woocommerce-invalid .select2-container:not(.select2-container--open) .select2-selection {
  border-color: var(--wc-danger);
}

.woocommerce form .form-row.woocommerce-validated input.input-text,
.woocommerce form .form-row.woocommerce-validated select,
.woocommerce form .form-row.woocommerce-validated textarea {
  border-color: var(--wc-success);
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

.woocommerce form .form-row.woocommerce-validated input.input-text:focus,
.woocommerce form .form-row.woocommerce-validated select:focus,
.woocommerce form .form-row.woocommerce-validated textarea:focus {
  border-color: var(--wc-success);
  box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);
}

.woocommerce form .form-row.woocommerce-validated .select2-container:not(.select2-container--open) .select2-selection {
  border-color: var(--wc-success);
}

/* Form row layout */
.woocommerce form .form-row-first,
.woocommerce form .form-row-last {
  width: 48%;
  overflow: visible;
}

.woocommerce form .form-row-first {
  float: left;
}

.woocommerce form .form-row-last {
  float: right;
}

.woocommerce form .form-row-wide {
  clear: both;
}

/* Responsive form layout */
@media (max-width: 767.98px) {
  .woocommerce form .form-row-first,
  .woocommerce form .form-row-last {
    width: 100%;
    float: none;
  }
}

.woocommerce form .form-row ::-webkit-input-placeholder {
  color: var(--wc-gray-500);
}

.woocommerce form .form-row :-moz-placeholder {
  color: var(--wc-gray-500);
}

.woocommerce form .form-row :-ms-input-placeholder {
  color: var(--wc-gray-500);
}

/* ============================================
   SELECT2 STYLING
   ============================================ */
:where(.woocommerce) .select2-container {
  width: 100%;
}

:where(.woocommerce) .select2-container .select2-selection--single {
  height: auto;
}

:where(.woocommerce) .select2-container .select2-selection--single .select2-selection__rendered {
  padding: 0.5em;
  line-height: normal;
  box-sizing: border-box;
  color: var(--wc-form-color-text, #444);
  font-weight: 400;
}

:where(.woocommerce) .select2-container .select2-selection--single .select2-selection__placeholder {
  color: #999;
}

:where(.woocommerce) .select2-container .select2-selection--single .select2-selection__arrow {
  position: absolute;
  top: 2px;
  right: 0.5em;
  height: 100%;
  width: 16px;
}

:where(.woocommerce) .select2-container .select2-selection--single .select2-selection__arrow b {
  border: none;
  display: block;
  background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJmZWF0aGVyIGZlYXRoZXItY2hldnJvbi1kb3duIj48cG9seWxpbmUgcG9pbnRzPSI2IDkgMTIgMTUgMTggOSI+PC9wb2x5bGluZT48L3N2Zz4=) no-repeat;
  background-size: 16px;
  width: 16px;
  height: 16px;
  position: absolute;
  top: 50%;
  left: 0;
  margin: -8px 0 0;
}

:where(.woocommerce) .select2-container .select2-dropdown,
:where(.woocommerce) .select2-container .select2-selection {
  background-color: var(--wc-form-color-background, #fff);
  border: var(--wc-form-border-width, 1px) solid var(--wc-form-border-color, #aaa);
  border-radius: var(--wc-form-border-radius, 4px);
}

:where(.woocommerce) .select2-container.select2-container--open .select2-dropdown--above {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

:where(.woocommerce) .select2-container.select2-container--open .select2-dropdown--below {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

:where(.woocommerce) .select2-results__options {
  list-style: none;
  margin: 0;
  padding: 0;
}

:where(.woocommerce) .select2-results__option {
  margin: 0;
}

/* ============================================
   STORE NOTICE (Bootstrap Style)
   ============================================ */
.woocommerce-store-notice,
p.demo_store {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  margin: 0;
  width: 100%;
  font-size: var(--wc-font-size-sm);
  font-weight: var(--wc-font-weight-medium);
  padding: var(--wc-spacer-3) var(--wc-spacer-4);
  text-align: center;
  background-color: var(--wc-primary);
  color: var(--wc-white);
  z-index: 99998;
  box-shadow: var(--wc-shadow);
  display: none;
}

.woocommerce-store-notice a,
p.demo_store a {
  color: var(--wc-white);
  text-decoration: underline;
  font-weight: var(--wc-font-weight-semibold);
}

.woocommerce-store-notice a:hover,
p.demo_store a:hover {
  color: var(--wc-white);
  opacity: 0.9;
}

/* ============================================
   UTILITIES
   ============================================ */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

.admin-bar p.demo_store {
  top: 32px;
}

.clear {
  clear: both;
}

/* ============================================
   LOADING OVERLAYS
   ============================================ */
.woocommerce .blockUI.blockOverlay {
  position: relative;
}

.woocommerce .blockUI.blockOverlay::before {
  height: 1em;
  width: 1em;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -0.5em;
  margin-top: -0.5em;
  content: "";
  animation: spin 1s ease-in-out infinite;
  background: url(../images/icons/loader.svg) center center;
  background-size: cover;
  line-height: 1;
  text-align: center;
  font-size: 2em;
  color: rgba(0, 0, 0, 0.75);
}

.woocommerce .loader::before {
  height: 1em;
  width: 1em;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -0.5em;
  margin-top: -0.5em;
  content: "";
  animation: spin 1s ease-in-out infinite;
  background: url(../images/icons/loader.svg) center center;
  background-size: cover;
  line-height: 1;
  text-align: center;
  font-size: 2em;
  color: rgba(0, 0, 0, 0.75);
}

/* ============================================
   REMOVE BUTTON
   ============================================ */
.woocommerce a.remove {
  display: block;
  font-size: 1.5em;
  height: 1em;
  width: 1em;
  text-align: center;
  line-height: 1;
  border-radius: 100%;
  color: var(--wc-red) !important;
  text-decoration: none;
  font-weight: 700;
  border: 0;
}

.woocommerce a.remove:hover {
  color: #fff !important;
  background: var(--wc-red);
}

/* ============================================
   NOTES
   ============================================ */
.woocommerce small.note {
  display: block;
  color: #767676;
  font-size: 0.857em;
  margin-top: 10px;
}

/* ============================================
   BREADCRUMBS
   ============================================ */
.woocommerce .woocommerce-breadcrumb {
  margin: 0 0 1em;
  padding: 0;
}

.woocommerce .woocommerce-breadcrumb::after,
.woocommerce .woocommerce-breadcrumb::before {
  content: " ";
  display: table;
}

.woocommerce .woocommerce-breadcrumb::after {
  clear: both;
}

/* ============================================
   QUANTITY INPUT
   ============================================ */
.woocommerce .quantity .qty {
  width: 3.631em;
  text-align: center;
}

/* ============================================
   SINGLE PRODUCT
   ============================================ */
.woocommerce div.product {
  margin-bottom: 0;
  position: relative;
}

.woocommerce div.product .product_title {
  clear: none;
  margin-top: 0;
  padding: 0;
}

.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
  background: inherit;
  font-weight: 700;
  display: inline-block;
}

.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
  opacity: 0.7;
  display: inline-block;
}

.woocommerce div.product p.stock {
  font-size: 0.92em;
}

.woocommerce div.product .woocommerce-product-rating {
  margin-bottom: 1.618em;
}

/* Product Gallery */
.woocommerce div.product div.images {
  margin-bottom: 2em;
}

.woocommerce div.product div.images img {
  display: block;
  width: 100%;
  height: auto;
  box-shadow: none;
}

.woocommerce div.product div.images div.thumbnails {
  padding-top: 1em;
}

.woocommerce div.product div.images.woocommerce-product-gallery {
  position: relative;
}

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
  transition: all cubic-bezier(0.795, -0.035, 0, 1) 0.5s;
  margin: 0;
  padding: 0;
}

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper .zoomImg {
  background-color: #fff;
  opacity: 0;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image--placeholder {
  border: 1px solid #f2f2f2;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image:nth-child(n+2) {
  width: 25%;
  display: inline-block;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image a {
  display: block;
  outline-offset: -2px;
}

.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
  background: #fff;
  border: none;
  box-sizing: content-box;
  border-radius: 100%;
  cursor: pointer;
  font-size: 2em;
  height: 36px;
  padding: 0;
  position: absolute;
  right: 0.5em;
  text-indent: -9999px;
  top: 0.5em;
  width: 36px;
  z-index: 99;
}

.woocommerce div.product div.images .woocommerce-product-gallery__trigger::before {
  border: 2px solid #000;
  border-radius: 100%;
  box-sizing: content-box;
  content: "";
  display: block;
  height: 10px;
  left: 9px;
  top: 9px;
  position: absolute;
  width: 10px;
}

.woocommerce div.product div.images .woocommerce-product-gallery__trigger::after {
  background: #000;
  border-radius: 6px;
  box-sizing: content-box;
  content: "";
  display: block;
  height: 8px;
  left: 22px;
  position: absolute;
  top: 19px;
  transform: rotate(-45deg);
  width: 2px;
}

.woocommerce div.product div.images .flex-control-thumbs {
  overflow: hidden;
  zoom: 1;
  margin: 0;
  padding: 0;
}

.woocommerce div.product div.images .flex-control-thumbs li {
  width: 25%;
  float: left;
  margin: 0;
  list-style: none;
}

.woocommerce div.product div.images .flex-control-thumbs li img {
  cursor: pointer;
  opacity: 0.5;
  margin: 0;
}

.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs li img:hover {
  opacity: 1;
}

.woocommerce div.product .woocommerce-product-gallery--columns-3 .flex-control-thumbs li:nth-child(3n+1) {
  clear: left;
}

.woocommerce div.product .woocommerce-product-gallery--columns-4 .flex-control-thumbs li:nth-child(4n+1) {
  clear: left;
}

.woocommerce div.product .woocommerce-product-gallery--columns-5 .flex-control-thumbs li:nth-child(5n+1) {
  clear: left;
}

/* Product Summary */
.woocommerce div.product div.summary {
  margin-bottom: 2em;
}

/* Social */
.woocommerce div.product div.social {
  text-align: right;
  margin: 0 0 1em;
}

.woocommerce div.product div.social span {
  margin: 0 0 0 2px;
}

.woocommerce div.product div.social span span {
  margin: 0;
}

.woocommerce div.product div.social iframe {
  float: left;
  margin-top: 3px;
}

/* Product Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
  list-style: none;
  padding: 0 0 0 1em;
  margin: 0 0 1.618em;
  overflow: hidden;
  position: relative;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  border: 1px solid #cfc8d8;
  background-color: #e9e6ed;
  color: #515151;
  display: inline-block;
  position: relative;
  z-index: 0;
  border-radius: 4px 4px 0 0;
  margin: 0 -5px;
  padding: 0 1em;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  display: inline-block;
  padding: 0.5em 0;
  font-weight: 700;
  color: #515151;
  text-decoration: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  text-decoration: none;
  color: #6b6b6b;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: #fff;
  color: #515151;
  z-index: 2;
  border-bottom-color: #fff;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: inherit;
  text-shadow: inherit;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active::before {
  box-shadow: 2px 2px 0 #fff;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active::after {
  box-shadow: -2px 2px 0 #fff;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::after,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before {
  border: 1px solid #cfc8d8;
  position: absolute;
  bottom: -1px;
  width: 5px;
  height: 5px;
  content: " ";
  box-sizing: border-box;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before {
  left: -5px;
  border-bottom-right-radius: 4px;
  border-width: 0 1px 1px 0;
  box-shadow: 2px 2px 0 #e9e6ed;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
  right: -5px;
  border-bottom-left-radius: 4px;
  border-width: 0 0 1px 1px;
  box-shadow: -2px 2px 0 #e9e6ed;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
  position: absolute;
  content: " ";
  width: 100%;
  bottom: 0;
  left: 0;
  border-bottom: 1px solid #cfc8d8;
  z-index: 1;
}

.woocommerce div.product .woocommerce-tabs .panel {
  margin: 0 0 2em;
  padding: 0;
}

/* Cart Form */
.woocommerce div.product p.cart {
  margin-bottom: 2em;
}

.woocommerce div.product p.cart::after,
.woocommerce div.product p.cart::before {
  content: " ";
  display: table;
}

.woocommerce div.product p.cart::after {
  clear: both;
}

.woocommerce div.product form.cart {
  margin-bottom: 2em;
}

.woocommerce div.product form.cart::after,
.woocommerce div.product form.cart::before {
  content: " ";
  display: table;
}

.woocommerce div.product form.cart::after {
  clear: both;
}

.woocommerce div.product form.cart div.quantity {
  float: left;
  margin: 0 4px 0 0;
}

.woocommerce div.product form.cart table {
  border-width: 0 0 1px;
}

.woocommerce div.product form.cart table td {
  padding-left: 0;
}

.woocommerce div.product form.cart table div.quantity {
  float: none;
  margin: 0;
}

.woocommerce div.product form.cart table small.stock {
  display: block;
  float: none;
}

/* Variations */
.woocommerce div.product form.cart .variations {
  margin-bottom: 1em;
  border: 0;
  width: 100%;
}

.woocommerce div.product form.cart .variations td,
.woocommerce div.product form.cart .variations th {
  border: 0;
  line-height: 2em;
  vertical-align: top;
}

.woocommerce div.product form.cart .variations label {
  font-weight: 700;
  text-align: left;
}

.woocommerce div.product form.cart .variations select {
  max-width: 100%;
  min-width: 75%;
  display: inline-block;
  margin-right: 1em;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding-right: 3em;
  background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJmZWF0aGVyIGZlYXRoZXItY2hldnJvbi1kb3duIj48cG9seWxpbmUgcG9pbnRzPSI2IDkgMTIgMTUgMTggOSI+PC9wb2x5bGluZT48L3N2Zz4=) no-repeat;
  background-size: 16px;
  -webkit-background-size: 16px;
  background-position: calc(100% - 12px) 50%;
  -webkit-background-position: calc(100% - 12px) 50%;
}

.woocommerce div.product form.cart .variations td.label {
  padding-right: 1em;
}

.woocommerce div.product form.cart .woocommerce-variation-description p {
  margin-bottom: 1em;
}

.woocommerce div.product form.cart .reset_variations {
  visibility: hidden;
  font-size: 0.83em;
}

.woocommerce div.product form.cart .wc-no-matching-variations {
  display: none;
}

.woocommerce div.product form.cart .button {
  vertical-align: middle;
  float: left;
}

/* Grouped Products */
.woocommerce div.product form.cart .group_table td.woocommerce-grouped-product-list-item__label {
  padding-right: 1em;
  padding-left: 1em;
}

.woocommerce div.product form.cart .group_table td {
  vertical-align: top;
  padding-bottom: 0.5em;
  border: 0;
}

.woocommerce div.product form.cart .group_table td:first-child {
  width: 4em;
  text-align: center;
}

.woocommerce div.product form.cart .group_table .wc-grouped-product-add-to-cart-checkbox {
  display: inline-block;
  width: auto;
  margin: 0 auto;
  transform: scale(1.5, 1.5);
}

/* ============================================
   SALE BADGE (Bootstrap Badge Style)
   ============================================ */
.woocommerce span.onsale {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.5rem;
  min-width: 2.5rem;
  padding: var(--wc-spacer-1) var(--wc-spacer-2);
  font-size: var(--wc-font-size-xs);
  font-weight: var(--wc-font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  position: absolute;
  text-align: center;
  line-height: 1;
  top: var(--wc-spacer-2);
  left: var(--wc-spacer-2);
  margin: 0;
  border-radius: var(--wc-border-radius);
  background-color: var(--wc-danger);
  color: var(--wc-white);
  z-index: 9;
  box-shadow: var(--wc-shadow-sm);
}

/* Circle badge variant */
.woocommerce span.onsale.badge-circle {
  border-radius: var(--wc-border-radius-pill);
  min-height: 3rem;
  min-width: 3rem;
  padding: var(--wc-spacer-2);
}

/* ============================================
   PRODUCT LISTS
   ============================================ */
.woocommerce .products ul,
.woocommerce ul.products {
  margin: 0 0 1em;
  padding: 0;
  list-style: none outside;
  clear: both;
}

.woocommerce .products ul::after,
.woocommerce .products ul::before,
.woocommerce ul.products::after,
.woocommerce ul.products::before {
  content: " ";
  display: table;
}

.woocommerce .products ul::after,
.woocommerce ul.products::after {
  clear: both;
}

.woocommerce .products ul li,
.woocommerce ul.products li {
  list-style: none outside;
}

.woocommerce ul.products li.product .onsale {
  top: 0;
  right: 0;
  left: auto;
  margin: -0.5em -0.5em 0 0;
}

.woocommerce ul.products li.product .woocommerce-loop-category__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h3 {
  padding: 0.5em 0;
  margin: 0;
  font-size: 1em;
}

.woocommerce ul.products li.product a {
  text-decoration: none;
}

.woocommerce ul.products li.product a.woocommerce-loop-product__link {
  display: block;
}

.woocommerce ul.products li.product a img {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 0 1em;
  box-shadow: none;
}

.woocommerce ul.products li.product strong {
  display: block;
}

.woocommerce ul.products li.product .woocommerce-placeholder {
  border: 1px solid #f2f2f2;
}

.woocommerce ul.products li.product .star-rating {
  font-size: 0.857em;
}

.woocommerce ul.products li.product .button {
  display: inline-block;
  margin-top: 1em;
}

.woocommerce ul.products li.product .price {
  display: block;
  font-weight: 400;
  margin-bottom: 0.5em;
  font-size: 0.857em;
}

.woocommerce ul.products li.product .price del {
  color: inherit;
  opacity: 0.7;
  display: inline-block;
}

.woocommerce ul.products li.product .price ins {
  background: 0 0;
  font-weight: 700;
  display: inline-block;
}

.woocommerce ul.products li.product .price .from {
  font-size: 0.67em;
  margin: -2px 0 0 0;
  text-transform: uppercase;
  color: rgba(90, 89, 68, 0.5);
}

/* ============================================
   RESULT COUNT & ORDERING
   ============================================ */
.woocommerce .woocommerce-result-count {
  margin: 0 0 1em;
}

.woocommerce .woocommerce-ordering {
  margin: 0 0 1em;
}

.woocommerce .woocommerce-ordering > label {
  margin-right: 0.25rem;
}

.woocommerce .woocommerce-ordering select {
  vertical-align: top;
}

/* ============================================
   PAGINATION (Bootstrap Style)
   ============================================ */
.woocommerce nav.woocommerce-pagination {
  display: flex;
  justify-content: center;
  margin-top: var(--wc-spacer-4);
  margin-bottom: var(--wc-spacer-4);
}

.woocommerce nav.woocommerce-pagination ul {
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  list-style: none;
  margin: 0;
  gap: var(--wc-spacer-1);
}

.woocommerce nav.woocommerce-pagination ul li {
  padding: 0;
  margin: 0;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--wc-spacer-2) var(--wc-spacer-3);
  min-width: 2.5rem;
  font-size: var(--wc-font-size-base);
  font-weight: var(--wc-font-weight-normal);
  line-height: var(--wc-line-height-base);
  color: var(--wc-primary);
  text-decoration: none;
  background-color: var(--wc-white);
  border: var(--wc-form-border-width) solid var(--wc-border-color);
  border-radius: var(--wc-border-radius);
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li a:focus {
  z-index: 2;
  color: var(--wc-primary-hover);
  background-color: var(--wc-gray-100);
  border-color: var(--wc-border-color);
}

.woocommerce nav.woocommerce-pagination ul li a:focus {
  outline: 0;
  box-shadow: 0 0 0 0.25rem var(--wc-form-focus-color);
}

.woocommerce nav.woocommerce-pagination ul li span.current {
  z-index: 3;
  color: var(--wc-white);
  background-color: var(--wc-primary);
  border-color: var(--wc-primary);
}

.woocommerce nav.woocommerce-pagination ul li.disabled span,
.woocommerce nav.woocommerce-pagination ul li.disabled a {
  color: var(--wc-gray-500);
  pointer-events: none;
  background-color: var(--wc-white);
  border-color: var(--wc-border-color);
}

/* ============================================
   CART BUTTONS
   ============================================ */
.woocommerce .cart .button,
.woocommerce .cart input.button {
  float: none;
}

.woocommerce a.added_to_cart {
  padding-top: 0.5em;
  display: inline-block;
}

/* ============================================
   REVIEWS
   ============================================ */
.woocommerce #reviews h2 small {
  float: right;
  color: #767676;
  font-size: 15px;
  margin: 10px 0 0;
}

.woocommerce #reviews h2 small a {
  text-decoration: none;
  color: #767676;
}

.woocommerce #reviews h3 {
  margin: 0;
}

.woocommerce #reviews #respond {
  margin: 0;
  border: 0;
  padding: 0;
}

.woocommerce #reviews #comment {
  height: 75px;
}

.woocommerce #reviews #comments .add_review::after,
.woocommerce #reviews #comments .add_review::before {
  content: " ";
  display: table;
}

.woocommerce #reviews #comments .add_review::after {
  clear: both;
}

.woocommerce #reviews #comments h2 {
  clear: none;
}

.woocommerce #reviews #comments ol.commentlist {
  margin: 0;
  width: 100%;
  background: 0 0;
  list-style: none;
}

.woocommerce #reviews #comments ol.commentlist::after,
.woocommerce #reviews #comments ol.commentlist::before {
  content: " ";
  display: table;
}

.woocommerce #reviews #comments ol.commentlist::after {
  clear: both;
}

.woocommerce #reviews #comments ol.commentlist li {
  padding: 0;
  margin: 0 0 20px;
  border: 0;
  position: relative;
  background: 0;
  border: 0;
}

.woocommerce #reviews #comments ol.commentlist li img.avatar {
  float: left;
  position: absolute;
  top: 0;
  left: 0;
  padding: 3px;
  width: 32px;
  height: auto;
  background: #e9e6ed;
  border: 1px solid #e1dde7;
  margin: 0;
  box-shadow: none;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text {
  margin: 0 0 0 50px;
  border: 1px solid #e1dde7;
  border-radius: 4px;
  padding: 1em 1em 0;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text::after,
.woocommerce #reviews #comments ol.commentlist li .comment-text::before {
  content: " ";
  display: table;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text::after {
  clear: both;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text p {
  margin: 0 0 1em;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta {
  font-size: 0.83em;
}

.woocommerce #reviews #comments ol.commentlist ul.children {
  list-style: none outside;
  margin: 20px 0 0 50px;
}

.woocommerce #reviews #comments ol.commentlist ul.children .star-rating {
  display: none;
}

.woocommerce #reviews #comments ol.commentlist #respond {
  border: 1px solid #e1dde7;
  border-radius: 4px;
  padding: 1em 1em 0;
  margin: 20px 0 0 50px;
}

.woocommerce #reviews #comments .commentlist > li::before {
  content: "";
}

/* ============================================
   STAR RATING
   ============================================ */
.woocommerce .star-rating {
  float: right;
  overflow: hidden;
  position: relative;
  height: 1em;
  line-height: 1;
  font-size: 1em;
  width: 5.4em;
  font-family: WooCommerce;
}

.woocommerce .star-rating::before {
  content: "sssss";
  color: #cfc8d8;
  float: left;
  top: 0;
  left: 0;
  position: absolute;
}

.woocommerce .star-rating span {
  overflow: hidden;
  float: left;
  top: 0;
  left: 0;
  position: absolute;
  padding-top: 1.5em;
}

.woocommerce .star-rating span::before {
  content: "SSSSS";
  top: 0;
  position: absolute;
  left: 0;
}

.woocommerce .woocommerce-product-rating {
  line-height: 2;
  display: block;
}

.woocommerce .woocommerce-product-rating::after,
.woocommerce .woocommerce-product-rating::before {
  content: " ";
  display: table;
}

.woocommerce .woocommerce-product-rating::after {
  clear: both;
}

.woocommerce .woocommerce-product-rating .star-rating {
  margin: 0.5em 4px 0 0;
  float: left;
}

.woocommerce .products .star-rating {
  display: block;
  margin: 0 0 0.5em;
  float: none;
}

.woocommerce .hreview-aggregate .star-rating {
  margin: 10px 0 0;
}

/* Review Form */
.woocommerce #review_form #respond {
  position: static;
  margin: 0;
  width: auto;
  padding: 0;
  background: transparent none;
  border: 0;
}

.woocommerce #review_form #respond::after,
.woocommerce #review_form #respond::before {
  content: " ";
  display: table;
}

.woocommerce #review_form #respond::after {
  clear: both;
}

.woocommerce #review_form #respond p {
  margin: 0 0 10px;
}

.woocommerce #review_form #respond .form-submit input {
  left: auto;
}

.woocommerce #review_form #respond textarea {
  box-sizing: border-box;
  width: 100%;
}

/* Stars Selection */
.woocommerce p.stars a {
  position: relative;
  height: 1em;
  width: 1em;
  text-indent: -999em;
  display: inline-block;
  text-decoration: none;
  font-size: 24px;
}

.woocommerce p.stars a::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1em;
  height: 1em;
  line-height: 1;
  font-family: WooCommerce;
  content: "\e021";
  text-indent: 0;
}

.woocommerce p.stars a:hover ~ a::before {
  content: "\e021";
}

.woocommerce p.stars:hover a::before {
  content: "\e020";
}

.woocommerce p.stars.selected a.active::before {
  content: "\e020";
}

.woocommerce p.stars.selected a.active ~ a::before {
  content: "\e021";
}

.woocommerce p.stars.selected a:not(.active)::before {
  content: "\e020";
}

/* ============================================
   TABLES (Bootstrap Style)
   ============================================ */
.woocommerce table.shop_attributes {
  border: 0;
  border-top: var(--wc-form-border-width) solid var(--wc-border-color);
  margin-bottom: var(--wc-spacer-4);
  width: 100%;
  border-collapse: collapse;
}

.woocommerce table.shop_attributes th {
  width: 150px;
  font-weight: var(--wc-font-weight-semibold);
  padding: var(--wc-spacer-2) var(--wc-spacer-3);
  border-top: 0;
  border-bottom: var(--wc-form-border-width) solid var(--wc-border-color);
  margin: 0;
  line-height: var(--wc-line-height-base);
  text-align: left;
  color: var(--wc-gray-700);
  vertical-align: top;
}

.woocommerce table.shop_attributes td {
  padding: var(--wc-spacer-2) var(--wc-spacer-3);
  border-top: 0;
  border-bottom: var(--wc-form-border-width) solid var(--wc-border-color);
  margin: 0;
  line-height: var(--wc-line-height-base);
  color: var(--wc-gray-900);
}

.woocommerce table.shop_attributes td p {
  margin: 0;
}

.woocommerce table.shop_attributes tr:nth-child(even) td,
.woocommerce table.shop_attributes tr:nth-child(even) th {
  background-color: var(--wc-gray-100);
}

/* Main Shop Table (Bootstrap Table Style) */
.woocommerce table.shop_table {
  width: 100%;
  margin-bottom: var(--wc-spacer-4);
  color: var(--wc-gray-900);
  vertical-align: top;
  border-color: var(--wc-border-color);
  border-collapse: collapse;
  background-color: var(--wc-white);
}

.woocommerce table.shop_table > :not(caption) > * > * {
  padding: var(--wc-spacer-3);
  border-bottom-width: var(--wc-form-border-width);
  border-bottom-color: var(--wc-border-color);
  border-bottom-style: solid;
}

.woocommerce table.shop_table thead {
  vertical-align: bottom;
  background-color: var(--wc-gray-100);
}

.woocommerce table.shop_table th {
  font-weight: var(--wc-font-weight-semibold);
  padding: var(--wc-spacer-3);
  line-height: var(--wc-line-height-base);
  text-align: left;
  color: var(--wc-gray-700);
}

.woocommerce table.shop_table td {
  padding: var(--wc-spacer-3);
  vertical-align: middle;
  line-height: var(--wc-line-height-base);
  border-top: var(--wc-form-border-width) solid var(--wc-border-color);
}

.woocommerce table.shop_table td small {
  font-weight: var(--wc-font-weight-normal);
  color: var(--wc-gray-600);
  font-size: var(--wc-font-size-sm);
}

.woocommerce table.shop_table td del {
  font-weight: var(--wc-font-weight-normal);
  color: var(--wc-gray-500);
}

.woocommerce table.shop_table tbody:first-child tr:first-child td,
.woocommerce table.shop_table tbody:first-child tr:first-child th {
  border-top: 0;
}

.woocommerce table.shop_table tbody th,
.woocommerce table.shop_table tfoot td,
.woocommerce table.shop_table tfoot th {
  font-weight: var(--wc-font-weight-semibold);
  border-top: var(--wc-form-border-width) solid var(--wc-border-color);
}

.woocommerce table.shop_table tfoot {
  background-color: var(--wc-gray-50);
}

/* Striped table variation */
.woocommerce table.shop_table-striped tbody tr:nth-of-type(odd) > * {
  background-color: var(--wc-gray-100);
}

/* Hover effect */
.woocommerce table.shop_table-hover tbody tr:hover > * {
  background-color: var(--wc-gray-100);
}

/* Bordered table */
.woocommerce table.shop_table-bordered {
  border: var(--wc-form-border-width) solid var(--wc-border-color);
}

.woocommerce table.shop_table-bordered > :not(caption) > * > * {
  border-width: var(--wc-form-border-width);
}

/* My Account Orders Table */
.woocommerce table.my_account_orders {
  font-size: 0.85em;
}

.woocommerce table.my_account_orders td,
.woocommerce table.my_account_orders th {
  padding: 4px 8px;
  vertical-align: middle;
}

.woocommerce table.my_account_orders .button {
  white-space: nowrap;
}

/* Downloads Table */
.woocommerce table.woocommerce-MyAccount-downloads td,
.woocommerce table.woocommerce-MyAccount-downloads th {
  vertical-align: top;
  text-align: center;
}

.woocommerce table.woocommerce-MyAccount-downloads td:first-child,
.woocommerce table.woocommerce-MyAccount-downloads th:first-child {
  text-align: left;
}

.woocommerce table.woocommerce-MyAccount-downloads td:last-child,
.woocommerce table.woocommerce-MyAccount-downloads th:last-child {
  text-align: left;
}

.woocommerce table.woocommerce-MyAccount-downloads td .woocommerce-MyAccount-downloads-file::before,
.woocommerce table.woocommerce-MyAccount-downloads th .woocommerce-MyAccount-downloads-file::before {
  content: "↓";
  display: inline-block;
}

/* Product Name Cell */
.woocommerce td.product-name .wc-item-meta,
.woocommerce td.product-name dl.variation {
  list-style: none outside;
}

.woocommerce td.product-name .wc-item-meta .wc-item-meta-label,
.woocommerce td.product-name .wc-item-meta dt,
.woocommerce td.product-name dl.variation .wc-item-meta-label,
.woocommerce td.product-name dl.variation dt {
  float: left;
  clear: both;
  margin-right: 0.25em;
  display: inline-block;
  list-style: none outside;
}

.woocommerce td.product-name .wc-item-meta dd,
.woocommerce td.product-name dl.variation dd {
  margin: 0;
}

.woocommerce td.product-name .wc-item-meta p,
.woocommerce td.product-name .wc-item-meta:last-child,
.woocommerce td.product-name dl.variation p,
.woocommerce td.product-name dl.variation:last-child {
  margin-bottom: 0;
}

.woocommerce td.product-name p.backorder_notification {
  font-size: 0.83em;
}

.woocommerce td.product-quantity {
  min-width: 80px;
}

/* ============================================
   WIDGETS
   ============================================ */
.woocommerce ul.cart_list,
.woocommerce ul.product_list_widget {
  list-style: none outside;
  padding: 0;
  margin: 0;
}

.woocommerce ul.cart_list li,
.woocommerce ul.product_list_widget li {
  padding: 4px 0;
  margin: 0;
  list-style: none;
}

.woocommerce ul.cart_list li::after,
.woocommerce ul.cart_list li::before,
.woocommerce ul.product_list_widget li::after,
.woocommerce ul.product_list_widget li::before {
  content: " ";
  display: table;
}

.woocommerce ul.cart_list li::after,
.woocommerce ul.product_list_widget li::after {
  clear: both;
}

.woocommerce ul.cart_list li a,
.woocommerce ul.product_list_widget li a {
  display: block;
  font-weight: 700;
}

.woocommerce ul.cart_list li img,
.woocommerce ul.product_list_widget li img {
  float: right;
  margin-left: 4px;
  width: 32px;
  height: auto;
  box-shadow: none;
}

.woocommerce ul.cart_list li dl,
.woocommerce ul.product_list_widget li dl {
  margin: 0;
  padding-left: 1em;
  border-left: 2px solid rgba(0, 0, 0, 0.1);
}

.woocommerce ul.cart_list li dl::after,
.woocommerce ul.cart_list li dl::before,
.woocommerce ul.product_list_widget li dl::after,
.woocommerce ul.product_list_widget li dl::before {
  content: " ";
  display: table;
}

.woocommerce ul.cart_list li dl::after,
.woocommerce ul.product_list_widget li dl::after {
  clear: both;
}

.woocommerce ul.cart_list li dl dd,
.woocommerce ul.cart_list li dl dt,
.woocommerce ul.product_list_widget li dl dd,
.woocommerce ul.product_list_widget li dl dt {
  display: inline-block;
  float: left;
  margin-bottom: 1em;
}

.woocommerce ul.cart_list li dl dt,
.woocommerce ul.product_list_widget li dl dt {
  font-weight: 700;
  padding: 0 0 0.25em;
  margin: 0 4px 0 0;
  clear: left;
}

.woocommerce ul.cart_list li dl dd,
.woocommerce ul.product_list_widget li dl dd {
  padding: 0 0 0.25em;
}

.woocommerce ul.cart_list li dl dd p:last-child,
.woocommerce ul.product_list_widget li dl dd p:last-child {
  margin-bottom: 0;
}

.woocommerce ul.cart_list li .star-rating,
.woocommerce ul.product_list_widget li .star-rating {
  float: none;
}

/* Shopping Cart Widget */
.woocommerce .widget_shopping_cart .total,
.woocommerce.widget_shopping_cart .total {
  border-top: 3px double #e9e6ed;
  padding: 4px 0 0;
}

.woocommerce .widget_shopping_cart .total strong,
.woocommerce.widget_shopping_cart .total strong {
  min-width: 40px;
  display: inline-block;
}

.woocommerce .widget_shopping_cart .cart_list li,
.woocommerce.widget_shopping_cart .cart_list li {
  padding-left: 2em;
  position: relative;
  padding-top: 0;
}

.woocommerce .widget_shopping_cart .cart_list li a.remove,
.woocommerce.widget_shopping_cart .cart_list li a.remove {
  position: absolute;
  top: 0;
  left: 0;
}

.woocommerce .widget_shopping_cart .buttons::after,
.woocommerce .widget_shopping_cart .buttons::before,
.woocommerce.widget_shopping_cart .buttons::after,
.woocommerce.widget_shopping_cart .buttons::before {
  content: " ";
  display: table;
}

.woocommerce .widget_shopping_cart .buttons::after,
.woocommerce.widget_shopping_cart .buttons::after {
  clear: both;
}

.woocommerce .widget_shopping_cart .buttons a,
.woocommerce.widget_shopping_cart .buttons a {
  margin-right: 5px;
  margin-bottom: 5px;
}

/* ============================================
   LOGIN/REGISTER FORMS (Bootstrap Card Style)
   ============================================ */
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: var(--wc-white);
  background-clip: border-box;
  border: var(--wc-form-border-width) solid var(--wc-border-color);
  border-radius: var(--wc-border-radius);
  padding: var(--wc-spacer-4);
  margin: var(--wc-spacer-4) 0;
  text-align: left;
  box-shadow: var(--wc-shadow-sm);
}

.woocommerce form.checkout_coupon h3,
.woocommerce form.login h2,
.woocommerce form.register h2 {
  margin-top: 0;
  margin-bottom: var(--wc-spacer-3);
  padding-bottom: var(--wc-spacer-3);
  border-bottom: var(--wc-form-border-width) solid var(--wc-border-color);
}

.woocommerce form.checkout_coupon .coupon-error-notice {
  color: var(--wc-danger);
  display: block;
  font-size: var(--wc-font-size-sm);
  margin-top: var(--wc-spacer-2);
}

.woocommerce form.checkout_coupon .input-text.has-error:focus {
  border-color: var(--wc-danger);
  box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
}

/* Two column layout for login/register */
.woocommerce .col2-set#customer_login {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--wc-spacer-4);
}

@media (min-width: 768px) {
  .woocommerce .col2-set#customer_login {
    grid-template-columns: 1fr 1fr;
  }
}

.woocommerce .col2-set#customer_login .col-1,
.woocommerce .col2-set#customer_login .col-2 {
  width: 100%;
  float: none;
}

/* ============================================
   SHIPPING METHODS
   ============================================ */
.woocommerce ul#shipping_method {
  list-style: none outside;
  margin: 0;
  padding: 0;
}

.woocommerce ul#shipping_method li {
  margin: 0 0 0.5em;
  line-height: 1.5em;
  list-style: none outside;
}

.woocommerce ul#shipping_method li input {
  margin: 3px 0.4375em 0 0;
  vertical-align: top;
}

.woocommerce ul#shipping_method li label {
  display: inline;
}

.woocommerce ul#shipping_method .amount {
  font-weight: 700;
}

.woocommerce p.woocommerce-shipping-contents {
  margin: 0;
}

/* ============================================
   ORDER DETAILS
   ============================================ */
.woocommerce ul.order_details {
  margin: 0 0 3em;
  list-style: none;
}

.woocommerce ul.order_details::after,
.woocommerce ul.order_details::before {
  content: " ";
  display: table;
}

.woocommerce ul.order_details::after {
  clear: both;
}

.woocommerce ul.order_details li {
  float: left;
  margin-right: 2em;
  text-transform: uppercase;
  font-size: 0.715em;
  line-height: 1;
  border-right: 1px dashed #cfc8d8;
  padding-right: 2em;
  margin-left: 0;
  padding-left: 0;
  list-style-type: none;
}

.woocommerce ul.order_details li strong {
  display: block;
  font-size: 1.4em;
  text-transform: none;
  line-height: 1.5;
}

.woocommerce ul.order_details li:last-of-type {
  border: none;
}

/* ============================================
   CUSTOMER DETAILS
   ============================================ */
.woocommerce .woocommerce-customer-details,
.woocommerce .woocommerce-order-details,
.woocommerce .woocommerce-order-downloads {
  margin-bottom: 2em;
}

.woocommerce .woocommerce-customer-details :last-child,
.woocommerce .woocommerce-order-details :last-child,
.woocommerce .woocommerce-order-downloads :last-child {
  margin-bottom: 0;
}

.woocommerce .woocommerce-customer-details .additional-fields,
.woocommerce .woocommerce-customer-details .addresses {
  margin-bottom: 2em;
}

.woocommerce .woocommerce-customer-details .additional-fields:last-child,
.woocommerce .woocommerce-customer-details .addresses:last-child {
  margin-bottom: 0;
}

.woocommerce .woocommerce-customer-details .woocommerce-column__title {
  margin-top: 0;
}

.woocommerce .woocommerce-customer-details address {
  font-style: normal;
  margin-bottom: 0;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-bottom-width: 2px;
  border-right-width: 2px;
  text-align: left;
  width: 100%;
  border-radius: 5px;
  padding: 6px 12px;
  box-sizing: border-box;
}

.woocommerce .woocommerce-customer-details .woocommerce-customer-details--email,
.woocommerce .woocommerce-customer-details .woocommerce-customer-details--phone {
  padding-left: 1.5em;
}

.woocommerce .woocommerce-customer-details .woocommerce-customer-details--email:last-child,
.woocommerce .woocommerce-customer-details .woocommerce-customer-details--phone:last-child {
  margin-bottom: 0;
}

.woocommerce .woocommerce-customer-details .woocommerce-customer-details--phone::before {
  font-family: WooCommerce;
  speak: never;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  margin-right: 0.618em;
  content: "\e037";
  text-decoration: none;
  margin-left: -1.5em;
  line-height: 1.75;
  position: absolute;
}

.woocommerce .woocommerce-customer-details .woocommerce-customer-details--email::before {
  font-family: WooCommerce;
  speak: never;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  margin-right: 0.618em;
  content: "\e02d";
  text-decoration: none;
  margin-left: -1.5em;
  line-height: 1.75;
  position: absolute;
}

/* ============================================
   LAYERED NAV WIDGET
   ============================================ */
.woocommerce .woocommerce-widget-layered-nav-list {
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none outside;
}

.woocommerce .woocommerce-widget-layered-nav-list .woocommerce-widget-layered-nav-list__item {
  padding: 0 0 1px;
  list-style: none;
}

.woocommerce .woocommerce-widget-layered-nav-list .woocommerce-widget-layered-nav-list__item::after,
.woocommerce .woocommerce-widget-layered-nav-list .woocommerce-widget-layered-nav-list__item::before {
  content: " ";
  display: table;
}

.woocommerce .woocommerce-widget-layered-nav-list .woocommerce-widget-layered-nav-list__item::after {
  clear: both;
}

.woocommerce .woocommerce-widget-layered-nav-list .woocommerce-widget-layered-nav-list__item a,
.woocommerce .woocommerce-widget-layered-nav-list .woocommerce-widget-layered-nav-list__item span {
  padding: 1px 0;
}

.woocommerce .woocommerce-widget-layered-nav-list .woocommerce-widget-layered-nav-list__item--chosen a::before {
  font-family: WooCommerce;
  speak: never;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  margin-right: 0.618em;
  content: "\e013";
  text-decoration: none;
  color: var(--wc-red);
}

.woocommerce .woocommerce-widget-layered-nav-dropdown__submit {
  margin-top: 1em;
}

/* Filter Widgets */
.woocommerce .widget_layered_nav_filters ul {
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none outside;
  overflow: hidden;
  zoom: 1;
}

.woocommerce .widget_layered_nav_filters ul li {
  float: left;
  padding: 0 1em 1px 1px;
  list-style: none;
}

.woocommerce .widget_layered_nav_filters ul li a {
  text-decoration: none;
}

.woocommerce .widget_layered_nav_filters ul li a::before {
  font-family: WooCommerce;
  speak: never;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  margin-right: 0.618em;
  content: "\e013";
  text-decoration: none;
  color: var(--wc-red);
  vertical-align: inherit;
  margin-right: 0.5em;
}

/* Price Filter Widget */
.woocommerce .widget_price_filter .price_slider {
  margin-bottom: 1em;
}

.woocommerce .widget_price_filter .price_slider_amount {
  text-align: right;
  line-height: 2.4;
  font-size: 0.8751em;
}

.woocommerce .widget_price_filter .price_slider_amount .button {
  font-size: 1.15em;
  float: left;
}

.woocommerce .widget_price_filter .ui-slider {
  position: relative;
  text-align: left;
  margin-left: 0.5em;
  margin-right: 0.5em;
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
  position: absolute;
  z-index: 2;
  width: 1em;
  height: 1em;
  background-color: #7f54b3;
  border-radius: 1em;
  cursor: ew-resize;
  outline: 0;
  top: -0.3em;
  margin-left: -0.5em;
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-range {
  position: absolute;
  z-index: 1;
  font-size: 0.7em;
  display: block;
  border: 0;
  border-radius: 1em;
  background-color: #7f54b3;
}

.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content {
  border-radius: 1em;
  background-color: #35224c;
  border: 0;
}

.woocommerce .widget_price_filter .ui-slider-horizontal {
  height: 0.5em;
}

.woocommerce .widget_price_filter .ui-slider-horizontal .ui-slider-range {
  top: 0;
  height: 100%;
}

.woocommerce .widget_price_filter .ui-slider-horizontal .ui-slider-range-min {
  left: -1px;
}

.woocommerce .widget_price_filter .ui-slider-horizontal .ui-slider-range-max {
  right: -1px;
}

/* Rating Filter Widget */
.woocommerce .widget_rating_filter ul {
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none outside;
}

.woocommerce .widget_rating_filter ul li {
  padding: 0 0 1px;
  list-style: none;
}

.woocommerce .widget_rating_filter ul li::after,
.woocommerce .widget_rating_filter ul li::before {
  content: " ";
  display: table;
}

.woocommerce .widget_rating_filter ul li::after {
  clear: both;
}

.woocommerce .widget_rating_filter ul li a {
  padding: 1px 0;
  text-decoration: none;
}

.woocommerce .widget_rating_filter ul li .star-rating {
  float: none;
  display: inline-block;
}

.woocommerce .widget_rating_filter ul li.chosen a::before {
  font-family: WooCommerce;
  speak: never;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  margin-right: 0.618em;
  content: "\e013";
  text-decoration: none;
  color: var(--wc-red);
}

/* ============================================
   LOGIN FORM
   ============================================ */
.woocommerce .woocommerce-form-login .woocommerce-form-login__submit {
  float: left;
  margin-right: 1em;
}

.woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme {
  display: inline-block;
}

/* ============================================
   BUTTONS (Bootstrap 5 Style)
   ============================================ */

/* Base button styles */
.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button,
.woocommerce #respond input#submit,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button {
  display: inline-block;
  font-family: var(--wc-font-family);
  font-weight: var(--wc-font-weight-medium);
  line-height: var(--wc-line-height-base);
  color: var(--wc-white);
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  user-select: none;
  background-color: var(--wc-primary);
  border: var(--wc-form-border-width) solid var(--wc-primary);
  padding: var(--wc-btn-padding-y) var(--wc-btn-padding-x);
  font-size: var(--wc-btn-font-size);
  border-radius: var(--wc-btn-border-radius);
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out,
    border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  box-shadow: none;
  text-shadow: none;
  background-image: none;
}

.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button:hover {
  color: var(--wc-white);
  background-color: var(--wc-primary-hover);
  border-color: var(--wc-primary-hover);
  text-decoration: none;
}

.woocommerce .button:focus,
.woocommerce button.button:focus,
.woocommerce input.button:focus,
.woocommerce a.button:focus {
  outline: 0;
  box-shadow: 0 0 0 0.25rem var(--wc-form-focus-color);
}

.woocommerce .button:active,
.woocommerce button.button:active,
.woocommerce input.button:active,
.woocommerce a.button:active {
  background-color: #0a58ca;
  border-color: #0a53be;
}

/* Secondary Button Style */
.woocommerce .button.secondary,
.woocommerce a.button.secondary {
  color: var(--wc-white);
  background-color: var(--wc-secondary);
  border-color: var(--wc-secondary);
}

.woocommerce .button.secondary:hover,
.woocommerce a.button.secondary:hover {
  color: var(--wc-white);
  background-color: var(--wc-secondary-hover);
  border-color: var(--wc-secondary-hover);
}

/* Alt/Primary Button Style */
.woocommerce .button.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.alt,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.alt,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.alt,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.alt {
  background-color: var(--wc-success);
  border-color: var(--wc-success);
  color: var(--wc-white);
  -webkit-font-smoothing: antialiased;
}

.woocommerce .button.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.alt:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.alt:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.alt:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.alt:hover {
  background-color: #157347;
  border-color: #146c43;
  color: var(--wc-white);
}

/* Outline Button */
.woocommerce .button.outline,
.woocommerce a.button.outline {
  color: var(--wc-primary);
  background-color: transparent;
  border-color: var(--wc-primary);
}

.woocommerce .button.outline:hover,
.woocommerce a.button.outline:hover {
  color: var(--wc-white);
  background-color: var(--wc-primary);
  border-color: var(--wc-primary);
}

/* Disabled Buttons */
.woocommerce .button.disabled,
.woocommerce .button:disabled,
.woocommerce button.button.disabled,
.woocommerce button.button:disabled,
.woocommerce input.button.disabled,
.woocommerce input.button:disabled,
.woocommerce a.button.disabled,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.disabled,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit:disabled,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.disabled,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:disabled,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.disabled,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button:disabled,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.disabled,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button:disabled {
  pointer-events: none;
  opacity: 0.65;
  cursor: not-allowed;
}

/* Button Sizes */
.woocommerce .button.btn-sm {
  padding: 0.25rem 0.5rem;
  font-size: var(--wc-font-size-sm);
  border-radius: var(--wc-border-radius-sm);
}

.woocommerce .button.btn-lg {
  padding: 0.5rem 1rem;
  font-size: var(--wc-font-size-lg);
  border-radius: var(--wc-border-radius-lg);
}

/* Loading state */
.woocommerce .button.loading {
  opacity: 0.65;
  pointer-events: none;
  position: relative;
}

.woocommerce .button.loading::after {
  content: "";
  position: absolute;
  width: 1em;
  height: 1em;
  top: calc(50% - 0.5em);
  right: 1em;
  border: 2px solid transparent;
  border-top-color: currentColor;
  border-radius: 50%;
  animation: spin 0.75s linear infinite;
}

/* Added to cart state */
.woocommerce .button.added::after {
  font-family: WooCommerce;
  content: "\e017";
  margin-left: 0.5em;
  vertical-align: bottom;
}

/* ============================================
   BREADCRUMB & PRICE COLORS (Legacy - for non-block themes)
   ============================================ */
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) .woocommerce-breadcrumb {
  font-size: 0.92em;
  color: #767676;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) .woocommerce-breadcrumb a {
  color: #767676;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price,
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price {
  color: #958e09;
  font-size: 1.25em;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product .stock {
  color: #958e09;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product .out-of-stock {
  color: var(--wc-red);
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) ul.products li.product .price {
  color: #958e09;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) #reviews #comments ol.commentlist li .meta {
  color: #767676;
  font-size: 0.75em;
}

/* ============================================
   NO-JS FALLBACK
   ============================================ */
.woocommerce-no-js form.woocommerce-form-coupon,
.woocommerce-no-js form.woocommerce-form-login {
  display: block !important;
}

.woocommerce-no-js .showcoupon,
.woocommerce-no-js .woocommerce-form-coupon-toggle,
.woocommerce-no-js .woocommerce-form-login-toggle {
  display: none !important;
}

/* ============================================
   NOTICES (Bootstrap Alert Style)
   ============================================ */
.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
  position: relative;
  padding: var(--wc-spacer-3) var(--wc-spacer-4);
  padding-left: 3.5rem;
  margin: 0 0 var(--wc-spacer-4);
  border: var(--wc-form-border-width) solid transparent;
  border-radius: var(--wc-border-radius);
  list-style: none outside;
  width: auto;
  word-wrap: break-word;
}

.woocommerce-error::after,
.woocommerce-error::before,
.woocommerce-info::after,
.woocommerce-info::before,
.woocommerce-message::after,
.woocommerce-message::before {
  content: " ";
  display: table;
}

.woocommerce-error::after,
.woocommerce-info::after,
.woocommerce-message::after {
  clear: both;
}

.woocommerce-error::before,
.woocommerce-info::before,
.woocommerce-message::before {
  font-family: WooCommerce;
  content: "\e028";
  display: inline-block;
  position: absolute;
  top: 50%;
  left: var(--wc-spacer-3);
  transform: translateY(-50%);
  font-size: 1.25rem;
}

.woocommerce-error .button,
.woocommerce-info .button,
.woocommerce-message .button {
  float: right;
  margin-left: var(--wc-spacer-2);
}

.woocommerce-error li,
.woocommerce-info li,
.woocommerce-message li {
  list-style: none outside !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}

/* RTL Support */
.rtl.woocommerce .price_label,
.rtl.woocommerce .price_label span {
  direction: ltr;
  unicode-bidi: embed;
}

/* Success Message (Bootstrap Success Alert) */
.woocommerce-message {
  color: #0f5132;
  background-color: var(--wc-success-light);
  border-color: #badbcc;
}

.woocommerce-message::before {
  content: "\e015";
  color: var(--wc-success);
}

.woocommerce-message a {
  color: #0a3622;
}

/* Info Notice (Bootstrap Info Alert) */
.woocommerce-info {
  color: #055160;
  background-color: var(--wc-info-light);
  border-color: #b6effb;
}

.woocommerce-info::before {
  color: var(--wc-info);
}

.woocommerce-info a {
  color: #04414d;
}

/* Error Notice (Bootstrap Danger Alert) */
.woocommerce-error {
  color: #842029;
  background-color: var(--wc-danger-light);
  border-color: #f5c2c7;
}

.woocommerce-error::before {
  content: "\e016";
  color: var(--wc-danger);
}

.woocommerce-error a {
  color: #6a1a21;
}

/* ============================================
   MY ACCOUNT
   ============================================ */
.woocommerce-account .woocommerce::after,
.woocommerce-account .woocommerce::before {
  content: " ";
  display: table;
}

.woocommerce-account .woocommerce::after {
  clear: both;
}

.woocommerce-account .addresses .title::after,
.woocommerce-account .addresses .title::before {
  content: " ";
  display: table;
}

.woocommerce-account .addresses .title::after {
  clear: both;
}

.woocommerce-account .addresses .title h3 {
  float: left;
}

.woocommerce-account .addresses .title .edit {
  float: right;
}

.woocommerce-account ol.commentlist.notes li.note p.meta {
  font-weight: 700;
  margin-bottom: 0;
}

.woocommerce-account ol.commentlist.notes li.note .description p:last-child {
  margin-bottom: 0;
}

.woocommerce-account ul.digital-downloads {
  margin-left: 0;
  padding-left: 0;
}

.woocommerce-account ul.digital-downloads li {
  list-style: none;
  margin-left: 0;
  padding-left: 0;
}

.woocommerce-account ul.digital-downloads li::before {
  font-family: WooCommerce;
  speak: never;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  margin-right: 0.618em;
  content: "\e00a";
  text-decoration: none;
}

.woocommerce-account ul.digital-downloads li .count {
  float: right;
}

/* ============================================
   CART & CHECKOUT
   ============================================ */
#add_payment_method table.cart .product-thumbnail,
.woocommerce-cart table.cart .product-thumbnail,
.woocommerce-checkout table.cart .product-thumbnail {
  min-width: 32px;
}

#add_payment_method table.cart img,
.woocommerce-cart table.cart img,
.woocommerce-checkout table.cart img {
  width: 32px;
  box-shadow: none;
}

#add_payment_method table.cart td,
#add_payment_method table.cart th,
.woocommerce-cart table.cart td,
.woocommerce-cart table.cart th,
.woocommerce-checkout table.cart td,
.woocommerce-checkout table.cart th {
  vertical-align: middle;
}

#add_payment_method table.cart td.actions .coupon .input-text,
.woocommerce-cart table.cart td.actions .coupon .input-text,
.woocommerce-checkout table.cart td.actions .coupon .input-text {
  float: left;
  box-sizing: border-box;
  border: 1px solid #cfc8d8;
  padding: 6px 6px 5px;
  margin: 0 4px 0 0;
  outline: 0;
}

#add_payment_method table.cart td.actions .coupon .input-text.has-error:focus,
.woocommerce-cart table.cart td.actions .coupon .input-text.has-error:focus,
.woocommerce-checkout table.cart td.actions .coupon .input-text.has-error:focus {
  border-color: var(--wc-red);
}

#add_payment_method table.cart td.actions .coupon .coupon-error-notice,
.woocommerce-cart table.cart td.actions .coupon .coupon-error-notice,
.woocommerce-checkout table.cart td.actions .coupon .coupon-error-notice {
  clear: left;
  color: var(--wc-red);
  flex-basis: 100%;
  float: none;
  font-size: 0.75em;
  margin-bottom: 0;
  margin-top: 8px;
  text-align: left;
  width: auto;
}

#add_payment_method table.cart input,
.woocommerce-cart table.cart input,
.woocommerce-checkout table.cart input {
  margin: 0;
  vertical-align: middle;
}

#add_payment_method .wc-proceed-to-checkout,
.woocommerce-cart .wc-proceed-to-checkout,
.woocommerce-checkout .wc-proceed-to-checkout {
  padding: 1em 0;
}

#add_payment_method .wc-proceed-to-checkout::after,
#add_payment_method .wc-proceed-to-checkout::before,
.woocommerce-cart .wc-proceed-to-checkout::after,
.woocommerce-cart .wc-proceed-to-checkout::before,
.woocommerce-checkout .wc-proceed-to-checkout::after,
.woocommerce-checkout .wc-proceed-to-checkout::before {
  content: " ";
  display: table;
}

#add_payment_method .wc-proceed-to-checkout::after,
.woocommerce-cart .wc-proceed-to-checkout::after,
.woocommerce-checkout .wc-proceed-to-checkout::after {
  clear: both;
}

#add_payment_method .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout .wc-proceed-to-checkout a.checkout-button {
  display: block;
  text-align: center;
  margin-bottom: 1em;
  font-size: 1.25em;
  padding: 1em;
}

/* Cart Collaterals */
#add_payment_method .cart-collaterals .shipping-calculator-button,
.woocommerce-cart .cart-collaterals .shipping-calculator-button,
.woocommerce-checkout .cart-collaterals .shipping-calculator-button {
  float: none;
  margin-top: 0.5em;
  display: inline-block;
}

#add_payment_method .cart-collaterals .shipping-calculator-button::after,
.woocommerce-cart .cart-collaterals .shipping-calculator-button::after,
.woocommerce-checkout .cart-collaterals .shipping-calculator-button::after {
  font-family: WooCommerce;
  speak: never;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  margin-left: 0.618em;
  content: "\e019";
  text-decoration: none;
}

#add_payment_method .cart-collaterals .shipping-calculator-form,
.woocommerce-cart .cart-collaterals .shipping-calculator-form,
.woocommerce-checkout .cart-collaterals .shipping-calculator-form {
  margin: 1em 0 0 0;
}

#add_payment_method .cart-collaterals .cart_totals p small,
.woocommerce-cart .cart-collaterals .cart_totals p small,
.woocommerce-checkout .cart-collaterals .cart_totals p small {
  color: #767676;
  font-size: 0.83em;
}

#add_payment_method .cart-collaterals .cart_totals table,
.woocommerce-cart .cart-collaterals .cart_totals table,
.woocommerce-checkout .cart-collaterals .cart_totals table {
  border-collapse: separate;
  margin: 0 0 6px;
  padding: 0;
}

#add_payment_method .cart-collaterals .cart_totals table tr:first-child td,
#add_payment_method .cart-collaterals .cart_totals table tr:first-child th,
.woocommerce-cart .cart-collaterals .cart_totals table tr:first-child td,
.woocommerce-cart .cart-collaterals .cart_totals table tr:first-child th,
.woocommerce-checkout .cart-collaterals .cart_totals table tr:first-child td,
.woocommerce-checkout .cart-collaterals .cart_totals table tr:first-child th {
  border-top: 0;
}

#add_payment_method .cart-collaterals .cart_totals table th,
.woocommerce-cart .cart-collaterals .cart_totals table th,
.woocommerce-checkout .cart-collaterals .cart_totals table th {
  width: 35%;
}

#add_payment_method .cart-collaterals .cart_totals table td,
#add_payment_method .cart-collaterals .cart_totals table th,
.woocommerce-cart .cart-collaterals .cart_totals table td,
.woocommerce-cart .cart-collaterals .cart_totals table th,
.woocommerce-checkout .cart-collaterals .cart_totals table td,
.woocommerce-checkout .cart-collaterals .cart_totals table th {
  vertical-align: top;
  border-left: 0;
  border-right: 0;
  line-height: 1.5em;
}

#add_payment_method .cart-collaterals .cart_totals table small,
.woocommerce-cart .cart-collaterals .cart_totals table small,
.woocommerce-checkout .cart-collaterals .cart_totals table small {
  color: #767676;
}

#add_payment_method .cart-collaterals .cart_totals table select,
.woocommerce-cart .cart-collaterals .cart_totals table select,
.woocommerce-checkout .cart-collaterals .cart_totals table select {
  width: 100%;
}

#add_payment_method .cart-collaterals .cart_totals .discount td,
.woocommerce-cart .cart-collaterals .cart_totals .discount td,
.woocommerce-checkout .cart-collaterals .cart_totals .discount td {
  color: #958e09;
}

#add_payment_method .cart-collaterals .cart_totals tr td,
#add_payment_method .cart-collaterals .cart_totals tr th,
.woocommerce-cart .cart-collaterals .cart_totals tr td,
.woocommerce-cart .cart-collaterals .cart_totals tr th,
.woocommerce-checkout .cart-collaterals .cart_totals tr td,
.woocommerce-checkout .cart-collaterals .cart_totals tr th {
  border-top: 1px solid #e9e6ed;
}

#add_payment_method .cart-collaterals .cart_totals .woocommerce-shipping-destination,
.woocommerce-cart .cart-collaterals .cart_totals .woocommerce-shipping-destination,
.woocommerce-checkout .cart-collaterals .cart_totals .woocommerce-shipping-destination {
  margin-bottom: 0;
}

#add_payment_method .cart-collaterals .cross-sells ul.products li.product,
.woocommerce-cart .cart-collaterals .cross-sells ul.products li.product,
.woocommerce-checkout .cart-collaterals .cross-sells ul.products li.product {
  margin-top: 0;
}

/* Checkout Columns */
#add_payment_method .checkout .col-2 h3#ship-to-different-address,
.woocommerce-cart .checkout .col-2 h3#ship-to-different-address,
.woocommerce-checkout .checkout .col-2 h3#ship-to-different-address {
  float: left;
  clear: none;
}

#add_payment_method .checkout .col-2 .notes,
.woocommerce-cart .checkout .col-2 .notes,
.woocommerce-checkout .checkout .col-2 .notes {
  clear: left;
}

#add_payment_method .checkout .col-2 .form-row-first,
.woocommerce-cart .checkout .col-2 .form-row-first,
.woocommerce-checkout .checkout .col-2 .form-row-first {
  clear: left;
}

#add_payment_method .checkout .create-account small,
.woocommerce-cart .checkout .create-account small,
.woocommerce-checkout .checkout .create-account small {
  font-size: 11px;
  color: #767676;
  font-weight: 400;
}

#add_payment_method .checkout div.shipping-address,
.woocommerce-cart .checkout div.shipping-address,
.woocommerce-checkout .checkout div.shipping-address {
  padding: 0;
  clear: left;
  width: 100%;
}

#add_payment_method .checkout .shipping_address,
.woocommerce-cart .checkout .shipping_address,
.woocommerce-checkout .checkout .shipping_address {
  clear: both;
}

#add_payment_method .checkout .checkout-inline-error-message,
.woocommerce-cart .checkout .checkout-inline-error-message,
.woocommerce-checkout .checkout .checkout-inline-error-message {
  color: var(--wc-red);
  font-size: 0.75em;
  margin-bottom: 0;
}

/* ============================================
   PAYMENT
   ============================================ */
#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment {
  background: rgba(129, 110, 153, 0.14);
  border-radius: 5px;
}

#add_payment_method #payment ul.payment_methods,
.woocommerce-cart #payment ul.payment_methods,
.woocommerce-checkout #payment ul.payment_methods {
  text-align: left;
  padding: 1em;
  border-bottom: 1px solid rgba(104, 87, 125, 0.14);
  margin: 0;
  list-style: none outside;
}

#add_payment_method #payment ul.payment_methods::after,
#add_payment_method #payment ul.payment_methods::before,
.woocommerce-cart #payment ul.payment_methods::after,
.woocommerce-cart #payment ul.payment_methods::before,
.woocommerce-checkout #payment ul.payment_methods::after,
.woocommerce-checkout #payment ul.payment_methods::before {
  content: " ";
  display: table;
}

#add_payment_method #payment ul.payment_methods::after,
.woocommerce-cart #payment ul.payment_methods::after,
.woocommerce-checkout #payment ul.payment_methods::after {
  clear: both;
}

#add_payment_method #payment ul.payment_methods li,
.woocommerce-cart #payment ul.payment_methods li,
.woocommerce-checkout #payment ul.payment_methods li {
  line-height: 2;
  text-align: left;
  margin: 0;
  font-weight: 400;
}

#add_payment_method #payment ul.payment_methods li input,
.woocommerce-cart #payment ul.payment_methods li input,
.woocommerce-checkout #payment ul.payment_methods li input {
  margin: 0 1em 0 0;
}

#add_payment_method #payment ul.payment_methods li img,
.woocommerce-cart #payment ul.payment_methods li img,
.woocommerce-checkout #payment ul.payment_methods li img {
  vertical-align: middle;
  margin: -2px 0 0 0.5em;
  padding: 0;
  position: relative;
  box-shadow: none;
}

#add_payment_method #payment ul.payment_methods li img + img,
.woocommerce-cart #payment ul.payment_methods li img + img,
.woocommerce-checkout #payment ul.payment_methods li img + img {
  margin-left: 2px;
}

#add_payment_method #payment div.form-row,
.woocommerce-cart #payment div.form-row,
.woocommerce-checkout #payment div.form-row {
  padding: 1em;
}

#add_payment_method #payment div.payment_box,
.woocommerce-cart #payment div.payment_box,
.woocommerce-checkout #payment div.payment_box {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  padding: 1em;
  margin: 1em 0;
  font-size: 0.92em;
  border-radius: 2px;
  line-height: 1.5;
  background-color: #dcd7e2;
  color: #515151;
}

#add_payment_method #payment div.payment_box input.input-text,
#add_payment_method #payment div.payment_box textarea,
.woocommerce-cart #payment div.payment_box input.input-text,
.woocommerce-cart #payment div.payment_box textarea,
.woocommerce-checkout #payment div.payment_box input.input-text,
.woocommerce-checkout #payment div.payment_box textarea {
  border-color: #c2bacd;
  border-top-color: #b5abc2;
}

#add_payment_method #payment div.payment_box .woocommerce-SavedPaymentMethods,
.woocommerce-cart #payment div.payment_box .woocommerce-SavedPaymentMethods,
.woocommerce-checkout #payment div.payment_box .woocommerce-SavedPaymentMethods {
  list-style: none outside;
  margin: 0;
}

#add_payment_method #payment div.payment_box .woocommerce-SavedPaymentMethods .woocommerce-SavedPaymentMethods-new,
#add_payment_method #payment div.payment_box .woocommerce-SavedPaymentMethods .woocommerce-SavedPaymentMethods-token,
.woocommerce-cart #payment div.payment_box .woocommerce-SavedPaymentMethods .woocommerce-SavedPaymentMethods-new,
.woocommerce-cart #payment div.payment_box .woocommerce-SavedPaymentMethods .woocommerce-SavedPaymentMethods-token,
.woocommerce-checkout #payment div.payment_box .woocommerce-SavedPaymentMethods .woocommerce-SavedPaymentMethods-new,
.woocommerce-checkout #payment div.payment_box .woocommerce-SavedPaymentMethods .woocommerce-SavedPaymentMethods-token {
  margin: 0 0 0.5em;
}

#add_payment_method #payment div.payment_box .woocommerce-SavedPaymentMethods .woocommerce-SavedPaymentMethods-new label,
#add_payment_method #payment div.payment_box .woocommerce-SavedPaymentMethods .woocommerce-SavedPaymentMethods-token label,
.woocommerce-cart #payment div.payment_box .woocommerce-SavedPaymentMethods .woocommerce-SavedPaymentMethods-new label,
.woocommerce-cart #payment div.payment_box .woocommerce-SavedPaymentMethods .woocommerce-SavedPaymentMethods-token label,
.woocommerce-checkout #payment div.payment_box .woocommerce-SavedPaymentMethods .woocommerce-SavedPaymentMethods-new label,
.woocommerce-checkout #payment div.payment_box .woocommerce-SavedPaymentMethods .woocommerce-SavedPaymentMethods-token label {
  cursor: pointer;
}

#add_payment_method #payment div.payment_box .woocommerce-SavedPaymentMethods .woocommerce-SavedPaymentMethods-tokenInput,
.woocommerce-cart #payment div.payment_box .woocommerce-SavedPaymentMethods .woocommerce-SavedPaymentMethods-tokenInput,
.woocommerce-checkout #payment div.payment_box .woocommerce-SavedPaymentMethods .woocommerce-SavedPaymentMethods-tokenInput {
  vertical-align: middle;
  margin: -3px 1em 0 0;
  position: relative;
}

#add_payment_method #payment div.payment_box .wc-credit-card-form,
.woocommerce-cart #payment div.payment_box .wc-credit-card-form,
.woocommerce-checkout #payment div.payment_box .wc-credit-card-form {
  border: 0;
  padding: 0;
  margin: 1em 0 0;
}

#add_payment_method #payment div.payment_box .wc-credit-card-form-card-cvc,
#add_payment_method #payment div.payment_box .wc-credit-card-form-card-expiry,
#add_payment_method #payment div.payment_box .wc-credit-card-form-card-number,
.woocommerce-cart #payment div.payment_box .wc-credit-card-form-card-cvc,
.woocommerce-cart #payment div.payment_box .wc-credit-card-form-card-expiry,
.woocommerce-cart #payment div.payment_box .wc-credit-card-form-card-number,
.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc,
.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry,
.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number {
  font-size: 1.5em;
  padding: 8px;
  background-repeat: no-repeat;
  background-position: right 0.618em center;
  background-size: 32px 20px;
}

#add_payment_method #payment div.payment_box span.help,
.woocommerce-cart #payment div.payment_box span.help,
.woocommerce-checkout #payment div.payment_box span.help {
  font-size: 0.857em;
  color: #767676;
  font-weight: 400;
}

#add_payment_method #payment div.payment_box .form-row,
.woocommerce-cart #payment div.payment_box .form-row,
.woocommerce-checkout #payment div.payment_box .form-row {
  margin: 0 0 1em;
}

#add_payment_method #payment div.payment_box p:last-child,
.woocommerce-cart #payment div.payment_box p:last-child,
.woocommerce-checkout #payment div.payment_box p:last-child {
  margin-bottom: 0;
}

#add_payment_method #payment div.payment_box::before,
.woocommerce-cart #payment div.payment_box::before,
.woocommerce-checkout #payment div.payment_box::before {
  content: "";
  display: block;
  border: 1em solid #dcd7e2;
  border-right-color: transparent;
  border-left-color: transparent;
  border-top-color: transparent;
  position: absolute;
  top: -0.75em;
  left: 0;
  margin: -1em 0 0 2em;
}

#add_payment_method #payment .payment_method_paypal .about_paypal,
.woocommerce-cart #payment .payment_method_paypal .about_paypal,
.woocommerce-checkout #payment .payment_method_paypal .about_paypal {
  float: right;
  line-height: 52px;
  font-size: 0.83em;
}

#add_payment_method #payment .payment_method_paypal img,
.woocommerce-cart #payment .payment_method_paypal img,
.woocommerce-checkout #payment .payment_method_paypal img {
  max-height: 52px;
  vertical-align: middle;
}

/* ============================================
   TERMS AND CONDITIONS
   ============================================ */
.woocommerce-terms-and-conditions {
  border: 1px solid rgba(0, 0, 0, 0.2);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  background: rgba(0, 0, 0, 0.05);
}

.woocommerce-invalid #terms {
  outline: 2px solid var(--wc-red);
  outline-offset: 2px;
}

/* ============================================
   PASSWORD STRENGTH
   ============================================ */
.woocommerce-password-strength {
  text-align: center;
  font-weight: 600;
  padding: 3px 0.5em;
  font-size: 1em;
}

.woocommerce-password-strength.strong {
  background-color: #c1e1b9;
  border-color: #83c373;
}

.woocommerce-password-strength.short {
  background-color: #f1adad;
  border-color: #e35b5b;
}

.woocommerce-password-strength.bad {
  background-color: #fbc5a9;
  border-color: #f78b53;
}

.woocommerce-password-strength.good {
  background-color: #ffe399;
  border-color: #ffc733;
}

.woocommerce-password-hint {
  margin: 0.5em 0 0;
  display: block;
}

/* ============================================
   THEME SPECIFIC OVERRIDES
   ============================================ */

/* Twenty Eleven */
#content.twentyeleven .woocommerce-pagination a {
  font-size: 1em;
  line-height: 1;
}

/* Twenty Thirteen */
.single-product .twentythirteen #reply-title,
.single-product .twentythirteen #respond #commentform,
.single-product .twentythirteen .entry-summary {
  padding: 0;
}

.single-product .twentythirteen p.stars {
  clear: both;
}

.twentythirteen .woocommerce-breadcrumb {
  padding-top: 40px;
}

/* Twenty Fourteen */
.twentyfourteen ul.products li.product {
  margin-top: 0 !important;
}

/* Twenty Sixteen */
body:not(.search-results) .twentysixteen .entry-summary {
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}

.twentysixteen .price ins {
  background: inherit;
  color: inherit;
}

/* ============================================
   RESPONSIVE STYLES - Bootstrap Breakpoints
   ============================================ */

/*
   Breakpoints:
   - Extra small (xs): < 576px (Mobile phones)
   - Small (sm): >= 576px (Large phones, small tablets)
   - Medium (md): >= 768px (Tablets)
   - Large (lg): >= 992px (Desktops)
   - Extra large (xl): >= 1200px (Large desktops)
   - Extra extra large (xxl): >= 1400px (Larger desktops)
*/

/* ============================================
   DESKTOP STYLES (Large screens - 992px and up)
   ============================================ */
@media (min-width: 992px) {
  /* Product Grid - 4 columns on desktop */
  .woocommerce ul.products {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--wc-spacer-4);
  }

  .woocommerce ul.products li.product {
    width: 100%;
    float: none;
    margin: 0;
  }

  /* Single Product Layout */
  .woocommerce div.product {
    grid-template-columns: 1fr 1fr;
    gap: var(--wc-spacer-5);
    align-items: start;
  }

  .woocommerce div.product div.images {
    position: sticky;
    top: var(--wc-spacer-3);
  }

  /* Checkout columns */
  .woocommerce-checkout .col2-set {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--wc-spacer-4);
  }

  .woocommerce-checkout .col2-set .col-1,
  .woocommerce-checkout .col2-set .col-2 {
    width: 100%;
    float: none;
  }

  /* Cart page - Side by side */
  .woocommerce-cart .cart-collaterals {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--wc-spacer-4);
    margin-top: var(--wc-spacer-4);
  }

  /* My Account navigation */
  .woocommerce-account .woocommerce-MyAccount-navigation {
    float: left;
    width: 25%;
  }

  .woocommerce-account .woocommerce-MyAccount-content {
    float: right;
    width: 72%;
  }
}

/* ============================================
   TABLET STYLES (Medium screens - 768px to 991px)
   ============================================ */
@media (min-width: 768px) and (max-width: 991.98px) {
  /* Container padding adjustment */
  .woocommerce-container {
    padding-right: var(--wc-spacer-4);
    padding-left: var(--wc-spacer-4);
  }

  /* Product Grid - 3 columns on tablet */
  .woocommerce ul.products {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--wc-spacer-3);
  }

  .woocommerce ul.products li.product {
    width: 100%;
    float: none;
    margin: 0;
  }

  /* Single Product Layout - Stacked on tablet */
  .woocommerce div.product {
    display: block;
  }

  .woocommerce div.product div.images {
    max-width: 500px;
    margin: 0 auto var(--wc-spacer-4);
  }

  .woocommerce div.product div.summary {
    max-width: 100%;
  }

  /* Checkout columns - Side by side on larger tablets */
  .woocommerce-checkout .col2-set {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--wc-spacer-3);
  }

  /* Cart page */
  .woocommerce-cart .cart-collaterals {
    display: block;
  }

  .woocommerce-cart .cart-collaterals .cross-sells,
  .woocommerce-cart .cart-collaterals .cart_totals {
    width: 100%;
    float: none;
    margin-bottom: var(--wc-spacer-3);
  }

  /* My Account - Stacked navigation */
  .woocommerce-account .woocommerce-MyAccount-navigation {
    float: none;
    width: 100%;
    margin-bottom: var(--wc-spacer-3);
  }

  .woocommerce-account .woocommerce-MyAccount-content {
    float: none;
    width: 100%;
  }

  /* Responsive tables */
  .woocommerce table.shop_table th,
  .woocommerce table.shop_table td {
    padding: var(--wc-spacer-2) var(--wc-spacer-2);
    font-size: var(--wc-font-size-sm);
  }
}

/* ============================================
   SMALL TABLET STYLES (576px to 767px)
   ============================================ */
@media (min-width: 576px) and (max-width: 767.98px) {
  /* Container padding */
  .woocommerce-container {
    padding-right: var(--wc-spacer-3);
    padding-left: var(--wc-spacer-3);
  }

  /* Product Grid - 2 columns */
  .woocommerce ul.products {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--wc-spacer-3);
  }

  .woocommerce ul.products li.product {
    width: 100%;
    float: none;
    margin: 0;
  }

  /* Single Product */
  .woocommerce div.product {
    display: block;
  }

  .woocommerce div.product div.images {
    max-width: 100%;
    margin-bottom: var(--wc-spacer-4);
  }

  /* Checkout - Stack columns */
  .woocommerce-checkout .col2-set {
    display: block;
  }

  .woocommerce-checkout .col2-set .col-1,
  .woocommerce-checkout .col2-set .col-2 {
    width: 100%;
    float: none;
    margin-bottom: var(--wc-spacer-3);
  }

  /* Form rows */
  .woocommerce form .form-row-first,
  .woocommerce form .form-row-last {
    width: 100%;
    float: none;
  }
}

/* ============================================
   MOBILE STYLES (Extra small screens - below 576px)
   ============================================ */
@media (max-width: 575.98px) {
  /* Container - Full width with small padding */
  .woocommerce-container {
    padding-right: var(--wc-spacer-2);
    padding-left: var(--wc-spacer-2);
  }

  /* Typography adjustments */
  .woocommerce h1 { font-size: 1.5rem; }
  .woocommerce h2 { font-size: 1.25rem; }
  .woocommerce h3 { font-size: 1.125rem; }
  .woocommerce h4 { font-size: 1rem; }

  /* Product Grid - Single column on mobile */
  .woocommerce ul.products {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--wc-spacer-3);
  }

  .woocommerce ul.products li.product {
    width: 100%;
    float: none;
    margin: 0;
    text-align: center;
  }

  .woocommerce ul.products li.product .button {
    display: block;
    width: 100%;
    margin-top: var(--wc-spacer-2);
  }

  /* Single Product */
  .woocommerce div.product {
    display: block;
  }

  .woocommerce div.product div.images {
    margin-bottom: var(--wc-spacer-3);
  }

  .woocommerce div.product .product_title {
    font-size: 1.5rem;
  }

  .woocommerce div.product p.price,
  .woocommerce div.product span.price {
    font-size: 1.25rem;
  }

  /* Product Tabs - Vertical stack */
  .woocommerce div.product .woocommerce-tabs ul.tabs {
    padding: 0;
    display: flex;
    flex-direction: column;
    border-bottom: var(--wc-form-border-width) solid var(--wc-border-color);
  }

  .woocommerce div.product .woocommerce-tabs ul.tabs li {
    display: block;
    margin: 0;
    border-radius: 0;
    border: none;
    border-bottom: var(--wc-form-border-width) solid var(--wc-border-color);
  }

  .woocommerce div.product .woocommerce-tabs ul.tabs li:last-child {
    border-bottom: none;
  }

  .woocommerce div.product .woocommerce-tabs ul.tabs li a {
    display: block;
    padding: var(--wc-spacer-3);
  }

  .woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    background-color: var(--wc-gray-100);
  }

  .woocommerce div.product .woocommerce-tabs ul.tabs li::before,
  .woocommerce div.product .woocommerce-tabs ul.tabs li::after {
    display: none;
  }

  /* Cart Form */
  .woocommerce div.product form.cart {
    display: flex;
    flex-direction: column;
    gap: var(--wc-spacer-2);
  }

  .woocommerce div.product form.cart div.quantity {
    float: none;
    width: 100%;
    margin: 0;
  }

  .woocommerce div.product form.cart .quantity .qty {
    width: 100%;
    padding: var(--wc-spacer-3);
  }

  .woocommerce div.product form.cart .button {
    float: none;
    width: 100%;
    padding: var(--wc-spacer-3);
  }

  /* Variations */
  .woocommerce div.product form.cart .variations td,
  .woocommerce div.product form.cart .variations th {
    display: block;
    width: 100%;
    padding: 0;
  }

  .woocommerce div.product form.cart .variations select {
    width: 100%;
    margin-bottom: var(--wc-spacer-2);
  }

  /* All Forms */
  .woocommerce form .form-row-first,
  .woocommerce form .form-row-last {
    width: 100%;
    float: none;
    margin-right: 0;
  }

  .woocommerce form .form-row .input-text,
  .woocommerce form .form-row select,
  .woocommerce form .form-row textarea {
    font-size: 16px; /* Prevent iOS zoom */
  }

  /* Buttons - Full width on mobile */
  .woocommerce .button,
  .woocommerce button.button,
  .woocommerce input.button,
  .woocommerce a.button {
    display: block;
    width: 100%;
    text-align: center;
    padding: var(--wc-spacer-3);
  }

  .woocommerce .button.btn-inline {
    display: inline-block;
    width: auto;
  }

  /* Tables - Responsive stack */
  .woocommerce table.shop_table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .woocommerce table.shop_table thead {
    display: none;
  }

  .woocommerce table.shop_table tbody {
    display: block;
  }

  .woocommerce table.shop_table tr {
    display: block;
    margin-bottom: var(--wc-spacer-3);
    border: var(--wc-form-border-width) solid var(--wc-border-color);
    border-radius: var(--wc-border-radius);
    padding: var(--wc-spacer-3);
    background-color: var(--wc-white);
  }

  .woocommerce table.shop_table td {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--wc-spacer-2) 0;
    border: none;
    border-bottom: var(--wc-form-border-width) solid var(--wc-gray-200);
  }

  .woocommerce table.shop_table td:last-child {
    border-bottom: none;
  }

  .woocommerce table.shop_table td::before {
    content: attr(data-title);
    font-weight: var(--wc-font-weight-semibold);
    color: var(--wc-gray-700);
    margin-right: var(--wc-spacer-2);
  }

  /* Cart Table */
  .woocommerce table.cart td.product-thumbnail {
    display: block;
    text-align: center;
    padding-bottom: var(--wc-spacer-2);
  }

  .woocommerce table.cart td.product-thumbnail img {
    width: 80px;
    height: auto;
    margin: 0 auto;
  }

  .woocommerce table.cart td.product-remove {
    position: absolute;
    top: var(--wc-spacer-2);
    right: var(--wc-spacer-2);
    padding: 0;
    border: none;
  }

  .woocommerce table.cart td.product-quantity .quantity {
    width: 100%;
  }

  .woocommerce table.cart td.actions {
    display: block;
    text-align: center;
  }

  .woocommerce table.cart td.actions .coupon {
    display: flex;
    flex-direction: column;
    gap: var(--wc-spacer-2);
    margin-bottom: var(--wc-spacer-3);
  }

  .woocommerce table.cart td.actions .coupon .input-text {
    width: 100%;
    float: none;
    margin: 0;
  }

  .woocommerce table.cart td.actions .coupon .button {
    width: 100%;
    float: none;
  }

  /* Cart Collaterals */
  .woocommerce-cart .cart-collaterals {
    display: block;
  }

  .woocommerce-cart .cart-collaterals .cross-sells,
  .woocommerce-cart .cart-collaterals .cart_totals {
    width: 100%;
    float: none;
    margin-bottom: var(--wc-spacer-3);
  }

  .wc-proceed-to-checkout a.checkout-button {
    font-size: 1rem;
    padding: var(--wc-spacer-3);
  }

  /* Checkout */
  .woocommerce-checkout .col2-set {
    display: block;
  }

  .woocommerce-checkout .col2-set .col-1,
  .woocommerce-checkout .col2-set .col-2 {
    width: 100%;
    float: none;
    margin-bottom: var(--wc-spacer-4);
  }

  #order_review_heading,
  #order_review {
    width: 100%;
  }

  /* Payment Methods */
  #payment ul.payment_methods {
    padding: var(--wc-spacer-2);
  }

  #payment ul.payment_methods li img {
    display: block;
    margin: var(--wc-spacer-2) 0 0 1.5em;
  }

  #payment div.payment_box {
    padding: var(--wc-spacer-2);
  }

  /* My Account */
  .woocommerce-account .woocommerce-MyAccount-navigation {
    float: none;
    width: 100%;
    margin-bottom: var(--wc-spacer-3);
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: flex;
    flex-wrap: wrap;
    gap: var(--wc-spacer-1);
    padding: 0;
    margin: 0;
    list-style: none;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul li {
    flex: 1 0 calc(50% - var(--wc-spacer-1));
    min-width: 120px;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: block;
    padding: var(--wc-spacer-2);
    text-align: center;
    background-color: var(--wc-gray-100);
    border-radius: var(--wc-border-radius);
    font-size: var(--wc-font-size-sm);
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
    background-color: var(--wc-primary);
    color: var(--wc-white);
  }

  .woocommerce-account .woocommerce-MyAccount-content {
    float: none;
    width: 100%;
  }

  /* Order Details */
  .woocommerce ul.order_details {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--wc-spacer-3);
  }

  .woocommerce ul.order_details li {
    float: none;
    margin: 0;
    padding: 0;
    border: none;
    text-align: center;
  }

  /* Pagination */
  .woocommerce nav.woocommerce-pagination ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--wc-spacer-1);
    border: none;
  }

  .woocommerce nav.woocommerce-pagination ul li {
    border: var(--wc-form-border-width) solid var(--wc-border-color);
    border-radius: var(--wc-border-radius-sm);
    float: none;
  }

  /* Notices */
  .woocommerce-error,
  .woocommerce-info,
  .woocommerce-message {
    padding: var(--wc-spacer-3);
    padding-left: 3rem;
    font-size: var(--wc-font-size-sm);
  }

  .woocommerce-error .button,
  .woocommerce-info .button,
  .woocommerce-message .button {
    float: none;
    display: block;
    margin-top: var(--wc-spacer-2);
  }

  /* Reviews */
  .woocommerce #reviews #comments ol.commentlist li {
    padding-left: 0;
  }

  .woocommerce #reviews #comments ol.commentlist li img.avatar {
    position: relative;
    float: none;
    display: block;
    margin: 0 auto var(--wc-spacer-2);
    width: 60px;
    height: 60px;
    border-radius: 50%;
  }

  .woocommerce #reviews #comments ol.commentlist li .comment-text {
    margin-left: 0;
    text-align: center;
  }

  .woocommerce #reviews #comments ol.commentlist li .comment-text .star-rating {
    float: none;
    display: inline-block;
    margin-bottom: var(--wc-spacer-2);
  }

  /* Breadcrumbs */
  .woocommerce .woocommerce-breadcrumb {
    font-size: var(--wc-font-size-xs);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  /* Star Rating */
  .woocommerce .star-rating {
    float: none;
    display: inline-block;
    margin: 0 auto;
  }

  .woocommerce .woocommerce-product-rating .star-rating {
    float: none;
    margin: 0 var(--wc-spacer-2) 0 0;
  }

  /* Sale Badge */
  .woocommerce span.onsale {
    min-height: 2.5em;
    min-width: 2.5em;
    line-height: 2.5;
    font-size: 0.75em;
  }

  /* Quantity Selector */
  .woocommerce .quantity .qty {
    width: 100%;
    max-width: 100%;
    padding: var(--wc-spacer-2);
    font-size: 16px; /* Prevent iOS zoom */
  }

  /* Widgets */
  .woocommerce ul.cart_list li img,
  .woocommerce ul.product_list_widget li img {
    width: 50px;
  }

  /* Price Filter */
  .woocommerce .widget_price_filter .price_slider_amount {
    text-align: center;
  }

  .woocommerce .widget_price_filter .price_slider_amount .button {
    float: none;
    display: block;
    width: 100%;
    margin-bottom: var(--wc-spacer-2);
  }

  /* Login/Register Forms */
  .woocommerce form.login,
  .woocommerce form.register,
  .woocommerce form.checkout_coupon {
    padding: var(--wc-spacer-3);
  }

  .woocommerce .woocommerce-form-login .woocommerce-form-login__submit {
    float: none;
    width: 100%;
    margin-right: 0;
    margin-bottom: var(--wc-spacer-2);
  }

  .woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme {
    display: block;
    margin-top: var(--wc-spacer-2);
  }
}

/* ============================================
   PRINT STYLES
   ============================================ */
@media print {
  .woocommerce-container {
    background-color: white !important;
    padding: 0;
  }

  .woocommerce .button,
  .woocommerce a.button,
  .woocommerce button.button,
  .woocommerce input.button {
    display: none !important;
  }

  .woocommerce table.shop_table {
    border: 1px solid #ddd;
  }

  .woocommerce table.shop_table th,
  .woocommerce table.shop_table td {
    border: 1px solid #ddd;
    padding: 8px;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation {
    display: none;
  }

  .woocommerce-account .woocommerce-MyAccount-content {
    width: 100%;
    float: none;
  }
}

/* ============================================
   UTILITY CLASSES
   ============================================ */

/* Display utilities */
.wc-d-none { display: none !important; }
.wc-d-block { display: block !important; }
.wc-d-inline { display: inline !important; }
.wc-d-inline-block { display: inline-block !important; }
.wc-d-flex { display: flex !important; }
.wc-d-grid { display: grid !important; }

@media (min-width: 576px) {
  .wc-d-sm-none { display: none !important; }
  .wc-d-sm-block { display: block !important; }
  .wc-d-sm-flex { display: flex !important; }
}

@media (min-width: 768px) {
  .wc-d-md-none { display: none !important; }
  .wc-d-md-block { display: block !important; }
  .wc-d-md-flex { display: flex !important; }
}

@media (min-width: 992px) {
  .wc-d-lg-none { display: none !important; }
  .wc-d-lg-block { display: block !important; }
  .wc-d-lg-flex { display: flex !important; }
}

/* Text alignment */
.wc-text-start { text-align: left !important; }
.wc-text-center { text-align: center !important; }
.wc-text-end { text-align: right !important; }

/* Margin utilities */
.wc-mb-0 { margin-bottom: 0 !important; }
.wc-mb-1 { margin-bottom: var(--wc-spacer-1) !important; }
.wc-mb-2 { margin-bottom: var(--wc-spacer-2) !important; }
.wc-mb-3 { margin-bottom: var(--wc-spacer-3) !important; }
.wc-mb-4 { margin-bottom: var(--wc-spacer-4) !important; }
.wc-mb-5 { margin-bottom: var(--wc-spacer-5) !important; }

.wc-mt-0 { margin-top: 0 !important; }
.wc-mt-1 { margin-top: var(--wc-spacer-1) !important; }
.wc-mt-2 { margin-top: var(--wc-spacer-2) !important; }
.wc-mt-3 { margin-top: var(--wc-spacer-3) !important; }
.wc-mt-4 { margin-top: var(--wc-spacer-4) !important; }
.wc-mt-5 { margin-top: var(--wc-spacer-5) !important; }

/* Padding utilities */
.wc-p-0 { padding: 0 !important; }
.wc-p-1 { padding: var(--wc-spacer-1) !important; }
.wc-p-2 { padding: var(--wc-spacer-2) !important; }
.wc-p-3 { padding: var(--wc-spacer-3) !important; }
.wc-p-4 { padding: var(--wc-spacer-4) !important; }
.wc-p-5 { padding: var(--wc-spacer-5) !important; }

/* Width utilities */
.wc-w-100 { width: 100% !important; }
.wc-w-auto { width: auto !important; }

/* Shadow utilities */
.wc-shadow-none { box-shadow: none !important; }
.wc-shadow-sm { box-shadow: var(--wc-shadow-sm) !important; }
.wc-shadow { box-shadow: var(--wc-shadow) !important; }
.wc-shadow-lg { box-shadow: var(--wc-shadow-lg) !important; }

/* Border utilities */
.wc-border { border: var(--wc-form-border-width) solid var(--wc-border-color) !important; }
.wc-border-0 { border: 0 !important; }
.wc-rounded { border-radius: var(--wc-border-radius) !important; }
.wc-rounded-0 { border-radius: 0 !important; }
.wc-rounded-pill { border-radius: var(--wc-border-radius-pill) !important; }

/* Background utilities */
.wc-bg-white { background-color: var(--wc-white) !important; }
.wc-bg-light { background-color: var(--wc-light) !important; }
.wc-bg-transparent { background-color: transparent !important; }

/* ============================================
   MY ACCOUNT (Bootstrap 5 Style)
   ============================================ */

/* Account page layout - Flexbox based */
.woocommerce-account .woocommerce {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wc-spacer-4);
}

/* Navigation sidebar */
.woocommerce-account .woocommerce-MyAccount-navigation {
  flex: 0 0 100%;
  max-width: 100%;
}

/* Main content area */
.woocommerce-account .woocommerce-MyAccount-content {
  flex: 0 0 100%;
  max-width: 100%;
  background-color: var(--wc-white);
  border-radius: var(--wc-border-radius);
  padding: var(--wc-spacer-4);
  border: var(--wc-form-border-width) solid var(--wc-border-color);
}

/* Desktop layout - side by side */
@media (min-width: 768px) {
  .woocommerce-account .woocommerce-MyAccount-navigation {
    flex: 0 0 250px;
    max-width: 250px;
  }

  .woocommerce-account .woocommerce-MyAccount-content {
    flex: 1;
    max-width: calc(100% - 250px - var(--wc-spacer-4));
  }
}

/* Navigation list - Bootstrap nav style */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
  background-color: var(--wc-white);
  border-radius: var(--wc-border-radius);
  border: var(--wc-form-border-width) solid var(--wc-border-color);
  overflow: hidden;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
  list-style: none;
  margin: 0;
  border-bottom: var(--wc-form-border-width) solid var(--wc-border-color);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child {
  border-bottom: none;
}

/* Navigation links */
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: flex;
  align-items: center;
  padding: var(--wc-spacer-3) var(--wc-spacer-4);
  color: var(--wc-gray-700);
  text-decoration: none;
  font-weight: var(--wc-font-weight-medium);
  transition: var(--wc-transition-base);
  border-left: 3px solid transparent;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
  color: var(--wc-primary);
  background-color: var(--wc-gray-100);
  border-left-color: var(--wc-primary);
}

/* Active state */
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
  color: var(--wc-primary);
  background-color: rgba(13, 110, 253, 0.1);
  border-left-color: var(--wc-primary);
  font-weight: var(--wc-font-weight-semibold);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a::before {
  opacity: 1;
}

/* Icon styling */
.woocommerce-account .woocommerce-MyAccount-navigation ul li a::before {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  margin-right: var(--wc-spacer-3);
  font-size: 1rem;
  opacity: 0.6;
  transition: var(--wc-transition-base);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover::before {
  opacity: 1;
}

/* Unicode icons for each nav item (universal font support) */
.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--dashboard a::before {
  content: "\2302"; /* ⌂ House/Dashboard */
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--orders a::before {
  content: "\1F4E6"; /* 📦 Package/Orders */
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--bookings a::before {
  content: "\1F4C5"; /* 📅 Active trip bookings */
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--history a::before {
  content: "\1F553"; /* 🕓 Trip history */
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--downloads a::before {
  content: "\2B07"; /* ⬇ Download arrow */
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--edit-address a::before {
  content: "\1F3E0"; /* 🏠 Home/Address */
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--payment-methods a::before {
  content: "\1F4B3"; /* 💳 Credit Card */
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--edit-account a::before {
  content: "\1F464"; /* 👤 User/Account */
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a::before {
  content: "\21AA"; /* ↪ Logout arrow */
  color: var(--wc-danger);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
  color: var(--wc-danger);
  background-color: var(--wc-danger-light);
  border-left-color: var(--wc-danger);
}

.woocommerce-account .woocommerce-MyAccount-content h2 {
  font-size: var(--wc-font-size-lg);
  font-weight: var(--wc-font-weight-semibold);
  color: var(--wc-gray-900);
  margin-bottom: var(--wc-spacer-4);
  padding-bottom: var(--wc-spacer-3);
  border-bottom: var(--wc-form-border-width) solid var(--wc-border-color);
}

/* Order again button */
.woocommerce-account p.order-again {
  display: flex;
  justify-content: flex-end;
  margin-top: var(--wc-spacer-3);
}

/* Edit account form */
.woocommerce-account .woocommerce-EditAccountForm {
  max-width: 600px;
}

.woocommerce-account .woocommerce-EditAccountForm input[type="submit"] {
  margin-top: var(--wc-spacer-4);
}

/* Mobile responsive - horizontal scrollable nav */
@media (max-width: 767.98px) {
  .woocommerce-account .woocommerce {
    flex-direction: column;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul {
    flex-direction: row;
    flex-wrap: wrap;
    border-radius: var(--wc-border-radius);
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul li {
    flex: 1 0 calc(50% - 1px);
    border-bottom: var(--wc-form-border-width) solid var(--wc-border-color);
    border-right: var(--wc-form-border-width) solid var(--wc-border-color);
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul li:nth-child(2n) {
    border-right: none;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul li:nth-last-child(-n+2) {
    border-bottom: none;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    padding: var(--wc-spacer-2) var(--wc-spacer-3);
    font-size: var(--wc-font-size-sm);
    justify-content: center;
    text-align: center;
    flex-direction: column;
    border-left: none;
    border-top: 3px solid transparent;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,
  .woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
    border-left: none;
    border-top-color: var(--wc-primary);
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul li a::before {
    margin-right: 0;
    margin-bottom: var(--wc-spacer-1);
    font-size: 1.25rem;
  }

  .woocommerce-account .woocommerce-MyAccount-content {
    padding: var(--wc-spacer-3);
  }

  .woocommerce-account .woocommerce-MyAccount-content h2 {
    font-size: 1.125rem;
    text-align: center;
  }
}
