﻿@charset "UTF-8";
/* ==========================================================================
   BASE STYLES
   ========================================================================== */
.product-banner {
  width: 100%;
  background: transparent;
}
.product-banner:nth-of-type(even) {
  background: #fafafa;
}
.product-banner__container {
  margin: 0 auto;
  height: 100%;
  display: flex;
  align-items: center;
}
.product-banner__content {
  display: flex;
  flex-direction: column;
  position: relative;
  align-items: center;
  justify-content: center;
}
@media (max-width: 1023px) {
  .product-banner__content {
    max-width: 408px;
  }
}
.product-banner__product-info {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding: 24px;
}
.product-banner__product-name {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
}
.product-banner__product-name__container {
  flex-direction: column;
  display: flex;
  align-items: center;
}
.product-banner__logo {
  height: 32px;
  width: auto;
  object-fit: contain;
  display: flex;
  align-items: center;
  justify-content: center;
}
.product-banner__logo .cat-name {
  font-size: 24px;
  color: #000000;
  line-height: 1.4;
  font-weight: 500;
  font-family: SF Pro Display, SF Pro Icons, Helvetica Neue, Helvetica, Arial, sans-serif;
}
.product-banner__name-text {
  font-size: 32px;
  font-weight: 600;
  color: #1d1d1f;
  letter-spacing: -0.5px;
}
.product-banner__subtitle {
  text-align: center;
  font-family: var(--Font-Family-Open-Sans, "Open Sans");
  font-size: var(--Font-Size-bodyLarge, 16px);
  font-style: normal;
  font-weight: 400;
  line-height: var(--Font-Line-height-bodyLarge, 24px);
}
.product-banner__sub-heading {
  font-size: 16px;
  color: #666;
  line-height: 1.5;
  margin: 0;
  max-width: 400px;
  text-align: center;
  font-family: "Open Sans", sans-serif;
}
.product-banner__button {
  color: #fff;
  font-size: 17px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0;
  text-align: center;
  font-family: "SF Pro Display", Helvetica Neue, Helvetica, Arial, sans-serif !important;
  text-decoration: none;
  background: #0070c9 0 0 no-repeat padding-box;
  border-radius: 1.202679rem;
  padding: 9px 18px;
  opacity: 1;
  transition: all 0.3s cubic-bezier(0, 0, 0.5, 1);
}
.product-banner__button:hover {
  background: #0077ed 0 0 no-repeat padding-box;
  opacity: 1;
}
.product-banner__legal {
  font-size: 12px;
  color: #666;
  line-height: 1.4;
  max-width: 400px;
}
.product-banner__image {
  width: 100%;
  height: 100%;
  position: relative;
}
.product-banner__image picture {
  font-size: 0;
  line-height: 0;
}
.product-banner__main-image {
  object-fit: contain;
  width: 100%;
  height: 100%;
}
.product-banner--right .product-banner__container {
  flex-direction: row;
}
.product-banner--right .product-banner__content {
  flex: 1;
  text-align: left;
  max-width: none;
  flex-direction: row;
}
@media (max-width: 767px) {
  .product-banner--right .product-banner__content {
    padding: 24px 0 0;
    flex-direction: column;
  }
}
.product-banner--right .product-banner__product-info {
  width: 408px;
  gap: 16px;
}
@media (max-width: 1023px) {
  .product-banner--right .product-banner__product-info {
    width: 262px;
  }
}
@media (max-width: 767px) {
  .product-banner--right .product-banner__product-info {
    width: 100%;
    gap: 12px;
  }
}
.product-banner--right .product-banner__image {
  flex: 1;
}
.product-banner--top .product-banner__container {
  flex-direction: column;
  text-align: center;
}
.product-banner--top .product-banner__content {
  align-items: center;
  text-align: center;
  order: 2;
  width: 100%;
  min-height: 0;
  max-width: 100%;
  gap: 24px;
}
.product-banner--top .product-banner__product-info {
  order: 2;
  width: 100%;
  padding: 0 24px 24px;
}
.product-banner--top .product-banner__image {
  order: 1;
  height: 248px;
  padding-top: 12px;
}
.product-banner--top .product-banner__main-image {
  width: 100%;
}
.product-banner--top .product-banner__subtitle {
  margin-left: 0;
}

.category-tile {
  background: #fff;
  border-radius: 12px;
  box-shadow: rgba(0, 0, 0, 0.08) 2px 4.00001px 12px 0px;
  border-radius: 18px;
  transition: all 0.2s ease;
  overflow: hidden;
  margin-bottom: 30px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-decoration: none;
  gap: 16px;
  transition: all 0.3s cubic-bezier(0, 0, 0.5, 1);
  aspect-ratio: 1/1;
}
.category-tile:hover {
  box-shadow: 0.133631rem 0.267262rem 1.069048rem rgba(0, 0, 0, 0.2509803922) !important;
  transform: scale3d(1.01, 1.01, 1.01) !important;
}
@media (max-width: 768px) {
  .category-tile {
    aspect-ratio: auto;
  }
}
.category-tile__image-container {
  position: relative;
  overflow: hidden;
  background: #FFF;
}
.category-tile__image {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.category-tile__tag {
  position: absolute;
  top: 8px;
  right: 8px;
  background: rgba(0, 0, 0, 0.7);
  color: white;
  padding: 4px 8px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 500;
}
.category-tile__title {
  font-size: 24px;
  line-height: 30px;
  font-weight: 600;
  display: block;
  color: #333;
  margin: 30px 30px 0 30px;
}
.category-tile__subcopy {
  font-size: 14px;
  color: #666;
  margin: 0;
  line-height: 1.4;
}

.apple-scroll-container .overview .product-name h1 {
  font-size: 28px;
  line-height: 1.22;
  letter-spacing: -0.42px;
  font-weight: 500;
  font-family: "AmericanSansVar", Helvetica, sans-serif;
}
.apple-scroll-container .overview .product-price {
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .apple-product-gallery-column {
    position: relative;
  }
}

.apple-product-gallery-sticky.is-stuck {
  position: fixed;
  z-index: 2;
  will-change: transform;
}
.apple-product-gallery-sticky.is-stuck-bottom {
  position: absolute;
  bottom: 0;
  z-index: 2;
}

.apple-gallery {
  margin-top: 20px;
}

.apple-product-gallery {
  position: relative;
  width: 100%;
  margin: 0 auto;
}
.apple-product-gallery .product-images-container {
  position: relative;
  display: block;
  flex-direction: initial;
  gap: 0;
  width: 100%;
  height: 500px;
  overflow: hidden;
  max-height: none;
  padding: 0;
}
.apple-product-gallery .product-images-container .product-image-item {
  position: absolute;
  inset: 0;
  display: none;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 500px;
  padding: 0;
  overflow: hidden;
  transition: transform 0.36s ease;
  will-change: transform;
}
.apple-product-gallery .product-images-container .product-image-item.is-active {
  display: flex;
}
.apple-product-gallery .product-images-container .product-image-item .product-image {
  width: auto;
  max-width: min(760px, 100% - 112px);
  max-height: 100%;
  object-fit: contain;
  border-radius: 20px;
  background: #fff;
}
.apple-product-gallery .apple-gallery-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.14);
  color: #1d1d1f;
  font-size: 30px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.apple-product-gallery .apple-gallery-nav:hover {
  transform: translateY(-50%) scale(1.04);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
}
.apple-product-gallery .apple-gallery-nav:disabled, .apple-product-gallery .apple-gallery-nav.is-hidden {
  opacity: 0;
  pointer-events: none;
}
.apple-product-gallery .apple-gallery-nav svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
  stroke-width: 2.2;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.apple-product-gallery .apple-gallery-nav-prev {
  left: 8px;
}
.apple-product-gallery .apple-gallery-nav-next {
  right: 8px;
}
@media (max-width: 768px) {
  .apple-product-gallery .product-images-container .product-image-item {
    padding: 0;
  }
  .apple-product-gallery .apple-gallery-nav {
    width: 34px;
    height: 34px;
    font-size: 24px;
  }
}
@media (max-width: 575px) {
  .apple-product-gallery .product-images-container,
  .apple-product-gallery .product-images-container .product-image-item {
    height: 360px;
  }
  .apple-product-gallery .product-images-container .product-image-item {
    padding: 0;
  }
  .apple-product-gallery .product-images-container .product-image-item .product-image {
    max-width: calc(100% - 80px);
    border-radius: 14px;
  }
}

.product-images-container {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
  max-height: 80vh;
  overflow-y: auto;
}
.product-images-container .product-image-item {
  width: 100%;
  display: flex;
  justify-content: center;
}
.product-images-container .product-image-item .product-image {
  max-width: 100%;
  height: auto;
}
@media (max-width: 768px) {
  .product-images-container {
    flex-direction: row;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: 0;
    padding: 0 1rem;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .product-images-container::-webkit-scrollbar {
    display: none;
  }
  .product-images-container .product-image-item {
    flex: 0 0 100%;
    scroll-snap-align: start;
    padding: 0 0.5rem;
  }
  .product-images-container .product-image-item .product-image {
    width: 100%;
    max-height: 400px;
    object-fit: contain;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .product-images-container .product-image-item .product-image {
    max-width: 80%;
  }
}
@media (min-width: 1025px) {
  .product-images-container .product-image-item .product-image {
    max-width: 70%;
  }
}

@media (max-width: 768px) {
  .product-images-container {
    position: relative;
  }
  .product-images-container::after {
    content: "";
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
    width: 30px;
    height: 4px;
    background: rgba(0, 0, 0, 0.2);
    border-radius: 2px;
  }
}

.product-images-container {
  scroll-behavior: smooth;
}

.list-title {
  margin: 0 0 16px 0;
  font-size: 18px;
  font-style: normal;
  line-height: 28px;
  font-weight: 400;
  letter-spacing: -0.36px;
  font-family: "AmericanSansVar", Helvetica, sans-serif;
}
.list-title.border-bottom {
  border-bottom: 1px solid #e5e5e5;
  padding-bottom: 8px;
}

.apple-selected-variants {
  margin: 0 0 14px;
}

.apple-selected-variant-row {
  color: #1d1d1f;
  font-size: 16px;
  line-height: 1.2;
  letter-spacing: -0.28px;
  font-family: "AmericanSansVar", Helvetica, sans-serif;
  margin-bottom: 8px;
}

.apple-selected-variant-label {
  font-weight: 700;
  margin-right: 6px;
}

.apple-selected-variant-value {
  font-weight: 400;
}

#product-description-section .apple-product-accordion {
  border-top: 1px solid #d8d8d8;
}
#product-description-section .apple-accordion-trigger {
  width: 100%;
  border: 0;
  color: #1d1d1f;
  min-height: 78px;
  padding: 45px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: left;
  font-size: 32px;
  line-height: 1.22;
  letter-spacing: -0.42px;
  font-weight: 400;
  font-family: "AmericanSansVar", Helvetica, sans-serif;
  transition: color 0.2s ease;
  cursor: pointer;
}
#product-description-section .apple-accordion-trigger:hover {
  color: rgb(0, 112, 201);
}
#product-description-section .apple-accordion-icon {
  color: #8a8a8a;
  margin-left: auto;
  min-width: 28px;
  text-align: right;
  font-size: 32px;
  line-height: 1;
  font-weight: 300;
}
#product-description-section .apple-accordion-content {
  color: #1d1d1f;
  padding: 0 0 24px;
  font-size: 16px;
}
@media (max-width: 992px) {
  #product-description-section .apple-accordion-trigger {
    font-size: 32px;
    min-height: 68px;
    padding: 16px 0;
  }
  #product-description-section .apple-accordion-icon {
    font-size: 40px;
  }
}
@media (max-width: 576px) {
  #product-description-section .apple-accordion-trigger {
    font-size: 28px;
    min-height: 58px;
    padding: 14px 0;
  }
  #product-description-section .apple-accordion-icon {
    min-width: 22px;
    font-size: 32px;
  }
}

.radio-color-container {
  display: inline-block;
  position: relative;
}
.radio-color-container .radio-input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}
.radio-color-container .radio-label {
  display: flex !important;
  align-items: center;
  padding: 8px;
  border-radius: 4px;
  background-color: #ffffff;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  min-width: 160px;
}
.radio-color-container .radio-label:hover {
  box-shadow: 0 0 0 1px #000000;
}
.radio-color-container .radio-label .color-circle {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  margin-right: 8px;
  flex-shrink: 0;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.radio-color-container .radio-label .label-text {
  font-family: "Open Sans", Arial, Helvetica, sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #2e2e2e;
  text-transform: uppercase;
  letter-spacing: 1.4px;
}
.radio-color-container.selected .radio-label {
  box-shadow: 0 0 0 1px #000000;
}
.radio-color-container.selected .radio-label .label-text {
  color: #000000;
}
.radio-color-container.disabled .radio-label {
  opacity: 0.5;
  cursor: not-allowed;
}
.radio-color-container.disabled .radio-label:hover {
  box-shadow: 0 0 0 1px #d1d5db;
}

.radio-input:focus + .radio-label {
  outline: 1px dashed #747578;
  outline-offset: 1px;
}

.radio-color-list {
  margin-top: 24px;
  margin-bottom: 24px;
}

.color-options-container {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding-bottom: 24px;
  border-bottom: 1px solid #e5e5e5;
  margin-bottom: 32px;
  width: 100%;
}

.radio-button-group-list {
  padding-bottom: 24px;
  border-bottom: 1px solid #E5E5E5;
  margin-bottom: 32px;
}

.radio-button-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  font-family: "Open Sans", Arial, Helvetica, sans-serif;
  position: relative;
}
.radio-button-group.disabled .radio-option {
  opacity: 0.5;
  background-color: #f3f4f6;
  border-color: #9ca3af;
  pointer-events: none;
}
.radio-button-group.disabled .radio-option .option-content .option-name {
  color: #8C8E90;
}
.radio-button-group.disabled .radio-option .option-content .option-disabled-text {
  color: #8C8E90;
  font-size: 14px;
  font-weight: 400;
}
.radio-button-group .radio-option {
  border: 2px solid #e5e5e5;
  border-radius: 9px;
  padding: 8px 0;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  background-color: #ffffff;
  position: relative;
}
.radio-button-group .radio-option:not(.disabled):hover {
  border-color: #9ca3af;
}
.radio-button-group .radio-option.selected:not(.disabled) {
  border-color: #2e2e2e;
  background-color: #ffffff;
}
.radio-button-group .radio-option:focus:not(.disabled) {
  outline: none;
  box-shadow: 0 0 0 3px rgba(46, 46, 46, 0.1);
}
.radio-button-group .radio-option.disabled {
  cursor: not-allowed;
  opacity: 0.6;
  background-color: #f3f4f6;
  border-color: #9ca3af;
}
.radio-button-group .radio-option.disabled .option-content .option-name,
.radio-button-group .radio-option.disabled .option-content .option-price,
.radio-button-group .radio-option.disabled .option-content .option-points {
  color: #8C8E90;
}
.radio-button-group .radio-option .hidden-radio {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.radio-button-group .radio-option .option-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 8px 16px;
}
.radio-button-group .radio-option .option-content > div {
  display: flex;
  flex-direction: column;
  text-align: right;
}
.radio-button-group .radio-option .option-content .option-name {
  font-size: 16px;
  line-height: 20px;
  font-weight: 600;
  color: #000000;
}
.radio-button-group .radio-option .option-content .option-price {
  font-size: 16px;
  font-weight: 600;
  color: #000000;
}
.radio-button-group .radio-option .option-content .option-points {
  font-size: 14px;
  font-weight: 400;
  color: #000000;
}

/* Responsive design */
@media (max-width: 640px) {
  .radio-button-group .radio-option {
    padding: 16px 20px;
  }
  .radio-button-group .radio-option .option-content .option-name,
  .radio-button-group .radio-option .option-content .option-price {
    font-size: 16px;
  }
}
.applecare-selection-container {
  display: flex;
  flex-direction: column;
  gap: 12px;
  font-family: "Open Sans", Arial, Helvetica, sans-serif;
  width: 100%;
  margin: 24px auto;
}
.applecare-selection-container .applecare-selection-header {
  display: flex;
  flex-direction: column;
  gap: 4px;
  max-width: 630px;
}
.applecare-selection-container .applecare-selection-header .list-title {
  margin: 0;
}
.applecare-selection-container .applecare-selection-header p {
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
  color: #000000;
}
.applecare-selection-container .applecare-selection-header p button {
  color: #005EB8;
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  font-size: 12px;
  line-height: 16px;
}
.applecare-selection-container .applecare-selection-header p button:hover {
  text-decoration: underline;
}

.applecare-card {
  position: relative;
  flex: 1;
  width: 100%;
  margin: auto;
}
.applecare-card.no-applecare .card-content {
  padding: 18px 16px;
}
.applecare-card:hover .card-content {
  border-color: #2E2E2E;
  box-shadow: 0 0 0 1px #2E2E2E;
}
.applecare-card .radio-input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  width: 100%;
  height: 100%;
  margin: 0;
  z-index: 1;
}
.applecare-card .card-content {
  background: #ffffff;
  border: 1px solid #E5E5E5;
  border-radius: 12px;
  padding: 16px;
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
  height: 100%;
  display: flex;
  gap: 16px;
}
@media (max-width: 390px) {
  .applecare-card .card-content {
    flex-direction: column;
  }
}
.applecare-card.selected .card-content {
  border-color: #2E2E2E;
  box-shadow: 0 0 0 1px #2E2E2E;
}
.applecare-card.no-applecare.selected .card-content {
  border-color: #2E2E2E;
  box-shadow: 0 0 0 1px #2E2E2E;
}
.applecare-card .header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 16px;
}
.applecare-card .logo-section {
  display: flex;
  align-items: center;
  gap: 8px;
  max-width: 120px;
}
.applecare-card .logo-section img {
  width: 100%;
  height: auto;
  object-fit: contain;
}
@media (max-width: 390px) {
  .applecare-card .logo-section {
    justify-content: center;
    width: 120px;
    height: 40px;
    margin: auto;
  }
}
.applecare-card .apple-logo {
  font-size: 18px;
  color: #ff3b30;
}
.applecare-card .brand-text {
  font-weight: 600;
  font-size: 16px;
  color: #000000;
}
.applecare-card .pricing {
  text-align: right;
  flex-grow: 1;
}
@media (max-width: 390px) {
  .applecare-card .pricing {
    display: none;
  }
}
.applecare-card .price {
  font-weight: 600;
  font-size: 16px;
  color: #000000;
}
.applecare-card .points {
  font-size: 14px;
  color: #2E2E2E;
  margin-top: 2px;
  white-space: nowrap;
}
.applecare-card .title {
  font-size: 16px;
  font-weight: 600;
  color: #333333;
  line-height: 24px;
  display: flex;
  justify-content: space-between;
}
.applecare-card .title .mobile-pricing {
  display: none;
  text-align: right;
}
@media (max-width: 390px) {
  .applecare-card .title .mobile-pricing {
    display: block;
  }
}
.applecare-card .features {
  list-style: none;
  padding: 0;
  margin: 8px 0 0 8px;
  flex-grow: 1;
}
.applecare-card .features li {
  position: relative;
  padding-left: 12px;
  margin-bottom: 4px;
  font-size: 14px;
  line-height: 20px;
  font-weight: 400;
  color: #2E2E2E;
}
.applecare-card .features li:before {
  content: "•";
  position: absolute;
  left: 0;
  color: #2E2E2E;
  font-weight: bold;
}
.applecare-card .features li:last-child {
  margin-bottom: 0;
}

/* Added initial hidden state for modal */
body.modal-open {
  overflow: hidden;
}

.modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 10000;
  animation: fadeIn 0.2s ease-out;
}
.modal-backdrop.show {
  display: flex;
  opacity: 1 !important;
  z-index: 20000;
}

.modal-content {
  background: #f2f1ed;
  border-radius: 12px;
  max-height: 90vh;
  min-width: 60vw;
  max-width: 1159px;
  padding: 40px 119px 80px;
  position: relative;
  overflow-y: auto;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  animation: slideIn 0.3s ease-out;
  scrollbar-width: none;
  z-index: 25000;
  margin: auto;
  top: 50px;
  /* Firefox, Safari 18.2+, Chromium 121+ */
  display: flex;
  flex-direction: column;
  gap: 24px;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes slideIn {
  from {
    opacity: 0;
    transform: translateY(-20px) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
.close-button {
  position: absolute;
  top: 16px;
  right: 16px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #86868b;
  transition: all 0.2s ease;
  z-index: 10;
}
.close-button:focus {
  outline: 2px solid #007AFF;
  outline-offset: 2px;
}
.close-button svg {
  width: 20px;
  height: 20px;
}

.modal-header {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.brand-logo {
  width: 83px;
  height: 104px;
  aspect-ratio: 83/104;
  object-fit: contain;
  display: block;
}

.brand-title {
  font-size: 14px;
  font-weight: 600;
  color: #1d1d1f;
  margin: 0;
  background: rgba(255, 255, 255, 0.6);
  padding: 6px 12px;
  border-radius: 12px;
  backdrop-filter: blur(10px);
}

.modal-title-container {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.modal-title {
  font-size: 24px !important;
  font-weight: 400 !important;
  color: #1d1d1f;
  text-align: center;
  margin: 0;
  line-height: 1.1;
  letter-spacing: -0.5px;
}

.modal-description {
  font-size: 14px;
  color: #1d1d1f;
  text-align: center;
  margin: 0;
  line-height: 20px;
  max-width: 540px;
  margin-left: auto;
  margin-right: auto;
}

.product-image {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}

.product-img {
  width: 100%;
  height: auto;
  object-fit: fill;
}

.image-placeholder {
  width: 400px;
  height: 240px;
  background: linear-gradient(45deg, #e8e7e3 25%, transparent 25%), linear-gradient(-45deg, #e8e7e3 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #e8e7e3 75%), linear-gradient(-45deg, transparent 75%, #e8e7e3 75%);
  background-size: 16px 16px;
  background-position: 0 0, 0 8px, 8px -8px, -8px 0px;
  border-radius: 8px;
  border: 1px solid #d9d8d4;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #86868b;
  font-size: 14px;
}
.image-placeholder::after {
  content: "";
}

.features-section h3,
.legal-section h3 {
  font-size: 14px;
  font-weight: 600;
  color: #000;
  margin: 0 0 12px 0;
  letter-spacing: -0.3px;
}

.features-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.features-list li {
  font-size: 12px;
  color: #1d1d1f;
  line-height: 1.5;
  margin-bottom: 0;
  position: relative;
  padding-left: 16px;
}
.features-list li:before {
  content: "•";
  position: absolute;
  left: 0;
  color: #1d1d1f;
  font-weight: 600;
  font-size: 16px;
}
.features-list li:last-child {
  margin-bottom: 0;
}

.legal-text {
  font-size: 12px;
  color: #000;
  line-height: 1.5;
  margin: 0;
}

.modal-actions {
  margin-top: 32px;
  display: flex;
  justify-content: center;
}

.learn-more-button {
  background: #007AFF;
  color: white;
  border: none;
  padding: 14px 28px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.learn-more-button:hover {
  background: #0056CC;
}
.learn-more-button:focus {
  outline: 2px solid #007AFF;
  outline-offset: 2px;
}

@media (max-width: 1440px) {
  .modal-content {
    padding: 40px 74px 80px;
    margin: 16px;
  }
}
@media (max-width: 992px) {
  .modal-content {
    padding: 40px 74px 80px;
    margin: 24px;
    max-width: 696px;
  }
  .product-image .image-placeholder {
    width: 300px;
    height: 180px;
  }
  .features-section h3,
  .legal-section h3 {
    font-size: 14px !important;
    margin: 0 0 12px;
  }
}
@media (max-width: 390px) {
  .modal-content {
    padding: 40px 16px;
    margin: 12px;
    gap: 16px;
    max-width: 343px;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes slideIn {
  from {
    opacity: 0;
    transform: translateY(-20px) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
#appleengraving-modal.modal-backdrop {
  padding: 24px;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.4);
}

.engraving-modal-content {
  background: #ffffff;
  border-radius: 28px;
  max-height: 90vh;
  max-width: 520px;
  width: 100%;
  margin: auto;
  position: relative;
  top: auto !important;
  overflow-y: auto;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15);
  animation: slideIn 0.3s ease-out;
  scrollbar-width: none;
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 32px 24px 40px;
  z-index: 2500;
}
.engraving-modal-content.disabled-state .modal-title {
  font-size: 32px !important;
  font-weight: 400 !important;
  color: #2e2e2e !important;
  line-height: 1.2 !important;
  margin: 0 !important;
}
@media (max-width: 992px) {
  .engraving-modal-content.disabled-state .modal-title {
    font-size: 24px !important;
  }
}
@media (max-width: 390px) {
  .engraving-modal-content.disabled-state .modal-title {
    font-size: 20px !important;
  }
}
.engraving-modal-content::-webkit-scrollbar {
  display: none;
}
@media (max-width: 1440px) {
  .engraving-modal-content {
    margin: 16px;
  }
}
@media (max-width: 992px) {
  .engraving-modal-content {
    padding: 28px 20px 36px;
    margin: 24px;
    max-width: 480px;
  }
}
@media (max-width: 390px) {
  .engraving-modal-content {
    padding: 24px 16px 32px;
    margin: 16px;
    gap: 20px;
    max-width: 100%;
  }
}
@media (prefers-contrast: high) {
  .engraving-modal-content {
    border: 2px solid #2e2e2e;
  }
}
@media (prefers-reduced-motion: reduce) {
  .engraving-modal-content {
    animation: none;
  }
}

.close-button {
  position: absolute;
  top: 16px;
  right: 16px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #86868b;
  transition: all 0.2s ease;
  z-index: 10;
}
.close-button:focus {
  outline: 2px solid #007aff;
  outline-offset: 2px;
}
.close-button svg {
  width: 20px;
  height: 20px;
}
@media (prefers-reduced-motion: reduce) {
  .close-button {
    transition: none;
  }
}

.modal-title-container {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.modal-title {
  font-size: 28px !important;
  font-weight: 600 !important;
  color: #2e2e2e !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  text-align: center;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  letter-spacing: -0.5px;
}
@media (max-width: 992px) {
  .modal-title {
    font-size: 24px !important;
  }
}
@media (max-width: 390px) {
  .modal-title {
    font-size: 22px !important;
  }
}

.engraving-modal-subtitle {
  font-size: 15px !important;
  font-weight: 400 !important;
  color: #86868b !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  text-align: center;
  margin-top: 4px;
}

.product-preview {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}

.product-preview.disabled-layout {
  padding: 0 118px;
  justify-content: flex-start;
}
@media (max-width: 992px) {
  .product-preview.disabled-layout {
    padding: 0 60px;
  }
}
@media (max-width: 390px) {
  .product-preview.disabled-layout {
    padding: 0 16px;
  }
}

.disabled-content {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  max-width: 760px;
}
@media (max-width: 992px) {
  .disabled-content {
    gap: 32px;
    max-width: 476px;
  }
}
@media (max-width: 390px) {
  .disabled-content {
    flex-direction: column;
    gap: 24px;
    max-width: 311px;
  }
}

.device-image-container {
  flex-shrink: 0;
  width: 199px;
  height: 228px;
}
@media (max-width: 992px) {
  .device-image-container {
    width: 160px;
    height: 160px;
  }
}
@media (max-width: 390px) {
  .device-image-container {
    width: 120px;
    height: 120px;
    align-self: center;
  }
}
.device-image-container .device-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  border-radius: 8px;
}

.product-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding-top: 8px;
}
.product-info .engraving-status-container {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.product-info .engraving-status {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 24px;
}
.product-info .engraving-status .engraved-icon {
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #2e2e2e !important;
  line-height: 1 !important;
  margin: 0 !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  height: 20px;
}
.product-info .engraving-status .engraved-text {
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #2e2e2e !important;
  line-height: 1 !important;
  margin: 0 !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}
.product-info .engraving-text-display .engraving-line {
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #86868b !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  margin-bottom: 4px;
}
.product-info .engraving-text-display .engraving-line:last-child {
  margin-bottom: 0;
}
.product-info-title {
  padding: 0 0 24px 0;
  overflow: hidden;
  color: var(--Rymax-uplift-Text-Regular, var(--Black, #000));
  font-family: "Open Sans";
  font-size: 20px;
  font-style: normal;
  font-weight: 500;
  line-height: 28px;
  border-bottom: 1px solid var(--Light-Gray-E5E5E5, #e5e5e5);
}

.device-container {
  position: relative;
  display: inline-block;
  width: 100%;
  height: auto;
}
@media (max-width: 390px) {
  .device-container {
    padding: 0 16px;
  }
}

.device-img {
  width: 100% !important;
  max-height: 200px;
  object-fit: contain;
  border-radius: 12px;
}

.engraving-preview {
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translateX(-50%);
  pointer-events: none;
}
.engraving-preview .engraving-text {
  text-align: center;
  color: #2e2e2e;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 10px !important;
  font-weight: 400 !important;
  color: #2e2e2e !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  opacity: 0.8;
}
.engraving-preview .engraving-text .engraving-line {
  margin-bottom: 2px;
}
.engraving-preview .engraving-text .engraving-line:last-child {
  margin-bottom: 0;
}

.engraving-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 0 auto;
  width: 448px;
}
@media (max-width: 992px) {
  .engraving-form {
    width: 348px;
  }
}
@media (max-width: 390px) {
  .engraving-form {
    width: 100%;
  }
}
.engraving-form .form-group {
  position: relative;
  background-color: none;
  padding: 0;
}
.engraving-form .form-group .engraving-input {
  width: 100%;
  padding: 14px 18px;
  border: 1px solid #d2d2d7;
  border-radius: 12px;
  font-size: 16px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  background: #f5f5f7;
  transition: border-color 0.2s ease, background 0.2s ease;
}
.engraving-form .form-group .engraving-input:focus {
  outline: none;
  border-color: #007aff;
  background: white;
}
.engraving-form .form-group .engraving-input.error {
  border-color: #ff3b30;
}
.engraving-form .form-group .engraving-input::placeholder {
  color: #86868b;
}
@media (prefers-contrast: high) {
  .engraving-form .form-group .engraving-input {
    border-width: 2px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .engraving-form .form-group .engraving-input {
    transition: none;
  }
}

.engraving-info {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0 auto;
  width: 448px;
}
@media (max-width: 992px) {
  .engraving-info {
    width: 348px;
  }
}
@media (max-width: 390px) {
  .engraving-info {
    width: 100%;
  }
}
.engraving-info .info-text {
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #86868b !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  text-align: center;
}

.modal-actions {
  display: flex;
  flex-direction: row;
  gap: 16px;
  margin: 0 auto;
  width: 448px;
  align-items: center;
  justify-content: center;
}
@media (max-width: 992px) {
  .modal-actions {
    width: 348px;
  }
}
@media (max-width: 390px) {
  .modal-actions {
    width: 100%;
    flex-direction: column;
  }
}
.modal-actions .save-button {
  border: none;
  border-radius: 4px;
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
  cursor: pointer;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  transition: all 0.2s ease;
  padding: 8px 12px;
}
.modal-actions .save-button:focus {
  outline: 2px solid #007aff;
  outline-offset: 2px;
}
.modal-actions .save-button:disabled {
  cursor: not-allowed;
}
.modal-actions .save-button {
  background: #007aff;
  color: white;
  border-radius: 12px;
  padding: 12px 24px;
}
.modal-actions .save-button:hover:not(:disabled) {
  background: #0056cc;
}
.modal-actions .save-button:disabled {
  background: #e5e5e5;
  color: #8c8e90;
}
.modal-actions .save-button.save-btn-disabled {
  background: #e5e5e5;
  color: #8c8e90;
  cursor: not-allowed;
}
@media (prefers-reduced-motion: reduce) {
  .modal-actions .save-button {
    transition: none;
  }
}
.modal-actions .skip-button {
  border: none;
  border-radius: 4px;
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
  cursor: pointer;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  transition: all 0.2s ease;
  padding: 8px 12px;
}
.modal-actions .skip-button:focus {
  outline: 2px solid #007aff;
  outline-offset: 2px;
}
.modal-actions .skip-button:disabled {
  cursor: not-allowed;
}
.modal-actions .skip-button {
  background: transparent;
  color: #007aff;
  border: none;
  border-radius: 12px;
  padding: 12px 24px;
}
.modal-actions .skip-button:hover {
  background: rgba(0, 0, 0, 0.0509803922);
  border: none;
}
@media (prefers-reduced-motion: reduce) {
  .modal-actions .skip-button {
    transition: none;
  }
}

.your-engraving-container {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 12px;
}

.your-engraving-header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 4px;
}

.your-engraving-title {
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #2e2e2e !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  margin: 0 !important;
}

.your-engraving-lines {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.your-engraving-line-block {
  display: block;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #2e2e2e !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  margin: 0 !important;
  letter-spacing: 0.5px;
  min-height: 1.4em;
}

.your-engraving-text {
  display: block !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #2e2e2e !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  margin: 0 !important;
  letter-spacing: 0.5px;
  min-height: 1.4em;
}

.edit-engraving-link,
#edit-engraving-btn.edit-engraving-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: none !important;
  border: none !important;
  padding: 0;
  cursor: pointer;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #007aff !important;
  flex-shrink: 0;
}
.edit-engraving-link:hover,
#edit-engraving-btn.edit-engraving-link:hover {
  color: #0056cc !important;
}
.edit-engraving-link:hover .edit-engraving-plus-icon,
.edit-engraving-link:hover .edit-engraving-plus-icon svg,
#edit-engraving-btn.edit-engraving-link:hover .edit-engraving-plus-icon,
#edit-engraving-btn.edit-engraving-link:hover .edit-engraving-plus-icon svg {
  color: #0056cc !important;
}
.edit-engraving-link:focus,
#edit-engraving-btn.edit-engraving-link:focus {
  outline: 2px solid #007aff;
  outline-offset: 2px;
}

.edit-engraving-text {
  color: inherit !important;
}

.edit-engraving-plus-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #007aff !important;
  flex-shrink: 0;
}
.edit-engraving-plus-icon svg {
  width: 20px;
  height: 20px;
  color: #007aff !important;
}

.edit-engraving-button {
  border: none;
  border-radius: 4px;
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
  cursor: pointer;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  transition: all 0.2s ease;
  padding: 8px 12px;
}
.edit-engraving-button:focus {
  outline: 2px solid #007aff;
  outline-offset: 2px;
}
.edit-engraving-button:disabled {
  cursor: not-allowed;
}
.edit-engraving-button {
  background: transparent;
  color: #007aff;
  border: 1px solid #007aff;
  border-radius: 8px;
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 500;
}
.edit-engraving-button:hover {
  background: rgba(0, 0, 0, 0.0509803922);
  border-color: #0056cc;
  color: #0056cc;
}

.disabled-state .engraving-preview .engraving-text {
  opacity: 1;
  color: #86868b;
}

.header-apple {
  border-top: solid 1px #e0e0e0;
}
.header-apple.header-apple--sticky-below {
  position: fixed;
  left: 0;
  right: 0;
  top: var(--header-sticky-height, 50px);
  width: 100%;
  z-index: 49;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  animation: smoothScroll 0.5s forwards;
}

.header-apple-spacer {
  display: block;
  width: 100%;
}

.apple-nav {
  font-family: "Open Sans", Arial, Helvetica, sans-serif;
  width: 100%;
}
.apple-nav__container {
  max-width: 1490px;
  margin: 0 auto;
  padding: 0 20px;
}
.apple-nav__secondary {
  background: #FFF;
  border-bottom: 1px solid #CCCED0;
}
.apple-nav__container {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 48px;
}
.apple-nav__left {
  display: flex;
  align-items: center;
  gap: 28px;
  padding-right: 18px;
  border-right: solid 1px rgba(0, 0, 0, 0.2);
  flex-shrink: 0;
}
.apple-nav__dropdown-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  background: none;
  border: none;
  color: #1d1d1f;
  font-size: 14px;
  font-weight: 400;
  cursor: pointer;
  padding: 8px 0;
  transition: color 0.2s ease;
}
.apple-nav__dropdown-btn:hover {
  color: #0066cc;
}
.apple-nav__dropdown-btn img {
  opacity: 0.8;
}
.apple-nav__center {
  display: flex;
  align-items: center;
  gap: 24px;
  flex: 1;
  justify-content: flex-start;
  max-width: 1200px;
  min-width: 0;
}
.apple-nav__logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  position: relative;
  top: -2px;
}
.apple-nav__logo img {
  opacity: 0.8;
}
.apple-nav__nav-list {
  display: flex;
  align-items: center;
  gap: 24px;
  list-style: none;
  margin: 0;
  padding: 0;
  min-width: 0;
}
.apple-nav__nav-item {
  margin: 0;
  flex-shrink: 0;
}
.apple-nav__nav-link {
  color: #1d1d1f;
  text-decoration: none;
  font-size: 14px;
  font-weight: 400;
  padding: 4px 0;
  transition: color 0.2s ease;
  white-space: nowrap;
  display: inline-block;
  width: 100%;
}
.apple-nav__nav-link:hover {
  color: #0066cc;
}
.apple-nav__nav-link--active {
  color: #0066cc;
  font-weight: 500;
}
.apple-nav__overflow-container {
  position: relative;
}
.apple-nav__overflow-btn {
  background: none;
  border: none;
  color: #1d1d1f;
  font-size: 14px;
  font-weight: 400;
  cursor: pointer;
  padding: 4px 0;
  transition: all 0.2s ease;
  border-radius: 4px;
  text-decoration: none;
  white-space: nowrap;
}
.apple-nav__overflow-btn:hover {
  color: #0066cc;
}
.apple-nav__overflow-btn--active {
  color: #0066cc;
}
.apple-nav__overflow-dots {
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 1px;
}
.apple-nav__overflow-menu {
  position: absolute;
  top: 100%;
  right: 0;
  background: #FFF;
  border-radius: 0 0 2px 2px;
  box-shadow: 0 1px 3px 0px rgba(0, 0, 0, 0.15);
  z-index: 1000;
  min-width: 180px;
  margin-top: 12px;
}
.apple-nav__overflow-list {
  list-style: none;
  margin: 0;
  padding: 8px 0;
}
.apple-nav__overflow-item {
  margin: 0;
}
.apple-nav__overflow-link {
  display: block;
  color: #1d1d1f;
  text-decoration: none;
  font-size: 14px;
  font-weight: 400;
  padding: 8px 16px;
  transition: background-color 0.2s ease;
}
.apple-nav__overflow-link:hover {
  color: #0066cc;
}
.apple-nav__overflow-link--active {
  color: #0066cc;
  font-weight: 500;
}
.apple-nav__right {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.apple-nav--mobile {
  width: 100%;
}
.apple-nav__mobile {
  background: #FFF;
  width: 100%;
}
.apple-nav__mobile-container {
  max-width: 1490px;
  margin: 0 auto;
  padding: 0 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.apple-nav__mobile-top {
  border-bottom: 1px solid #CCCED0;
  height: 44px;
}
.apple-nav__mobile-top .apple-nav__mobile-container {
  height: 100%;
}
.apple-nav__mobile-left {
  display: flex;
  align-items: center;
  gap: 20px;
}
.apple-nav__mobile-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  background: none;
  border: none;
  color: #1d1d1f;
  font-size: 14px;
  font-weight: 400;
  cursor: pointer;
  padding: 8px 0;
}
.apple-nav__mobile-btn img {
  opacity: 0.8;
}
.apple-nav__mobile-right {
  display: flex;
  align-items: center;
}
.apple-nav__mobile-right .apple-nav__search-input {
  width: 0;
  opacity: 0;
  padding: 4px 0;
  transition: all 0.3s ease;
}
.apple-nav__mobile-right .apple-nav__search-input--expanded {
  width: 120px;
  opacity: 1;
  background-color: #fff;
  border: solid 1px #CCCED0;
  padding: 4px 8px;
  margin-left: 8px;
}
.apple-nav__mobile-search-btn {
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  display: flex;
  align-items: center;
}
.apple-nav__mobile-search-btn img {
  opacity: 0.6;
}
.apple-nav__mobile-search-btn:focus {
  outline: none !important;
}
.apple-nav__mobile-bottom {
  height: 44px;
  border-bottom: 1px solid #CCCED0;
}
.apple-nav__mobile-bottom .apple-nav__mobile-container {
  height: 100%;
}
.apple-nav__mobile-brand {
  display: flex;
  align-items: center;
  gap: 8px;
}
.apple-nav__mobile-brand svg {
  opacity: 0.8;
}
.apple-nav__mobile-primary {
  font-size: 14px;
  color: #1d1d1f;
  font-weight: 400;
}
.apple-nav__mobile-category {
  position: relative;
}
.apple-nav__mobile-category-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  background: none;
  border: none;
  color: #1d1d1f;
  font-size: 14px;
  font-weight: 400;
  cursor: pointer;
  padding: 8px 0;
}
.apple-nav__mobile-category-btn--active {
  color: #0066cc;
}
.apple-nav__mobile-category-arrow {
  transition: transform 0.2s ease;
}
.apple-nav__mobile-category-arrow--open {
  transform: rotate(180deg);
}
.apple-nav__mobile-dropdown {
  position: absolute;
  top: 100%;
  right: 0;
  background: #FFF;
  z-index: 1000;
  min-width: 200px;
  margin-top: 4px;
  box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.25);
}
@media (max-width: 390px) {
  .apple-nav__mobile-dropdown {
    width: 100vw;
    right: -16px;
    margin-top: 6px;
  }
}
.apple-nav__mobile-dropdown-list {
  list-style: none;
  margin: 0;
  padding: 8px 0;
}
.apple-nav__mobile-dropdown-item {
  margin: 0;
}
.apple-nav__mobile-dropdown-link {
  display: block;
  color: #1d1d1f;
  text-decoration: none;
  font-size: 14px;
  font-weight: 400;
  padding: 10px 16px;
  transition: background-color 0.2s ease;
  text-align: left;
}
.apple-nav__mobile-dropdown-link:hover {
  background: #f5f5f7;
  color: #0066cc;
}
.apple-nav__mobile-dropdown-link--active {
  color: #0066cc;
  font-weight: 500;
}
.apple-nav__tertiary {
  background: #FFF;
  padding: 8px 24px;
  position: relative;
}
.apple-nav__tertiary .apple-nav__container {
  height: auto;
  display: flex;
  align-items: center;
  position: relative;
  padding: 0 55px;
}
.apple-nav__tertiary-scroll-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border: none;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: transparent;
  cursor: pointer;
  z-index: 10;
  transition: all 0.2s ease;
  color: #1d1d1f;
}
.apple-nav__tertiary-scroll-btn svg {
  color: #2e2e2e;
  fill: #2e2e2e;
}
.apple-nav__tertiary-scroll-btn--left {
  left: 8px;
}
.apple-nav__tertiary-scroll-btn--right {
  right: 8px;
}
.apple-nav__tertiary-scroll-btn--disabled {
  opacity: 0.5;
  cursor: not-allowed;
  color: #86868b;
}
.apple-nav__tertiary-grid {
  display: flex;
  gap: 24px;
  align-items: center;
  overflow-x: hidden;
  scroll-behavior: smooth;
  justify-content: center;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.apple-nav__tertiary-grid::-webkit-scrollbar {
  display: none;
}
.apple-nav__tertiary--scrollable .apple-nav__tertiary-grid {
  padding: 0 40px;
  justify-content: flex-start;
}
@media (max-width: 992px) {
  .apple-nav__tertiary-grid {
    gap: 0px;
  }
}
.apple-nav__tertiary-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  transition: background-color 0.2s ease;
  min-width: 120px;
  flex-shrink: 0;
}
@media (max-width: 992px) {
  .apple-nav__tertiary-item {
    min-width: 100px;
  }
}
.apple-nav__tertiary-image {
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.apple-nav__tertiary-img {
  width: 50px;
  height: 50px;
  object-fit: contain;
}
.apple-nav__tertiary-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  text-align: center;
}
.apple-nav__tertiary-name {
  font-size: 12px;
  color: #1d1d1f;
  font-weight: 400;
  line-height: 1.2;
}
.apple-nav__tertiary-badge {
  font-size: 12px;
  color: #398100;
  font-weight: 500;
  letter-spacing: 0.5px;
  height: 16px;
  line-height: 16px;
}
@media (max-width: 992px) {
  .apple-nav__container {
    padding: 0 16px;
  }
  .apple-nav__left {
    gap: 16px;
  }
  .apple-nav__center {
    gap: 20px;
  }
  .apple-nav__nav-list {
    gap: 20px;
  }
  .apple-nav__search {
    min-width: 120px;
  }
  .apple-nav__tertiary {
    padding: 8px 16px;
  }
  .apple-nav__tertiary .apple-nav__container {
    padding: 0 44px;
  }
  .apple-nav__tertiary--scrollable .apple-nav__tertiary-grid {
    padding: 0 0;
  }
  .apple-nav__tertiary-item {
    min-width: 100px;
  }
}
@media (max-width: 480px) {
  .apple-nav__left {
    display: none;
  }
  .apple-nav__search {
    min-width: 100px;
  }
  .apple-nav__tertiary {
    padding: 8px 16px;
  }
  .apple-nav__tertiary .apple-nav__container {
    padding: 0 38px;
  }
  .apple-nav__tertiary-item {
    min-width: 104px;
  }
  .apple-nav__tertiary-image {
    width: 40px;
    height: 40px;
  }
  .apple-nav__tertiary-img {
    width: 24px;
    height: 24px;
  }
}

.apple-category-carousel {
  margin-bottom: 48px;
}
.apple-category-carousel .carousel-item {
  height: 325px;
}
@media (max-width: 768px) {
  .apple-category-carousel .carousel-item {
    flex-direction: column;
  }
}
@media (max-width: 430px) {
  .apple-category-carousel .carousel-item {
    height: auto;
  }
}
.apple-category-carousel .carousel-item .carousel-item-contents {
  display: flex;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  height: 100%;
}
@media (max-width: 768px) {
  .apple-category-carousel .carousel-item .carousel-item-contents {
    flex-direction: column;
  }
}
@media (max-width: 480px) {
  .apple-category-carousel .carousel-item .carousel-item-contents {
    padding: 0 10px;
  }
}
.apple-category-carousel .carousel-item .carousel-caption {
  position: relative;
  top: 0%;
  left: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: 550px;
  color: #000;
  text-align: left;
  font-family: "SF Pro Display", Helvetica Neue, Helvetica, Arial, sans-serif;
  gap: 16px;
  padding-left: 100px;
}
@media (max-width: 992px) {
  .apple-category-carousel .carousel-item .carousel-caption {
    padding-left: 50px;
  }
}
@media (max-width: 768px) {
  .apple-category-carousel .carousel-item .carousel-caption {
    width: 100%;
    padding-left: 0;
    text-align: center;
    align-items: center;
  }
}
.apple-category-carousel .carousel-item .carousel-caption h5 {
  font-size: 40px;
  color: #000 !important;
  font-family: "SF Pro Display", Helvetica Neue, Helvetica, Arial, sans-serif;
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
}
.apple-category-carousel .carousel-item .carousel-caption h5 .apple-logo {
  width: 40px;
  height: 40px;
  object-fit: contain;
}
@media (max-width: 768px) {
  .apple-category-carousel .carousel-item .carousel-caption h5 {
    text-align: center;
    justify-content: center;
  }
}
.apple-category-carousel .carousel-item .carousel-caption p {
  font-size: 16px;
  margin: 0;
}
.apple-category-carousel .carousel-item .carousel-caption p .btn {
  color: #fff;
  font-size: 17px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0;
  text-align: center;
  font-family: "SF Pro Display", Helvetica Neue, Helvetica, Arial, sans-serif !important;
  text-decoration: none;
  background: #0070c9 0 0 no-repeat padding-box;
  border-radius: 1.202679rem;
  padding: 9px 18px;
  opacity: 1;
  transition: all 0.3s cubic-bezier(0, 0, 0.5, 1);
}
.apple-category-carousel .carousel-item .carousel-caption p .btn:hover {
  background: #0077ed 0 0 no-repeat padding-box;
  opacity: 1;
}
.apple-category-carousel .carousel-item .img-container {
  flex-grow: 1;
  overflow: hidden;
}
@media (max-width: 768px) {
  .apple-category-carousel .carousel-item .img-container {
    padding-bottom: 24px;
  }
}
.apple-category-carousel .carousel-item .img-container img {
  height: 100%;
  width: 100%;
  object-fit: contain;
}
@media (max-width: 430px) {
  .apple-category-carousel .carousel-item .img-container img {
    height: 228px;
  }
}
.apple-category-carousel .carousel-controls {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 15;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  padding-left: 0;
  margin-right: 15%;
  margin-left: 15%;
  list-style: none;
  gap: 12px;
}
.apple-category-carousel .carousel-controls .carousel-play-pause-btn {
  display: none;
}
.apple-category-carousel .carousel-indicators {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  position: relative;
  padding: 0;
  margin: 0;
}
.apple-category-carousel .carousel-indicators li {
  border-radius: 50%;
  box-sizing: border-box;
  display: block;
  height: 12px;
  width: 12px;
  overflow: hidden;
  text-indent: 100%;
  transition: 0.2s ease-in-out;
  transition-property: background-color, border-color;
  white-space: nowrap;
  background-color: #000;
  opacity: 1;
  border: 1px solid #000;
}
.apple-category-carousel .carousel-indicators li.active {
  background-color: #fff;
  border-color: #000;
}

.product-discovery {
  margin-top: 2.5rem;
  margin-bottom: 3.5rem;
  padding: 1rem 0;
  font-family: "AmericanSansVar", Arial, Helvetica, sans-serif !important;
  position: relative;
}
.product-discovery__header {
  text-align: center;
  margin-bottom: 2rem;
}
.product-discovery__title {
  font-size: 32px;
  letter-spacing: -0.02em;
  margin-bottom: 0.5rem;
  color: #0078D2 !important;
}
.product-discovery__subtitle {
  font-size: 16px;
  color: #333333;
  margin: 0 auto;
  max-width: 36rem;
  line-height: 1.45;
}
.product-discovery__row {
  align-items: stretch;
  position: relative;
}
.product-discovery__col {
  margin-bottom: 1.5rem;
}
@media (min-width: 992px) {
  .product-discovery__col {
    margin-bottom: 0;
  }
}
.product-discovery__col--ready {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 12px;
  position: relative;
  z-index: 34;
  background: #fff;
}
.product-discovery__col--almost {
  position: relative;
  z-index: 31;
}
.product-discovery__col-title {
  font-size: 30px;
  font-weight: 700;
  margin-bottom: 1rem;
  color: #111 !important;
  margin: 0;
  font-family: "AmericanSans", sans-serif;
}
@media (max-width: 992px) {
  .product-discovery__col-title {
    font-size: 24px;
  }
}
.product-discovery__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  height: 100%;
}
@media (max-width: 390px) {
  .product-discovery__grid {
    grid-template-columns: 1fr;
  }
}
.product-discovery__card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 3px;
  box-shadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.2);
  padding: 1rem 1rem 1.25rem;
  height: 100%;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.product-discovery__card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}
.product-discovery__badge {
  position: absolute;
  top: 24px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  white-space: nowrap;
  letter-spacing: 0.04em;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  background: #198754;
  color: #fff;
  line-height: 1.2;
}
.product-discovery__card-image-wrap {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  border-radius: 8px;
  overflow: hidden;
  background: #f4f4f4;
  margin-bottom: 0.75rem;
}
.product-discovery__card-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.product-discovery__card-name {
  font-size: 0.95rem;
  font-weight: 500;
  text-align: center;
  margin: 0 0 0.35rem;
  line-height: 1.3;
  color: #111;
  font-family: "AmericanSans", sans-serif;
}
.product-discovery__card-name a {
  color: #111;
  text-decoration: none;
}
.product-discovery__card-name a:hover {
  color: #0078D2;
}
.product-discovery__card-price {
  text-align: center;
  font-size: 0.9rem;
  color: #444;
  margin-bottom: 0.75rem;
}
.product-discovery__btn {
  text-align: center;
  background: #0078D2;
  width: 100%;
  border-radius: 3px;
  font-size: 16px;
  height: 36px;
  line-height: 36px;
  color: #fff;
  margin-top: auto;
  text-decoration: none;
  font-family: "AmericanSansVar", Arial, Helvetica, sans-serif !important;
}
.product-discovery__btn:hover {
  background: #0b5ed7;
  color: #fff;
  text-decoration: none;
}
.product-discovery__cta-wide {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: #0078D2;
  width: 100%;
  border-radius: 3px;
  font-size: 18px;
  height: 48px;
  line-height: 48px;
  color: #fff;
  margin-top: auto;
  text-decoration: none;
  font-family: "AmericanSansVar", Arial, Helvetica, sans-serif !important;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.product-discovery__cta-wide:visited, .product-discovery__cta-wide:focus, .product-discovery__cta-wide:focus-visible, .product-discovery__cta-wide[aria-expanded=true] {
  color: #fff !important;
  text-decoration: none;
}
.product-discovery__cta-wide:hover, .product-discovery__cta-wide:active {
  background-color: #0b5ed7;
  color: #fff !important;
  text-decoration: none;
}
.product-discovery__cta-chevron::after {
  content: "›";
  margin-left: 0.35rem;
  font-size: 1.1em;
  line-height: 1;
}
.product-discovery__almost-panel {
  border: 1px solid #EBEBF0;
  box-shadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.2);
  border-radius: 3px;
  padding: 1.5rem 1.25rem 1.25rem;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.product-discovery__almost-title {
  font-size: 30px;
  font-weight: 600;
  text-align: left;
  margin: 0 0 1.25rem;
  color: #111 !important;
  font-family: "AmericanSans", sans-serif;
}
.product-discovery__featured {
  margin-bottom: 1.25rem;
  display: flex;
  gap: 8px;
}
.product-discovery__featured-image-link {
  display: block;
  border-radius: 10px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.06);
  margin-bottom: 0.75rem;
  width: 40%;
}
.product-discovery__featured-image {
  width: 100%;
  height: 100%;
  aspect-ratio: 16/10;
  object-fit: contain;
}
.product-discovery__featured-name {
  font-size: 1.05rem;
  font-weight: 600;
  margin: 0 0 0.35rem;
  text-align: left;
}
.product-discovery__featured-name a {
  color: #111;
  text-decoration: none;
}
.product-discovery__featured-name a:hover {
  text-decoration: underline;
}
.product-discovery__featured-meta {
  text-align: left;
  font-size: 14px;
  margin-bottom: 0.5rem;
  color: #666;
}
.product-discovery__featured-meta strong {
  color: #111;
}
.product-discovery__featured-meta.top-meta {
  font-size: 18px;
}
.product-discovery__highlight {
  color: #00467F;
  font-weight: 700;
}
.product-discovery__progress {
  height: 8px;
  border-radius: 4px;
  background: #EBEBF0;
  overflow: hidden;
  margin: 0.5rem 0 0.35rem;
}
.product-discovery__progress-fill {
  height: 100%;
  border-radius: 4px;
  background: #0078D2;
  transition: width 0.3s ease;
}
.product-discovery__featured-reviews {
  text-align: center;
  font-size: 0.8rem;
  color: #666;
  margin-top: 0.35rem;
}
.product-discovery__list {
  list-style: none;
  margin: 0;
  padding: 0;
  flex: 1;
}
.product-discovery__list--guest {
  flex: 0;
}
.product-discovery__list-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.product-discovery__list-item:first-of-type {
  border-top: none;
  padding-top: 0;
}
.product-discovery__list-thumb {
  flex-shrink: 0;
  width: 70px;
  height: 70px;
  border-radius: 8px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.08);
}
.product-discovery__list-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.product-discovery__col--almost.isGuest .product-discovery__list-item {
  gap: 1rem;
  padding: 0.9rem 0;
}
.product-discovery__col--almost.isGuest .product-discovery__list-thumb {
  width: 92px;
  height: 92px;
}
.product-discovery__list-body {
  min-width: 0;
  flex: 1;
  text-align: left;
}
.product-discovery__list-name {
  font-size: 0.875rem;
  font-weight: 600;
  margin: 0 0 0.2rem;
  line-height: 1.25;
}
.product-discovery__list-name a {
  color: #111;
  text-decoration: none;
}
.product-discovery__list-name a:hover {
  text-decoration: underline;
}
.product-discovery__list-gap {
  font-size: 0.8rem;
  color: #111;
}
.product-discovery__list-gap span {
  color: #00467F;
  font-weight: 700;
  font-size: 14px;
  font-family: "AmericanSans", sans-serif;
}
.product-discovery__almost-footer {
  margin-top: 1rem;
  padding-top: 0.5rem;
  text-align: center;
  font-size: 0.9rem;
}
.product-discovery__almost-footer-link {
  color: #111;
  text-decoration: none;
  font-weight: 0;
  font-size: 16px;
  border-bottom: 1px solid transparent;
  transition: border-bottom-color 0.2s ease;
}
.product-discovery__almost-footer-link:hover {
  color: #111;
  border-bottom-color: #111;
  text-decoration: none;
}
.product-discovery__almost-footer-link .product-discovery__highlight {
  margin: 0 0.15rem;
}
.product-discovery__empty {
  padding: 1.5rem 1rem;
  text-align: center;
  font-size: 0.9rem;
  color: #666;
  border: 1px dashed rgba(255, 255, 255, 0.2);
  border-radius: 10px;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.product-discovery__guest-hint {
  padding: 16px;
  text-align: center;
  font-size: 0.9rem;
  color: #666;
  border: 1px solid rgba(99, 98, 98, 0.2);
  border-radius: 10px;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
}
.product-discovery__guest-signin {
  height: 44px;
  line-height: 44px;
  margin-bottom: 1rem;
  font-weight: 600;
}
.product-discovery--placeholder {
  outline: 1px dashed rgba(0, 120, 210, 0.35);
  border-radius: 12px;
}
.product-discovery__card--placeholder {
  opacity: 0.95;
}
.product-discovery__drawer-overlay {
  display: none !important;
}
.product-discovery__drawer {
  background: #fff;
  z-index: 33;
  display: flex;
  flex-direction: column;
  box-shadow: 0px 4px 16px 12px rgb(255, 255, 255);
  transition: left 0.28s ease, max-height 0.28s ease, opacity 0.2s ease, margin 0.2s ease;
}
@media (min-width: 992px) {
  .product-discovery__drawer {
    position: absolute;
    top: 0;
    left: 0;
    height: auto;
    width: 41.666667%;
    transform: none;
    opacity: 1;
    pointer-events: auto;
    max-height: none;
    margin: 0;
    overflow: visible;
  }
}
@media (max-width: 992px) {
  .product-discovery__drawer {
    position: relative;
    left: auto;
    width: 100%;
    max-height: none;
    transform: none;
    opacity: 0;
    pointer-events: none;
    overflow: hidden;
    max-height: 0;
    margin: 0;
    transition: max-height 0.28s ease, opacity 0.2s ease, margin 0.2s ease;
  }
}
@media (min-width: 992px) {
  .product-discovery__drawer.is-open {
    left: 58.333333%;
  }
}
@media (max-width: 992px) {
  .product-discovery__drawer.is-open {
    opacity: 1;
    pointer-events: auto;
    max-height: 1000px;
    margin: 0 0 1rem;
  }
}
.product-discovery__drawer-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1rem 0.75rem;
  border-bottom: 1px solid #e7e7e7;
}
.product-discovery__drawer-title {
  font-size: 18px;
  margin: 0;
  font-weight: 500;
  color: #111 !important;
  font-family: "AmericanSans", sans-serif;
}
.product-discovery__drawer-close {
  border: 0;
  background: transparent;
  font-size: 1.8rem;
  line-height: 1;
  color: #666;
  cursor: pointer;
  padding: 0;
}
.product-discovery__drawer-form {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  padding: 16px 16px 0;
}
.product-discovery__drawer-scroll {
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding-bottom: 0.75rem;
}
.product-discovery__drawer-section {
  margin-bottom: 1rem;
  border-bottom: 1px solid #efefef;
  padding-bottom: 1rem;
}
.product-discovery__drawer-section-title {
  font-size: 16px;
  margin: 0 0 12px;
  color: #111 !important;
  font-family: "AmericanSansLight", sans-serif;
}
.product-discovery__drawer-section-toggle {
  width: 100%;
  border: 0;
  background: transparent;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  margin-bottom: 0.25rem;
  color: #111 !important;
}
.product-discovery__drawer-section-toggle .product-discovery__drawer-section-title {
  margin: 0;
}
.product-discovery__drawer-section-icon {
  font-size: 1.2rem;
  line-height: 1;
  color: #333;
  min-width: 1rem;
  text-align: center;
}
.product-discovery__drawer-section-body {
  display: block;
  margin-top: 12px;
}
.product-discovery__drawer-section--collapsible.is-collapsed .product-discovery__drawer-section-body {
  display: none;
}
.product-discovery__drawer-minmax {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}
.product-discovery__drawer-minmax label {
  margin: 0;
}
.product-discovery__drawer-minmax span {
  display: block;
  font-size: 0.8rem;
  color: #555;
  margin-bottom: 0.25rem;
}
.product-discovery__drawer-minmax input {
  width: 100%;
  height: 36px;
  border: 1px solid #d7d7d7;
  border-radius: 3px;
  padding: 0 0.5rem;
}
.product-discovery__drawer-presets, .product-discovery__drawer-manufacturers {
  display: grid;
  gap: 0.45rem;
}
.product-discovery__drawer-presets label, .product-discovery__drawer-manufacturers label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  margin: 0;
  font-size: 0.88rem;
  color: #222;
}
.product-discovery__drawer-manufacturers {
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: none;
  overflow: visible;
}
.product-discovery__drawer-manufacturer-loading {
  font-size: 0.85rem;
  color: #666;
  margin-bottom: 0.5rem;
}
.product-discovery__drawer-actions {
  margin-top: 0;
  padding-top: 0.75rem;
  border-top: 1px solid #e7e7e7;
  background: #fff;
  position: sticky;
  bottom: 0;
  z-index: 2;
}

body.product-discovery-drawer-open {
  overflow: hidden;
}

.external-link-modal {
  position: fixed;
  inset: 0;
  z-index: 1050;
  display: none;
  align-items: center;
  justify-content: center;
  font-family: inherit;
}
.external-link-modal--open {
  display: flex;
}
.external-link-modal__backdrop {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.45);
}
.external-link-modal__dialog {
  position: relative;
  background-color: #ffffff;
  border-radius: 4px;
  max-width: 520px;
  width: 100%;
  margin: 0 16px;
  padding: 24px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}
.external-link-modal__title {
  font-size: 20px;
  font-weight: 700;
  margin: 0 32px 12px 0;
  font-family: "AmericanSansVar";
  color: #292929;
}
.external-link-modal__body {
  margin: 0 0 24px;
  font-size: 16px;
  line-height: 1.5;
  color: #333333;
}
.external-link-modal__close {
  position: absolute;
  top: 16px;
  right: 16px;
  border: none;
  background: transparent;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  color: #666666;
}
.external-link-modal__close:hover {
  color: #000000;
}
.external-link-modal__actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}
.external-link-modal__button {
  padding: 8px 16px;
  border-radius: 3px;
  border: 1px solid transparent;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}
.external-link-modal__button--primary {
  background-color: #ffffff;
  border-color: #0078d2;
  color: #0078d2;
}
.external-link-modal__button--primary:hover {
  background-color: #f0f8ff;
}
.external-link-modal__button--secondary {
  background-color: #0078d2;
  color: #ffffff;
}
.external-link-modal__button--secondary:hover {
  background-color: #005a9e;
}

/* Typography & Colors */
.slider-title,
.slider-subtitle {
  color: #fff !important;
  text-shadow: 0px 0px 6px #000000;
}

.homepage-informationText {
  text-align: center;
  margin-bottom: 1.2rem;
  font-size: 16px;
}

/* ==========================================================================
   NAVIGATION & HEADER
   ========================================================================== */
/* Header Layout */
.header-middle.sticky {
  z-index: 51;
}

.header-middle-rightContainer {
  z-index: 1;
  padding: 0;
  margin-left: auto;
}

/* Owned + Operated Banner */
.owned-banner {
  height: auto;
  width: 100%;
  padding: 4px 8px;
  margin: 0px;
  border-radius: 0px;
  background: rgb(54, 73, 90);
  box-shadow: none;
  position: relative;
  color: #fff;
  text-align: center;
  line-height: 20px;
}

.operated-by {
  padding: 8px 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 119, 210, 0.0941176471);
}

/* ==========================================================================
   AUTHENTICATION & USER COMPONENTS
   ========================================================================== */
/* Login/Join Module */
.login-join-module {
  position: relative;
  display: inline-block;
  font-family: "AmericanSansVar", Arial, Helvetica, sans-serif;
}

.button-group {
  display: flex;
  gap: 4px;
}

.btn-customLogin {
  padding: 0 14px;
  font-size: 14px;
  line-height: 36px;
  height: 36px;
  border: 1px solid #0860c4;
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  font-weight: 700;
  font-family: "AmericanSansVar", Arial, Helvetica, sans-serif;
}

.btn-login {
  background-color: #0860c4;
  color: white;
}

.btn-login:hover {
  background-color: #0a78f5;
  color: white;
}

.btn-join {
  background-color: white;
  color: #4472c4;
}

/* Tooltip Popover */
.tooltip-popover {
  position: absolute;
  top: calc(100% + 10px);
  left: calc(-50% - 50px);
  background-color: #0860c4;
  color: white;
  padding: 14px 44px 14px 14px;
  border-radius: 4px;
  min-width: 290px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  display: none;
  z-index: 1000;
  white-space: wrap !important;
}
.tooltip-popover .tooltip-arrow {
  position: absolute;
  top: -8px;
  left: 50%;
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 8px solid #0860c4;
}
.tooltip-popover .tooltip-content {
  position: relative;
  text-align: left;
}
.tooltip-popover .tooltip-content h3 {
  font-size: 18px;
  font-weight: 400;
  margin: 0;
  line-height: 1.3;
  color: white !important;
}
.tooltip-popover .tooltip-content h3 sup {
  font-size: 12px;
}
.tooltip-popover .tooltip-content p {
  color: white;
  font-size: 14px;
  margin: 0;
  padding: 0;
}
.tooltip-popover .close-btn {
  position: absolute;
  top: 10px;
  right: 10px;
  background: none;
  color: white;
  font-size: 24px;
  line-height: 25px;
  cursor: pointer;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: solid 1px #fff;
}
.tooltip-popover .close-btn:hover {
  background-color: rgba(255, 255, 255, 0.1);
}
.tooltip-popover.show {
  display: block;
  animation: fadeInUp 0.3s ease;
}

/* User Dropdown */
.aa-user-dropdown-container {
  position: relative;
  display: inline-block;
}

button.aa-user-button {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 10px;
  background-color: #d8e9fd;
  border: 4px double #4a90e2;
  border-radius: 4px;
  cursor: pointer;
  font-size: 16px;
  color: #016dc0;
  transition: all 0.2s ease;
  margin-left: 12px;
}
button.aa-user-button span {
  max-width: 120px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.aa-user-button:hover,
.aa-user-button:focus {
  cursor: pointer;
  border: 4px double #4a90e2;
}

.aa-user-icon {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 14px;
  font-weight: bold;
}

.aa-dropdown-menu {
  position: absolute;
  top: 100%;
  right: 0;
  background-color: white;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  padding: 16px 14px 18px;
  margin-top: 4px;
  display: none;
  min-width: 248px;
  max-width: min(320px, 92vw);
  z-index: 1000;
  text-align: left;
}
.aa-dropdown-menu.show {
  display: block;
}

.aa-user-name {
  font-size: 18px;
  font-weight: 400;
  color: #333;
  margin-bottom: 10px;
  line-height: 1.25;
  text-transform: capitalize;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.aa-points-balance {
  font-size: 22px;
  color: #4a90e2;
  font-weight: 400;
  margin-bottom: 10px;
}

.aa-member-type {
  font-size: 14px;
  color: #666;
  margin-bottom: 16px;
  line-height: 1.35;
}

.aa-dropdown-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.aa-my-account-link,
.aa-logout-button {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  min-height: 42px;
  padding: 8px 12px;
  border-radius: 4px;
  font-size: 16px;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.aa-my-account-link {
  border: 2px solid #016dc0;
  background-color: white;
  color: #016dc0;
}
.aa-my-account-link:hover {
  background-color: #016dc0;
  color: white;
}

.aa-logout-button {
  border: 2px solid #016dc0;
  background-color: white;
  color: #016dc0;
}
.aa-logout-button:hover {
  background-color: #016dc0;
  color: white;
}

/* Dropdown Overlay */
.dropdown-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 999;
  display: none;
}
.dropdown-overlay.show {
  display: block;
}

/* ==========================================================================
   PRODUCT COMPONENTS
   ========================================================================== */
/* Product Cards */
.product-item .offer-content,
.product-details-page .offer-content {
  left: 15px !important;
}

.product-addCartBtn {
  width: 100%;
  border-radius: 3px;
  font-size: 18px;
  height: 48px;
  line-height: 48px;
  background: #0078d2;
  color: #fff;
  margin-top: auto;
  text-decoration: none;
  font-family: "AmericanSansVar", Arial, Helvetica, sans-serif !important;
}
.product-addCartBtn:hover {
  filter: brightness(85%);
  color: #fff;
}

/* Product Grid - Best Sellers */
.product-grid.bestsellers {
  margin-bottom: 15px;
}
.product-grid.bestsellers .title {
  color: #0078d2 !important;
  font-size: 32px;
  font-family: "AmericanSansLight", Helvetica, sans-serif;
  font-weight: 500;
  border-bottom: none !important;
}
.product-grid.bestsellers .item-grid {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: left;
  margin: 0 -15px;
}
.product-grid.bestsellers .item-grid .item-box {
  display: flex;
  align-items: stretch;
  margin: 0;
  width: 25%;
  padding: 0 15px;
}
.product-grid.bestsellers .item-grid .item-box .p-card {
  display: flex;
  flex-direction: column;
  width: 100%;
}

/* Points & Cart */
.points-button-container {
  display: block;
}
.points-button-container p {
  margin: 12px 0 8px;
  font-family: "AmericanSansVar", Helvetica, sans-serif;
}
.points-button-container p strong {
  font-weight: 700;
}

/* Hide discount info label on product card */
.p-card .offer-content .discount-info-label {
  display: none !important;
}

.add-to-cart-points-button {
  color: #0a78f5;
  text-decoration: underline;
}

/* ==========================================================================
   CAROUSEL STYLING
   ========================================================================== */
/* Owl Carousel Base */
.owl-carousel .owl-stage {
  display: flex;
  align-items: stretch;
  justify-content: stretch;
}
.owl-carousel .owl-stage .owl-item img {
  transition: all 0.3s ease;
}
.owl-carousel .owl-stage .owl-item img:hover {
  transform: scale(1.1);
}
.owl-carousel .owl-stage .owl-item .ocarousel-item > a {
  overflow: hidden;
  display: block;
}
.owl-carousel .item-box {
  margin: 0;
  height: 100%;
}
.owl-carousel .p-card {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.owl-carousel .p-card--info {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-grow: 1;
}

/* OCarousel Specific */
.ocarousel .category-name,
.ocarousel .manufacturer-name {
  font-family: "AmericanSansLight", Helvetica, sans-serif;
  font-size: 24px !important;
  color: #36495a;
}

.ocarousel-grid .carousel-manufacturer {
  min-height: 100px !important;
}

/* Manufacturer Carousel */
.carousel-manufacturer .owl-carousel .owl-stage {
  padding: 10px 0;
}
.carousel-manufacturer .ocarousel .manufacturer-name {
  display: none;
}
.carousel-manufacturer .owl-carousel.ocarousel .owl-nav button.owl-next,
.carousel-manufacturer .owl-carousel.ocarousel .owl-nav button.owl-prev {
  top: calc(50% - 25px);
}
.carousel-manufacturer .owl-carousel .owl-item {
  display: flex;
  align-items: center;
  justify-content: center;
}
.carousel-manufacturer .owl-carousel .owl-item .ocarousel-item {
  margin: 0 !important;
}
.carousel-manufacturer .owl-carousel .owl-item img {
  margin: 0 !important;
  height: 65px !important;
}
.carousel-manufacturer .owl-carousel .owl-stage .owl-item .ocarousel-item > a {
  overflow: visible;
}

/* ==========================================================================
   SLIDERS
   ========================================================================== */
.anywhere-slider.anywhere-slick-slider.slickless {
  padding-bottom: 12px;
}

/* ==========================================================================
   BANNERS & CALLOUTS
   ========================================================================== */
/* Featured Banners */
.featured-banner .featured-banner--label h3,
.featured-banner .featured-banner--label h4 {
  text-shadow: 2px 2px 6px #000;
}

.row.featured-banners {
  margin: 0;
}

.home-page .slider-wrapper:first-child {
  margin-top: 0 !important;
}

/* Vonality Callout */
.vonality-callout {
  margin-bottom: 50px;
  overflow: hidden;
}
.vonality-callout h1 {
  font-size: 32px;
}
.vonality-callout h2 {
  font-size: 18px;
  font-weight: 500;
  margin: 0;
  line-height: 1.2;
}
.vonality-callout .po-warning-message {
  margin: 32px 0;
}
.vonality-callout h5 {
  color: var(--ads-color-text-text-warning, #b74800);
  font-family: var(--ads-font-family-family, "AmericanSansVar");
  font-size: var(--ads-font-size-base, 16px);
  font-style: normal;
  font-weight: var(--ads-font-weight-500, 500);
  line-height: var(--ads-font-line-height-base, 24px);
  margin: 16px 0;
}
.vonality-callout h5 span::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'><path d='M12.7487 9V15.75H11.2487V9H12.7487ZM11.9987 17.25C11.3987 17.25 10.8737 17.775 10.8737 18.375C10.8737 18.975 11.3987 19.5 11.9987 19.5C12.5987 19.5 13.1237 18.975 13.1237 18.375C13.1237 17.775 12.5987 17.25 11.9987 17.25ZM22.2737 21.825C21.9737 22.275 21.5237 22.5 20.9987 22.5H2.99866C2.47366 22.5 2.02366 22.275 1.72366 21.825C1.42366 21.375 1.42366 20.85 1.64866 20.4L10.6487 2.4C10.8737 1.8 11.3987 1.5 11.9987 1.5C12.5987 1.5 13.1237 1.8 13.3487 2.325L22.3487 20.325C22.5737 20.85 22.5737 21.375 22.2737 21.825ZM20.9987 21L11.9987 3L2.99866 21H20.9987Z' fill='%23B74800'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 24px 24px;
  margin-right: 8px;
  vertical-align: middle;
  position: relative;
  top: -2px;
}
.vonality-callout.vonality-expanded .vonality-callout-content {
  display: block;
  animation: slideDown 0.3s ease-out;
}

.POWarningText {
  color: var(--ads-color-text-text-warning, #b74800);
  font-family: var(--ads-font-family-family, "AmericanSansVar");
  font-size: var(--ads-font-size-base, 16px);
  font-style: normal;
  font-weight: var(--ads-font-weight-500, 500);
  line-height: var(--ads-font-line-height-base, 24px);
  margin: 24px 0;
}
.POWarningText span::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'><path d='M12.7487 9V15.75H11.2487V9H12.7487ZM11.9987 17.25C11.3987 17.25 10.8737 17.775 10.8737 18.375C10.8737 18.975 11.3987 19.5 11.9987 19.5C12.5987 19.5 13.1237 18.975 13.1237 18.375C13.1237 17.775 12.5987 17.25 11.9987 17.25ZM22.2737 21.825C21.9737 22.275 21.5237 22.5 20.9987 22.5H2.99866C2.47366 22.5 2.02366 22.275 1.72366 21.825C1.42366 21.375 1.42366 20.85 1.64866 20.4L10.6487 2.4C10.8737 1.8 11.3987 1.5 11.9987 1.5C12.5987 1.5 13.1237 1.8 13.3487 2.325L22.3487 20.325C22.5737 20.85 22.5737 21.375 22.2737 21.825ZM20.9987 21L11.9987 3L2.99866 21H20.9987Z' fill='%23B74800'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 24px 24px;
  margin-right: 8px;
  vertical-align: middle;
  position: relative;
  top: -2px;
}
.sb-mini-cart .POWarningText {
  font-size: 14px;
  margin: 10px;
  line-height: 20px;
  text-align: left;
}
.sb-mini-cart .POWarningText span {
  display: flex;
  align-items: flex-start;
  column-gap: 8px;
}
.sb-mini-cart .POWarningText span::before {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  display: block;
  background-size: 16px 16px;
  top: 2px;
  margin: 0;
}
.shopping-cart-page .POWarningText {
  text-align: center;
}
.shopping-cart-page .POWarningText span::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'><path d='M12 1.5C6.225 1.5 1.5 6.225 1.5 12C1.5 17.775 6.225 22.5 12 22.5C17.775 22.5 22.5 17.775 22.5 12C22.5 6.225 17.775 1.5 12 1.5ZM12 21C7.05 21 3 16.95 3 12C3 7.05 7.05 3 12 3C16.95 3 21 7.05 21 12C21 16.95 16.95 21 12 21ZM12.75 6V14.25H11.25V6H12.75ZM13.125 16.875C13.125 17.475 12.6 18 12 18C11.4 18 10.875 17.475 10.875 16.875C10.875 16.275 11.4 15.75 12 15.75C12.6 15.75 13.125 16.275 13.125 16.875Z' fill='%23D6001B'/></svg>");
}

.vonality-callout-header {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 20px;
  cursor: pointer;
}

.vonality-callout-preview {
  font-weight: 500;
  color: #2c3e50;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-right: 12px;
}
.vonality-callout-preview p {
  margin: 0;
}

.vonality-toggle-arrow {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  color: #6c757d;
}
.vonality-toggle-arrow:hover {
  background: #e9ecef;
  color: #495057;
}
.vonality-toggle-arrow.vonality-expanded {
  transform: rotate(180deg);
}

.vonality-callout-content {
  display: none;
  padding: 0 20px 20px 20px;
}

.vonality-callout-full-text {
  color: #555;
  line-height: 1.7;
}
.vonality-callout-full-text p {
  line-height: 24px;
}

/* ==========================================================================
   FORMS & CHECKOUT
   ========================================================================== */
.custom-required {
  background: #e33b4e;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  position: relative;
  top: -2px;
}

.payment-error-item {
  font-size: 16px;
  color: #36495a !important;
}
.payment-error-item a {
  text-decoration: underline;
  color: #0078d2;
}
.payment-error-item a:hover {
  color: #4a90e2;
}

.poBox-shipping-info {
  padding: 12px;
  color: red;
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  font-family: Poppins, Helvetica, sans-serif;
}

/* ==========================================================================
   MISCELLANEOUS
   ========================================================================== */
.qv-modal .overview .product-name {
  padding-right: 14px !important;
}

.p-qty--counter.qv-inputs-addtocart-disabled {
  border-color: rgb(156, 156, 156);
}
.p-qty--counter.qv-inputs-addtocart-disabled .qty-input {
  opacity: 0.45;
  pointer-events: none;
  filter: grayscale(1);
}

.wishlist-product-row img {
  max-width: 120px;
}

.browser-back {
  font-size: 18px;
  margin-top: 20px;
}

/* Social Media Icons */
.icon-x {
  background-image: url("/icons/icons_0/icon-twitter.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: inline-block;
  width: 34px;
  height: 34px;
}

.icon-facebook {
  background-image: url("/icons/icons_0/icon-facebook.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: inline-block;
  width: 34px;
  height: 34px;
}

.icon-youtube {
  background-image: url("/icons/icons_0/icon-youtube.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: inline-block;
  width: 34px;
  height: 34px;
}

/* Newsletter Page */
.page.newsletter-page .page-title {
  border: none;
  margin: 0;
}
.page.newsletter-page .page-body {
  text-align: center;
  font-size: 16px;
  padding-bottom: 80px;
}

/* Rewards Callout Styles */
.rewards-callout {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-bottom: 48px;
}
.rewards-callout img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  margin-bottom: 16px;
}
.rewards-callout h3 {
  color: #36495a;
  text-align: center;
  font-family: "AmericanSansLight";
  font-size: 23.8px;
  font-style: normal;
  font-weight: 300;
  line-height: normal;
  margin-bottom: 10px;
}
.rewards-callout p {
  color: #36495a;
  text-align: right;
  font-family: "AmericanSansLight";
  font-size: 22px;
  font-style: normal;
  font-weight: 300;
  line-height: 27px; /* 122.727% */
}

/* Rewards Page */
.rewards-breadcrumb-container {
  background-color: #f6f6f6;
}

.rewards-breadcrumb.breadcrumb {
  margin: 0;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0;
}
.rewards-breadcrumb.breadcrumb ul {
  margin: 0;
  padding: 16px 15px;
}

.rewards-banner-wrapper .catgegory_top_banner {
  height: 367px;
  position: relative;
  margin-bottom: 92px;
}
.rewards-banner-wrapper .catgegory_top_banner .page-title {
  text-align: left;
  padding: 0 15px;
  max-width: 1200px;
  margin: 0 auto;
  top: 50%;
  transform: translateY(-26px);
}
.rewards-banner-wrapper .catgegory_top_banner .page-title h1 {
  color: white;
  font-size: 62px;
  font-family: "AmericanSansLight";
  font-weight: 300;
  word-wrap: break-word;
  text-align: left;
  text-shadow: none;
  line-height: 1.1;
}
.rewards-banner-wrapper .catgegory_top_banner.no-banner {
  height: auto;
  margin-bottom: 24px;
  background: none;
}
.rewards-banner-wrapper .catgegory_top_banner.no-banner .page-title {
  position: relative;
  top: auto;
  transform: none;
  padding: 24px 15px;
}
.rewards-banner-wrapper .catgegory_top_banner.no-banner .page-title h1 {
  color: #36495a !important;
  font-family: "AmericanSansLight", Helvetica, sans-serif;
  font-size: 2.5rem;
  text-align: center;
  font-weight: 400;
  margin-top: 24px;
}
.rewards-banner-wrapper .catgegory_top_banner.no-banner .page-title .subtitle {
  color: #666 !important;
  text-shadow: none;
}

/* Apple category template: give NopStation category banner a visible height */
.category-apple-banner-wrapper.container-fluid {
  padding: 0 0 34px 0;
  border-bottom: 1px solid #e0e0e0;
  margin-bottom: 48px;
}
.category-apple-banner-wrapper.container-fluid.no-banner {
  margin-bottom: 24px;
}
.category-apple-banner-wrapper.container-fluid.no-banner > .page-header {
  padding: 30px 0 0 0 !important;
}
.category-apple-banner-wrapper.container-fluid.no-banner > .page-header .page-header {
  padding: 0 !important;
}
.category-apple-banner-wrapper.container-fluid .page-header.py-50 {
  padding: 0;
}
.category-apple-banner-wrapper.container-fluid .catgegory_top_banner {
  min-height: 467px;
  position: relative;
}
.category-apple-banner-wrapper.container-fluid .catgegory_top_banner.no-banner {
  min-height: auto;
}
.category-apple-banner-wrapper.container-fluid .catgegory_top_banner.no-banner .catgegory_top_banner_image {
  display: none;
}
.category-apple-banner-wrapper.container-fluid .catgegory_top_banner.no-banner .page-title {
  padding-top: 24px;
}
.category-apple-banner-wrapper.container-fluid .catgegory_top_banner .catgegory_top_banner_image {
  background-size: contain;
  top: 140px;
}
.category-apple-banner-wrapper.container-fluid .catgegory_top_banner .page-title {
  padding-top: 48px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  font-family: "SF Pro Display", Helvetica Neue, Helvetica, Arial, sans-serif;
}
.category-apple-banner-wrapper.container-fluid .catgegory_top_banner .page-title * {
  box-shadow: none !important;
  color: black !important;
  text-shadow: none !important;
}
.category-apple-banner-wrapper.container-fluid .catgegory_top_banner .page-title h1 {
  font-size: 42px;
  font-weight: 500;
  font-family: "SF Pro Display", Helvetica Neue, Helvetica, Arial, sans-serif;
}
.category-apple-banner-wrapper.container-fluid .catgegory_top_banner .page-title .subtitle {
  font-size: 18px;
}

.category-page.apple-category-page {
  background-color: #ebedef;
}
.category-page.apple-category-page .page-body * {
  font-family: "SF Pro Display", Helvetica Neue, Helvetica, Arial, sans-serif;
}
.category-page.apple-category-page .page-body * h1, .category-page.apple-category-page .page-body * h2, .category-page.apple-category-page .page-body * h3 {
  font-family: "SF Pro Display", Helvetica Neue, Helvetica, Arial, sans-serif;
  font-weight: 400;
  color: #000 !important;
}
.category-page.apple-category-page .page-body * h1 {
  font-weight: 600;
  font-size: 32px;
  text-align: left;
}
.category-page.apple-category-page .page-body * .category-tile__title {
  font-family: "SF Pro Display", Helvetica Neue, Helvetica, Arial, sans-serif;
  font-weight: 500;
}
.category-page.apple-category-page .sub-category-grid {
  padding-top: 40px !important;
}

.no-rewards-callout {
  text-align: center;
  margin: 58px 0 90px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 24px;
  border-radius: 8px;
  border: 1px solid var(--ads-color-border-border-secondary, #d0dae0);
  background: var(--ads-color-bg-bg-fill-alt, #f9fafb);
}
.no-rewards-callout > div {
  gap: 8px;
}
.no-rewards-callout h2 {
  text-align: center;
}
.no-rewards-callout p {
  text-align: center;
  color: var(--Aileron-light-mode-text-text-default, #181e25);
  /* ads/text/paragraph/paragraph-sm */
  font-family: var(--ads-font-family-family, "AmericanSansVar");
  font-size: var(--ads-font-size-sm, 14px);
  font-style: normal;
  font-weight: var(--ads-font-weight-400, 400);
  line-height: var(--ads-font-line-height-250, 20px); /* 142.857% */
}
.no-rewards-callout p strong {
  font-size: 16px;
}
.no-rewards-callout p a {
  color: var(--ads-color-text-text-interactive, #006dc0);
  /* ads-semantics/ads/text/asv/component/component-label */
  font-family: var(--ads-font-family-americansans-var, "AmericanSansVar");
  font-size: var(--ads-font-size-base, 16px);
  font-style: normal;
  font-weight: var(--ads-font-weight-americansans-var-400, 400);
  line-height: var(--ads-font-line-height-300, 24px); /* 150% */
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: none;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}

.category-page.rewards-page {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 15px;
}
.category-page.rewards-page .page-body .category-description {
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 0 85px;
}
@media (max-width: 768px) {
  .category-page.rewards-page .page-body .category-description {
    padding: 0;
  }
}
.category-page.rewards-page .page-body .category-description h1 {
  font-size: 32px;
  margin: 0;
}
.category-page.rewards-page .page-body .category-description h5 {
  color: var(--ads-color-text-text-warning, #b74800);
  font-family: var(--ads-font-family-americansans-var, "AmericanSansVar");
  font-size: var(--ads-font-size-base, 16px);
  font-style: normal;
  font-weight: var(--ads-font-weight-500, 500);
  line-height: var(--ads-font-line-height-base, 24px);
  margin: 16px 0;
}
.category-page.rewards-page .page-body .category-description h5 span::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'><path d='M12.7487 9V15.75H11.2487V9H12.7487ZM11.9987 17.25C11.3987 17.25 10.8737 17.775 10.8737 18.375C10.8737 18.975 11.3987 19.5 11.9987 19.5C12.5987 19.5 13.1237 18.975 13.1237 18.375C13.1237 17.775 12.5987 17.25 11.9987 17.25ZM22.2737 21.825C21.9737 22.275 21.5237 22.5 20.9987 22.5H2.99866C2.47366 22.5 2.02366 22.275 1.72366 21.825C1.42366 21.375 1.42366 20.85 1.64866 20.4L10.6487 2.4C10.8737 1.8 11.3987 1.5 11.9987 1.5C12.5987 1.5 13.1237 1.8 13.3487 2.325L22.3487 20.325C22.5737 20.85 22.5737 21.375 22.2737 21.825ZM20.9987 21L11.9987 3L2.99866 21H20.9987Z' fill='%23B74800'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 24px 24px;
  margin-right: 8px;
  vertical-align: middle;
  position: relative;
  top: -2px;
}
.category-page.rewards-page .page-body .category-description p {
  color: #36495A;
  text-align: center;
  font-family: "AmericanSansLight";
  font-size: 17.9px;
  font-style: normal;
  font-weight: 300;
  line-height: 21.6px; /* 120.67% */
  margin: 0;
}
.category-page.rewards-page .page-body .category-description p a {
  color: var(--ads-color-text-text-interactive, #006DC0);
  /* ads-semantics/ads/text/asv/component/component-label */
  font-family: var(--ads-font-family-americansans-var, "AmericanSansVar");
  font-size: var(--ads-font-size-base, 16px);
  font-style: normal;
  font-weight: var(--ads-font-weight-americansans-var-400, 400);
  line-height: var(--ads-font-line-height-300, 24px); /* 150% */
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: none;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}
.category-page.rewards-page .page-body .category-description p a.new-window-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.category-page.rewards-page .page-body .category-description p a.new-window-link::after {
  content: "";
  display: inline-block;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'><path d='M14 3V10C14 10.55 13.55 11 13 11H8.5V10H13V3H6V7.5H5V3C5 2.45 5.45 2 6 2H13C13.55 2 14 2.45 14 3ZM9 13H3V7H4V6H3C2.45 6 2 6.45 2 7V13C2 13.55 2.45 14 3 14H9C9.55 14 10 13.55 10 13V12H9V13ZM4.7 12L10.5 6.2V9H11.5V4.5H7V5.5H9.8L4 11.3L4.7 12Z' fill='%23006DC0'/></svg>");
  background-repeat: no-repeat;
  background-size: 16px 16px;
  width: 16px;
  height: 16px;
}
.category-page.rewards-page .catalog-preview-container .preview-header {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-bottom: 48px;
}
.category-page.rewards-page .catalog-preview-container .preview-header h2 {
  font-size: 32px;
  margin: 0;
}
.category-page.rewards-page .catalog-preview-container .preview-header p {
  font-size: 18px;
  margin: 0;
}

.explore-rewards .page-header--content .topic-block-body h1 {
  margin: 0;
}
.explore-rewards .page-header--content .topic-block-body p {
  color: #36495A;
  text-align: center;
  font-family: "AmericanSansLight";
  font-size: 17.9px;
  font-style: normal;
  font-weight: 300;
  line-height: 21.6px; /* 120.67% */
  margin: 0;
}
.explore-rewards .page-header--content .topic-block-body p a {
  color: var(--ads-color-text-text-interactive, #006DC0);
  /* ads-semantics/ads/text/asv/component/component-label */
  font-family: var(--ads-font-family-americansans-var, "AmericanSansVar");
  font-size: var(--ads-font-size-base, 16px);
  font-style: normal;
  font-weight: var(--ads-font-weight-americansans-var-400, 400);
  line-height: var(--ads-font-line-height-300, 24px); /* 150% */
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: none;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}
.explore-rewards .page-header--content .topic-block-body p a.new-window-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.explore-rewards .page-header--content .topic-block-body p a.new-window-link::after {
  content: "";
  display: inline-block;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'><path d='M14 3V10C14 10.55 13.55 11 13 11H8.5V10H13V3H6V7.5H5V3C5 2.45 5.45 2 6 2H13C13.55 2 14 2.45 14 3ZM9 13H3V7H4V6H3C2.45 6 2 6.45 2 7V13C2 13.55 2.45 14 3 14H9C9.55 14 10 13.55 10 13V12H9V13ZM4.7 12L10.5 6.2V9H11.5V4.5H7V5.5H9.8L4 11.3L4.7 12Z' fill='%23006DC0'/></svg>");
  background-repeat: no-repeat;
  background-size: 16px 16px;
  width: 16px;
  height: 16px;
}
.explore-rewards .page-header--content .topic-block-body .explore-header {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-bottom: 48px;
}

.category-page.explore-rewards-subcategories .category-description {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.category-page.explore-rewards-subcategories .category-description h1 {
  margin: 0;
}
.category-page.explore-rewards-subcategories .category-description p {
  color: #36495A;
  text-align: center;
  font-family: "AmericanSansLight";
  font-size: 17.9px;
  font-style: normal;
  font-weight: 300;
  line-height: 21.6px; /* 120.67% */
  margin: 0;
}
.category-page.explore-rewards-subcategories .p-card--hvr-btn .add-btn:first-of-type {
  display: none !important;
}
.category-page.explore-rewards-subcategories .product-grid .justify-content-left {
  justify-content: center !important;
}

/* Rewards Accordion Styles */
.rewards-accordion-container {
  margin: 40px 0 120px;
}

.rewards-accordion-item {
  padding: 28px 0;
  overflow: hidden;
  background: #fff;
  transition: box-shadow 0.3s ease, border-color 0.3s ease;
  border-top: 1px solid #e0e0e0;
}
.rewards-accordion-item.is-open .rewards-accordion-toggle-icon {
  transform: rotate(180deg);
}
.rewards-accordion-item.is-open .rewards-accordion-content {
  display: block;
}

.rewards-accordion-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  cursor: pointer;
  transition: background-color 0.3s ease;
  user-select: none;
}

.rewards-accordion-header-content {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 16px;
}
.rewards-accordion-header-content ul {
  display: flex;
  align-items: center;
  gap: 32px;
  margin: 0;
  padding: 0;
}
.rewards-accordion-header-content ul li {
  color: #36495a;
  font-family: "AmericanSansLight";
  font-size: 20px;
  font-style: normal;
  font-weight: 300;
  line-height: 27px;
}

.rewards-accordion-icon {
  width: 48px;
  height: 48px;
  border-radius: 8px;
  overflow: hidden;
  flex-shrink: 0;
}
.rewards-accordion-icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.rewards-accordion-title {
  color: #36495a;
  font-family: "AmericanSansLight";
  font-size: 27px;
  font-style: normal;
  font-weight: 300;
  line-height: 38.4px;
  margin: 0;
}

.rewards-accordion-toggle-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  color: #0860c4;
  transition: transform 0.3s ease;
}

.rewards-accordion-content {
  display: none;
  padding: 0;
}

.rewards-accordion-products-container {
  position: relative;
  min-height: 100px;
}
.rewards-accordion-products-container .ajax-products-busy {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
}
.rewards-accordion-products-container .loading-spinner {
  width: 40px;
  height: 40px;
  border: 3px solid #e0e0e0;
  border-top-color: #0860c4;
  border-radius: 50%;
  animation: rewards-spin 0.8s linear infinite;
}
.rewards-accordion-products-container .product-grid {
  margin: 0;
}
.rewards-accordion-products-container .product-grid .item-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.rewards-accordion-products-container .product-grid .item-box {
  width: 100%;
  margin: 0;
  padding: 0;
}
.rewards-accordion-products-container .product-grid .justify-content-left {
  justify-content: center !important;
}
.rewards-accordion-products-container .p-grid {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -24px;
}
.rewards-accordion-products-container .p-grid .p-item {
  flex: 0 0 25%;
  max-width: 25%;
  padding: 0 12px;
  margin-bottom: 24px;
}
.rewards-accordion-products-container .p-grid .p-item.col-6, .rewards-accordion-products-container .p-grid .p-item.col-md-4 {
  flex: 0 0 25%;
  max-width: 25%;
}
.rewards-accordion-products-container .no-result {
  text-align: center;
  padding: 40px 20px;
  color: #666;
  font-size: 16px;
}
.rewards-accordion-products-container .pager {
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid #e0e0e0;
}

.order-details-page .section.products .table-wrapper .data-table .sku .sku-number {
  white-space: nowrap;
}

@keyframes rewards-spin {
  to {
    transform: rotate(360deg);
  }
}
/* Responsive adjustments for rewards accordion */
@media (max-width: 1024px) {
  .rewards-accordion-products-container .product-grid .item-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
  .rewards-accordion-products-container .p-grid .p-item,
  .rewards-accordion-products-container .p-grid .p-item.col-6,
  .rewards-accordion-products-container .p-grid .p-item.col-md-4 {
    flex: 0 0 50%;
    max-width: 50%;
  }
}
@media (max-width: 768px) {
  .rewards-accordion-header {
    padding: 16px;
  }
  .rewards-accordion-icon {
    width: 40px;
    height: 40px;
  }
  .rewards-accordion-title {
    font-size: 16px;
  }
  .rewards-accordion-products-container {
    padding: 16px;
  }
  .rewards-accordion-products-container .product-grid .item-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
  .rewards-accordion-products-container .p-grid {
    margin: 0 -8px;
  }
  .rewards-accordion-products-container .p-grid .p-item,
  .rewards-accordion-products-container .p-grid .p-item.col-6,
  .rewards-accordion-products-container .p-grid .p-item.col-md-4 {
    flex: 0 0 50%;
    max-width: 50%;
    padding: 0 8px;
    margin-bottom: 16px;
  }
}
@media (max-width: 480px) {
  .rewards-accordion-header-content {
    gap: 12px;
  }
  .rewards-accordion-icon {
    width: 32px;
    height: 32px;
  }
  .rewards-accordion-title {
    font-size: 14px;
  }
  .rewards-accordion-products-container .product-grid .item-grid {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
}
.rewards-tier-label {
  display: inline-flex;
  padding: var(--ads-space-050, 4px);
  justify-content: center;
  align-items: center;
  gap: var(--ads-space-025, 2px);
  border-radius: var(--ads-border-radius-container, 8px);
  background: var(--ads-color-bg-bg-fill-hint-blue, #e0f2ff);
  color: var(--ads-color-text-text-on-fill-hint-blue, #005ca4);
  white-space: nowrap;
  /* ads/text/component/component-label-sm-medium */
  font-family: var(--ads-font-family-family, "AmericanSansVar");
  font-size: var(--ads-font-size-sm, 14px);
  font-style: normal;
  font-weight: var(--ads-font-weight-500, 500);
  line-height: var(--ads-font-line-height-250, 20px); /* 142.857% */
}
.rewards-tier-label::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M9.45 10.65L8.75 11.3L8.9 12.25C8.9 12.3 8.85 12.35 8.8 12.35L8 11.9L7.15 12.35C7.1 12.4 7 12.35 7.05 12.25L7.2 11.3L6.5 10.65C6.45 10.6 6.5 10.5 6.55 10.5L7.5 10.35L7.9 9.5C7.95 9.45 8 9.45 8.05 9.5L8.45 10.35L9.4 10.5C9.5 10.55 9.5 10.6 9.45 10.65ZM14.5 5.5V7C14.5 7.55 14.05 8 13.5 8H2.5C1.95 8 1.5 7.55 1.5 7V5.5C1.5 4.95 1.95 4.5 2.5 4.5H5.1C4.45 3.9 4 3.15 4 2.5C4 1.75 4.75 1 5.5 1C6.65 1 7.5 2.05 8 3.1C8.5 2.05 9.35 1 10.5 1C11.25 1 12 1.75 12 2.5C12 3.15 11.55 3.9 10.9 4.5H13.5C14.05 4.5 14.5 4.95 14.5 5.5ZM8.55 4.5C9.8 4.45 11 3.2 11 2.5C11 2.3 10.7 2 10.5 2C9.55 2 8.8 3.5 8.55 4.5ZM5 2.5C5 3.2 6.2 4.45 7.45 4.5C7.2 3.5 6.45 2 5.5 2C5.3 2 5 2.3 5 2.5ZM13.5 5.5H2.5V7H13.5V5.5ZM12 14H4V8.5H3V14C3 14.55 3.45 15 4 15H12C12.55 15 13 14.55 13 14V8.5H12V14Z' fill='%23006DC0'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.rewards-tier-label.signature {
  background: var(--ads-color-bg-bg-fill-hint-green, #e6f6ea);
  color: var(--ads-color-text-text-on-fill-hint-green, #1f7a3a);
}
.rewards-tier-label.signature::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M9.45 10.65L8.75 11.3L8.9 12.25C8.9 12.3 8.85 12.35 8.8 12.35L8 11.9L7.15 12.35C7.1 12.4 7 12.35 7.05 12.25L7.2 11.3L6.5 10.65C6.45 10.6 6.5 10.5 6.55 10.5L7.5 10.35L7.9 9.5C7.95 9.45 8 9.45 8.05 9.5L8.45 10.35L9.4 10.5C9.5 10.55 9.5 10.6 9.45 10.65ZM14.5 5.5V7C14.5 7.55 14.05 8 13.5 8H2.5C1.95 8 1.5 7.55 1.5 7V5.5C1.5 4.95 1.95 4.5 2.5 4.5H5.1C4.45 3.9 4 3.15 4 2.5C4 1.75 4.75 1 5.5 1C6.65 1 7.5 2.05 8 3.1C8.5 2.05 9.35 1 10.5 1C11.25 1 12 1.75 12 2.5C12 3.15 11.55 3.9 10.9 4.5H13.5C14.05 4.5 14.5 4.95 14.5 5.5ZM8.55 4.5C9.8 4.45 11 3.2 11 2.5C11 2.3 10.7 2 10.5 2C9.55 2 8.8 3.5 8.55 4.5ZM5 2.5C5 3.2 6.2 4.45 7.45 4.5C7.2 3.5 6.45 2 5.5 2C5.3 2 5 2.3 5 2.5ZM13.5 5.5H2.5V7H13.5V5.5ZM12 14H4V8.5H3V14C3 14.55 3.45 15 4 15H12C12.55 15 13 14.55 13 14V8.5H12V14Z' fill='%23307844'/%3E%3C/svg%3E");
}

/* Rewards Product Overview */
.rewards-product-overview.overview .product-price {
  margin: 0;
}
.rewards-product-overview.overview .points-button-container {
  display: none;
}
.rewards-product-overview.overview .rewards-disclaimer {
  color: var(--ads-color-text-text-warning, #b74800);
  margin-top: 44px;
  /* ads/text/paragraph/paragraph-base-medium */
  font-family: var(--ads-font-family-family, "AmericanSansVar");
  font-size: var(--ads-font-size-base, 16px);
  font-style: normal;
  font-weight: var(--ads-font-weight-500, 500);
  line-height: var(--ads-font-line-height-base, 24px); /* 150% */
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  align-self: stretch;
  gap: 8px;
}
.rewards-product-overview.overview .rewards-disclaimer svg {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  min-width: 24px;
  min-height: 24px;
}
.rewards-product-overview.overview .product-share-button, .rewards-product-overview.overview .overview-buttons {
  display: none !important;
}

/* rewards product quickview */
.rewards-product-quickview #product-details-form input[type=button]:disabled {
  opacity: 0.55;
  filter: grayscale(100%);
  cursor: not-allowed !important;
}
.rewards-product-quickview #product-details-form .input-group.p-qty--counter .qty-input:disabled {
  opacity: 0.55;
  filter: grayscale(100%);
  cursor: not-allowed !important;
}
.rewards-product-quickview #product-details-form .p-qty--counter.disabled .input-group-btn .btn-disabled, .rewards-product-quickview #product-details-form .p-qty--counter.disabled .input-group-btn .btn-plus--details {
  color: rgb(173, 173, 173);
}
.rewards-product-quickview .rewards-tier-label {
  margin-bottom: 12px;
}

.rewards-product-overview .input-group.p-qty--counter button:disabled {
  opacity: 0.55;
  filter: grayscale(100%);
  cursor: not-allowed !important;
}
.rewards-product-overview input[type=button]:disabled {
  opacity: 0.55;
  filter: grayscale(100%);
  cursor: not-allowed !important;
}

.p-card.product-tile-reward .p-card--btn-icons {
  display: none !important;
}

.rewards-product-details-page .sharethis-inline-share-buttons {
  display: none;
}

.product-essential .attributes label {
  font-weight: var(--ads-font-weight-400, 400);
  font-size: var(--ads-font-size-base, 16px);
  font-family: var(--ads-font-family-family, "AmericanSansVar");
  font-style: normal;
  line-height: var(--ads-font-line-height-base, 24px);
  display: inline;
}

.product-essential .attributes dt {
  white-space: unset;
}

.product-essential .attributes input[type=text] {
  width: 100%;
  border-radius: 4px;
}

.product-essential .attributes textarea {
  width: 100%;
  border-radius: 4px;
}

.product-essential .attributes select {
  width: 33%;
  border-radius: 4px;
}

.product-essential .attributes .date-picker-wrapper {
  width: 100%;
  display: flex;
  gap: 8px;
}

.product-essential .attribute-messaging {
  margin-top: 24px;
}
.product-essential .attribute-messaging p {
  color: var(--ads-color-text-text-default, #181e25);
  font-family: var(--ads-font-family-family, "AmericanSansVar");
  font-size: var(--ads-font-size-base, 16px);
}
.product-essential .attribute-messaging p.messaging-alert {
  color: var(--ads-color-text-text-warning, #b74800);
}

.sb {
  width: 330px !important;
}

.POWarningMessage {
  text-align: center;
  margin: 16px 0;
  color: var(--ads-color-text-text-warning, #B74800) !important;
  /* ads/text/paragraph/paragraph-base-medium */
  font-family: var(--ads-font-family-family, "AmericanSansVar");
  font-size: var(--ads-font-size-base, 16px);
  font-style: normal;
  font-weight: var(--ads-font-weight-500, 500);
  line-height: var(--ads-font-line-height-base, 24px); /* 150% */
  word-wrap: break-word;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 8px;
}
.POWarningMessage::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'><path d='M12.7487 9V15.75H11.2487V9H12.7487ZM11.9987 17.25C11.3987 17.25 10.8737 17.775 10.8737 18.375C10.8737 18.975 11.3987 19.5 11.9987 19.5C12.5987 19.5 13.1237 18.975 13.1237 18.375C13.1237 17.775 12.5987 17.25 11.9987 17.25ZM22.2737 21.825C21.9737 22.275 21.5237 22.5 20.9987 22.5H2.99866C2.47366 22.5 2.02366 22.275 1.72366 21.825C1.42366 21.375 1.42366 20.85 1.64866 20.4L10.6487 2.4C10.8737 1.8 11.3987 1.5 11.9987 1.5C12.5987 1.5 13.1237 1.8 13.3487 2.325L22.3487 20.325C22.5737 20.85 22.5737 21.375 22.2737 21.825ZM20.9987 21L11.9987 3L2.99866 21H20.9987Z' fill='%23B74800'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 24px 24px;
  min-width: 24px;
  min-height: 24px;
}
.sb-mini-cart .POWarningMessage {
  text-align: left;
  margin: 12px 10px;
  justify-content: flex-start;
}
.POWarningMessage .rewards-product-overview {
  text-align: left;
  justify-content: flex-start;
}
.product-details-page .POWarningMessage {
  text-align: left;
  justify-content: flex-start;
}
.shopping-cart-page .POWarningMessage {
  color: var(--ads-color-text-text-error, #D6001B) !important;
}
.shopping-cart-page .POWarningMessage::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'><path d='M12 1.5C6.225 1.5 1.5 6.225 1.5 12C1.5 17.775 6.225 22.5 12 22.5C17.775 22.5 22.5 17.775 22.5 12C22.5 6.225 17.775 1.5 12 1.5ZM12 21C7.05 21 3 16.95 3 12C3 7.05 7.05 3 12 3C16.95 3 21 7.05 21 12C21 16.95 16.95 21 12 21ZM12.75 6V14.25H11.25V6H12.75ZM13.125 16.875C13.125 17.475 12.6 18 12 18C11.4 18 10.875 17.475 10.875 16.875C10.875 16.275 11.4 15.75 12 15.75C12.6 15.75 13.125 16.275 13.125 16.875Z' fill='%23D6001B'/></svg>");
}

.message-error.rewards-cart-warning {
  margin: 12px 0 0 0 !important;
  text-align: left !important;
}
.message-error.rewards-cart-warning ul {
  margin: 0 !important;
  list-style: none !important;
}
.message-error.rewards-cart-warning ul li {
  color: var(--ads-color-text-text-error, #D6001B);
  /* ads/text/paragraph/paragraph-base-medium */
  font-family: var(--ads-font-family-family, "AmericanSansVar");
  font-size: var(--ads-font-size-base, 16px);
  font-style: normal;
  font-weight: var(--ads-font-weight-500, 500);
  line-height: var(--ads-font-line-height-base, 24px); /* 150% */
  display: flex;
  align-items: center;
  gap: 8px;
}
.message-error.rewards-cart-warning ul li::before {
  content: "";
  color: var(--ads-color-text-text-error, #D6001B);
  display: inline-block;
  width: 24px;
  height: 24px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='21' height='21' viewBox='0 0 21 21' fill='none'><path d='M10.5 0C4.725 0 0 4.725 0 10.5C0 16.275 4.725 21 10.5 21C16.275 21 21 16.275 21 10.5C21 4.725 16.275 0 10.5 0ZM10.5 19.5C5.55 19.5 1.5 15.45 1.5 10.5C1.5 5.55 5.55 1.5 10.5 1.5C15.45 1.5 19.5 5.55 19.5 10.5C19.5 15.45 15.45 19.5 10.5 19.5ZM11.25 4.5V12.75H9.75V4.5H11.25ZM11.625 15.375C11.625 15.975 11.1 16.5 10.5 16.5C9.9 16.5 9.375 15.975 9.375 15.375C9.375 14.775 9.9 14.25 10.5 14.25C11.1 14.25 11.625 14.775 11.625 15.375Z' fill='%23D6001B'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 24px 24px;
}
.message-error.vonality-rewards-item-warning {
  margin: 12px 0 8px !important;
  text-align: left !important;
}
.message-error.vonality-rewards-item-warning ul {
  margin: 0 !important;
  list-style: none !important;
}
.message-error.vonality-rewards-item-warning ul li {
  color: var(--ads-color-text-text-error, #D6001B);
  /* ads/text/paragraph/paragraph-base-medium */
  font-family: var(--ads-font-family-family, "AmericanSansVar");
  font-size: var(--ads-font-size-base, 16px);
  font-style: normal;
  font-weight: var(--ads-font-weight-500, 500);
  line-height: var(--ads-font-line-height-base, 24px); /* 150% */
  display: flex;
  align-items: center;
  gap: 8px;
}
.message-error.vonality-rewards-item-warning ul li::before {
  content: "";
  color: var(--ads-color-text-text-error, #D6001B);
  display: inline-block;
  width: 24px;
  height: 24px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='21' height='21' viewBox='0 0 21 21' fill='none'><path d='M10.5 0C4.725 0 0 4.725 0 10.5C0 16.275 4.725 21 10.5 21C16.275 21 21 16.275 21 10.5C21 4.725 16.275 0 10.5 0ZM10.5 19.5C5.55 19.5 1.5 15.45 1.5 10.5C1.5 5.55 5.55 1.5 10.5 1.5C15.45 1.5 19.5 5.55 19.5 10.5C19.5 15.45 15.45 19.5 10.5 19.5ZM11.25 4.5V12.75H9.75V4.5H11.25ZM11.625 15.375C11.625 15.975 11.1 16.5 10.5 16.5C9.9 16.5 9.375 15.975 9.375 15.375C9.375 14.775 9.9 14.25 10.5 14.25C11.1 14.25 11.625 14.775 11.625 15.375Z' fill='%23D6001B'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 24px 24px;
}
.mini-cart--p-overview .message-error.vonality-rewards-item-warning ul li {
  font-size: 12px !important;
  line-height: 16px;
  display: flex;
  align-items: center;
}
.mini-cart--p-overview .message-error.vonality-rewards-item-warning ul li::before {
  width: 18px !important;
  min-width: 18px !important;
  max-width: 18px !important;
  height: 16px !important;
  display: inline-block;
  flex: 0 0 18px !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'><circle cx='6' cy='6' r='5.5' stroke='%23D6001B' stroke-width='1'/><rect x='5.25' y='2.25' width='1.5' height='5' fill='%23D6001B'/><rect x='5.25' y='8.5' width='1.5' height='1.5' fill='%23D6001B'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px 16px;
}
.message-error#vonality-rewards-top-warning {
  color: var(--ads-color-text-text-error, #D6001B);
  /* ads/text/paragraph/paragraph-base-medium */
  font-family: var(--ads-font-family-family, "AmericanSansVar");
  font-size: var(--ads-font-size-base, 16px);
  font-style: normal;
  font-weight: var(--ads-font-weight-500, 500);
  line-height: var(--ads-font-line-height-base, 24px); /* 150% */
  display: flex;
  align-items: center;
  text-align: center;
  justify-content: center;
  gap: 8px;
}
.message-error#vonality-rewards-top-warning ul {
  margin: 0 !important;
  list-style: none !important;
}
.message-error#vonality-rewards-top-warning ul li {
  display: flex;
  align-items: center;
  gap: 8px;
}
.message-error#vonality-rewards-top-warning ul li::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='21' height='21' viewBox='0 0 21 21' fill='none'><path d='M10.5 0C4.725 0 0 4.725 0 10.5C0 16.275 4.725 21 10.5 21C16.275 21 21 16.275 21 10.5C21 4.725 16.275 0 10.5 0ZM10.5 19.5C5.55 19.5 1.5 15.45 1.5 10.5C1.5 5.55 5.55 1.5 10.5 1.5C15.45 1.5 19.5 5.55 19.5 10.5C19.5 15.45 15.45 19.5 10.5 19.5ZM11.25 4.5V12.75H9.75V4.5H11.25ZM11.625 15.375C11.625 15.975 11.1 16.5 10.5 16.5C9.9 16.5 9.375 15.975 9.375 15.375C9.375 14.775 9.9 14.25 10.5 14.25C11.1 14.25 11.625 14.775 11.625 15.375Z' fill='%23D6001B'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 24px 24px;
}

.mini-cart--p-overview .rewards-product-overview .rewards-tier-label {
  margin: 4px 0;
}
.mini-cart--p-overview button:disabled {
  opacity: 0.55;
  filter: grayscale(100%);
  cursor: not-allowed !important;
}

#shopping-cart-form .p-qty--counter button:disabled {
  opacity: 0.55;
  filter: grayscale(100%);
  cursor: not-allowed !important;
}

/* ==========================================================================
   ANIMATIONS
   ========================================================================== */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* ==========================================================================
   MEDIA QUERIES
   ========================================================================== */
/* Desktop - Extra Large (1290px and down) */
@media (max-width: 1290px) {
  .tooltip-popover {
    left: calc(-120% - 60px);
  }
  .tooltip-popover .tooltip-arrow {
    left: 85%;
  }
}
/* Above page chrome but within .header (z-index:50); keeps dropdown paint order sane */
.header-menu.mega-menu {
  z-index: 100 !important;
}

/* Desktop - Large screens (992px and up) */
@media (min-width: 992px) {
  /* Mega Menu */
  .mega-menu .nav-featured {
    display: none;
  }
  .mega-menu .nav-link--label {
    background: transparent !important;
    color: #36495a !important;
    text-align: left !important;
  }
  .mega-menu .nav-link--label span {
    display: block;
  }
  .mega-menu .nav-link--label:hover {
    text-decoration: underline;
  }
  .mega-menu .nav-link--label:before, .mega-menu .nav-link--label:after {
    display: none;
  }
  .mega-menu ul.navbar-nav > li > a,
  .mega-menu ul.navbar-nav > li > ul > li.dropdown > a {
    font-family: "AmericanSansVar", Helvetica, sans-serif;
    font-size: 14px;
    font-weight: 600;
    padding: 0 12px !important;
    height: 80px;
  }
  .mega-menu ul.navbar-nav > li > a .rewards-counter,
  .mega-menu ul.navbar-nav > li > ul > li.dropdown > a .rewards-counter {
    position: relative;
    top: -10px;
    background-color: #0078D2;
    color: white;
    width: 18px;
    height: 18px;
    padding: 2px 5px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #fff;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, 0.3);
    font-family: Linearicons-Free;
  }
  .mega-menu ul.navbar-nav > li > ul > li.dropdown > a:hover {
    color: rgb(8, 96, 196);
  }
  .mega-menu .sublist li a,
  .mega-menu .sublist li a .nav-link--label {
    color: rgb(8, 96, 196) !important;
    font-family: "AmericanSansVar", Arial, Helvetica, sans-serif !important;
  }
  .mega-menu .sublist li a:hover {
    text-decoration: underline;
  }
  .mega-menu .dropdown-menu {
    box-shadow: 0px 3px 21px rgba(0, 0, 0, 0.2) !important;
    border-radius: 0px !important;
    z-index: 101 !important;
  }
  .mega-menu .dropdown-menu .justify-content-between {
    justify-content: left !important;
  }
  .mega-menu .dropdown-menu:before {
    content: "";
    position: absolute;
    left: 215px;
    top: -5px;
    width: 10px;
    height: 10px;
    transform: rotate(45deg);
    box-shadow: 3px 3px 21px rgba(0, 0, 0, 0.2) !important;
    background-color: #fbfbfb;
  }
  .mega-menu .dropdown-menu.categories-menu:before {
    left: 235px;
  }
  .mega-menu .nav-cats > .nav-item > .nav-link {
    padding: 8px !important;
  }
  .mega-menu .megaMenu-dropdownHeading {
    font-size: 18px;
    font-weight: 600;
    color: #626262;
    padding: 0 0 10px 15px;
    margin: 0;
  }
  .mega-menu .categories-menu .megaMenu-dropdownHeading {
    padding: 0 0 10px 7px;
  }
}
/* Tablet - Large (991px and down) */
@media (max-width: 991px) {
  .tooltip-popover {
    left: -218px;
  }
  .product-grid.bestsellers .item-grid .item-box {
    width: 50%;
  }
  .sb .nav-tabs .nav-link .rewards-counter {
    position: relative;
    top: -8px;
    right: -3px;
    background-color: #0860c4;
    color: white;
    width: 14px;
    height: 14px;
    padding: 2px 5px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #fff;
    font-family: Inter;
    font-size: 8px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
  }
}
/* Tablet - Small (768px and down) */
@media (max-width: 768px) {
  button.aa-user-button {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 2px 8px;
    background-color: #d8e9fd;
    border: 4px double #4a90e2;
    border-radius: 4px;
    cursor: pointer;
    font-size: 12px;
    color: #016dc0;
    transition: all 0.2s ease;
    margin-left: 0px;
  }
  .aa-user-button:hover,
  .aa-user-button:focus {
    cursor: pointer;
    border: 4px double #4a90e2;
  }
  .aa-user-icon {
    width: 15px;
    height: 15px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 14px;
    font-weight: bold;
  }
  .vonality-container {
    padding: 0 10px;
  }
  .vonality-callout-header {
    padding: 12px 16px;
  }
  .vonality-callout-content {
    padding: 0 16px 16px 16px;
  }
  .vonality-callout-preview {
    font-size: 14px;
    white-space: normal;
  }
}
/* Mobile - Large (480px and down) */
@media (max-width: 480px) {
  .btn-customLogin {
    padding: 0 8px;
    font-size: 13px;
    height: 30px;
    line-height: 30px;
  }
  .btn {
    padding: 14px 24px;
    font-size: 16px;
    min-width: 100px;
  }
  .tooltip-popover .tooltip-arrow {
    left: 80%;
  }
  .tooltip-popover .close-btn {
    width: 20px;
    height: 20px;
    line-height: 20px;
    font-size: 18px;
  }
  button.aa-user-button span {
    max-width: 80px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}
/* Mobile - Small (425px and down) */
@media (max-width: 425px) {
  .product-addCartBtn {
    height: 34px;
    line-height: 34px;
    font-size: 16px;
  }
  .vonality-callout h1 {
    font-size: 28px;
  }
}
/* Mobile - Extra Small (375px and down) */
@media (max-width: 375px) {
  .product-grid.bestsellers .item-grid .item-box {
    padding: 0 7px;
  }
  .product-grid.bestsellers .item-grid .item-box .p-card {
    margin-bottom: 1rem !important;
  }
}
.teleflora-shipping-notice p {
  font-weight: bold;
  color: #00a80f;
}

/* T+C Modal Positioning */
.ui-dialog.ui-widget-content {
  top: 40px !important;
}

/* ==========================================================================
   CATALOG AJAX PRODUCT GRID LOADER
   ========================================================================== */
.products-container {
  position: relative;
  min-height: 80px;
}
.products-container .ajax-products-busy {
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.8);
  z-index: 8;
  display: none;
}
.products-container .catalog-products-spinner {
  display: block;
  width: 40px;
  height: 40px;
  border: 3px solid #e0e0e0;
  border-top-color: #0860c4;
  border-radius: 50%;
  animation: catalog-products-spin 0.8s linear infinite;
}

@keyframes catalog-products-spin {
  to {
    transform: rotate(360deg);
  }
}
/* Filter: JS sets html position:fixed + top:-scrollY; this overrides theme html.sb-opened overflow so the dimmed product grid still paints. */
html.sb-opened.sb-filter-scroll-lock {
  overflow: visible !important;
  max-height: none !important;
}

/* Filter flyout: slightly lighter dim over the grid. */
html.sb-opened .sb--overlay-filter.opened {
  background-color: rgba(0, 0, 0, 0.38);
}

/*# sourceMappingURL=custom.css.map */
