/* Sunmed fly cart custom overrides */

/* Plugin primary color overrides (from woofc-frontend-inline-css) */
.woofc-area.woofc-style-01 .woofc-inner,
.woofc-area.woofc-style-03 .woofc-inner {
  background-color: #f5f5f5;
}

.woofc-area.woofc-style-01
  .woofc-area-bot
  .woofc-action
  .woofc-action-inner
  > div
  a {
  outline: none;
  color: #305456;
}

/* START SIDECART */
.extremely-section {
  position: relative;
}
#woofc-area .woofc-area-top {
  background: transparent;
}
#woofc-area .woofc-area-top span {
  color: #305456;
  leading-trim: both;
  text-edge: cap;
  font-family: "Le Monde Courrier Std";
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
}
#woofc-area .woofc-area-top .woofc-close.hint--left {
  color: #305456;
}
#woofc-area .woofc-area-mid .woofc-no-item {
  color: #305456;
  font-family: Interstate;
}
#woofc-area .woofc-area-mid .woofc-undo .woofc-undo-inner {
  color: #305456;
  font-family: Interstate;
  border-color: #305456;
}
#woofc-area .woofc-area-mid .woofc-item-inner {
  border-radius: 20px;
  background: #fff;
  padding: 12px 12px 8px 0;
}
#woofc-area .woofc-area-mid .woofc-item-inner .woofc-item-remove {
  color: #305456;
}
#woofc-area
  .woofc-area-mid
  .woofc-item-inner
  .woofc-item-info
  .woofc-item-title {
  color: var(--Midnight-teal, #305456);
  leading-trim: both;
  text-edge: cap;
  font-family: Interstate;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: -0.16px;
}
#woofc-area
  .woofc-area-mid
  .woofc-item-inner
  .woofc-item-info
  .woofc-item-price {
  color: #000;
  text-align: center;
  leading-trim: both;
  text-edge: cap;
  font-family: Interstate;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 28px;
  /* 175% */
  text-align: left;
}
#woofc-area .woofc-area-bot {
  padding: 20px;
  border-radius: 12px 12px 0 0;
  background: var(--Midnight-teal, #305456);
  box-shadow: 0 -4px 8px 0 rgba(0, 0, 0, 0.12);
  display: flex;
  flex-direction: column;
}
#woofc-area .woofc-area-bot .woofc-data {
  padding: 0 16px 20px;
  border-bottom: solid 1px white;
}
#woofc-area .woofc-area-bot .woofc-data:empty {
  display: none;
}
#woofc-area .woofc-area-bot .woofc-data .woofc-data-left {
  color: #fff;
  leading-trim: both;
  text-edge: cap;
  font-family: Interstate;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 28px;
  /* 175% */
  letter-spacing: 1.92px;
  text-transform: uppercase;
}
#woofc-area .woofc-area-bot .woofc-total.woofc-data {
  display: none;
}
#woofc-area .woofc-area-bot .woofc-continue {
  order: 5;
}
#woofc-area .woofc-area-bot .calculated-checkout {
  color: #fff;
  text-align: center;
  leading-trim: both;
  text-edge: cap;
  font-family: "Interstate";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 28px;
  padding-top: 20px;
}
#woofc-area .woofc-area-bot .woofc-action {
  padding: 20px 0 0 0;
}
#woofc-area .woofc-area-bot .woofc-action .woofc-action-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
#woofc-area
  .woofc-area-bot
  .woofc-action
  .woofc-action-inner
  .woofc-action-checkout {
  border-radius: 3px;
  background: #fff;
  color: var(--Midnight-teal, #305456);
  text-align: center;
  font-family: Interstate;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 3.9px;
  text-transform: uppercase;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 60px;
}

#woofc-area .woofc-continue {
  padding: 0 !important;
}

#woofc-area span.woofc-continue-url {
  width: 100%;
  display: block;
  padding: 10px;
  border: 1px solid #ffffff;
  border-radius: 3px;
}
.topical-cream-banner-section .desktop-img-part img {
  height: 100%;
  object-fit: cover;
  min-height: auto;
  max-height: 600px;
}
.product-card-inner .product-bottom .variations th.label {
  display: block !important;
  background: #fff;
  padding: 0;
}
.product-card-inner .product-bottom .variations td.value {
  width: 100%;
}
.product-card-inner .product-bottom .variations tr {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 5px;
  margin-bottom: 10px;
}
/* END SIDECART */

.woofc-item {
  position: relative;
}
.woofc-item[data-precent-off]::before {
  position: absolute;
  z-index: 1;
  content: attr(data-precent-off) "% off";
  background: #c9f5d3;
  color: #2e565b;
  font-weight: 900;
  padding: 2px 8px;
  top: 4px;
  margin-left: 9px;
  font-size: 11px !important;
  transition: all 0.5s;
}
.woofc-item:hover::before {
  margin-left: -12px;
}

.cart-item-cta {
  margin-top: 2px;
  display: flex;
}
.cart-item-cta .fc-link {
  text-align: left !important;
  background-color: transparent !important;
  padding: 0;
  text-decoration: underline;
  border: none;
}
.cart-item-cta .pointer {
  display: flex;
  align-items: center;
}

@media (max-width: 750px) {
  .woofc-area.woofc-style-01 .woofc-area-mid .woofc-item {
    padding: 0 6px;
  }
  .woofc-area.woofc-style-01
    .woofc-area-mid
    .woofc-item
    .woofc-item-inner
    .woofc-item-info
    .woofc-item-price
    ins {
    text-decoration: unset !important;
  }
  .woofc-area.woofc-style-01
    .woofc-area-mid
    .woofc-item
    .woofc-item-inner
    .woofc-item-info
    .woofc-item-price
    ins
    span {
    font-size: 20px !important;
  }
  .cart-item-cta {
    margin-top: 8px;
  }
  .woofc-item-inner:has(.cart-item-cta) .woofc-item-remove {
    margin-top: -12px;
  }
}

@media (min-width: 750px) {
  .woofc-item {
    padding-right: 40px !important;
  }
  .woofc-item .woofc-item-inner {
    transform: none !important;
  }
  .woofc-item::before {
    margin-left: 10px !important;
  }
  #woofc-area .woofc-area-mid .woofc-item-inner .woofc-item-remove {
    opacity: 1 !important;
    visibility: visible !important;
    -webkit-transform: translate3d(30px, -50%, 0);
    transform: translate3d(30px, -50%, 0) !important;
  }
}

@keyframes leftRight {
  from {
    left: 10px;
  }
  to {
    left: 0;
  }
}

.fc-link:not(.fc-btn--clicked) + .pointer {
  position: relative;
  animation-name: leftRight;
  animation-duration: 1s;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}

@keyframes topBottom {
  from {
    bottom: 10px;
  }
  to {
    bottom: 0;
  }
}

.pointer:has(+ .fc-link:not(.fc-btn--clicked)) {
  position: relative;
  animation-name: topBottom;
  animation-duration: 1s;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}

@media (max-width: 750px) {
  #discount-lightbox .fc-lightbox__close {
    position: sticky !important;
    z-index: 999999999999999999 !important;
    width: 100%;
    transform: unset;
    top: 0;
  }
}

button[data-close-lightbox="#discount-lightbox"] {
  font-weight: bold;
  border: none;
  font-size: 1.2em;
}

.discount-lightbox-container {
  --fc-lightbox-width: 660px;
}

/* Display image inline if there are two products in the cart. */
body:has(.woofc-items > .woofc-item + .woofc-item) .rachael-guarantee {
  position: relative;
}
body.woofc-show {
  overflow: hidden;
}

.woofc-area.woofc-style-01 .woofc-area-mid {
  margin-bottom: 0;
}

.woofc-area-bot {
  border-radius: 0 !important;
}
.cart-signature {
  display: flex;
  gap: 12px;
  float: right;
  z-index: 10;
  position: relative;
}
.cart-signature img {
  height: 50px;
}

/*.rachael-guarantee {
    position: absolute;
    bottom: -10px;
}*/

.cart-signature {
  display: flex;
  gap: 12px;
  z-index: 10;
  position: absolute;
  bottom: 0;
  right: 0;
}
.cart-signature p {
  margin-top: 4px;
  font-size: 12px;
  line-height: 1em;
}
.cart-signature img {
  height: 35px;
}

.woofc-item:has(+ img) {
  margin-bottom: 10px !important;
}

/* Display image inline if there are two products in the cart. */
body:has(.woofc-items > .woofc-item + .woofc-item) .rachael-guarantee {
  position: relative;
}
body.woofc-show {
  overflow: hidden;
}

.woofc-area.woofc-style-01 .woofc-area-mid {
  margin-bottom: 0;
}

.woofc-area-bot {
  border-radius: 0 !important;
}
.cart-signature {
  display: flex;
  gap: 12px;
  float: right;
  z-index: 10;
  position: relative;
}
.cart-signature img {
  height: 50px;
}

/*.rachael-guarantee {
    position: absolute;
    bottom: -10px;
}*/

.cart-signature {
  display: flex;
  gap: 12px;
  z-index: 10;
  position: absolute;
  bottom: 0;
  right: 0;
}
.cart-signature p {
  margin-top: 4px;
  font-size: 12px;
  line-height: 1em;
}
.cart-signature img {
  height: 35px;
}

.woofc-item:has(+ img) {
  margin-bottom: 10px;
}

/* the scroll area */
.woofc-area.woofc-style-01 .woofc-area-mid.woofc-items {
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  height: 100%; /* only works if its parent has a height */
  min-height: 0; /* important when inside another flex parent */
}

/* items shouldn't stretch */
.woofc-area-mid.woofc-items > .woofc-item {
  flex: 0 0 auto;
}

/* the banner gets pushed to the bottom when there's extra space */
.woofc-area-mid.woofc-items > .rachael-guarantee {
  margin-top: auto !important;
  margin-bottom: 0 !important;
  flex: 0 0 auto;
  position: static !important; /* kill your position overrides */
}

.woofc-action > .woofc-action-inner {
  border-radius: 12px !important;
  overflow: hidden;
  box-shadow:
    0 8px 16px rgba(0, 0, 0, 0.15),
    /* main bottom shadow */ 0 2px 4px rgba(0, 0, 0, 0.1),
    /* tighter contact shadow */ -2px -2px 12px rgba(255, 255, 255, 0.2); /* top highlight */
}

/* Toggle button */
.sunmed-cart-toggle {
  position: fixed;
  top: 16px;
  right: max(16px, calc(50% - 600px));
  left: auto;
  z-index: 99999990;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  color: #305456;
  cursor: pointer;
  box-shadow: none;
}

@media (max-width: 750px) {
  .sunmed-cart-toggle {
    top: 5px;
    right: 2px;
    width: 40px;
    height: 40px;
  }

  .sunmed-cart-toggle__icon {
    width: 22px;
    height: 22px;
  }

  .sunmed-cart-toggle__count {
    top: 2px;
    right: 0;
    min-width: 16px;
    height: 16px;
    font-size: 10px;
  }
}

.sunmed-cart-toggle:hover {
  background: transparent;
  opacity: 0.85;
}

.sunmed-cart-toggle__icon {
  display: block;
  width: 18px;
  height: 18px;
  pointer-events: none;
}

.sunmed-cart-toggle__count {
  position: absolute;
  top: 2px;
  right: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 14px;
  height: 16px;
  padding: 0 5px;
  border-radius: 999px;
  background: #e94b35;
  color: #fff;
  font-family: Interstate, sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  box-sizing: border-box;
}

.sunmed-cart-toggle__count[hidden] {
  display: none !important;
}

/* Close icon fallback without woofc icon font dependency issues */
.woofc-close .woofc-icon-icon10:before,
.woofc-item-remove .woofc-icon-icon10:before {
  content: "×";
  font-family: Interstate, sans-serif;
  font-weight: 400;
  font-size: 28px;
  line-height: 1;
}

.woofc-item-remove .woofc-icon-icon10:before {
  font-size: 22px;
}

/* Ensure data-right prices inherit footer color */
#woofc-area .woofc-area-bot .woofc-data .woofc-data-right,
#woofc-area .woofc-area-bot .woofc-data .woofc-data-right * {
  color: #fff;
  font-family: Interstate, sans-serif;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 1.92px;
}

/* ---- Visual parity fixes vs live cart ---- */

/* WP core isn't on this static page — hide qty labels */
#woofc-area .screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

/* Keep - / qty / + on one row */
#woofc-area .woofc-item-qty .quantity {
  display: inline-block !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  vertical-align: top;
}

#woofc-area .woofc-item-qty-inner {
  display: flex !important;
  align-items: center;
  flex-wrap: nowrap;
}

#woofc-area .woofc-item-qty-inner input.woofc-qty {
  width: 30px !important;
  height: 30px !important;
  line-height: 30px !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: center !important;
  border: none !important;
  background-color: #eeeeee !important;
  color: #444 !important;
  font-size: 12px !important;
  -moz-appearance: textfield;
  box-shadow: none !important;
}

#woofc-area .woofc-item-qty-inner input.woofc-qty::-webkit-outer-spin-button,
#woofc-area .woofc-item-qty-inner input.woofc-qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Page `p { color }` was forcing dark shipping text */
#woofc-area .woofc-area-bot .calculated-checkout,
#woofc-area .woofc-area-bot .calculated-checkout p {
  color: #fff !important;
  font-family: Interstate, sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 28px !important;
  margin: 0 !important;
}

/* Lock footer order: Subtotal → shipping note → Checkout */
#woofc-area .woofc-area-bot {
  display: flex !important;
  flex-direction: column !important;
}

#woofc-area .woofc-area-bot .woofc-subtotal.woofc-data {
  order: 1 !important;
}

#woofc-area .woofc-area-bot .woofc-total.woofc-data {
  order: 2 !important;
  display: none !important;
}

#woofc-area .woofc-area-bot .calculated-checkout {
  order: 3 !important;
  padding-top: 20px !important;
}

#woofc-area .woofc-area-bot .woofc-action {
  order: 4 !important;
  padding: 20px 0 0 0 !important;
}

/* Don't let page button styles bleed into cart CTA / checkout */
#woofc-area .cart-item-cta .fc-link,
#woofc-area button.fc-link {
  background: transparent !important;
  color: #305456 !important;
  font-family: Interstate, sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  text-decoration: underline !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  box-shadow: none !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  cursor: pointer;
}

#woofc-area .woofc-action-checkout {
  width: 100%;
  text-decoration: none !important;
}

/* Seeded HTML includes Perfect Scrollbar rails — hide them (plugin JS not loaded) */
#woofc-area .ps-scrollbar-x-rail,
#woofc-area .ps-scrollbar-y-rail {
  display: none !important;
}
