/* =========================================================
   main.css migration (batch 2): header + variation deltas
   ========================================================= */

/* Product variation swatch border tuning used by current theme. */
.product--rendered-attribute label.option .color_field__swatch {
  border: 1px solid #000;
}

.product--rendered-attribute__selected ~ label.option .color_field__swatch {
  border: 1px solid var(--nm-gray-800);
  border-radius: 4px !important;
}


/* Keep NuMart behavior if Belgrade defaults reappear. */
.region-footer {
  margin-top: 0;
}

.accordion .accordion {
  background-color: var(--nm-gray-100);
}

/* =========================================================
   main.css migration (batch 4): header + variation parity
   Based on provided header/product-variation DOM structure.
   ========================================================= */

/* Keep top bar above content layers like Belgrade baseline. */
.region-top-bar {
  z-index: 1046;
}

/* Match Belgrade attribute wrapper structure for product variations. */
.attribute-widgets {
  --beo-gutter-x: 1.5rem;
  --beo-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--beo-gutter-y));
  margin-right: calc(-0.5 * var(--beo-gutter-x));
  margin-left: calc(-0.5 * var(--beo-gutter-x));
}

.attribute-widgets > .form-item,
.attribute-widgets > fieldset {
  flex-shrink: 0;
  width: auto;
  max-width: 100%;
  padding-right: calc(var(--beo-gutter-x) * 0.5);
  padding-left: calc(var(--beo-gutter-x) * 0.5);
  margin-top: var(--beo-gutter-y);
  flex: 0 0 auto;
}

.attribute-widgets > .form-item .fieldset-legend,
.attribute-widgets > .form-item > label {
  font-weight: normal;
  line-height: 1.2;
}

html {
  scroll-behavior: smooth;
}

/* ==========================================================================
   AOS DISABLED - Override all AOS styles to ensure elements are always visible
   AOS was causing intermittent visibility issues due to race conditions.
   ========================================================================== */
[data-aos] {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

/* header {
  min-height: 84px;
  max-height: 84px;

} */


.py-5 {
  padding-top: 1rem !important;
  padding-bottom: 0rem !important;
}

.bg-dark {
  background-color: black;
}

.mt-lg-4 {
  margin-top: 0 !important;
}


.block-commerce-cart{
  margin-left: 2rem !important;
}


#block-numart-light-branding{
  margin-right: 20px;
}
.block-wishlist-block,
.menu--account,
#search-icon,
.block-unprocessed-orders-count {
  margin-left: 1rem !important;
}

#search-icon,
.menu--account{
  margin-bottom: 5px;
}

.menu--lry-ysy {
  margin: 0 auto;
}

.me-2 {
  margin-right: 0 !important;
}

.fw-light {
  margin-left: auto;
  /* Pushes the element to the far right */
}

.view-site-categories-view .view-content {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  /* 4 equal columns */
  grid-template-rows: repeat(2, 1fr);
  /* 2 equal rows */
  gap: 10px;
  /* Space between grid items */
  height: 70vh;
  margin: auto;
  margin-top: 2rem;
  margin-bottom: 2rem;
  box-sizing: border-box;
  overflow: hidden;
  /* Ensures content stays within the boundaries */
}

/* Style each grid item */
.grid-item,
.views-field-category-image {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

/* Ensure images fill their grid cells */
.field-content img {
  width: 100%;
  /* Fill the container width */
  height: 100%;
  /* Fill the container height */
  object-fit: cover;
  /* Crop the image while maintaining aspect ratio */
  display: block;
  /* Remove inline spacing */
  image-rendering: auto;
  /* Smooth rendering */
  transition: transform 1s ease, box-shadow 0.3s ease;
  /* Smooth scaling and shadow on hover */
}

/* Specific grid item placements */
.grid-item:first-child {
  grid-column: span 2;
  /* Spans the first two columns */
  grid-row: span 2;
  /* Spans the first two rows */
}

.grid-item:nth-child(2) {
  grid-column: 3 / 4;
  /* Third column */
  grid-row: 1 / 2;
  /* First row */
}

.grid-item:nth-child(3) {
  grid-column: 4 / 5;
  /* Fourth column */
  grid-row: 1 / 2;
  /* First row */
}

.grid-item:nth-child(4) {
  grid-column: 3 / 5;
  /* Spans the third and fourth columns */
  grid-row: 2 / 3;
  /* Spans the second row */
}


/* Container styling */
.field-content {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: visible;
  /* Allow the image to "pop out" beyond the container */
  transition: transform 1s ease, box-shadow 0.3s ease;
  /* Smooth animation */
  text-align: center;
}

.grid-item {
  position: relative;
  /* Establish positioning context for pseudo-elements */
  display: inline-block;
  /* Ensure proper layout */
  overflow: hidden;
  /* Prevent the border and overlay from overflowing */
}

.grid-item img {
  display: block;
  /* Ensure the image behaves like a block element */
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  /* Smooth transitions for image effects */
}

.grid-item:hover img {
  transform: scale(1.15) translateY(-10px);
  /* Scale the image and move it slightly upward */
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3);
  /* Add a shadow for depth */
  z-index: 10;
  /* Ensure the image appears above other content */
}

/* Add the animated border using ::before */
.grid-item::before {
  content: '';
  /* Required for pseudo-elements */
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 2px solid transparent;
  /* Start with a transparent border */
  box-sizing: border-box;
  /* Include the border in the dimensions */
  z-index: 9;
  /* Ensure it sits below the image */
  pointer-events: none;
  /* Prevent pointer interaction with the pseudo-element */
  transition: border-color 0.3s ease, border-width 0.3s ease;
  /* Smooth transition for hover out */
}

.grid-item:hover::before {
  border-color: rgb(0, 0, 0);
  /* Change border color to rgb(65, 68, 159) on hover */
}


.view-new-arrivals-products .swiper-pagination-bullets-dynamic {
  bottom: var(--swiper-pagination-bottom, 0px) !important;
}

/* Make sure the swiper-slide is the positioning context */
.view-highlighted-products .swiper-slide {
  position: relative;
  /* Enable positioning for child elements */
  width: 320px !important;

  /* Ensure the slide takes the full width */
  /* Set a fixed height for the slide or adapt dynamically */
  overflow: hidden;
  /* Prevent overflowing elements */
  border-radius: 0 !important;
  /* Remove rounded corners from slide */
}

/* Remove rounded corners from all elements in highlighted products */
.view-highlighted-products .swiper-slide article,
.highlighted-products-swiper .swiper-slide article,
#swiper-highlighted-products-block-1 .swiper-slide article,
.view-highlighted-products .swiper-slide .images,
.highlighted-products-swiper .swiper-slide .images,
#swiper-highlighted-products-block-1 .swiper-slide .images,
.view-highlighted-products .swiper-slide .images a,
.highlighted-products-swiper .swiper-slide .images a,
#swiper-highlighted-products-block-1 .swiper-slide .images a {
  border-radius: 0 !important;
  /* Remove rounded corners */
}

/* Fix gap between images div and anchor element */
.views-view-responsive-grid__item .images {
  line-height: 0;
  font-size: 0;
}

.views-view-responsive-grid__item .images a {
  display: block !important;
}

/* Keyframes for moving the title from the top to its position */
@keyframes moveDown {
  0% {
    top: 0;
    /* Start at the top */
    transform: translate(-50%, 0);
    /* Horizontal center, top position */
    opacity: 0;
    /* Start invisible */
  }

  100% {
    top: 80%;
    /* Final position */
    transform: translate(-50%, -50%);
    /* Fully centered at the final position */
    opacity: 1;
    /* Fade in */
  }
}

/* Keyframes for blinking between white and gray */
@keyframes blink {
  0% {
    color: white;
    /* Start with white text */
  }

  100% {
    color: gray;
    /* Transition to gray text */
  }
}


/* Swiper pagination - exclude main gallery (has its own styles) */
.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet:not(.main-gallery-pagination .swiper-pagination-bullet),
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet:not(.main-gallery-pagination .swiper-pagination-bullet) {
  width: 20px;
  height: 20px;
}

.block-views-blockmain-categories-view-block-1,
.block-quicktabs-blocknew-arrivals-tab,
#block-numart-light-views-block-highlighted-products-block-1{
  margin-top: 3rem;
}


.block-views-blockmain-categories-view-block-1 h2,
.block-quicktabs-blocknew-arrivals-tab h2,
.view-highlighted-products h2 {
  font-size: 2rem;
  text-align: center !important;
}

.main-categories .view-header,
.block-quicktabs-blocknew-arrivals-tab .view-header,
.view-highlighted-products .view-header{
  text-align: center;

}

.view-highlighted-products .view-content {
  width: 90%;
  margin: auto;
  justify-content: space-between;
  align-items: center;
  margin-top: 0.5rem;
}

/* Swiper alignment - let content determine height */
.view-highlighted-products .swiper-wrapper,
#swiper-highlighted-products-block-1 .swiper-wrapper,
.recent-views-products-swiper .swiper-wrapper {
  align-items: stretch !important;
  gap:10px !important;
  justify-content: center !important;
  margin-left: auto;
  margin-right: auto;
}

.view-highlighted-products .swiper-slide,
#swiper-highlighted-products-block-1 .swiper-slide,
.recent-views-products-swiper .swiper-slide {
  height: auto !important;
}

.main-categories .view-content {
  width: 70%;
  margin: auto;
  justify-content: space-between;
  align-items: center;
  margin-top: 1rem;
}

.main-categories .view-content img {
  border-radius: 10px;
  /* Adds rounded corners to the images */
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  /* Smooth scaling and shadow animation */
  width: 100%;
  /* Ensures the image takes up the parent element's width */
  height: auto;
  /* Maintains the image's aspect ratio */
}

.main-categories .view-content img:hover {
  transform: scale(1.1);
  /* Scales the image slightly on hover */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  /* Adds a shadow to the image during hover */
}

.main-categories .views-row div {
  position: relative;
  /* Allows positioning of child elements like h2 and term-action */
  display: inline-block;
  /* Ensures the div wraps around the image */
  width: fit-content;
  /* Optional: Adjust based on your layout needs */
}

.category-image img {
  display: block;
  /* Ensures the image behaves like a block-level element */
  width: 100%;
  /* Adjust width to the parent container */
  height: auto;
  /* Maintain the aspect ratio of the image */
  border-radius: 10px;
  /* Optional: Adds rounded corners to the image */
}

.main-categories .views-row h2 {
  /* Aligns to the right edge */
  text-align: right !important;
  /* Centers the text horizontally */
  padding: 10px;
  /* Adds padding around the text */
  z-index: 100;
  top: 10%;
}


.main-categories a {
  color: var(--nm-text-secondary) !important;
}

.main-categories .views-row h2 {
  bottom: 50px;
  /* Positions the title 50px above the bottom of the image */
  font-size: 1.5rem important;
  /* Adjust font size for the title */
  font-weight: bold;
  /* Makes the title bold */
}


.views-field-term-action .field-content a {
  position: relative;
  /* Needed for positioning the ::after pseudo-element */
  display: inline-block;
  /* Or block, depending on your layout needs */
  padding-bottom: 5px;
  /* Space for the underline below the text */
  text-decoration: none;
  /* Remove default underline if any */
  color: inherit;
  /* Ensure text color is inherited or set explicitly */
}

.views-field-term-action .field-content a::after {
  content: '';
  /* Required for pseudo-elements */
  position: absolute;
  left: 0;
  bottom: 0;
  /* Position at the bottom of the parent link */
  width: 0;
  /* Starts with no width (invisible) */
  height: 2px;
  /* Thickness of the underline */
  background-color: white;
  /* Color of the underline */
  /* Crucial for animation: smooth transition for the 'width' property */
  transition: width 0.2s ease-in-out;
}


.views-field-category-image:hover+.views-field-term-action .field-content a::after {
  width: 100%;
  /* Expands the underline to full width */
}

/* General tab styles */
.quicktabs-tabs {
  display: flex;
  justify-content: center;
  /* Center the tabs horizontally */
  list-style: none;
  padding: 0;
  margin: 0;
  /* Use the Cairo font family */
  font-size: 16px;
  gap: 50px;
  /* Add space between the tabs */
}

/* Individual tab styles */
.quicktabs-tabs li {
  position: relative;
  /* Needed for the hover underline effect */
  padding: 10px 15px;
  /* Add padding for better click area */
  cursor: pointer;
  /* Add a pointer cursor on hover */
  text-align: center;
}

/* Add hover animation for underline */
.quicktabs-tabs li a {
  text-decoration: none;
  /* Remove default link underline */
  color: #333;
  /* Default text color */
  transition: color 0.3s ease;
  /* Smooth transition for text color */
}

/* Active tab styling */
.quicktabs-tabs .active a {
  color: black;
  /* Highlight active tab */
  font-weight: bold;
}

.quicktabs-tabs .active a::after {
  width: 100%;
  /* Ensure underline is visible for the active tab */
}

.block-quicktabs-blocknew-arrivals-tab .views-element-container {
  width: 90%;
  margin: auto;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 20px;

}


.view-men-new-arrivals,
.view-women-new-arrivals,
.view-kids-new-arrivals {
  width: 100%;
}


.region-footer .body {
  margin-left: 1rem;
}


#quicktabs-container-new_arrivals_tab .views-row {
  float: right;
  clear: both;
  display: flex;
  width: 100%;
  direction: rtl;
}

.block-quicktabs-blocknew-arrivals-tab .quicktabs-tabs {
  margin-top: 1rem;
}

/* Ensure the parent container is a positioning context */
.region-highlighted {
  position: relative;
  z-index: 0 !important;
  /* margin-top: 4.5rem; */
  /* Establish a relative positioning context */
  /* max-height: 198px; */
}

.region-highlighted .title {
  position: absolute;
  top: 20%;
  font-size: 3rem;
  color: white;
  font-weight: bold;
  z-index: 100;
  width: 100%;
  text-align: center;
}

.swiper-autoheight .swiper-wrapper {
  gap: 11px;
}

/* Center the first block relative to the parent container */
.region-highlighted .block-system-breadcrumb-block {
  position: absolute;
  /* Position relative to the nearest positioned ancestor (container-xl) */
  top: 60%;
  /* Vertically center */
  left: 50%;
  /* Horizontally center */
  transform: translate(-50%, -50%);
  /* Adjust for the block's own width and height */
  z-index: 100;
}


.region-highlighted .breadcrumb-item {
  font-size: 1rem;
  color: white;
}

.region-highlighted .breadcrumb-item a {
  color: white;
}

.breadcrumb-item+.breadcrumb-item::before {
  float: unset !important;
  color: white;
}

.region-content .breadcrumb-item+.breadcrumb-item::before {
  color: black !important;
}


.region-help {
  width: 100% !important;
  padding-left: 5rem !important;
  padding-right: 5rem !important;
}


.swiper-container {
  margin: 0rem !important;
}

/* Ensure the container aligns items properly */
.js-form-item {
  display: flex;
  align-items: center;
  /* Vertically align the checkbox and label */
  justify-content: flex-start;
  /* Ensure the checkbox is on the right for Arabic layout */
  padding-left: 0rem !important;
  margin-bottom: 0.5rem !important;
}

/* Add space between the label and the checkbox */
.form-check-label {
  display: inline-block;
  /* Ensure the label behaves like a block element for alignment */
  line-height: 0;
  /* Fix vertical alignment issues */
  font-weight: normal;

}

.views-exposed-form .form-check-label {
  margin-right: 2rem;
}

/* Optional: Styling for checkbox */
.form-check-input {
  cursor: pointer;
  /* Makes the checkbox clickable */
  flex-shrink: 0;
  /* Prevent the checkbox from shrinking in the layout */
  width: 18px;
  /* Adjust width for better alignment */
  height: 18px;
  /* Adjust height for better alignment */
  margin: 0;
  /* Reset any default margin */
  border-radius: 0 !important;
  /* Remove any default border radius */
}


.fieldset-legend.accordion-button.border-bottom {
  position: absolute;
  /* Set the span to absolute positioning */
  right: 0;
  /* Align it to the far right of the parent */
  top: 50%;
  /* Vertically center the span */
  transform: translateY(-50%);
  /* Adjust for vertical centering */
  text-align: right;
  /* Ensure the text inside the span is aligned to the right */
  white-space: nowrap;
  /* Prevent the text from wrapping to a new line */
}

.region-sidebar-first {
  padding-top: 3rem !important;
}

.my-2 {
  margin-top: 2rem !important;
}


.accordion-flush>.accordion-item {
  width: 100%;
}


#search-icon {
  font-size: 24px;
  cursor: pointer;
  position: relative;
  z-index: 10;
  margin-left: 0.3rem;
  /* Hidden until JS positions it correctly */
  opacity: 0;
  transition: opacity 0.15s ease;
}

#search-icon.search-click-attached {
  opacity: 1;
}


.view-all-products-search .search-products-count {
  font-size: 36px !important;
  color: var(--nm-text-secondary) !important;
  margin-right: 1rem !important;
}

.view-display-id-filter .view-header,
.view-all-products-search .view-header,
.view-display-id-promotions .view-header {
  display: grid;
  /* Use grid layout for dividing regions */
  grid-template-columns: 1fr 1fr 1fr;
  /* Divide into three equal columns */
  align-items: center;
  /* Center items vertically */
  justify-items: center;
  /* Center items horizontally */
  align-items: center;
  /* Align items vertically in the center */
  /* Apply Cairo font */
  padding-bottom: 1rem;
  position: relative;
  /* Position for the ::after pseudo-element */
}

.view-display-id-filter .view-header::after,
.view-display-id-promotions .view-header::after {
  content: '';
  /* Create an empty pseudo-element */
  position: absolute;
  /* Position it relative to the header */
  bottom: 0;
  /* Align it at the bottom of the header */
  left: 0;
  /* Start at the left edge */
  width: 100%;
  /* Span the entire width of the header */
  height: 1px;
  /* Set the thickness of the underline */
  background: var(--nm-gray-100);
  /* Add a gradient for a beautiful effect */
  border-radius: 1px;
  /* Slightly round the edges of the underline */

}

.view-display-id-filter .view-header>div:nth-child(1) {
  grid-column: 1;
  /* Place the first div in the first region */
}

.view-display-id-filter .view-header>div:nth-child(2),
.view-id-all_products_search .view-header>div:nth-child(2) {
  grid-column: 2;
  /* Place the second div in the second region */
}

/* The third region (grid-column: 3) will remain empty automatically */
/* Style for the first div (aligned to the right) */
.products-count {
  text-align: right;
  /* Align text to the right */
  flex: 1;
  /* Allow it to take up available space */
}

/* Style for the second div (center aligned) */
.search-type {
  text-align: right;
  /* Center align the text */
  flex: 1;
  /* Allow it to take up available space */
}


/* Parent Container: Flexbox for Layout */
.bootstrap-basic-image-gallery {
  display: flex;
  /* Enable flexbox */
  flex-direction: row;
  /* Arrange the main image and thumbnails side-by-side */
  align-items: flex-start;
  /* Vertically align thumbnails and main image */
}

/* Main Image: Takes Remaining Space */
.bootstrap-basic-image-gallery .main-image {
  flex-grow: 1;
  /* Allow the main image to take up the remaining horizontal space */
  margin-right: 10px;
  /* Optional: Add spacing between the main image and thumbnails */
  position: relative;
}

.bootstrap-basic-image-gallery .main-image img {
  width: 100%;
  /* Make the main image responsive */
  height: auto;
  /* Maintain aspect ratio */
  object-fit: contain;
  /* Prevent distortion of the image */
  border-radius: 4px;
  cursor: zoom-in;
}

/* Thumbnails: Fixed Width */
.bootstrap-basic-image-gallery .thumbnails {
  display: flex;
  /* Enable flexbox for vertical stacking */
  flex-direction: column;
  /* Stack thumbnails vertically */
  align-items: center;
  /* Center thumbnails horizontally */
  width: 50px;
  /* Set fixed width for the thumbnails column */
  /* Ensure the thumbnails column doesn’t grow */
  border-radius: 4px;
}

.bootstrap-basic-image-gallery .thumbnails .thumb {
  width: 100% !important;
  /* Ensure each thumbnail fits the thumbnails column */
  height: 50px;
  /* Fixed height for thumbnails */
}

.bootstrap-basic-image-gallery .thumbnails .thumb img {
  width: 100%;
  /* Make thumbnails fill their containers */
  height: 100%;
  /* Maintain fixed dimensions */
  object-fit: cover;
  /* Crop thumbnails to fit their containers */
  border: 2px solid transparent;
  /* Default border */
  border-radius: 4px;
  /* Optional: Add rounded corners */
  cursor: pointer;
  /* Pointer cursor to indicate interactivity */
  transition: border-color 0.2s ease;
  /* Smooth border color transition */
}

.bootstrap-basic-image-gallery .thumbnails .thumb img:hover {
  border-color: black;
  /* Highlight border on hover */
}

.variations {
  margin-top: 1rem;
}

.variations legend {
  float: none !important;
  margin-bottom: 0.5rem !important;
  display: none !important;
}

.block-addtoany-block {
  margin-right: 3.5rem;
}

.a2a_kit {
  font-size: 1.125rem;
}

#copyUrlBtn {
  background: none;
  border: none;
  padding: 0 !important;
}

.share-icons {
  display: flex;
  align-items: center;
  justify-content: flex-end !important;
  /* Aligns items to the left */
  margin-right: 0;
  margin-left: 3rem;
}

.share-label {
  margin-left: 0.5rem;
  /* Adds space between label and icons */
}

.share-icons a {
  margin-left: 0.2rem;
}

.views-view-grid {
  --beo-gutter-x: 1rem !important;
}

.row {
  --beo-gutter-x: 1rem !important;
}

.count-label {
  font-size: 0.8rem;
}


.border-bottom,
.attribute-widgets>.form-item .fieldset-legend,
.attribute-widgets>.form-item>label {
  border-bottom: 0 !important;
}

.py-2,
.attribute-widgets>.form-item .fieldset-legend,
.attribute-widgets>.form-item>label {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Wishlist page spacing */
section.region-content .view.view-wishlist {
  margin-top: 5rem;
}

.bls__delivery,
.bls__return {
  display: flex;
  align-items: center;
}

.bls__return {
  margin-top: 1rem;
}

.mr-15 {
  margin-left: 1rem;
}


.attribute-widgets {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.attribute-widgets>fieldset {
  width: 100%;
}

.attribute-widgets .form-item {
  margin-bottom: 0 !important;
}

.block-quicktabs-blockproduct-return-tab .quicktabs-tabs {
  background: transparent;
  padding: 0;
  margin: 0;
  display: flex;
  list-style: none;
  margin-top: 5rem !important;
}

.block-quicktabs-blockproduct-return-tab .quicktabs-tabs li[role="tab"] {
  background: var(--nm-gray-100);
  color: black;
  cursor: pointer;
  padding: 10px 24px;
  border: none;
  margin-right: 8px;
  border-radius: 20px;

}

.block-quicktabs-blockproduct-return-tab.quicktabs-tabs li[role="tab"].active,
.block-quicktabs-blockproduct-return-tab .quicktabs-tabs li[role="tab"][aria-selected="true"] {
  background-color: rgba(0, 0, 0, 0.8) !important;
  color: #fff;
}

.block-quicktabs-blockproduct-return-tab.quicktabs-tabs li[role="tab"]:focus {
  color: #fff;
}

/* Optional: style the anchor if you want clickable area to cover the whole tab */
.block-quicktabs-blockproduct-return-tab .quicktabs-tabs li[role="tab"] a {
  color: inherit;
  text-decoration: none;
  display: block;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

.block-quicktabs-blockproduct-return-tab {
  border-top: 1px solid #e7e3e3;
  /* Light gray line */
  margin-top: 5rem;
}


.tab-panel {
  width: 80% !important;
  max-width: 1400px !important;
  margin-left: auto;
  margin-right: auto;
  margin-top: 1rem;
}

.block-views-blockrecent-viewed-products-block-1 {
  border-top: 1px solid #e7e3e3;
  margin-top: 5rem;
}


.view-recent-viewed-products {
  width: 90% !important;
  max-width: 1400px !important;
  margin-left: auto;
  margin-right: auto;
  margin-top: 3rem;
}

.recently-vewied-title,
.search-products-count {
  font-size: 1rem !important;
  text-align: center;
}

.recently-vewied-title {
  font-size: 2rem !important;
}

.search-products-count,
.search-type {
  grid-column: 2 !important;
  font-size: 2rem;
  color: rgb(65, 64, 66);
  text-align: center;
}


.new-arrivals-text {
  font-size: 1rem;
  text-align: center;
}


.end-0 {
  left: 0 !important;
}

.btn-outline-white {
  border-radius: 50px;
  border: 0;
}


.user-login-form .js-form-item {
  display: block !important;
}

.user-login-form .form-label {
  direction: rtl !important;
}

.block-extra-field-blockuserusermember-for .js-form-item {
  direction: ltr !important;
  gap: 10px !important;
  font-size: 24px !important;
  font-weight: 500 !important;

}


.block-belgrade-breadcrumbs-product-page {
  color: black !important;
}


.view-all-products-search .category-id-text {
  position: fixed;
  /* Ensures the div stays at the top, even when scrolling */
  top: 0;
  /* Positions it at the very top of the screen */
  left: 0;
  /* Aligns it to the left side of the screen */
  width: 100%;
  /* Makes the div span the entire width of the screen */
  background-color: var(--nm-gray-100);
  /* Optional: Gives a background color for visibility */
  color: #333;
  /* Optional: Sets the text color */
  padding: 10px;
  /* Optional: Adds some padding for better spacing */
  z-index: 1000;
  /* Ensures the div appears above other content */
  text-align: center;
  /* Optional: Centers the text horizontally */
  box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.2);
  /* Optional: Adds a subtle shadow for better visibility */
}

.product-info .discount-percentage {
  display: none;
}

.promotion-discount-price {
  font-weight: 600 !important;

}

.layout__region--second .promotion-discount-price {
  color: green !important;
  font-size: 32px !important;
}


.view-wishlist {
  width: 80%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 5rem !important
}

.table>thead {
  text-align: center;
}

thead,
tbody,
tfoot,
tr,
td,
th {
  border-color: inherit;
  border-style: solid;
  border-width: 0;
  text-align: center;
}

[class*="-catalog"] {
  display: grid;
  /* Change from flex to grid */
  width: 90%;

  /* Define your grid columns: 20% for filters, 1fr for content */
  grid-template-columns: 20% 1fr;

  /* Define your grid rows: auto for the header, 1fr for the main content area */
  grid-template-rows: auto 1fr;

  /* Optional: Add some gap between grid items */
  gap: 10px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 2rem !important;
}

[class*="-catalog"] .view-header {
  /* Position the header to span all columns in the first row */
  grid-column: 1 / -1;
  /* This means from the first column line to the last */
  grid-row: 1;
  /* Place it in the first row */
  margin-right: 20% !important;
  display: flex;
  position: relative;
  margin-bottom: 1rem;
}


[class*="-catalog"] .view-empty {
  /* Position the header to span all columns in the first row */
  grid-column: 1 / -1;
  /* This means from the first column line to the last */
  grid-row: 1;
  /* Place it in the first row */
  display: flex;
  position: relative;
  margin-bottom: 1rem;
  margin-left: auto;
  margin-right: auto;
}



[class*="-catalog"] .view-header::after {
  content: '';
  /* Required for pseudo-elements */
  position: absolute;
  /* Allows precise positioning relative to the parent */
  bottom: -0.5rem;
  /* Positions the bottom edge of the ::after element 1rem below the parent's bottom edge */
  left: 0;
  /* Aligns the left edge of the ::after element with the parent's left edge */
  right: 0;
  /* Aligns the right edge of the ::after element with the parent's right edge */
  height: 1px;
  /* The thickness of your underline */
  background-color: #ddd;
  color: var(--nm-text-primary);
  /* The color of your underline */
  /* z-index: 1; /* Optional: Ensure it appears above other content if needed */
}

#category-id-text {
  margin-right: 25%;
}

.view-filters {
  /* Position filters in the first column of the second row */
  grid-column: 1;
  /* First column */
  grid-row: 2;
  /* Second row */
  padding: 10px;

}


.view-content {
  grid-column: 2;
  /* Second column */
  grid-row: 2;
  /* Second row */
}

.view-filters .form-item {
  border: none;
}

.view-filters li {
  list-style-type: none;
}

details[data-drupal-selector="edit-attribute-size-att-collapsible"] input[type="checkbox"] {
  display: none !important;
  /* Hide the default checkbox */
}

/* a {
  color: var(--sc-menu-icon-color);
} */

details[data-drupal-selector="edit-attribute-size-att-collapsible"] .form-check-label {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: 5px;
  min-width: 40px;
  height: 40px;
  border: 1px solid #ccc;
  border-radius: 4px;
  text-align: center;
  color: black;
  transition: all 0.2s ease;
  padding: 5px;
  font-size: 12px !important;
  margin-right: 0.3rem !important;
  width: fit-content !important;
}


/* 1. Ensure the list displays in one row and wraps */
details[data-drupal-selector="edit-attribute-size-att-collapsible"] .form-checkboxes ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  list-style: none;
  /* Removes default list bullet points */
  padding: 0;
  margin: 0;
}


/* 5. Style the label to fill the swatch container and act as the visible part */
details[data-drupal-selector="edit-attribute-size-att-collapsible"] .form-checkboxes.bef-checkboxes .form-check-label.option {
  cursor: pointer;
  /* Ensure cursor is pointer when hovering over the label text */
}

/* 6. Add hover effect for the swatch */
details[data-drupal-selector="edit-attribute-size-att-collapsible"] .form-checkboxes.bef-checkboxes .form-check-label:hover {
  border-color: var(--nm-info-color);
  /* Change border color on hover */
  background-color: #e9f5ff;
  /* Light blue background on hover */
  box-shadow: 0 0 5px rgba(0, 123, 255, 0.3);
  /* Subtle shadow on hover */
}

/* 7. Change background for selected (checked) swatch */
/* This uses the adjacent sibling selector (+) to target the label when its associated input is checked */
details[data-drupal-selector="edit-attribute-size-att-collapsible"] .form-checkboxes.bef-checkboxes input[type="checkbox"]:checked+.form-check-label.option {
  background-color: var(--nm-info-color);
  /* Blue background for selected swatch */
  color: #fff;
  /* White text for selected swatch */
  border-color: var(--nm-info-color);
  /* Blue border for selected swatch */
}

/* Optional: Adjust hover effect for selected items to maintain consistency */
details[data-drupal-selector="edit-attribute-size-att-collapsible"] .form-checkboxes.bef-checkboxes input[type="checkbox"]:checked+.form-check-label.option:hover {
  background-color: #0056b3;
  /* Slightly darker blue on hover for selected */
  border-color: #0056b3;
}

div[data-drupal-selector="edit-price-wrapper"] .js-form-item {
  display: block !important;
}


#edit-coupon-redemption {
  padding-right: 0 !important;
}


#edit-coupon-redemption label {
  display: none;
}

#edit-coupon-redemption input[type="text"] {
  display: block !important;
  width: 178px;
  height: 41px;
}

#edit-coupon-redemption .error.form-control {
  background-image: unset !important;

}

.cart-form+.cart-form {
  padding-top: 0rem;
  border-top: 0px;
}

/* Hide original sort on desktop when clone is in header */
#products-sort.desktop-sort-hidden {
  display: none !important;
}

/* Desktop: Sort clone in view-header - keep original style */
.view-header.desktop-sort-header-active #products-sort-desktop {
  grid-column: 3;
  justify-self: left !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

.view-header.desktop-sort-header-active #products-sort-desktop .js-form-item {
  direction: rtl !important;
  margin-bottom: 0 !important;

}


.swiper-slide {
  position: relative;
  /* Allows absolute positioning of children */
  overflow: hidden;
  /* Hides any overflow from the image */
  display: flex;
  /* Use flexbox to center content */
  align-items: center;
  /* Vertically center content */
  justify-content: center;
  /* Horizontally center content */
  text-align: center;
  /* Default text color for better contrast */
  box-sizing: border-box;
  /* Include padding and border in the element's total width and height */
}


.highlighted-products-swiper .flag-wishlist {
  display: none !important;
}


input.button--add-to-cart:disabled {
  color: white !important;
}

fieldset .form-check {
  margin-top: 0 !important;
}


/* Fade-in animation */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translate(-50%, -45%);
  }

  to {
    opacity: 1;
    transform: translate(-50%, -50%);
  }
}


.flag-icon {
  position: relative;
  display: inline-block;
  cursor: pointer;
}

/* Tooltip styling */
.flag-icon::after {
  content: attr(data-tooltip);
  position: absolute;
  transform: translateX(-50%) translateY(5px);
  background-color: rgba(0, 0, 0, 0.85);
  color: white;
  padding: 6px 10px;
  border-radius: 6px;
  font-size: 12px;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease, transform 0.25s ease;
  z-index: 10;
}

/* Show tooltip on hover */
.flag-icon:hover::after {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

.stock-overlay {
  position: absolute;
  top: 10px;
  left: 10px;
  background: rgba(220, 0, 0, 0.9);
  color: white;
  padding: 6px 12px;
  border-radius: 4px;
  font-weight: bold;
  font-size: 14px;
  z-index: 5;
  text-transform: uppercase;
}

.product-image.position-relative {
  position: relative;
}

.product-teaser {
  /* Fill the parent .product-image container */
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


/* Ensure cart/buy-now icons inside product-teaser are clickable above the product image link */
.product-teaser .flag-icon {
  z-index: 10;
  position: relative;
}

/* Product image link should stay below the icons */
.product-teaser .images,
.product-teaser .field--name-field-images,
.product-teaser > a {
  z-index: 1;
  position: relative;
}

/* Desktop: Ensure images container fills product-teaser */
@media (min-width: 769px) {
  .product-teaser .images {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  
  .product-teaser .images a {
    display: block;
    width: 100%;
    height: 100%;
  }
}

/* CRITICAL: Views Infinite Scroll wrapper must stay BELOW body-level modals */
/* Force a low z-index to ensure modals on body appear above */
.views-infinite-scroll-content-wrapper,
.view-content,
.view-products-by-catalog,
.view,
.region-content,
div[data-drupal-views-infinite-scroll-content-wrapper] {
  position: relative;
  z-index: 1 !important; /* Very low - modals on body use 99990+ */
  isolation: auto !important; /* Don't isolate stacking context */
  transform: none !important; /* Prevent transform from creating stacking context */
}

/* Ensure product articles inside don't create high stacking contexts */
.views-infinite-scroll-content-wrapper article.product,
.view-content article.product {
  z-index: 1;
  position: relative;
}

/* CRITICAL: Disable pointer events on views wrapper when modal is on body */
/* This prevents the wrapper from intercepting clicks meant for the modal */
body:has(> .cart-modal:not([hidden])) .views-infinite-scroll-content-wrapper,
body:has(> .cart-modal:not([hidden])) .view-content,
body:has(> .cart-modal-overlay:not([hidden])) .views-infinite-scroll-content-wrapper,
body:has(> .cart-modal-overlay:not([hidden])) .view-content,
body.modal-open .views-infinite-scroll-content-wrapper,
body.modal-open .view-content {
  pointer-events: none !important;
}

/* Target delete buttons in the cart */
.table.cols-6 .views-field-remove-button input.delete-order-item {
  font-size: 0 !important;
  /* hide the text "حذف" */
  color: transparent !important;
  /* extra insurance */
  width: 36px !important;
  height: 36px !important;
  padding: 0 !important;
  border: none !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23c00' viewBox='0 0 448 512'%3E%3Cpath d='M135.2 17.7L141.1 0h165.7l5.9 17.7L328 32H448V80H0V32H120l15.2-14.3zM32 96H416l-21.2 373.3c-1.5 26.1-23.1 46.7-49.2 46.7H102.4c-26.1 0-47.7-20.6-49.2-46.7L32 96z'/%3E%3C/svg%3E") no-repeat center center !important;
  background-size: 18px 18px !important;
  cursor: pointer;
}


#edit-login-register-mail--description,
#edit-login-register-name--description,
div[data-drupal-selector^="edit-review-shipping-information-summary"],
fieldset[data-drupal-selector="edit-review-payment-information"] {
  display: none !important;
}


.view-highlighted-products .swiper-pagination {
  display: none;
}

.recent-views-products-swiper .swiper-slide {
  border-radius: 0 !important;
}

/* Hide mobile icons row on desktop */
.product .mobile-icons-row {
  display: none;
}

/* ========================================
   WISHLIST VIEW STYLES
   ======================================== */

/* Hide grid toggle on desktop - it's only for mobile */
.wishlist-grid-toggle {
  display: none;
}

.align-items-right{
  align-items: flex-start !important;
}


.view-products-with-promition {
  margin-top: 2rem !important;
}

.view-products-with-promition .view-content{
  margin-top: 2rem;
}

#dcm-highlighted_products-title ,
#dcm-brands-title{
    text-align: center !important;
 
}


.block-field-blockcommerce-product-variationclothesprice .product-price, .block-field-blockcommerce-product-variationclothesprice .price,
.layout--twocol-section .product-price{
  font-weight: 700;
  margin-top: 1rem;
}
