/* FIXED: Enhanced Search Button Styles - Proper Icon Alignment */
.enhanced-search-btn {
    position: relative;
    border: none;
    border-radius: 0 25px 25px 0; /* Match the search container radius */
    color: white;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 48px;
    font-size: 0; /* Reset font size to avoid text spacing issues */
}

.enhanced-search-btn:hover {
    background: #0056b3;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 123, 255, 0.3);
}

.enhanced-search-btn:active {
    transform: translateY(0);
}

.enhanced-search-btn:disabled {
    background: #6c757d;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

/* FIXED: Search Icon States - Proper centering */
.enhanced-search-btn .search-icon {
    font-size: 18px; /* Slightly larger for better visibility */
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    width: 100%;
    height: 100%;
    color: black;
}

.enhanced-search-btn .search-spinner {
    font-size: 18px;
    animation: spin 1s linear infinite;
    display: none;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    line-height: 1;
}

/* FIXED: Loading State - Perfect centering */
.enhanced-search-btn.loading .search-icon {
    opacity: 0;
    transform: scale(0.8);
}

.enhanced-search-btn.loading .search-spinner {
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

/* FIXED: Mobile Search Button - Consistent styling */
.mobile-search-btn {
    background: #007bff;
    border: none;
    border-radius: 0 12px 12px 0; /* Adjust for mobile container */
    padding: 0;
    color: white;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 44px;
    font-size: 0;
}

.mobile-search-btn .search-icon {
    font-size: 16px;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    width: 100%;
    height: 100%;
}

.mobile-search-btn .search-spinner {
    font-size: 16px;
    animation: spin 1s linear infinite;
    display: none;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    line-height: 1;
}

.mobile-search-btn.loading .search-icon {
    opacity: 0;
    transform: scale(0.8);
}

.mobile-search-btn.loading .search-spinner {
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

/* FIXED: Search Container - Ensure proper integration */
.search-container {
    display: flex;
    border: 2px solid #dee2e6;
    border-radius: 25px; /* Consistent with button radius */
    overflow: hidden;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    position: relative;
    height: 48px; /* Fixed height for consistency */
}

.dark-mode .search-container {
    border-color: #495057;
    background: #000;
}

.search-container:focus-within {
    border-color: #007bff;
    box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}

/* FIXED: Search Input - Perfect alignment */
.enhanced-search-input {
    flex: 1;
    border: none;
    padding: 12px 16px;
    font-size: 16px;
    outline: none;
    color: #333;
    background: transparent;
    height: 100%;
    line-height: 1.2;
}

.dark-mode .enhanced-search-input {
    color: #fff;
    background: transparent;
}

.enhanced-search-input::placeholder {
    color: #6c757d;
}

.dark-mode .enhanced-search-input::placeholder {
    color: #adb5bd;
}

/* FIXED: Category Dropdown Button - Proper alignment */
.category-dropdown-btn {
    border: none;
    padding: 12px 16px;
    border-right: 1px solid #dee2e6;
    background: #f8f9fa;
    color: #333;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 120px;
    white-space: nowrap;
    transition: all 0.3s ease;
    cursor: pointer;
    border-radius: 25px 0 0 25px;
    height: 100%;
    font-size: 14px;
    line-height: 1.2;
}

.dark-mode .category-dropdown-btn {
    background: #000;
    color: #fff;
    border-color: #495057;
}

.category-dropdown-btn:hover {
    background: #e9ecef;
}

.dark-mode .category-dropdown-btn:hover {
    background: #212529;
}

/* FIXED: Mobile Search Form */
.mobile-search-form {
    display: flex;
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 12px;
    overflow: hidden;
    height: 44px;
}

.dark-mode .mobile-search-form {
    background: #000;
    border-color: #495057;
}

.mobile-search-input {
    flex: 1;
    border: none;
    background: transparent;
    padding: 12px 16px;
    outline: none;
    color: #333;
    font-size: 16px;
    height: 100%;
    line-height: 1.2;
}

.dark-mode .mobile-search-input {
    color: #fff;
}

.mobile-search-input::placeholder {
    color: #6c757d;
}

.dark-mode .mobile-search-input::placeholder {
    color: #adb5bd;
}

/* FIXED: Spin Animation - Smooth rotation */
@keyframes spin {
    from { 
        transform: translate(-50%, -50%) rotate(0deg); 
    }
    to { 
        transform: translate(-50%, -50%) rotate(360deg); 
    }
}

.dark-mode .enhanced-search-btn:hover {
    background: #0b5ed7;
}

.dark-mode .enhanced-search-btn:disabled {
    background: #495057;
}

.dark-mode .mobile-search-btn {
    background: #0d6efd;
}

.dark-mode .mobile-search-btn:hover {
    background: #0b5ed7;
}

/* FIXED: Responsive Design */
@media (max-width: 768px) {
    .enhanced-search-btn,
    .mobile-search-btn {
        min-width: 42px;
        height: 42px;
    }
    
    .enhanced-search-btn .search-icon,
    .enhanced-search-btn .search-spinner,
    .mobile-search-btn .search-icon,
    .mobile-search-btn .search-spinner {
        font-size: 16px;
    }
    
    .search-container {
        height: 42px;
    }
    
    .mobile-search-form {
        height: 42px;
    }
}

@media (max-width: 480px) {
    .enhanced-search-btn,
    .mobile-search-btn {
        min-width: 38px;
        height: 38px;
    }
    
    .enhanced-search-btn .search-icon,
    .enhanced-search-btn .search-spinner,
    .mobile-search-btn .search-icon,
    .mobile-search-btn .search-spinner {
        font-size: 14px;
    }
    
    .search-container {
        height: 38px;
    }
    
    .mobile-search-form {
        height: 38px;
    }
    
    .category-dropdown-btn {
        min-width: 80px;
        padding: 8px 12px;
        font-size: 13px;
    }
    
    .enhanced-search-input,
    .mobile-search-input {
        padding: 8px 12px;
        font-size: 14px;
    }
}

/* FIXED: Remove conflicting styles */
.search-button-container {
    display: flex;
    align-items: center;
    height: 100%;
}

/* FIXED: Focus states for accessibility */
.enhanced-search-btn:focus,
.mobile-search-btn:focus {
    outline: 2px solid #007bff;
    outline-offset: 2px;
}

/* FIXED: Ensure icons are properly displayed */
.bi-search,
.bi-arrow-clockwise {
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
}

/* FIXED: Prevent text selection on buttons */
.enhanced-search-btn,
.mobile-search-btn {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

@font-face {
  font-family: 'Gotham';
  src: url('/assets/fonts/Gotham-XLightItalic.woff2') format('woff2');
  font-weight: 200;
  font-style: italic;
}

@font-face {
  font-family: 'Gotham';
  src: url('/assets/fonts/Gotham-XLight.woff2') format('woff2');
  font-weight: 200;
  font-style: normal;
}

@font-face {
  font-family: 'Gotham';
  src: url('/assets/fonts/Gotham-UltraItalic.woff2') format('woff2');
  font-weight: 950;
  font-style: italic;
}

@font-face {
  font-family: 'Gotham';
  src: url('/assets/fonts/Gotham-Ultra.woff2') format('woff2');
  font-weight: 950;
  font-style: normal;
}

@font-face {
  font-family: 'Gotham';
  src: url('/assets/fonts/Gotham-ThinItalic.woff2') format('woff2');
  font-weight: 100;
  font-style: italic;
}

@font-face {
  font-family: 'Gotham';
  src: url('/assets/fonts/Gotham-Thin.woff2') format('woff2');
  font-weight: 100;
  font-style: normal;
}

@font-face {
  font-family: 'Gotham';
  src: url('/assets/fonts/Gotham-MediumItalic.woff2') format('woff2');
  font-weight: 500;
  font-style: italic;
}

@font-face {
  font-family: 'Gotham';
  src: url('/assets/fonts/Gotham-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
}

@font-face {
  font-family: 'Gotham';
  src: url('/assets/fonts/Gotham-LightItalic.woff2') format('woff2');
  font-weight: 300;
  font-style: italic;
}

@font-face {
  font-family: 'Gotham';
  src: url('/assets/fonts/Gotham-Light.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: 'Gotham';
  src: url('/assets/fonts/Gotham-BookItalic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
}

@font-face {
  font-family: 'Gotham';
  src: url('/assets/fonts/Gotham-Book.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'Gotham';
  src: url('/assets/fonts/Gotham-BoldItalic.woff2') format('woff2');
  font-weight: 700;
  font-style: italic;
}

@font-face {
  font-family: 'Gotham';
  src: url('/assets/fonts/Gotham-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
}

@font-face {
  font-family: 'Gotham';
  src: url('/assets/fonts/Gotham-BlackItalic.woff2') format('woff2');
  font-weight: 900;
  font-style: italic;
}

@font-face {
  font-family: 'Gotham';
  src: url('/assets/fonts/Gotham-Black.woff2') format('woff2');
  font-weight: 900;
  font-style: normal;
}

/* Dark Mode */
.bg-dark-text-white {
  background-color: #000000 !important;
  color: #ffffff !important;
}

/* --- Slider Container & Slides --- */
.main-slider,
.product-slider-container,
.thumbnails-container {
  width: 100% !important;
  overflow: hidden !important;
}

.main-slider .slide,
.slide {
  width: 100% !important;
  display: none !important;  /* We'll control the active slide via JavaScript */
}

.main-slider .slide.active {
  display: block !important;
}

/* --- Slider Main Images --- */
.main-slider .slide img,
.img-product-slider {
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
}

.thumbnails-container {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  scroll-behavior: smooth;
  -ms-overflow-style: none; /* Hide scrollbar in IE/Edge */
  scrollbar-width: none; /* Hide scrollbar in Firefox */
    margin-top: 10px;
}

.thumbnails-container::-webkit-scrollbar {
  display: none; /* Hide scrollbar in Chrome, Safari, and other WebKit browsers */
}

/* --- Thumbnail Images --- */
.thumbnail {
  flex: 0 0 auto !important;
  border: 2px solid transparent !important;
  cursor: pointer !important;
}

.thumbnail.active {
  border-color: #007bff !important;
}

/* Dark mode for .nav-mobile */
body.dark-mode .nav-mobile {
  background-color: #1b1e29;
  /* Dark background color */
  color: #f0f0f0;
  /* Light text color */
}

/* Optional: Adjust link colors for better visibility in dark mode */
body.dark-mode .nav-mobile a {
  color: #f0f0f0;
  /* Light color for links */
}

body.dark-mode .nav-mobile a:hover {
  color: #d1d1d1;
  /* Slightly darker color on hover */
}

/* Dark Mode for .messages-head */
body.dark-mode .messages-head {
  background-color: #131313;
}

/* Dark Mode for .message-text inside received messages */
body.dark-mode .messages-content .messages-list .message-list-item .message-list-item-row-received
.user-message .message-text {
  background-color: #2a2a2a;
  /* Dark background color for dark mode */
}

/* Dark Mode for Active Conversation Item */
body.dark-mode .messages-sidebar .active-conversation-item {
  background-color: #131313;
  /* Dark background for the active conversation */
}

/* Dark Mode for Conversation Item Hover */
body.dark-mode .messages-sidebar .conversation-item:hover {
  background-color: #1b1e29;
  /* Slightly lighter dark background on hover */
}

/* Dark Mode for .messages-content .messages-list */
body.dark-mode .messages-content .messages-list {
  border: 1px solid #444;
  /* Dark border for dark mode */
  ;
  border-top: none !important;
}

/* Light Mode - Default */
.custom-control-variation .custom-control-input:checked~.custom-control-label {
  box-shadow: inset 0 0 0 3px #007bff !important;
}

body.dark-mode .btn-social-google {
  color: #000;
}

/* Light mode styles */
.light-mode-primary {
  background: #ddd;
}

.light-mode-secondary {
  background: #f7f7f7;
}

/* Dark mode styles */
body.dark-mode .dark-mode-primary {
  background: #101010;
}

body.dark-mode .dark-mode-secondary {
  background: #1b1e29;
}

.link-return-cart {
  background-color: #2e2e2e !important;
}

/* Light mode styles */
body.light-mode .cart-section-title {
  background: #f7f7f7;
}

body.light-mode .link-return-cart {
  background-color: #f7f7f7 !important;
}

body.dark-mode .link-return-cart {
  background-color: #2e2e2e !important;
}

/* Dark mode dropdown-item hover only */
body.dark-mode .dropdown-item:hover {
  background-color: #2e2e2e !important;
  color: #ffffff !important;
}

/* Dark mode styles */
body.dark-mode .dropdown-menu.dropdown-menu-right.p-1 {
  border-radius: 10px;
  background: #171a1e;
  /* Dark background */
  color: #ffffff;
  /* Light text */
}

body.dark-mode .col-12.col-md-3.col-lg-3.col-xl-2.p-3 {
  background: #000;
  /* Dark card background */
  border-radius: 25px;
  color: #ffffff;
  /* Light text */
}

body.dark-mode .row-profile-username {
  width: 100%;
  /* Optional: Ensure full width */
  text-align: center;
  /* Center username text */
  gap: 0.5rem;
  /* Add space between username and icon */
  color: #ffffff;
  /* Light text for username */
}

body.dark-mode .col-12.col-md-8.col-lg-8.col-xl-9.p-3 {
  background: #000;
  /* Dark content background */
  border-radius: 25px;
  color: #ffffff;
  /* Light text */
}

body.dark-mode .dropdown-menu {
  margin-top: 0.5rem;
  border-radius: 10px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.4);
  /* Slightly darker shadow */
  background: #0f1115;
  /* Dark dropdown background */
  color: #ffffff;
  /* Light dropdown text */
}

body.dark-mode .profile-img {
  width: 36px !important;
  height: 36px !important;
  border: 2px solid #444857;
  /* Add border for better visibility */
}

body.dark-mode .bg-left {
  background: #2e2e2e;
  /* Slightly lighter dark gray */
}

body.dark-mode .rounded-25 {
  border-radius: 25px;
}

body.dark-mode .bg-right {
  background: #2e2e2e;
}

/* Light mode styles */
.dropdown-menu.dropdown-menu-right.p-1 {
  border-radius: 10px;
  background: #ffffff;
  /* Light background */
  color: #333333;
  /* Dark text */
}

.col-12.col-md-3.col-lg-3.col-xl-2.p-3 {
  background: #f8f9fa;
  /* Light card background */
  border-radius: 25px;
  color: #333333;
  /* Dark text */
}

.row-profile-username {
  width: 100%;
  /* Optional: Ensure full width */
  text-align: center;
  /* Center username text */
  gap: 0.5rem;
  /* Add space between username and icon */
  color: #333333;
  /* Dark text for username */
}

.col-12.col-md-8.col-lg-8.col-xl-9.p-3 {
  border-radius: 25px;
  color: #333333;
  /* Dark text */
}

.dropdown-menu {
  margin-top: 0.5rem;
  border-radius: 10px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  /* Subtle shadow */
  background: #ffffff;
  /* Light dropdown background */
  color: #333333;
  /* Dark dropdown text */
}

.profile-img {
  width: 36px !important;
  height: 36px !important;
  border: 2px solid #e0e0e0;
  /* Subtle border for visibility */
}

.bg-left {
  background: #f8f9fa;
  /* Light background for left section */
}

.rounded-25 {
  border-radius: 25px;
}

.bg-right {
  background: #f8f9fa;
  /* Light background for right section */
}

/* Dark mode styles for dropdown-item */
body.dark-mode .dropdown-item {
  color: #ffffff !important;
  /* White text for dark mode */
}

/* Dark mode styles for link-see-more */
body.dark-mode .link-see-more {
  color: white;
  /* White text for dark mode */
}

body.light-mode .nav-tabs-profile .nav-link.active {
  background: #f8f9fa !important;
  /* Light background */
  border-radius: 25px;
  border: none !important;
  color: #333333 !important;
  /* Dark text */
}

/* Light mode styles for .cart-order-details.px-4.pt-2 */
.cart-order-details.px-4.pt-2 {
  background: #ddd;
}

/* Dark mode styles for .cart-order-details.px-4.pt-2 */
body.dark-mode .cart-order-details.px-4.pt-2 {
  background: #000;
}

/* Dark mode styles for bi bi-cart */
body.dark-mode .bi.bi-cart {
  color: white;
}

/* Light mode styles for .bg-secondary */
.bg-secondary {
  background: #efefef !important;
}

/* Dark mode styles for .bg-secondary */
body.dark-mode .bg-secondary {
  background: #101010 !important;
}

/* Light mode styles for .bg-primary-500 */
.bg-primary-500 {
  background: #d4d4d4;
}

/* Dark mode styles for .bg-primary-500 */
body.dark-mode .bg-primary-500 {
  background: #101010;
}

/* Light mode styles for .bg-primary-1000 */
.bg-primary-1000 {
  background: #d2d2d2;
}

/* Dark mode styles for .bg-primary-1000 */
body.dark-mode .bg-primary-1000 {
  background: #131313;
}

body.dark-mode .btn-link-uploaded-digital-file {
  color: white !important;
  /* Ensure the color is applied in dark mode */
}

/* Text Selection Styling Fix */

/* Default (Light Mode) Selection */
::selection {
    background-color: #007bff; /* Primary blue background */
    color: #ffffff; /* White text */
    text-shadow: none; /* Remove any text shadows */
}

::-moz-selection {
    background-color: #007bff; /* Primary blue background */
    color: #ffffff; /* White text */
    text-shadow: none; /* Remove any text shadows */
}

/* Dark Mode Selection */
body.dark-mode ::selection {
    background-color: #66b3ff; /* Lighter blue for better contrast in dark mode */
    color: #000000; /* Black text for better readability */
    text-shadow: none;
}

body.dark-mode ::-moz-selection {
    background-color: #66b3ff; /* Lighter blue for better contrast in dark mode */
    color: #000000; /* Black text for better readability */
    text-shadow: none;
}

/* Alternative: Use CSS variables for consistent theming */
:root {
    --selection-bg: #007bff;
    --selection-color: #ffffff;
}

body.dark-mode {
    --selection-bg: #66b3ff;
    --selection-color: #000000;
}

/* Apply variables (uncomment if you prefer this approach) */
/*
::selection {
    background-color: var(--selection-bg);
    color: var(--selection-color);
    text-shadow: none;
}

::-moz-selection {
    background-color: var(--selection-bg);
    color: var(--selection-color);
    text-shadow: none;
}
*/

/* Input and Textarea Selection (for form fields) */
input::selection,
textarea::selection {
    background-color: #007bff;
    color: #ffffff;
}

input::-moz-selection,
textarea::-moz-selection {
    background-color: #007bff;
    color: #ffffff;
}

body.dark-mode input::selection,
body.dark-mode textarea::selection {
    background-color: #66b3ff;
    color: #000000;
}

body.dark-mode input::-moz-selection,
body.dark-mode textarea::-moz-selection {
    background-color: #66b3ff;
    color: #000000;
}

/* Code and Pre Selection (if you have code blocks) */
code::selection,
pre::selection {
    background-color: #007bff;
    color: #ffffff;
}

code::-moz-selection,
pre::-moz-selection {
    background-color: #007bff;
    color: #ffffff;
}

body.dark-mode code::selection,
body.dark-mode pre::selection {
    background-color: #66b3ff;
    color: #000000;
}

body.dark-mode code::-moz-selection,
body.dark-mode pre::-moz-selection {
    background-color: #66b3ff;
    color: #000000;
}
select {
  font-family: 'Gotham', sans-serif !important;
  /* Apply Gotham font to the dropdown */
}

select option {
  font-family: 'Gotham', sans-serif !important;
  /* Apply Gotham font to the dropdown options */
}
.border-custom {
  border: solid 2px #d1d5db; /* Light gray border for light mode */
}

body.dark-mode .border-custom {
  border: solid 2px #171B26 !important; /* Darker border for dark mode */
}

.fw-normal{
  font-weight: normal !important;
}
/* Dark mode */
body.dark-mode a {
  color: #fff; /* Adjust the color for dark mode */
  /* Add other dark mode-specific styles if needed */
}

/* Show the light mode logo by default */
.light-mode-logo {
  display: block;
}

/* Dark mode styles */
@media (prefers-color-scheme: dark) {
  .dark-mode-logo {
    display: block;
  }
}

body.dark-mode p {
  color: white !important;
}
/* Default (Light Mode) */
.bg-dark-text-white {
  background-color: #000;
  color: #fff;
  transition: background-color 0.3s, color 0.3s;
}

/* Hover Effect in Light Mode */
.bg-dark-text-white:hover {
  color: rgb(255, 255, 255); /* Change to any color you prefer */
}

/* Dark Mode */
body.dark-mode .bg-dark-text-white {
  background-color: #fff !important;
  color: #000 !important;
}
@keyframes fadeInEffect {
  from {
    opacity: 0;
    transform: scale(0.95);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes fadeOutEffect {
  from {
    opacity: 1;
    transform: scale(1);
  }
  to {
    opacity: 0;
    transform: scale(0.95);
  }
}

@media (min-width: 1920px) {
  .col-xxl-2-5 {
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%;
  }
}
.custom-slider-container {
  position: relative;
  overflow: hidden;
  width: 100%;
}
.custom-slider-wrapper {
  overflow: hidden;
  width: 100%;
}
.custom-slider {
  display: flex;
  transition: transform 0.5s ease;
}
.custom-slider-prev,
.custom-slider-next {
  position: absolute;
  top: 36%;
  transform: translateY(-50%);
  background-color: rgba(0, 0, 0, 0.5);
  color: #fff;
  border: none;
  padding: 10px;
  cursor: pointer;
  z-index: 1;
}

.custom-slider-next {
  right: 20px;
}

.nav-top .nav-top-left .logo {
  display: block;
}

.shopping-cart .item .img-cart-product {
  width: 150px;
  height: 150px;
  float: left;
  margin: 0 20px;
  overflow: hidden;
}

.nav-top .nav-top-right .nav li .btn-sell-now {
  background-color: #303538 !important;
}

.btn-block {
  background-color: #007bff;
}

#footer .newsletter .newsletter-inner button {
  border-radius: 0 3px 3px 0;
  background-color: #303538;
  color: #e8e8e8;
  white-space: nowrap;
}


.card {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-clip: border-box;
  border-radius: 0.25rem;
}

element.style {
}
.mega-menu .menu-subcategories {
  text-align: left;
  min-height: 262px;
}
.mega-menu .col-category-links {
  -ms-flex: 0 0 63.666667%;
  flex: 0 0 63.666667%;
  max-width: 63.666667%;
}
.col-8 {
  -ms-flex: 0 0 66.666667%;
  flex: 0 0 66.666667%;
  max-width: 66.666667%;
}

*,
::after,
::before {
  box-sizing: border-box;
}
user agent stylesheet div {
  display: block;
}
.dropdown-menu {
  font-size: 1rem;
}

.scrollup i {
  width: 40px;
  height: 40px;
  line-height: 40px;
  display: block;
  text-align: center;
  background-color: #303538;
  border-radius: 0.1875rem;
  z-index: 999999;
}

.mega-menu .menu-subcategories {
  text-align: left;
  min-height: 110px;
}


.nav-top .nav-top-right .nav > li > .btn-sell-now {
  border-radius: 2rem !important;
}

.btn-block {
  border-radius: 2rem;
}

.label-instant-download-sm {
  border-radius: 2rem;
}

.btn-sm {
  border-radius: 2rem;
}

.scrollup {
  display: none !important;
}

.li-main-nav-right a i {
  font-size: 1.5rem;
}

.profile-dropdown .a-profile img {
  width: 24px;
  height: 24px;
}

.btn-md {
  border-radius: 2rem;
}

.btn-lg {
  border-radius: 2rem;
}

.nav-top .nav-top-left .logo a img {
  max-width: 90px;
}

.nav-top .nav-top-left .logo {
  width: 110px;
  height: auto;
}

#footer .footer-logo {
  max-width: 110px;
}

.product-variations .form-group .control-label,
.label-product-variation {
  font-weight: 700;
  margin-bottom: 5px;
}
.nav-mobile-header-container .mobile-logo .logo {
  max-width: 90px;
}

.order-details-container .row {
  width: -moz-available;
}
/* from admin panel ends here */

.product-add-to-cart-container .button-container {
  min-width: 100% !important;
}

.table-orders {
  table-layout: fixed;
  width: 100%;
}
.table-item-product p {
  margin-bottom: 0px;
}
.table-item-product .left .img-table {
  width: 120px;
}
.license_key_btn {
  font-size: 17px;
}
.order-details-container .table-orders td {
  padding-left: 0px;
}
.table-item-product .right {
  padding-left: 0px;
}
.btn-link-uploaded-digital-file {
  border: none;
  outline: none;
  background: none;
  cursor: pointer;
  padding: 0;
  font-family: 'Gotham';
  font-size: inherit;
}
.product-item .product-multiple-image .img-second {
  all: unset;
}

.item.bottom {
  width: 133px !important;
  height: 75px;
  margin-right: 11px;
}
.btn.btn-link.collapsed {
  padding: 0px;
}
.product_thumbnails_slider.slick-slide {
  width: 142px;
}
.product-slider .img-product-slider {
  width: 100% !important;
}
.btn-contact-seller {
  float: unset;
  border-radius: 50px;
  font-size: 16px;
  font-weight: normal;
}
.m-b-7 {
  margin-bottom: 7px;
}

.keywords-span {
  border: 1px solid #000000;
  border-radius: 25px;
  padding-left: 23px;
  padding-right: 20px;
  padding-top: 11px;
  padding-bottom: 11px;
  font-size: 16px;
  color: #222222;
  font-weight: normal;
  display: block;
}
.col-product-variation {
  padding-left: 0px;
}
.product-content-details .details .item-details .left {
  width: 140px !important;
}

.product-item:hover .product-multiple-image .img-second {
  all: unset;
  pointer-events: none;
}

.product-item:hover .product-item-options .item-option {
  all: unset;
  pointer-events: none;
}
@media (min-width: 1920px) {
  .nav-top .nav-top-left .logo {
    margin-right: 45px;
    margin-left: 45px;
  }
  .nav-top .nav-top-left {
    -ms-flex: 0 0 60%;
    flex: 0 0 60%;
    max-width: 60%;
  }
  .nav-top .nav-top-right {
    -ms-flex: 0 0 30%;
    flex: 0 0 30%;
    max-width: 30%;
  }

  .navbar.navbar-light.navbar-expand {
    padding-top: 12px;
    padding-bottom: 24px;
  }

  .nav-top .nav-top-right .nav {
    float: right;
  }

}
body.dark-mode #footer {
  background-color: #131313;
}

#footer .nav-footer ul li a {
  color: #ffff;
  font-weight: normal;
  font-size: 17px;
}
#footer .nav-footer ul li {
  margin: 10px 0;
}

#footer .footer-title {
  color: #ffff;
}

#footer .footer-bottom .copyright {
  color: #b5b4b9;
  float: unset;
  font-weight: normal;
  font-size: 17px;
}

@media (min-width: 992px) {
  .product-slider .img-product-slider {
    max-height: 550px !important;
  }
  .product-slider-container .product-slider-content {
    height: 550px;
  }
}
.row-product-variation {
  margin-left: 0px;
}
.nav-breadcrumb {
  padding-top: 1rem;
}

.faq-btn {
  font-size: 16px;
  font-weight: bold;
  color: #2e1b6a;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 0px !important;
}
.faq-btn.collapsed {
  font-size: 16px;
  font-weight: bold;
  color: #2e1b6a;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}
.faq-ans {
  font-size: 16px;
  color: #555555;
  font-weight: normal;
}
.material-symbols-outlined,
.icon-plus {
  width: 30px;
  height: 30px;
  text-align: center;
  justify-content: center;
  color: #ffff;
  background-color: #5f3afc;
  cursor: pointer;
}
.faq-class,
.faq-ans {
  background-color: #f7f7f7;
  border-color: #eee;
  border-width: 2px;
}
.faq-class .card-header {
  border-color: #eee;
  border-width: 2px;
}
.start-selling-description {
  color: #555 !important;
  font-size: 16px;
  max-width: unset;
}
.faq-title,
.start-selling-title {
  font-size: 35px;
  color: #2e1b6a;
  padding-bottom: 1rem;
}
.faq-class .card-header {
  background-color: #f7f7f7 !important;
}
.faq-btn:hover {
  text-decoration: unset;
}
@media (max-width: 540px) {
  .m-sm-1 {
    margin: 1rem;
  }
  .faq-btn {
    text-align: left;
  }
}
.faq-icon {
  width: 30px !important;
  height: 30px;
  font-size: 22px;
  padding: 0;
  font-weight: bold;
  background: #5f3afc;
  border: none;
}
form label.error {
  display: unset !important;
}
.start-selling-title {
  font-family: 'Gotham';
}
.radio-label {
  cursor: pointer;
}
.premium-version-btn {
  background: #f5f5f5;
  border-color: #303538;
  border-width: 1.5px !important;
  font-weight: 700;
  font-size: 16px;
  color: #303538 !important;
}
.sidebar-search {
  border-radius: 25px;
}
.lbl-free {
  color: #222 !important;
  font-size: 26px;
}

.product-list-title-span {
  line-height: 26px;
  margin: 0;
  padding-top: 7px;
  padding-bottom: 7px;
}
.free-product-list-header {
  padding-bottom: 60px;
  padding-top: 30px;
}
.img-fluid.img-product {
  border-radius: 10px;
  height: 230px;
}

.product-user.text-truncate {
  font-weight: normal;
}
.link-see-more {
  padding: 0.3rem 1.1rem;
}
.footer-top {
  padding-bottom: 100px !important;
}
.navbar.navbar-light.navbar-expand {
  padding-top: 0px;
}
@media (max-width: 576px) {
  .footer-top {
    text-align: center;
  }
}
.no-comments-found {
  text-align: center;
  font-size: 16px;
}
.section-products-tags {
  margin-bottom: 45px;
}
.section-products-tags .title {
  font-size: 22px;
  margin-bottom: 20px;
  text-align: left;
}
.keywords-a {
  margin-right: 10px;
  margin-bottom: 10px;
}

.product-images-row {
  margin-left: auto;
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: 80% !important;
}

.review {
  font-size: 14px;
}
.product-item .item-details .product-title,
.product-item .item-details .product-user,
.product-item .item-meta .price,
#detailsContainer, .btn-sell-now {
  font-size: 16px;
}

.font-size-15 {
  font-size: 15px;
}
.font-size-16 {
  font-size: 16px;
}
.font-weight-normal {
  font-weight: normal !important;
}
.btn-social {
  font-size: 15px;
}

.product-content-details .details label {
  min-width: 118px !important;
}
.right {
  display: flex !important;
  flex-wrap: wrap !important;
}

.row-custom {
  width: 100% !important;
  box-sizing: border-box !important;
}

.row-custom.profile-buttons {
  float: right !important;
  width: auto !important;
  margin-left: auto;
}

@media (max-width: 768px) {
  .row-custom.row-profile-username,
  .row-custom:not(.profile-buttons),
  .row-custom.user-contact,
  .profile-rating,
  .row-custom.profile-buttons {
    width: 100% !important;
    margin-left: 0 !important;
  }
}
.profile-details .right {
  width: 100%;
}
.buttons {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
}

.buttons .btn {
  flex: 1 !important;
  margin: 5px !important;
  padding: 10px 20px !important;
  border: 1px solid #ccc !important;
  background-color: #f9f9f9 !important;
  color: #333 !important;
  text-align: center !important;
  text-decoration: none !important;
  font-size: 14px !important;
  cursor: pointer !important;
  transition: background-color 0.3s ease !important;
}

.buttons .btn:hover {
  background-color: #e9e9e9 !important;
}

.buttons .btn i {
  margin-right: 5px !important;
}

.buttons .btn-md.btn-outline-gray {
  border-color: #aaa !important;
  color: #555 !important;
  background-color: transparent !important;
  width: 164px;
}

.buttons .btn-md.btn-outline-gray:hover {
  background-color: #ddd !important;
}

.list-unstyled {
  padding: 1rem;
}
.nav-top .nav-top-right {
  flex: 0 0 34% !important;
  max-width: 34% !important;
}
@media (min-width: 1501px) and (max-width: 1600px) {
  .col-md-3 {
    flex: 0 0 20% !important;
    max-width: 20% !important;
  }
}

.lazyload,
.lazyloading {
  opacity: 0;
}
.lazyloaded {
  opacity: 1;
}
.nav-link {
  background-clip: padding-box;
  transition: border-color 0.3s ease, background-color 0.3s ease;
  border-radius: 50px;
}
.nav-main .nav-link {
  display: block;
  padding: 10px 15px;
  text-decoration: none;
  position: relative;
  color: #333;
  cursor: pointer;
  z-index: 2;
  transition: transform 0.3s cubic-bezier(0.68, -0.6, 0.32, 1.6),
    background-color 0.3s ease,
    border-color 0.3s ease;
}
.nav-main .nav-link.active {
  color: #fff;
}
@media (max-width: 767.98px) {
  .logo-container img {
    max-width: 100px;
  }
  .mobile-search,
  .mobile-cart,
  .mobile-dark-mode-toggle {
    font-size: 1.2rem;
  }
  .navbar-nav {
    padding-top: 1rem;
  }
  .tab-container {
    position: relative;
  }

  .nav-link {
    border: 2px solid transparent;
    background-clip: padding-box;
    transition: border-color 0.3s ease, background-color 0.3s ease;
    border-radius: 50px;
  }
  .nav-main .nav-link {
    display: block;
    padding: 10px 15px;
    text-decoration: none;
    position: relative;
    color: #333;
    cursor: pointer;
    z-index: 2;
    transition: transform 0.3s cubic-bezier(0.68, -0.6, 0.32, 1.6),
      background-color 0.3s ease,
      border-color 0.3s ease;
  }
  .nav-main .nav-link.active {
    color: #fff;
  }

  .tab-panel.active {
    display: block;
  }
}
@media (min-width: 768px) {
  .nav-main .nav-link {
    display: block;
    padding: 10px 15px;
    text-decoration: none;
    position: relative;
    color: #333;
    cursor: pointer;
    z-index: 2;
    transition: transform 0.3s cubic-bezier(0.68, -0.6, 0.32, 1.6),
      background-color 0.3s ease,
      border-color 0.3s ease;
  }
  .nav-main .nav-link.active {
    color: #fff;
  }
}
.search-bar-container {
  display: flex;
  align-items: center;
  border: 2px solid #ccc;
  border-radius: 30px;
  overflow: hidden;
  height: 40px;
  background-color: #fff;
  position: relative;
}
.category-select {
  border: none;
  background-color: #f8f9fa;
  border-radius: 30px 0 0 30px;
  height: 100%;
  font-size: 14px;
}
.input-search {
  flex: 1;
  border: none;
  outline: none;
  padding: 0 15px;
  font-size: 14px;
  padding-right: 40px;
}
.btn-search {
  border: none;
  background-color: #007bff;
  color: #fff;
  border-radius: 0 30px 30px 0;
  padding: 0 15px;
  height: 100%;
}
.btn-clear {
  position: absolute;
  right: 50px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: #999;
  cursor: pointer;
}
.search-results-ajax {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 10px;
  max-height: 200px;
  overflow-y: auto;
  z-index: 1000;
}
body.dark-mode .search-bar-container {
  background-color: #000;
  border-color: #555;
}
body.dark-mode .category-select {
  color: #fff;
}
body.dark-mode .btn-search {
  background-color: #0056b3;
}
body.dark-mode .search-results-ajax {
  background-color: #333;
  border-color: #555;
  color: #fff;
}
.modal.show {
  display: block;
}
.hide {
  display: none !important;
}
.fw-900{
  font-weight: 900;
}
body.dark-mode .form-control {
  background-color: #15171d;
  color: #fff;
}


.thumbnail {
  flex: 0 1 auto;
  max-width: 100px;
  cursor: pointer;
}

.thumbnail img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
}

/* Mobile (up to 767px) */
@media (max-width: 767px) {
  .thumbnails-container {
    justify-content: space-around;
  }
  .thumbnail {
    max-width: 80px;
  }
}

/* Tablet (768px to 991px) */
@media (min-width: 768px) and (max-width: 991px) {
  .thumbnail {
    max-width: 90px;
  }
}

/* Desktop (992px and up) */
@media (min-width: 992px) {
  .thumbnail {
    max-width: 100px;
  }
}
@media (min-width: 992px) {
  @media (min-width: 1200px) {
    .min-vh-70 {
      min-height: 70vh !important;
    }
  }
}
.mx-10px{
  padding-right: 10px !important;
  padding-left: 10px !important;
}
.text-gray{
  color: gray;
}
/* Ensure the parent navbar is positioned */
.navbar.navbar-light.navbar-expand {
  position: relative;
}

/* Style for navigation links */
.nav-main .nav-link {
  display: block;
  padding: 10px 15px;
  text-decoration: none;
  position: relative;
  color: #333;
  cursor: pointer;
  z-index: 2;
}
/* Tab indicator - hidden initially to prevent flash */
.tab-indicator {
    opacity: 0;
    transition: none;
}

/* Only show indicator after page is loaded */
.loaded .tab-indicator {
    transition: left 0.3s ease-in-out, width 0.3s ease-in-out, opacity 0.2s ease;
}

/* Prevent indicator flash during preload */
.preload .tab-indicator {
    display: none !important;
}
/* Tab indicator as a full, pill-shaped border */
.tab-indicator {
  position: absolute;
  top: 0; /* Start at the top of the tab */
  height: 100%; /* Span the full height of the tab */
  background-color: transparent; /* No background fill */
  border: 2px solid #000000; /* Full white border on all sides */
  border-radius: 50px; /* Pill-shaped corners */
  transition: left 0.3s ease-in-out,
  width 0.3s ease-in-out;
  z-index: 1; /* Behind the text */
  pointer-events: none; /* Prevent interference with clicks */
}
/* Dark Mode Styles for .tab-indicator */
body.dark-mode .tab-indicator {
    border: 2px solid #ffffff;
}

/* Dark mode adjustments */
body.dark-mode .nav-main .nav-link {
  color: #f0f0f0; /* Light text color in dark mode */
}

.category-select {
  -webkit-appearance: none; /* Remove default arrow in WebKit browsers */
  -moz-appearance: none;    /* Remove default arrow in Firefox */
  appearance: none;         /* Standard property to remove default styling */
  border: none;             /* Remove default border */
  height: 100%;             /* Match container height */
  font-size: 14px;
  cursor: pointer;
}

.select-wrapper {
  position: relative;
  display: inline-block;
}

.dropdown-icon {
  position: absolute;
  right: 10px;              /* Adjust position */
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;     /* Prevent icon from blocking clicks */
}
.fw-950{
  font-weight: 950;
}
/* Main Slider Positioning */
.main-slider {
  position: relative;
}

/* Product Slider Container */
.product-slider-container {
  position: relative;
}

/* Navigation Buttons */
.nav-button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: rgba(0, 0, 0, 0.5);
  color: white;
  border: none;
  padding: 10px;
  cursor: pointer;
  z-index: 10;
  border-radius: 50%;
}

.nav-button.prev {
  left: 10px;
}

.nav-button.next {
  right: 10px;
}

.nav-button:hover {
  background-color: rgba(0, 0, 0, 0.8);
}

/* [... rest of the existing CSS continues exactly as it was ...] */

/* --- CORE RESPONSIVE GRID FIXES --- */

/* Ensure content fits 100% width without horizontal scroll */
html, body {
    max-width: 100%;
    overflow-x: hidden;
}

/* Fix Bootstrap Row margins causing overflow */
.row.row-product {
    margin-left: -8px;
    margin-right: -8px;
    display: flex;
    flex-wrap: wrap;
}

.col-product {
    padding-left: 8px;
    padding-right: 8px;
    margin-bottom: 24px;
    display: flex; /* Ensures equal height cards */
    flex-direction: column;
}

.product-item {
    width: 100%;
    display: flex;
    flex-direction: column;
    border-radius: 12px;
    transition: transform 0.25s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.25s ease;
    height: 100%; /* Fill column height */
}

/* --- BREAKPOINT CORRECTIONS --- */

/* Mobile (portrait) - 1 column or 2 tight columns */
/* Currently set to 12 (full width) in your HTML. Let's make strictly 1 column for small phones, 2 for larger phones */
@media (max-width: 575px) {
    .col-product {
        flex: 0 0 100%;
        max-width: 100%;
    }
    
    /* If you want 2 columns on mobile, uncomment below: */
    /*
    .col-product {
        flex: 0 0 50%;
        max-width: 50%;
    }
    .product-title a { font-size: 14px; }
    */
}

/* Mobile (landscape) / Tablets */
@media (min-width: 576px) and (max-width: 767px) {
    .col-product {
        flex: 0 0 50%;
        max-width: 50%;
    }
}

/* Tablets (iPad) */
@media (min-width: 768px) and (max-width: 991px) {
    .col-product {
        flex: 0 0 33.333%;
        max-width: 33.333%;
    }
}

/* Desktops */
@media (min-width: 992px) {
    .col-product {
        flex: 0 0 25%;
        max-width: 25%;
    }
}



body.dark-mode .shop-name {
    color: #aaa;
}

/* Fix Mobile Header Z-Index overlapping content */
.nav-mobile-header {
    z-index: 1050 !important; /* Higher than content, lower than modal */
    background: #ffffff;
    height: 60px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}
body.dark-mode .nav-mobile-header {
    background: #000000;
    border-bottom: 1px solid #333;
}

/* Fix Mobile Search Bar popping up incorrectly */
.mobile-search-form {
    position: fixed !important;
    top: 60px; 
    left: 0;
    width: 100%;
    padding: 10px;
    background: #fff;
    z-index: 1040;
    border-bottom: 1px solid #eee;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
    display: none; /* Toggled via JS */
}

/* Fix Mobile Menu Drawer */
.mobile-menu {
    z-index: 1060 !important; /* Highest z-index aside from modals */
    width: 85%; /* Better width used on modern apps */
    max-width: 350px;
    box-shadow: 2px 0 15px rgba(0,0,0,0.2);
}

/* Enhanced Modal Styles with Browser Scrollbar Fix */
.modal-responsive {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
}

/* Show state for modal */
.modal-responsive.show {
display: flex !important;
  align-items: center;
  justify-content: center;
  animation: modalFadeIn 0.3s ease-out;
}

/* Modal backdrop with blur effect */
.modal-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    z-index: 0;
    transition: all 0.3s ease;
}

/* Dark mode backdrop */
body.dark-mode .modal-backdrop {
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

/* Modal container - centered and allows browser scroll */
.modal-container {
    position: relative;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    animation: modalSlideUp 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
    z-index: 1;
    width: 100%;
    box-sizing: border-box;
}


/* Modal animations */
@keyframes modalFadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes modalSlideUp {
    from {
        opacity: 0;
        transform: translateY(50px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Enhanced Image Modal Styles - Fixed Mobile Layout */
#imageModal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    background: rgba(0, 0, 0, 0.9);
    display: none;
}

#imageModal.show {
    display: block;
    animation: fadeIn 0.3s ease-out;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

#imageModal .modal-header-responsive {
  background: rgba(0, 0, 0, 0.8);
  color: white;
  padding: 16px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

#imageModal .modal-title-responsive {
  color: white;
  margin: 0;
  font-size: 1.2rem;
  font-weight: 600;
}

#imageModal .close-btn-responsive {
  color: white;
  background: rgba(255, 255, 255, 0.1);
  border: none;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  cursor: pointer;
  transition: all 0.2s ease;
}

#imageModal .close-btn-responsive:hover {
  background: rgba(255, 255, 255, 0.2);
  transform: scale(1.1);
}


/* Clickable image indicators */
.main-slider .slide img[style*="cursor: pointer"] {
  position: relative;
}

.main-slider .slide img[style*="cursor: pointer"]::after {
  content: '🔍';
  position: absolute;
  top: 10px;
  right: 10px;
  background: rgba(0, 0, 0, 0.7);
  color: white;
  padding: 8px;
  border-radius: 50%;
  font-size: 16px;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.main-slider .slide:hover img[style*="cursor: pointer"]::after {
  opacity: 1;
}

/* Mobile responsive adjustments */
@media (max-width: 768px) {


  .modal-responsive.show {
    align-items: flex-start;
    padding: 10px 0;
  }

  #imageModal .modal-header-responsive {
    padding: 12px 16px;
  }
  
  #imageModal .modal-title-responsive {
    font-size: 1.1rem;
  }
  
  #imageModal .close-btn-responsive {
    width: 36px;
    height: 36px;
    font-size: 20px;
  }
  
  .modal-content-responsive {
    padding: 16px 20px;
  }
  
  .modal-header-responsive {
    padding: 16px 20px 12px;
  }
  
  .modal-title-responsive {
    font-size: 1.1rem;
  }
}

/* Very small screens */
@media (max-width: 480px) {
    .modal-responsive.show {
        padding: 5px 0;
    }
    
    .modal-content-responsive {
        padding: 12px 16px;
    }
}

/* Loading state */
.modal-thumbnail.loading {
  background: rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 120px;
}

.modal-thumbnail.loading::before {
  content: '';
  width: 30px;
  height: 30px;
  border: 3px solid rgba(255, 255, 255, 0.3);
  border-top: 3px solid white;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Thumbnail Styles */
.thumbnail {
  overflow: hidden;
  cursor: pointer;
}

.thumbnail-mobile {
  width: 60px;
  border-radius: 6px;
}

.thumbnail-desktop {
  width: 80px;
  height: 55px;
}

.thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.link-return-cart.p-2.rounded-pill.mt-2 {
  height: 43px;
  align-items: center; /* Vertically center the text */
  justify-content: center; /* Horizontally center the text */
  text-align: center; /* Center-align the text */
  padding: 0 16px; /* Optional: Add horizontal spacing */
  box-sizing: border-box; /* Ensure padding doesn't exceed total width */
  display: flex;
  width: 150px;
}
.cart-icon-style {
  width: 28px;
  height: 28px;
}
.nav-tabs-profile .nav-link.active { border-radius: 25px; border: none !important; }
.nav-tabs { border: none; }

body.dark-mode .right.p-3.pt-4 {
  background: #101010;
}
.rounded-pill{ border-radius: 50rem }
.d-flex {
  display: flex;
}
.w-60px{
  width: 90px;
}
.h-40px{
  height: 44px;
}
.w-50px{
  width: 50px;
}
.w-100{
  width: 100%;
}
.mb-2{
  margin-bottom: 10px;
}
.text-white{
  color: white;
}
.border-0{
  border: none;
}
.p-2 {
  padding: .5rem;
}
.py-0{
  padding-top: 0;
  padding-bottom: 0;
}
.mb-0{
  margin-bottom: 0;
}
.g-10{
  gap: 10px;
}
.g-15{
  gap: 15px;
}
.ms-auto{
  margin-left: auto;
}
.fw-700{
  font-weight: 700;
}
.self-center{ align-self: center; }
.nav-item{
  list-style-type: none;
}
.text-center{
  text-align: center;
}
.px-4{
  padding-left: 1rem;
  padding-right: 1rem;
}

.bg-primary{
  background: #007bff
}

.my-3{
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
.fw-bold{
  font-weight: 700;
}
.custom-control-input {
  position: absolute;
}

@media (min-width: 992px) {
  .h-120px {
    height: 124px;
  }
}
@media (max-width: 992px) {
  .h-60px {
    height: 60px;
  }
}
.mw-420px{
  max-width: 420px;
}
.mx-w-1200px{
  max-width: 1300px;
}
/* Mobile Responsive Profile Page Styles */

/* Mobile-first approach for profile layout */
@media (max-width: 767.98px) {
    /* Profile main container adjustments */
    .container .d-flex.row {
        flex-direction: column;
        margin: 0;
    }
    
    /* Profile sidebar - make it full width on mobile */
    .col-12.col-md-3.col-lg-3.col-xl-2 {
        flex: 0 0 100%;
        max-width: 100%;
        order: 1;
    }
    
    /* Main content area - full width on mobile */
    .col-12.col-md-8.col-lg-8.col-xl-10 {
        flex: 0 0 100%;
        max-width: 100%;
        padding: 0 15px;
        order: 2;
    }
    
    /* Profile content adjustments */
    .profile-tab-content {
        padding: 0.75rem !important;
        border-radius: 15px;
    }
    
    /* Profile tabs - make them scrollable horizontally on mobile */
    .nav-tabs-profile {
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        border-bottom: 1px solid #dee2e6;
        scrollbar-width: none; /* Firefox */
        -ms-overflow-style: none; /* IE and Edge */
        white-space: nowrap;
    }
    
    .nav-tabs-profile::-webkit-scrollbar {
        display: none; /* Chrome, Safari, and Opera */
    }
    
    .nav-tabs-profile .nav-item {

        flex-shrink: 0;
    }
    
    .nav-tabs-profile .nav-link {
        padding: 8px 16px;
        font-size: 14px;
        white-space: nowrap;
        border-radius: 20px;
        margin: 0 4px;
    }
    
    /* Product grid - adjust columns for mobile */
    .row.row-product {
        margin: 0 -8px;
    }

    
    /* Very small screens: 1 column */
    @media (max-width: 480px) {
        .row-product .col-product {
            flex: 0 0 100%;
            max-width: 100%;
        }
    }
    

    .product-item .product-title {
        font-size: 14px;
        line-height: 1.3;
        margin-bottom: 8px;
    }
    
    .product-item .product-user {
        font-size: 12px;
    }
    
    .product-item .item-meta .price {
        font-size: 14px;
        font-weight: 600;
    }
    
    /* Filter and sort controls - mobile layout */
    .product-list-header {
        margin-bottom: 1rem;
    }
    
    .col-1.product-list-header {
        flex: 0 0 100%;
        max-width: 100%;
        margin-left: 0 !important;
    }
    
    .filter-reset-tag-container {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-bottom: 12px;
    }
    
    .filter-reset-tag {
        font-size: 12px;
        padding: 4px 8px;
    }
    
    .product-sort-by {
        width: 100%;
    }
    
    .product-sort-by select {
        width: 100%;
        padding: 8px 12px;
        font-size: 14px;
    }
    
    /* Profile details card - mobile adjustments */
    .profile-details {
      margin-top: -80px;
    }
    
    .profile-details .right {
        width: 100%;
    }
    
    .row-custom.profile-buttons {
        width: 100% !important;
        margin-left: 0 !important;
        justify-content: center;
        margin-top: 1rem;
    }
    
    .buttons {
        flex-direction: column;
        gap: 8px;
    }
    
    .buttons .btn {
        width: 100% !important;
        margin: 0 !important;
    }
    
    /* Reviews section - mobile adjustments */
    .list-reviews .media {
        flex-direction: column;
        text-align: center;
        padding: 1rem;
        border-bottom: 1px solid #eee;
        margin-bottom: 1rem;
    }
    
    .list-reviews .media img {
        width: 50px;
        height: 50px;
        margin: 0 auto 1rem;
        border-radius: 50%;
    }
    
    .list-reviews .media-body {
        margin-left: 0;
    }
    
    .review-stars {
        justify-content: center;
        margin: 8px 0;
    }
    
    /* Followers/Following lists - mobile adjustments */
    .followers-list,
    .following-list {
        padding: 0;
    }
    
    .follower-item,
    .following-item {
        display: flex;
        align-items: center;
        padding: 12px;
        border-bottom: 1px solid #eee;
        gap: 12px;
    }
    
    .follower-item img,
    .following-item img {
        width: 48px;
        height: 48px;
        border-radius: 50%;
        flex-shrink: 0;
    }
    
    .follower-details,
    .following-details {
        flex: 1;
        min-width: 0;
    }
    
    .follower-name,
    .following-name {
        font-size: 14px;
        font-weight: 600;
        margin-bottom: 4px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    
    /* Pagination - mobile adjustments */
    .product-list-pagination {
        text-align: center;
        margin-top: 2rem;
        padding: 1rem 0;
    }
    
    .pagination {
        justify-content: center;
        flex-wrap: wrap;
    }
    
    .pagination .page-link {
        padding: 8px 12px;
        font-size: 14px;
        margin: 2px;
    }
    
    /* Downloads section - mobile adjustments */
    .download-item {
        padding: 1rem;
        border: 1px solid #eee;
        border-radius: 8px;
        margin-bottom: 1rem;
    }
    
    .download-item .product-title {
        font-size: 16px;
        font-weight: 600;
        margin-bottom: 8px;
    }
    
    .download-links {
        display: flex;
        flex-direction: column;
        gap: 8px;
        margin-top: 12px;
    }
    
    .download-links .btn {
        width: 100%;
        text-align: center;
    }
    
    /* Modal adjustments for mobile */
    @media (max-width: 576px) {
        .modal-dialog {
            margin: 10px;
            max-width: calc(100% - 20px);
        }
        
        .modal-content {
            border-radius: 12px;
        }
        
        .modal-header {
            padding: 1rem;
            border-bottom: 1px solid #eee;
        }
        
        .modal-body {
            padding: 1rem;
        }
        
        .modal-footer {
            padding: 1rem;
            border-top: 1px solid #eee;
        }
    }
    
    /* Cover image adjustments */
    .profile-cover-image {
        height: 200px;
        background-size: cover;
        background-position: center;
        border-radius: 0 0 15px 15px;
    }
    
    /* Profile avatar adjustments */
    .profile-avatar {
        width: 80px;
        height: 80px;
        border: 4px solid #fff;
        border-radius: 50%;
        margin: -40px auto 1rem;
        display: block;
    }
    
    /* User stats - mobile layout */
    .user-stats {
        display: flex;
        justify-content: space-around;
        padding: 1rem 0;
        border-top: 1px solid #eee;
        margin-top: 1rem;
    }
    
    .stat-item {
        text-align: center;
        flex: 1;
    }
    
    .stat-number {
        display: block;
        font-size: 18px;
        font-weight: 600;
        color: #333;
    }
    
    .stat-label {
        display: block;
        font-size: 12px;
        color: #666;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }
    
    /* Dark mode adjustments for mobile */
    body.dark-mode .profile-tab-content {
        background: #1a1a1a;
        border: 1px solid #333;
    }

    body.dark-mode .nav-tabs-profile .nav-link {
        color: #ccc;
    }
    
    body.dark-mode .nav-tabs-profile .nav-link.active {
        background: #333;
        color: #fff;
        border-color: #555;
    }
    
    body.dark-mode .filter-reset-tag {
        background: #333;
        color: #ccc;
        border: 1px solid #555;
    }
    
    body.dark-mode .follower-item,
    body.dark-mode .following-item {
        border-bottom-color: #333;
    }
    
    body.dark-mode .download-item {
        background: #2a2a2a;
        border-color: #444;
    }
    
    body.dark-mode .list-reviews .media {
        border-bottom-color: #333;
    }
    
    body.dark-mode .stat-number {
        color: #fff;
    }
    
    body.dark-mode .stat-label {
        color: #ccc;
    }
}

/* Tablet adjustments (768px to 991px) */
@media (min-width: 768px) and (max-width: 991.98px) {
    .row-product .col-product {
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }
    
    .nav-tabs-profile .nav-link {
        padding: 10px 20px;
        font-size: 15px;
    }
    
    .profile-tab-content {
        padding: 1.5rem !important;
    }
}

/* Large tablet/small desktop adjustments (992px to 1199px) */
@media (min-width: 992px) and (max-width: 1199.98px) {
    .row-product .col-product {
        flex: 0 0 25%;
        max-width: 25%;
    }
}

/* Utility classes for mobile responsiveness */
.mobile-hidden {
    display: none;
}

@media (min-width: 768px) {
    .mobile-hidden {
        display: block;
    }
}

.mobile-only {
    display: block;
}

@media (min-width: 768px) {
    .mobile-only {
        display: none;
    }
}

/* Smooth transitions for responsive elements */
.profile-tab-content,
.product-item,
.nav-tabs-profile .nav-link,
.filter-reset-tag {
    transition: all 0.3s ease;
}

/* Ensure text doesn't overflow on mobile */
.text-mobile-ellipsis {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Mobile-friendly button sizes */
@media (max-width: 767.98px) {
    .btn-sm {
        padding: 8px 16px;
        font-size: 14px;
    }
    
    .btn-md {
        padding: 10px 20px;
        font-size: 16px;
    }
    
    .btn-lg {
        padding: 12px 24px;
        font-size: 18px;
    }
}

/* Fix for any overflow issues */
.profile-container {
    overflow-x: hidden;
}

.bg-danger{
background: #dc3545;
}
/* Updated CSS for Responsive Special Offers */
.custom-slider-container {
    position: relative;
    overflow: hidden;
    width: 100%;
}

.custom-slider-wrapper {
    overflow: hidden;
    width: 100%;
}

.custom-slider {
    display: flex;
    transition: transform 0.5s ease;
    gap: 0; /* Remove gap to prevent layout issues */
}

/* Make slider items responsive */
.custom-slider-item {
    flex: 0 0 auto;
    padding: 0 8px;
}

/* Desktop: 4 items visible */
@media (min-width: 1200px) {
    .custom-slider-item {
        width: 25%;
    }
}

/* Tablet landscape: 3 items visible */
@media (min-width: 768px) and (max-width: 1199px) {
    .custom-slider-item {
        width: 33.333%;
    }
}

/* Navigation buttons */
.custom-slider-prev,
.custom-slider-next {
    border-radius: 50%;
}


.custom-slider-next {
    right: 10px;
}

/* Hide arrows on very small screens if needed */
@media (max-width: 375px) {
    .custom-slider-prev,
    .custom-slider-next {
        width: 35px;
        height: 35px;
        font-size: 14px;
    }
    
    .custom-slider-prev {
        left: 5px;
    }
    
    .custom-slider-next {
        right: 5px;
    }
}

/* Section header responsive */
.section-header {
    margin-bottom: 1.5rem;
}

@media (max-width: 575px) {
    .section-header .title {
        font-size: 1.5rem;
    }
}

/* Ensure product items are properly styled */
.custom-slider-item .product-item {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.custom-slider-item .img-product-container {
    flex: 0 0 auto;
}

.custom-slider-item .item-details {
    flex: 1;
    display: flex;
    flex-direction: column;
}
.g-20{
gap: 20px;
}
:root {
    --primary-color: #007bff;
    --secondary-color: #6c757d;
    --dark-bg: #1a1a1a;
    --dark-surface: #131313;
    --dark-border: #4a5568;
    --light-bg: #ffffff;
    --light-surface: #f8f9fa;
    --light-border: #dee2e6;
    --text-primary: #333333;
    --text-secondary: #6c757d;
    --text-primary-dark: #ffffff;
    --text-secondary-dark: #a0aec0;
    --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    --shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    --shadow-dark: 0 4px 20px rgba(0, 0, 0, 0.3);
}

/* Mobile Navigation */
.mobile-nav {
display: none;
  flex-direction: column-reverse;
  height: 60px;
}

.mobile-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 60px;
}

.mobile-left {
    display: flex;
    align-items: center;
    gap: 16px;
}

.hamburger {
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
    border-radius: 8px;
    transition: var(--transition);
}

.hamburger:hover {
    background: var(--light-surface);
}

.dark-mode .hamburger:hover {
    background: var(--dark-surface);
}

.hamburger-icon {
    width: 20px;
    height: 16px;
    position: relative;
    transform: rotate(0deg);
    transition: var(--transition);
}

.hamburger-icon span {
    display: block;
    position: absolute;
    height: 2px;
    width: 100%;
    background: var(--text-primary);
    border-radius: 2px;
    opacity: 1;
    left: 0;
    transform: rotate(0deg);
    transition: var(--transition);
}

.dark-mode .hamburger-icon span {
    background: var(--text-primary-dark);
}

.hamburger-icon span:nth-child(1) {
    top: 0px;
}

.hamburger-icon span:nth-child(2) {
    top: 8px;
}

.hamburger-icon span:nth-child(3) {
    top: 16px;
}

.hamburger.active .hamburger-icon span:nth-child(1) {
    top: 8px;
    transform: rotate(135deg);
}

.hamburger.active .hamburger-icon span:nth-child(2) {
    opacity: 0;
    left: -60px;
}

.hamburger.active .hamburger-icon span:nth-child(3) {
    top: 8px;
    transform: rotate(-135deg);
}

.mobile-right {
    display: flex;
    align-items: center;
    gap: 12px;
}

.icon-btn {
    background: none;
    border: none;
    padding: 8px;
    border-radius: 8px;
    cursor: pointer;
    transition: var(--transition);
    color: var(--text-primary);
    position: relative;
    text-decoration: none;
}

.dark-mode .icon-btn {
    color: var(--text-primary-dark);
}

.icon-btn:hover {
    background: var(--light-surface);
    color: var(--text-primary);
}

.dark-mode .icon-btn:hover {
    background: var(--dark-surface);
    color: var(--text-primary-dark);
}

.mobile-search {
    width: 100%;
    padding: 16px;
    background: var(--light-surface);
    border-top: 1px solid var(--light-border);
    transform: translateY(-100%);
    opacity: 0;
    visibility: hidden;
    transition: var(--transition);
}

.dark-mode .mobile-search {
    background: var(--dark-surface);
    border-top-color: var(--dark-border);
}

.mobile-search.active {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
}

.mobile-search-form {
    display: flex;
    background: var(--light-bg);
    border: 1px solid var(--light-border);
    border-radius: 12px;
    overflow: hidden;
}

.dark-mode .mobile-search-form {
    background: var(--dark-bg);
    border-color: var(--dark-border);
}

.mobile-search-input {
    flex: 1;
    border: none;
    background: transparent;
    padding: 12px 16px;
    outline: none;
    color: var(--text-primary);
}

.dark-mode .mobile-search-input {
    color: var(--text-primary-dark);
}

.mobile-search-btn {
    background: var(--primary-color);
    border: none;
    color: white;
    padding: 12px 16px;
    cursor: pointer;
}

/* Mobile Menu Overlay */
.mobile-menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 999;
    opacity: 0;
    visibility: hidden;
    transition: var(--transition);
}

.mobile-menu-overlay.active {
    opacity: 1;
    visibility: visible;
}

/* Mobile Menu Sidebar */
.mobile-menu {
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 320px;
    max-width: 85vw;
    background: var(--light-bg);
    z-index: 1000;
    transform: translateX(-100%);
    transition: var(--transition);
    overflow-y: auto;
}

.dark-mode .mobile-menu {
    background: var(--dark-bg);
}

.mobile-menu.active {
    transform: translateX(0);
}

.mobile-menu-header {
    padding: 20px;
    border-bottom: 1px solid var(--light-border);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.dark-mode .mobile-menu-header {
    border-bottom-color: var(--dark-border);
}

.mobile-menu-close {
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    color: var(--text-primary);
}

.dark-mode .mobile-menu-close {
    color: var(--text-primary-dark);
}

.mobile-menu-content {
    padding: 20px 0;
}

.mobile-menu-section {
    margin-bottom: 24px;
}

.mobile-menu-section h3 {
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--text-secondary);
    margin: 0 0 12px 0;
    padding: 0 20px;
}

.dark-mode .mobile-menu-section h3 {
    color: var(--text-secondary-dark);
}

.mobile-menu-item {
    display: block;
    padding: 12px 20px;
    color: var(--text-primary);
    text-decoration: none;
    transition: var(--transition);
    border-left: 3px solid transparent;
}

.dark-mode .mobile-menu-item {
    color: var(--text-primary-dark);
}

.mobile-menu-item:hover,
.mobile-menu-item.active {
    background: var(--light-surface);
    border-left-color: var(--primary-color);
    color: var(--primary-color);
    text-decoration: none;
}

.dark-mode .mobile-menu-item:hover,
.dark-mode .mobile-menu-item.active {
    background: var(--dark-surface);
}

.mobile-menu-item i {
    width: 20px;
    margin-right: 12px;
    text-align: center;
}

.profile-section {
    padding: 20px;
    border-top: 1px solid var(--light-border);
    background: var(--light-surface);
}

.dark-mode .profile-section {
    border-top-color: var(--dark-border);
    background: var(--dark-surface);
}

.profile-info {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}

.profile-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
}

.profile-details {
    margin: 0; /* Adjusted from original to match context */
}

.profile-details h4 {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: var(--text-primary);
}

.dark-mode .profile-details h4 {
    color: var(--text-primary-dark);
}

.profile-details p {
    margin: 0;
    font-size: 14px;
    color: var(--text-secondary);
}

.dark-mode .profile-details p {
    color: var(--text-secondary-dark);
}

/* Theme toggle */
.theme-toggle {
    position: relative;
    width: 50px;
    height: 24px;
    background: var(--light-border);
    border-radius: 12px;
    cursor: pointer;
    transition: var(--transition);
}

.dark-mode .theme-toggle {
    background: var(--primary-color);
}

.theme-toggle::before {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: 20px;
    height: 20px;
    background: white;
    border-radius: 50%;
    transition: var(--transition);
}

.dark-mode .theme-toggle::before {
    transform: translateX(26px);
}

.mobile-menu-item .badge {
    position: static;
    margin-left: auto;
    background: #dc3545;
    border-radius: 10px;
    min-width: 20px;
    height: 20px;
    font-size: 11px;
}

/* Responsive Design */
@media (max-width: 1024px) {
    .nav-top.d-none.d-md-block {
        display: none !important;
    }
    .mobile-nav {
        display: flex;
        height: 50px;
    }
    .header {
        position: relative;
    }
    
    /* Hide old mobile navigation elements */
    .mobile-nav-container,
    .nav-mobile-header,
    .mobile-search-form.top-search-bar {
        display: none !important;
    }
}

@media (min-width: 1025px) {
    .mobile-nav {
        display: none !important;
    }
}

/* Animations */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.fade-in {
    animation: fadeIn 0.3s ease-out;
}

/* Ensure proper z-index stacking */
.mobile-menu-overlay {
    z-index: 999;
}

.mobile-menu {
    z-index: 1000;
}

/* Fix for any conflicting styles */
.mobile-nav .mobile-header .mobile-right > * {
    margin-left: 0;
    margin-right: 0;
}

.mobile-nav .mobile-header .mobile-right .icon-btn {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Ensure icons are properly sized */
.mobile-nav .bi {
    font-size: 1.4rem;
}

/* Smooth transitions for all interactive elements */
.mobile-nav * {
    transition: var(--transition);
}

/* Focus states for accessibility */
.hamburger:focus,
.icon-btn:focus,
.mobile-menu-item:focus,
.theme-toggle:focus {
    outline: 2px solid var(--primary-color);
    outline-offset: 2px;
}

/* Improve touch targets for mobile */
@media (max-width: 768px) {
    .mobile-menu-item {
        padding: 16px 20px;
        font-size: 16px; /* Adjusted to match context */
    }
}

/* Prevent text selection on interactive elements */
.hamburger,
.theme-toggle,
.mobile-menu-close {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

/* Ensure proper scrolling in mobile menu */
.mobile-menu {
    -webkit-overflow-scrolling: touch;
}

/* Fix for iOS Safari bounce scrolling */
.mobile-menu.active {
    position: fixed;
    -webkit-overflow-scrolling: touch;
}

/* Hide scrollbar but keep functionality */
.mobile-menu::-webkit-scrollbar {
    width: 0px;
    background: transparent;
}

.search-container {
    display: flex;
    border: 2px solid var(--light-border);
    border-radius: var(--border-radius, 30px);
    overflow: hidden;
    transition: var(--transition);
    box-shadow: var(--shadow);
    position: relative;
    overflow: visible; /* Added to fix dropdown visibility */
}

.dark-mode .search-container {
    border-color: var(--dark-border);
}

.search-container:focus-within {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}

.category-dropdown {
    position: relative;
}

.category-dropdown-btn {
    border: none;
    padding: 16px;
    border-right: 1px solid var(--light-border);
    color: var(--text-primary);
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 120px;
    white-space: nowrap;
    transition: var(--transition);
    cursor: pointer;
    border-radius: 25px 0 0 25px;
}

.dark-mode .category-dropdown-btn {
    background: #000;
    color: var(--text-primary-dark);
    border-color: var(--dark-border);
}

.category-dropdown-btn:hover {
    background: var(--light-border);
}

.dark-mode .category-dropdown-btn:hover {
    background: var(--dark-border);
}

.category-dropdown-btn .bi-chevron-down {
    font-size: 12px;
    transition: transform 0.2s ease;
}

.category-dropdown.show .category-dropdown-btn .bi-chevron-down {
    transform: rotate(180deg);
}

.enhanced-search-input {
    flex: 1;
    border: none;
    padding: 14px 16px;
    font-size: 16px;
    outline: none;
    color: var(--text-primary);
}

.dark-mode .enhanced-search-input {
    color: var(--text-primary-dark);
    background: black;
}

.enhanced-search-input::placeholder {
    color: var(--text-secondary);
}

.enhanced-search-btn {
    background: transparent;
    border: none;
    color: white;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition);
    font-size: 18px;
    border-radius: 0 25px 25px 0;
}

.enhanced-search-btn:hover {
    background: #007bff;
    border-radius: 0 25px 25px 0;
}

.enhanced-search-btn:focus {
    background: var(--primary-color);
    outline: none;
    box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.5); /* Added focus style */
}

/* Custom Dropdown */
.enhanced-dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    background: var(--light-bg);
    border: none;
    border-radius: 12px;
    box-shadow: var(--shadow);
    padding: 8px 0;
    margin-top: 4px;
    max-height: 300px;
    overflow-y: auto;
    min-width: 200px;
    z-index: 1000;
    display: none;
}

.dark-mode .enhanced-dropdown-menu {
    background: var(--dark-surface);
    border-color: var(--dark-border);
}

.enhanced-dropdown-item {
    padding: 10px 16px;
    color: var(--text-primary);
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: var(--transition);
    font-size: 14px;
    cursor: pointer;
}

.dark-mode .enhanced-dropdown-item {
    color: var(--text-primary-dark);
}

.enhanced-dropdown-item:hover {
    background: var(--light-surface);
    color: var(--primary-color);
    text-decoration: none;
}

.dark-mode .enhanced-dropdown-item:hover {
    background: var(--dark-border);
    color: var(--text-primary-dark);
}

.enhanced-dropdown-item.active {
    background: var(--primary-color);
    color: white;
}

.enhanced-dropdown-item .bi {
    font-size: 16px;
    width: 20px;
    text-align: center;
}

/* Search Suggestions */
.search-suggestions {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--light-bg);
    border-top: none;
    border-radius: 12px;
    box-shadow: var(--shadow);
    max-height: 300px;
    overflow-y: auto;
    z-index: 1000;
    display: none;
}

.dark-mode .search-suggestions {
    background: var(--dark-surface);
}

.search-suggestions.show {
    display: block;
}

.suggestion-item {
    padding: 12px 16px;
    cursor: pointer;
    transition: var(--transition);
    border-bottom: 1px solid var(--light-border);
    display: flex;
    align-items: center;
    gap: 12px;
}

.dark-mode .suggestion-item {
    border-bottom-color: var(--dark-border);
}

.suggestion-item:hover {
    background: var(--light-surface);
}

.dark-mode .suggestion-item:hover {
    background: var(--dark-border);
}

.suggestion-item:last-child {
    border-bottom: none;
}

.suggestion-icon {
    color: var(--text-secondary);
    font-size: 16px;
}

.suggestion-text {
    flex: 1;
    color: var(--text-primary);
}

.dark-mode .suggestion-text {
    color: var(--text-primary-dark);
}

.suggestion-category {
    font-size: 12px;
    color: var(--text-secondary);
    background: var(--light-surface);
    padding: 2px 8px;
    border-radius: 12px;
}

.dark-mode .suggestion-category {
    background: var(--dark-border);
    color: var(--text-secondary-dark);
}

/* Responsive Design */
@media (max-width: 768px) {
    .enhanced-search-wrapper {
        max-width: 100%;
    }

    .category-dropdown-btn {
        min-width: 80px;
        padding: 12px 10px;
        font-size: 14px;
    }

    .enhanced-search-input {
        padding: 12px 14px;
        font-size: 16px;
    }

    .enhanced-search-btn {
        padding: 12px 16px;
        font-size: 16px;
    }

    .enhanced-dropdown-menu {
        min-width: 100%;
    }
}

@media (max-width: 480px) {
    .category-dropdown-btn {
        min-width: 60px;
        padding: 12px 8px;
    }

    .category-dropdown-btn .category-text {
        display: none;
    }

    .enhanced-search-input {
        padding: 12px;
    }

    .enhanced-search-btn {
        padding: 12px 14px;
    }
}

/* Loading state */
.enhanced-search-btn.loading {
    pointer-events: none;
}

.enhanced-search-btn.loading .bi-search {
    display: none;
}

.enhanced-search-btn.loading::after {
    content: '';
    width: 18px;
    height: 18px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    border-top-color: white;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* Responsive Modal Styles */
.modal-header-responsive {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px 16px;
    border-bottom: 1px solid #e5e5e5;
}

.modal-title-responsive {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 600;
    color: #333;
}

.close-btn-responsive {
    background: none;
    border: none;
    font-size: 28px;
    color: #666;
    cursor: pointer;
    padding: 0;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all 0.2s ease;
}

.close-btn-responsive:hover {
    background: #f5f5f5;
    color: #333;
}

.form-group-responsive {
    margin-bottom: 20px;
}

.form-label-responsive {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
    color: #333;
    font-size: 14px;
}

.form-control-responsive,
.form-textarea-responsive {
    max-width: 100%;
    box-sizing: border-box;
}

.form-control-responsive {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e1e5e9;
    border-radius: 8px;
    font-size: 16px;
    transition: border-color 0.2s ease;
    background: #fff;
}

.form-control-responsive:focus {
    outline: none;
    border-color: #007bff;
    box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}

.form-textarea-responsive {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e1e5e9;
    border-radius: 8px;
    font-size: 16px;
    min-height: 120px;
    resize: vertical;
    font-family: inherit;
    transition: border-color 0.2s ease;
}

.form-textarea-responsive:focus {
    outline: none;
    border-color: #007bff;
    box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}

.modal-footer-responsive {
    display: flex;
    gap: 12px;
    justify-content: flex-end;
    padding: 16px 0 0;
    border-top: 1px solid #e5e5e5;
    margin-bottom: 20px;
}

.btn-primary-responsive {
    background: #007bff;
    color: white;
    border: none;
    padding: 12px 24px;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s ease;
    font-size: 14px;
}

.btn-primary-responsive:hover {
    background: #0056b3;
    text-decoration: none;
    color: white;
}

.btn-secondary-responsive {
    background: #6c757d;
    color: white;
    border: none;
    padding: 12px 24px;
    border-radius: 6px;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.2s ease;
    font-size: 14px;
}

.btn-secondary-responsive:hover {
    background: #545b62;
}

.btn-danger-responsive {
    background: #dc3545;
    color: white;
    border: none;
    padding: 12px 24px;
    border-radius: 6px;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.2s ease;
    font-size: 14px;
}

.btn-danger-responsive:hover {
    background: #c82333;
}

.text-center-responsive {
    text-align: center;
    margin: 20px 0;
    color: #666;
}

.message-result-responsive.success {
    background: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}

.message-result-responsive.error {
    background: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}

/* Mobile Responsive Adjustments */
@media (max-width: 768px) {
    .modal-footer-responsive {
        flex-direction: column-reverse;
    }
    
    .btn-primary-responsive,
    .btn-secondary-responsive,
    .btn-danger-responsive {
        width: 100%;
        justify-content: center;
    }
    
    .form-control-responsive,
    .form-textarea-responsive {
        font-size: 16px; /* Prevents zoom on iOS */
    }
}


input[type="checkbox"], input[type="radio"] {
  display: none;
}

/* External close button - positioned outside modal container */
.close-btn-modal-external {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 10000;
    background: rgba(0, 0, 0, 0.7);
    color: white;
    border: none;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    cursor: pointer;
    transition: all 0.3s ease;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}


.close-btn-modal-external span {
    line-height: 1;
    font-weight: 300;
}

/* Mobile responsive adjustments */
@media (max-width: 768px) {
    .close-btn-modal-external {
        top: 15px;
        right: 15px;
        width: 44px;
        height: 44px;
        font-size: 24px;
    }
}

@media (max-width: 480px) {
    .close-btn-modal-external {
        top: 10px;
        right: 10px;
        width: 40px;
        height: 40px;
        font-size: 20px;
    }
}

body.dark-mode .close-btn-modal-external {
    background: rgba(20, 20, 20, 0.8);
    border: 2px solid rgba(255, 255, 255, 0.2);
}

body.dark-mode .close-btn-modal-external:hover {
    background: rgba(40, 40, 40, 0.9);
    border-color: rgba(255, 255, 255, 0.4);
}

/* Fix for specific modal width constraints */
.mw-420px {
    max-width: 420px;
}


/* Responsive modal adjustments for better mobile experience */
@media (max-width: 576px) {
    .mw-420px {
        max-width: calc(100vw - 20px);
        margin: 10px;
    }
}

/* Light Mode Scrollbar */
.enhanced-dropdown-menu::-webkit-scrollbar {
    width: 6px;
}

.enhanced-dropdown-menu::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px;
}

.enhanced-dropdown-menu::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 10px;
    transition: background 0.3s ease;
}

.enhanced-dropdown-menu::-webkit-scrollbar-thumb:hover {
    background: #a8a8a8;
}

/* Dark Mode Scrollbar */
body.dark-mode .enhanced-dropdown-menu::-webkit-scrollbar {
    width: 6px;
}

body.dark-mode .enhanced-dropdown-menu::-webkit-scrollbar-track {
    background: #2a2a2a;
    border-radius: 10px;
}

body.dark-mode .enhanced-dropdown-menu::-webkit-scrollbar-thumb {
    background: #555;
    border-radius: 10px;
    transition: background 0.3s ease;
}

body.dark-mode .enhanced-dropdown-menu::-webkit-scrollbar-thumb:hover {
    background: #777;
}

/* Firefox scrollbar styling */
.enhanced-dropdown-menu {
    scrollbar-width: thin;
    scrollbar-color: #c1c1c1 #f1f1f1;
}

body.dark-mode .enhanced-dropdown-menu {
    scrollbar-width: thin;
    scrollbar-color: #555 #2a2a2a;
}

/* Additional scrollbar styling for search suggestions */
.search-suggestions::-webkit-scrollbar {
    width: 6px;
}

.search-suggestions::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px;
}

.search-suggestions::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 10px;
    transition: background 0.3s ease;
}

.search-suggestions::-webkit-scrollbar-thumb:hover {
    background: #a8a8a8;
}

/* Dark mode for search suggestions scrollbar */
body.dark-mode .search-suggestions::-webkit-scrollbar {
    width: 6px;
}

body.dark-mode .search-suggestions::-webkit-scrollbar-track {
    background: #2a2a2a;
    border-radius: 10px;
}

body.dark-mode .search-suggestions::-webkit-scrollbar-thumb {
    background: #555;
    border-radius: 10px;
    transition: background 0.3s ease;
}

body.dark-mode .search-suggestions::-webkit-scrollbar-thumb:hover {
    background: #777;
}

body.dark-mode .search-suggestions {
    scrollbar-width: thin;
    scrollbar-color: #555 #2a2a2a;
}
.border-top-25{
  border-radius: 25px 25px 0 0;
}

.product-sort-by .btn.dropdown-toggle {
    padding: 8px 16px;
    font-size: 14px;
    background-color: #fff;
    border: 1px solid #ccc;
    color: #333;
}

body.dark-mode .product-sort-by .btn.dropdown-toggle {
    background-color: #252b3c;
    border-color: #555;
    color: #fff;
}

.product-sort-by .dropdown-menu {
    border-radius: 10px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

body.dark-mode .product-sort-by .dropdown-menu {
    background-color: #171a1e;
    color: #fff;
}

.product-sort-by .dropdown-item:hover {
    background-color: #f8f9fa;
}

body.dark-mode .product-sort-by .dropdown-item:hover {
    background-color: #2e2e2e;
    color: #fff;
}

/* Ensure icons in the mobile top bar are vertically aligned */
.mobile-menu-top-right .bi,
.mobile-menu-top-right .cart-icon-style,
.mobile-menu-top-right .mobile-auth-actions img,
.mobile-menu-top-right .mobile-authsweractions .bi {
    vertical-align: middle;
}
.mobile-menu-top-right > span { /* Add some default spacing if g-15 is not sufficient or for elements not directly children */
    margin-left: 8px; /* Adjust as needed, g-15 might provide enough for direct children */
}
.mobile-menu-top-right > span:first-child {
    margin-left: 0;
}
/* Style for dropdown icons to ensure alignment */
.dropdown-menu .bi {
    width: 1.3em; 
    display: inline-block; 
    text-align: center;
    margin-right: 0.5em; /* Replaces me-2 for more control */
}

@media (max-width: 1200px) {
    .desktop-view {
        display: none;
    }
    .desktop-menu {
        display:none;
    }
    .modal-content {
        border-width: 0;
    }
    #loginModal {
        /* display:none; */ /* This was commented out, assuming it's intentional for modal functionality */
    }
    .section-related-products-bottom {
        /* z-index: -1;*/
    }
    .section-header {
        z-index: -1;
    }
    .product-content-details {
        z-index: 10;
    }
    .product-item {
        z-index: 100;
    }
    .product-list-content {
        z-index: 1;
    }
    .product-slider-container {
        z-index: 10;
    }
    .row-custom {
        float: unset;
    }
    .custom-slider-item {
        min-height: 300px;
    }
    body.dark-mode .modal-content {
        border: 0;
    }
}
@media (min-width: 1201px) {
    /* .mobile-menu {
        display: none;
    } */ /* This rule hides the old mobile-menu, not the mobile-nav */
    .mobile-nav-container.d-md-none { /* This is the main container for mobile view */
         /* display: none !important; */ /* This would hide it on desktop, which is correct */
    }
}

/* Enhanced Mobile Profile Dropdown Styles */
.mobile-profile-dropdown {
    position: relative;
}

.mobile-profile-btn {
    background: none;
    border: none;
    padding: 0;
    position: relative;
    border-radius: 50%;
    transition: all 0.2s ease;
}

.mobile-profile-btn:hover {
    transform: scale(1.05);
}

.mobile-profile-btn img {
    width: 32px;
    height: 32px;
    object-fit: cover;
    border-radius: 50%;
    border: 2px solid transparent;
    transition: border-color 0.2s ease;
}

.mobile-profile-btn:focus img,
.mobile-profile-btn[aria-expanded="true"] img {
    border-color: #0d6efd;
}

/* Notification badge */
.notification-badge {
    position: absolute;
    top: -2px;
    right: -2px;
    width: 12px;
    height: 12px;
    background: #dc3545;
    border: 2px solid white;
    border-radius: 50%;
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.1); }
    100% { transform: scale(1); }
}

/* Enhanced dropdown menu */
.mobile-profile-menu {
    border: none;
    border-radius: 16px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
    padding: 0;
    margin-top: 8px;
    min-width: 280px;
    max-width: 320px;
    background: white;
    overflow: hidden;
}

/* User info header */
.mobile-profile-header {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 20px 16px 16px;
    border-radius: 16px 16px 0 0;
}

.mobile-profile-header .user-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 3px solid rgba(255, 255, 255, 0.3);
    margin-bottom: 8px;
}

.mobile-profile-header .user-name {
    font-size: 16px;
    font-weight: 600;
    margin: 0;
    line-height: 1.2;
}

.mobile-profile-header .user-email {
    font-size: 13px;
    opacity: 0.9;
    margin: 0;
    line-height: 1.2;
}

/* Menu items */
.mobile-profile-menu .dropdown-item {
    padding: 12px 16px;
    border: none;
    background: white;
    color: #333;
    display: flex;
    align-items: center;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.2s ease;
    position: relative;
}

.mobile-profile-menu .dropdown-item:hover,
.mobile-profile-menu .dropdown-item:focus {
    background: #f8f9fa;
    color: #0d6efd;
    transform: translateX(4px);
}

.mobile-profile-menu .dropdown-item i {
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 12px;
    font-size: 16px;
    color: #6c757d;
    transition: color 0.2s ease;
}

.mobile-profile-menu .dropdown-item:hover i,
.mobile-profile-menu .dropdown-item:focus i {
    color: #0d6efd;
}

/* Special styling for logout */
.mobile-profile-menu .dropdown-item.logout {
    color: #dc3545;
    border-top: 1px solid #f1f3f4;
    margin-top: 4px;
}

.mobile-profile-menu .dropdown-item.logout:hover,
.mobile-profile-menu .dropdown-item.logout:focus {
    background: #fff5f5;
    color: #dc3545;
}

.mobile-profile-menu .dropdown-item.logout i {
    color: #dc3545;
}

/* Badge for messages */
.message-badge {
    background: #dc3545;
    color: white;
    font-size: 11px;
    font-weight: 600;
    padding: 2px 6px;
    border-radius: 10px;
    margin-left: auto;
    min-width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Divider */
.mobile-profile-divider {
    height: 1px;
    background: #f1f3f4;
    margin: 4px 0;
}

/* Dark mode support */
.dark-mode .mobile-profile-menu {
    background: #2d3748;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}

.dark-mode .mobile-profile-menu .dropdown-item {
    background: #2d3748;
    color: #e2e8f0;
}

.dark-mode .mobile-profile-menu .dropdown-item:hover,
.dark-mode .mobile-profile-menu .dropdown-item:focus {
    background: #4a5568;
    color: #63b3ed;
}

.dark-mode .mobile-profile-divider {
    background: #4a5568;
}

.dark-mode .notification-badge {
    border-color: #2d3748;
}

/* Responsive adjustments */
@media (max-width: 376px) {
    .mobile-profile-menu {
        min-width: 260px;
        margin-left: -120px;
    }
}

/* Animation for dropdown */
.mobile-profile-menu[data-bs-popper] {
    animation: slideDown 0.2s ease-out;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.modal-container {
    position: relative;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    animation: modalSlideUp 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
    z-index: 1;
    width: 100%;
    box-sizing: border-box;
    overflow-y: auto;
    max-height: 100vh;
}

.vertical-thumbnails {
    display: flex;
    flex-direction: column;
    max-height: 100%;
    overflow-y: auto;
}
/* Dark mode scrollbar for WebKit browsers (Chrome, Safari, etc.) */
html.dark-mode::-webkit-scrollbar-thumb:hover {
    background: #777;
}

/* Dark mode scrollbar for Firefox */
html.dark-mode {
    scrollbar-color: #555 #2a2a2a;
    scrollbar-width: thin;
}
.rounded-bottom {
    border-radius: 0 0 25px 25px;

}

.bg-gray-main {
  background: #ddd;
}
.rounded-top {

  border-radius: 25px 25px 0 0;}

.bg-gray-secondary {
  background: #e9e9ed;
}
.card-body {
background: #e9e9ed;
}
.my-2 {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
    .text-warning {
      color: #ffc107 !important;
    }
        .text-primary {
      color: #007bff;
    }
    /* Smooth theme transitions */
.dark-mode-transition,
.dark-mode-transition * {
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease !important;
}

/* Prevent flash on page load */
.preload * {
    transition: none !important;
}


.enhanced-search-btn:hover {
    background: #0056b3;
    transform: translateY(-1px);
}

.enhanced-search-btn:focus {
    background: #0056b3;
    outline: none;
    box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.3);
}

/* Light mode button styles */
body:not(.dark-mode) .btn-primary {
    background-color: #007bff;
    border-color: #007bff;
    color: white;
}

body:not(.dark-mode) .btn-primary:hover {
    background-color: #0056b3;
    border-color: #0056b3;
    transform: translateY(-1px);
}

body:not(.dark-mode) .btn-primary:focus {
    box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.25);
}

/* Light mode search container */
body:not(.dark-mode) .search-container {
    background: white;
    border-color: #dee2e6;
}

body:not(.dark-mode) .search-container:focus-within {
    border-color: #007bff;
    box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}

/* Light mode category dropdown */
body:not(.dark-mode) .category-dropdown-btn {
    background: white;
    color: #333;
    border-color: #dee2e6;
}

body:not(.dark-mode) .category-dropdown-btn:hover {
    background: #f8f9fa;
}

/* Light mode enhanced search input */
body:not(.dark-mode) .enhanced-search-input {
    background: white;
    color: #333;
}

body:not(.dark-mode) .enhanced-search-input::placeholder {
    color: #6c757d;
}

body.dark-mode .image-placeholder-bg::before {
    background-image: 
        radial-gradient(circle at 20% 50%, rgba(255, 255, 255, 0.03) 0%, transparent 50%),
        radial-gradient(circle at 80% 20%, rgba(255, 255, 255, 0.03) 0%, transparent 50%),
        radial-gradient(circle at 40% 80%, rgba(255, 255, 255, 0.03) 0%, transparent 50%);
}

body.dark-mode .image-placeholder-bg::after {
    opacity: 0.2;
}


/* Responsive adjustments */
@media (max-width: 768px) {
    .img-product-container .image-placeholder-bg {
        min-height: 200px;
    }
    
    .image-placeholder-bg::after {
        font-size: 1.5rem;
    }
}

@media (max-width: 480px) {
    .img-product-container .image-placeholder-bg {
        min-height: 180px;
    }
    
    .image-placeholder-bg::after {
        font-size: 1.2rem;
    }
}

/* Product slider placeholder */
.main-slider .image-placeholder-bg {
    min-height: 400px;
    border-radius: 25px;
}

@media (max-width: 768px) {
    .main-slider .image-placeholder-bg {
        min-height: 300px;
    }
}

/* Thumbnail placeholder */
.thumbnail .image-placeholder-bg {
    min-height: 60px;
    width: 60px;
    border-radius: 8px;
}

/* Avatar placeholder for profile images */
.profile-avatar-placeholder {
    background: linear-gradient(135deg, #e9ecef 0%, #dee2e6 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
}

.profile-avatar-placeholder::after {
    content: '👤';
    font-size: 1.5rem;
    opacity: 0.5;
}

body.dark-mode .profile-avatar-placeholder {
    background: linear-gradient(135deg, #2d2d2d 0%, #1a1a1a 100%);
}

body.dark-mode .profile-avatar-placeholder::after {
    opacity: 0.3;
}


/* Animation when placeholder is loading */
.image-placeholder-bg.loading {
    background: linear-gradient(
        90deg,
        #f8f9fa 25%,
        #e9ecef 50%,
        #f8f9fa 75%
    );
    background-size: 200% 100%;
    animation: loading-shimmer 2s infinite;
}

body.dark-mode .image-placeholder-bg.loading {
    background: linear-gradient(
        90deg,
        #2d2d2d 25%,
        #1a1a1a 50%,
        #2d2d2d 75%
    );
    background-size: 200% 100%;
}

@keyframes loading-shimmer {
    0% {
        background-position: -200% 0;
    }
    100% {
        background-position: 200% 0;
    }
}

/* Hide the emoji on very small devices to save space */
@media (max-width: 320px) {
    .image-placeholder-bg::after {
        display: none;
    }
}

/* Dark mode scrollbar for HTML element */
html.dark-mode::-webkit-scrollbar {
    width: 6px;
}

html.dark-mode::-webkit-scrollbar-track {
    background: #2a2a2a;
    border-radius: 10px;
}

html.dark-mode::-webkit-scrollbar-thumb {
    background: #555;
    border-radius: 10px;
}

/* REPLACE your existing media queries with these mobile-first ones */

.badge {
    font-size: 0.7rem;
    padding: 3px 6px;
    top: 8px;
    right: 8px;
}

.item-details {
    padding: 0.75rem;
}

.product-title {
    font-size: 0.9rem;
    line-height: 1.3;
}

/* Tablet styles */
@media (min-width: 576px) {
    .badge {
        font-size: 0.75rem;
        padding: 4px 8px;
        top: 10px;
        right: 10px;
    }
    
    .product-title {
        font-size: 1rem;
    }
}

/* Desktop styles */
@media (min-width: 768px) {

    .product-title {
        font-size: 1.1rem;
    }
}

/* REPLACE your product title styles */
.product-title a {
    color: #333;
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-wrap: break-word;
    hyphens: auto;
}

.product-user {
    font-size: 0.75rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ADD these accessibility and performance improvements */

/* Disable animations for users who prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
    .product-item,
    .img-product {
        transition: none;
    }
}

/* High DPI display optimization */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .img-product {
        image-rendering: -webkit-optimize-contrast;
    }
}
/* Guest Downloads Page Improvements */

/* Access Page Styles */
.guest-access-container {
    min-height: 60vh;
    display: flex;
    align-items: center;
}

.guest-access-card {
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
    border-radius: 12px;
    border: none;
}

.guest-access-header {
    text-align: center;
    margin-bottom: 2rem;
}

.guest-access-icon {
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, #007bff, #0056b3);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1rem;
}

.guest-access-icon i {
    color: white;
    font-size: 1.5rem;
}

/* Downloads Page Styles */
.guest-downloads-header {
    background: #f8f9fa;
    border-radius: 12px;
    padding: 1.5rem;
    margin-bottom: 2rem;
    border: 1px solid #e9ecef;
}

.download-card {
    border: none;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
    border-radius: 12px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.download-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
}

.download-card .card-header {
    background: #fff;
    border-bottom: 1px solid #e9ecef;
    border-radius: 12px 12px 0 0;
}

.download-card .card-footer {
    background: #f8f9fa;
    border-top: 1px solid #e9ecef;
    border-radius: 0 0 12px 12px;
}

.file-item {
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    padding: 1rem;
    transition: background 0.2s ease;
}

.file-item:hover {
    background: #e9ecef;
}

.file-icon {
    width: 40px;
    height: 40px;
    background: linear-gradient(135deg, #007bff, #0056b3);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
}

/* Account Creation Promotion */
.account-promotion {
    background: linear-gradient(135deg, #28a745, #20c997);
    border-radius: 12px;
    border: none;
    color: white;
}

.account-promotion .alert-heading {
    color: white;
}

.account-promotion .btn {
    background: rgba(255, 255, 255, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: white;
}

.account-promotion .btn:hover {
    background: rgba(255, 255, 255, 0.3);
    border-color: rgba(255, 255, 255, 0.5);
    color: white;
}

/* Empty State */
.empty-state {
    padding: 3rem 1rem;
    text-align: center;
}

.empty-state-icon {
    font-size: 4rem;
    color: #6c757d;
    margin-bottom: 1rem;
}

/* Loading States */
.loading-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

.loading-spinner {
    background: white;
    padding: 2rem;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    text-align: center;
}

/* Button Improvements */
.btn-download {
    background: linear-gradient(135deg, #007bff, #0056b3);
    border: none;
    border-radius: 8px;
    font-weight: 500;
    padding: 0.5rem 1rem;
    transition: all 0.2s ease;
}

.btn-download:hover {
    background: linear-gradient(135deg, #0056b3, #004085);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 123, 255, 0.3);
}

.btn-view {
    background: white;
    border: 1px solid #007bff;
    color: #007bff;
    border-radius: 8px;
    font-weight: 500;
    padding: 0.5rem 1rem;
    transition: all 0.2s ease;
}

.btn-view:hover {
    background: #007bff;
    color: white;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 123, 255, 0.2);
}

/* Modal Improvements */
.modal-content {
    border: none;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

.modal-header {
    border-bottom: 1px solid #e9ecef;
    border-radius: 12px 12px 0 0;
}

.modal-footer {
    border-top: 1px solid #e9ecef;
    border-radius: 0 0 12px 12px;
}

/* Toast Notifications */
.toast {
    border: none;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

.toast-success {
    background: linear-gradient(135deg, #28a745, #20c997);
    color: white;
}

.toast-error {
    background: linear-gradient(135deg, #dc3545, #c82333);
    color: white;
}

.toast-warning {
    background: linear-gradient(135deg, #ffc107, #e0a800);
    color: #212529;
}

/* Responsive Improvements */
@media (max-width: 768px) {
    .guest-downloads-header {
        padding: 1rem;
        margin-bottom: 1rem;
    }
    
    .download-card {
        margin-bottom: 1rem;
    }
    
    .file-item {
        padding: 0.75rem;
    }
    
    .btn-download,
    .btn-view {
        padding: 0.4rem 0.8rem;
        font-size: 0.9rem;
    }
    
    .empty-state {
        padding: 2rem 1rem;
    }
    
    .empty-state-icon {
        font-size: 3rem;
    }
}

@media (max-width: 576px) {
    .guest-access-card {
        margin: 1rem;
    }
    
    .guest-downloads-header h1 {
        font-size: 1.5rem;
    }
    
    .download-card .card-header .row,
    .download-card .card-footer .row {
        flex-direction: column;
        text-align: center;
    }
    
    .file-item {
        flex-direction: column;
        text-align: center;
        gap: 1rem;
    }
    
    .file-item .btn-download,
    .file-item .btn-view {
        width: 100%;
        margin: 0.25rem 0;
    }
}

/* Dark Mode Support */
body.dark-mode .guest-downloads-header {
    background: #2d3748;
    border-color: #4a5568;
    color: #e2e8f0;
}

body.dark-mode .download-card {
    background: #2d3748;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.3);
}

body.dark-mode .download-card .card-header {
    background: #2d3748;
    border-color: #4a5568;
    color: #e2e8f0;
}

body.dark-mode .download-card .card-footer {
    background: #1a202c;
    border-color: #4a5568;
}

body.dark-mode .file-item {
    background: #1a202c;
    border-color: #4a5568;
    color: #e2e8f0;
}

body.dark-mode .file-item:hover {
    background: #4a5568;
}

body.dark-mode .modal-content {
    background: #2d3748;
    color: #e2e8f0;
}

body.dark-mode .modal-header,
body.dark-mode .modal-footer {
    border-color: #4a5568;
}

body.dark-mode .form-control {
    background: #1a202c;
    border-color: #4a5568;
    color: #e2e8f0;
}

body.dark-mode .form-control:focus {
    background: #1a202c;
    border-color: #007bff;
    color: #e2e8f0;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}
/* ============================================ */
/* FIXED DOWNLOAD MODAL STYLES - Match Site-Wide Modal Pattern */
/* ============================================ */

/* Download Modal Container - Fixed to match site pattern */
.download-modal-container {
    max-width: 1000px;
    width: 95%;
    max-height: 90vh;
    overflow-y: auto;
    margin: auto;
}

/* Search and Sort Section Enhancements */
.search-sort-section-enhanced {
    background: #f8f9fa;
    border-radius: 12px;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    border: 1px solid #dee2e6;
}


.dark-mode .search-sort-section-enhanced {
    background: #1a1a1a;
    border-color: #444;
}

/* Enhanced form controls to match site style */
.search-input-enhanced.form-control-responsive {
    width: 100%;
    border: 2px solid #e1e5e9;
    border-radius: 8px;
    font-size: 16px;
    transition: border-color 0.2s ease;
    background: #fff;
}

.search-input-enhanced.form-control-responsive:focus {
    outline: none;
    border-color: #007bff;
    box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}

.dark-mode .search-input-enhanced.form-control-responsive {
    background: #333333;
    color: #ffffff;
    border-color: #555555;
}

.dark-mode .search-input-enhanced.form-control-responsive:focus {
    border-color: #007bff;
    box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}

.sort-select-enhanced.form-control-responsive {
    border: 2px solid #e1e5e9;
    border-radius: 8px;
    background: white;
    color: #333;
    padding: 0.75rem;
}

.dark-mode .sort-select-enhanced.form-control-responsive {
    background: #333333;
    color: #fff;
    border-color: #555555;
}

.search-clear-enhanced {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: #6c757d;
    cursor: pointer;
    z-index: 10;
}

.search-clear-enhanced.show {
    display: block;
}

/* File Statistics Enhanced */
.file-stats-enhanced {
    background: #e3f2fd;
    border-radius: 8px;
    padding: 1rem;
    margin-bottom: 1rem;
}

.dark-mode .file-stats-enhanced {
    background: #1a2332;
}

.stat-badge {
    background: #fff;
    color: #333;
    padding: 0.4rem 0.8rem;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 500;
    border: 1px solid #dee2e6;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.dark-mode .stat-badge {
    background: #2d3748;
    color: #e2e8f0;
    border-color: #4a5568;
}

.search-results-summary-enhanced {
    background: #17a2b8;
    color: white;
    padding: 0.75rem 1rem;
    border-radius: 8px;
    margin-bottom: 1rem;
}

.search-results-summary-enhanced.show {
    display: block;
}

/* Download All Section Enhanced */
.download-all-section-enhanced {
    background: linear-gradient(135deg, #e8f5e8, #f0f8f0);
    border-radius: 12px;
    padding: 1.5rem;
    margin-bottom: 2rem;
    border: 1px solid #c3e6cb;
}

.dark-mode .download-all-section-enhanced {
    background: linear-gradient(135deg, #1a2e1a, #1f331f);
    border-color: #28a745;
}

.download-all-btn-enhanced {
    background: linear-gradient(135deg, #28a745, #20c997);
    border: none;
    border-radius: 8px;
    padding: 1rem 1.5rem;
    font-weight: 600;
    color: white;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    justify-content: center;
    transition: all 0.3s ease;
    cursor: pointer;
}

.download-all-btn-enhanced:hover {
    background: linear-gradient(135deg, #218838, #1e9e8e);
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(40, 167, 69, 0.3);
    color: white;
}

/* ZIP Progress Styles */
.zip-progress-container {
    background: white;
    border: 1px solid #007bff;
    border-radius: 8px;
    padding: 1.5rem;
    margin-top: 1rem;
}

.dark-mode .zip-progress-container {
    background: #1a1a1a;
    border-color: #0056b3;
}

.zip-progress-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}

.zip-progress-header h6 {
    margin: 0;
    color: #007bff;
    font-weight: 600;
}

.dark-mode .zip-progress-header h6 {
    color: #66b3ff;
}

.zip-progress-status {
    font-size: 0.9rem;
    color: #6c757d;
}

.dark-mode .zip-progress-status {
    color: #adb5bd;
}

.zip-progress-bar {
    height: 10px;
    border-radius: 5px;
    margin-bottom: 0.5rem;
}

.zip-progress-details {
    text-align: center;
    color: #6c757d;
}

.dark-mode .zip-progress-details {
    color: #adb5bd;
}

/* Section Title Enhanced */
.section-title-enhanced {
    background: #f8f9fa;
    padding: 1rem 1.5rem;
    margin: 0 0 1rem 0;
    font-weight: 600;
    color: #495057;
    border-radius: 8px;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    border: 1px solid #dee2e6;
}

.dark-mode .section-title-enhanced {
    background: #1a1a1a;
    color: #e9ecef;
    border-color: #444;
}

/* Files List Enhanced */
.files-list-enhanced {
    background: white;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #dee2e6;
    max-height: 400px;
    overflow-y: auto;
}

.dark-mode .files-list-enhanced {
    background: #131313;
    border-color: #444;
}

/* Enhanced File Items */
.file-item-enhanced {
    display: flex;
    align-items: center;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid #dee2e6;
    transition: all 0.3s ease;
    position: relative;
    background: white;
}

.dark-mode .file-item-enhanced {
    background: #131313;
    border-bottom-color: #444;
}

.file-item-enhanced:last-child {
    border-bottom: none;
}


.dark-mode .file-item-enhanced:hover {
    background: #1a1a1a;
}

.file-item-enhanced.hidden {
    display: none;
}

/* Enhanced File Icons */
.file-icon-enhanced {
    width: 50px;
    height: 50px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 0.7rem;
    margin-right: 1rem;
    position: relative;
    overflow: hidden;
    color: white;
    min-width: 50px;
}

/* File type specific colors */
.file-icon-enhanced.pdf { background: linear-gradient(135deg, #dc3545, #c82333); }
.file-icon-enhanced.doc, .file-icon-enhanced.docx { background: linear-gradient(135deg, #007bff, #0056b3); }
.file-icon-enhanced.xls, .file-icon-enhanced.xlsx { background: linear-gradient(135deg, #28a745, #1e7e34); }
.file-icon-enhanced.zip, .file-icon-enhanced.rar { background: linear-gradient(135deg, #ffc107, #e0a800); }
.file-icon-enhanced.jpg, .file-icon-enhanced.jpeg, .file-icon-enhanced.png { background: linear-gradient(135deg, #e83e8c, #d91a72); }
.file-icon-enhanced.mp4, .file-icon-enhanced.avi { background: linear-gradient(135deg, #6f42c1, #5a32a3); }
.file-icon-enhanced.mp3, .file-icon-enhanced.wav { background: linear-gradient(135deg, #fd7e14, #e55100); }
.file-icon-enhanced.txt, .file-icon-enhanced.md { background: linear-gradient(135deg, #6c757d, #545b62); }
.file-icon-enhanced.html, .file-icon-enhanced.css, .file-icon-enhanced.js { background: linear-gradient(135deg, #17a2b8, #138496); }
.file-icon-enhanced.psd, .file-icon-enhanced.ai { background: linear-gradient(135deg, #6610f2, #520dc2); }

.file-info-enhanced {
    flex: 1;
    min-width: 0;
    margin-right: 1rem;
}

.file-name-enhanced {
    font-weight: 600;
    color: #212529;
    margin-bottom: 0.5rem;
    font-size: 1rem;
    word-break: break-word;
}

.dark-mode .file-name-enhanced {
    color: #ffffff;
}

.file-meta-enhanced {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    align-items: center;
}

.file-meta-enhanced span {
    font-size: 0.875rem;
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.file-extension-enhanced {
    background: #007bff;
    color: white;
    padding: 0.25rem 0.6rem;
    border-radius: 15px;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.75rem;
}

.file-size-enhanced {
    background: #17a2b8;
    color: white;
    padding: 0.25rem 0.6rem;
    border-radius: 15px;
    font-weight: 600;
    font-size: 0.75rem;
}

.file-type-enhanced {
    color: #6c757d;
    font-style: italic;
}

.dark-mode .file-type-enhanced {
    color: #adb5bd;
}

/* Enhanced Download Button */
.download-btn-enhanced {
    background: #007bff;
    border: none;
    padding: 0.75rem 1.5rem;
    color: white;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    transition: all 0.3s ease;
    min-width: 120px;
    justify-content: center;
    cursor: pointer;
}

.download-btn-enhanced:hover {
    background: #0056b3;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 123, 255, 0.3);
    color: white;
}

/* No Files / No Results State */
.no-files-enhanced, .no-results-enhanced {
    text-align: center;
    padding: 3rem 1rem;
    color: #6c757d;
}

.no-files-enhanced i, .no-results-enhanced i {
    font-size: 4rem;
    margin-bottom: 1rem;
    opacity: 0.5;
}

.no-files-enhanced h5, .no-results-enhanced h5 {
    margin-bottom: 0.5rem;
    color: #495057;
}

.dark-mode .no-files-enhanced h5, 
.dark-mode .no-results-enhanced h5 {
    color: #e9ecef;
}

/* Loading States */
.download-btn-enhanced.loading {
    background: #6c757d;
    cursor: not-allowed;
    transform: none;
}

.download-btn-enhanced.loading i {
    animation: spin 1s linear infinite;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* ============================================ */
/* MOBILE RESPONSIVE DOWNLOADS PAGE */
/* ============================================ */

/* Downloads page specific mobile improvements */
.downloads-container {
    width: 100%;
    max-width: 100%;
}

.downloads-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* Enhanced downloads header for mobile */
.downloads-header {
    margin-bottom: 1.5rem;
}

.downloads-header .card {
    border: none;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    border-radius: 12px;
    background: linear-gradient(135deg, #f8f9fa, #e9ecef);
}

.dark-mode .downloads-header .card {
    background: linear-gradient(135deg, #1a1a1a, #2d3748);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

/* Enhanced empty state */
.empty-state-responsive {
    padding: 2rem 1rem;
}

.empty-state-responsive .card {
    border: none;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
    border-radius: 16px;
    background: linear-gradient(135deg, #ffffff, #f8f9fa);
    min-height: 400px;
    display: flex;
    align-items: center;
}

.dark-mode .empty-state-responsive .card {
    background: linear-gradient(135deg, #1a1a1a, #2d3748);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
}

.empty-state-icon {
    margin-bottom: 2rem;
}


/* Mobile-first approach for downloads page */
@media (max-width: 1024px) {
    /* Downloads page wrapper adjustments */
    .profile-wrapper.container.downloads {
        padding: 0 15px;
    }
    
    /* Profile sidebar - make it full width on mobile */
    .profile-wrapper .col-12.col-lg-3.col-xl-2 {
        flex: 0 0 100%;
        max-width: 100%;
        order: 1;
        margin-bottom: 1rem;
    }
    
    /* Main content area - full width on mobile */
    .profile-wrapper .col-12.col-lg-9.col-xl-10 {
        flex: 0 0 100%;
        max-width: 100%;
        order: 2;
        padding: 0;
    }
    
    /* Profile content adjustments */
    .profile-content {
        padding: 0;
        border-radius: 15px;
    }
    
    /* Mobile tabs wrapper */
    .mobile-tabs-wrapper {
        margin-bottom: 1rem;
        background: #f8f9fa;
        border-radius: 12px;
        padding: 1rem;
    }
    
    .dark-mode .mobile-tabs-wrapper {
        background: #1a1a1a;
    }
}

@media (max-width: 768px) {
    /* Product item adjustments for mobile */
    .product-item-horizontal {
        margin-bottom: 1.5rem;
        border-radius: 12px;
        background: #fff;
        padding: 1rem;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    }
    
    .dark-mode .product-item-horizontal {
        background: #1a1a1a;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    }
    
    .product-item-horizontal .row {
        flex-direction: column;
    }
    
    .product-item-horizontal .col-12.col-sm-5.col-md-4.col-lg-3 {
        flex: 0 0 100%;
        max-width: 100%;
        margin-bottom: 1rem;
        text-align: center;
    }
    
    .product-item-horizontal .col-12.col-sm-7.col-md-8.col-lg-9 {
        flex: 0 0 100%;
        max-width: 100%;
    }
    
    /* Product title and user adjustments */
    .product-item-horizontal .product-title {
        font-size: 1.1rem;
        text-align: center;
        margin-bottom: 0.5rem;
    }
    
    .product-item-horizontal .product-user {
        text-align: center;
        margin-bottom: 1rem;
    }
    
    /* Action buttons - stack vertically on mobile */
    .product-item-horizontal .row-custom.d-flex.g-10 {
        flex-direction: column;
        gap: 0.75rem;
        align-items: center;
    }
    
    .product-item-horizontal .btn {
        width: 100%;
        max-width: 280px;
        padding: 0.75rem 1rem;
        font-size: 0.95rem;
        justify-content: center;
    }
    
    /* Modal adjustments for mobile */
    .download-modal-container {
        width: 98%;
        max-width: none;
        margin: 1vh auto;
        max-height: 95vh;
        border-radius: 12px;
    }
    
    .modal-header-responsive {
        padding: 1rem 1.25rem;
        border-bottom: 1px solid #e5e5e5;
        flex-wrap: wrap;
    }
    
    .modal-title-responsive {
        font-size: 1.1rem;
        line-height: 1.3;
        margin-right: 1rem;
        flex: 1;
        min-width: 0;
    }
    
    .close-btn-responsive {
        width: 36px;
        height: 36px;
        font-size: 20px;
        flex-shrink: 0;
    }
    
    .modal-content-responsive {
        padding: 1rem 1.25rem;
    }
    
    /* Search and sort section mobile */
    .search-sort-section-enhanced {
        padding: 1rem;
        margin-bottom: 1rem;
    }
    
    .search-sort-section-enhanced .row {
        flex-direction: column;
        gap: 1rem;
    }
    
    .search-sort-section-enhanced .col-md-8,
    .search-sort-section-enhanced .col-md-4 {
        flex: 0 0 100%;
        max-width: 100%;
    }
    
    /* File statistics mobile */
    .file-stats-enhanced {
        padding: 0.75rem;
        margin-bottom: 1rem;
    }
    
    .file-stats-enhanced .row {
        flex-direction: column;
        gap: 0.5rem;
    }
    
    .file-stats-enhanced .col-auto {
        flex: 0 0 100%;
        max-width: 100%;
        text-align: center;
    }
    
    .stat-badge {
        font-size: 0.8rem;
        padding: 0.3rem 0.6rem;
    }
    
    /* Download all section mobile */
    .download-all-section-enhanced {
        padding: 1rem;
        margin-bottom: 1.5rem;
    }
    
    .download-all-btn-enhanced {
        padding: 0.75rem 1rem;
        font-size: 0.9rem;
        flex-direction: column;
        gap: 0.5rem;
    }
    
    /* File items mobile */
    .file-item-enhanced {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
        padding: 1rem;
        text-align: center;
    }
    
    .file-item-enhanced .download-btn-enhanced {
        width: 100%;
        margin-top: 0.5rem;
    }
    
    .file-icon-enhanced {
        margin: 0 auto 0.5rem;
    }
    
    .file-info-enhanced {
        width: 100%;
        margin: 0;
        text-align: center;
    }
    
    .file-meta-enhanced {
        justify-content: center;
        gap: 0.5rem;
        flex-wrap: wrap;
    }
    
    /* Files list mobile */
    .files-list-enhanced {
        max-height: 300px;
    }
    
    /* Section title mobile */
    .section-title-enhanced {
        padding: 0.75rem 1rem;
        font-size: 0.95rem;
        flex-direction: column;
        text-align: center;
        gap: 0.25rem;
    }
}

@media (max-width: 576px) {
    /* Extra small screens */
    .product-item-horizontal {
        margin: 0 0 1rem 0;
        padding: 0.75rem;
    }
    
    .download-modal-container {
        width: 100%;
        margin: 0;
        border-radius: 0;
        height: 100vh;
        max-height: 100vh;
    }
    
    .modal-header-responsive {
        padding: 0.75rem 1rem;
    }
    
    .modal-title-responsive {
        font-size: 1rem;
    }
    
    .close-btn-responsive {
        width: 32px;
        height: 32px;
        font-size: 18px;
    }
    
    .modal-content-responsive {
        padding: 0.75rem 1rem;
    }
    
    .search-sort-section-enhanced {
        padding: 0.75rem;
    }
    
    .file-item-enhanced {
        padding: 0.75rem;
    }
    
    .file-icon-enhanced {
        width: 40px;
        height: 40px;
        font-size: 0.6rem;
    }
    
    .file-name-enhanced {
        font-size: 0.9rem;
    }
    
    .file-meta-enhanced span {
        font-size: 0.8rem;
    }
    
    .download-btn-enhanced {
        padding: 0.6rem 1rem;
        font-size: 0.85rem;
    }
}

/* ============================================ */
/* DARK MODE ENHANCEMENTS */
/* ============================================ */

body.dark-mode .download-files-btn-enhanced {
    background: #0d6efd;
    border-color: #0d6efd;
}

body.dark-mode .btn-license-enhanced {
    background: #f8f9fa;
    color: #333;
}

body.dark-mode .btn-invoice-enhanced {
    background: #f8f9fa;
    color: #333;
}

body.dark-mode .file-extension-enhanced {
    background: #66b3ff;
    color: #000;
}

body.dark-mode .file-size-enhanced {
    background: #20c997;
    color: #000;
}

body.dark-mode .search-results-summary-enhanced {
    background: #0dcaf0;
    color: #000;
}

/* ============================================ */
/* PAGINATION MOBILE RESPONSIVE */
/* ============================================ */

@media (max-width: 768px) {
    .product-list-pagination {
        text-align: center;
        margin-top: 2rem;
        padding: 1rem 0;
    }
    
    .pagination {
        justify-content: center;
        flex-wrap: wrap;
        gap: 0.25rem;
    }
    
    .pagination .page-item {
        margin: 0.125rem;
    }
    
    .pagination .page-link {
        padding: 0.5rem 0.75rem;
        font-size: 0.875rem;
        border-radius: 6px;
    }
}

/* ============================================ */
/* ACCESSIBILITY IMPROVEMENTS */
/* ============================================ */

/* Focus states for mobile */
@media (max-width: 768px) {
    .download-files-btn-enhanced:focus,
    .btn-license-enhanced:focus,
    .btn-invoice-enhanced:focus,
    .download-btn-enhanced:focus,
    .download-all-btn-enhanced:focus {
        outline: 2px solid #007bff;
        outline-offset: 2px;
    }
    
    .search-input-enhanced:focus {
        outline: 2px solid #007bff;
        outline-offset: 2px;
    }
}

/* Touch targets for mobile */
@media (max-width: 768px) {
    .close-btn-responsive,
    .search-clear-enhanced,
    .download-btn-enhanced,
    .download-all-btn-enhanced {
        min-height: 44px;
        min-width: 44px;
    }
}

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
    .file-item-enhanced,
    .download-btn-enhanced,
    .download-all-btn-enhanced,
    .modal-responsive,
    .modal-container {
        transition: none;
        animation: none;
    }
    
    .file-item-enhanced:hover {
        transform: none;
    }
    
    .download-btn-enhanced:hover,
    .download-all-btn-enhanced:hover {
        transform: none;
    }
}

/* ============================================ */
/* PRINT STYLES */
/* ============================================ */

@media print {
    .modal-responsive,
    .modal-backdrop,
    .download-btn-enhanced,
    .download-all-btn-enhanced,
    .search-sort-section-enhanced,
    .zip-progress-container {
        display: none !important;
    }
    
    .product-item-horizontal {
        break-inside: avoid;
        margin-bottom: 1rem;
        border: 1px solid #ddd;
        border-radius: 0;
    }
}

/* ============================================ */
/* HIGH CONTRAST MODE */
/* ============================================ */

@media (prefers-contrast: high) {
    .file-icon-enhanced {
        border: 2px solid #000;
    }
    
    .download-btn-enhanced,
    .download-all-btn-enhanced {
        border: 2px solid #000;
    }
    
    .file-item-enhanced {
        border: 1px solid #000;
    }
}

/* ============================================ */
/* RTL SUPPORT */
/* ============================================ */


[dir="rtl"] .file-icon-enhanced {
    margin-right: 0;
    margin-left: 1rem;
}

[dir="rtl"] .search-clear-enhanced {
    right: auto;
    left: 10px;
}
/* ============================================ */
/* FIXED: Download Page Button Icon Spacing */
/* ============================================ */

/* Download Files Button - Enhanced spacing */
.download-files-btn-enhanced {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem; /* Consistent spacing between icon and text */
    white-space: nowrap;
}

.download-files-btn-enhanced i {
    margin-right: 0.5rem !important; /* Force proper spacing */
    margin-left: 0 !important;
    font-size: 1rem;
    line-height: 1;
    display: inline-block;
}

/* License Button - Enhanced spacing */
.btn-license-enhanced {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem; /* Consistent spacing between icon and text */
    white-space: nowrap;
}

.btn-license-enhanced i {
    margin-right: 0.5rem !important; /* Force proper spacing */
    margin-left: 0 !important;
    font-size: 1rem;
    line-height: 1;
    display: inline-block;
}

/* Invoice Button - Enhanced spacing */
.btn-invoice-enhanced {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem; /* Consistent spacing between icon and text */
    white-space: nowrap;
    text-decoration: none;
}

.btn-invoice-enhanced i {
    margin-right: 0.5rem !important; /* Force proper spacing */
    margin-left: 0 !important;
    font-size: 1rem;
    line-height: 1;
    display: inline-block;
}

/* Ensure Bootstrap Icons display properly */
.bi {
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Fix for any conflicting Bootstrap margin classes */
.download-files-btn-enhanced .bi,
.btn-license-enhanced .bi,
.btn-invoice-enhanced .bi {
    margin-right: 0.5rem !important;
    margin-left: 0 !important;
}

/* Remove conflicting me-2 class styles if they exist */
.download-files-btn-enhanced .me-2,
.btn-license-enhanced .me-2,
.btn-invoice-enhanced .me-2 {
    margin-right: 0.5rem !important;
}

/* Dark mode compatibility */
body.dark-mode .download-files-btn-enhanced {
    background: #0d6efd !important;
    color: white !important;
}

body.dark-mode .btn-license-enhanced,
body.dark-mode .btn-invoice-enhanced {
    background: #f8f9fa !important;
    color: #333 !important;
}

/* Mobile responsive adjustments */
@media (max-width: 768px) {
    .download-files-btn-enhanced,
    .btn-license-enhanced,
    .btn-invoice-enhanced {
        width: 100%;
        justify-content: center;
        padding: 0.75rem 1rem;
        margin-bottom: 0.5rem;
    }
    
    .download-files-btn-enhanced i,
    .btn-license-enhanced i,
    .btn-invoice-enhanced i {
        margin-right: 0.4rem !important;
        font-size: 0.9rem;
    }
}

/* Ensure proper button container spacing */
.row-custom.d-flex.g-10 {
    gap: 0.75rem !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
}

@media (max-width: 768px) {
    .row-custom.d-flex.g-10 {
        flex-direction: column;
        align-items: stretch;
        gap: 0.5rem !important;
    }
}

.image-placeholder-icon {
    font-size: 2rem;
    opacity: 0.75;
}

@keyframes placeholder-pulse {
    0%, 100% { transform: scale(0.98); opacity: 0.65; }
    50% { transform: scale(1.03); opacity: 1; }
}


body.dark-mode .image-placeholder-bg.is-fallback {
    background: linear-gradient(135deg, rgba(40, 40, 40, 1) 0%, rgba(52, 58, 64, 1) 100%);
    color: rgba(222, 226, 230, 0.75);
}

body.dark-mode .image-placeholder-bg .image-placeholder-icon {
    opacity: 0.6;
}

/* --- Responsive fixes for seller box + related products --- */
@media (max-width: 767px) {
    .profile-details-product-page {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 16px;
    }

    .profile-details-product-page .left-product-page {
        margin-right: 0;
    }

    .profile-details-product-page .right {
        width: 100%;
    }

    .profile-details-product-page .row-custom {
        flex-direction: column;
        align-items: center;
    }

    .profile-details-product-page .row-custom > div:last-child {
        width: 100%;
    }

    .profile-details-product-page button {
        width: 100%;
        margin-left: 0 !important;
    }
}

@media (max-width: 575px) {
    .section-related-products .row-product .col-product {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .section-related-products .title,
    .section-related-products .link-see-more {
        text-align: center;
        justify-content: center;
    }
}

@media (max-width: 430px) {
    .section-related-products .row-product .col-product {
        flex: 0 0 100%;
        max-width: 100%;
    }
}
/* ============================================ */
/* MOVED FROM INLINE STYLES */
/* ============================================ */

/* === Product Item Styles === */
.img-product-container {
    position: relative;
    width: 100%;
    padding-top: 66.66%;
    overflow: hidden;
}

.product-image-link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.badge-discount {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 2;
}

.product-title-link {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-weight: 600;
    line-height: 1.3;
}

.product-user-text {
    color: #888;
}

/* === Slider Navigation Buttons === */
.slider-nav-icon {
    width: 20px;
    height: 20px;
}

/* === Category Navigation Styles === */
.category-link-unstyled {
    text-decoration: none;
    color: inherit;
}

.category-nav-item {
    background: none;
    cursor: pointer;
}

.category-nav-text {
    color: #222;
}

/* === Index Page Specific === */
.home-latest-link {
    color: #222;
}

/* === Products Page Styles === */
.col-content-products {
    width: 100%;
}

/* === Profile/User Styles === */
.profile-img-header {
    width: 36px !important;
    height: 36px !important;
}

/* === Header Navigation Styles === */
.nav-item-bold {
    font-weight: bold;
}

/* === Cart Icon Styles === */
.cart-badge-position {
    top: -4px;
    right: -4px;
}

/* === Logo Styles === */
.logo-main {
    transition: none;
}

/* === Mobile Menu Logo === */
.mobile-logo-style {
    height: 36px;
}

.mobile-menu-logo-style {
    height: 32px;
}

/* === Dark Mode Icon Styles === */
.dark-mode-icon-size {
    font-size: 1.5rem;
}

/* === Message Badge === */
.message-notification-badge {
    width: 0.7rem;
    height: 0.7rem;
    margin-top: 0.4rem;
}

/* === Profile Dropdown === */
.profile-dropdown-message-badge {
    position: relative;
    left: 20px;
}

/* === Modal Specific Styles === */
.spin-animation {
    animation: spin 1s linear infinite;
}

/* === Special Offers Slider - Moved from inline === */
.special-offers-slider-container {
    position: relative;
    overflow: hidden;
    width: 100%;
}

.special-offers-slider-wrapper {
    overflow: hidden;
    width: 100%;
}

.special-offers-slider {
    display: flex;
    transition: transform 0.5s ease;
}

.special-offers-nav-btn {
    position: absolute;
    top: 36%;
    transform: translateY(-50%);
    background-color: rgba(0, 0, 0, 0.5);
    color: #fff;
    border: none;
    padding: 10px;
    cursor: pointer;
    z-index: 1;
}

.special-offers-nav-prev {
    left: 10px;
}

.special-offers-nav-next {
    right: 20px;
}

/* === Header Embedded Styles - Moved === */

/* Sticky Order Summary */
@media (min-width: 992px) {
    .sticky-summary {
        position: sticky !important;
        top: 20px !important;
        height: fit-content !important;
        max-height: calc(100vh - 40px) !important;
        overflow-y: auto !important;
        z-index: 10 !important;
    }
}

/* Payment Form Enhancements */
.payment-form-loading {
    opacity: 0.8;
    transition: opacity 0.3s ease;
}

.success-animation {
    animation: successPulse 0.6s ease-out;
}

@keyframes successPulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.05); }
    100% { transform: scale(1); }
}

/* Navigation Divider */
.nav-divider {
    width: 1px;
    height: 20px;
    background-color: #dee2e6;
    margin: 0 8px;
}

.dark-mode .nav-divider {
    background-color: #495057;
}

/* Cart Icon */
.cart-icon-img {
    width: 26px;
    height: 26px;
}

/* Email Confirmation Hide Divider */
#email_confirmation_ui .divider {
    display: none;
}

/* Modal Container Width Fix */
@media (max-width: 480px) {
    .modal-container.mw-420px {
        max-width: 95vw;
        margin: 1rem;
    }
    
    .email-confirmation-container {
        padding: 1rem;
    }
    
    .additional-actions {
        flex-direction: column;
        gap: 0.5rem;
    }
}

/* Auth Form Transitions */
.auth-form {
    transition: opacity 0.3s ease;
}

/* Loading Button States */
.btn-loading .btn-text {
    opacity: 0;
    transition: opacity 0.2s ease;
}

.btn-loading .btn-spinner {
    display: inline-block !important;
}

/* === Email Confirmation Styles === */
.email-confirmation-container {
    padding: 2rem 1.5rem;
    text-align: center;
}

.email-confirmation-content {
    max-width: 400px;
    margin: 0 auto;
}

.email-icon-container {
    margin-bottom: 2rem;
}

.email-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
    background: #007bff;
    border-radius: 50%;
    margin-bottom: 1rem;
}

.dark-mode .email-icon {
    background: #0d6efd;
}

.email-icon i {
    font-size: 2rem;
    color: white;
}

.confirmation-title {
    font-size: 1.75rem;
    font-weight: 600;
    color: #212529;
    margin-bottom: 1rem;
}

.dark-mode .confirmation-title {
    color: #ffffff;
}

.confirmation-message {
    font-size: 1rem;
    color: #6c757d;
    margin-bottom: 2rem;
    line-height: 1.5;
}

.dark-mode .confirmation-message {
    color: #adb5bd;
}

.confirmation-message strong {
    color: #007bff;
    font-weight: 600;
    display: block;
    margin-top: 0.5rem;
    word-break: break-all;
}

.dark-mode .confirmation-message strong {
    color: #66b3ff;
}

.confirmation-instructions {
    margin-bottom: 2rem;
    text-align: left;
}

.instruction-item {
    display: flex;
    align-items: center;
    margin-bottom: 0.75rem;
    padding: 0.75rem;
    background: #f8f9fa;
    border-radius: 8px;
    border-left: 3px solid #007bff;
}

.dark-mode .instruction-item {
    background: #2c3034;
    border-left-color: #0d6efd;
}

.instruction-item i {
    font-size: 1.25rem;
    color: #007bff;
    margin-right: 0.75rem;
    min-width: 24px;
}

.dark-mode .instruction-item i {
    color: #66b3ff;
}

.instruction-item span {
    font-weight: 500;
    color: #495057;
}

.dark-mode .instruction-item span {
    color: #e9ecef;
}

/* Resend Section */
.resend-section {
    margin: 2rem 0;
    padding: 1.5rem;
    background: #fff3cd;
    border: 1px solid #ffeaa7;
    border-radius: 8px;
}

.dark-mode .resend-section {
    background: rgba(255, 193, 7, 0.1);
    border-color: rgba(255, 193, 7, 0.2);
}

.resend-text {
    margin-bottom: 1rem;
    color: #6c757d;
    font-weight: 500;
}

.dark-mode .resend-text {
    color: #adb5bd;
}

.btn-resend {
    background: #ffc107;
    color: #212529;
    border: none;
    padding: 0.75rem 1.5rem;
    border-radius: 6px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.btn-resend:hover {
    background: #e0a800;
    transform: translateY(-1px);
}

.btn-resend:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
}

.btn-resend:focus {
    outline: 2px solid rgba(255, 193, 7, 0.5);
    outline-offset: 2px;
}

.resend-countdown {
    margin-top: 1rem;
    padding: 0.5rem;
    background: rgba(108, 117, 125, 0.1);
    border-radius: 6px;
    color: #6c757d;
    font-weight: 500;
    font-size: 0.9rem;
}

.dark-mode .resend-countdown {
    background: rgba(173, 181, 189, 0.1);
    color: #adb5bd;
}

/* Additional Actions */
.additional-actions {
    display: flex;
    justify-content: center;
    gap: 1rem;
    margin-top: 2rem;
    flex-wrap: wrap;
}

.btn-link-action {
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    color: #6c757d;
    padding: 0.5rem 1rem;
    border-radius: 6px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9rem;
}

.dark-mode .btn-link-action {
    background: #2c3034;
    border-color: #495057;
    color: #adb5bd;
}

.btn-link-action:hover {
    border-color: #007bff;
    color: #007bff;
    background: #f0f8ff;
}

.dark-mode .btn-link-action:hover {
    border-color: #66b3ff;
    color: #66b3ff;
    background: rgba(102, 179, 255, 0.1);
}

.btn-link-action:focus {
    outline: 2px solid rgba(0, 123, 255, 0.3);
    outline-offset: 2px;
}

.btn-link-action i {
    font-size: 1rem;
}

/* Success Message */
.success-message {
    padding: 1rem;
    background: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
    border-radius: 6px;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.dark-mode .success-message {
    background: rgba(40, 167, 69, 0.2);
    color: #9fdf9f;
    border-color: rgba(40, 167, 69, 0.3);
}

.success-message i {
    font-size: 1.25rem;
}

/* Guest Checkout Option */
.guest-checkout-option {
    border-top: 1px solid #e9ecef;
    padding-top: 1rem;
    margin-top: 1rem;
}

.guest-checkout-option .divider {
    position: relative;
    text-align: center;
    margin: 1rem 0;
}

.guest-checkout-option .divider::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 1px;
    background: #dee2e6;
}

.guest-checkout-option .divider span {
    background: white;
    padding: 0 1rem;
    color: #6c757d;
    font-size: 0.9rem;
    position: relative;
}

.guest-checkout-option .btn-outline-success {
    border-color: #28a745;
    color: #28a745;
    transition: all 0.2s ease;
}

.guest-checkout-option .btn-outline-success:hover {
    background-color: #28a745;
    border-color: #28a745;
    color: white;
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(40, 167, 69, 0.2);
}

.guest-checkout-option .btn-outline-success:focus {
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}

.guest-checkout-option .btn-outline-success i {
    font-size: 1.1rem;
}

.dark-mode .guest-checkout-option {
    border-top-color: #495057;
}

.dark-mode .guest-checkout-option .divider span {
    background: #2d3436;
    color: #adb5bd;
}

.dark-mode .guest-checkout-option .btn-outline-success {
    border-color: #20c997;
    color: #20c997;
}

.dark-mode .guest-checkout-option .btn-outline-success:hover {
    background-color: #20c997;
    border-color: #20c997;
    color: #212529;
}

@media (max-width: 576px) {
    .guest-checkout-option {
        margin-top: 1.5rem;
        padding-top: 1.5rem;
    }
    
    .guest-checkout-option .btn-outline-success {
        padding: 0.75rem 1rem;
        font-size: 0.95rem;
    }
    
    .guest-checkout-option p {
        font-size: 0.8rem !important;
    }
    
    .email-confirmation-container {
        padding: 1.5rem 1rem;
    }
    
    .confirmation-title {
        font-size: 1.5rem;
    }
    
    .email-icon {
        width: 70px;
        height: 70px;
    }
    
    .email-icon i {
        font-size: 1.75rem;
    }
    
    .instruction-item {
        padding: 0.5rem;
        font-size: 0.9rem;
    }
    
    .additional-actions {
        flex-direction: column;
        gap: 0.5rem;
    }
    
    .btn-link-action {
        width: 100%;
        justify-content: center;
    }
}

@keyframes guestButtonPulse {
    0% {
        box-shadow: 0 0 0 0 rgba(40, 167, 69, 0.7);
    }
    70% {
        box-shadow: 0 0 0 10px rgba(40, 167, 69, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(40, 167, 69, 0);
    }
}

.guest-checkout-option .btn-outline-success:focus {
    animation: guestButtonPulse 2s infinite;
}

/* Fix for slider item width calculation */
.slider-track {
    display: flex;
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    will-change: transform;
}

.slider-item {
    flex: 0 0 auto;
    box-sizing: border-box;
}

/* Ensure proper width at each breakpoint */
@media (max-width: 575px) {
    .slider-item {
        width: 100% !important;
        flex: 0 0 100% !important;
        padding: 0 !important;
    }
}

@media (min-width: 576px) and (max-width: 767px) {
    .slider-item {
        width: 50% !important;
        flex: 0 0 50% !important;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    .slider-item {
        width: 33.333% !important;
        flex: 0 0 33.333% !important;
    }
}

@media (min-width: 992px) {
    .slider-item {
        width: 25% !important;
        flex: 0 0 25% !important;
    }
}
/* Slider Navigation Buttons - FIXED */
.slider-nav {
position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  background: rgba(0, 0, 0, 0.5);
}

.slider-nav:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    transform: translateY(-50%) scale(1.05);
}

.slider-nav.prev {
    left: 10px;
}

.slider-nav.next {
    right: 10px;
}

.slider-nav-icon {
    width: 20px;
    height: 20px;
    object-fit: contain;
}

/* Dark mode slider nav */
body.dark-mode .slider-nav {
    background: rgba(30, 30, 30, 0.9);
    border-color: #444;
}

body.dark-mode .slider-nav:hover {
    background: #333;
}

/* Special Offers Slider - FIXED SPACING */
.modern-slider {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.slider-container {
    position: relative;
    overflow: hidden;
}

.slider-track {
    display: flex;
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    will-change: transform;
}

.slider-item {
    flex: 0 0 auto;
    box-sizing: border-box;
    padding: .5rem; /* ADD SPACING HERE */
}


/* Ensure product items inside slider have proper spacing */
.slider-item .product-item {
    margin: 0;
    height: 100%;
}

/* Remove default margins from product items in slider */
.slider-item .col-product {
    padding: 0;
    margin: 0;
}

/* Wrapper approach for precise image-centered navigation */
.slider-nav-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    /* Height should match your image container height */
    /* For 3:2 aspect ratio images, this would be ~66% of the slider item height */
    height: 66%; /* Adjust based on your actual image aspect ratio */
    pointer-events: none;
}

.slider-nav-wrapper .slider-nav {
    pointer-events: auto;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.slider-nav-wrapper .slider-nav.prev {
    left: 10px;
}

.slider-nav-wrapper .slider-nav.next {
    right: 10px;
}
/* ============================================ */
/* LOGO VISIBILITY - Prevents Flash on Load    */
/* ============================================ */

/* Default state: Light mode logos visible, dark mode logos hidden */
.light-mode-logo {
    display: inline !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.dark-mode-logo {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* Dark mode state: Reverse the visibility */
html.dark-mode .light-mode-logo,
body.dark-mode .light-mode-logo {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

html.dark-mode .dark-mode-logo,
body.dark-mode .dark-mode-logo {
    display: inline !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Ensure no transition flash during initial load */
.preload .light-mode-logo,
.preload .dark-mode-logo {
    transition: none !important;
}

/* After load, allow smooth transitions if needed */
.loaded .light-mode-logo,
.loaded .dark-mode-logo {
    transition: opacity 0.15s ease;
}
/* ============================================ */
/* MOBILE PRODUCT DESCRIPTION & TABS FIX       */
/* ============================================ */

/* Mobile-friendly tabs for product page */
@media (max-width: 767.98px) {
    /* Tab navigation - horizontal scroll on mobile */
    .product-description .nav-tabs-horizontal {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
        padding: 0.75rem !important;
    }
    
    .product-description .nav-tabs-horizontal::-webkit-scrollbar {
        display: none;
    }
    
    .product-description .nav-tabs-horizontal .nav-item {
        flex: 0 0 auto;
        white-space: nowrap;
    }
    
    .product-description .nav-tabs-horizontal .nav-link {
        padding: 0.5rem 1rem;
        font-size: 0.9rem;
        border-radius: 20px;
        margin-right: 0.5rem;
    }
    
    /* Description card adjustments */
    .description .card-header {
        padding: 1rem !important;
    }
    
    .description .card-header h3 {
        font-size: 1.25rem;
    }
    
    .description .card-body {
        padding: 1rem !important;
        font-size: 0.95rem;
        line-height: 1.6;
    }
    
    /* Comments section mobile adjustments */
    .comments-container {
        padding: 0.5rem;
    }
    
    .col-comments-inner {
        padding: 0 !important;
    }
    
    .col-comments-inner .row {
        margin: 0;
    }
    
    .col-comments-inner .col-12 {
        padding: 0.5rem;
    }
    
    /* Comment form adjustments */
    .form-group .form-textarea {
        min-height: 100px;
        font-size: 16px; /* Prevents zoom on iOS */
    }
    
    /* Tab content padding */
    .tab-content .tab-pane {
        padding: 1rem !important;
    }
    
    /* Card headers in tabs */
    .tab-content .card-header {
        padding: 0.75rem 1rem;
    }
    
    .tab-content .card-header .card-link {
        font-size: 0.95rem;
    }
    
    /* Report button mobile */
    .report-product {
        text-align: center;
        margin-bottom: 2rem;
    }
    
    .report-product .btn {
        width: 100%;
        max-width: 300px;
    }
    
    /* Reviews container mobile */
    .reviews-container {
        padding: 0.5rem;
    }
    
    .reviews-container .no-comments-found {
        padding: 2rem 1rem;
        font-size: 0.95rem;
    }
    
    /* Accordion content */
    .collapse-description-content {
        padding: 0.5rem;
    }
    
    /* Comment avatar smaller on mobile */
    .img-profile-comment {
        width: 32px !important;
        height: 32px !important;
    }
    
    /* Comment row adjustments */
    #form_add_comment .row {
        flex-wrap: nowrap;
    }
    
    #form_add_comment .col-auto {
        padding-right: 0.5rem;
    }
    
    #form_add_comment .col {
        padding-left: 0;
    }
}

/* Very small screens */
@media (max-width: 480px) {
    .product-description .nav-tabs-horizontal .nav-link {
        padding: 0.4rem 0.75rem;
        font-size: 0.85rem;
    }
    
    .description .card-header h3 {
        font-size: 1.1rem;
    }
    
    .description .card-body {
        font-size: 0.9rem;
    }
}

/* Ensure proper ordering on mobile */
@media (max-width: 767.98px) {
    .product-details-container .row {
        display: flex;
        flex-direction: column;
    }
    
    /* Product details second */
    .product-content-details {
        order: 2;
    }
    
    /* Description and tabs third */
    .col-12.col-md-8.order-3 {
        order: 3;
        margin-top: 1rem;
    }
}
