/** Shopify CDN: Minification failed

Line 1375:19 Unexpected "*"

**/
/* ══════════════════════════════════════════
   OLIMPO ESPORTES — Custom CSS Overrides
   ══════════════════════════════════════════ */

:root {
  --olimpo-bk: #000;
  --olimpo-wh: #fff;
  --olimpo-g1: #f5f5f5;
  --olimpo-g2: #e5e5e5;
  --olimpo-g3: #999;
  --olimpo-g4: #666;
  --olimpo-g5: #333;
  --olimpo-g6: #1a1a1a;
  --olimpo-yellow: #FFD500;
}

/* ── SCROLLBAR ── */
::-webkit-scrollbar {
  width: 6px;
}

::-webkit-scrollbar-track {
  background: var(--olimpo-g1);
}

::-webkit-scrollbar-thumb {
  background: #bbb;
  border-radius: 3px;
}

::selection {
  background: #000;
  color: #fff;
}


/* ── GLOBAL TYPOGRAPHY ── */
h1,
h2,
h3,
h4,
h5,
h6,
.h0,
.h1,
.h2,
.h3,
.h4,
.h5 {
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.06em;
}

/* ── HEADER ── */
.header-wrapper {
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: none;
  position: relative;
  z-index: 4;
}

.header-wrapper::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: var(--olimpo-g2);
  z-index: 10;
  pointer-events: none;
}

.header-wrapper--border-bottom {
  border-bottom: none;
}

.section-header {
  padding-top: 0;
  padding-bottom: 0;
  transition: all 0.3s ease;
}

.shopify-section-header-sticky .header-wrapper {
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 1px 12px rgba(0, 0, 0, 0.06);
}

.header.page-width {
  max-width: 100%;
  height: 64px;
}

@media screen and (min-width: 990px) {

  .header.page-width,
  .header:not(.drawer-menu).page-width {
    padding-left: 40px;
    padding-right: 40px;
  }

  .header.header--middle-left.page-width {
    grid-template-columns: auto 1fr auto;
    column-gap: 0;
  }

  .header--middle-left .header__inline-menu {
    justify-self: start;
    margin-left: 0;
  }

  .header--middle-left .header__inline-menu .list-menu--inline {
    gap: 4px;
  }
}

header-drawer {
  display: none;
}

@media screen and (max-width: 989px) {
  header-drawer {
    display: block;
    grid-area: left-icons;
    justify-self: start;
    margin-left: 0;
  }

  .header.page-width {
    grid-template-areas: 'left-icons heading icons';
    grid-template-columns: auto auto 1fr;
    padding-left: 10px;
    padding-right: 10px;
  }

  .header__heading,
  .header>.header__heading-link {
    justify-self: start;
    text-align: left;
  }

  .header__heading-link {
    padding-left: 0;
  }
}

.header__heading-link {
  text-decoration: none;
  font-size: 0 !important;
  color: transparent !important;
  overflow: hidden;
}

.header__heading-link,
.header__heading-link.link,
.header__heading-link.link--text,
.header__heading-link.focus-inset,
.header__heading-link:hover,
.header__heading-link:focus,
.header__heading-link:focus-visible,
.header__heading-link:active,
.header__heading-link.focused,
.header__heading-link.focus-inset:focus,
.header__heading-link.focus-inset:focus-visible,
.header__heading-link.focus-inset.focused {
  outline: none !important;
  outline-offset: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  text-shadow: none !important;
  background-color: transparent !important;
  background: transparent !important;
  opacity: 1 !important;
  filter: none !important;
  border-color: transparent !important;
  -webkit-tap-highlight-color: transparent;
}

.header__heading-link::before,
.header__heading-link::after,
.header__heading-link.focus-inset::before,
.header__heading-link.focus-inset::after,
.header__heading-link.link::before,
.header__heading-link.link::after {
  display: none !important;
  content: none !important;
}

.header__heading-logo-wrapper {
  display: flex;
  align-items: center;
  min-height: 46px;
}

.header__heading-logo {
  width: 160px;
  height: 46px;
  object-fit: contain;
}

/* ── ANNOUNCEMENT BAR ── */
.announcement-bar {
  letter-spacing: 2px;
  text-transform: uppercase;
  font-size: 1.1rem;
}

.announcement-bar__message {
  font-weight: 400;
  font-size: 1.1rem;
}

@media screen and (max-width: 989px) {
  .announcement-bar-section {
    display: none;
  }
}

/* ── NAVIGATION ── */
.header__menu-item {
  font-family: var(--font-heading-family);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 0 16px;
}

.header__menu-item:hover {
  text-decoration: none;
}

/* Underline animada apenas no texto (span), não no link inteiro */
.header__menu-item span {
  position: relative;
  display: inline-block;
}

.header__menu-item span::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 2px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.3s ease;
}

.header__menu-item:hover span::after,
details[open]>.header__menu-item span::after {
  transform: scaleX(1);
}

/* Neutraliza text-decoration do base.css */
.header__menu-item:hover span {
  text-decoration: none;
}

details[open]>.header__menu-item {
  text-decoration: none;
}

details[open]:hover>.header__menu-item {
  text-decoration: none;
  text-decoration-thickness: 0;
}

.mega-menu__content {
  border: 1px solid var(--olimpo-g2);
  border-top: 1px solid var(--olimpo-g2);
  box-shadow: 0 8px 32px rgba(0, 0, 0, .08);
}

.header-wrapper--border-bottom .mega-menu__content {
  border-top: 1px solid var(--olimpo-g2);
}

.header__submenu.list-menu {
  border: 1px solid var(--olimpo-g2);
  border-top: 1px solid var(--olimpo-g2);
  box-shadow: 0 8px 32px rgba(0, 0, 0, .08);
}

.mega-menu__content .mega-menu__list {
  margin: 0;
  padding-left: 40px;
}

.mega-menu__link {
  font-family: var(--font-body-family);
  font-size: 13px;
  padding: 6px 0;
  text-align: left;
}

.mega-menu .mega-menu__list--condensed {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 0.6rem 3rem;
}

/* ── DESKTOP HOVER MENU ── */
@media screen and (min-width: 990px) {

  header-menu>details>.header__submenu,
  header-menu>details.mega-menu>.mega-menu__content {
    transition: opacity 0.3s ease, transform 0.3s ease;
  }

  header-menu>details[open]>.header__submenu {
    animation: none;
    opacity: 1;
    transform: translateY(0);
  }

  header-menu>details.mega-menu[open]>.mega-menu__content {
    opacity: 1;
    transform: translateY(0);
  }

  header-menu>details>summary {
    position: relative;
  }

  header-menu>details.mega-menu[open]>summary::after {
    content: '';
    position: absolute;
    left: -2rem;
    right: -2rem;
    bottom: 0;
    height: 2.5rem;
    transform: translateY(100%);
  }
}

/* ── BUTTONS ── */
.button,
.shopify-challenge__button,
.customer button,
button.button {
  font-family: var(--font-heading-family);
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  padding: 16px 36px;
  border-radius: 0;
  min-height: auto;
  transition: all 0.25s ease;
}

.button--primary {
  background: var(--olimpo-bk);
  color: var(--olimpo-wh);
  border: 2px solid var(--olimpo-bk);
}

.button--primary:hover {
  background: var(--olimpo-g5);
}

.button--secondary {
  background: transparent;
  border: 2px solid currentColor;
}

.button--secondary:hover {
  background: var(--olimpo-bk);
  color: var(--olimpo-wh);
}

.button::after,
.button::before {
  box-shadow: none !important;
}

.button--small {
  padding: 10px 20px;
  font-size: 1.1rem;
}

/* ── PRODUCT CARD ── */
.card__inner {
  border-radius: 0;
}

.card--standard .card__inner {
  background: var(--olimpo-g1);
}

.card__media {
  overflow: hidden;
}

.card__media .media {
  transition: transform 0.5s ease;
}

.card:hover .card__media .media {
  transform: scale(1.05);
}

.card__heading {
  font-family: var(--font-body-family);
  font-size: 1.3rem;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
  color: var(--olimpo-g4);
}

.card__heading a {
  color: var(--olimpo-g4);
  text-decoration: none;
}

.card__heading a:hover {
  color: var(--olimpo-bk);
}

.price-item {
  font-family: var(--font-heading-family);
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--olimpo-bk);
}

.price--on-sale .price-item--regular {
  font-size: 1.2rem;
  color: var(--olimpo-g3);
}

.badge {
  font-family: var(--font-heading-family);
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 2px;
  border-radius: 0;
  padding: 5px 12px;
}

/* ── PRODUCT GRID: Imagem sem corte + cards uniformes ── */

.card__media .media img {
  object-fit: contain !important;
  object-position: center !important;
}

.product-grid .grid__item,
.collection .grid__item {
  display: flex;
}

.product-card-wrapper.card-wrapper {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.product-card-wrapper .card:not(.card--horizontal) {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.product-card-wrapper .card__content {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.product-card-wrapper .card__content .card__information {
  margin-top: auto;
}

/* ── COLLECTION PAGE: Layout mais largo ── */

@media screen and (min-width: 990px) {
  .facets-vertical.page-width {
    max-width: 100%;
    padding-left: 3rem;
    padding-right: 3rem;
  }

  .facets__form-vertical {
    width: 20rem !important;
  }

  .facets-vertical .facets-wrapper {
    padding-right: 2rem;
  }
}

/* ── SECTION HEADERS ── */
.section-header__title,
.title {
  font-family: var(--font-heading-family);
  font-weight: 700;
  text-transform: uppercase;
}

.section-header__subtitle,
.subtitle {
  font-family: var(--font-heading-family);
  font-size: 1.1rem;
  letter-spacing: 5px;
  color: var(--olimpo-g3);
  text-transform: uppercase;
}

/* ── TRUST BAR ── */
.olimpo-trust-bar {
  border-bottom: 1px solid var(--olimpo-g2);
  padding: 22px 0;
}

.olimpo-trust-bar__inner {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px 24px;
  align-items: center;
}

.olimpo-trust-item {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.olimpo-trust-item__icon {
  font-size: 18px;
  flex-shrink: 0;
  line-height: 1;
  color: var(--olimpo-bk);
}

.olimpo-trust-item__title {
  font-family: var(--font-body-family);
  font-size: 13px;
  color: var(--olimpo-bk);
  letter-spacing: 0.3px;
  font-weight: 600;
  line-height: 1.3;
  margin: 0;
}

.olimpo-trust-item__sub {
  font-family: var(--font-body-family);
  font-size: 12px;
  color: var(--olimpo-g4);
  line-height: 1.3;
  margin: 2px 0 0;
}

@media screen and (max-width: 749px) {
  .olimpo-trust-bar {
    padding: 16px 0;
  }

  .olimpo-trust-bar__inner {
    grid-template-columns: 1fr 1fr;
    gap: 14px 12px;
  }

  .olimpo-trust-item {
    gap: 8px;
  }

  .olimpo-trust-item__icon {
    font-size: 16px;
  }

  .olimpo-trust-item__title {
    font-size: 12px;
  }

  .olimpo-trust-item__sub {
    font-size: 11px;
  }
}

/* ── DUAL CATEGORY ── */

.olimpo-dual {
  width: 100%;
}

.olimpo-dual__header {
  text-align: center;
  margin-bottom: 48px;
}

.olimpo-dual__tag {
  font-family: var(--font-heading-family);
  font-size: 11px;
  letter-spacing: 5px;
  color: var(--olimpo-g3);
  text-transform: uppercase;
  display: block;
}

.olimpo-dual__title {
  font-family: var(--font-heading-family);
  font-size: 36px;
  font-weight: 700;
  color: var(--olimpo-bk);
  margin-top: 8px;
  text-transform: uppercase;
}

.olimpo-dual__grid {
  display: grid;
  grid-template-columns: repeat(var(--olimpo-dual-cols, 2), 1fr);
  gap: 0;
  width: 100%;
}

.olimpo-dual__card {
  padding: 4.8rem 2.4rem;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  text-decoration: none;
  transition: opacity 0.3s;
}

.olimpo-dual__card>*+* {
  margin-top: 2rem;
}

.olimpo-dual__card:hover {
  opacity: 0.92;
}

.olimpo-dual__card-icon {
  position: absolute;
  right: 32px;
  top: 32px;
  font-size: 64px;
  opacity: 0.1;
}

.olimpo-dual__card-tag {
  font-size: 1.2rem;
  letter-spacing: 0.16rem;
  line-height: calc(1 + 0.2 / var(--font-body-scale));
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 0;
}

.olimpo-dual__card-tag+.olimpo-dual__card-title {
  margin-top: 0;
}

.olimpo-dual__card-title {
  font-family: var(--font-heading-family);
  font-style: var(--font-heading-style);
  font-size: calc(var(--font-heading-scale) * 5rem);
  font-weight: 700;
  text-transform: uppercase;
  line-height: calc(1 + 0.3 / max(1, var(--font-heading-scale)));
  letter-spacing: calc(var(--font-heading-scale) * 0.06rem);
  color: inherit;
  margin-bottom: 0;
}

.olimpo-dual__card-desc {
  font-family: var(--font-body-family);
  font-size: 1.5rem;
  line-height: calc(1 + 0.8 / var(--font-body-scale));
  margin-top: 2rem;
}

.olimpo-dual__card-desc p {
  margin-top: 0;
  margin-bottom: 1rem;
}

.olimpo-dual__card-desc p:last-child {
  margin-bottom: 0;
}

.olimpo-dual__card-link {
  font-family: var(--font-heading-family);
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  padding: 16px 36px;
  border-radius: 0;
  margin-top: 3rem;
  display: inline-block;
  text-decoration: none;
  border: 1.5px solid currentColor;
  transition: all 0.25s ease;
}

@media screen and (min-width: 750px) {
  .olimpo-dual__card {
    padding: 8rem 6rem;
  }

  .olimpo-dual__card-title {
    font-size: calc(var(--font-heading-scale) * 6.2rem);
  }
}

@media screen and (max-width: 749px) {
  .olimpo-dual__grid {
    grid-template-columns: 1fr;
  }
}

/* ── INSTAGRAM SECTION ── */
.olimpo-instagram {
  background: var(--olimpo-bk);
  padding: 56px 32px;
  text-align: center;
}

.olimpo-instagram__tag {
  font-family: var(--font-heading-family);
  font-size: 11px;
  letter-spacing: 5px;
  color: var(--olimpo-g4);
  text-transform: uppercase;
}

.olimpo-instagram__title {
  font-family: var(--font-heading-family);
  font-size: 28px;
  font-weight: 700;
  color: var(--olimpo-wh);
  margin-top: 8px;
  text-transform: uppercase;
}

.olimpo-instagram__sub {
  color: var(--olimpo-g4);
  font-size: 13px;
  margin-top: 8px;
  margin-bottom: 32px;
}

.olimpo-instagram__grid {
  max-width: 100%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 4px;
}

.olimpo-instagram__item {
  aspect-ratio: 1;
  background: #111;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.olimpo-instagram__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s;
}

.olimpo-instagram__item:hover img {
  transform: scale(1.05);
}

@media screen and (max-width: 749px) {
  .olimpo-instagram__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* ── REVIEWS SECTION ── */
.olimpo-reviews {
  padding: 64px 32px;
}

.olimpo-reviews__inner {
  max-width: 100%;
  margin: 0 auto;
}

.olimpo-reviews__header {
  text-align: center;
  margin-bottom: 40px;
}

.olimpo-reviews__title {
  font-family: var(--font-heading-family);
  font-size: 28px;
  font-weight: 700;
  text-transform: uppercase;
}

.olimpo-reviews__summary {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 12px;
}

.olimpo-reviews__summary-detail {
  text-align: left;
}

.olimpo-reviews__score {
  font-family: var(--font-heading-family);
  font-size: 42px;
  font-weight: 700;
}

.olimpo-reviews__count {
  font-size: 12px;
  color: var(--olimpo-g3);
}

.olimpo-reviews__empty {
  font-size: 14px;
  color: var(--olimpo-g3);
  margin-top: 8px;
}

.olimpo-reviews__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.olimpo-reviews__item--hidden {
  display: none;
}

.olimpo-reviews__pagination {
  text-align: center;
  margin-top: 32px;
}

/* ── Review Card ── */
.olimpo-review-card {
  border: 1px solid var(--olimpo-g2);
  padding: 24px;
}

.olimpo-review-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}

.olimpo-review-card__date {
  font-size: 11px;
  color: var(--olimpo-g3);
}

.olimpo-review-card__title {
  font-family: var(--font-heading-family);
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 4px;
}

.olimpo-review-card__text {
  font-size: 13px;
  color: var(--olimpo-g5);
  line-height: 1.6;
  margin-top: 8px;
}

.olimpo-review-card__photo {
  margin-top: 12px;
}

.olimpo-review-card__photo img {
  width: 100px;
  height: 100px;
  object-fit: cover;
  border-radius: 4px;
  cursor: pointer;
}

.olimpo-review-card__author {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
}

.olimpo-review-card__author-name {
  font-family: var(--font-heading-family);
  font-size: 11px;
  color: var(--olimpo-g3);
  letter-spacing: 2px;
  text-transform: uppercase;
}

.olimpo-review-card__verified {
  font-size: 10px;
  color: #16a34a;
  font-weight: 500;
}

/* ── Olimpo Star Rating ── */
.olimpo-stars {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.olimpo-stars__icons {
  --color-rating-star: rgb(var(--color-foreground));
  --percent: calc(
    (var(--rating) / var(--rating-max) + var(--rating-decimal) * var(--font-size) /
      (var(--rating-max) * (var(--letter-spacing) + var(--font-size)))) * 100%
  );
  letter-spacing: calc(var(--letter-spacing) * 1rem);
  font-size: calc(var(--font-size) * 1rem);
  line-height: 1;
  display: inline-block;
  font-family: Times;
}

.olimpo-stars__icons::before {
  content: '★★★★★';
  background: linear-gradient(
    90deg,
    var(--color-rating-star) var(--percent),
    rgba(var(--color-foreground), 0.15) var(--percent)
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.olimpo-stars--sm .olimpo-stars__icons {
  --letter-spacing: 0.5;
  --font-size: 1.2;
}

.olimpo-stars--md .olimpo-stars__icons {
  --letter-spacing: 0.7;
  --font-size: 1.5;
}

.olimpo-stars--lg .olimpo-stars__icons {
  --letter-spacing: 0.8;
  --font-size: 2;
}

.olimpo-stars__text {
  font-size: 12px;
  color: var(--olimpo-g3);
}

.olimpo-stars__count {
  font-size: 12px;
  color: var(--olimpo-g3);
}

/* ── Interactive Star Input ── */
.olimpo-star-input {
  display: inline-flex;
  gap: 4px;
}

.olimpo-star-input__star {
  background: none;
  border: none;
  padding: 2px;
  cursor: pointer;
  color: rgba(var(--color-foreground), 0.2);
  transition: color 0.15s ease;
}

.olimpo-star-input__star.is-active,
.olimpo-star-input__star.is-hover {
  color: rgb(var(--color-foreground));
}

.olimpo-star-input__star svg {
  display: block;
  fill: currentColor;
}

/* ── Review Form ── */
.olimpo-review-form-wrapper {
  margin-top: 48px;
  text-align: center;
}

.olimpo-review-form {
  display: none;
  max-width: 640px;
  margin: 24px auto 0;
  text-align: left;
}

.olimpo-review-form.is-open {
  display: block;
}

.olimpo-review-form__title {
  font-family: var(--font-heading-family);
  font-size: 20px;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 24px;
  text-align: center;
}

.olimpo-review-form__field {
  margin-bottom: 16px;
}

.olimpo-review-form__label {
  display: block;
  font-family: var(--font-heading-family);
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 6px;
  color: var(--olimpo-g5);
}

.olimpo-review-form__input,
.olimpo-review-form__textarea {
  width: 100%;
  padding: 10px 14px;
  border: 1px solid var(--olimpo-g2);
  background: transparent;
  font-size: 14px;
  font-family: var(--font-body-family);
  color: rgb(var(--color-foreground));
  transition: border-color 0.2s ease;
}

.olimpo-review-form__input:focus,
.olimpo-review-form__textarea:focus {
  outline: none;
  border-color: rgb(var(--color-foreground));
}

.olimpo-review-form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.olimpo-review-form__upload-area {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 24px;
  border: 2px dashed var(--olimpo-g2);
  cursor: pointer;
  color: var(--olimpo-g3);
  font-size: 13px;
  transition: border-color 0.2s ease;
}

.olimpo-review-form__upload-area:hover {
  border-color: rgb(var(--color-foreground));
}

.olimpo-review-form__file-input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  overflow: hidden;
}

.olimpo-review-form__upload {
  position: relative;
}

.olimpo-review-form__preview {
  position: relative;
  display: inline-block;
  margin-top: 8px;
}

.olimpo-review-form__preview img {
  width: 100px;
  height: 100px;
  object-fit: cover;
  border-radius: 4px;
}

.olimpo-review-form__preview-remove {
  position: absolute;
  top: -6px;
  right: -6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: none;
  background: rgb(var(--color-foreground));
  color: rgb(var(--color-background));
  font-size: 11px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.olimpo-review-form__status {
  padding: 12px 16px;
  font-size: 13px;
  margin-bottom: 16px;
  text-align: center;
}

.olimpo-review-form__status--success {
  background: #f0fdf4;
  color: #16a34a;
  border: 1px solid #bbf7d0;
}

.olimpo-review-form__status--error {
  background: #fef2f2;
  color: #dc2626;
  border: 1px solid #fecaca;
}

.olimpo-review-form__submit {
  width: 100%;
  margin-top: 8px;
}

@media screen and (max-width: 749px) {
  .olimpo-reviews {
    padding: 40px 16px;
  }

  .olimpo-reviews__grid {
    grid-template-columns: 1fr;
  }

  .olimpo-reviews__score {
    font-size: 32px;
  }

  .olimpo-review-form__row {
    grid-template-columns: 1fr;
  }
}

/* ── PDP: PRODUCT PAGE ── */
.product__info-container .product__title {
  font-family: var(--font-heading-family);
  font-size: 30px;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1.15;
}

.product__text.subtitle {
  font-family: var(--font-heading-family);
  font-size: 11px;
  letter-spacing: 4px;
  color: var(--olimpo-g3);
  text-transform: uppercase;
}

.product__info-container .price__regular .price-item {
  font-family: var(--font-heading-family);
  font-size: 30px;
  font-weight: 700;
}

/* Trust badges grid on PDP */
.olimpo-pdp-trust {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 28px;
}

.olimpo-pdp-trust__item {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 14px 16px;
  border: 1px solid var(--olimpo-g2);
  background: var(--olimpo-g1);
}

.olimpo-pdp-trust__icon {
  font-size: 16px;
  flex-shrink: 0;
  color: var(--olimpo-bk);
  margin-top: 1px;
}

.olimpo-pdp-trust__title {
  font-family: var(--font-heading-family);
  font-size: 13px;
  color: var(--olimpo-bk);
  letter-spacing: 1.5px;
  text-transform: uppercase;
  font-weight: 700;
  line-height: 1.3;
}

.olimpo-pdp-trust__sub {
  font-family: var(--font-body-family);
  font-size: 12px;
  color: var(--olimpo-g4);
  line-height: 1.4;
  margin-top: 2px;
}

/* ── COLLECTION PAGE ── */
.collection-hero {
  background: var(--olimpo-bk);
  padding: 48px 32px;
  text-align: center;
}

.collection-hero__title {
  font-family: var(--font-heading-family);
  color: var(--olimpo-wh);
}

.collection-hero__description {
  color: #777;
}

/* ── VARIANT PILLS → SQUARE BUTTONS ── */
variant-selects .product-form__input label,
variant-radios .product-form__input label {
  border-radius: 0;
  font-family: var(--font-heading-family);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 1px;
}

variant-selects .product-form__input input:checked+label,
variant-radios .product-form__input input:checked+label {
  background: var(--olimpo-bk);
  color: var(--olimpo-wh);
  border-color: var(--olimpo-bk);
}

/* ── QUANTITY SELECTOR ── */
.quantity {
  border-radius: 0;
  border: 2px solid var(--olimpo-g2);
}

.quantity__button {
  border-radius: 0;
}

/* ── ACCORDION / COLLAPSIBLE ── */
.product__accordion .accordion summary {
  font-family: var(--font-heading-family);
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-weight: 600;
}

/* ── FOOTER ── */
.footer {
  border-top: none;
}

.footer__content-top {
  border-top: none;
}

.footer-block__heading {
  font-family: var(--font-heading-family);
  font-size: 12px;
  letter-spacing: 3px;
  text-transform: uppercase;
  font-weight: 500;
}

/* ── IMAGE WITH TEXT (HERO / LIFESTYLE) ── */
.image-with-text {
  width: 100%;
}

.image-with-text .grid {
  gap: 0;
}

.image-with-text__media img,
.image-with-text__media .placeholder-svg {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.image-with-text__content {
  padding: 8rem 6rem;
}

.image-with-text__heading {
  font-size: 52px;
  line-height: 1.05;
}

@media screen and (max-width: 749px) {
  .image-with-text__heading {
    font-size: 36px;
  }

  .image-with-text__content {
    padding: 4.8rem 2.4rem;
  }
}

/* ── FEATURED COLLECTION ── */
.collection__title {
  font-family: var(--font-heading-family);
  text-transform: uppercase;
}

/* ── PAGINATION ── */
.pagination__list .pagination__item a,
.pagination__list .pagination__item span {
  font-family: var(--font-heading-family);
  border-radius: 0;
  border: 1px solid var(--olimpo-g2);
}

.pagination__list .pagination__item--current span {
  border: 2px solid var(--olimpo-bk);
  font-weight: 700;
}

/* ── FILTER / FACETS ── */
.facets__label {
  font-family: var(--font-heading-family);
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-weight: 600;
}

/* ── GENERAL SPACING OVERRIDES ── */
.section-template--*-padding {
  padding-top: 64px;
  padding-bottom: 64px;
}

/* ── STORY VIDEO WIDGET (Tolstoy) ── */
.story-video-section {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid var(--olimpo-g2);
}

.story-video-label {
  font-family: var(--font-heading-family);
  font-size: 11px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--olimpo-g3);
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
}

.story-video-label::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  border: 1.5px solid var(--olimpo-bk);
  border-radius: 50%;
  position: relative;
}

.story-video-label::after {
  content: '';
  position: absolute;
  left: 5px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-left: 6px solid var(--olimpo-bk);
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
}

.story-video-row {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  padding-bottom: 4px;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.story-video-row::-webkit-scrollbar {
  display: none;
}

.story-video-item {
  flex-shrink: 0;
  width: 80px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  cursor: pointer;
}

.story-video-thumb {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  border: 2px solid var(--olimpo-g2);
  overflow: hidden;
  position: relative;
  background: var(--olimpo-g1);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color 0.25s, transform 0.25s;
}

.story-video-item:hover .story-video-thumb {
  border-color: var(--olimpo-bk);
  transform: scale(1.06);
}

.story-video-thumb-ring {
  position: absolute;
  inset: -3px;
  border-radius: 50%;
  border: 2px solid transparent;
  background: conic-gradient(var(--olimpo-bk) 0%, var(--olimpo-bk) 25%, var(--olimpo-g2) 25%, var(--olimpo-g2) 50%, var(--olimpo-bk) 50%, var(--olimpo-bk) 75%, var(--olimpo-g2) 75%) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: 0;
  transition: opacity 0.25s;
}

.story-video-item:hover .story-video-thumb-ring {
  opacity: 1;
}

.story-video-play {
  position: absolute;
  width: 24px;
  height: 24px;
  background: rgba(0, 0, 0, .65);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(4px);
}

.story-video-play::after {
  content: '';
  width: 0;
  height: 0;
  border-left: 8px solid #fff;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  margin-left: 2px;
}

.story-video-caption {
  font-family: var(--font-body-family);
  font-size: 10px;
  color: var(--olimpo-g4);
  text-align: center;
  line-height: 1.2;
  max-width: 80px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

._storyVideo_1v61q_63 {
  background: transparent;
  display: flex;
  width: 100%;
  height: 100%;
  max-width: 123px;
  aspect-ratio: 1/1;
}

/* ── MOBILE HEADER: MENU OPEN STATE ── */
@media screen and (max-width: 989px) {
  .menu-open .header {
    grid-template-areas: 'left-icons heading icons';
    grid-template-columns: auto auto 1fr;
  }

  .menu-open .header__heading,
  .menu-open .header>.header__heading-link {
    position: relative;
    z-index: 4;
  }
}

/* ── MENU DRAWER (Hambúrguer) ── */

/* Drawer mais largo em tablet+ para grid de 2 colunas */
@media screen and (min-width: 750px) {
  .menu-drawer {
    width: 48rem;
  }
}

/* Remove padding padrão da navegação */
.menu-drawer__navigation {
  padding: 0;
}

/* ─ MENU PRINCIPAL: Grid vertical de coluna única ─ */
.menu-drawer__menu.has-submenu {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}

.menu-drawer__menu.has-submenu>li {
  border-bottom: 1px solid var(--olimpo-g2);
}

.menu-drawer .menu-drawer__menu.has-submenu>li>details>summary.menu-drawer__menu-item,
.menu-drawer .menu-drawer__menu.has-submenu>li>a.menu-drawer__menu-item {
  font-family: var(--font-heading-family);
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  padding: 2rem 2.4rem;
  padding-right: 5rem;
  color: var(--olimpo-bk);
}

/* ─ PAINEL DO SUBMENU: Grid 3 rows (voltar + título + itens) ─ */
.menu-drawer__inner-submenu {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto 1fr;
  height: 100%;
  overflow: hidden;
}

/* Row 1: Botão "Voltar" */
.menu-drawer .menu-drawer__close-button {
  grid-row: 1;
  font-family: var(--font-heading-family);
  font-size: 1.1rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-weight: 500;
  padding: 1.6rem 2.4rem;
  margin: 0;
  border-bottom: 1px solid var(--olimpo-g2);
  color: var(--olimpo-g4);
  background: transparent;
}

/* Row 2: Título da categoria + "Ver tudo" */
.menu-drawer__submenu-heading {
  grid-row: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 2rem 2.4rem;
  font-family: var(--font-heading-family);
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--olimpo-bk);
  text-decoration: none;
  border-bottom: 1px solid var(--olimpo-g2);
  background: var(--olimpo-g1);
}

.menu-drawer__ver-tudo {
  font-size: 1.1rem;
  font-weight: 400;
  letter-spacing: 1px;
  color: var(--olimpo-g3);
  text-transform: uppercase;
  transition: color 0.2s ease;
}

.menu-drawer__submenu-heading:hover .menu-drawer__ver-tudo {
  color: var(--olimpo-bk);
}

/* Row 3: Lista de itens do submenu — Grid responsivo */
.menu-drawer__inner-submenu>ul.menu-drawer__menu {
  grid-row: 3;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  padding: 1.2rem 0;
  align-content: start;
  overflow-y: auto;
}

@media screen and (min-width: 750px) {
  .menu-drawer__inner-submenu>ul.menu-drawer__menu {
    grid-template-columns: repeat(2, 1fr);
    padding: 2rem 0;
  }
}

/* Itens individuais do submenu */
.menu-drawer .menu-drawer__inner-submenu>ul.menu-drawer__menu>li {
  border-bottom: none;
}

.menu-drawer .menu-drawer__inner-submenu .menu-drawer__menu-item {
  font-family: var(--font-body-family);
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.3px;
  text-transform: none;
  padding: 1.2rem 2.4rem;
  color: var(--olimpo-g5);
  border-left: 2px solid transparent;
  transition: border-color 0.2s ease, padding-left 0.2s ease, color 0.2s ease;
}

.menu-drawer .menu-drawer__inner-submenu .menu-drawer__menu-item:hover {
  color: var(--olimpo-bk);
  border-left-color: var(--olimpo-bk);
  padding-left: 2.8rem;
  background: transparent;
}

/* Hide Dawn's default elements we don't need */
.header__icon--cart .icon-caret {
  display: none;
}

/* "Comprar agora" — espelha .button.button--secondary.button--full-width */
.shopify-payment-button {
  width: 100%;
}

.shopify-payment-button__button {
  font-size: 0 !important;
  font-family: var(--font-heading-family) !important;
  background: transparent !important;
  color: var(--olimpo-bk) !important;
  border: 2px solid currentColor !important;
  border-radius: 0 !important;
  padding: 16px 36px !important;
  min-height: auto !important;
  min-width: auto !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  transition: all 0.25s ease !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  box-sizing: border-box !important;
  cursor: pointer;
  box-shadow: none !important;
}

.shopify-payment-button__button::before,
.shopify-payment-button__button::after {
  box-shadow: none !important;
}

.shopify-payment-button__button::after {
  content: "COMPRAR AGORA" !important;
  font-size: 1.3rem !important;
  font-weight: 600 !important;
  letter-spacing: 2.5px !important;
  color: inherit !important;
  position: static !important;
  border: none !important;
  background: none !important;
  padding: 0 !important;
  inset: auto !important;
}

.shopify-payment-button__button::before {
  display: none !important;
}

.shopify-payment-button__button:hover {
  background: var(--olimpo-bk) !important;
  color: var(--olimpo-wh) !important;
}

/* ══════════════════════════════════════════
   OLIMPO — FILTROS AVANÇADOS (Collection)
   ══════════════════════════════════════════ */

/* ── SIDEBAR WRAPPER ── */
@media screen and (min-width: 750px) {
  .facets-vertical .facets-wrapper {
    padding-right: 2.5rem;
    border-right: 1px solid var(--olimpo-g2);
    min-width: 24rem;
    max-width: 26rem;
  }

  .facets__form-vertical {
    width: 100%;
  }

  .facets__heading--vertical {
    font-size: 1.3rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--olimpo-bk);
    margin: 0 0 1.2rem 0;
    padding-bottom: 1.2rem;
    border-bottom: 2px solid var(--olimpo-bk);
    display: flex;
    align-items: center;
    gap: 0.6rem;
  }
}

/* ── SORT DROPDOWN (Vertical) ── */
.facets-vertical-sort {
  margin-bottom: 0;
}

.facets-vertical-sort .facets-vertical-form {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 1.6rem;
  margin-bottom: 1.6rem;
  border-bottom: 1px solid var(--olimpo-g2);
}

.facets-vertical-form .facet-filters__field {
  justify-content: flex-end;
  align-items: center;
}

.facets-vertical-form .facet-filters__label {
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--olimpo-g5);
}

.facets-vertical-form .facet-filters__sort,
.facet-filters__sort {
  font-size: 1.3rem;
  font-weight: 500;
  color: var(--olimpo-bk);
  padding-right: 2rem;
  cursor: pointer;
  background-color: transparent;
  transition: color 0.2s ease;
}

.facet-filters__sort:hover {
  color: var(--olimpo-g4);
}

/* ── FILTER GROUP (details/summary) ── */
.facets__disclosure-vertical {
  border-top: 1px solid var(--olimpo-g2);
  transition: background-color 0.2s ease;
}

.facets__disclosure-vertical:last-of-type {
  border-bottom: 1px solid var(--olimpo-g2);
}

.facets-vertical .facets__summary {
  padding: 1.4rem 0;
  margin-bottom: 0;
  display: flex;
  align-items: center;
  transition: color 0.2s ease;
}

.facets-vertical .facets__summary>div {
  display: flex;
  align-items: center;
  width: 100%;
  gap: 0.5rem;
}

.facets__summary-label {
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--olimpo-g5);
  flex-grow: 1;
}

.facets__disclosure-vertical[open] .facets__summary-label {
  color: var(--olimpo-bk);
}

.facets__selected {
  font-size: 1.1rem;
  font-weight: 500;
  color: var(--olimpo-bk);
  background: var(--olimpo-g1);
  padding: 0.1rem 0.6rem;
  border-radius: 10px;
  margin-left: 0.3rem;
}

/* ── FILTER ICONS ── */
.olimpo-filter__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  flex-shrink: 0;
  color: var(--olimpo-g4);
  transition: color 0.2s ease;
}

.facets__disclosure-vertical[open] .olimpo-filter__icon {
  color: var(--olimpo-bk);
}

.olimpo-filter__icon svg {
  width: 1.5rem;
  height: 1.5rem;
}

/* ── CARET ICON ── */
.facets__disclosure-vertical .facets__summary .icon-caret {
  transition: transform 0.3s ease;
  color: var(--olimpo-g3);
  width: 1rem;
}

.facets__disclosure-vertical[open] .facets__summary .icon-caret {
  transform: rotate(180deg);
  color: var(--olimpo-bk);
}

/* ── FILTER VALUES ── */
.facets__display-vertical {
  padding-bottom: 1.2rem;
}

.facets__list--vertical {
  padding: 0;
}

.facets__list--vertical .facets__item {
  margin-bottom: 0;
}

.facets__list--vertical .facet-checkbox {
  padding: 0.7rem 0;
  font-size: 1.3rem;
  color: var(--olimpo-g5);
  transition: color 0.15s ease;
}

.facets__list--vertical .facet-checkbox:hover {
  color: var(--olimpo-bk);
}

.facets__list--vertical .facet-checkbox.active {
  color: var(--olimpo-bk);
  font-weight: 600;
}

/* ── CUSTOM CHECKBOX ── */
.facets-layout-list--text .facet-checkbox>svg {
  width: 1.6rem;
  height: 1.6rem;
  border: 1.5px solid var(--olimpo-g3);
  border-radius: 3px;
  background-color: var(--olimpo-wh);
  transition: border-color 0.15s ease, background-color 0.15s ease;
}

.facets-layout-list--text .facet-checkbox:hover>svg {
  border-color: var(--olimpo-bk);
}

.facets-layout-list--text .facet-checkbox.active>svg {
  border-color: var(--olimpo-bk);
  background-color: var(--olimpo-bk);
}

.facet-checkbox__text {
  font-size: 1.3rem;
}

.facet-checkbox__text-label {
  font-weight: 400;
}

.facet-checkbox.active .facet-checkbox__text-label {
  font-weight: 600;
}

/* ── SIZE BADGES ── */
.olimpo-size-list {
  display: flex !important;
  flex-wrap: wrap;
  gap: 0.6rem;
  padding: 0.5rem 0 !important;
}

.olimpo-size-list .facets__item {
  margin: 0;
  flex: 0 0 auto;
}

.olimpo-size-list .facet-checkbox {
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 4rem;
  height: 3.4rem;
  border: 1.5px solid var(--olimpo-g2);
  border-radius: 4px;
  text-align: center;
  transition: all 0.15s ease;
  background: var(--olimpo-wh);
  cursor: pointer;
}

.olimpo-size-list .facet-checkbox:hover {
  border-color: var(--olimpo-bk);
}

.olimpo-size-list .facet-checkbox.active {
  border-color: var(--olimpo-bk);
  background: var(--olimpo-bk);
  color: var(--olimpo-wh);
}

.olimpo-size-list .facet-checkbox.active .facet-checkbox__text-label {
  color: var(--olimpo-wh);
}

.olimpo-size-list .facet-checkbox.disabled {
  opacity: 0.35;
  border-style: dashed;
}

.olimpo-size-list .facet-checkbox>svg,
.olimpo-size-list .facet-checkbox>.svg-wrapper {
  display: none;
}

.olimpo-size-list .facet-checkbox .facet-checkbox__text {
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  padding: 0 0.6rem;
}

.olimpo-size-list .facet-checkbox input[type='checkbox'] {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
  opacity: 0;
  cursor: pointer;
}

/* ── COLOR SWATCH ENHANCEMENT ── */
.olimpo-filter--color .facets-layout-list--swatch {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  padding: 0.5rem 0;
}

.olimpo-filter--color .swatch-input-wrapper {
  position: relative;
}

.olimpo-filter--color .facets__label {
  gap: 0.6rem;
  padding: 0.4rem 0;
}

/* ── PRICE RANGE ── */
.olimpo-filter--price .facets__price {
  padding: 1rem 0;
  gap: 1rem;
}

.olimpo-filter--price .field__input {
  border: 1.5px solid var(--olimpo-g2);
  border-radius: 4px;
  font-size: 1.3rem;
  padding: 0.8rem 1rem;
  transition: border-color 0.2s ease;
}

.olimpo-filter--price .field__input:focus {
  border-color: var(--olimpo-bk);
  outline: none;
  box-shadow: 0 0 0 1px var(--olimpo-bk);
}

.olimpo-filter--price .field-currency {
  font-size: 1.3rem;
  font-weight: 600;
  color: var(--olimpo-g4);
}

.facets__header-vertical {
  padding: 0.8rem 0;
  font-size: 1.2rem;
  color: var(--olimpo-g3);
  border-bottom: none;
}

/* ── ACTIVE FILTERS (Pills) ── */
.facets-vertical .active-facets {
  margin: 0 0 0.8rem 0;
  gap: 0.5rem;
}

.facets-vertical .active-facets__button {
  margin: 0;
}

span.active-facets__button-inner {
  font-size: 1.1rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  padding: 0.4rem 1rem;
  border-radius: 20px;
  background: var(--olimpo-g1);
  box-shadow: none;
  border: 1px solid var(--olimpo-g2);
  color: var(--olimpo-g5);
  transition: all 0.15s ease;
}

span.active-facets__button-inner:hover {
  background: var(--olimpo-g2);
  border-color: var(--olimpo-g3);
}

.active-facets__button--light .active-facets__button-inner {
  box-shadow: none;
}

.active-facets__button-remove {
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--olimpo-g4);
  transition: color 0.2s ease;
}

.active-facets__button-remove:hover {
  color: var(--olimpo-bk);
}

/* ── PRODUCT COUNT ── */
.product-count-vertical {
  display: flex;
  align-items: center;
}

.product-count__text {
  font-size: 1.2rem;
  font-weight: 400;
  color: var(--olimpo-g4);
  letter-spacing: 0.02em;
}

/* ── SHOW MORE BUTTON ── */
.button-show-more {
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--olimpo-g4);
  padding: 0.8rem 0;
  transition: color 0.2s ease;
}

.button-show-more:hover {
  color: var(--olimpo-bk);
}

/* ── MOBILE FILTERS ── */
.mobile-facets__open {
  gap: 0.6rem;
}

.mobile-facets__open .svg-wrapper {
  width: 1.8rem;
}

.mobile-facets__open-label {
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.mobile-facets__inner {
  max-width: 100%;
  width: 100%;
}

@media screen and (min-width: 750px) {
  .mobile-facets__inner {
    max-width: 42rem;
  }
}

.mobile-facets__header {
  padding: 1.6rem 2rem;
  border-bottom: 2px solid var(--olimpo-bk);
}

.mobile-facets__heading {
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.mobile-facets__summary {
  padding: 1.4rem 2rem;
  border-bottom: 1px solid var(--olimpo-g1);
}

.mobile-facets__summary>div>span:first-child {
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--olimpo-g5);
}

.mobile-facets__footer .button--primary {
  background: var(--olimpo-bk);
  color: var(--olimpo-wh);
  border: none;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 1.2rem;
}

.mobile-facets__footer .button--primary:hover {
  background: var(--olimpo-g5);
}

.mobile-facets__clear {
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--olimpo-g4);
}

/* ── MOBILE SIZE BADGES ── */
.mobile-facets__details.olimpo-filter--size .mobile-facets__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  padding: 1.5rem 2rem;
}

.mobile-facets__details.olimpo-filter--size .mobile-facets__item {
  flex: 0 0 auto;
}

.mobile-facets__details.olimpo-filter--size .mobile-facets__label {
  min-width: 5rem;
  height: 4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1.5px solid var(--olimpo-g2);
  border-radius: 4px;
  padding: 0 1rem;
  background: var(--olimpo-wh);
  transition: all 0.15s ease;
}

.mobile-facets__details.olimpo-filter--size .mobile-facets__label:hover {
  border-color: var(--olimpo-bk);
}

.mobile-facets__details.olimpo-filter--size .mobile-facets__label.active {
  border-color: var(--olimpo-bk);
  background: var(--olimpo-bk);
  color: var(--olimpo-wh);
}

.mobile-facets__details.olimpo-filter--size .mobile-facets__label>svg,
.mobile-facets__details.olimpo-filter--size .mobile-facets__label>.icon-checkmark,
.mobile-facets__details.olimpo-filter--size .mobile-facets__highlight {
  display: none;
}

.mobile-facets__details.olimpo-filter--size .facet-checkbox__text {
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: 0.04em;
}

/* ── SORT (Mobile) ── */
.mobile-facets__sort label {
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--olimpo-g5);
}

.mobile-facets__sort .select__select {
  font-size: 1.3rem;
  font-weight: 500;
  color: var(--olimpo-bk);
}

/* ── LOADING STATE ── */
.collection.loading {
  opacity: 0.5;
  transition: opacity 0.3s ease;
  pointer-events: none;
}

/* ══════════════════════════════════════════
   OLIMPO — PDP: Galeria Sticky + Imagens Controladas
   ══════════════════════════════════════════ */

@media screen and (min-width: 990px) {
  media-gallery.product__column-sticky {
    position: sticky;
    top: 80px;
  }

  .product__info-container.product__column-sticky {
    position: static;
  }

  .product-media-container.constrain-height {
    --viewport-offset: 400px;
    --constrained-min-height: 400px;
  }

  .product-media-container .media img {
    object-fit: contain;
  }
}

/* ══════════════════════════════════════════
   OLIMPO — PDP GALERIA & MODAL FIXES
   ══════════════════════════════════════════ */

/* ── MODAL: Zoom Controlado ── */

.product-media-modal__content > img {
  max-height: 90vh;
  max-width: 100%;
  width: auto;
  object-fit: contain;
  display: block;
  margin: 0 auto;
}

/* ── GALERIA LATERAL: Thumbnails Verticais (Desktop) ── */

@media screen and (min-width: 990px) {
  .product--thumbnail media-gallery {
    display: flex;
    gap: 1.2rem;
    align-items: flex-start;
  }

  .product--thumbnail media-gallery > .slider-mobile-gutter:not(.thumbnail-slider) {
    flex: 1;
    min-width: 0;
  }

  .product--thumbnail media-gallery > .thumbnail-slider {
    order: -1;
    flex-shrink: 0;
    width: 110px;
  }

  .product--thumbnail .thumbnail-slider .thumbnail-list {
    display: flex !important;
    flex-direction: column;
    gap: 1rem;
    max-height: 80vh;
    overflow-y: auto;
    scrollbar-width: thin;
  }

  .product--thumbnail .thumbnail-slider .thumbnail-list::-webkit-scrollbar {
    width: 3px;
  }

  .product--thumbnail .thumbnail-slider .thumbnail-list::-webkit-scrollbar-thumb {
    background: var(--olimpo-g3);
    border-radius: 2px;
  }

  .product--thumbnail .thumbnail-slider .thumbnail-list__item {
    width: 100% !important;
    flex-shrink: 0;
  }

  .product--thumbnail .thumbnail-slider > .slider-button {
    display: none;
  }
}

/* ── GALERIA LATERAL: Tablet (750–989px) ── */

@media screen and (min-width: 750px) and (max-width: 989px) {
  .product--thumbnail media-gallery {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
  }

  .product--thumbnail media-gallery > .slider-mobile-gutter:not(.thumbnail-slider) {
    flex: 1;
    min-width: 0;
  }

  .product--thumbnail media-gallery > .thumbnail-slider {
    order: -1;
    flex-shrink: 0;
    width: 90px;
  }

  .product--thumbnail .thumbnail-slider .thumbnail-list {
    display: flex !important;
    flex-direction: column;
    gap: 0.6rem;
    max-height: 70vh;
    overflow-y: auto;
    scrollbar-width: thin;
  }

  .product--thumbnail .thumbnail-slider .thumbnail-list__item {
    width: 100% !important;
    flex-shrink: 0;
  }

  .product--thumbnail .thumbnail-slider > .slider-button {
    display: none;
  }
}

/* ── GALERIA: Mobile — Thumbnails embaixo (horizontal) ── */

@media screen and (max-width: 749px) {
  .product--thumbnail media-gallery {
    display: block;
  }

  .product--thumbnail .thumbnail-slider {
    margin-top: 0.8rem;
  }
}

/* ── GALERIA: position relative para setas overlay existentes ── */

media-gallery > slider-component[id^="GalleryViewer"] {
  position: relative;
}

/* ══════════════════════════════════════════
   OLIMPO — ZOOM EXPERIENCE (UNIFICADO)
   ══════════════════════════════════════════ */

/* ── Modal: fullscreen centrado (todas as telas) ── */

.product-media-modal__dialog {
  height: 100vh;
  height: 100dvh;
}

.product-media-modal__content {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  min-height: 100dvh;
  padding: 0 !important;
  overflow: hidden;
}

.product-media-modal__content > img {
  max-height: 90vh;
  max-width: 100%;
  width: auto;
  object-fit: contain;
}

.product-media-modal__content > *:not(.active) {
  display: none !important;
}

.product-media-modal__content > [data-media-id].active {
  animation: olimpoFadeIn .2s ease;
}

.product-media-modal__toggle {
  z-index: 12;
  right: 2rem !important;
  top: 2rem !important;
}

/* ── Lupa: sempre visível (override Dawn desktop opacity:0) ── */

.product__modal-opener .product__media-icon {
  opacity: 1 !important;
}

@keyframes olimpoFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* ── Setas de navegação (global) ── */

.olimpo-modal-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  background: none;
  border: none;
  padding: 20px 12px;
  color: var(--olimpo-g3);
  cursor: pointer;
  transition: opacity .3s ease;
  -webkit-tap-highlight-color: transparent;
}

.olimpo-modal-nav--prev { left: 0; }
.olimpo-modal-nav--next { right: 0; }

.olimpo-modal-nav--disabled {
  opacity: 0.15;
  pointer-events: none;
}

.olimpo-modal-nav--hidden {
  opacity: 0 !important;
  pointer-events: none;
}

.olimpo-modal-nav svg {
  display: block;
}

/* ── Contador de posição (global) ── */

.olimpo-modal-counter {
  position: fixed;
  bottom: max(16px, env(safe-area-inset-bottom));
  left: 50%;
  transform: translateX(-50%);
  font-family: var(--font-heading-family);
  font-size: 11px;
  letter-spacing: 3px;
  color: var(--olimpo-g4);
  z-index: 10;
  transition: opacity .3s ease;
}

.olimpo-modal-counter--hidden {
  opacity: 0;
}

/* ── Cursor de zoom (apenas dispositivos com mouse) ── */

@media (pointer: fine) {
  .product-media-modal__content {
    cursor: zoom-in;
  }
  .product-media-modal__content img {
    user-select: none;
    -webkit-user-drag: none;
  }
}

/* ── GALERIA PDP: Setas de navegação (Desktop) ── */

@media screen and (min-width: 750px) {
  media-gallery [id^="GalleryViewer"] > .slider-buttons {
    display: flex !important;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
    justify-content: space-between;
    pointer-events: none;
    z-index: 3;
    padding: 0 10px;
  }

  media-gallery [id^="GalleryViewer"] > .slider-buttons .slider-button {
    pointer-events: all;
    background: rgba(255, 255, 255, 0.92);
    width: 38px;
    height: 38px;
    border-radius: 50%;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.08);
    color: var(--olimpo-bk);
    transition: opacity 0.25s ease, background 0.2s ease, box-shadow 0.2s ease;
    opacity: 0;
  }

  media-gallery [id^="GalleryViewer"]:hover > .slider-buttons .slider-button:not([disabled]) {
    opacity: 1;
  }

  media-gallery [id^="GalleryViewer"] > .slider-buttons .slider-button:not([disabled]):hover {
    background: var(--olimpo-wh);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.14);
  }

  media-gallery [id^="GalleryViewer"] > .slider-buttons .slider-button[disabled] {
    opacity: 0 !important;
    pointer-events: none;
  }

  media-gallery [id^="GalleryViewer"] > .slider-buttons .slider-counter {
    display: none;
  }
}

/* ══════════════════════════════════════════
   OLIMPO — GALERIA PDP: SEM BORDAS
   ══════════════════════════════════════════ */

.thumbnail,
.thumbnail[aria-current],
.thumbnail:hover,
.thumbnail:focus,
.thumbnail:focus-visible,
.thumbnail.focused,
.thumbnail:active {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

.product-media-container.global-media-settings,
.product-media-container.global-media-settings::after {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

.product__media-toggle,
.product__media-toggle:focus,
.product__media-toggle:focus-visible,
.product__media-toggle.focused,
.product__media-toggle:active,
.product__media-toggle::after,
.product__media-toggle:focus::after,
.product__media-toggle:focus-visible::after,
.product__media-toggle.focused::after,
.product__media-toggle:active::after {
  outline: none !important;
  box-shadow: none !important;
}

.product__modal-opener,
.product__modal-opener:focus,
.product__modal-opener:focus-visible,
.product__modal-opener.focused,
.product__modal-opener:active {
  outline: none !important;
  box-shadow: none !important;
}

.product__media-item,
.product__media-item:focus,
.product__media-item:focus-visible,
.product__media-item.focused,
.product__media-item.is-active,
.product__media-item:active {
  outline: none !important;
  box-shadow: none !important;
}

.deferred-media__poster,
.deferred-media__poster:focus,
.deferred-media__poster:focus-visible,
.deferred-media__poster:active {
  outline: none !important;
  box-shadow: none !important;
}

.product__media-list .media,
.product__media-list .media:focus,
.product__media-list .media:focus-visible {
  outline: none !important;
  box-shadow: none !important;
  border: none !important;
}

.product__media-wrapper .slider-button,
.product__media-wrapper .slider-button:focus,
.product__media-wrapper .slider-button:focus-visible,
.thumbnail-slider .slider-button,
.thumbnail-slider .slider-button:focus,
.thumbnail-slider .slider-button:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

/* ── LUPA DE ZOOM: Sem fundo, ícone preto sólido ── */

.product__media-icon {
  background-color: transparent !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.product__modal-opener:hover .product__media-icon {
  border: none !important;
}

.product__media-icon .svg-wrapper,
.product__media-icon svg {
  color: #000 !important;
  fill: #000 !important;
}

/* ══════════════════════════════════════════
   OLIMPO — FOOTER: Grid (4 colunas + newsletter full)
   ══════════════════════════════════════════ */

.footer__blocks-wrapper.grid--4-col-tablet {
  row-gap: 4rem;
}

.footer__blocks-wrapper.grid--4-col-tablet > .grid__item {
  align-self: start;
}

@media screen and (min-width: 750px) {
  .footer__blocks-wrapper .footer-block--newsletter-grid {
    width: 100%;
    max-width: 48rem;
    margin: 0 auto;
  }
}

/* ══════════════════════════════════════════
   OLIMPO — FOOTER: Bloco de Contato
   ══════════════════════════════════════════ */

.olimpo-footer__title {
  font-family: var(--font-heading-family);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 3px;
  text-transform: uppercase;
  margin-bottom: 2rem;
  margin-top: 0;
}

.olimpo-footer__list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.olimpo-footer__list--contact li {
  margin-bottom: 1.2rem;
}

.olimpo-footer__list--contact li:last-child {
  margin-bottom: 0;
}

.olimpo-footer__contact-link {
  display: inline-flex;
  align-items: flex-start;
  gap: 10px;
  font-family: var(--font-body-family);
  font-size: 13px;
  color: rgba(var(--color-foreground), 0.75);
  text-decoration: none;
  line-height: 1.5;
  transition: color 0.2s ease;
}

a.olimpo-footer__contact-link:hover {
  color: rgb(var(--color-foreground));
}

.olimpo-footer__contact-link svg {
  flex-shrink: 0;
  margin-top: 1px;
  color: rgba(var(--color-foreground), 0.5);
  transition: color 0.2s ease;
}

a.olimpo-footer__contact-link:hover svg {
  color: rgb(var(--color-foreground));
}

.olimpo-footer__contact-link--address span {
  line-height: 1.6;
}

/* ── FOOTER: Newsletter dentro do grid ── */

.footer-block--newsletter-grid {
  display: flex;
  flex-direction: column;
}

.footer-block--newsletter-grid .footer-block__newsletter {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.footer-block--newsletter-grid .newsletter-form__field-wrapper {
  max-width: 100%;
  width: 100%;
}

.footer-block--newsletter-grid .footer__follow-on-shop {
  margin-top: 1.5rem;
}

/* ── FOOTER: Bloco de Marca (Logo + Descrição + Badge) ── */

.olimpo-footer__logo {
  display: block;
  margin-bottom: 1.6rem;
  height: auto;
}

.olimpo-footer__description {
  font-family: var(--font-body-family);
  font-size: 13px;
  color: rgba(var(--color-foreground), 0.7);
  line-height: 1.6;
  margin: 0 0 1.6rem 0;
}

.olimpo-footer__brazilian-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 1.6rem;
}

.olimpo-footer__flag {
  flex-shrink: 0;
}

.olimpo-footer__badge-text {
  font-family: var(--font-body-family);
  font-size: 12px;
  color: rgba(var(--color-foreground), 0.7);
  line-height: 1.4;
}

.olimpo-footer__badge-text strong {
  color: rgb(var(--color-foreground));
  font-weight: 600;
}

.olimpo-footer__social-list.footer__list-social.list-social {
  justify-content: flex-start;
  margin-top: 1.6rem;
}

@media screen and (max-width: 749px) {
  .footer-block.grid__item:first-child {
    text-align: center;
  }

  .olimpo-footer__logo {
    margin-left: auto;
    margin-right: auto;
  }

  .olimpo-footer__brazilian-badge {
    justify-content: center;
  }

  .olimpo-footer__social-list.footer__list-social.list-social {
    justify-content: center;
  }
}

/* ── FOOTER: Bottom Content (Copyright + Pagamento + Segurança) ── */

.olimpo-footer__bottom-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: 2rem 0;
}

.olimpo-footer__company-info {
  flex-shrink: 0;
}

.olimpo-footer__copyright {
  font-family: var(--font-body-family);
  font-size: 12px;
  color: var(--olimpo-wh);
  margin: 0;
}

.olimpo-footer__payment,
.olimpo-footer__security {
  display: flex;
  align-items: center;
  gap: 10px;
}

.olimpo-footer__payment-text,
.olimpo-footer__security-text {
  font-family: var(--font-heading-family);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--olimpo-wh);
  white-space: nowrap;
}

.olimpo-footer__payment-icons,
.olimpo-footer__security-icons {
  display: flex;
  align-items: center;
  gap: 6px;
}

.olimpo-footer__security-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
}

.olimpo-footer__security-label {
  font-family: var(--font-heading-family);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--olimpo-wh);
}

.olimpo-footer__payment-icons svg rect,
.olimpo-footer__security-icons svg rect {
  fill: transparent;
  stroke: var(--olimpo-wh);
}

.olimpo-footer__payment-icons svg text,
.olimpo-footer__payment-icons svg circle {
  fill: var(--olimpo-wh);
}

.olimpo-footer__security-badge[title*="SSL"] svg path {
  fill: #22C55E;
  stroke: none;
}

.olimpo-footer__security-badge[title*="Google"] svg path {
  fill: #4285F4;
  stroke: none;
}

.olimpo-footer__security-badge[title*="Garantida"] svg path:first-of-type {
  fill: none;
  stroke: #FACC15;
}

.olimpo-footer__security-badge[title*="Garantida"] svg path:last-of-type {
  fill: none;
  stroke: #FACC15;
}

@media screen and (max-width: 989px) {
  .olimpo-footer__bottom-content {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 2rem;
  }

  .olimpo-footer__payment,
  .olimpo-footer__security {
    flex-direction: column;
    gap: 8px;
  }
}

/* ══════════════════════════════════════════
   OLIMPO — FOOTER: Acordeão Mobile
   ══════════════════════════════════════════ */

.footer-accordion {
  border: none;
  margin: 0;
  padding: 0;
}

.footer-accordion__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  list-style: none;
}

.footer-accordion__summary::-webkit-details-marker,
.footer-accordion__summary::marker {
  display: none;
  content: '';
}

.footer-accordion__summary .olimpo-footer__title {
  margin-bottom: 0;
  flex: 1;
}

.footer-accordion__icon {
  display: none;
}

/* ── Desktop (750px+): Conteúdo sempre visível, sem acordeão ── */

@media screen and (min-width: 750px) {
  .footer-accordion {
    display: block;
  }

  .footer-accordion__summary {
    display: block;
    pointer-events: none;
    cursor: default;
    list-style: none;
  }

  .footer-accordion__summary .olimpo-footer__title {
    margin-bottom: 2rem;
  }

  .footer-accordion__icon {
    display: none !important;
  }

  .footer-accordion__content,
  .footer-accordion > .footer-accordion__content,
  details.footer-accordion > .footer-accordion__content {
    display: block !important;
  }
}

/* ── Mobile (até 749px): Acordeão com ícone +/- e animação ── */

@media screen and (max-width: 749px) {
  .footer-accordion {
    border-bottom: 1px solid rgba(var(--color-foreground), 0.1);
  }

  .footer-accordion__summary {
    cursor: pointer;
    padding: 2rem 0;
    -webkit-tap-highlight-color: transparent;
  }

  .footer-accordion__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    position: relative;
  }

  .footer-accordion__icon::before,
  .footer-accordion__icon::after {
    content: '';
    position: absolute;
    background: rgba(var(--color-foreground), 0.5);
    transition: transform 0.3s ease, opacity 0.3s ease;
  }

  .footer-accordion__icon::before {
    width: 12px;
    height: 1.5px;
  }

  .footer-accordion__icon::after {
    width: 1.5px;
    height: 12px;
  }

  .footer-accordion[open] .footer-accordion__icon::after {
    transform: rotate(90deg);
    opacity: 0;
  }

  .footer-accordion:not([open]) .footer-accordion__content {
    display: none;
  }

  .footer-accordion[open] .footer-accordion__content {
    animation: footerAccordionSlide 0.3s ease forwards;
    padding-bottom: 1.6rem;
  }

  .footer-block.grid__item {
    margin-top: 0;
    margin-bottom: 0;
  }
}

@keyframes footerAccordionSlide {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ═══════════════════════════════════════════════════════════════
   ACENTO AMARELO — sale badge + preço promocional
   Cor de marca extraída da logo, restrita exclusivamente a:
     • Sale badge nos cards (badge--bottom-left + price__badge-sale)
     • Chip do preço com desconto (.price__sale .price-item--last)
   Sold-out badge é preservado em preto/cinza (scheme-3).
   ═══════════════════════════════════════════════════════════════ */

/* Sale badge nos cards: o template usa color-scheme-4/5 via setting */
.card-wrapper .badge.color-scheme-4,
.card-wrapper .badge.color-scheme-5,
.card__badge .badge.color-scheme-4,
.card__badge .badge.color-scheme-5 {
  background: var(--olimpo-yellow);
  color: var(--olimpo-bk);
  border-color: var(--olimpo-yellow);
}

/* Sale badge inline (snippet price.liquid: ofertas + featured + PDP modal) */
.price__badge-sale {
  background: var(--olimpo-yellow) !important;
  color: var(--olimpo-bk) !important;
  border-color: var(--olimpo-yellow) !important;
}

/* Preço promocional — chip amarelo destacando o número final */
.price--on-sale .price__sale .price-item--sale,
.price--on-sale .price__sale .price-item--last {
  color: var(--olimpo-bk);
  background: var(--olimpo-yellow);
  padding: 2px 10px;
  display: inline-block;
}

/* Sold-out preservado em preto (não herda do scheme-4 amarelo) */
.card-wrapper .badge.color-scheme-3,
.card__badge .badge.color-scheme-3,
.price__badge-sold-out {
  background: var(--olimpo-g6) !important;
  color: var(--olimpo-wh) !important;
  border-color: var(--olimpo-g6) !important;
}

/* ═══════════════════════════════════════════════════════════════
   IBM PLEX MONO — em ficha técnica (preço, badge, specs)
   Body geral usa Plex Sans (theme editor / settings_data.json).
   Mono entra nos pontos onde o número e a etiqueta importam.
   Fallback ui-monospace cobre 100% dos browsers modernos.
   ═══════════════════════════════════════════════════════════════ */
.price,
.price-item,
.price-item--regular,
.price-item--last,
.price-item--sale,
.badge,
.olimpo-dual__card-tag,
.olimpo-trust-bar__title,
.olimpo-trust-bar__subtitle {
  font-family: "IBM Plex Mono", ui-monospace, "JetBrains Mono",
               "SF Mono", Menlo, Consolas, monospace;
  font-feature-settings: "tnum" 1, "zero" 1;
  letter-spacing: 0;
}

/* Mono tende a parecer leve — peso compensatório nos preços */
.price-item--regular,
.price-item--last,
.price-item--sale {
  font-weight: 600;
}

/* ═══════════════════════════════════════════════════════════════
   CATEGORIAS — número tipográfico gigante (substitui emojis)
   Posicionado no canto superior direito do card como elemento
   gráfico de fundo. Renderiza em Oswald, opacity 0.18.
   ═══════════════════════════════════════════════════════════════ */
.olimpo-dual__card {
  position: relative;
  overflow: hidden;
}

.olimpo-dual__card-number {
  position: absolute;
  top: 16px;
  right: 20px;
  font-family: var(--font-heading-family);
  font-size: clamp(72px, 10vw, 140px);
  font-weight: 700;
  line-height: 0.85;
  letter-spacing: -0.04em;
  opacity: 0.18;
  pointer-events: none;
  user-select: none;
  z-index: 0;
}

.olimpo-dual__card > *:not(.olimpo-dual__card-number):not(.olimpo-dual__card-bg):not(.olimpo-dual__card-overlay) {
  position: relative;
  z-index: 1;
}

.olimpo-dual__card-bg,
.olimpo-dual__card-overlay {
  position: absolute !important;
  inset: 0;
  margin: 0 !important;
  pointer-events: none;
}

.olimpo-dual__card-bg {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  z-index: 0 !important;
}

.olimpo-dual__card-overlay {
  z-index: 1 !important;
}

.olimpo-dual__card--has-image .olimpo-dual__card-number {
  z-index: 2;
}

.olimpo-dual__card--has-image > *:not(.olimpo-dual__card-bg):not(.olimpo-dual__card-overlay) {
  position: relative;
  z-index: 3;
}

/* ═══════════════════════════════════════════════════════════════
   SELECT NATIVO — visual brutalista coerente
   Reset appearance + caret SVG inline + foco amarelo.
   !important necessário pra vencer especificidade do Dawn.
   ═══════════════════════════════════════════════════════════════ */
select,
.select__select,
.facet-filters__sort,
.facet-filters__field select,
.localization-form__select,
.mobile-facets__sort .select__select {
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background-color: var(--olimpo-wh) !important;
  border: 1px solid var(--olimpo-bk) !important;
  border-radius: 0 !important;
  color: var(--olimpo-bk) !important;
  font-family: var(--font-body-family);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
  padding: 10px 38px 10px 14px !important;
  min-width: 180px;
  cursor: pointer;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='square'><path d='M1 1l4 4 4-4'/></svg>") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 10px 6px !important;
  line-height: 1.2;
  text-overflow: ellipsis;
  transition: background-color .15s ease;
}

select:hover,
.select__select:hover,
.facet-filters__sort:hover,
.localization-form__select:hover {
  background-color: var(--olimpo-g1) !important;
}

select:focus,
select:focus-visible,
.select__select:focus,
.select__select:focus-visible,
.facet-filters__sort:focus,
.facet-filters__sort:focus-visible,
.localization-form__select:focus,
.localization-form__select:focus-visible {
  outline: 2px solid var(--olimpo-yellow) !important;
  outline-offset: 2px !important;
  box-shadow: none !important;
  border-color: var(--olimpo-bk) !important;
}

/* Esconde TODOS os carets do Dawn — o background-image já fornece a seta.
   O snippet usa <span class="svg-wrapper">{{ 'icon-caret.svg' | inline_asset_content }}</span>
   então precisamos esconder o WRAPPER + qualquer SVG dentro do .select. */
.select .svg-wrapper,
.select .icon-caret,
.select > svg,
.facet-filters__field .svg-wrapper,
.facet-filters__field .icon-caret,
.facet-filters__sort + .svg-wrapper,
.facet-filters__sort + .icon-caret,
select + .svg-wrapper,
select + .icon-caret,
select ~ .svg-wrapper,
select ~ .icon-caret,
.localization-form .svg-wrapper,
.localization-form svg.icon-caret {
  display: none !important;
}

/* Wrapper .select do Dawn: zerado pra não duplicar borda/fundo */
.facet-filters__field .select,
.mobile-facets__sort .select {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  width: auto;
  display: block;
  position: static;
}

/* Garantir que o select estenda dentro do container parent (especialmente mobile) */
.facet-filters__field .select__select,
.facet-filters__field select.facet-filters__sort {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Mobile: select estende confortável dentro da linha "Ordenar por:" */
@media screen and (max-width: 749px) {
  .facet-filters__sort,
  .facet-filters__field select,
  .mobile-facets__sort .select__select {
    min-width: 0 !important;
    width: 100% !important;
    flex: 1 1 auto !important;
  }

  .facet-filters__field {
    width: 100%;
  }
}