/* 1. Use the store's own theme colors, including its dark-mode variables. */
body {
  --opc-theme-build: "complete-v2";
  --opc-fix-blue: #092997;
  --opc-fix-sale: #cf293d;
  --opc-fix-line: var(--product-border-color, #e7e7ea);
  --opc-fix-surface: var(--bg-primary, #fff);
  --opc-fix-ink: var(--store-text-primary, #17191f);
}
.dark body,
body.dark {
  --opc-fix-sale: #ff8792;
}

body .store-header,
body .store-header .top-navbar,
body .store-header #mainnav,
body .store-header .header__main-container {
  background: var(--header-bg, #fdf6f4) !important;
  color: var(--header-text-color, #111827);
  backdrop-filter: none !important;
}
body .store-header a[href$="/offers"] {
  color: var(--opc-fix-sale) !important;
}
body .store-header #mainnav {
  border-bottom: 1px solid var(--opc-fix-line);
  box-shadow: 0 2px 8px #09299704;
}
body .store-header .header-btn {
  border-radius: 8px;
}
@media (min-width: 1024px) {
  body .store-header .sub-menu {
    padding: 8px !important;
    border: 1px solid var(--opc-fix-line) !important;
    border-radius: 10px !important;
    background: var(--opc-fix-surface) !important;
    box-shadow: 0 10px 30px #09299712 !important;
  }
  body .store-header .sub-menu .main-menu__desktop-item > a {
    padding: 10px 12px;
    border-radius: 6px;
    line-height: 1.7;
  }
  body .store-header .sub-menu .main-menu__desktop-item > a:hover {
    background: var(--header-bg, #fdf6f4);
  }
}

/* 2. One continuous page, not a series of gray panels.
 * Width and horizontal gutters stay under the theme's .container rules.
 * Do NOT put max-width:1280px or extra padding on an outer banner wrapper.
 */
body.index main > .s-block {
  margin-top: 36px !important;
}
body.index main > :is(.banners-slider, .s-block--fixed-banner, .s-block--best-offers) {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding-block: 0 !important;
  margin-bottom: 0 !important;
}
body.index main > :is(.banners-slider, .s-block--fixed-banner) {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding-inline: 0 !important;
}
body.index main > :is(.banners-slider, .s-block--fixed-banner) + .s-block--best-offers {
  margin-top: 10px !important;
}
body.index :is(.banners-slider__inner, .s-block--fixed-banner > .container) {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding-block: 0 !important;
}
body.index :is(.banners-slider__image, .fixed-banner__image) {
  display: block;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  object-fit: contain !important;
}
body.index .banner--fixed {
  border-radius: 0 !important;
  box-shadow: none !important;
}
body.index .s-block--best-offers .s-slider-block__title {
  margin-top: 0 !important;
  margin-bottom: 14px !important;
}

/* Home category images and headings */
body.index :is(.rectangular-links__title, .square-links__title) {
  font-size: clamp(22px, 2.2vw, 30px) !important;
  line-height: 1.6 !important;
  letter-spacing: 0 !important;
}
body.index .s-block--rectangular-links .rectangular-list {
  display: grid !important;
  grid-template-columns: repeat(var(--desktop-row-items, 4), minmax(0, 1fr)) !important;
  gap: 12px !important;
}
body.index .s-block--rectangular-links .rectangular-list-item {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
}
body.index .rectangular-links__image-wrap {
  width: 100% !important;
  border: 1px solid var(--opc-fix-line) !important;
  border-radius: 10px !important;
  box-shadow: 0 2px 8px #09299706;
  overflow: hidden;
  transition: box-shadow 220ms ease, border-color 220ms ease, transform 220ms ease;
}
body.index .rectangular-links__image-wrap img {
  display: block;
  width: 100% !important;
  height: auto !important;
  border-radius: 0 !important;
  object-fit: contain !important;
  transform: scale(1) rotate(0deg) !important;
  transition: transform 280ms cubic-bezier(.2, .7, .2, 1), filter 280ms ease !important;
  will-change: transform;
}
body.index .square-links__grid {
  gap: 16px !important;
}
body.index .square-links__image-wrap,
body.index .square-links__image-wrap img {
  border-radius: 10px !important;
}
body.index .square-links__image-wrap {
  border: 1px solid transparent;
  box-shadow: 0 2px 8px #09299706;
  transition: box-shadow 220ms ease, border-color 220ms ease, transform 220ms ease;
}
body.index .square-links__image-wrap img {
  transform: scale(1) rotate(0deg) !important;
  transition: transform 280ms cubic-bezier(.2, .7, .2, 1), filter 280ms ease !important;
  will-change: transform;
}
@media (hover: hover) {
  body.index :is(.rectangular-list-item, .square-links__item):hover :is(.rectangular-links__image-wrap, .square-links__image-wrap) {
    border-color: #cbd3eb !important;
    box-shadow: 0 10px 26px #09299718, 0 0 0 3px #09299708;
    transform: translateY(-2px);
  }
  body.index :is(.rectangular-list-item, .square-links__item):hover :is(.rectangular-links__image-wrap, .square-links__image-wrap) img {
    transform: scale(1.035) rotate(-.25deg) !important;
    filter: saturate(1.03) drop-shadow(0 4px 8px #09299710);
  }
}
body.index .s-block--best-offers .s-slider-block__title h2 {
  font-size: clamp(20px, 1.8vw, 26px) !important;
  line-height: 1.6 !important;
}
body.index .s-block--best-offers .s-slider-block__title a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 6px 12px !important;
  border: 1px solid #cbd3eb !important;
  border-radius: 7px !important;
  color: var(--color-primary, #092997);
  font-size: 13px !important;
}

/* 3. Product cards */
body .product-card--vertical {
  border: 1px solid var(--opc-fix-line) !important;
  border-radius: 10px !important;
  background: var(--product-bg, #fff) !important;
  box-shadow: 0 2px 10px #09299706 !important;
  box-sizing: border-box;
  min-width: 0;
  height: 100%;
  overflow: hidden;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}
body .product-card--vertical .product-card__image {
  position: relative;
  width: 100%;
  height: auto !important;
  aspect-ratio: 1 / 1;
  padding: 0 !important;
  background: var(--product-bg, #fff);
  border-radius: 9px 9px 0 0;
  overflow: hidden;
}
body .product-card--vertical .product-card__image > a {
  display: block;
  width: 100%;
  height: 100%;
}
body .product-card--vertical .product-card__image img {
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  object-fit: contain !important;
}
body .product-card--vertical .product-card__content {
  padding: 14px 14px 16px !important;
  flex: 1 1 auto;
}
body .product-card--vertical .product-card__content-wrapper {
  min-width: 0;
}
body .product-card--vertical .product-card__title {
  min-height: 3.5em;
  margin-bottom: 6px;
}
body .product-card--vertical .product-card__title a {
  font-size: 14px !important;
  line-height: 1.75 !important;
  font-weight: 700 !important;
  white-space: normal !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden;
}
body .product-card--vertical .product-card__subtitle {
  font-size: 12px !important;
  line-height: 1.7 !important;
  margin-bottom: 8px !important;
  color: var(--store-text-secondary, #606875);
}
body .product-card .product-card__price .price_is_on_sale {
  flex-wrap: wrap;
  gap: 4px 8px !important;
}
body .product-card :is(.product-card__addToCart, .product-card__mini-cart) .s-button-element {
  min-height: 42px;
  border-radius: 7px !important;
  font-size: 13px;
  font-weight: 700;
}
body .product-card :is(.product-card__actions, .product-card__buttons) .s-button-element {
  border-radius: 8px !important;
}
@media (hover: hover) {
  body .product-card--vertical:hover {
    border-color: #cbd3eb !important;
    box-shadow: 0 4px 14px #0929970b !important;
  }
}
body .product-card .product-card__price {
  margin-top: 10px;
}
body .product-card .product-card__price .total-price {
  font-size: 19px !important;
  font-weight: 800 !important;
  line-height: 1.5 !important;
  font-variant-numeric: tabular-nums;
}
body .product-card .starting-or-normal-price .total-price {
  color: var(--opc-fix-ink) !important;
}
body .product-card .product-card__price .price_is_on_sale .total-price {
  color: var(--opc-fix-sale) !important;
}
@media (min-width: 768px) {
  body.product-single .product-single__info .price_is_on_sale .total-price {
    color: var(--opc-fix-sale) !important;
  }
}
body .product-card .product-card__price .before-price {
  color: var(--store-text-secondary, #606875) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  text-decoration: line-through !important;
}
@media (min-width: 768px) {
  body.product-single .product-single__info .total-price {
    font-size: 24px !important;
    font-weight: 800 !important;
  }
}

/* 4. Promotional ribbons */
body .product-card .product-card__promotion,
body.product-single .product-single__main-media .promotion-title {
  position: absolute !important;
  top: 12px !important;
  bottom: auto !important;
  left: 0 !important;
  right: auto !important;
  margin: 0 !important;
  padding: 6px 12px !important;
  max-width: calc(100% - 16px) !important;
  width: fit-content !important;
  box-sizing: border-box;
  border: 0 !important;
  border-radius: 0 8px 8px 0 !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
  text-align: center;
  transform: none !important;
}

/* Product page */
body.product-single .product-single__title {
  font-size: clamp(21px, 1.8vw, 27px) !important;
  line-height: 1.65 !important;
  margin-bottom: 10px;
}
body.product-single .product-single__main-media {
  border: 1px solid var(--opc-fix-line);
  border-radius: 12px !important;
  background: var(--product-bg, #fff);
}
body.product-single .product-single__slide-image {
  object-fit: contain !important;
}
body.product-single #more-content {
  font-size: 14px;
  line-height: 1.9;
}
body.product-single #more-content :is(h2, h3, h4) {
  line-height: 1.7;
  margin-block: 20px 10px;
}
body.product-single #more-content table {
  width: 100% !important;
  margin-block: 20px;
  border-collapse: collapse;
  font-size: 13px;
}
body.product-single #more-content :is(th, td) {
  padding: 10px 12px !important;
  border: 1px solid var(--opc-fix-line);
  text-align: start;
  vertical-align: top;
  line-height: 1.75;
  overflow-wrap: anywhere;
}
body.product-single #more-content th {
  background: var(--header-bg, #fdf6f4);
}

/* Desktop/tablet purchase controls */
@media (min-width: 768px) {
  body.product-single .product-form .sticky-product-bar {
    padding: 16px 0 !important;
    border-top: 1px solid var(--opc-fix-line);
    border-radius: 0 !important;
    background: transparent !important;
  }
  body.product-single .sticky-product-bar__btn .s-button-element {
    min-height: 48px !important;
    border-radius: 8px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
  }
  body.product-single .product-form .s-quantity-input-container {
    min-height: 44px;
    border: 1px solid var(--opc-fix-line);
    border-radius: 8px;
    overflow: hidden;
  }
  body.product-single .product-form .s-quantity-input-button {
    min-width: 40px;
    min-height: 44px;
  }
  body.product-single .product-form .s-quantity-input-input {
    font-size: 16px;
    font-weight: 700;
  }
  body.product-single .sticky-product-bar__btn {
    --salla-fast-checkout-button-height: 48px;
    --salla-fast-checkout-button-width: 100%;
    --salla-fast-checkout-button-border-radius: 8px;
  }
  body.product-single .sticky-product-bar__btn .s-add-product-button-main {
    gap: 10px !important;
    align-items: stretch;
  }
  body.product-single .sticky-product-bar__btn :is(.s-button-element, salla-mini-checkout-widget) {
    min-height: 48px !important;
    border-radius: 8px !important;
  }
  body.product-single .sticky-product-bar__btn .s-add-product-button-mini-checkout-content {
    gap: 7px;
    justify-content: center;
    font-family: inherit;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.4;
  }
  body.product-single .sticky-product-bar__btn .s-add-product-button-mini-checkout-content svg {
    width: 17px;
    height: 17px;
  }
}

/* 5. Product options */
body.product-single salla-product-options {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin-block: 16px !important;
}
body.product-single .s-product-options-option-container {
  margin-bottom: 2px !important;
}
body.product-single .s-product-options-option[data-option-type="single-option"]:has(select:not([multiple])):not([hidden]) {
  display: grid !important;
  grid-template-columns: minmax(100px, .8fr) minmax(0, 1.6fr) !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 7px 2px !important;
  margin: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--opc-fix-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.product-single .s-product-options-option[data-option-type="single-option"]:has(select:not([multiple])) > :is(.s-product-options-option-label, .s-product-options-option-content) {
  min-width: 0 !important;
  width: 100% !important;
  max-width: none !important;
  grid-column: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.product-single .s-product-options-option-label {
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  min-height: 44px;
  font-size: 13px !important;
  line-height: 1.65 !important;
}
body.product-single .s-product-options-option-label b {
  font-weight: 700;
}
body.product-single .s-product-options-option-label small {
  display: block;
  margin-top: 1px;
  color: var(--store-text-secondary, #606875);
  font-size: 11px !important;
  line-height: 1.5;
}
body.product-single salla-product-options select.s-form-control:not([multiple]) {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 44px !important;
  height: 44px !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 9px 12px !important;
  padding-inline-end: 32px !important;
  border: 1px solid #c9cdd5 !important;
  border-radius: 7px !important;
  background-color: var(--opc-fix-surface) !important;
  color: var(--opc-fix-ink) !important;
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  box-shadow: none !important;
  transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease !important;
}
body.product-single salla-product-options :is(input[type="text"].s-form-control, textarea.s-form-control) {
  box-sizing: border-box;
  width: 100%;
  min-height: 44px;
  padding: 9px 12px;
  border: 1px solid #c9cdd5;
  border-radius: 7px;
  background: var(--opc-fix-surface);
  color: var(--opc-fix-ink);
  font: inherit;
}
body.product-single salla-product-options .s-product-options-splitter {
  margin-block: 10px !important;
}
body.product-single salla-product-options select.s-form-control:focus-visible,
body.product-single #btn-show-more:focus-visible {
  outline: 2px solid var(--opc-fix-blue) !important;
  outline-offset: 3px;
}

body.product-single salla-product-options .s-product-options-option-content > div {
  position: relative;
}
body.product-single salla-product-options .s-product-options-option-content > div:has(> select.s-form-control:not([multiple]))::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 14px;
  width: 7px;
  height: 7px;
  border-right: 2px solid var(--opc-fix-blue);
  border-bottom: 2px solid var(--opc-fix-blue);
  transform: translateY(-70%) rotate(45deg);
  pointer-events: none;
  z-index: 2;
}
body.product-single salla-product-options select.s-form-control:not([multiple]) {
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: none !important;
  padding-inline-start: 12px !important;
  padding-inline-end: 36px !important;
}
body.product-single salla-product-options select.s-form-control:not([multiple]):focus {
  border-color: var(--opc-fix-blue) !important;
  box-shadow: 0 0 0 3px #09299710 !important;
}

/* Notes field */
body.product-single salla-product-options .s-product-options-option[data-option-type="text"]:not([hidden]):not(.hidden):not([aria-hidden="true"]):not([style*="display:none"]):not([style*="display: none"]) {
  display: grid !important;
  grid-template-columns: minmax(100px, .8fr) minmax(0, 1.6fr) !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 7px 2px !important;
  margin: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--opc-fix-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.product-single salla-product-options .s-product-options-option[data-option-type="text"] > :is(.s-product-options-option-label, .s-product-options-option-content) {
  min-width: 0 !important;
  width: 100% !important;
  max-width: none !important;
  grid-column: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.product-single salla-product-options .s-product-options-option[data-option-type="text"] .s-product-options-option-content > div {
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}
body.product-single salla-product-options .s-product-options-option[data-option-type="text"] :is(input[type="text"], input:not([type]), textarea) {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 44px !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 9px 12px !important;
  border: 1px solid #c9cdd5 !important;
  border-radius: 7px !important;
  background-color: var(--opc-fix-surface) !important;
  color: var(--opc-fix-ink) !important;
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  text-align: start;
  box-shadow: none !important;
}
body.product-single salla-product-options .s-product-options-option[data-option-type="text"] textarea {
  resize: vertical;
}
body.product-single salla-product-options .s-product-options-option[data-option-type="text"] :is(input[type="text"], input:not([type]), textarea):focus {
  border-color: var(--opc-fix-blue) !important;
  box-shadow: 0 0 0 3px #09299710 !important;
}
body.product-single salla-product-options .s-product-options-option[data-option-type="text"] :is(input[type="text"], input:not([type]), textarea):focus-visible {
  outline: 2px solid var(--opc-fix-blue) !important;
  outline-offset: 3px;
}

@media (max-width: 767px) {
  body.product-single salla-product-options .s-product-options-option[data-option-type="text"]:not([hidden]):not(.hidden):not([aria-hidden="true"]):not([style*="display:none"]):not([style*="display: none"]) {
    grid-template-columns: minmax(90px, .8fr) minmax(0, 1.6fr) !important;
    gap: 8px !important;
  }
  body.product-single salla-product-options .s-product-options-option[data-option-type="text"] :is(input[type="text"], input:not([type]), textarea) {
    font-size: 16px !important;
  }
}

/* 6. Read more */
body.product-single #btn-show-more {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  width: 100%;
  margin-top: 12px !important;
  padding: 8px 14px;
  border: 1px solid #cbd3eb;
  border-radius: 7px;
  background: var(--header-bg, #fdf6f4);
  color: var(--color-primary, #092997) !important;
  font-size: 14px !important;
  font-weight: 700;
  text-decoration: none !important;
  gap: 8px;
}
body.product-single #btn-show-more::after {
  content: "\2304";
  font-family: sans-serif;
  font-size: 18px;
  line-height: 1;
  opacity: .8;
  transition: transform 180ms ease;
}
body.product-single #btn-show-more.is-expanded::after {
  transform: rotate(180deg);
}

/* 7. Footer */
body .store-footer {
  margin-top: 56px !important;
  background: var(--footer-bg, #f3f4f6) !important;
  color: var(--footer-text-color, #374151) !important;
}
body .store-footer .store-footer__curve {
  display: block !important;
  color: var(--footer-bg, #f3f4f6) !important;
}
body .store-footer .store-footer__inner {
  padding-block: 24px !important;
}
body .store-footer .store-footer__menu .footer-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px 20px;
}
body .store-footer .store-footer__menu-link {
  margin: 0 !important;
  padding-block: 7px;
  color: var(--footer-text-color, #374151) !important;
  font-size: 14px;
  line-height: 1.7 !important;
}
body .store-footer .store-footer__menu-link:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}
body .store-footer .footer-description {
  color: var(--footer-text-color, #374151) !important;
  line-height: 1.9;
  margin-bottom: 16px !important;
}
body .store-footer .store-footer__contacts-row {
  padding-block: 16px !important;
}
body .store-footer .footer-bottom {
  background: var(--bottom-footer-bg, #f9fafb) !important;
}

@media (min-width: 1024px) {
  body .store-footer__grid:has(> .store-footer__apps):not(:has(> .store-footer__apps > *)) {
    grid-template-columns: minmax(0, 1fr) clamp(290px, 30vw, 430px) minmax(0, 1fr) !important;
    grid-template-rows: auto !important;
    gap: 0 !important;
    align-items: start !important;
    position: relative;
  }
  body .store-footer__grid > .store-footer__apps:not(:has(*)) {
    display: none !important;
  }
  body .store-footer__grid:has(> .store-footer__apps):not(:has(> .store-footer__apps > *)) > .store-footer__menu {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    position: relative;
    z-index: 0;
    min-width: 0;
  }
  body .store-footer__grid:has(> .store-footer__apps):not(:has(> .store-footer__apps > *)) > .store-footer__brand {
    grid-column: 2 !important;
    grid-row: 1 !important;
    margin-top: 0 !important;
    padding-inline: 20px;
    position: relative;
    z-index: 1;
  }
  body .store-footer__grid:has(> .store-footer__apps):not(:has(> .store-footer__apps > *)) .store-footer__menu-title {
    position: absolute;
    top: 0;
    right: 0;
    width: calc((100% - clamp(290px, 30vw, 430px)) / 2);
    margin: 0 !important;
    text-align: center;
  }
  body .store-footer__grid:has(> .store-footer__apps):not(:has(> .store-footer__apps > *)) .footer-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: clamp(330px, 34vw, 490px);
    row-gap: 2px;
    padding-top: 38px;
  }
  body .store-footer__grid:has(> .store-footer__apps):not(:has(> .store-footer__apps > *)) .footer-list > li {
    min-width: 0;
    text-align: center;
  }
  body .store-footer .store-footer__brand .store-footer__logo-link img {
    max-height: 82px;
    width: auto;
  }
  body .store-footer .store-footer__brand .footer-description {
    max-width: 410px;
    margin-inline: auto;
  }
}

/* Mobile general */
@media (max-width: 767px) {
  body.index .s-block--rectangular-links .rectangular-list {
    grid-template-columns: repeat(var(--mobile-row-items, 2), minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  body.index .square-links__grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  body.index .square-links__grid > .square-links__item {
    min-width: 0;
    width: auto !important;
    grid-column: auto !important;
  }
  body .product-card--vertical .product-card__content {
    padding: 10px 10px 12px !important;
  }
  body .product-card--vertical .product-card__title a {
    font-size: 13px !important;
  }
  body.index main > .s-block {
    margin-top: 24px !important;
  }
  body.index main > :is(.banners-slider, .s-block--fixed-banner) + .s-block--best-offers {
    margin-top: 6px !important;
  }
  body .product-card .product-card__price .total-price {
    font-size: 18px !important;
  }
  body .product-card .product-card__promotion,
  body.product-single .product-single__main-media .promotion-title {
    top: 10px !important;
    padding: 5px 9px !important;
    font-size: 12px !important;
  }
  body.product-single .s-product-options-option[data-option-type="single-option"]:has(select:not([multiple])):not([hidden]) {
    grid-template-columns: minmax(90px, .8fr) minmax(0, 1.6fr) !important;
    gap: 8px !important;
  }
  body.product-single salla-product-options select.s-form-control:not([multiple]) {
    font-size: 16px !important;
  }
  body.product-single salla-product-options :is(input[type="text"].s-form-control, textarea.s-form-control) {
    font-size: 16px;
  }
  body .store-footer {
    margin-top: 40px !important;
  }
  body .store-footer .store-footer__menu .footer-list {
    gap: 2px 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body .product-card--vertical,
  body.index :is(.rectangular-links__image-wrap, .square-links__image-wrap),
  body.index :is(.rectangular-links__image-wrap, .square-links__image-wrap) img,
  body.product-single #btn-show-more::after {
    transition: none !important;
  }
}

/* Installment UI shell */
body.product-single .product-single__info salla-installment {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 8px !important;
  width: 100% !important;
  margin-block: 10px 14px !important;
  padding: 0 !important;
}
body.product-single .product-single__info salla-installment > div {
  margin: 0 !important;
  padding: 0 !important;
}
body.product-single .product-single__info salla-installment :is(tamara-widget, mispay-widget) {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  box-sizing: border-box;
  font-family: inherit !important;
}
body.product-single .product-single__info salla-installment tamara-widget .tamara-summary-widget__container {
  box-sizing: border-box !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 10px 12px !important;
  border: 1px solid #dce2ef !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: none !important;
}
@media (max-width: 767px) {
  body.product-single .product-single__info salla-installment {
    gap: 7px !important;
    margin-block: 8px 12px !important;
  }
}

/* Reviews */
body.product-single .product-more-info.vertical {
  margin-top: 28px !important;
  margin-bottom: 24px !important;
  background: transparent !important;
}
body.product-single .product-more-info__inner,
body.product-single .content-ul-tab,
body.product-single .more-info-tabs__content,
body.product-single .more-tab-container,
body.product-single #reviews {
  min-height: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.product-single .more-info-tabs__content {
  padding-top: 12px !important;
}
body.product-single #reviews {
  margin: 0 !important;
  padding: 0 !important;
}
body.product-single #reviews > salla-comments {
  display: block;
  width: 100%;
  margin: 0 !important;
}

@media (min-width: 768px) {
  body.product-single .content-ul-tab .more-info-tabs__nav {
    display: flex !important;
    align-items: flex-end !important;
    gap: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid var(--opc-fix-line) !important;
    background: transparent !important;
  }
  body.product-single .content-ul-tab .more-info-tabs__nav-item {
    margin: 0 !important;
    padding: 0 !important;
  }
  body.product-single .content-ul-tab .more-info-tabs__nav-link {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 8px 2px 10px !important;
    border: 0 !important;
    border-bottom: 2px solid transparent !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--opc-fix-ink) !important;
    box-shadow: none !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
  }
  body.product-single .content-ul-tab .more-info-tabs__nav-link.active {
    border-bottom-color: var(--opc-fix-blue) !important;
    color: var(--opc-fix-blue) !important;
  }
}

@media (max-width: 767px) {
  body.product-single .product-more-info.vertical {
    margin-top: 20px !important;
    margin-bottom: 18px !important;
  }
  body.product-single .content-ul-tab {
    display: none !important;
  }
  body.product-single .more-info-tabs__nav-link.mobile {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 9px 12px !important;
    border: 1px solid #dce2ef !important;
    border-radius: 9px !important;
    background: var(--header-bg, #fdf6f4) !important;
    color: var(--opc-fix-blue) !important;
    box-shadow: none !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
  }
  body.product-single .more-info-tabs__nav-link.mobile.active {
    border-color: #cbd3eb !important;
    background: var(--header-bg, #fdf6f4) !important;
    color: var(--opc-fix-blue) !important;
  }
  body.product-single .more-info-tabs__content {
    padding-top: 10px !important;
  }
}

/* Mobile old product card selectors fallback */
@media (max-width: 767px) {
  body .s-product-card__wishlist,
  body .s-product-card__quick-view {
    display: none !important;
  }
}

/* Mobile stock info row */
@media (max-width: 767px) {
  body.product-single .product-single__stock-info {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 6px 0 12px !important;
    padding: 0 !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
  }
  body.product-single .product-single__stock-info > * {
    flex: 0 0 auto !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.product-single .product-single__stock-info .inventory-content {
    color: #299447 !important;
  }
  body.product-single .product-single__stock-info #variant-inventory {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    white-space: nowrap !important;
  }
  body.product-single .product-single__stock-info .remained-quantity {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    color: var(--store-text-primary, #17191f) !important;
    white-space: nowrap !important;
  }
  body.product-single .product-single__stock-info .remained-quantity img {
    width: 17px !important;
    height: 17px !important;
    margin: 0 !important;
  }
  body.product-single .product-single__stock-info .remained-quantity span {
    margin-inline: 0 !important;
  }
}

/* Mobile sticky purchase button polish */
@media (max-width: 767px) {
  body.product-single.is-sticky-product-bar .product-form .sticky-product-bar__btn {
    --salla-fast-checkout-button-height: 48px;
    --salla-fast-checkout-button-width: 100%;
    --salla-fast-checkout-button-border-radius: 10px;
  }
  body.product-single.is-sticky-product-bar
  .product-form .sticky-product-bar__btn
  :is(.s-button-element, salla-mini-checkout-widget) {
    min-height: 48px !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
  }
  body.product-single.is-sticky-product-bar
  .product-form .sticky-product-bar__btn
  .s-button-primary {
    background: var(--opc-fix-blue, #092997) !important;
    border: 1px solid var(--opc-fix-blue, #092997) !important;
    color: #fff !important;
  }
  body.product-single.is-sticky-product-bar
  .product-form .sticky-product-bar__btn
  :is(.s-button-outline, .s-button-light) {
    background: #fff !important;
    border: 1px solid var(--opc-fix-blue, #092997) !important;
    color: var(--opc-fix-blue, #092997) !important;
  }
  body.product-single.is-sticky-product-bar
  .product-form .sticky-product-bar__btn
  .s-button-text > span,
  body.product-single.is-sticky-product-bar
  .product-form .sticky-product-bar__btn
  .s-add-product-button-mini-checkout-content {
    gap: 6px !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
  }
  body.product-single.is-sticky-product-bar
  .product-form .sticky-product-bar__btn
  .s-add-product-button-mini-checkout-content svg,
  body.product-single.is-sticky-product-bar
  .product-form .sticky-product-bar__btn
  .s-button-element i {
    width: 17px !important;
    height: 17px !important;
    font-size: 17px !important;
    flex: 0 0 auto !important;
  }
  body.product-single.is-sticky-product-bar
  .product-form .sticky-product-bar__btn
  apple-pay-button {
    --apple-pay-button-width: 100%;
    --apple-pay-button-height: 48px;
    --apple-pay-button-border-radius: 10px;
    width: 100% !important;
    min-height: 48px !important;
    margin: 0 !important;
  }
}

/* Mobile product page final spacing */
@media (max-width: 767px) {
  body.product-single .product-single__row {
    row-gap: 0 !important;
  }
  body.product-single .product-single__media-col,
  body.product-single .product-single__main-media,
  body.product-single .details-slider {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
  body.product-single .product-single__info {
    margin-top: 8px !important;
    padding-top: 0 !important;
  }

  body.product-single .product-single__brand-box {
    gap: 8px !important;
    margin: 0 0 8px !important;
    padding: 6px 8px !important;
    border-color: #edf0f5 !important;
    border-radius: 8px !important;
    background: transparent !important;
  }
  body.product-single .product-single__brand-box .product-brand {
    width: 42px !important;
    height: 42px !important;
    flex: 0 0 42px !important;
  }
  body.product-single .product-single__brand-box h4 {
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
  }
  body.product-single .product-single__brand-box p {
    margin: 1px 0 0 !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
  }

  body.product-single .product-single__title {
    margin: 0 0 4px !important;
    font-size: 20px !important;
    line-height: 1.5 !important;
    font-weight: 800 !important;
  }
  body.product-single .product-entry__sub-title {
    margin: 0 0 6px !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
  }
  body.product-single .product-price-top {
    margin: 2px 0 6px !important;
    gap: 6px 8px !important;
  }
  body.product-single .product-price-top .total-price {
    line-height: 1.25 !important;
  }
  body.product-single .product-single__stock-info {
    margin: 4px 0 10px !important;
  }
  body.product-single .product-single__info salla-installment {
    gap: 6px !important;
    margin-block: 6px 10px !important;
  }
  body.product-single .product-single-top-description {
    margin: 6px 0 12px !important;
  }
  body.product-single .product-single-top-description #more-content {
    margin-top: 0 !important;
    font-size: 14px !important;
    line-height: 1.82 !important;
  }
  body.product-single #btn-show-more {
    margin-top: 6px !important;
  }
  body.product-single salla-product-options {
    margin-block: 10px 14px !important;
  }
  body.product-single .s-product-options-option-container {
    margin-bottom: 0 !important;
  }
  body.product-single
  .s-product-options-option[data-option-type="single-option"]:has(select:not([multiple])):not([hidden]),
  body.product-single
  salla-product-options .s-product-options-option[data-option-type="text"]:not([hidden]):not(.hidden):not([aria-hidden="true"]) {
    padding-block: 6px !important;
  }
  body.product-single .product-form > .product-price-bottom {
    margin-top: 10px !important;
  }
  body.product-single .product-form > .sticky-product-bar {
    margin-top: 0 !important;
  }
  body.product-single salla-payments {
    margin-block: 8px 12px !important;
  }
  body.product-single .product-more-info.vertical {
    margin-top: 16px !important;
    margin-bottom: 16px !important;
  }
  body.product-single .more-info-tabs__content {
    padding-top: 8px !important;
  }
  body.product-single .s-before-related {
    margin-top: 14px !important;
  }
}
/* =========================================================
   ONLY PC — SAFE FINAL UI POLISH
   Small visual cleanup only — no functional changes.
   ========================================================= */


/* ---------------------------------------------------------
   1. Homepage vertical rhythm
   Make the page feel more connected without cramping it.
   --------------------------------------------------------- */

body.index main > .s-block {
  margin-top: 30px !important;
}

body.index .s-slider-block__title {
  margin-bottom: 12px !important;
}


/* ---------------------------------------------------------
   2. Mobile homepage rhythm
   --------------------------------------------------------- */

@media (max-width: 767px) {

  body.index main > .s-block {
    margin-top: 20px !important;
  }

  body.index .s-slider-block__title {
    margin-bottom: 10px !important;
  }
}


/* ---------------------------------------------------------
   3. Mobile product page — remove unnecessary visual clutter
   ONLY inside the product page.
   Product cards outside the page remain unchanged.
   --------------------------------------------------------- */

@media (max-width: 767px) {

  /* Hide the promotional/model ribbon over the main product image.
     The same ribbon remains visible on product cards outside the PDP. */
  body.product-single
  .product-single__main-media
  .promotion-title {
    display: none !important;
  }


  /* Hide ONLY PC brand box when it simply repeats the store identity.
     Brand boxes for ASUS, MSI, Corsair, etc. remain visible. */
  body.product-single
  .product-single__brand-box:has(
    a[href*="/only-pc/brand-356472937"]
  ) {
    display: none !important;
  }


  /* Remove share / wishlist buttons floating over product image on mobile.
     Keeps the hero focused on the actual product. */
  body.product-single
  .product-single__main-media
  .share-and-wish {
    display: none !important;
  }


  /* Tighten transition from gallery to product information */
  body.product-single
  .product-single__main-media {
    margin-bottom: 0 !important;
  }

  body.product-single
  .product-single__info {
    margin-top: 4px !important;
  }


  /* Keep title area compact after removing repeated elements */
  body.product-single
  .product-single__title {
    margin-top: 0 !important;
  }
}


/* ---------------------------------------------------------
   4. Cleaner keyboard focus
   Keeps accessibility without heavy browser outlines.
   --------------------------------------------------------- */

body :is(
  a,
  button,
  .s-button-element
):focus-visible {
  outline: 2px solid #092997 !important;
  outline-offset: 3px;
}