/** Shopify CDN: Minification failed

Line 4707:0 Expected "}" to go with "{"

**/
/* Some css class in defined in critical css */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 30px white inset !important;
}
:is(
    input[type="search"],
    input[type="tel"],
    input[type="text"],
    input[type="number"],
    input[type="email"],
    input[type="password"],
    select,
    textarea,
    .input-style
  ):focus {
  outline: 0;
  border-color: var(--color-heading);
}
input[type="checkbox"] {
  display: inline-block;
  margin-block-end: 0.5rem;
}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.search-modal__form.loading input[type="search"]::-webkit-search-cancel-button {
  opacity: 0;
  visibility: hidden;
  
}

input[type="search"]::-webkit-search-cancel-button {
  display: none;
}


.sk-clear{ text-decoration: none; color: inherit; }



/* hide native cancel */
input[type="search"]::-webkit-search-cancel-button { display: none; }

/* hidden by default */
.sk-clear { display: none; }

/* show "Clear" only when the field has text */
.search__input:not(:placeholder-shown) ~ .sk-clear { display: inline; }



/* Style the checkmark/indicator */
.checkmark:before {
  content: "";
  display: inline-flex;
  width: 18px;
  height: 18px;
  border-radius: 2px;
  border: 1px solid var(--color-color, #ebebeb);
  background-color: var(--grey-color);
  position: relative;
  top: 2px;
  transition: var(--bls-transition);
}
.checkmark:after {
  content: "";
  position: absolute;
  opacity: 0;
  left: 7px;
  top: 5px;
  width: 5px;
  height: 10px;
  border: solid var(--color-white);
  border-width: 0 2px 2px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  transition: var(--transition);
}

/* Show the checkmark when checked */
input[type="checkbox"]:checked + .checkmark:after {
  opacity: 1;
}

input[type="checkbox"]:checked + .checkmark:before {
  background-color: var(--color-link);
  border-color: var(--color-link);
}
.overflow-auto {
  overflow: auto;
}
.overflow-scroll {
  overflow: scroll;
}
.overflow-x-scroll {
  overflow-x: scroll;
}
.overflow-y-scroll {
  overflow-y: scroll;
}
.overflow-y-auto {
  overflow-y: auto;
}
.overflow-x-hidden {
  overflow-x: hidden;
}
.overflow-y-hidden {
  overflow-y: hidden;
}
.flex-100 {
  flex: 100%;
  width: 100%;
}
.grow-0 {
  flex-grow: 0;
}
.shrink {
  flex-shrink: 1;
}
.shrink-0 {
  flex-shrink: 0;
}
.align-start {
  align-items: flex-start;
}
.align-end {
  align-items: flex-end;
}
.align-stretch {
  align-items: stretch;
}
.py-4 {
  padding-top: 4px;
  padding-bottom: 4px;
}
.py-60 {
  padding-top: clamp(30px, calc(30px + 30 * var(--responsive-rate)), 60px);
  padding-bottom: clamp(30px, calc(30px + 30 * var(--responsive-rate)), 60px);
}
.w-0 {
  width: 0;
}
.w-15 {
  width: 15px;
}
.w-20 {
  width: 20px;
}
.w-55 {
  width: 5.5rem;
}
.w-100 {
  width: 10rem;
}
.min-w-10 {
  min-width: 10px;
}
.min-w-20 {
  min-width: 20px;
}
.min-w-30 {
  min-width: 30px;
}
.min-w-full {
  min-width: 100%;
}
.max-w-15 {
  max-width: 15px;
}
.max-w-30 {
  max-width: 30px;
}
.max-w-full {
  max-width: 100%;
}
.h-0 {
  height: 0;
}
.h-15 {
  height: 15px;
}
.h-20 {
  height: 2rem;
}
.h-30 {
  height: 30px;
}
.h-55 {
  height: 5.5rem;
}
.min-h-30 {
  min-height: 30px;
}
.min-h-50 {
  min-height: 50px;
}
.min-h-full {
  min-height: 100%;
}
.max-h-full {
  max-height: 100%;
}
.my-auto {
  margin-top: auto;
  margin-bottom: auto;
}
.user-select-none,
.swiper-slide {
  user-select: none;
  -webkit-user-select: none;
}
.toolbar-sorter{
  text-wrap: nowrap;
}
/* Hover */
@media (min-width: 1025px) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  :is(
      .btn-outline,
      .btn-primary,
      .btn-hover,
      .btn-white,
      button.shopify-payment-button__more-options,
      .dmp_discount-form button
    ):hover {
    --btn-bg: var(--btn-primary-hover-bg-color);
    --btn-color: var(--btn-primary-hover-color);
    --btn-border-color: var(--btn-primary-hover-bg-color);
  }
  .btn-hover:hover {
    color: var(--btn-color);
    background-color: var(--btn-bg);
    border-color: var(--btn-border-color);
  }
  .btn-link:hover {
    color: var(--btn-link-hover-color);
  }
  .btn-action:hover {
    background: var(--btn-action-hover-bg-color);
    color: var(--btn-action-hover-color);
    border-color: var(--btn-action-hover-bg-color); 
  }
  .btn-link:hover::before {
    width: calc(100% - 3px);
    transition: var(--transition);
    animation: 1s infinite btnLinkAnimation;
  }
  .smooth-padding-hover:hover {
    padding-inline-start: 1rem;
  }
  .hover-effect {
    will-change: transform;
  }
  .hover-effect :is(img, .placeholder-image, picture) {
    transition: var(--transition);
    will-change: transform;
  }
  .hover_zoom .hover-effect:hover :is(img, .placeholder-image, picture) {
    transform: var(--zoom-transform, scale(1.05));
  }
  .hover_flip .hover-effect .show_secondary > .secondary-image {
    -webkit-transform: translateZ(-1000px) rotateY(-90deg);
    -moz-transform: translateZ(-1000px) rotateY(-90deg);
    -ms-transform: translateZ(-1000px) rotateY(-90deg);
    -o-transform: translateZ(-1000px) rotateY(-90deg);
    transform: translateZ(-1000px) rotateY(-90deg);
  }
  .hover_flip .hover-effect:hover .show_secondary > .secondary-image {
    -webkit-transform: translateZ(0) rotateY(0);
    -moz-transform: translateZ(0) rotateY(0);
    -ms-transform: translateZ(0) rotateY(0);
    -o-transform: translateZ(0) rotateY(0);
    transform: translateZ(0) rotateY(0);
    --transition: all 0.5s ease-in-out;
  }
  .hover_right .hover-effect .show_secondary > .secondary-image {
    -webkit-transform: translateX(30px);
    -moz-transform: translateX(30px);
    -ms-transform: translateX(30px);
    -o-transform: translateX(30px);
    transform: translateX(30px);
    -webkit-transform-style: preserve-3d;
    -moz-transform-style: preserve-3d;
    -ms-transform-style: preserve-3d;
    -o-transform-style: preserve-3d;
    transform-style: preserve-3d;
    --transition: all 0.5s ease-in-out;
  }
  .hover_right .hover-effect:hover .show_secondary > .secondary-image {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
  }
  .hover_fade .hover-effect:hover :is(img, .placeholder-image, picture) {
    opacity: 0.8;
  }
  .hover_fade .hover-effect:hover .secondary-image {
    opacity: 1;
  }
  .tooltip-content {
    background: var(--color-dark);
    color: var(--color-white);
    line-height: 1;
    max-width: 360px;
    z-index: 2;
    text-align: center;
    font-size: 1.2rem;
    white-space: nowrap;
    transition: all 0.3s;
    will-change: transform;
    padding: 7px 15px;
    transform: var(--tooltip-transform, translateY(-100%) translateX(-50%));
    left: var(--left, 50%);
    right: var(--right, auto);
    top: var(--top, 0);
  }
  .tooltip-content:before {
    border: 5px solid transparent;
    content: "";
    height: 0;
    width: 0;
    top: var(--tooltip-y, 100%);
    bottom: var(--tooltip-bottom, auto);
    margin-left: 0;
    -webkit-transform: var(--tooltip-before, translateX(-50%) translateZ(0));
    transform: var(--tooltip-before, translateX(-50%) translateZ(0));
    transform-origin: 0;
    border-top-color: var(--color-dark);
    position: absolute;
    left: var(--tooltip-left, 50%);
    right: var(--tooltip-right, auto);
  }
  .tooltip:not(.open):hover .tooltip-content {
    opacity: 1;
    visibility: visible;
    transform: var(
      --tooltip-hover-transform,
      translateY(calc(-100% - 10px)) translateX(-50%)
    );
  }
  .tooltip-left {
    --tooltip-transform: translateY(-50%);
    --left: auto;
    --right: 100%;
    --top: 50%;
    --tooltip-hover-transform: translateX(-10px) translateY(-50%);
    --tooltip-left: 100%;
    --tooltip-y: 50%;
    --tooltip-before: rotate(-90deg) translateY(50%);
  }
  .tooltip-right {
    --tooltip-transform: translateY(-50%);
    --left: 100%;
    --top: 50%;
    --tooltip-hover-transform: translateX(10px) translateY(-50%);
    --tooltip-left: auto;
    --tooltip-right: 100%;
    --tooltip-y: 12%;
    --tooltip-before: rotate(90deg) translateY(-50%);
  }
  .tooltip-bottom {
    --tooltip-transform: translateY(100%) translateX(-50%);
    --top: auto;
    bottom: 0;
    --tooltip-hover-transform: translateY(calc(100% + 10px)) translateX(-50%);
    --tooltip-y: auto;
    --tooltip-bottom: 100%;
  }
  .tooltip-bottom::before {
    border-bottom-color: var(--color-dark);
    border-top-color: transparent;
  }
  .instagram-item__media--ratio .instagram-icon {
    transform: scale(0.8);
    will-change: transform;
  }
  .instagram-item__media--ratio:hover .instagram-icon {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
  }
  @keyframes btnLinkAnimation {
    0% {
      left: 0;
      width: 100%;
    }

    33% {
      left: 100%;
      width: 0;
    }

    66% {
      left: 0;
      width: 0;
    }

    100% {
      right: 0;
      width: 100%;
    }
  }
  @keyframes progress {
    0% {
      background-position: 0 0;
    }
    100% {
      background-position: -60px -60px;
    }
  }
  .hover-svg-zoom:hover svg {
    transform: scale(1.1);
    -webkit-transform: scale(1.1);
  }
}
@keyframes autoplay {
  0% {
      -webkit-transform: translateY(20px);
      transform: translateY(20px);
  }

  100% {
      -webkit-transform: translateY(0);
      transform: translateY(0);
  }
}

@keyframes autoplay2 {
  0% {
      -webkit-transform: translateY(0);
      transform: translateY(0);
  }

  100% {
      -webkit-transform: translateY(20px);
      transform: translateY(20px);
  }
}
.ins-image-animation .swiper {
  padding: 20px 0;
  margin: -20px 0;
}
.ins-image-animation a:nth-child(odd) .instagram-item__media--ratio{
  animation: autoplay2 2s infinite alternate linear;
  transition: all cubic-bezier(.47, 1.21, .47, 1.21) .5s;
}
.ins-image-animation a:nth-child(even) .instagram-item__media--ratio{
  animation: autoplay 2s infinite alternate linear;
  transition: all cubic-bezier(.47, 1.21, .47, 1.21) .5s; 
}
.ins-image-animation .instagram-item__media--ratio:hover {
  -webkit-animation-play-state: paused !important;
  animation-play-state: paused !important;
}

.button-close:not(:hover) {
  opacity: 0.7;
  color: var(--color-heading);
}
.btn-search-close{
  display: inline-flex;
  align-items: center;
}
:is(
    .custom-scrollbar,
    .tingle-modal .tingle-modal-box__content
  )::-webkit-scrollbar {
  width: 4px;
}
:is(
    .custom-scrollbar,
    .tingle-modal .tingle-modal-box__content
  )::-webkit-scrollbar-track {
  background: var(--border-color-base);
}
:is(
    .custom-scrollbar,
    .tingle-modal .tingle-modal-box__content
  )::-webkit-scrollbar-thumb {
  background: #c8c8c8;
}
:is(
    .custom-scrollbar,
    .tingle-modal .tingle-modal-box__content
  )::-webkit-scrollbar-thumb:hover {
  background: #555;
  width: 6px;
}
.translateY-100 {
  transform: translateY(-100%);
}
.transition-short {
  transition: var(--duration-short);
  -webkit-transition: var(--duration-short);
}
.transition {
  transition: var(--transition);
  -webkit-transition: var(--transition);
}
.transition-popup {
  transition: var(--transition-popup);
  -webkit-transition: var(--transition-popup);
}
/* Rounded */
.rounded-custom {
  border-radius: var(--rounded-custom);
}
.bottom-25 {
  bottom: 2.5rem;
}
.top-20 {
  top: 2rem;
}
.top-30 {
  top: 3rem;
}
.top-100 {
  top: 100%;
}

.right-45 {
  right: 4.5rem;
}
.right-50 {
  right: 5rem;
}
.icon-load {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: calc(var(--loader-width, 1.4rem) / 2 * -1);
  margin-left: calc(var(--loader-height, 1.4rem) / 2 * -1);
}
:where(.btn-primary, .btn-outline, .btn, button-quickview).loading {
  pointer-events: none;
}
:where(.btn-primary, .btn-outline, .btn, button-quickview).loading
  .hidden-on-load {
  opacity: 0;
}
:where(.btn-primary, .btn-outline, .btn, button-quickview).loading
  > .icon-load {
  opacity: 1;
}
@keyframes spin {
  100% {
    -webkit-transform: rotate(360deg);
  }
}
.spin {
  -webkit-animation: 0.8s linear infinite spin;
  animation: 0.8s linear infinite spin;
}
/* Global style */
.w-custom-svg svg {
  height: auto;
  width: var(--custom-width);
}
.bls__spacing {
  height: var(--mobile-height);
}
@media (min-width: 768px) {
  .bls__spacing {
    height: var(--desktop-height);
  }
}
:is(.open-drawer, .nav-open) {
  overflow: hidden;
}
.overlay::after {
  content: "";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 100vh;
  background-color: var(--overlay-bg);
  pointer-events: none;
  transition: var(--transition);
  opacity: 0;
  z-index: 12;
  cursor: url(cursor-close.png), pointer;
}
:is(.open-drawer, .nav-open, .open-sidebar) .open.overlay::after {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
}
.open-drawer .tingle-enabled {
  position: static;
  overflow: auto;
}
#search_mini_form.loading .loading-icon {
  opacity: 1;
  visibility: visible;
}
@media (min-width: 1025px) {
  .footer__localization.lang__currency-desktop .disclosure__list {
    top: auto;
    left: 0;
    right: auto;
    bottom: calc(100% + 30px);
  }
  .footer__localization.lang__currency-desktop
    .button-localization.open
    + .disclosure__list {
    bottom: calc(100% + 10px);
    top: auto;
  }
  .lang__currency-desktop .disclosure__button::after,
  .minicart__action.show-overlay:after,
  .lang__currency-desktop .disclosure__list icon-close {
    display: none;
  }
  .lang__currency-desktop .disclosure__list {
    top: calc(100% + 30px);
    max-height: 60vh;
    padding: 2rem 2.5rem;
    left: auto;
    min-width: 25rem;
    overflow: auto;
  }
  .lang__currency-desktop .button-localization.open + .disclosure__list {
    top: 100%;
    opacity: 1;
    visibility: visible;
  }
  .topbar
    .lang__currency-desktop
    .button-localization.open
    + .disclosure__list {
    top: calc(100% + calc(var(--section-pb) * 1px));
  }
  .topbar:has(.disclosure__button.open) {
    z-index: 20;
    position: relative;
  }
  .rounded-style :is(.topbar, .section-header) .disclosure__list {
    border-radius: 0 0 5px 5px;
  }
  .rounded-style
    .footer__localization.lang__currency-desktop
    .disclosure__list {
    border-radius: 5px;
  }
  body:has(.shopify-section-header-sticky) .sticky.top-30 {
    top: calc(var(--height-header, 0px) + 30px);
    transition: var(--transition);
  }
  body:has(.layout-2.shopify-section-header-sticky) .sticky.top-30 {
    top: 80px;
  }
  body:has(.shopify-section-header-hidden) .sticky.top-30 {
    top: 30px;
  }
}
.header__menu::before {
  content: "";
  display: none;
}
.header-icon:hover,.header-icon:hover >.header-icon {
  color: var(--color-primary);
}
/* Sticky header */
.shopify-section-header-sticky {
  position: sticky;
  z-index: 11;
  top: 0;
}
.shopify-section-header-sticky header.header {
  box-shadow: var(--shadow);
}
.shopify-section-header-sticky .header__normal-logo {
  display: block;
}
.shopify-section-header-sticky .header__transparent-logo {
  display: none;
}

.shopify-section-header-hidden {
  top: calc(-1 * var(--height-header));
}
.section-header.animate {
  transition: top 0.35s ease-in-out;
}
[data-sk-header-sticky] .gradient {
  background-attachment: unset;
}
.shopify-section-header-sticky.gradient {
  background-attachment: unset;
}
@media screen and (max-width: 1024.98px) {
  [data-sticky-mobile="false"].shopify-section-header-sticky {
    position: unset;
  }
  :where(.lang__currency-on-nav, .lang__currency-desktop, .popup_cart)
    icon-close {
    transform: translateY(calc(-100% - 15px));
  }
  .hidden-mobile {
    display: none;
  }
  .w-mb-44 {
    width: 4.4rem;
  }
}
header-search #search-form .search__button {
  color: var(--color-heading);
}
.fadeIn {
  animation: 0.3s fadeIn;
}
.fadeInForwards { 
  animation: 0.3s fadeIn forwards;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.shopify-section-header-sticky.animate:not(.scroll-up) {
  animation-name: fadeInSticky;
  animation-duration: 0.5s;
  animation-fill-mode: inherit;
  animation-fill-mode: forwards;
}
@keyframes fadeInSticky {
  0% {
    opacity: 0;
    top: calc(var(--height-header, 100%) * -1);
  }
  100% {
    opacity: 1;
    top: 0;
  }
}
.fadeOut {
  animation: 0.3s fadeOut forwards;
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
#header_size_guide {
  display: none;
}
.white-gradient:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 32px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #fff 100%);
  pointer-events: none;
  z-index: 1;
}

/* Fake order */
@keyframes progressbar {
  0% {
    width: 100%;
  }

  to {
    width: 0;
  }
}

@keyframes fadeInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
    opacity: 0;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes fadeInDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    opacity: 0;
  }
}
.animated {
  -webkit-animation-duration: 0.8s;
  animation-duration: 0.8s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
.animate__fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}
.animate__fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
}
.fake-order-progressbar {
  border-radius: 0 0 var(--rounded) var(--rounded);
}
.fake-order-progressbar span {
  height: 2px;
  display: block;
  width: 100%;
}
.success,
.warning {
  padding: 1.2rem 2rem;
  position: relative;
}
.success,
.message-success {
  --color-success: #137f24;
  --border-color-success: #b4deb0;
  --background-success: #dcf0d8;
  --color-link: var(--color-success);
  margin-bottom: 2rem;
  color: var(--color-success);
  background-color: var(--background-success);
  border: 1px solid var(--border-color-success);
  border-radius: 5px;
  gap: 0.5rem;
  font-weight: var(--subheading_weight, 500);
  line-height: 1.5;
  font-size: var(--body-font-size);
}

.errors,
.error,
.message-error,
.dmp_error-message {
  --color-error: #d0473e;
  --border-color-error: #eabdbd;
  --background-error: #fadfdf;
  --color-link: var(--color-error);
  padding: 11px 2rem;
  background: var(--background-error);
  border: 1px solid var(--border-color-error);
  color: var(--color-error);
  text-align: left;
  border-radius: 5px;
  margin-bottom: 1rem;
  list-style: none;
  position: relative;
  gap: 0.5rem;
  font-weight: var(--subheading_weight, 500);
  line-height: 1.5;
  font-size: var(--body-font-size);
}
.dmp_error-message {
  display: block;
  margin-top: 1rem;
}
.text-overflow-ellipsis {
  text-overflow: ellipsis;
}
/* Message */
.message-info,
.warning {
  color: #907341;
  --color-link: #907341;
  --btn-link-color: #907341;
  border: 1px solid #e9d7b8;
  background: #faf0df;
  padding: 1.5rem 2rem;
  font-weight: var(--subheading_weight, 500);
  border-radius: 5px;
  line-height: 1.5;
  font-size: var(--body-font-size);
}
:is(.message-info, .message-success, .message-error) a {
  color: currentColor;
}
:is(
    .message-info,
    .success,
    .message-success,
    .message-error,
    .warning,
    .errors,
    .error
  )
  svg {
  width: 1.8rem;
  flex: 0 0 1.8rem;
}
@keyframes al-loading {
  0% {
    width: 0;
  }

  to {
    width: 80%;
  }
}
@keyframes al-loading-finish {
  0% {
    width: 80%;
  }

  to {
    width: 100%;
  }
}
.select-custom__content {
  top: calc(100% + 15px);
  max-height: 60vh;
  min-width: 22rem;
  overflow: hidden;
  overflow-y: scroll;
  z-index: 7;
}
.select-custom.active .select-custom__content {
  opacity: 1;
  visibility: visible;
  top: 100%;
}
.select-collection-tab.active .select-custom__content {
  top: calc(100% + 2px);
}
:is(.horizontal-filter collapsible-block, .select-custom).active
  .active-rotated {
  transform: rotate(-180deg);
}
.pagination__item--current {
  color: var(--btn-primary-color);
  background-color: var(--btn-primary-bg-color);
  border-color: var(--btn-primary-bg-color);
}
.loading .loading-overlay {
  opacity: 0.7;
  visibility: visible;
}
body.loading::after {
  background: var(--color-primary);
  content: "";
  height: 3px;
  left: 0;
  opacity: 1;
  position: absolute;
  top: 0;
  width: 0;
  z-index: 11;
  animation: al-loading 1s cubic-bezier(0.43, 0.27, 0.36, 0.83) forwards;
  transition: width 1s linear, opacity 0.35s linear 0.35s;
}
body.loading.finish::after {
  width: 100%;
  animation: al-loading-finish 0.3s cubic-bezier(0.43, 0.27, 0.36, 0.83)
    forwards;
}
/* Start customer style */
.customer-forgot#recover {
  display: none;
}

.customer-forgot#recover:target {
  display: block;
}

.customer-forgot#recover:target + .customer-login {
  display: none;
}

.form-group textarea,
.form-group input {
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.subtext {
  margin-bottom: 1rem;
}

.subtext.mb-20 {
  margin-bottom: 2rem;
}

.bls__tab-header > div,
.bls-login-popup {
  display: none;
}

.bls__tab-header > div[aria-hidden="false"],
.bls-login-popup[aria-hidden="false"] {
  display: block;
}

label.form-label {
  color: var(--color-link);
}

.title-customer {
  --font-h3: 2.4rem;
  font-size: clamp(2rem, 3vw, var(--font-h3));
  margin-bottom: clamp(2rem, 3vw, 2.5rem);
}

.forget-password,
.link-forgot {
  color: rgb(var(--base-color));
}

@media (min-width: 1024px) {
  [class*="customer-"] .row {
    --bs-gutter-x: 8rem;
  }
}
.open-drawer .bls__drawer.open {
  transform: translate(0);
  opacity: 1;
  visibility: visible;
}
.show-overlay::after {
  content: "";
  background: var(--show-overlay-bg, rgba(255, 255, 255, 0.9));
  opacity: 0;
  position: fixed;
  transition: var(--transition);
  visibility: hidden;
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;
  z-index: 9;
}
.open.show-overlay::after {
  opacity: 1;
  visibility: visible;
}
.toast {
  opacity: 0;
  visibility: hidden;
  min-width: 250px;
  margin-left: -125px;
  text-align: center;
  border-radius: 2px;
  position: fixed;
  z-index: 999999;
  top: 3rem;
  right: 3rem;
  font-size: 17px;
  white-space: nowrap;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.toast.show {
  visibility: visible;
  opacity: 1;
}
.show-tooltip {
  overflow: visible;
}
.show-tooltip:not(.reveal_on_scroll) .swiper-slide:not(.swiper-slide-visible) {
  opacity: 0;
  pointer-events: none;
}
body .swiper-button-next.swiper-button-disabled,
body .swiper-button-prev.swiper-button-disabled {
  pointer-events: auto;
}

.error-message a{
   color: red;
   text-decoration: none;
}
/* idea product */
.btn-idea:hover{
  transition: var(--transition);
  -webkit-transition: var(--transition);
}
.idea-product-list{
  --color-text: #444444;
  --color-heading: #111111;
  min-width: 390px;
  max-width: 100%;
  bottom: 3rem;
  left: 3rem;
  border-radius: var(--rounded-radius);
  top: auto;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: all 0.3s;
  transform: translateY(3rem);
}

.idea-product.active .idea-product-list{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}
.idea-product-list .close svg {
  color: var(--color-text);
}
@media (min-width: 1200px) {
  .products-idea-limit .idea-product-list{
    min-width: unset;
    right: 3rem;
  }
}
@media (max-width: 1199.98px) {
  .idea-product-list{
    right: 2rem;
    left: 2rem;
    bottom: 2rem;
    min-width: auto;
  }
}
@media (min-width: 768px) {
  .btn-idea{
    --btn-padding-x: 3rem;
  }
}
.idea-product .idea-product-list_header{
  padding: 0 2rem 1.7rem;
  margin-left: -2rem;
  margin-right: -2rem;
  line-height: 1;
}
.idea-product .close{
  transform: translateY(3px);
}
.idea-product .custom-scrollbar{
  max-height: 330px;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  padding-inline-end: 0.2rem;
}
.idea-product  .idea-product-list .custom-scrollbar > div:not(:last-child){
  border-bottom: 1px solid var(--color-border);
  padding-bottom: 1.5rem;
  margin-bottom: 1.5rem;
}
.idea-product .product-item__inner{
  max-width: 60px;
}
.idea-product .product-item__inner > a{
  border-radius: 5px;
}
@media (max-width: 1024.98px) {
  .idea-product-list{
    padding: 1.5rem;
  }
  .idea-product .idea-product-list_header{
    margin-left: -1.5rem;
    margin-right: -1.5rem;
  }
  .idea-product .custom-scrollbar{
    max-height: 200px;
  }
  .outfit-timer countdown-timer{
    gap: 5px;
  }
  .outfit-timer .count-timer{
    font-size: 2rem;
  }
}
@media (max-width: 767.98px) {
  .outfit_idea  .flex-cols > *{
    width: 100%;
  }  
  .idea-product .view_idea_product{
    right: 0;
    margin: auto;
    margin-bottom: 3rem;
  }
}
.view_idea_product{
   transition: var(--transition);
   width: max-content;
}
/* testimonial products style */

.testimonials_design-morden .testimonial_wraper{
  border: 0;
}
.testimonials_design-morden slide-section{
  max-width: 100%;
  margin: auto;
}
.testimonials_design-morden  .testimonial_info{
  width: 650px;
  max-width: 100%;
  margin: auto;
}
.testimonials_design-morden  .testimonial_info .testimonials-quote{
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.41;
  color: var(--color-heading);
}
.testimonials_design-morden  .testimonial_info  > div{
    padding:  0 1rem;
}
@media (min-width: 1024px) {
  .testimonials_design-morden  .testimonial_info .testimonials-quote{
    font-size: calc(var(--body-font-size) + 10px);
  }

}
/* testimonial style */
.testimonials_morden slide-section {
  width: 1030px;
  max-width: 100%;
  margin: auto;
}
.testimonials_morden .testimonials-quote{
  font-family: var(--heading-font);
  color: var(--color-heading);
  font-size: 3rem;
  font-weight: 400;
  margin-bottom: 2rem;
}
.testimonials_morden .rate-info{
  display: flex;
  flex-direction: column-reverse; 
}
.testimonials_morden .testimonial_wraper{
  gap: 0;
}
.testimonials_morden .testimonials-rating{
  margin: 0 0 5px;
}
.testimonials_morden .testimonials-group{
  margin: 0;
}
.testimonials_morden .author-infor{
  gap: 5px;
}
.testimonials_morden .icon-quote{
  margin-bottom: 5px;
}
@media (max-width: 767.98px) {
  .testimonials_morden .testimonials-quote{
    font-size: 2rem;
  }
}

/* products-grid banner */
.product-grid__banner-content{
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 2rem;
  pointer-events: none;
}
.banner-content-inner{
  pointer-events: auto;
}
@media (min-width: 768px) {
  .product-grid__banner-content [class*="btn-"] {
    --btn-padding-x: 4.6rem;
  }
}
@media (min-width: 1200px) {
  .product-grid__banner-content .sec__content-heading{
    font-size: 4rem;
  }
}

/* comparison-slider */
.sec__image-comparison-slider .img-container  .align-self-start{
  align-self: unset;
  display: flex;
  flex-direction: column;
}
.sec__image-comparison-slider .img-container  .align-self-start .testimonial-product_comparison{
  margin-top: auto;
}
.sec__image-comparison-slider .testimonial-product_comparison .product-item__wrapper{
  background-color: var(--grey-color);
  border-radius: var(--rounded-radius);
  overflow: hidden;
}
.sec__image-comparison-slider .testimonial-product_comparison .product__media{
  border-radius: 0;
  aspect-ratio: 3/4 !important;
}
@media (min-width: 992px) {
  .sec__image-comparison-slider .col-md-w-custom {
      flex: 0 0 auto;
      width: var(--col-width, 50%);
  }
}
@media (max-width: 991.98px) {
  .sec__image-comparison-slider .col-md-w-custom {
      flex: 0 0 auto;
      width: 100%;
  }
}
/* testimonial */

.testi-classic .author-image-classic {
  border: 2px solid #e5e051;
}
.testi-classic .heading-style {
  font-size: calc(var(--body-font-size) + 8px);
}
.testimonials-title {
  font-size: calc(var(--body-font-size) + 6px);
} 
/* blog */
.sec__blog-post .blog-posts-main.morden .blog-posts-info{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 2rem;
}
.sec__blog-post .blog-posts-main.morden .blog-posts-info *{
  color: white;
}
.sec__blog-post .blog-posts-main.morden .blog-posts-category {
  position: static;
}
.sec__blog-post .blog-posts-main.morden .blog-posts-category a{
  background: transparent;
}
.sec__blog-post .blog-posts-image >a:after {
  content: "";
  background: linear-gradient(180deg, #0000 20%, #00000085);
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 0;
  pointer-events: none;
  z-index: 2;
  border-radius: var(--rounded-radius, 0);
}
.blog-list .blog-posts-category {
  position: static; 
}
@media (min-width: 768px) and (max-width: 1024px) {
  #blog-articles:is(.grid-cols, .flex-cols) {
      --col: var(--col-desktop-small, var(--col-tablet));
  }
}
@media (max-width: 1024px) {
  #blog-articles .blog-posts-category >a {
    padding: 3px 6px;
  }
}
.no-preload.swiper-slide picture {
  animation: none;
  transform: scale(1);
}

.swiper-slide-active picture {
  animation: zoomOutimage 1s ease;
  transform: scale(1);
  transition: all 1s ease;
}
.swiper-slide-prev picture, .swiper-slide-next picture {
  transform: scale(1);
}

@keyframes zoomOutimage {
  0% {
    transform: scale(1.08); 
  }
  100% {
    transform: scale(1); 
  }
}


image-tabs .rounded{
  overflow: revert;
  border-radius: var(--rounded-radius);
}
image-tabs  .banner__media {
  overflow: hidden;
}
.preload-page {
  background-color: #fff;
  z-index: 9999;
  opacity: 1;
  left: 0;
  top: 0;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  height: 100vh;
  width: 100vw;
  position: fixed;
  display: flex;
}
.preload-screen-loading-bar {
  width: 13rem;
  height: 0.2rem;
  border-radius: 0.2rem;
  background-color: #ebebeb;
  overflow: hidden;
  position: relative;
  display: block;
}
.preload-screen-loading-bar::after {
  content: '';
  height: 100%;
  width: 6.8rem;
  position: absolute;
  transform: translate(-3.4rem);
  background-color: #212326;
  border-radius: 0.2rem;
  animation: initial-loading 1s ease infinite;
}
@keyframes initial-loading {
  0% {
    transform: translate(-6.8rem);
  }
  100% {
    transform: translate(13rem);
  }
}
@keyframes pageTransitionSpinner {
  0% {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }

  25% {
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
  }
  50% {
    -webkit-transform: rotate3d(0, 0, 1, 180deg);
    transform: rotate3d(0, 0, 1, 180deg);
  }
  75% {
    -webkit-transform: rotate3d(0, 0, 1, 270deg);
    transform: rotate3d(0, 0, 1, 270deg);
  }
  100% {
    -webkit-transform: rotate3d(0, 0, 1, 360deg);
    transform: rotate3d(0, 0, 1, 360deg);
  }
}
.preload-screen-spinner {
  --loading-size: 80px;
  --loading-color: #bbbbbb;
  animation: pageTransitionSpinner 1.5s linear infinite;
  width: var(--loading-size);
  height: var(--loading-size);
  border-radius: 50%;
  box-shadow: 0 2px 0 0 var(--loading-color);
  transform-origin: calc(var(--loading-size) / 2)
    calc(var(--loading-size) / 2 + 1px);
}
.appstle_manageSubBtn ~ br,
.appstle_manageSubBtn {
  display: none;
}
.sec__icon-content-box {
  background-color: var(--sec-icon-content-bg);
  border-radius: var(--rounded-radius);
}
.outfit-item {
  width: 28rem;
}
.outfit-item .product-item__wrapper {
  padding: 1rem;
  --col-width: 7rem;
  border-radius: var(--rounded-radius,3px);
}
.outfit-item .product-item__wrapper  .fs-custom ,
.outfit-item .product-item__wrapper .product-item__price {
  font-size:14px;
}
@media (max-width: 1024px) {
  .cart-count.h-count {
    top: 10px !important;
    right: -8px !important;
    font-size: 10px !important;
  }
}



/* =================== HEADER: Sticky State (No Menu Jump) =================== */
.shopify-section-header-sticky .header__menu .horizontal-list > li > a,
.shopify-section-header-sticky .header__menu .horizontal-list > li > menu-item > a,
.shopify-section-header-sticky .header__menu .horizontal-list > li > a:hover,
.shopify-section-header-sticky .header__menu .horizontal-list > li > menu-item > a:hover {
  padding: 10px 0 !important;
  min-height: 55px !important;
  line-height: 1.2 !important;
  font-weight: 400 !important;
  background: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  transition: color 0.2s;
}

/* =================== FOOTER: Newsletter Input/Block Styling =================== */
.footer__newsletter input[type="email"],
.footer__newsletter .field__input {
  border-radius: 0 !important;
  border: none !important;
  background: transparent !important;
  color: #111 !important;
  caret-color: #111 !important;
  box-shadow: none !important;
  outline: none !important;
  padding-left: 24px !important;
}

.footer__newsletter input::placeholder,
.footer__newsletter .field__input::placeholder {
  color: var(--color-foreground, #999) !important;
  opacity: 1 !important;
}

.footer__newsletter .field {
  border: 1px solid var(--color-border, #111) !important;
  border-radius: 0 !important;
  background: transparent !important;
  overflow: hidden;
  display: flex !important;
  align-items: center !important;
}

.footer__newsletter button,
.footer__newsletter .newsletter-form__button {
  border-radius: 0 !important;
  border: none !important;
  background: transparent !important;
  color: var(--color-foreground, #111) !important;
  box-shadow: none !important;
  outline: none !important;
  padding: 0 4px 0 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 100% !important;
  min-height: 0 !important;
}

.footer__newsletter button svg,
.footer__newsletter .newsletter-form__button svg {
  width: 20px !important;
  height: 20px !important;
  display: block !important;
}

@media (max-width: 767.98px) {
  .footer__newsletter button svg,
  .footer__newsletter .newsletter-form__button svg {
    width: 20px !important;
    height: 20px !important;
  }
}

/* Newsletter heading font size (desktop) */
@media (min-width: 768px) {
  .footer__newsletter .heading-morden,
  .newsletter-inner .heading-morden,
  .footer__newsletter .footer__block-heading,
  .footer-block .footer__block-heading,
  .footer-block .heading-morden {
    font-size: 15px !important;
    line-height: 0 !important;
  }
}

/* Hide all footer headings except in newsletter */
.footer__block-heading { display: none !important; }
.newsletter-inner .footer__block-heading,
.newsletter-inner .heading-morden { display: block !important; }

/* =================== FOOTER: Flex & Spacing (Desktop) =================== */
@media (min-width: 901px) {
  .footer__blocks.flex.flex-col-custom.flex-wrap {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: flex-start;
    justify-content: flex-end;
    padding-right: 0 !important;
    margin-right: -24px !important;
    width: 100% !important;
    gap: 0 !important;
  }
  .footer-block.newsletter {
    margin-right: auto !important;
    flex: 0 0 auto !important;
  }
  .footer-block.link_list,
  .footer-block.store_info,
  .footer-block.custom_liquid {
    flex: 0 0 auto !important;
    min-width: 0 !important;
    max-width: none !important;
    width: auto !important;
    margin-left: 70px !important;
    margin-right: 0 !important;
  }
  .footer-block.newsletter + .footer-block.link_list,
  .footer-block.newsletter + .footer-block.store_info,
  .footer-block.newsletter + .footer-block.custom_liquid {
    margin-left: 64px !important;
  }
  .footer__blocks > .footer-block.link_list:last-child,
  .footer__blocks > .footer-block.store_info:last-child,
  .footer__blocks > .footer-block.custom_liquid:last-child {
    margin-right: 0 !important;
  }
  .footer__blocks { position: relative; }
  .footer__blocks > .footer-block.link_list:last-child {
    margin-right: -32px !important;
  }
  .footer-block.link_list {
    margin-top: var(--footer-menu-top, 11px) !important;
    margin-bottom: var(--footer-menu-bottom, 0px) !important;
  }
  .footer-block .list-unstyled li {
    margin-bottom: 6px;
  }
  .footer-block .list-unstyled li:last-child {
    margin-bottom: 0;
  }
  .footer-block .smooth-padding-hover,
  .footer-block .smooth-padding-hover:hover,
  .footer-block .smooth-padding-hover:focus {
    transition: none !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
    transform: none !important;
  }
}

/* =================== FOOTER: Flex & Spacing (Mobile) =================== */
@media (max-width: 900px) {
  .footer-block:not(.newsletter) .footer__block-heading {
    display: block !important;
    font-size: 0;
    height: 0;
    margin: 0;
    padding: 0;
  }
  .footer-block.newsletter .footer__block-heading {
    display: block !important;
    font-size: 14px !important;
    height: auto !important;
    margin-bottom: 12px !important;
    padding: 0;
  }
  .footer__blocks {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    width: 100% !important;
    gap: 10px 60px !important;
  }
  .footer-block.link_list ul,
  .footer-block.link_list li,
  .footer-block.link_list a {
    font-size: 12px !important;
    letter-spacing: 0.01em;
    line-height: 2 !important;
  }
  .footer-block.link_list {
    width: auto !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
    min-width: unset !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin-bottom: 17px !important;
  }
  .footer-block.link_list:last-of-type { margin-left: auto !important; }
  .footer-block.custom_liquid,
  .footer-block.newsletter {
    width: 100% !important;
    flex: 0 0 100% !important;
  }
  .footer-block,
  .footer__blocks {
    border: none !important;
    box-shadow: none !important;
  }
  .footer__bottom { border-top-width: 1px !important; }
  .footer__bottom .flex { justify-content: center !important; }
  .footer__bottom,
  .footer__bottom .copyright,
  .footer__bottom .footer__copyright,
  .footer__bottom p {
    font-size: 12px !important;
    letter-spacing: 0.03em;
  }
}

/* =================== FOOTER: Device-Specific Responsive Spacing =================== */

/* iPhone SE and similar (up to 389px wide) */
@media (max-width: 389px) {
  .footer__blocks {
    gap: 0 36px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .footer-block {
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .footer-block.link_list,
  .footer-block.custom_liquid,
  .footer-block.newsletter {
    margin-bottom: 8px !important;
  }
}

/* iPhone 12 Pro (390px–413px) */
@media (min-width: 390px) and (max-width: 413px) {
  .footer__blocks {
    gap: 0 43px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .footer-block {
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .footer-block.link_list,
  .footer-block.custom_liquid,
  .footer-block.newsletter {
    margin-bottom: 8px !important;
  }
}

/* iPhone XR (414px–429px) */
@media (min-width: 414px) and (max-width: 429px) {
  .footer__blocks {
    gap: 0 55px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .footer-block {
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .footer-block.link_list,
  .footer-block.custom_liquid,
  .footer-block.newsletter {
    margin-bottom: 8px !important;
  }
}

/* iPad pro (1024–1199px) */
@media (min-width: 1024px) and (max-width: 1199px) {
  .footer__blocks {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: 0 !important;
    padding-left: 65px !important;
    padding-right: 24px !important;
    box-sizing: border-box !important;
  }
}

/* iPad Mini - iPad Air (768px–820px) */
@media (min-width: 768px) and (max-width: 820px) {
  .footer__blocks {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 0 32px !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    padding-left: 15px !important;
    padding-right: 10px !important;
    box-sizing: border-box !important;
  }
  
  .footer-block {
    flex: 1 1 0 !important;           /* Menu blocks take up 1 portion */
    min-width: 80px !important;       /* Lower min-width for more flexibility */
    max-width: 100% !important;
    margin-bottom: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
  }
  .footer-block.newsletter {
    flex: 2.5 1 0 !important;         /* Newsletter block takes up more space */
    min-width: 160px !important;
    max-width: 100% !important;
  }
  .footer-block.newsletter .footer__block-heading {
    display: block !important;
    margin-bottom: 12px !important;
    line-height: 1.3 !important;
  }
  .footer-block.newsletter .footer__newsletter input[type="email"],
  .footer-block.newsletter .footer__newsletter .field__input {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* iPhone 13 pro max - iPhone 14 pro max landscape size (821px–950px) */
@media (min-width: 821px) and (max-width: 950px) {
  .footer__blocks {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 0 80px !important; /* Default gap for tablet/large phone */
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    padding-left: 15px !important;
    padding-right: 10px !important;
    box-sizing: border-box !important;
  }

  .footer-block {
    flex: 1 1 0 !important;
    min-width: 80px !important;
    max-width: 100% !important;
    margin-bottom: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
  }

  .footer-block.newsletter {
    flex: 2.2 1 0 !important;
    min-width: 280px !important;
    max-width: 340px !important;
    align-self: flex-start !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  .footer-block.newsletter .footer__block-heading {
    display: block !important;
    margin-bottom: 12px !important;
    margin-top: 0 !important;
    line-height: 1.2 !important; /* Default for this range */
  }

  .footer-block.newsletter .footer__newsletter {
    width: 100% !important;
    max-width: 340px !important;
  }
  .footer-block.newsletter .footer__newsletter input[type="email"],
  .footer-block.newsletter .footer__newsletter .field__input {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 15px 16px !important;
  }
}

/* iPhone 13 Pro Max landscape (844px wide) — override gap and line-height */
@media (width: 844px) and (orientation: landscape) {
  .footer__blocks {
    gap: 0 18px !important; /* Smaller gap for 13 Pro Max */
  }
  .footer-block.newsletter .footer__block-heading {
    line-height: 1.3 !important; /* Tighter heading alignment */
  }
}

/* iPhone 14 Pro Max landscape (932px wide) — override gap and line-height */
@media (width: 932px) and (orientation: landscape) {
  .footer__blocks {
    gap: 0 28px !important; /* Slightly wider gap for 14 Pro Max */
  }
  .footer-block.newsletter .footer__block-heading {
    line-height: 0 !important; /* Looser heading alignment */
  }
}

@media (width: 932px) and (orientation: landscape) {
  .footer__blocks {
    gap: 0 28px !important; /* Slightly wider gap for 14 Pro Max */
  }
  .footer-block.newsletter .footer__block-heading {
    line-height: 0 !important; /* Tighter heading alignment */
  }
  .footer-block.newsletter,
  .footer-block.newsletter .footer__newsletter {
    max-width: 420px !important; /* Make the box wider on 14 Pro Max */
    min-width: 320px !important; /* Optional: wider minimum as well */
  }
}


@media (max-width: 389px) {
  .footer__blocks {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    gap: 0 28px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .footer-block {
    flex: 1 1 100% !important; /* stack or full width if needed */
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .footer-block.link_list,
  .footer-block.custom_liquid,
  .footer-block.newsletter {
    margin-bottom: 8px !important;
  }
}



/* hide footer menu title */
.footer-block.link_list .footer__block-heading {
  display: none !important;
}


/* =========== FOOTER: Miscellaneous =========== */
.footer-block .collapsible-content,
.footer-block .collapsible-content[aria-hidden="true"] {
  display: block !important;
  height: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
}


/* ========== FOOTER: Disable collapsible + hide icons ========== */
.footer-block .collapsible-content {
  display: block !important;
  height: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.footer-block .collapsible-toggle,
.footer-block .collapsible-heading,
.footer-block .icon_plus-animation,
.footer-block .open-children-toggle,
.footer-block .icon-plus,
.footer-block .icon-minus,
.footer-block .icon-collapsible {
  display: none !important;
  pointer-events: none !important;
}

/* ========== FOOTER: Headings ========== */
/* Hide all headings by default */
.footer__block-heading {
  display: none !important;
}

/* Show only the newsletter heading */
.footer-block.newsletter .footer__block-heading {
  display: block !important;
}



/* Footer bottom border removal (unify this across breakpoints as needed) */
.footer_bottom-inner,
.footer__bottom {
  border-top: none !important;
}

/* Footer Bottom Padding and Margin */
@media (min-width: 901px) {
  footer, .footer, .footer__middle.section, .footer__middle, .footer__bottom {
    padding-bottom: 0 !important;
    margin-bottom: -30px !important;
  }
}
@media (max-width: 900px) {
  footer, .footer, .footer__middle.section, .footer__middle, .footer__bottom {
    padding-top: 16px !important;
    padding-bottom: 0 !important;
    margin-bottom: -50px !important;
  }
}

/* =================== HEADER ICONS: Desktop/Mobile =================== */
@media (min-width: 1025px) {
  .header__action .top-search-toggle svg,
  .header__action .top-search-toggle .icon,
  .header__action .header__icon-account svg,
  .header__action .header__icon-account .icon,
  .header__action .minicart_action svg,
  .header__action .minicart_action .icon {
    display: none !important;
  }
  .header__action .top-search-toggle::before { content: "SEARCH"; display: inline-block; }
  .header__action .header__icon-account::before { content: "ACCOUNT"; display: inline-block; }
  .header__action .top-search-toggle,
  .header__action .header__icon-account,
  .header__action .minicart_action {
    all: unset;
    display: inline-flex;
    cursor: pointer;
    padding: 0 28px;
    min-height: 55px;
    line-height: 55px;
    font: inherit;
    color: inherit;
    vertical-align: middle;
    text-transform: uppercase;
    box-sizing: border-box;
  }
  
  .section-header .header__action .top-search-toggle,
  .section-header .header__action .header__icon-account,
  .section-header .header__action .minicart_action,
  .shopify-section-header-sticky .header__action .top-search-toggle,
  .shopify-section-header-sticky .header__action .header__icon-account,
  .shopify-section-header-sticky .header__action .minicart_action {
    padding: 0 13px;
    line-height: 60px;
  }
  .header__action {
    display: flex;
    align-items: center;
    gap: 0;
  }
}

@media (max-width: 1024px) {
  .header__action {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    margin-right: -4px !important;
    box-sizing: border-box;
  }
  #cart-icon-bubble {
    display: flex !important;
    align-items: center !important;
    height: 44px !important;
    background: none !important;
    padding-right: 0 !important;
    box-sizing: border-box;
  }
  #cart-icon-bubble .cart-link-label.mobile-only {
    display: flex !important;
    align-items: center !important;
    padding: 0 !important;
    height: 44px;
  }
  #cart-icon-bubble .cart-icon-wrapper {
    display: flex !important;
    align-items: center !important;
  }
  #cart-icon-bubble .cart-icon-wrapper svg {
    width: 24px !important;
    height: 24px !important;
    vertical-align: middle;
  }
  #cart-icon-bubble .cart-count,
  #cart-icon-bubble .cart-count.h-count {
    display: inline-block !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    color: inherit !important;
    line-height: 2.3 !important;
    margin-left: -5px !important;
    padding: 0 !important;
    background: none !important;
    vertical-align: middle !important;
    position: static !important;
    top: auto !important;
    right: auto !important;
    min-width: unset !important;
  }
  .cart-icon-wrapper {
    position: relative;
    display: inline-block;
    vertical-align: middle;
  }
  .cart-count.h-count {
    position: absolute;
    top: 2px;
    right: -6px;
    font-size: 11px;
    font-weight: 700;
    color: currentColor;
    background: transparent;
    min-width: 14px;
    text-align: center;
    line-height: 1;
    pointer-events: none;
  }
}
.cart-count-delay { visibility: hidden; }
.cart-count-delay.loaded { visibility: visible; }

/* Header: Mobile paddings */
@media (max-width: 1024px) {
  header.header { --section-pt: 3 !important; --section-pb: 3 !important; }
}
@media (max-width: 768px) {
  .top-search-toggle { margin-left: 8px; transition: none !important; }
}

/* --- Sticky Header: Home Only, Bottom Line --- */
body.index .shopify-section-header-sticky header.header {
  border-bottom: 1px solid #111 !important;
}

/* --- Desktop/Mobile Visibility Utility --- */
.desktop-only { display: none !important; }
.mobile-only { display: inline !important; }
@media (min-width: 1025px) {
  .desktop-only { display: inline !important; }
  .mobile-only { display: none !important; }
  .cart-link-label.desktop-only { white-space: nowrap; font-size: inherit; vertical-align: middle; }
  .cart-count { display: inline; margin-left: 2px; font-weight: 400; }
  .header__action .top-search-toggle { padding-left: 0 !important; margin-left: 0 !important; }
  .header__action .header__icon-account { padding-right: 2.1rem !important; margin-right: 0 !important; }
  .header__action .minicart_action { margin-left: 0 !important; }
  .cart-link-label .cart-count { display: inline !important; font: inherit !important; white-space: nowrap !important; margin-left: 0 !important; }
}

/* --- "View All" Button Custom Hover --- */
a.btn_view-all, a.btn_view-all:visited {
  text-decoration: none !important;
  color: var(--color-link, #000);
  transition: color 0.2s;
}
a.btn_view-all:hover, a.btn_view-all:focus {
  color: var(--color-link-hover, #FF0000);
}
a.btn_view-all::after, a.btn_view-all::before {
  display: none !important;
  content: none !important;
}

.section__header-heading { font-size: 17px; }
@media (max-width: 767px) {
  .section__header-heading { font-size: 16px; }
  a.btn_view-all { font-size: 13px; }
}

/* ========== GLOBAL: Page Load, Cursor, Hide Announcement ========== */
body { opacity: 0; transition: opacity 0.2s linear; }
body.loaded { opacity: 1; }
body, body *::before, body *::after, html, html *::before, html *::after { cursor: default !important; }
a, a *, a::before, a::after, button, button *, button::before, button::after,
[role="button"], [role="button"] *, [role="button"]::before, [role="button"]::after { cursor: pointer !important; }
body.template-index .marquee-announcement-bar { display: none !important; }




/* Remove all margin and padding from the first two "Image With Text Overlay" sections */
.shopify-section[id*="_image_with_text_overlay_"]:nth-of-type(1) .section,
.shopify-section[id*="_image_with_text_overlay_"]:nth-of-type(2) .section,
.shopify-section[id*="_image_with_text_overlay_"]:nth-of-type(1) .banner__media,
.shopify-section[id*="_image_with_text_overlay_"]:nth-of-type(2) .banner__media {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Remove spacing BETWEEN the two sections (if any exists) */
.shopify-section[id*="_image_with_text_overlay_"]:nth-of-type(1) + .shopify-section[id*="_image_with_text_overlay_"]:nth-of-type(2) .section {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Keep your normal spacing below the SECOND image overlay */
.shopify-section[id*="_image_with_text_overlay_"]:nth-of-type(2) .section {
  margin-bottom: 40px !important;
  padding-bottom: 20px !important;
}
@media (max-width: 767px) {
  .shopify-section[id*="_image_with_text_overlay_"]:nth-of-type(2) .section {
    margin-bottom: 30px !important;
    padding-bottom: 10px !important;
  }
}

/* Remove mobile gap for Outfit Idea grid */
@media (max-width: 767px) {
  .outfit_idea .products-grid__items,
  .outfit_idea .products_grid__items {
    row-gap: 0 !important;
    gap: 0 !important;
  }
}

.header-statusbar-bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: env(safe-area-inset-top, 28px);
  background: transparent;
  z-index: 10000;
  pointer-events: none;
  transition: background 0.3s;
}
body.scrolled .header-statusbar-bg {
  background: #902A1E;
}

/* hover transition speed */
@media (min-width: 1025px) {
  /* Header actions + all footer links */
  .header__action .top-search-toggle,
  .header__action .header__icon-account,
  .header__action .minicart_action,
  .header__action .top-search-toggle::before,
  .header__action .header__icon-account::before,
  .header__action .minicart_action::before,
  footer a {
  }
}

@media (min-width: 1025px) {
  .section-header:not(.shopify-section-header-sticky) .transparent .header__menu .horizontal-list > li > a:hover,
  .section-header:not(.shopify-section-header-sticky) .transparent .header__menu .horizontal-list > li > menu-item > a:hover,
  .section-header:not(.shopify-section-header-sticky) .transparent .header__menu .horizontal-list > li > a:focus,
  .section-header:not(.shopify-section-header-sticky) .transparent .header__menu .horizontal-list > li > menu-item > a:focus {
    color: #fff !important;
    background: none !important;
    text-decoration: none !important;
    /* Optional: Remove underline or other effects */
    box-shadow: none !important;
    border-bottom: none !important;
    outline: none !important;
    transition: color 0.2s cubic-bezier(0.4,0,0.2,1);
  }
}


@media (min-width: 1025px) {
  /* Force SEARCH and ACCOUNT pseudo-text to white in transparent header on hover */
  .section-header:not(.shopify-section-header-sticky) .transparent .header__action .top-search-toggle:hover::before,
  .section-header:not(.shopify-section-header-sticky) .transparent .header__action .header__icon-account:hover::before {
    color: #fff !important;
  }

  /* Optionally make sure the base elements inherit white too */
  .section-header:not(.shopify-section-header-sticky) .transparent .header__action .top-search-toggle:hover,
  .section-header:not(.shopify-section-header-sticky) .transparent .header__action .header__icon-account:hover {
    color: #fff !important;
  }
}
@media (min-width: 1025px) {
  /* CART: Force white on hover for pseudo-text in transparent header */
  .section-header:not(.shopify-section-header-sticky) .transparent .header__action .minicart__action:hover::before {
    color: #fff !important;
  }

  /* Optional: ensure base cart element inherits white too */
  .section-header:not(.shopify-section-header-sticky) .transparent .header__action .minicart__action:hover {
    color: #fff !important;
  }
}

/* Remove gap between product media images */
.product__media-list {
  gap: 0 !important;
  row-gap: 0 !important;
  column-gap: 0 !important;
}

.product__media-item {
  margin: 0 !important;
  padding: 0 !important;
}


/* Remove column gap in product image grid */
.grid.grid-cols.grid_scroll {
  --col-gap: 0px !important;
  column-gap: 0 !important;
  row-gap: 0 !important;
  gap: 5px !important;
}


/* Hide Lightbox Bottom Navigation Bar (Image Counter + Arrows) */
.pswp__bottom-bar {
  display: none !important;
}

/* Remove Close Button Circle */
.pswp__button--bls--close {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  width: auto !important;
  height: auto !important;
  border-radius: 0 !important;
  margin-top: -30px !important;
}


/* Clean black line above first collapsible block */
.product-detail__information .bls-toggle:first-of-type {
  border-top: none !important;
  box-shadow: none !important;
  background: none !important;
  position: relative;
}

.product-detail__information .bls-toggle:first-of-type::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #000;
  z-index: 1;
}

/* Add spacing below Add To Cart button */
.product-detail__buy-buttons {
  margin-bottom: 60px !important; /* Adjust value as needed */
}


/* Resize product title (already scoped correctly) */
h1.product-detail__title {
  font-size: 18px !important;
}

/* Resize product price ONLY inside product information */
.product-detail__information span.price.price-same-style.heading-style {
  font-size: 15px !important;
}

/* Move price closer to product title */
.product-detail__information .product-detail__price {
  margin-top: -10px !important; /* Try 0 to 8px */
}


/* Variant option label (e.g., "Size: S") */
.product-form__input label[for^="Option"] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  font-size: 16px;
  text-transform: uppercase;
}

/* Wrap the variant buttons cleanly */
.product-form__input--buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

/* Ensure radio inputs are hidden */
.product-form__input input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* Uniform square style for labels */
.product-form__input input[type="radio"] + label {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 33px;             /* Set size here */
  height: 33px;
  border: 1px solid #000;
  font-size: 11px;
  background-color: #fff;
  color: #000;
  cursor: pointer;
  transition: all 0.25s ease;
  text-transform: uppercase;
}

/* Hover effect */
.product-form__input input[type="radio"] + label:hover {
  background-color: null;
  border-color: #000;
}

/* Active (selected) state */
.product-form__input input[type="radio"]:checked + label {
  background-color: #000;
  color: #fff;
  border-color: #000;
}


/* 2-Column Grid Desktop / Thumbnails Mobile */
.main-gallery--desktop { display: block; }
.main-gallery--mobile { display: none; }

@media (max-width: 767px) {
  .main-gallery--desktop { display: none !important; }
  .main-gallery--mobile { display: block !important; }
}


/* Hide lightbox zoom button in product image gallery */
.zoom_light_box {
  display: none !important;
}



:root { --statusbar-color: #902A1E; }

@supports (padding-top: env(safe-area-inset-top)) {
  body::before {
    content: "";
    position: fixed;
    top: 0; left: 0; right: 0;
    height: env(safe-area-inset-top);
    background: var(--statusbar-color);
    pointer-events: none;
    z-index: 9999;
    transition: background-color .18s ease;
  }
}


/* Keep original border style; only hide it when NOT selected */
.product-detail__variant-picker input[type="radio"]:not(:checked) + .color-swatch {
  border-color: transparent !important; /* keeps width/radius the same */
  box-shadow: none !important;          /* in case theme fakes border */
  outline: none !important;
}

/* Kill any border transition so there’s no animation */
.product-detail__variant-picker .color-swatch {
  transition: none !important;
}


/* Color swatch size only (preserves original style) */
:root{
  --swatch-size-mobile: 55px;   /* change me */
  --swatch-size-desktop: 50px;  /* change me */
}

.product-detail__variant-picker input[type="radio"] + .color-swatch,
.product-detail__variant-picker .color-swatch{
  width: var(--swatch-size-mobile) !important;
  height: var(--swatch-size-mobile) !important;
}

@media (min-width: 992px){
  .product-detail__variant-picker input[type="radio"] + .color-swatch,
  .product-detail__variant-picker .color-swatch{
    width: var(--swatch-size-desktop) !important;
    height: var(--swatch-size-desktop) !important;
  }
}


/* Swatch spacing only */
:root{
  --swatch-gap-mobile: 12px;   /* change me */
  --swatch-gap-desktop: 12px; /* change me */
}

/* your color fieldset is a flex container (see: product-form__input_color) */
.product-detail__variant-picker fieldset.product-form__input_color{
  gap: var(--swatch-gap-mobile) !important;  /* row + column gap */
}

@media (min-width: 992px){
  .product-detail__variant-picker fieldset.product-form__input_color{
    gap: var(--swatch-gap-desktop) !important;
  }
}

/* If you still see double spacing, the theme added margins on labels — nuke them: */
.product-detail__variant-picker fieldset.product-form__input_color .color-swatch{
  margin: 0 !important; /* optional */
}


/* Stop page-load movement of SIZE chips (keep original style) */
:root{
  --sizechip-w-m: 42px;  /* tweak */
  --sizechip-h-m: 33px;  /* tweak */
  --sizechip-w-d: 42px;  /* tweak */
  --sizechip-h-d: 33px;  /* tweak */
}

.product-detail__variant-picker .product__item-option{
  min-width: var(--sizechip-w-m) !important;
  min-height: var(--sizechip-h-m) !important;
  box-sizing: border-box;         /* includes padding/border in the lock */
  transition: none !important;    /* no fade/slide on load */
  animation: none !important;
}

@media (min-width: 992px){
  .product-detail__variant-picker .product__item-option{
    min-width: var(--sizechip-w-d) !important;
    min-height: var(--sizechip-h-d) !important;
  }
}

/* prevent “grow on select/hover” if theme adds effects */
.product-detail__variant-picker .product__item-option:hover,
.product-detail__variant-picker .product__item-option.is-selected,
.product-detail__variant-picker input[type="radio"]:checked + .product__item-option{
  transform: none !important;
}


/* White overlay */
.pswp-whitewash {
  position: fixed;
  inset: 0;
  background: #fff;
  opacity: 0;
  pointer-events: none;
  z-index: 999999;
}

/* Closing: smooth + cinematic */
/*.pswp-whitewash.is-closing {
  animation: pswpWhiteOut 800ms cubic-bezier(.22,.61,.36,1) both;
}*/

/* Always white background */
.pswp__bg {
  background: #fff !important;
  opacity: 1 !important;
}

/* Opening = instant (no fade) */
.pswp--prep .pswp__img {
  opacity: 1;
}

/* Closing: fade image out smoothly */
/*.pswp--closing .pswp__img {
  opacity: 0;
  transition: opacity 480ms cubic-bezier(.22,.61,.36,1);
}/*

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .pswp-whitewash,
  .pswp--closing .pswp__img {
    animation: none !important;
    transition: none !important;
  }
}

/* Keyframes for veil */
@keyframes pswpWhiteOut {
  0%   { opacity: 0; }
  40%  { opacity: 1; }  /* linger white a bit */
  100% { opacity: 0; }  /* dissolve away */
}


/* === Variant size label: always show hand cursor === */
.product-detail__variant-picker label,
.product-detail__variant-picker label *,
.product-detail__variant-picker label::before,
.product-detail__variant-picker label::after {
  cursor: pointer !important;
}

/* If you're using the size-lock patch that draws text via ::after */
.product-detail__variant-picker label.__size-lock::after {
  pointer-events: none; /* let clicks/hover go to the label */
}

/* Avoid text-selection I-beam */
.product-detail__variant-picker label,
.product-detail__variant-picker label * {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}



/* Prevent focus scroll caused by off-screen radios */
.product-detail__variant-picker input[type="radio"].visually-hidden,
.product-detail__variant-picker input[type="radio"].visually_hidden,
.product-form__input       input[type="radio"].visually-hidden,
.product-form__input       input[type="radio"].visually_hidden,
.product-detail__variant-picker input[type="radio"][class*="sr"],
.product-form__input       input[type="radio"][class*="sr"] {
  position: fixed !important;   /* keep it in viewport */
  left: 0 !important;
  top: 0 !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

/* Turn off smooth scroll while any input is focused */
html:focus-within {
  scroll-behavior: auto !important;
}



/* SKORPER: collection card color dots = purely visual */
.product__color-swatches .tooltip-content {
  display: none !important;   /* remove hover name box */
}

.product__color-swatches .product__color-swatch {
  pointer-events: none !important;  /* make them not clickable */
  cursor: default !important;       /* no hand pointer */
}


/* SKORPER: kill the selected/active ring around collection swatches */
.product__color-swatches .product__color-swatch,
.product__color-swatches .product__color-swatch.active,
.product__color-swatches .product__color-swatch.is-active,
.product__color-swatches .product__color-swatch[aria-selected="true"],
.product__color-swatches .product__color-swatch[aria-current="true"] {
  outline: none !important;
  box-shadow: none !important;   /* many themes draw the ring with box-shadow */
}

/* Some themes draw the ring on pseudo-elements */
.product__color-swatches .product__color-swatch::before,
.product__color-swatches .product__color-swatch::after {
  border: none !important;
  box-shadow: none !important;
}

/* Keep a thin border ONLY for white swatches so they remain visible */
.product__color-swatches .product__color-swatch[data-color="White"],
.product__color-swatches .product__color-swatch[data-color="white"],
.product__color-swatches .product__color-swatch[style*="background-color:white"],
.product__color-swatches .product__color-swatch[style*="background-color: #fff"] {
  border: 1px solid #111 !important;
}


/* SKORPER: align swatches flush with text and add gap */
.product__color-swatches {
  margin-left: 0 !important;   /* remove any theme offset */
  padding-left: 0 !important;
  justify-content: flex-start !important; /* align left */
  gap: 8px !important;        /* adjust space between dots */
}




/* === SKORPER Mega Panel (Desktop only) — non‑invasive === */
.sk-mega--panel{
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  background: #fff;
  opacity: 0;
  transform: none;
  pointer-events: none;
  transition: opacity .40s ease;
  z-index: 60;
}

/* SK — keep bottom line tied to panel opacity */
@media (min-width:1025px){
  .sk-mega--panel::after{
    content:"";
    position:absolute;
    left:0; right:0; bottom:0;
    height:1px;
    background:#111;      /* same as header border */
    pointer-events:none;
  }
}


.sk-mega__inner{ max-width:var(--sk-mega-maxw,1280px); margin:0 auto; padding:28px 32px 24px; }
.sk-mega__grid{ display:grid; gap:28px; }
.sk-mega__grid--4{ grid-template-columns:repeat(4,minmax(0,1fr)); }

.sk-mega__tile{ display:block; text-decoration:none; color:inherit; }
.sk-mega__img{ aspect-ratio: 3/4; border-radius:14px; overflow:hidden; background:#f5f5f5; }
.sk-mega__img img{ width:100%; height:100%; object-fit:cover; transform:scale(1.01); transition:transform .35s ease; }
.sk-mega__tile:hover .sk-mega__img img{ transform:scale(1.06); }
.sk-mega__caption{ margin-top:10px; font-size:13px; letter-spacing:.02em; }

.sk-mega__morewrap{ display:flex; justify-content:center; margin:18px 0 6px; }
.sk-mega__more{ font-size:12px; letter-spacing:.14em; text-transform:uppercase; text-decoration:none; color:inherit; position:relative; padding-bottom:2px; }
.sk-mega__more:after{ content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:currentColor; opacity:.35; }

@media (max-width:1024px){ .sk-mega--panel{ display:none !important; } }



/* Desktop only */
@media (min-width:1025px){
  /* Hide Milano's little caret/arrow on the replaced item */
  li[data-sk-mega-replace] > menu-item > .open-children-toggle,
  li[data-sk-mega-replace] .open-children-toggle,
  li[data-sk-mega-replace] .icon-down,
  li[data-sk-mega-replace] svg.icon-down {
    display: none !important;
    pointer-events: none !important;
  }

  /* Completely suppress the theme's native submenu for that item */
  li[data-sk-mega-replace] > .submenu,
  li[data-sk-mega-replace] > .mega-menu,
  li[data-sk-mega-replace] > .dropdown,
  li[data-sk-mega-replace] > [class*="submenu"]{
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
}

/* Our panel stays on top */
.sk-mega--panel { z-index: 60; }



html.is-resizing *, html.is-resizing *::before, html.is-resizing *::after {
  transition: none !important;
}

/* Desktop only — also target the custom element, not just a class */
@media (min-width:1025px){
  li[data-sk-mega-replace] > menu-item > open-children-toggle,
  li[data-sk-mega-replace] open-children-toggle {
    display: none !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
  }
}



/* === SKORPER panel sizing overrides (desktop) === */
@media (min-width:1025px){
  /* knobs you change */
  .sk-mega{
    --mega-width: 1100px;   /* overall width of the white window */
    --tile-fixed: 260px;    /* each tile’s width (works even with only 2 tiles) */
    --mega-gap: 32px;       /* space between tiles */
  }



  /* make the pictures smaller by fixing tile width */
  .sk-mega .sk-mega__grid{
    display:grid;
    grid-template-columns: repeat(auto-fit, minmax(var(--tile-fixed), var(--tile-fixed)));
    justify-content: start;         /* align tiles to the left */
    gap: var(--mega-gap);
  }

  /* make picture corners square (no rounding) */
  .sk-mega .sk-mega__img{ border-radius: 0; }
  .sk-mega .sk-mega__img img{ border-radius: 0; }
}



/* make the current tile grid slide horizontally (desktop only) */
@media (min-width:1025px){
  .sk-mega .sk-mega__grid{
    /* turn the grid into a horizontal scroller without changing tile look */
    grid-template-columns: none;             /* ignore the old repeat(...) */
    grid-auto-flow: column;                  /* lay items left→right */
    grid-auto-columns: var(--tile-fixed,240px); /* width per tile (you can tweak) */
    overflow-x: auto;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    padding-bottom: 12px;                    /* space for hidden scrollbar */
  }
  .sk-mega .sk-mega__grid::-webkit-scrollbar{ display:none; } /* hide bar */
  .sk-mega .sk-mega__tile{ scroll-snap-align: start; }
}


/* SKORPER — make SHOP mega tiles bigger (match console behavior) */
@media (min-width:1025px){
  .sk-mega[data-sk-mega="shop"] .sk-mega__grid{
    grid-auto-columns: 280px !important; /* same as console */
  }
}


/* SKORPER — Collections mega panel: 4 tiles fill width */
@media (min-width:1025px){
  .sk-mega--panel[data-sk-mega="collections"] .sk-mega__grid {
    /* 4 tiles, 3 gaps between them */
    grid-auto-columns: calc((100% - 3 * var(--mega-gap, 32px)) / 4) !important;
  }
}



/* Drag state feels native: no snap resistance, no accidental clicks */
.sk-mega .sk-mega__grid.is-dragging {
  cursor: grabbing;
  user-select: none;
  scroll-snap-type: none;
}
.sk-mega .sk-mega__grid.is-dragging a { pointer-events: none; }


/* === Mega panel: no flicker, no phantom opens === */
@media (min-width:1025px){
  /* 1) Open while the trigger is hovered OR while open state is active */
  header:has(li[data-sk-mega-replace]:hover) .sk-mega--panel,
  header[data-sk-mega-open="1"] .sk-mega--panel {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
  }

  /* 2) Let the panel stay open *only* if it was opened by the header state.
        (Prevents the bridge from opening it on its own.) */
  header[data-sk-mega-open="1"]:has(.sk-mega--panel:hover) .sk-mega--panel {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
  }

  /* 3) Hover bridge — but only when the trigger is hovered or header is open */
  header:has(li[data-sk-mega-replace]:hover) .sk-mega--panel::before,
  header[data-sk-mega-open="1"] .sk-mega--panel::before {
    content:"";
    position:absolute;
    left:0; right:0;
    top:-6px;              /* smaller buffer to avoid stray hits */
    height:6px;
    pointer-events:auto;
  }

  /* Optional: tighten the seam so there’s no visual gap */
  .sk-mega--panel { top: calc(100% - 1px); }
}



@media (min-width:1025px){
  /* Non-transparent / sticky header: preserve header’s bottom line */
  .shopify-section-header-sticky .sk-mega--panel,
  .section-header .header:not(.transparent) .sk-mega--panel {
    top: calc(100% + 1px);             /* sit just below the header border */
    border-top: none !important;       /* remove panel’s own top border */
  }
}


@media (min-width:1025px){
  header[data-sk-mega-open="1"] .sk-mega--panel::after {
    content:"";
    position:absolute;
    left:0; right:0; bottom:0;
    height:1px;
    background:#111;   /* same as header border */
    pointer-events:none;
  }
}



/* Mobile-first: hide text labels */
.search-link-label,
.account-link-label,
.cart-link-label { display:none; }

/* Desktop: show labels */
@media (min-width:1025px){
  .search-link-label,
  .account-link-label,
  .cart-link-label { display:inline-flex; }
}


/* SKORPER — kill body padding-right gap when mobile menu/drawer is open */
@media (max-width: 1024px) {
  html.menu-open, body.menu-open,
  html.drawer-open, body.drawer-open,
  html.nav-open,  body.nav-open,
  html.mmenu-open, body.mmenu-open { /* cover common class names */
    padding-right: 0 !important;  /* remove the white strip */
    overflow: hidden !important;  /* freeze background scroll */
    width: 100% !important;       /* prevent layout shift */
  }

  /* If your drawer uses a fixed panel, keep it strictly within the viewport */
  .mobile-menu, .drawer, .offcanvas, .nav-drawer {
    max-width: 100vw;
    right: auto;
    left: 0;
  }
}

/* Extra safety: don’t let any container extend past the viewport while menu is open */
@media (max-width: 1024px) {
  body.menu-open *, body.drawer-open * { overscroll-behavior: contain; }
}


/* === Skorper header link unification === */
:root { --sk-header-fade: color .20s cubic-bezier(.4,0,.2,1); }

@media (min-width:1025px){
  /* 1) Apply the exact same transition everywhere */
  .header__menu .horizontal-list > li > a,
  .header__menu .horizontal-list > li > menu-item > a,
  .header__action :is(.top-search-toggle,.header__icon-account,.minicart_action,.minicart__action),
  .header__action :is(.top-search-toggle,.header__icon-account,.minicart_action,.minicart__action)::before,
  .cart-link-label {
    transition: var(--sk-header-fade) !important;
  }

  /* 2) Transparent header colors (initial + hover) unified to match left-menu behavior */
  .section-header:not(.shopify-section-header-sticky) .transparent
    :is(
      .header__menu .horizontal-list > li > a,
      .header__action .top-search-toggle,
      .header__action .header__icon-account,
      .header__action :is(.minicart_action,.minicart__action),
      .cart-link-label
    ){
    color: var(--transparent-color, #fff) !important;
  }
  .section-header:not(.shopify-section-header-sticky) .transparent
    :is(
      .header__menu .horizontal-list > li > a:hover,
      .header__menu .horizontal-list > li > menu-item > a:hover,
      .header__action .top-search-toggle:hover,
      .header__action .header__icon-account:hover,
      .header__action :is(.minicart_action,.minicart__action):hover
    ){
    color: #fff !important;
  }
}


/* =========================
   SKORPER — Mobile icon fades
   ========================= */

:root{
  /* one place to tune speed/feel */
  --sk-header-fade-dur: .20s;
  --sk-header-fade-ease: cubic-bezier(.4,0,.2,1);
}

/* Re‑enable transitions for mobile & make the SVG graphics fade too */
@media (max-width:1024.98px){

  /* 1) Buttons/containers (color drives SVG via currentColor) */
  .header__action :is(.top-search-toggle, .header__icon-account, #cart-icon-bubble),
  .nav-toggle {
    transition: color var(--sk-header-fade-dur) var(--sk-header-fade-ease) !important;
  }

  /* 2) The actual icon graphics */
  .header__action :is(.top-search-toggle, .header__icon-account) svg,
  #cart-icon-bubble svg,
  .nav-toggle svg,
  .nav-toggle svg path,
  .nav-toggle svg line,
  .nav-toggle svg circle {
    transition:
      stroke  var(--sk-header-fade-dur) var(--sk-header-fade-ease),
      fill    var(--sk-header-fade-dur) var(--sk-header-fade-ease),
      opacity var(--sk-header-fade-dur) var(--sk-header-fade-ease);
  }

  /* 3) Transparent header: unify base color so all three look identical */
  .section-header:not(.shopify-section-header-sticky) .transparent
  :is(.nav-toggle, .header__action .top-search-toggle, .header__action .header__icon-account, #cart-icon-bubble){
    color: var(--transparent-color, #fff) !important;
  }

  /* If your cart count shows next to the icon, keep it in sync */
  #cart-icon-bubble .cart-count { color: currentColor !important; }
}

/* Explicitly override the earlier mobile rule that disabled transitions on search */
@media (max-width:768px){
  .top-search-toggle{
    transition: color var(--sk-header-fade-dur) var(--sk-header-fade-ease) !important;
  }
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
  .header__action :is(.top-search-toggle, .header__icon-account, #cart-icon-bubble),
  .nav-toggle,
  .header__action :is(.top-search-toggle, .header__icon-account) svg,
  #cart-icon-bubble svg,
  .nav-toggle svg,
  .nav-toggle svg path,
  .nav-toggle svg line,
  .nav-toggle svg circle {
    transition: none !important;
  }
}


/* =========================
   SKORPER — Menu/icons snap, header slow
   ========================= */

/* Header: keep slow transition */
:root{
  --sk-header-fade-dur: 1.0s;   /* slow sticky/transparent switch */
  --sk-header-fade-ease: cubic-bezier(.22,.61,.36,1);
}
.section-header .header{
  transition:
    background-color var(--sk-header-fade-dur) var(--sk-header-fade-ease),
    color            var(--sk-header-fade-dur) var(--sk-header-fade-ease),
    border-color     var(--sk-header-fade-dur) var(--sk-header-fade-ease),
    box-shadow       var(--sk-header-fade-dur) var(--sk-header-fade-ease) !important;
}

/* Menu + icons: snap instantly (no slow transition) */
.section-header .header
  :is(
    .horizontal-menu a,
    .sk-rightmenu a,
    .sk-rightmenu button,
    .sk-nav a,
    .top-search-toggle,
    .header__icon-account,
    .minicart_action,
    #cart-icon-bubble,
    .nav-toggle,
    .top-search-toggle::before,
    .header__icon-account::before,
    .minicart_action::before,
    .nav-toggle svg,
    .nav-toggle svg path,
    .nav-toggle svg line,
    .nav-toggle svg circle
  ){
  transition: none !important;
}


/* --- Turn off ALL header/link/icon transitions while the viewport is resizing --- */
html.sk-resizing .section-header .header,
html.sk-resizing .section-header .header :is(a, button, svg, .icon, .cart-count),
html.sk-resizing .section-header .header :is(.horizontal-menu a, .sk-rightmenu a, .sk-rightmenu button),
html.sk-resizing .section-header .header :is(.top-search-toggle, .header__icon-account, .minicart_action, #cart-icon-bubble),
html.sk-resizing .section-header .header :is(.top-search-toggle::before, .header__icon-account::before, .minicart_action::before),
html.sk-resizing .nav-toggle,
html.sk-resizing .nav-toggle svg,
html.sk-resizing .nav-toggle svg path,
html.sk-resizing .nav-toggle svg line,
html.sk-resizing .nav-toggle svg circle{
  transition: none !important;
}

/* --- Desktop: ensure transparent header links start white immediately (no first-frame black) --- */
@media (min-width:1025px){
  .section-header .header.transparent {
    color: #fff; /* base color for children using currentColor */
  }
  .section-header .header.transparent
    :is(.horizontal-menu a, .sk-rightmenu a, .sk-rightmenu button){
    color: #fff !important;           /* force initial paint to white */
    transition-delay: 0s !important;  /* no stagger on first frame */
  }
  /* if your right text uses ::before labels, inherit color immediately */
  .section-header .header.transparent
    :is(.top-search-toggle::before, .header__icon-account::before, .minicart_action::before){
    color: inherit !important;
  }
}


/* Desktop only: make SEARCH + ACCOUNT text dark in sticky header */
@media (min-width:1025px){

  /* Base element */
  .shopify-section-header-sticky .header .header__action 
    :is(.top-search-toggle, .header__icon-account),
  .section-header .header:not(.transparent) .header__action 
    :is(.top-search-toggle, .header__icon-account){
    color: #111 !important;  /* dark like other links */
  }

  /* Pseudo-text labels */
  .shopify-section-header-sticky .header .header__action 
    :is(.top-search-toggle::before, .header__icon-account::before),
  .section-header .header:not(.transparent) .header__action 
    :is(.top-search-toggle::before, .header__icon-account::before){
    color: #111 !important;
  }

  /* SVG icons inside SEARCH / ACCOUNT should follow */
  .shopify-section-header-sticky .header .header__action 
    :is(.top-search-toggle svg, .header__icon-account svg),
  .section-header .header:not(.transparent) .header__action 
    :is(.top-search-toggle svg, .header__icon-account svg){
    stroke: #111 !important;
    fill: #111 !important;
  }
}


/* =========================================================
   Desktop header underlines (FINAL, SAFE, VALID CSS)
   - SEARCH underline on header-search .dropdown-toggle::after
   - ACCOUNT underline on link::after
   - CART untouched (your underline stays)
   - Desktop only (>=1025px + pointer:fine)
   ========================================================= */
@media (min-width:1025px) and (pointer:fine){

  /* ============================
     SEARCH (left-anchored underline)
     ============================ */

  /* Kill any theme pseudo underline on the Search button */
  .header__action button.top-search-toggle::after{
    content: none !important;
  }

  /* Only target the SEARCH wrapper (prevents messing with other dropdowns) */
  .header__action header-search .dropdown-toggle{
    position: relative !important;

    /* deterministic sizing */
    --sk-search-ul-w: 6ch;
    --sk-search-ul-b: 19px;
  }

  /* Base underline (hidden, LEFT aligned) */
  .header__action header-search .dropdown-toggle::after{
    content: "" !important;
    position: absolute !important;
    left: 0 !important; /* starts at “S” */
    bottom: 21px !important;

    width: var(--sk-search-ul-w) !important;
    height: 1px !important;
    background: currentColor !important;

    transform: scaleX(0) !important;
    transform-origin: left !important;

    transition: transform .60s cubic-bezier(.22,.61,.36,1) !important;
    pointer-events: none !important;
  }

  /* Hover IN */
  .header__action header-search .dropdown-toggle:hover::after{
    transform: scaleX(1) !important;
  }

  /* Prevent click/focus “stuck underline” */
  .header__action header-search .dropdown-toggle:focus-within::after{
    transform: scaleX(0) !important;
    transition: transform .12s linear !important;
  }

  /* Color follows header state */
  .section-header:not(.shopify-section-header-sticky)
    :is(.transparent, .transparent-mobile)
    .header__action header-search .dropdown-toggle{
    color: var(--transparent-color) !important;
  }

  .section-header.shopify-section-header-sticky
    .header__action header-search .dropdown-toggle{
    color: var(--color-heading) !important;
  }


  /* ============================
     ACCOUNT (link underline)
     ============================ */

  .header__action .header__icon-account{
    position: relative !important;

    /* your optical tuning */
    --sk-underline-w: 7.1ch;
    --sk-underline-shift: -0.50ch;
  }

  .header__action .header__icon-account::after{
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    bottom: 21px !important;

    height: 1px !important;
    width: var(--sk-underline-w) !important;
    background: currentColor !important;

    transform: translateX(-50%) translateX(var(--sk-underline-shift)) scaleX(0) !important;
    transform-origin: left !important;

    transition: transform .60s cubic-bezier(.22,.61,.36,1) !important;
    pointer-events: none !important;
  }

  .header__action .header__icon-account:hover::after{
    transform: translateX(-50%) translateX(var(--sk-underline-shift)) scaleX(1) !important;
  }

  .header__action .header__icon-account:focus::after,
  .header__action .header__icon-account:focus-visible::after{
    transform: translateX(-50%) translateX(var(--sk-underline-shift)) scaleX(0) !important;
  }
}


/* ============================
   CART (keep your existing)
   Put it outside so it doesn't get killed if you edit the block above.
   ============================ */
@media (min-width:1025px){
  #cart-icon-bubble .cart-link-label.desktop-only{
    position: relative;
    display: inline-block;
  }

  #cart-icon-bubble .cart-link-label.desktop-only::after{
    content: "";
    position: absolute;
    left: 0;
    bottom: 2px;
    width: 100%;
    height: 1px;
    background-color: currentColor;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .60s cubic-bezier(.22,.61,.36,1);
    will-change: transform;
  }

  #cart-icon-bubble:hover .cart-link-label.desktop-only::after{
    transform: scaleX(1);
  }
}



/* =========================================================
   Desktop: MAIN MENU underline (SHOP / COLLECTIONS / ABOUT)
   - left-anchored
   - no layout shift
   - same easing as Search/Account/Cart
   ========================================================= */
@media (min-width:1025px) and (pointer:fine){

  /* Target your main nav links */
  .section-header .navigation .horizontal-list a{
    /* keep link layout intact */
    background: none !important;
    text-decoration: none !important;
  }

  /* If your theme wraps link text in <span> (best case) */
  .section-header .navigation .horizontal-list a > span{
    display: inline-block !important;

    background-image: linear-gradient(currentColor, currentColor) !important;
    background-repeat: no-repeat !important;

    /* underline starts from first letter */
    background-position: left calc(100% - 1px) !important;
    background-size: 0% 1px !important;

    transition: background-size .60s cubic-bezier(.22,.61,.36,1) !important;
    will-change: background-size !important;
  }

  .section-header .navigation .horizontal-list a:hover > span{
    background-size: 100% 1px !important;
  }

  /* Fallback: if some links DON'T have a span, underline the <a> itself */
  .section-header .navigation .horizontal-list a:not(:has(> span)){
    background-image: linear-gradient(currentColor, currentColor) !important;
    background-repeat: no-repeat !important;
    background-position: left calc(100% - 1px) !important;
    background-size: 0% 1px !important;

    transition: background-size .60s cubic-bezier(.22,.61,.36,1) !important;
    will-change: background-size !important;
  }

  .section-header .navigation .horizontal-list a:not(:has(> span)):hover{
    background-size: 100% 1px !important;
  }
}






/* MOBILE ONLY: remove the hairline gap between announcement bar and header */
@media (max-width: 1024px){
  /* kill any margins on the announcement section wrapper + its inner bar */
  .shopify-section--marquee,
  .marquee-announcement-bar { margin: 0 !important; }

  /* header side: no top margin/border/padding that can create a seam */
  .section-header,
  .section-header .header { border-top: 0 !important; }
  .section-header .header,
  .section-header .header__inner,
  data-sk-header-sticky { margin-top: 0 !important; padding-top: 0 !important; }

  /* some themes add a 1px “safety” border — ensure it’s gone on mobile */
  .section-header .header { box-shadow: none !important; }
}


/* 1) Define shared timing/easing on the header wrapper */
.section-header {
  --hdr-t: .25s;
  --hdr-e: ease;
}

/* 2) Header transition (if your theme lacks one) */
.section-header .header {
  transition:
    background-color var(--hdr-t) var(--hdr-e),
    color var(--hdr-t) var(--hdr-e),
    box-shadow var(--hdr-t) var(--hdr-e),
    border-color var(--hdr-t) var(--hdr-e);
}

/* 3) Announcement bar uses the exact same transition */
.section-header .marquee-announcement-bar {
  transition:
    background-color var(--hdr-t) var(--hdr-e),
    color var(--hdr-t) var(--hdr-e),
    box-shadow var(--hdr-t) var(--hdr-e),
    border-color var(--hdr-t) var(--hdr-e);
  will-change: background-color, color, box-shadow, border-color;
}


/* Mega panel captions follow default text color */
.sk-mega__caption {
  color: var(--color-text) !important; /* your Theme Editor text color */
}


/* Mega panel: Instagram-like continuous slide */
.sk-mega__grid{
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch; /* iOS momentum */
  scroll-snap-type: none !important; /* disable snapping */
  scroll-behavior: auto;             /* avoid extra smoothing */
}
.sk-mega__tile{
  scroll-snap-align: none !important;
  scroll-snap-stop: normal !important;
}


/* Desktop – show exactly 5 full tiles without partial cut */
@media (min-width:1025px){
  /* keep your gap variable, or set a custom one */
  .sk-mega { --mega-gap: 10px; }

  .sk-mega .sk-mega__grid{
    /* still a horizontal scroller for >5, but 5 fit perfectly in view */
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - 4 * var(--mega-gap, 32px)) / 5);
    overflow-x: auto; /* keep the slider behavior for extra items */
  }
}


/* STEP 1 — Desktop search popup = full width (edge to edge) */
@media (min-width:1025px){
  /* Ensure the fixed search layer itself may span the viewport */
  #search-form{
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    max-width: none !important;
  }

  /* Many Milano/TemplateMonster themes wrap with a fixed-width “drawer” */
  #search-form .search__drawer,
  #search-form .search__drawer-right,
  #search-form [class*="search__drawer"]{
    position: static !important;        /* stop pinning to a side */
    inset: auto !important;
    transform: none !important;         /* kill slide-in offset that fixes width */
    width: 100vw !important;            /* stretch to viewport */
    max-width: 100vw !important;
    height: 100% !important;
    box-shadow: none !important;        /* avoid a vertical shadow line in the middle */
    border-radius: 0 !important;
  }

  /* If the popup content is inside a .container/.fluid_container, remove its cap */
  #search-form .search__type-popup > .container,
  #search-form .search__type-popup > .fluid_container{
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}



/* Search panel starts after ALL header bars (announcement + main header) */
#search-form{
  position: fixed;
  top: var(--sk-header-offset, 64px);
  height: calc(100dvh - var(--sk-header-offset, 64px));
  left: 0; right: 0; width: 100vw;
  background: var(--color-background, #fff);
  z-index: 1040;

  /* keep your previous smooth transition */
  transform-origin: top center;
  transform: translateY(-12px) scaleY(.985);
  opacity: 0; pointer-events: none;
  transition: transform .40s ease, opacity .40s ease;
}
html.open-search #search-form,
#search-form.open{
  transform: translateY(0) scaleY(1);
  opacity: 1; pointer-events: auto;
}


/* Remove dark overlay ONLY when search is open */
html.open-search,
body.open-search {
  --overlay-bg: transparent !important;
}



/* When search is NOT open, kill transitions on predictive block */
html:not(.open-search) #predictive-search,
html:not(.open-search) #predictive-search * {
  transition: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* (Optional) while open, you still get smooth fade/slide */
html.open-search #predictive-search {
  will-change: opacity, transform;
  transition: opacity .40s ease, transform .40s ease !important;
}


/* Force the search input + field wrapper to close at the same speed as the popup */
.search-drawer,
#search-form,
#search-form .field,
#search-form .field * {
  transition-duration: .40s !important; /* match the drawer close speed */
  transition-timing-function: ease !important;
}


/* === Search: make EVERYTHING close at the same speed === */

/* 1) choose the speed you like (match cart feel) */
:root { --sk-search-speed: .40s; } /* change to .40s if you want it to feel like cart=0.4s */

/* 2) panel + content use the same duration (open/close) */
#search-form,
#search-form .search__drawer,
#search-form .mini_search_header,
#search-form .search-modal__form,
#search-form .search-modal__content,
#search-form .field,
#search-form .field * {
  transition-duration: var(--sk-search-speed) !important;
  transition-timing-function: ease !important;
  transition-property: opacity, transform !important;
  will-change: opacity, transform;
}

/* 4) X button (class names from your DOM) — stop hover/zoom animation during close */
html:not(.open-search) .btn_search-close,
html:not(.open-search) .btn_search-close .transition,
html:not(.open-search) .btn_search-close svg,
html:not(.open-search) .btn-reset.btn_search-close.button-close {
  transition: none !important;
  transform: none !important;
  opacity: 0 !important; /* fades with the header row above */
}

/* Optional: a tiny fade on the whole panel for a neat snap */
#search-form { transition: opacity var(--sk-search-speed) ease, transform var(--sk-search-speed) ease !important; }



/* Make overlay transparent only while SEARCH is open */
html.open-search { --overlay-bg: transparent !important; }


/* 0) Force ALL overlay elements to use the same variable, no animations = no flicker */
.popup-overlay,
.drawer-overlay,
.search-overlay,
.header .header__overlay,
.bls_overlay,
.bls-drawer__overlay,
.bls_drawer .overlay,
#bls-overlay,
body > .overlay {
  background: var(--overlay-bg) !important;
  transition: none !important;
  animation: none !important;
}

/* 1) Default = transparent (prevents the one-frame black flash when search starts) */
:root { --overlay-bg: transparent; }

/* 2) KEEP search overlay transparent and non-clickable while search is open */
html.open-search,
body.open-search { --overlay-bg: transparent !important; }

html.open-search .popup-overlay,
html.open-search .drawer-overlay,
html.open-search .search-overlay,
html.open-search .header .header__overlay {
  pointer-events: none !important;
}

/* 3) For all other drawers/popups, set overlay back to black.
   (Scoped to when search is NOT the thing that’s open.) */
html.open-drawer:not(.open-search),
body.open-drawer:not(.open-search),
html.open-minicart:not(.open-search),
body.open-minicart:not(.open-search),
html.cart-open:not(.open-search),
body.cart-open:not(.open-search),
html.filter-open:not(.open-search),
body.filter-open:not(.open-search),
html.open-sidebar:not(.open-search),
body.open-sidebar:not(.open-search),
html.popup-open:not(.open-search),
body.popup-open:not(.open-search) {
  --overlay-bg: rgba(0,0,0,0.60) !important;
}


/* one speed for the whole search drawer (match cart: .40s, or keep snappy: .28s) */
:root { --sk-search-speed: .28s; }

/* Base (closed) */
#search-form {
  opacity: 0;
  transform: translateY(-8px);
  visibility: hidden;
  pointer-events: none;
  transition: opacity var(--sk-search-speed) ease, transform var(--sk-search-speed) ease;
}

/* Theme adds `invisible` — keep it visible while we animate open/close */
#search-form.invisible { visibility: hidden; }
html.open-search #search-form.invisible,
html.sk-search-closing #search-form.invisible { visibility: visible !important; }

/* Open */
html.open-search #search-form {
  opacity: 1;
  transform: none;
  visibility: visible !important;
  pointer-events: auto;
}

/* Closing: reverse the open animation, but keep visible until it finishes */
html.sk-search-closing #search-form {
  opacity: 0;
  transform: translateY(-8px);
  visibility: visible !important;   /* critical: let the fade-out run */
  pointer-events: none;
}

/* Inner pieces move in/out together */
#search-form .mini_search_header,
#search-form .search-modal__form,
#search-form .search-modal__content,
#search-form .field,
#search-form .btn_search-close,
#search-form .btn_search-close svg {
  transition: opacity var(--sk-search-speed) ease, transform var(--sk-search-speed) ease;
  will-change: opacity, transform;
}

/* Closed look for inner pieces */
#search-form .mini_search_header,
#search-form .search-modal__form,
#search-form .search-modal__content,
#search-form .field,
#search-form .btn_search-close,
#search-form .btn_search-close svg { opacity: 0; transform: translateY(-6px); visibility: hidden; }

/* Open look */
html.open-search #search-form .mini_search_header,
html.open-search #search-form .search-modal__form,
html.open-search #search-form .search-modal__content,
html.open-search #search-form .field,
html.open-search #search-form .btn_search-close,
html.open-search #search-form .btn_search-close svg { opacity: 1; transform: none; visibility: visible; }

/* Closing: reverse but stay visible for the duration */
html.sk-search-closing #search-form .mini_search_header,
html.sk-search-closing #search-form .search-modal__form,
html.sk-search-closing #search-form .search-modal__content,
html.sk-search-closing #search-form .field,
html.sk-search-closing #search-form .btn_search-close,
html.sk-search-closing #search-form .btn_search-close svg { opacity: 0; transform: translateY(-6px); visibility: visible !important; }

/* Prevent hover zoom from fighting the close */
#search-form .btn_search-close:hover svg { transform: none !important; }



/* Don't reserve a gutter – we want true full-bleed */
html { scrollbar-gutter: auto !important; }

/* Global: hide OS scrollbars (Firefox/IE/old Edge) */
html, body,
#search-form .search-modal__content,
.minicart__wrapper,
.minicart__wrapper .minicart__content,
.drawer__content,
.custom-scrollbar {
  -ms-overflow-style: none;   /* IE/old Edge */
  scrollbar-width: none;      /* Firefox */
}

/* Global: hide OS scrollbars (Chrome/Safari/New Edge) */
html::-webkit-scrollbar,
body::-webkit-scrollbar,
#search-form .search-modal__content::-webkit-scrollbar,
.minicart__wrapper::-webkit-scrollbar,
.minicart__wrapper .minicart__content::-webkit-scrollbar,
.drawer__content::-webkit-scrollbar,
.custom-scrollbar::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
}


/* ==== MOBILE ONLY: announcement bar stays visible; drawers sit underneath ==== */
@media (max-width: 1024px){

  /* Keep the marquee above overlays without changing layout (no header jump) */
  .marquee-announcement-bar{
    position: relative;          /* stay in normal flow */
    z-index: 10020;              /* higher than overlay/drawers on mobile */
  }


#header__minicart .minicart__header{
  /* was +12px — make it larger than the theme’s 18px */
  padding-top: calc(env(safe-area-inset-top, 0px) + 50px) !important;
}




  /* === MOBILE MENU FIXES (Milano theme) === */
@media (max-width:1024.98px){

  /* Remove the black top bar */
  .navigation.horizontal .menu-mobile-title{
    display: none !important;
    height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: #fff !important;
  }

  /* SKORPER – Mobile menu drawer: remove divider lines */
.navigation.horizontal menu-item {
  border-bottom: none !important;
}

/* If the line is on the <li> itself, kill it too */
.navigation.horizontal li {
  border-bottom: none !important;
}


/* SKORPER – remove underline/border lines on mobile drawer anchors */
@media (max-width:1024.98px){
  .navigation.horizontal a {
    border-bottom: none !important;
  }
}


  /* Push the entire menu down so it's not cut by the announcement bar */
  @media (max-width:1024.98px){
  .navigation.horizontal{
    padding-top: calc(var(--height-bar, 0px) + 95px) !important;
    background: #fff !important;
  }

  /* X icon: inherit color, no shift, left indent */
@media (max-width:1024.98px){
  /* same style OPEN or CLOSED → no layout jump */
  .nav-toggle,
  html.nav-open .nav-toggle{
    position: static !important;     /* keep theme’s normal flow */
    color: inherit !important;       /* use your site icon/text color */
    background: transparent !important;
    transform: none !important;      /* stop micro slide */
    transition: none !important;     /* stop animation snap */
  }
}


@media (max-width:1024.98px){
  .navigation.horizontal{
    /* --- off-canvas baseline --- */
    left: 0;
    right: auto;
    --menu-x: -100%;
    transform: translate3d(var(--menu-x),0,0);

    /* --- make it slide only --- */
    transition: transform 0.80s ease !important;
    will-change: transform;

    /* --- stop the theme from hiding instantly --- */
    display: block !important;
    visibility: visible !important;

    /* --- lock opacity so no fade --- */
    opacity: 1 !important;
    animation: none !important;

    /* --- disable clicks while closed --- */
    pointer-events: none;
  }

  /* when menu is open */
  html.nav-open .navigation.horizontal{
    --menu-x: 0;
    pointer-events: auto;
  }

  /* neutralize any theme "invisible"/"hidden" utilities */
  .navigation.horizontal.invisible,
  .navigation.horizontal.hidden,
  .navigation.horizontal.hidden-1025{
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}


/* — Fix the X: show only when open, no fade, stay at left under the bar — */
@media (max-width:1024.98px){
  /* hidden by default so it doesn't show while the drawer is off-canvas */
  .navigation.horizontal .close-menu{
    display: none !important;
  }

  /* when menu is open, pin it and keep it steady */
  html.nav-open .navigation.horizontal .close-menu{
    display: inline-flex !important;               /* matches theme */
    position: fixed;                               /* prevents drifting */
    top: calc(var(--height-bar, 0px) + 30px);
    left: 10px;
    right: auto;
    z-index: 10001;
    opacity: 1 !important;                        /* no fade/hover change */
    transition: none !important;                   /* kill theme fade on X */
  }

  /* ensure the X doesn’t get insta-hidden by theme utilities */
  html.nav-open .navigation.horizontal .close-menu.invisible,
  html.nav-open .navigation.horizontal .close-menu.hidden,
  html.nav-open .navigation.horizontal .close-menu.hidden-1025{
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* keep the icon black */
  html.nav-open .navigation.horizontal .close-menu svg.heading-color{
    --color-heading:#000000; color:#000000; fill:currentColor;
  }
  html.nav-open .navigation.horizontal .close-menu svg.heading-color use{
    fill: currentColor;
  }
}


/* Mobile: disable "Collections" submenu + chevron */
@media (max-width:1024.98px){
  /* 1) Stop the toggle from receiving taps */
  .navigation.horizontal li.menu-parent menu-item > a[aria-label="COLLECTIONS"] + open-children-toggle,
  .navigation.horizontal li.menu-parent menu-item > a[href^="/collections"] + open-children-toggle,
  .navigation.horizontal li.menu-parent menu-item > a[aria-label="COLLECTIONS"] + .open-children-toggle,
  .navigation.horizontal li.menu-parent menu-item > a[href^="/collections"] + .open-children-toggle{
    pointer-events: none !important;
    display: none !important; /* hide the chevron */
  }

  /* 2) Never show the submenu for Collections */
  .navigation.horizontal li.menu-parent > a[aria-label="COLLECTIONS"] ~ .submenu,
  .navigation.horizontal li.menu-parent > a[href^="/collections"] ~ .submenu{
    display: none !important;
  }

  /* 3) Even if the theme adds .is-open, keep it closed */
  .navigation.horizontal li.menu-parent.is-open > a[aria-label="COLLECTIONS"] ~ .submenu,
  .navigation.horizontal li.menu-parent.is-open > a[href^="/collections"] ~ .submenu{
    display: none !important;
  }
}


/* --- Keep minicart fully visible (white + content) while sliding closed --- */
.minicart__wrapper.transition-popup,
.bls_drawer.transition-popup {
  background: #fff !important;
  transition: transform 0.80s ease !important;
  opacity: 1 !important;
}

/* Prevent inner children from fading independently */
.minicart__wrapper.transition-popup *,
.bls_drawer.transition-popup * {
  opacity: 1 !important;
  visibility: visible !important;
  transition: none !important;
}

/* Open state */
.minicart__wrapper.transition-popup.open,
.bls_drawer.transition-popup.open {
  transform: translateX(0);
}

/* Closing state */
.minicart__wrapper.transition-popup.is-closing,
.bls_drawer.transition-popup.is-closing {
  transform: translateX(100%); /* or -100% if from left */
  display: block !important;
  visibility: visible !important;
  pointer-events: none;
  background: #fff !important;
}

/* Neutralize hidden/invisible during closing */
.minicart__wrapper.transition-popup.is-closing.hidden,
.minicart__wrapper.transition-popup.is-closing.invisible,
.bls_drawer.transition-popup.is-closing.hidden,
.bls_drawer.transition-popup.is-closing.invisible {
  display: block !important;
  visibility: visible !important;
  background: #fff !important;
}


/* === Consistent overlay for both minicart + menu drawer === */
html.open-minicart:not(.open-search),
body.open-minicart:not(.open-search),
html.nav-open:not(.open-search),
body.nav-open:not(.open-search) {
  --overlay-bg: rgba(0, 0, 0, 0.45) !important; /* same tone as minicart */
  backdrop-filter: blur(3px); /* optional for premium depth */
}

/* make sure overlay layer stays clickable for closing drawer */
html.nav-open .drawer-overlay,
html.nav-open .popup-overlay,
html.open-minicart .drawer-overlay,
html.open-minicart .popup-overlay {
  pointer-events: auto !important;
}


/* —— Stop mobile menu from flashing during resize / device-mode toggle —— */
@media (max-width:1024.98px){
  /* While the viewport is actively changing and the menu is NOT open: */
  html.sk-resizing:not(.nav-open) .navigation.horizontal,
  html.is-resizing:not(.nav-open) .navigation.horizontal{
    /* force “closed” pose with no animation */
    transform: translate3d(-100%,0,0) !important;
    transition: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
    opacity: 0.999 !important; /* avoids fade engines without showing */
  }

  /* If your theme sometimes uses .menu-drawer, keep it shut the same way */
  html.sk-resizing:not(.nav-open) .menu-drawer,
  html.is-resizing:not(.nav-open) .menu-drawer{
    transform: translate3d(-100%,0,0) !important;
    transition: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
    opacity: 0.999 !important;
  }

  /* Safety: when actually open, keep everything normal */
  html.nav-open .navigation.horizontal,
  html.nav-open .menu-drawer{
    visibility: visible !important;
    opacity: 1 !important;
  }
}


/* SKORPER — crisp 1px LEFT divider that survives iOS closing animation */
#header__minicart .minicart__wrapper.transition-popup,
#header__minicart .minicart__wrapper.bls__drawer,
#header__minicart .bls_drawer.transition-popup,
#header__minicart .bls__drawer.transition-popup {
  border-left: 0 !important;                 /* avoid border flicker */
  -webkit-filter: drop-shadow(-1px 0 0 #111);
          filter: drop-shadow(-1px 0 0 #111); /* 1px line on the LEFT edge */
}


/* === SKORPER — Fix blue flash on minicart close (minimal version) === */
#header__minicart .minicart__header button,
#header__minicart .minicart__header a,
#header__minicart .minicart__close,
#header__minicart .btn-close {
  -webkit-tap-highlight-color: transparent;
  outline: none;
  color: var(--color-heading) !important;
  background: transparent !important;
  appearance: none;
}


/* Nudge the close button vertically */
#header__minicart .close-cart-button{
  margin-top: -2px;  /* negative = move UP, positive = move DOWN */
}


/* === SKORPER — Normalize minicart quantity number across breakpoints === */
#header__minicart .quantity-input {
  font-size: 13px !important;   /* match desktop look */
  padding-left: 4px !important; /* move the number slightly to the right */
}



/* === SKORPER — Fix Mega Panel Flash (First Paint) === */
html:not(.sk-ready) .sk-mega--panel {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* stabilize tile aspect ratio to prevent layout jump */
.sk-mega__img {
  aspect-ratio: 3 / 4;
  overflow: hidden;
}
.sk-mega__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}



/* SK — Search drawer: truly full-height & full-width on all screens */
#search-form.transition-popup{
  position: fixed !important;
  top: var(--sk-header-offset, 0) !important; /* sits under header if you use an offset */
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;           /* let top/bottom define height */
  height: auto !important;        /* cancels calc(100vh - header) */
  max-height: none !important;
  width: 100vw !important;
  max-width: 100vw !important;
}

/* make the inner column stretch */
#search-form .search___drawer{min-height:100%;display:flex;flex-direction:column;}
#search-form .search-modal__content{flex:1 1 auto;overflow:auto;}



/* SKORPER — Predictive search: 4 columns on tablet */
@media (min-width: 768px) and (max-width: 1199.98px){
  #predictive-search #search-results-list{
    --col-tablet: 4 !important;                    /* feed the theme’s grid system */
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0,1fr)) !important;
    gap: var(--grid-gap, 28px);                    /* keep your existing spacing */
  }
}




/* === SKORPER — Prevent double-tap zoom on touch elements === */
@media (hover: none) and (pointer: coarse) {
  .header-icon,
  .top-search-toggle,
  .minicart__action,
  .header__account,
  button,
  a {
    touch-action: manipulation; /* disables double-tap zoom but keeps scroll/pinch */
  }
}



/* CLOSED: only when the minicart itself says it's closed */
.minicart__wrapper.bls__drawer[aria-hidden="true"],
.minicart__wrapper.bls__drawer.invisible {
  transform: translate3d(calc(100% + env(safe-area-inset-right,0px) + 3px),0,0) !important;
  opacity: 0; visibility: hidden; pointer-events: none;
}
html[dir="rtl"] .minicart__wrapper.bls__drawer[aria-hidden="true"],
html[dir="rtl"] .minicart__wrapper.bls__drawer.invisible {
  transform: translate3d(calc(-100% - env(safe-area-inset-left,0px) - 3px),0,0) !important;
}

/* OPEN: only when the minicart itself is marked open */
html.open-minicart .minicart__wrapper.bls__drawer,
body.open-minicart .minicart__wrapper.bls__drawer,
#header__minicart.bls__drawer.open,
#header__minicart.bls__drawer[aria-hidden="false"] {
  transform: translate3d(0,0,0) !important;
  opacity: 1; visibility: visible; pointer-events: auto;
}




/* Allow drawers to scroll naturally, but contain overscroll at edges */
#header__minicart .overflow-y-scroll,
#header__minicart .custom-scrollbar,
#header__minicart .minicart__wrapper,
.search-modal__content{
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}



/* === SKORPER: SHOP mega panel adjustments (final override) === */
@media (min-width:1025px){

  /* Move SHOP left menu to the right */
  .sk-mega--panel[data-sk-mega="shop"] .sk-mega__tile--menu {
    padding-left: 24px !important;  /* same value you tested in console */
  }

  /* Add spacing between the 3 image tiles */
  .sk-mega--panel[data-sk-mega="shop"] .sk-mega__grid {
    gap: 40px !important;           /* same number that worked in console */
  }
}



/* ============================
   SKORPER – MOBILE SHOP SUBMENU
   ============================ */

/* Mobile: animated "+" and sliding submenu */
@media (max-width: 1024.98px) {

  ul.horizontal-list li[data-sk-shop-mobile="1"] {
    display: block !important;
    width: 100% !important;
  }

  ul.horizontal-list li[data-sk-shop-mobile="1"] > *:first-child {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
  }

  .sk-open-children-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 12px !important;
    height: 12px !important;
    margin-left: 4px !important;

    cursor: pointer !important;
    color: #000 !important;
    background: transparent !important;

    transform: translateY(-1px) !important;
  }

  .sk-open-children-toggle .icon_plus-animation {
    position: relative;
    width: 10px !important;
    height: 10px !important;
    display: block !important;
  }

  .sk-open-children-toggle .icon_plus-animation::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 100%;
    height: 1px !important;
    background: #000 !important;
    transform: translateY(-50%);
    transition: transform 0.25s ease;
  }

  .sk-open-children-toggle .icon_plus-animation::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    width: 1px !important;
    height: 100%;
    background: #000 !important;
    transform: translateX(-50%) scaleY(1);
    transition: transform 0.25s ease;
  }

  ul.horizontal-list li.sk-open .icon_plus-animation::after {
    transform: translateX(-50%) scaleY(0);
  }

  /* Closed state: no extra vertical gap under SHOP */
  .sk-mobile-submenu {
    list-style: none;
    margin: 0 0 0 11px !important;   /* left indent only, no top gap */
    padding: 0 !important;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.25s ease, opacity 0.25s ease;
  }

  /* Inner items: spacing via padding (no collapsing margins) */
  .sk-mobile-submenu li {
    margin: 0 !important;
    padding: 4px 0 !important;
  }

  .sk-mobile-submenu a {
    text-decoration: none !important;
    color: #000 !important;
  }

  /* Open state: add space only when submenu is open */
  ul.horizontal-list li.sk-open .sk-mobile-submenu {
    max-height: 260px;
    opacity: 1;

  }
}


/* SKORPER — SHOP mega: move images to the right */
@media (min-width:1025px){
  .sk-mega--panel[data-sk-mega="shop"] .sk-mega__grid.sk-mega__grid--4 {
    grid-template-columns: 0.7fr 1fr 1fr 1fr !important;
  }
}


/* Remove person icon inside mobile menu drawer */
.navigation.horizontal svg[width="26"][height="26"][viewBox="0 0 24 24"] {
  display: none !important;
}



/* SKORPER — tighten vertical spacing in mobile drawer menu */
@media (max-width: 1024.98px) {
  nav.navigation.horizontal .horizontal-list > li > a,
  nav.navigation.horizontal .horizontal-list > li menu-item > a {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    line-height: 1.2 !important;
  }
}


/* ============================
   SKORPER – MOBILE MENU TEXT SIZE
   ============================ */
@media (max-width: 1024.98px) {

  /* Main menu items inside mobile drawer */
  .mobile-menu a,
  .mobile-menu button,
  nav .horizontal-list li a {
    font-size: 16px !important;    /* adjust size */
    line-height: 1.2 !important;
  }
}



/* ============================================
   SKORPER — MOBILE DRAWER FINAL OVERRIDES
   ============================================ */
@media (max-width: 1024.98px) {

  /* 1) Remove hover effects in the mobile drawer */
  .navigation.horizontal .horizontal-list a,
  .navigation.horizontal .horizontal-list button {
    transition: none !important;
  }

  .navigation.horizontal .horizontal-list a:hover,
  .navigation.horizontal .horizontal-list a:focus,
  .navigation.horizontal .horizontal-list button:hover,
  .navigation.horizontal .horizontal-list button:focus {
    color: inherit !important;
    background: none !important;
    text-decoration: none !important;
    box-shadow: none !important;
    opacity: 1 !important;
    transform: none !important;
  }

/* 2) Top-level items (SHOP, COLLECTIONS, ABOUT, ACCOUNT) bold + black
      — lock font weight + height even on hover */
.navigation.horizontal .horizontal-list > li > a,
.navigation.horizontal .horizontal-list > li > menu-item > a,
.navigation.horizontal .horizontal-list > li > a span,
.navigation.horizontal .horizontal-list > li > menu-item > a span,
.navigation.horizontal .horizontal-list > li.is-open > a,
.navigation.horizontal .horizontal-list > li menu-item.is-open > a,
.navigation.horizontal .horizontal-list > li > a:hover,
.navigation.horizontal .horizontal-list > li > a:focus,
.navigation.horizontal .horizontal-list > li > menu-item > a:hover,
.navigation.horizontal .horizontal-list > li > menu-item > a:focus {
  font-weight: 600 !important;
  color: #000 !important;

  /* keep the same vertical rhythm as your “tighten spacing” rule */
  padding-top: 4px !important;
  padding-bottom: 4px !important;
  line-height: 1.2 !important;

  /* make sure no underline/border appears on hover */
  border-bottom: none !important;
}


  /* 3) Children (submenu items under SHOP) normal / slightly lighter */
  .navigation.horizontal .horizontal-list li ul a,
  .navigation.horizontal .horizontal-list li ul button,
  .navigation.horizontal .horizontal-list li .sk-mobile-submenu a,
  .navigation.horizontal .horizontal-list li .sk-mobile-submenu button {
    font-weight: 400 !important;
    color: inherit !important;
    opacity: 1 !important;
  }

  /* 4) "+" icon: perfectly even stroke thickness */
  .sk-open-children-toggle .icon_plus-animation::before,
  .sk-open-children-toggle .icon_plus-animation::after {
    --sk-plus-stroke: 2.0px;
    background-color: currentColor !important;
  }
  .sk-open-children-toggle .icon_plus-animation::before {
    height: var(--sk-plus-stroke) !important;  /* horizontal line */
    width: 100% !important;
  }
  .sk-open-children-toggle .icon_plus-animation::after {
    width: var(--sk-plus-stroke) !important;   /* vertical line */
    height: 100% !important;
  }

  /* 5) KEEP "SHOP" TEXT VISIBLE WHEN ITS SUBMENU IS OPEN */
  ul.horizontal-list li[data-sk-shop-mobile="1"].is-open > a,
  ul.horizontal-list li[data-sk-shop-mobile="1"].is-open > menu-item > a,
  ul.horizontal-list li[data-sk-shop-mobile="1"] menu-item.is-open > a {
    display: inline-flex !important;
    align-items: center !important;

    position: static !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    clip: auto !important;

    opacity: 1 !important;
    visibility: visible !important;
    text-indent: 0 !important;
    font-size: inherit !important;
    color: #000 !important;
  }
}


/* =============================
   SKORPER — MOBILE DRAWER SPACING
   (compact rows, no jump)
   ============================= */
@media (max-width: 1024.98px) {

  /* remove any extra vertical margin between items */
  nav.navigation.horizontal .horizontal-list > li {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  /* compact height for top-level items in drawer */
  nav.navigation.horizontal .horizontal-list > li > a,
  nav.navigation.horizontal .horizontal-list > li > menu-item > a,
  nav.navigation.horizontal .horizontal-list > li > a:hover,
  nav.navigation.horizontal .horizontal-list > li > menu-item > a:hover,
  nav.navigation.horizontal .horizontal-list > li > a:focus,
  nav.navigation.horizontal .horizontal-list > li > menu-item > a:focus {
    padding-top: 0 !important;     /* tweak these 4 / 4 if you want tighter or looser */
    padding-bottom: 0 !important;
    line-height: 1.2 !important;
    min-height: 33px !important;     /* explicitly cancel any 38px / 55px min-height */
  }
}



/* SKORPER — mobile menu drawer layout & footer */
@media (max-width: 1024.98px) {

  /* Make the whole drawer a vertical flex container filling the screen */
  nav.navigation.horizontal {
    display: flex;
    flex-direction: column;
    position: fixed;
    inset: 0;
  }

  /* The white content area (title + menu + footer) */
  nav.navigation.horizontal .navigation__menu-content {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }

  /* Menu list scrolls if it’s long */
  nav.navigation.horizontal .navigation__menu-content > .horizontal-list {
    flex: 1 1 auto;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* Footer sits at the bottom of the white area */
  nav.navigation.horizontal .sk-mobile-menu-footer {
    margin-top: auto;
    margin-bottom: 28px; /* adjust up/down as you like */
  }

  nav.navigation.horizontal .sk-mobile-menu-footer > div {
    font-size: 12px; /* or keep your variable */
    line-height: 1.4;
  }
}


/* SKORPER – mobile menu drawer footer (text + socials) */
.sk-mobile-menu-footer-row {
  display: flex;
  align-items: center;                 /* same vertical level */
  justify-content: space-between;      /* text left, icons right */
  gap: 12px;
}

/* footer text stays as your style, icon size doesn't touch this */
.sk-mobile-menu-footer-text {
  flex: 1 1 auto;
  margin-right: 12px;
}

/* socials wrapper */
.sk-mobile-menu-footer-socials {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--sk-mb-footer-icon-gap, 10px);
  flex-shrink: 0;
}

/* each icon click area */
.sk-mobile-menu-footer-social {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* SVG size controlled only by slider */
.sk-mobile-menu-footer-social svg {
  width: var(--sk-mb-footer-icon-size, 18px);
  height: var(--sk-mb-footer-icon-size, 18px);
  display: block;
}

@media (min-width: 1025px) {
  .sk-mobile-menu-footer.hidden-1025 {
    display: none;
  }
}


.sk-mobile-menu-footer-socials {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--sk-mb-footer-icon-gap, 10px);
  flex-shrink: 0;

  /* NEW LINE: vertical movement */
  transform: translateY(var(--sk-mb-footer-icon-offset-y, 0px));
}



/* ============================
   SUPPORT – reuse SHOP animation
   ============================ */
@media (max-width: 1024.98px) {

  /* ensure SUPPORT submenu is animatable */
  ul.horizontal-list li[data-sk-support-mobile="1"] .sk-mobile-submenu {
    display: block;              /* critical */
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition:
      max-height 0.25s ease,
      opacity 0.25s ease;
  }

  ul.horizontal-list li[data-sk-support-mobile="1"].sk-open .sk-mobile-submenu {
    max-height: 260px;            /* match SHOP value exactly */
    opacity: 1;
  }
}



/* ============================
   SKORPER – MOBILE SUPPORT SUBMENU (match SHOP+ spacing)
   ============================ */
@media (max-width: 1024.98px) {

  ul.horizontal-list li[data-sk-support-mobile="1"] {
    display: block !important;
    width: 100% !important;
  }

  /* Force SUPPORT row to behave like SHOP row (no justify-between push) */
  ul.horizontal-list li[data-sk-support-mobile="1"] > *:first-child,
  ul.horizontal-list li[data-sk-support-mobile="1"] > menu-item {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
  }

  /* Ensure the injected + sits close to the text */
  ul.horizontal-list li[data-sk-support-mobile="1"] .sk-open-children-toggle {
    margin-left: 4px !important; /* match SHOP */
  }
}



/* SKORPER — force "+" to sit next to text (mobile only) */
@media (max-width: 1024.98px) {

  /* Target ANY li that has our injected plus */
  nav.navigation.horizontal ul.horizontal-list li:has(.sk-open-children-toggle) > menu-item,
  nav.navigation.horizontal ul.horizontal-list li:has(.sk-open-children-toggle) > *:first-child {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important; /* kill justify-between */
    gap: 6px !important;
  }

  /* Prevent the label link from stretching full width */
  nav.navigation.horizontal ul.horizontal-list li:has(.sk-open-children-toggle) > menu-item > a,
  nav.navigation.horizontal ul.horizontal-list li:has(.sk-open-children-toggle) > *:first-child > a {
    flex: 0 0 auto !important;
    width: auto !important;
  }

  /* Make sure our injected "+" stays inline */
  nav.navigation.horizontal ul.horizontal-list li:has(.sk-open-children-toggle) .sk-open-children-toggle {
    position: static !important;
    inset: auto !important;
    margin: 0 !important;
    width: auto !important;
    height: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}



/* SKORPER — Mobile full-bleed MAIN product image only (keep thumbnails padded) */
@media (max-width: 1024.98px){
  body.product [id^="MainProduct-"] .product-detail__media .media-main-swiper{
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
  }
}



/* SKORPER — Desktop: remove left spacing for main product images (CSS-only) */
@media (min-width: 1025px){
  body.product section[id^="MainProduct-"] .product-detail__media{
    transform: translateX(calc(-1 * var(--bs-gutter-x, 1.5rem))) !important;
    will-change: transform;
  }

  html, body { overflow-x: hidden !important; }
}




/* =========================================================
   SKORPER — Underline lock (production, based on working console)
   ========================================================= */
@media (min-width:1025px) and (pointer:fine){

  /* Works with your existing underline system (span background-size) */
  .header__menu .horizontal-list a.sk-keep-underline > span{
    background-size: 100% 1px !important;
  }
  .header__menu .horizontal-list a.sk-keep-underline{
    background-size: 100% 1px !important;
  }

  /* Search underline while search drawer is open */
  html.open-search .header__action header-search .dropdown-toggle::after{
    transform: scaleX(1) !important;
    opacity: 1 !important;
  }

  /* Account: lock underline when sk-ul-lock is applied */
  .header__action .header__icon-account.sk-ul-lock::after,
  .header__action .header__icon-account.sk-ul-lock:focus::after,
  .header__action .header__icon-account.sk-ul-lock:focus-visible::after{
    transform: translateX(-50%) translateX(var(--sk-underline-shift)) scaleX(1) !important;
    opacity: 1 !important;
  }
}




/* Disable image dragging + iOS long-press callout (best-effort) */
@media (max-width: 1024.98px) {
  img,
  picture,
  svg,
  video {
    -webkit-user-select: none !important;
    user-select: none !important;
    -webkit-user-drag: none !important;
    -webkit-touch-callout: none !important; /* iOS “Save Image” callout (best-effort) */
  }

  a, button, * {
    -webkit-tap-highlight-color: transparent;
  }
}



