/* Site-wide fidelity adjustments loaded after the main theme stylesheet. */
.woocommerce ul.products::before,
.woocommerce ul.products::after {
  content: none !important;
  display: none !important;
}

/* Loox-style customer review drawer reproduced from the source storefront. */
.dwi-reviews-float{z-index:90}
.dwi-reviews-float[open]{inset:0;top:0;transform:none;pointer-events:none}
.dwi-reviews-float[open]>summary{position:fixed;left:0;top:52%;z-index:93;transform:translateY(-50%) rotate(180deg);pointer-events:auto}
.dwi-reviews-backdrop{display:none}
.dwi-reviews-float[open] .dwi-reviews-backdrop{position:fixed;inset:0;z-index:90;display:block;padding:0;border:0;background:rgba(0,0,0,.28);cursor:default;pointer-events:auto}
.dwi-reviews-panel{position:fixed;z-index:92;left:50%;top:50%;width:min(430px,calc(100vw - 32px));height:min(760px,calc(100vh - 32px));padding:0;border:0;border-radius:10px;background:#fff;box-shadow:0 18px 70px rgba(0,0,0,.28);transform:translate(-50%,-50%);overflow:hidden;pointer-events:auto}
.dwi-reviews-panel__scroll{height:100%;padding:34px 22px 38px;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#888 transparent;scrollbar-width:auto}
.dwi-reviews-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px}
.dwi-reviews-score{display:flex;align-items:center;gap:10px;padding:0;border:0;background:none;color:#262626;font:inherit;font-size:14px;cursor:pointer}
.dwi-reviews-score>svg{width:11px;height:7px;fill:none;stroke:currentColor;stroke-width:1.7;transition:transform .18s}
.dwi-reviews-score[aria-expanded="true"]>svg{transform:rotate(180deg)}
.dwi-review-bags{display:flex;align-items:flex-end;gap:3px}
.dwi-review-bags i{position:relative;width:13px;height:12px;display:block;border-radius:1px;background:#ff9813}
.dwi-review-bags i:before{content:'';position:absolute;left:3px;right:3px;top:-5px;height:7px;border:1.8px solid #ff9813;border-bottom:0;border-radius:5px 5px 0 0}
.dwi-review-bags.is-small{gap:3px;margin:10px 0 11px}
.dwi-review-bags.is-small i{width:10px;height:9px}
.dwi-review-bags.is-small i:before{left:2px;right:2px;top:-4px;height:5px;border-width:1.3px}
.dwi-reviews-filter{width:39px;height:39px;display:grid;place-items:center;flex:0 0 39px;padding:0;border:0;border-radius:50%;background:#292929;color:#fff;cursor:pointer}
.dwi-reviews-filter svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.dwi-score-details,.dwi-review-filter-panel,.dwi-review-compose{margin:12px 0;padding:14px;border:1px solid #e2e2df;border-radius:12px;background:#fafaf8}
.dwi-score-details{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 10px}
.dwi-score-details[hidden],.dwi-review-filter-panel[hidden],.dwi-review-compose[hidden]{display:none}
.dwi-score-details strong{font-size:25px}
.dwi-score-details .dwi-review-stars{color:#ff9813;letter-spacing:2px}
.dwi-score-details small{grid-column:1/-1;color:#777}
.dwi-review-filter-panel label,.dwi-review-compose label{display:grid;gap:7px;color:#555;font-size:11px;font-weight:700}
.dwi-review-filter-panel select,.dwi-review-compose select,.dwi-review-compose textarea{width:100%;padding:10px;border:1px solid #d8d8d4;border-radius:8px;background:#fff;color:#292929;font:inherit}
.dwi-review-compose{display:grid;gap:12px}
.dwi-review-compose button{justify-self:start;padding:8px 18px;border:0;border-radius:18px;background:#292929;color:#fff;font-weight:700}
.dwi-write-review{width:100%;min-height:44px;margin:12px 0 17px;border:0;border-radius:14px;background:#272727;color:#fff;font-size:13px;font-weight:700;cursor:pointer}
.dwi-write-review:hover{background:#111}
.dwi-review-switches{display:flex;align-items:center;justify-content:center;gap:44px;margin-bottom:22px}
.dwi-review-switches label{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:700;cursor:pointer}
.dwi-review-switches input{position:absolute;opacity:0;pointer-events:none}
.dwi-review-switches label>span{position:relative;width:31px;height:17px;display:block;border-radius:20px;background:#ccc;transition:.2s}
.dwi-review-switches label>span:after{content:'';position:absolute;left:3px;top:3px;width:11px;height:11px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:.2s}
.dwi-review-switches input:checked+span{background:#303030}
.dwi-review-switches input:checked+span:after{transform:translateX(14px)}
.dwi-review-list{display:grid;gap:16px}
.dwi-review-card{padding:20px 18px 17px;border:1px solid #e3e3df;border-radius:15px;background:#fff}
.dwi-review-card[hidden]{display:none!important}
.dwi-review-card__top{display:grid;grid-template-columns:minmax(0,1fr) 88px;align-items:start;gap:14px}
.dwi-review-identity{display:grid;grid-template-columns:max-content 15px max-content;align-items:center;color:#616161;font-size:10px}
.dwi-review-identity b{color:#333;font-size:12px}
.dwi-review-identity time{grid-column:1/-1;margin-top:4px;color:#777;font-size:9px}
.dwi-verified-mark{width:12px;height:12px;display:grid;place-items:center;border-radius:50%;background:#ff642a;color:#fff;font-size:7px;font-weight:800}
.dwi-review-photo{width:88px;aspect-ratio:1;border-radius:14px;overflow:hidden;background:#f1f1ef}
.dwi-review-photo img{width:100%;height:100%;object-fit:cover}
.dwi-review-card>p{max-width:24ch;margin:0;color:#4f4f4f;font-size:12px;line-height:1.45}
.dwi-review-card mark{padding:0 2px;background:#f3e3aa;color:inherit;font-weight:700}
.dwi-merchant-reply{display:flex;flex-direction:column;align-items:flex-start;margin-top:17px;padding-top:15px;border-top:1px solid #dededb;color:#5a5a5a;font-size:10px;line-height:1.5}
.dwi-merchant-reply b{margin-bottom:7px;font-size:11px}
.dwi-merchant-reply span{margin-bottom:6px}
.dwi-merchant-reply p{margin:0 0 11px}
.dwi-merchant-reply a{max-width:170px;margin-left:48px;padding-top:10px;border-top:1px solid #dededb;color:#5a5a5a;text-align:center;font-size:9px;line-height:1.45}
html.reviews-panel-open{overflow:hidden}

@media(max-width:768px){
  .dwi-reviews-float[open]>summary{display:none}
  .dwi-reviews-float[open] .dwi-reviews-backdrop{background:rgba(0,0,0,.2)}
  .dwi-reviews-panel{left:8px;top:0;width:calc(100vw - 16px);height:calc(100dvh - 47px);border-radius:0 0 9px 9px;transform:none}
  .dwi-reviews-panel__scroll{padding:53px 14px 92px}
  .dwi-review-switches{gap:28px}
  .dwi-review-card{padding:17px 14px 15px}
  .dwi-review-card__top{grid-template-columns:minmax(0,1fr) 72px;gap:10px}
  .dwi-review-photo{width:72px;border-radius:13px}
  .dwi-review-card>p{font-size:11px}
  .dwi-merchant-reply{font-size:9px}
  .dwi-reviews-float[open]~.dwi-whatsapp-float{display:none}
  .dwi-reviews-float[open]~.mobile-bottom-cta{z-index:94}
}

.mobile-search-panel button {
  display: grid;
  place-items: center;
}

.mobile-search-mic {
  width: 21px;
  height: 21px;
}

.announcement__carousel {
  display: flex;
  min-width: 320px;
  align-items: center;
  gap: 7px;
}

.announcement__rotator [data-carousel-slide] {
  display: none !important;
}

.announcement__rotator [data-carousel-slide].is-active {
  display: inline !important;
}

.message-carousel__arrow,
.trust-strip__arrow {
  display: grid;
  width: 24px;
  height: 28px;
  flex: 0 0 auto;
  place-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}

.trust-strip .trust-strip__carousel {
  display: grid;
  grid-template-columns: 1fr;
}

.trust-strip__viewport {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  align-items: center;
}

.trust-strip__viewport [data-carousel-slide] {
  display: block;
  text-align: center;
}

.trust-strip__viewport [data-carousel-slide] + [data-carousel-slide] {
  border-left: 1px solid var(--line);
}

.trust-strip__arrow {
  display: none;
}

.call-pill--mobile {
  display: none !important;
}

.mobile-search-panel .dwi-icon {
  width: 20px;
  height: 20px;
}

.nav-dropdown--resources {
  position: relative;
}

.mega-menu--resources {
  left: auto;
  right: 0;
  width: min(980px, calc(100vw - 40px));
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
}

.mega-menu--resources section {
  min-width: 0;
}

.mega-menu--resources h3 {
  margin: 0 0 12px;
  color: #222;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.mega-menu--resources section a {
  display: block;
  padding: 6px 0;
  color: #60646a;
  font-size: 13px;
  line-height: 1.35;
}

.mega-menu--resources section a:hover {
  color: var(--orange);
}

.footer-grid {
  grid-template-columns: 1.15fr .8fr .8fr 1.05fr;
  gap: 50px;
}

.fidelity-page--terms-of-service .shopify-policy__container {
  max-width: 860px;
  margin-inline: auto;
  padding-inline: 20px;
}

.fidelity-policy-page {
  max-width: 1040px;
}

.fidelity-policy-page > header {
  text-align: center;
}

.fidelity-page--shipping-delivery .fidelity-policy-content > h2:first-child,
.fidelity-page--shipping-policy .fidelity-policy-content > h2:first-child {
  display: none;
}

/* Persistent reviews and WhatsApp contact controls. */
.dwi-reviews-float {
  position: fixed;
  z-index: 74;
  left: 0;
  top: 52%;
  transform: translateY(-50%);
}

.dwi-reviews-float > summary {
  width: 42px;
  min-height: 128px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 12px 8px;
  border-radius: 0 8px 8px 0;
  background: #fff;
  box-shadow: 0 5px 24px rgba(0, 0, 0, .18);
  color: #20252a;
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  list-style: none;
  letter-spacing: .04em;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}

.dwi-reviews-float > summary::-webkit-details-marker {
  display: none;
}

.dwi-reviews-float > summary span {
  color: #f4a300;
  font-size: 15px;
}

.dwi-reviews-panel {
  position: absolute;
  left: 52px;
  top: 50%;
  width: min(330px, calc(100vw - 72px));
  padding: 25px;
  border: 1px solid #e2e2df;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(0, 0, 0, .2);
  transform: translateY(-50%);
}

.dwi-reviews-panel__eyebrow {
  margin: 0 0 7px;
  color: #777;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .14em;
}

.dwi-reviews-panel__score {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 14px;
}

.dwi-reviews-panel__score strong {
  font-size: 24px;
}

.dwi-reviews-panel__score span {
  color: #f4a300;
  letter-spacing: 2px;
}

.dwi-reviews-panel h2 {
  margin: 0 0 13px;
  font-size: 18px;
}

.dwi-reviews-panel blockquote {
  margin: 0;
  color: #5f6468;
  font-size: 13px;
  line-height: 1.55;
}

.dwi-reviews-panel__author {
  margin: 12px 0 18px;
  color: #777;
  font-size: 10px;
}

.dwi-reviews-panel > a {
  color: var(--orange);
  font-size: 12px;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.dwi-whatsapp-float {
  position: fixed;
  z-index: 75;
  right: 22px;
  bottom: 22px;
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 0 18px 0 14px;
  border-radius: 30px;
  background: #25d366;
  box-shadow: 0 8px 25px rgba(0, 0, 0, .22);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  transition: transform .18s ease, box-shadow .18s ease;
}

.dwi-whatsapp-float:hover {
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 11px 30px rgba(0, 0, 0, .27);
}

.dwi-whatsapp-float svg {
  width: 28px;
  height: 28px;
}

@media (max-width: 1023px) {
  .mega-menu--resources {
    width: min(820px, calc(100vw - 30px));
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .footer-grid {
    gap: 32px;
  }
}

@media (max-width: 768px) {
  .mobile-search-panel select {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    height: 42px;
    padding: 0 20px 0 14px;
    overflow: hidden;
    color: #fff;
    color-scheme: dark;
    white-space: nowrap;
    text-overflow: ellipsis;
    cursor: pointer;
  }

  .mobile-search-panel select option {
    background: #292f36;
    color: #fff;
  }

  .announcement__carousel {
    width: 100%;
    min-width: 0;
    justify-content: center;
  }

  .announcement__rotator {
    min-width: 0;
    flex: 1;
    text-align: center;
  }

  .announcement .announcement__rotator [data-carousel-slide] {
    display: none !important;
  }

  .announcement .announcement__rotator [data-carousel-slide].is-active {
    display: inline !important;
  }

  .trust-strip .trust-strip__carousel {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) 32px;
    width: 100%;
    height: 42px;
    padding-inline: 4px;
  }

  .trust-strip__viewport {
    display: block;
    min-width: 0;
  }

  .trust-strip .trust-strip__viewport [data-carousel-slide] {
    display: none !important;
    width: 100%;
    border: 0;
    text-align: center;
  }

  .trust-strip .trust-strip__viewport [data-carousel-slide].is-active {
    display: block !important;
  }

  .trust-strip__arrow {
    display: grid;
    color: #25282c;
    font-size: 28px;
  }

  .call-pill--desktop {
    display: none !important;
  }

  .call-pill--mobile {
    display: flex !important;
    background: #25d366;
    border-color: #25d366 !important;
    color: #fff;
  }

  .mega-menu--resources {
    width: auto;
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .mega-menu--resources section {
    padding: 4px 0 8px;
    border-bottom: 1px solid var(--line);
  }

  .mega-menu--resources section:last-child {
    border-bottom: 0;
  }

  .mega-menu--resources h3 {
    margin: 8px 12px 2px;
  }

  .footer-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .fidelity-page--terms-of-service .shopify-policy__container {
    padding-inline: 20px;
  }

  .dwi-reviews-float {
    top: auto;
    bottom: 126px;
    transform: none;
  }

  .dwi-reviews-float > summary {
    width: 36px;
    min-height: 105px;
    padding: 9px 6px;
    font-size: 10px;
  }

  .dwi-reviews-panel {
    position: fixed;
    left: 46px;
    top: auto;
    bottom: 112px;
    width: calc(100vw - 66px);
    padding: 20px;
    transform: none;
  }

  .dwi-whatsapp-float {
    right: 14px;
    bottom: 70px;
    width: 50px;
    min-height: 50px;
    justify-content: center;
    padding: 0;
  }

  .dwi-whatsapp-float span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }
}

[data-reviews-widget] .dwi-review-bags i.is-empty {
  border: 1px solid #ff9813;
  background: transparent;
}

[data-reviews-widget] .dwi-review-bags i.is-empty::before {
  border-color: #ff9813;
}

.dwi-review-photo {
  position: relative;
}

.dwi-review-photo-count {
  position: absolute;
  right: 5px;
  bottom: 5px;
  min-width: 24px;
  min-height: 24px;
  display: grid;
  place-items: center;
  padding: 2px 5px;
  border-radius: 14px;
  background: rgba(31, 31, 31, .82);
  color: #fff;
  font-size: 9px;
  font-weight: 700;
}

.dwi-review-product {
  max-width: 210px;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  margin-top: 3px;
  padding-top: 10px;
  border-top: 1px solid #dededb;
  color: #5a5a5a;
  font-size: 9px;
  line-height: 1.4;
}

.dwi-review-product img {
  width: 38px;
  height: 38px;
  border-radius: 4px;
  object-fit: cover;
}

.dwi-review-product.is-standalone {
  grid-template-columns: 1fr;
  margin-top: 14px;
}

.dwi-review-loading,
.dwi-review-error {
  margin: 18px 0 0;
  text-align: center;
  color: #666;
  font-size: 11px;
}

.dwi-review-error {
  color: #a22020;
}

.dwi-review-load-more {
  width: 100%;
  min-height: 42px;
  margin-top: 18px;
  border: 1px solid #292929;
  border-radius: 14px;
  background: #fff;
  color: #292929;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.dwi-review-load-more:hover {
  background: #292929;
  color: #fff;
}

.dwi-review-load-more:disabled {
  opacity: .55;
  cursor: wait;
}

[data-reviews-widget] .dwi-reviews-panel {
  position: fixed;
  z-index: 92;
  left: 50%;
  top: 50%;
  bottom: auto;
  width: min(430px, calc(100vw - 32px));
  height: min(760px, calc(100vh - 32px));
  padding: 0;
  border: 0;
  border-radius: 10px;
  transform: translate(-50%, -50%);
  overflow: hidden;
}

@media (max-width: 768px) {
  [data-reviews-widget] .dwi-reviews-panel {
    left: 8px;
    top: 0;
    bottom: auto;
    width: calc(100vw - 16px);
    height: calc(100dvh - 47px);
    padding: 0;
    border-radius: 0 0 9px 9px;
    transform: none;
  }
}
