/* Mobile Styles - Only affects mobile layout without changing functionality */

/* Only apply these styles on mobile devices */
@media (max-width: 767px) {
  /* Fix container width to prevent horizontal scrolling */
  body {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100vw !important;
  }

  .container {
    padding: 0 10px;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    height: auto;
    min-height: 100vh;
  }
  
  /* Ensure buttons have proper cursor on mobile */
  button {
    cursor: pointer !important;
  }
  
  /* Vehicle selector section */
  .select-vehicle {
    padding: 12px 8px;
  }

  .select-vehicle h3 {
    font-size: 16px;
    margin-bottom: 12px;
    text-align: center;
  }

  /* Make dropdowns stack vertically */
  .vehicle-selectors {
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 100%;
  }

  /* Make each selector take full width */
  .selector {
    width: 100% !important;
    margin: 0 0 10px 0 !important;
    position: relative !important;
  }

  /* UNIFIED DROPDOWN STYLING - Apply to ALL select elements */
  .selector select,
  select,
  #year,
  #make, 
  #model,
  #brand,
  #brand-filter,
  #wheel-model-filter,
  .brand-select-styled {
    width: 100% !important;
    height: 48px !important;
    min-height: 48px !important;
    padding: 12px 40px 12px 16px !important;
    border-radius: 6px !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    background-color: #ffffff !important;
    border: 2px solid #e5e5e5 !important;
    color: #333333 !important;
    cursor: pointer !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    text-align: left !important;
    text-align-last: left !important;
    -moz-text-align-last: left !important;
    -webkit-text-align-last: left !important;
    display: block !important;
    box-sizing: border-box !important;
    transition: all 0.2s ease !important;
    outline: none !important;
    text-transform: none !important;
  }

  /* Hover and focus states for all dropdowns */
  .selector select:hover,
  select:hover,
  #year:hover,
  #make:hover, 
  #model:hover,
  #brand:hover,
  #brand-filter:hover,
  #wheel-model-filter:hover,
  .brand-select-styled:hover {
    border-color: #cccccc !important;
    background-color: #fafafa !important;
  }

  .selector select:focus,
  select:focus,
  #year:focus,
  #make:focus, 
  #model:focus,
  #brand:focus,
  #brand-filter:focus,
  #wheel-model-filter:focus,
  .brand-select-styled:focus {
    border-color: #A90616 !important;
    box-shadow: 0 0 0 3px rgba(169, 6, 22, 0.1) !important;
    background-color: #ffffff !important;
  }

  /* Dropdown arrows for all selectors */
  .selector::after {
    content: '▼' !important;
    font-size: 12px !important;
    color: #666666 !important;
    position: absolute !important;
    right: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    pointer-events: none !important;
    z-index: 10 !important;
  }

  /* Adjust action buttons */
  .action-buttons {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin-top: 15px;
  }

  .action-buttons button {
    flex: 1;
    height: 48px;
    margin: 0 5px;
    font-size: 16px;
    font-weight: 600;
  }

  .action-buttons button:first-child {
    margin-left: 0;
  }

  .action-buttons button:last-child {
    margin-right: 0;
  }
  
  /* Make the vehicle title smaller and centered */
  .vehicle-title {
    display: none; /* Hide the redundant vehicle title section on mobile */
  }
  
  .vehicle-title h2 {
    display: none; /* Hide the redundant vehicle title heading on mobile */
  }
  
  /* BRAND SECTION - Enhanced mobile styles to override desktop styles */
  .brand-section {
    background-color: #f8f8f8 !important;
    border-radius: 6px !important;
    margin: 8px 0 4px 0 !important;
    padding: 12px !important;
    border-bottom: 1px solid #f3f3f3 !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  
  .brand-section h3 {
    text-transform: uppercase !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    margin: 0 0 8px 0 !important;
    letter-spacing: 0.5px !important;
    color: #555 !important;
    padding-left: 2px !important;
  }
  
  /* Brand selector container */
  .brand-section .selector {
    width: 100% !important;
    position: relative !important;
    margin-bottom: 5px !important;
  }
  
  /* Style the section headers consistently */
  .wheel-section h3,
  .finish-section h3 {
    text-transform: uppercase;
    font-size: 11px;
    font-weight: 600;
    margin: 0 0 8px 0;
    letter-spacing: 0.5px;
    color: #555;
    padding-left: 2px;
  }
  
  /* Center the wheel section heading */
  .wheel-section h3 {
    text-align: center;
    padding-left: 0;
  }
  
  /* Ensure proper spacing for all sections */
  .wheel-section, 
  .finish-section {
    margin: 8px 0;
    position: relative;
    padding: 0 12px;
  }
  
  /* Remove separator line - make sections flow together */
  .wheel-section:after {
    display: none;
  }
  
  /* Reduce the gap between dropdown and wheel section heading */
  .brand-section + .wheel-section {
    margin-top: 4px;
  }
  
  /* Make wheel grid more compact */
  .wheel-section {
    margin-bottom: 5px;
  }
  
  .wheel-container {
    margin-bottom: 0;
    margin-top: 10px;
  }
  
  /* Style the wheel grid with proper spacing - Now using 3 columns */
  .wheel-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4px;
    margin-bottom: 8px;
    padding: 0;
  }
  
  /* Style wheel options - Adjusted for 3-column layout */
  .wheel-option {
    margin-bottom: 0;
    border-radius: 4px;
    overflow: hidden;
    background-color: #f7f7f7;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3px;
    position: relative;
  }
  
  .wheel-option.selected {
    border: 1px solid #000;
  }
  
  .wheel-option img {
    max-width: 85%;
    max-height: 65px;
    height: auto;
    object-fit: contain;
  }
  
  .wheel-model-name {
    margin-top: 5px;
    font-size: 10px;
    font-weight: 500;
    text-transform: uppercase;
    text-align: center;
    color: #333;
  }
  
  /* Target actual pagination controls by adding an !important flag */
  .pagination-controls {
    position: relative;
    display: flex !important;
    justify-content: center;
    align-items: center;
    padding: 10px 0;
    margin: 0;
    height: auto;
    min-height: 44px;
    background-color: #A90616;
    border-top: 1px solid #eee;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 10;
    width: 100%;
    box-sizing: border-box;
    order: 10;
    flex-shrink: 0;
  }
  
  /* Style finish swatches */
  .finish-swatches {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 10px 0;
    justify-content: flex-start;
  }
  
  .finish-swatch {
    width: 40px;
    height: 40px;
    border-radius: 4px;
    cursor: pointer;
    border: 1px solid #ddd;
    position: relative;
  }
  
  .finish-swatch.selected {
    border: 2px solid #000;
    box-shadow: 0 0 0 1px #000;
  }
  
  .finish-name {
    margin-top: 8px;
    font-size: 13px;
  }
  
  /* Clean and simple vehicle preview and wheel overlay styles */
  .preview-panel {
    position: relative !important;
    background-color: #f0f0f0 !important;
    margin: 8px 0 0 !important;
    padding: 0 !important;
    width: 100% !important;
    overflow: hidden !important;
  }
  
  /* Simple vehicle preview container - FIXED for consistent alignment */
  .vehicle-preview {
    position: relative !important;
    padding: 0 !important;
    margin: 0 !important;
    background-color: #f0f0f0 !important;
    width: 100% !important;
    text-align: center !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    min-height: 180px !important;
    overflow: hidden !important;
  }
  
  /* FIXED: Vehicle image - make it absolute positioned like overlay */
  #vehicle-image, 
  .vehicle-image {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 100% !important;
    max-width: 360px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    z-index: 1 !important;
    object-fit: contain !important;
  }
  
  /* FIXED: Wheel overlay container - simplified */
  .wheel-overlay {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    pointer-events: none !important;
    z-index: 10 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
  }
  
  /* FIXED: Wheel overlay image - identical positioning to vehicle image */
  #wheel-overlay-image,
  .wheel-overlay img {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 100% !important;
    max-width: 360px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    z-index: 10 !important;
    object-fit: contain !important;
  }
  
  /* Mobile-specific toggle button styles */
  /* Styles moved to main styles.css for consistency across desktop and mobile */
  
  /* Make paint section more compact */
  .paint-section,
  .paint-section.mt-6.p-4.bg-gray-50.rounded-lg.shadow {
    margin: 15px 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background-color: transparent !important;
  }
  
  .paint-section h3 {
    font-size: 12px !important;
    margin-bottom: 10px !important;
    text-transform: uppercase !important;
    font-weight: 600 !important;
    letter-spacing: 0.5px !important;
  }
  
  /* Target the actual flex container with utility classes */
  #paint-swatches, 
  .paint-swatches.flex.flex-wrap,
  div[class*="paint-swatches"] {
    gap: 10px !important;
    margin-bottom: 10px !important;
    justify-content: center !important;
    display: flex !important;
    flex-wrap: wrap !important;
    padding: 0 !important;
    background-color: transparent !important;
  }
  
  /* Target the button elements directly */
  #paint-swatches button,
  .paint-swatches button,
  div[class*="paint-swatches"] button {
    width: 25px !important;
    height: 25px !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;
    border: 2px solid transparent !important;
    position: relative !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
  
  #paint-swatches button:hover,
  .paint-swatches button:hover,
  div[class*="paint-swatches"] button:hover {
    transform: scale(1.1) !important;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15) !important;
  }
  
  #paint-swatches button.selected,
  .paint-swatches button.selected,
  div[class*="paint-swatches"] button.selected {
    transform: scale(1.2) !important;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.2) !important;
    border: 2px solid #fff !important;
    z-index: 2 !important;
  }
  
  #paint-swatches button.selected::after,
  .paint-swatches button.selected::after,
  div[class*="paint-swatches"] button.selected::after {
    content: '' !important;
    position: absolute !important;
    bottom: -6px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 4px !important;
    height: 4px !important;
    background-color: #000 !important;
    border-radius: 50% !important;
  }
  
  .paint-name {
    margin-top: 5px !important;
    text-align: center !important;
    background-color: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
  }
  
  .paint-name p {
    font-size: 12px !important;
    margin: 0 !important;
  }
  
  /* Paint pagination for mobile */
  .paint-pagination {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin-top: 5px !important;
  }
  
  .paint-pagination-btn {
    font-size: 16px !important;
    padding: 3px !important;
  }
  
  /* Add collapsible functionality for paint section */
  .paint-section-toggle {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    cursor: pointer;
    z-index: 5;
  }
  
  .paint-section-toggle:before,
  .paint-section-toggle:after {
    content: '';
    position: absolute;
    background-color: #555;
    transition: transform 0.3s ease;
  }
  
  .paint-section-toggle:before {
    width: 10px;
    height: 2px;
  }
  
  .paint-section-toggle:after {
    width: 2px;
    height: 10px;
  }
  
  .paint-section.collapsed .paint-swatches,
  .paint-section.collapsed .paint-name {
    display: none;
  }
  
  .paint-section.collapsed .paint-section-toggle:after {
    transform: rotate(90deg);
  }
  
  /* Optimize main layout for mobile */
  main {
    display: flex;
    flex-direction: column;
    height: auto;
    min-height: calc(100vh - 200px);
    overflow: visible;
  }
  
  .config-panel {
    padding: 0;
    margin: 0;
    order: 2;
    background-color: #fff;
    border-radius: 8px;
    overflow: visible;
    height: auto;
    min-height: fit-content;
    max-height: none;
    display: flex;
    flex-direction: column;
  }
  
  .preview-panel {
    order: 1;
  }
  
  /* Fix admin panel positioning */
  button[id^="admin-panel"],
  div[id^="admin-panel"],
  #admin-panel-container {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 9999 !important;
    background-color: rgba(0,0,0,0.8) !important;
    padding: 5px !important;
    display: flex !important;
    justify-content: center !important;
    gap: 8px !important;
  }
  
  /* Style admin panel buttons */
  button[id^="admin-panel"],
  #admin-panel-container button {
    padding: 6px 12px !important;
    font-size: 12px !important;
    border-radius: 4px !important;
    border: none !important;
  }
  
  /* W+1 Logo styling for mobile - reduced padding */
  .brand-logo {
    padding: 5px 0 5px 0;
  }
  
  .w1-logo {
    max-width: 160px;
  }
  
  /* Reduce any additional spacing at page bottom */
  body {
    min-height: 100vh;
    height: auto;
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
    overflow-y: auto;
  }
  
  .container {
    flex: 1;
    padding-bottom: 0; 
  }

  /* Target specific classes seen in the developer tools screenshot */
  .paint-swatches.flex.flex-wrap.gap-2.justify-center {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    justify-content: center !important;
    background-color: transparent !important;
    margin-bottom: 10px !important;
    padding: 0 !important;
  }
  
  [data-color] {
    width: 25px !important;
    height: 25px !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;
    border: 2px solid transparent !important;
    position: relative !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
  
  [data-color].selected {
    transform: scale(1.2) !important;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.2) !important;
    border: 2px solid #fff !important;
    z-index: 2 !important;
  }
  
  [data-color].selected::after {
    content: '' !important;
    position: absolute !important;
    bottom: -6px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 4px !important;
    height: 4px !important;
    background-color: #000 !important;
    border-radius: 50% !important;
  }
  
  .text-sm.font-medium.text-gray-900.mb-3 {
    font-size: 12px !important;
    font-weight: 500 !important;
    margin-bottom: 10px !important;
    text-align: center !important;
  }

  /* Add these product list styles for mobile devices */
  .product-section {
    margin-top: 4px;
    margin-bottom: 0;
    background: #fff;
    border-radius: 6px;
    overflow: visible;
    border: 1px solid #f3f3f3;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    display: flex;
    flex-direction: column;
  }
  
  .product-section h3 {
    font-size: 11px;
    font-weight: 600;
    margin: 0;
    padding: 10px 15px;
    background-color: #f8f8f8;
    color: #555;
    text-transform: uppercase;
    border-bottom: 1px solid #f3f3f3;
    letter-spacing: 0.5px;
    line-height: 1.3;
  }
  
  /* Style for the vehicle name within the product heading on mobile */
  .product-section h3 .vehicle-name {
    display: block;
    font-size: 10px;
    font-weight: 500;
    margin-top: 1px;
    letter-spacing: 1px;
    opacity: 0.8;
    text-transform: uppercase;
  }
  
  /* Container for the product list */
  .product-container {
    max-height: none; /* Remove fixed height restriction */
    min-height: auto; /* Allow container to size based on content */
    overflow: visible;
    padding: 0;
    height: auto;
    display: flex;
    flex-direction: column;
  }
  
  /* Redesign product grid as a list view */
  .product-grid {
    display: flex;
    flex-direction: column;
    background-color: #fff;
    padding: 0;
    margin: 0;
    min-height: auto; /* Allow grid to size based on content */
    max-height: none; /* Remove height restriction */
    overflow: visible;
  }
  
  /* Style product items as rows with image left, content right */
  .product-item {
    display: flex;
    align-items: center;
    padding: 8px 15px;
    background-color: #fff;
    border-bottom: 1px solid #f0f0f0;
    transition: all 0.2s ease;
    cursor: pointer;
    height: auto;
    min-height: 75px;
    box-sizing: border-box;
  }
  
  .product-item:hover {
    background-color: #f9f9f9;
  }
  
  .product-item.selected {
    background-color: #f0f8ff;
    border-left: 3px solid #A90616;
  }
  
  /* Adjust product image container for thumbnail layout */
  .product-image {
    width: 60px;
    height: 60px;
    min-width: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f9f9f9;
    border-radius: 4px;
    overflow: hidden;
    margin-right: 12px;
  }
  
  .product-image img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
  }
  
  /* Modern mobile product info layout */
  .product-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-width: 0;
    height: 100%;
    padding: 1px 0;
  }

  /* Top row: Title and Fitment badge */
  .product-top-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 3px;
  }

  .product-title {
    font-size: 12px;
    font-weight: 600;
    color: #333;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
    margin-right: 6px;
    line-height: 1.2;
  }

  /* Mobile fitment badge styling */
  .product-fitment-badge {
    display: flex;
    align-items: center;
    gap: 2px;
    padding: 1px 4px;
    border-radius: 8px;
    font-size: 8px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.2px;
    white-space: nowrap;
    flex-shrink: 0;
  }

  .product-fitment-badge.staggered {
    background-color: #e8f4fd;
    color: #1e40af;
    border: 1px solid #bfdbfe;
  }

  .product-fitment-badge.square {
    background-color: #f0fdf4;
    color: #166534;
    border: 1px solid #bbf7d0;
  }

  .fitment-icon {
    font-size: 7px;
    line-height: 1;
  }

  .fitment-text {
    font-size: 7px;
    font-weight: 600;
  }

  /* Specs row: Front and Rear specifications */
  .product-specs-row {
    display: flex;
    gap: 8px;
    margin-bottom: 3px;
    flex-wrap: wrap;
  }

  .spec-item {
    display: flex;
    align-items: center;
    gap: 2px;
    font-size: 10px;
    line-height: 1.2;
  }

  .spec-label {
    font-weight: 600;
    color: #666;
    text-transform: uppercase;
    font-size: 8px;
    letter-spacing: 0.2px;
  }

  .spec-value {
    color: #333;
    font-weight: 500;
    font-size: 10px;
  }

  /* Bottom row: Additional info and View Details */
  .product-bottom-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: auto;
  }

  .product-additional-info {
    display: flex;
    gap: 6px;
    align-items: center;
    flex: 1;
  }

  .bolt-pattern,
  .finish-info {
    font-size: 8px;
    color: #888;
    background-color: #f5f5f5;
    padding: 1px 3px;
    border-radius: 2px;
    font-weight: 500;
  }

  .view-details-btn {
    font-size: 9px;
    background-color: #A90616;
    color: #ffffff;
    text-decoration: none;
    padding: 3px 6px;
    font-weight: 600;
    border-radius: 3px;
    transition: all 0.2s ease;
    text-transform: uppercase;
    letter-spacing: 0.2px;
    flex-shrink: 0;
    border: none;
    cursor: pointer;
  }

  .view-details-btn:hover {
    background-color: #8a0512;
    color: #ffffff;
    text-decoration: none;
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(169, 6, 22, 0.3);
  }

  .no-products-message {
    padding: 20px;
    text-align: center;
    color: #666;
    font-size: 14px;
    background: #f9f9f9;
  }
  
  /* Smaller screen adjustments */
  @media (max-width: 480px) {
    .product-item {
      padding: 10px;
    }
    
    .product-image {
      width: 50px;
      height: 50px;
      min-width: 50px;
      margin-right: 10px;
    }
    
    .product-title {
      font-size: 11px;
    }
    
    .spec-label {
      font-size: 7px;
    }
    
    .spec-value {
      font-size: 9px;
    }
    
    .fitment-text {
      font-size: 6px;
    }
    
    .view-details-btn {
      font-size: 8px;
    }
    
    .bolt-pattern,
    .finish-info {
      font-size: 7px;
    }
  }

  /* Fix all images in the page */
  img {
    max-width: 100% !important;
  }

  /* Mobile-specific filter layout */
  .filters-container {
    display: flex !important;
    flex-direction: column !important;
    gap: 15px !important;
    width: 100% !important;
  }

  .filter-half {
    flex: none !important;
    width: 100% !important;
  }

  #prev-page, 
  #next-page {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    background-color: rgba(0,0,0,0.1) !important;
    border-radius: 4px !important;
    border: none !important;
    font-size: 16px !important;
    cursor: pointer !important;
    margin: 0 4px !important;
    color: #f5f5f5 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    z-index: 100 !important;
  }

  #prev-page:hover, 
  #next-page:hover {
    background-color: rgba(0,0,0,0.2) !important;
  }

  #prev-page:disabled, 
  #next-page:disabled {
    opacity: 0.5 !important;
    cursor: not-allowed !important;
  }

  /* Diameter filter section styles for mobile */
  .diameter-filter-section {
    padding: 15px;
    background-color: transparent;
    margin-bottom: 15px;
  }

  .diameter-options {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
  }

  .diameter-option {
    background-color: #f8f9fa;
    border: 1px solid #e9ecef;
    color: #495057;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    padding: 8px 14px;
    border-radius: 18px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    min-width: 44px;
    text-align: center;
    letter-spacing: 0.2px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    position: relative;
    overflow: hidden;
    -webkit-tap-highlight-color: transparent;
  }

  .diameter-option::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #A90616, #8a0512);
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: -1;
  }

  .diameter-option:hover {
    transform: translateY(-1px);
    box-shadow: 0 3px 8px rgba(169, 6, 22, 0.2);
    border-color: #A90616;
    color: #A90616;
  }

  .diameter-option.selected {
    background-color: #A90616;
    color: #ffffff;
    border-color: #A90616;
    transform: translateY(-1px);
    box-shadow: 0 3px 8px rgba(169, 6, 22, 0.3);
  }

  .diameter-option.selected::before {
    opacity: 1;
  }

  .diameter-option:active {
    transform: translateY(0);
    transition-duration: 0.1s;
  }
} 

/* Pagination button styling */
#prev-page, 
#next-page {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  background-color: rgba(0,0,0,0.1) !important;
  border-radius: 4px !important;
  border: none !important;
  font-size: 16px !important;
  cursor: pointer !important;
  margin: 0 4px !important;
  color: #f5f5f5 !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  z-index: 100 !important;
}

#prev-page:hover, 
#next-page:hover {
  background-color: rgba(0,0,0,0.2) !important;
}

#prev-page:disabled, 
#next-page:disabled {
  opacity: 0.5 !important;
  cursor: not-allowed !important;
}

/* Remove these problematic rules that hide pagination based on visible items
.product-grid:not(:has(.product-item:nth-child(5))) ~ .pagination-controls {
  display: none !important;
}

.product-grid:has(.product-item:nth-child(5))) ~ .pagination-controls {
  display: flex !important;
}
*/

/* Simple arrow buttons - always visible when pagination is needed */
#prev-page,
#next-page,
.pagination-prev,
.pagination-next {
  height: 32px;
  width: 32px;
  font-size: 16px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 0;
  background: rgba(0,0,0,0.1);
  border-radius: 4px;
  border: none;
  cursor: pointer;
  color: #333;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  margin: 0 8px;
  position: relative;
  z-index: 100;
}

#prev-page:hover,
#next-page:hover,
.pagination-prev:hover,
.pagination-next:hover {
  background: rgba(0,0,0,0.1);
  color: #000;
}

#prev-page:disabled,
#next-page:disabled {
  opacity: 0.5 !important;
  cursor: not-allowed;
}

/* Add page indicator between arrows */
.pagination-info {
  font-size: 11px;
  color: #666;
  margin: 0 6px;
  display: inline-block;
} 