@charset "UTF-8";
/* Product page: allow horizontal scroll so wide variants table isn’t clipped (no overflow on table wrappers = sticky works) */
/* line 4, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
body#product-details .main-content-area {
  overflow-x: auto;
}

/* Product Content - Ensure full width */
/* line 9, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.product-content {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* Main Container */
/* line 16, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.product-main-container {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 100%;
  gap: 20px;
  box-sizing: border-box;
}

/* Top Container: Image, Title/Description */
/* line 26, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.product-top-container {
  display: flex;
  width: 100%;
  max-width: 100%;
  gap: 40px;
  align-items: flex-start;
  padding: 12px 24px;
  box-sizing: border-box;
}

/* Product image section (left side) */
/* line 37, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.product-image-section {
  display: flex;
  width: 250px;
  padding-left: 1px;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  align-self: flex-start;
}

/* line 49, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.product-image-section .product-image-container {
  width: 250px;
  max-width: 250px;
}

/* line 54, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.product-image-section .product-image-container img {
  width: 100%;
  max-width: 250px;
  height: auto;
  object-fit: contain;
  display: block;
}

/* Product Info Middle Section (Title + Description) */
/* line 63, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.product-info-middle {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start;
}

/* Bottom Container: no overflow so sticky header’s scroll container stays .main-content-area (overflow-x there for product page) */
/* line 72, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.product-bottom-container {
  width: 100%;
  padding: 0 24px;
  box-sizing: border-box;
  overflow: visible;
}

/* line 79, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.product-details-container {
  display: flex;
  width: 100%;
  gap: 40px;
  padding: 12px 24px;
}

/* Product info section (right side) */
/* line 87, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.product-info-section {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* Product header row - Top row with title only */
/* line 95, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.product-header-row {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 20px;
}

/* Container 1: Product title - Full width on its own row */
/* line 103, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.product-title-container {
  width: 100%;
}

/* Desktop: show full description in top container; hide mobile description block */
/* line 108, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.product-description-desktop {
  display: block;
}

/* line 112, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.product-description-section--mobile {
  display: none;
}

/* Toggle button: visible only on mobile (see media query) */
/* line 117, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.product-description-toggle {
  display: none;
}

/* line 121, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.product-title {
  color: #5787C9;
  font-family: "Exo 2";
  font-size: 28px;
  font-style: normal;
  font-weight: 700;
  line-height: 36px;
  /* 128.571% */
  margin: 0;
}

/* Variants table section - no overflow so sticky works and table content isn’t clipped in initial state */
/* Product properties under title (shown on mobile only) */
/* line 133, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.product-properties-inline {
  display: none;
}

/* Mobile variant cards (shown on mobile only) */
/* line 138, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.product-mobile-variants {
  display: none;
}

/* line 142, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.variants-table-section {
  width: 100%;
  margin-top: 20px;
  overflow: visible;
  box-sizing: border-box;
}

/* Variants table - CSS Grid: fixed column widths + flexible gap (remaining space distributed evenly between columns) */
/* line 150, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.variants-table {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 1fr;
  grid-auto-rows: auto;
}

/* line 159, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.variants-table thead,
.variants-table tbody {
  display: contents;
}

/* Each row is a grid: 7 fixed-width columns + flexible column-gap */
/* line 165, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.variants-table tr {
  display: grid;
  grid-column: 1 / -1;
  box-sizing: border-box;
}

/* line 171, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.variants-table--cols-7 tr {
  grid-template-columns: 120px 100px 90px 50px 110px 160px 160px;
  column-gap: calc((100% - 790px) / 6);
}

/* line 176, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.variants-table--cols-6 tr {
  grid-template-columns: 120px 100px 50px 110px 160px 160px;
  column-gap: calc((100% - 700px) / 5);
}

/* Header row background */
/* line 182, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.variants-table thead tr {
  background: #D4E3FF;
}

/* Product page: table header never goes under breadcrumbs – sticks at bottom of breadcrumb, variants scroll under it */
/* line 187, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
body#product-details .variants-table thead tr {
  position: sticky;
  top: 3.75rem;
  /* Breadcrumb height – same as .bw-breadcrumbs; header stops here, never under breadcrumbs */
  z-index: 5;
  background: #D4E3FF;
  box-shadow: 0 1px 0 0 #F1F4F9;
}

/* Variants table header cells - flex so content is vertically centered (grid ignores vertical-align) */
/* line 196, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.variants-table th {
  display: flex;
  align-items: center;
  padding: 20px 12px;
  color: #101113;
  font-family: "Exo 2";
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 20px;
  /* 142.857% */
  letter-spacing: 0.25px;
  white-space: nowrap;
  box-sizing: border-box;
}

/* Size column header - prevent from getting too wide */
/* line 212, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.variants-table th:nth-child(1) {
  min-width: 100px;
}

/* Availability column header - fixed width so text doesn't shift when bullet label shows */
/* line 217, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.variants-table th.availability-header {
  width: 160px;
  min-width: 160px;
  max-width: 160px;
  text-align: left;
}

/* Add to cart column header - ensure minimum width for buttons */
/* line 225, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.variants-table th:nth-child(7),
.variants-table th:last-child {
  width: 160px;
  min-width: 160px;
  max-width: 160px;
  text-align: center;
}

/* Price header with title and subtitle */
/* line 234, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.price-header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}

/* line 242, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.price-subtitle {
  color: #101113;
  font-family: "Exo 2", Roboto;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 16px;
  /* 133.333% */
  letter-spacing: 0.4px;
}

/* Variants table body rows (tr remains display: grid from .variants-table tr) - no transition so row + add-to-cart cell change background together on hover */
/* line 254, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.variants-table tbody tr {
  border-bottom: 1px solid #F1F4F9;
  background: #FFF;
}

/* line 259, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.variants-table tbody tr:hover {
  background: #F1F4F9;
}

/* line 263, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.variants-table tbody tr:hover td:nth-child(7),
.variants-table tbody tr:hover td.add-to-cart-cell {
  background: #F1F4F9;
}

/* line 268, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.variants-table tbody tr:hover .quantity-selector {
  background: transparent;
}

/* Variants table body cells - flex so content is vertically centered (grid ignores vertical-align) */
/* line 273, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.variants-table tbody td {
  display: flex;
  align-items: center;
  padding: 4px 12px;
  box-sizing: border-box;
  white-space: nowrap;
}

/* Column-specific styling for table body cells */
/* Size column (diameter) */
/* line 284, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.variants-table tbody td:nth-child(1) {
  min-width: 100px;
  color: #101113;
  font-family: Roboto;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px;
  /* 142.857% */
  letter-spacing: 0.25px;
  vertical-align: middle;
}

/* SKU column */
/* line 297, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.variants-table tbody td:nth-child(2) {
  color: #101113;
  font-family: Roboto;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0.25px;
}

/* Pressure column */
/* Property column - old style removed, now using .property-cell class */
/* Property column */
/* line 311, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.variants-table tbody td.property-cell {
  vertical-align: middle;
  padding: 8px 12px;
}

/* line 316, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.variants-table tbody td .property-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
}

/* line 323, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.variants-table tbody td .property-item {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 8px;
  font-family: Roboto;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0.25px;
  color: #101113;
}

/* line 337, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.variants-table tbody td .property-name {
  font-weight: 400;
  flex-shrink: 0;
}

/* line 342, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.variants-table tbody td .property-value {
  font-weight: 400;
}

/* U.M. column */
/* line 347, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.variants-table tbody td:nth-child(4) {
  color: #101113;
  font-family: Roboto;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px;
  /* 142.857% */
  letter-spacing: 0.25px;
}

/* Price column - left-aligned like other columns */
/* line 358, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.variants-table tbody td:nth-child(5) {
  justify-content: flex-start;
  color: #5787C9;
  font-family: var(--Display-Large-Font, "Exo 2");
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: var(--Label-Large-Line-Height, 20px);
  /* 125% */
  letter-spacing: var(--Label-Large-Tracking, 0.1px);
}

/* Availability column - fixed width so bullet label doesn't push layout */
/* line 370, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.variants-table tbody td:nth-child(6),
.variants-table tbody td.availability-cell {
  width: 160px;
  min-width: 160px;
  max-width: 160px;
  text-align: left;
  color: #101113;
  font-family: Roboto;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px;
  /* 142.857% */
  letter-spacing: 0.25px;
}

/* Add to cart column */
/* line 386, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.variants-table tbody td:nth-child(7),
.variants-table tbody td.add-to-cart-cell {
  justify-content: center;
  width: 160px;
  min-width: 160px;
  max-width: 160px;
  background-color: #FFF;
  text-align: center;
}

/* line 396, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.variants-table tbody td:nth-child(7) .quantity-selector,
.variants-table tbody td.add-to-cart-cell .quantity-selector {
  width: 140px;
  min-width: 140px;
  max-width: 140px;
  margin: 0 auto;
  justify-content: center;
}

/* Availability indicator styling */
/* line 407, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.availability-indicator {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

/* line 414, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.availability-indicator {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  justify-content: flex-start;
}

/* line 422, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.availability-bullet {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
  box-sizing: border-box;
}

/* line 430, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.availability-bullet.in-stock {
  background-color: #14990A;
}

/* line 434, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.availability-bullet.exceeds-stock {
  background-color: #FE8F1C;
}

/* line 439, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.availability-bullet.backorderable {
  background-color: #fff !important;
  border: 2px solid #FE8F1C;
  box-sizing: border-box;
}

/* line 445, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.availability-bullet.out-of-stock {
  background-color: #EA1F00;
}

/* line 449, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.availability-bullet.out-of-stock-not-backorderable {
  background-color: #4C4A47;
}

/* line 454, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.availability-indicator.at-max-stock .availability-bullet {
  background-color: #EA1F00 !important;
  border: none !important;
}

/* line 459, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.availability-text {
  font-family: Roboto;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 16px;
  text-align: left;
  white-space: nowrap;
  display: none;
}

/* line 470, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.availability-text.in-stock-text {
  color: #14990A;
}

/* line 474, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.availability-text.exceeds-stock-text {
  color: #FE8F1C;
}

/* line 478, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.availability-text.backorderable-text {
  color: #FE8F1C;
}

/* line 482, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.availability-text.out-of-stock-text {
  color: #4C4A47;
}

/* line 486, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.availability-text.max-stock-reached-text {
  color: #EA1F00;
}

/* line 491, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.availability-indicator.at-max-stock .max-stock-reached-text {
  display: block;
}

/* line 495, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.availability-indicator.at-max-stock .in-stock-text {
  display: none !important;
}

/* line 500, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.availability-indicator.has-quantity .availability-bullet.backorderable ~ .backorderable-text {
  display: block;
}

/* line 504, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.availability-indicator.has-quantity .availability-bullet.in-stock ~ .in-stock-text {
  display: block;
}

/* line 508, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.availability-indicator.has-quantity .availability-bullet.exceeds-stock ~ .exceeds-stock-text {
  display: block;
}

/* line 513, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.variants-table tbody tr:hover .availability-bullet.out-of-stock-not-backorderable ~ .out-of-stock-text {
  display: block;
}

/* Product description container */
/* line 521, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.product-description-container {
  margin-top: 40px;
  padding-top: 40px;
  border-top: 1px solid #e0e0e0;
}

/* line 527, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.product-description-container h3 {
  font-size: 20px;
  font-weight: 600;
  margin: 0 0 16px 0;
  color: #333;
}

/* line 534, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.description-content {
  font-size: 16px;
  line-height: 1.6;
  color: #555;
}

/* line 540, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.product-main-frame {
  display: flex;
  height: 849px;
  padding: 8px 24px 0 24px;
  align-items: flex-start;
  margin-top: 75px;
  /* Add margin to clear the header */
}

/* line 548, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.product-content-container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
}

/* line 556, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
#product-description .product-title {
  font-size: 24px;
  font-weight: 600;
  color: #5787C9;
}

/* line 562, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
#product-description .options-available-info {
  display: inline-block;
  font-size: 16px;
  color: #14990A;
}

/* line 568, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
#product-description .product-section-title {
  margin-top: 10px;
  margin-bottom: 5px;
  font-size: 14px;
  color: #5787C9;
  text-transform: uppercase;
}

/* line 577, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
#product-description .product-property .product-property-value {
  margin-left: 15px;
  font-size: 18px;
  font-weight: 600;
}

/* line 584, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
#product-description .product-description-section {
  margin: 20px 0 30px 0;
}

/* line 588, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
#product-description .product-sold-by {
  text-align: right;
  font-size: 12px;
}

/* line 594, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.variant-title {
  margin-top: 10px;
  font-weight: bold;
}

/* line 599, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.variant-select {
  background: none;
  box-shadow: none;
  appearance: none;
  -moz-appearance: none;
  /* Firefox */
  -webkit-appearance: none;
  /* Safari and Chrome */
  padding: 0px 12px;
  background: url(/assets/icon-caret-down-orange-2-a6ea4b1df6532c75669bc2b41c1fa6c06fa01f269af1aa43ad2b24df17543ab1.png) no-repeat right #fff;
  line-height: 63px;
  height: 50px;
  top: 0;
  left: 12px;
  z-index: 10;
  font-size: 18px;
  font-weight: bold;
}

/* line 617, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
#taxon-crumbs .product-section-title {
  padding-bottom: 10px;
  color: #5787C9;
  font-size: 24px;
  border-bottom: 1px solid #5787C9;
}

/* line 625, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
.no-gutter > [class*='col-'] {
  padding-right: 0;
  padding-left: 0;
}

/* Mobile Styles - Stack layout vertically (table doesn't fit under 1200px so we keep this breakpoint) */
@media (max-width: 1200px) {
  /* Sticky: breadcrumbs + product-top must not move; allow sticky to work */
  /* line 633, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  body#product-details .content-row {
    overflow: visible;
  }
  /* Keep scroll in content area; remove top padding that made sticky block shift */
  /* line 638, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  body#product-details .main-content-area {
    overflow-y: auto;
    overflow-x: hidden;
    padding-top: 0 !important;
  }
  /* True mobile: sticky should follow page scroll, not a non-scrolling inner overflow ancestor */
}

@media (max-width: 1200px) and (max-width: 767px) {
  /* line 646, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  body#product-details .main-content-area {
    overflow: visible;
  }
}

@media (max-width: 1200px) {
  /* line 652, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .variants-table tbody tr:hover {
    background: transparent !important;
  }
  /* line 656, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .variants-table tbody tr:hover td:nth-child(7) {
    background: transparent !important;
  }
  /* Main Container - no overflow on this parent so sticky works (description + variants scroll under top block) */
  /* line 660, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .product-main-container {
    width: 100%;
    max-width: 100vw;
    box-sizing: border-box;
    overflow: visible;
  }
  /* Top container: sticky so it never moves; 768–1200 sticks below breadcrumbs, under 767 at top (breadcrumbs hidden) */
  /* line 668, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .product-top-container {
    display: flex;
    flex-direction: row;
    gap: 16px;
    padding: 12px 0;
    align-items: flex-start;
    flex-shrink: 0;
    position: sticky;
    top: 3.75rem;
    /* below breadcrumbs (same height as .bw-breadcrumbs) */
    z-index: 12;
    background: #fff;
    border-bottom: 1px solid #F1F4F9;
  }
  /* Mobile: hide desktop description (it's in the top container); show mobile description section below */
  /* line 683, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .product-description-desktop {
    display: none !important;
  }
  /* line 687, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .product-description-section--mobile {
    display: block;
  }
  /* line 691, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .product-image-section {
    width: 120px;
    min-width: 120px;
    flex-shrink: 0;
  }
  /* line 697, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .product-image-section .product-image-container,
.product-image-section .product-image-container img {
    width: 120px;
    max-width: 120px;
  }
  /* line 703, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .product-info-middle {
    flex: 1;
    min-width: 0;
  }
  /* line 708, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .product-title {
    font-size: 18px;
    line-height: 24px;
  }
  /* All properties in one block, sibling of title: stack vertically (one per line) */
  /* line 714, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .product-properties-inline {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 8px;
    font-size: 13px;
    color: #101113;
  }
  /* line 723, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .product-property-inline {
    display: block;
  }
  /* line 727, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .product-property-inline .product-property-name {
    font-weight: 500;
  }
  /* line 731, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .product-property-inline .product-property-value {
    margin-left: 4px;
  }
  /* This section shows ONLY product description from admin (2 rows + Show more). No properties. */
  /* line 736, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .product-description-section--mobile {
    padding: 0;
  }
  /* line 740, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .product-description-section--mobile .product-properties-inline,
.product-description-section--mobile [data-hook="product_properties"] {
    display: none !important;
  }
  /* line 745, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .product-description-wrap {
    position: relative;
  }
  /* Exactly 2 rows of description text */
  /* line 750, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .product-description-wrap .product-description-text.description-content-collapsed {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    overflow: hidden;
    font-size: 14px;
    line-height: 1.4;
    color: #101113;
    -webkit-box-orient: vertical;
  }
  /* line 760, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .product-description-wrap .product-description-text p {
    margin: 0 0 0.35em;
  }
  /* line 764, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .product-description-wrap .product-description-text p:last-child {
    margin-bottom: 0;
  }
  /* line 768, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .product-description-wrap .product-description-text.description-content-expanded {
    -webkit-line-clamp: unset;
    overflow: visible;
    display: block;
  }
  /* Row below 2nd line: Show more on the right */
  /* line 775, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .product-description-toggle-row {
    margin-top: 4px;
    text-align: right;
  }
  /* line 780, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .product-description-toggle {
    display: inline-block;
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    font-size: 14px;
    font-weight: 500;
    color: #5787C9;
    cursor: pointer;
    text-decoration: none;
  }
  /* line 793, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .product-description-toggle:hover {
    text-decoration: none;
  }
  /* Hide desktop table on mobile; show variant rows (border-bottom only, no cards) */
  /* line 798, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .variants-table-section--desktop {
    display: none !important;
  }
  /* line 802, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .product-mobile-variants {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
  }
  /* line 809, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .product-mobile-variant-card {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    padding: 12px 0;
    border: none;
    border-bottom: 1px solid #F1F4F9;
    border-radius: 0;
    background: transparent;
    box-sizing: border-box;
  }
  /* line 823, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .product-mobile-variant-card:last-child {
    border-bottom: none;
  }
  /* line 827, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .product-mobile-variant-left {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
  }
  /* line 835, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .product-mobile-variant-sku {
    font-size: 14px;
    font-weight: 600;
    color: #101113;
  }
  /* line 841, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .product-mobile-variant-options {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: 13px;
    color: #101113;
  }
  /* line 849, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .product-mobile-variant-option-row {
    display: block;
  }
  /* Availability value under last option (no "stock" label; text only in the right color) */
  /* line 854, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .product-mobile-variant-availability {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    font-weight: 400;
    line-height: 16px;
  }
  /* line 862, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .product-mobile-variant-availability.in-stock-text {
    color: #14990A;
  }
  /* line 866, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .product-mobile-variant-availability.exceeds-stock-text {
    color: #FE8F1C;
  }
  /* line 870, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .product-mobile-variant-availability.backorderable-text {
    color: #FE8F1C;
  }
  /* line 874, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .product-mobile-variant-availability.out-of-stock-text {
    color: #4C4A47;
  }
  /* line 878, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .product-mobile-variant-availability.max-stock-reached-text {
    color: #EA1F00;
  }
  /* line 882, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .product-mobile-variant-right {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
  }
  /* line 890, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .product-mobile-variant-quantity .quantity-selector {
    display: flex;
    align-items: center;
    gap: 4px;
  }
  /* line 896, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .product-mobile-variant-price {
    font-size: 16px;
    font-weight: 600;
    color: #5787C9;
    white-space: nowrap;
  }
  /* line 903, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .product-mobile-variant-price .product-mobile-variant-price-vat {
    color: #101113;
    font-weight: 400;
  }
  /* Bottom Container */
  /* line 909, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .product-bottom-container {
    padding: 0;
    width: 100%;
    max-width: 100%;
    order: 3;
    box-sizing: border-box;
  }
  /* Hide table header on mobile */
  /* line 918, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .variants-table thead {
    display: none;
  }
  /* Transform table rows into cards on mobile */
  /* line 923, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .variants-table tbody {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
  }
  /* line 930, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .variants-table tbody tr {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 100%;
    padding: 16px 0;
    gap: 12px;
    border: none;
    border-bottom: 1px solid #DEDEDE;
    border-radius: 0;
    align-items: flex-start;
    box-sizing: border-box;
    position: relative;
    padding-right: 130px;
    /* Make room for the button */
  }
  /* line 946, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .variants-table tbody tr:last-child {
    border-bottom: none;
  }
  /* line 950, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .variants-table tbody tr:last-child {
    border-bottom: none;
  }
  /* Hide all table cells by default */
  /* line 955, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .variants-table tbody td {
    display: none;
    padding: 0;
    border: none;
    margin: 0;
  }
  /* Left section container - groups diameter, SKU, availability vertically */
  /* line 963, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .variants-table tbody td:nth-child(1) {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    flex: 1 1 100%;
    min-width: 0;
    margin-bottom: 8px;
    width: 100%;
    order: 1;
    flex-wrap: wrap;
    word-break: break-word;
    overflow-wrap: break-word;
    box-sizing: border-box;
  }
  /* line 979, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .variants-table tbody td:nth-child(2) {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    flex: 1 1 100%;
    min-width: 0;
    margin-bottom: 8px;
    width: 100%;
    order: 2;
    flex-wrap: wrap;
    word-break: break-word;
    overflow-wrap: break-word;
  }
  /* line 994, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .variants-table tbody td:nth-child(6) {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    flex: 1 1 100%;
    min-width: 0;
    margin-bottom: 8px;
    width: 100%;
    order: 3;
    justify-content: flex-start;
    flex-wrap: wrap;
    word-break: break-word;
    overflow-wrap: break-word;
    box-sizing: border-box;
  }
  /* Add labels using ::before pseudo-element */
  /* line 1012, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .variants-table tbody td:nth-child(2)::before {
    content: attr(data-label);
    font-weight: 400;
    font-size: 14px;
    color: #101113;
    opacity: 0.7;
    flex-shrink: 0;
  }
  /* Value styles for diameter */
  /* line 1022, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .variants-table tbody td:nth-child(1) {
    font-weight: 600;
    font-size: 16px;
    color: #101113;
  }
  /* Value styles for SKU */
  /* line 1029, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .variants-table tbody td:nth-child(2) {
    font-size: 14px;
    color: #101113;
    opacity: 1;
  }
  /* Availability indicator - bullet on left */
  /* line 1036, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .variants-table tbody td:nth-child(6) .availability-indicator {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    justify-content: flex-start;
    flex-wrap: wrap;
    min-width: 0;
    flex: 1 1 auto;
  }
  /* line 1047, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .variants-table tbody td:nth-child(6) .availability-text {
    font-size: 11px;
    line-height: 14px;
    word-break: break-word;
    overflow-wrap: break-word;
    white-space: normal;
  }
  /* Right section: Add to cart button (top corner) */
  /* line 1056, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .variants-table tbody td:nth-child(7) {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
    width: auto;
    align-self: flex-start;
    order: 0;
    position: absolute;
    top: 16px;
    right: 0;
  }
  /* Price - below add to cart button */
  /* line 1070, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .variants-table tbody td:nth-child(5) {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    font-size: 16px;
    font-weight: 600;
    color: #5787C9;
    text-align: right;
    width: auto;
    order: 0;
    position: absolute;
    top: 72px;
    right: 0;
    gap: 4px;
  }
  /* Add label before price on mobile */
  /* line 1087, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .variants-table tbody td:nth-child(5)::before {
    content: attr(data-label);
    font-weight: 400;
    font-size: 14px;
    color: #101113;
    opacity: 0.7;
  }
  /* Hide Property and U.M. columns on mobile */
  /* line 1096, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .variants-table tbody td:nth-child(3),
.variants-table tbody td:nth-child(4) {
    display: none;
  }
  /* Adjust quantity selector for mobile cards */
  /* line 1102, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .variants-table tbody td .quantity-selector {
    width: auto;
    min-width: auto;
  }
  /* Remove padding from property-cell on mobile */
  /* line 1108, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  .variants-table tbody td.property-cell {
    padding: 0;
  }
}

/* Under 767px: breadcrumbs are hidden (see _breadcrumbs.scss); product-top sticks to top */
@media (max-width: 767px) {
  /* line 1115, vendor/assets/stylesheets/spree/frontend/layouts/_product.scss */
  body#product-details .product-top-container {
    top: 0;
  }
}

@media (max-width: 767px) {
  /* line 6, vendor/assets/stylesheets/spree/frontend/mobile/_product.scss */
  #cart-form .add-cart input {
    width: 100% !important;
  }
  /* line 10, vendor/assets/stylesheets/spree/frontend/mobile/_product.scss */
  #cart-form .add-cart .input-group-btn {
    width: 70% !important;
  }
  /* line 13, vendor/assets/stylesheets/spree/frontend/mobile/_product.scss */
  #cart-form .add-cart .input-group-btn button {
    width: 100%;
  }
  /* line 20, vendor/assets/stylesheets/spree/frontend/mobile/_product.scss */
  .cart-details-container {
    width: 97%;
  }
}
