:root {
  --ux-ink: #0c1115;
  --ux-teal: #08d4c7;
  --ux-paper: #f4f7f6;
  --ux-line: #d7e0de;
  --ux-text: #26343b;
  --bs-link-color: #047e78;
  --bs-link-hover-color: #075d59;
  --bs-primary: #047e78;
  --bs-primary-rgb: 4, 126, 120;
}

a:not(.btn) { color: #047e78; }
a:not(.btn):hover { color: #075d59; }
.breadcrumb a,
.page-content a,
.product__accordion .accordion-button,
.ux-store-featured a { color: #047e78; }
.product__accordion .accordion-button:hover { color: #075d59; }
.product__accordion .accordion-button:focus { box-shadow: 0 0 0 3px rgb(8 212 199 / 25%); }
.product__images,
.product__no-image { max-width: 430px; margin-inline: auto; }
.product__carousel .carousel-item img,
.product__no-image img { display: block; width: 100%; max-height: 430px; object-fit: contain; }
.product__accordion .accordion-button { padding-block: 0.82rem; font-size: 1.02rem; line-height: 1.3; }
.product__accordion .accordion-body { padding-block: 0.85rem; font-size: 0.94rem; line-height: 1.5; }
.product__accordion .details__item { padding-block: 0.52rem; }
.ux-product-stock { display: flex; align-items: center; gap: 0.35rem; margin: 0.7rem 0 0; color: #1e665e; font-size: 0.88rem; }
.ux-product-stock .material-icons { font-size: 1.1rem; }
.ux-product-compare { display: flex; flex-wrap: wrap; align-items: center; gap: 0.65rem; margin-block: 1rem; }
.ux-product-compare__button { display: inline-flex; align-items: center; gap: 0.4rem; min-height: 42px; padding: 0.45rem 0.7rem; border: 1px solid var(--ux-line); border-radius: 4px; background: #fff; color: var(--ux-ink); font-size: 0.9rem; }
.ux-product-compare__button:hover { border-color: #078f87; color: #075d59; }
.ux-product-compare__button .material-icons { font-size: 1.2rem; }
.ux-product-compare__status { color: #28574f; font-size: 0.85rem; }
.ux-compare-dialog { width: min(960px, calc(100vw - 2rem)); max-height: min(88vh, 900px); padding: 0; border: 1px solid var(--ux-line); border-radius: 6px; box-shadow: 0 18px 70px rgb(0 0 0 / 20%); color: var(--ux-text); }
.ux-compare-dialog::backdrop { background: rgb(3 12 14 / 65%); }
.ux-compare-dialog__header, .ux-compare-dialog__footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.8rem 1.1rem; }
.ux-compare-dialog__header { border-bottom: 1px solid var(--ux-line); }
.ux-compare-dialog__header h2 { margin: 0; font-size: 1.2rem; }
.ux-compare-dialog__close { display: grid; place-items: center; width: 38px; height: 38px; border: 0; background: transparent; color: var(--ux-ink); }
.ux-compare-dialog__hint { padding: 1rem 1.1rem; margin: 0; }
.ux-compare-dialog__scroll { overflow-x: auto; max-height: 62vh; }
.ux-compare-dialog__table { min-width: 100%; border-collapse: collapse; font-size: 0.88rem; }
.ux-compare-dialog__table th, .ux-compare-dialog__table td { min-width: 170px; padding: 0.7rem; border-bottom: 1px solid var(--ux-line); text-align: left; vertical-align: top; }
.ux-compare-dialog__table th:first-child { min-width: 150px; font-weight: 700; }
.ux-compare-dialog__table thead th { background: #f4f7f6; }
.ux-compare-dialog__table thead th:not(:first-child) { font-weight: 600; }
.ux-compare-dialog__table thead a { display: block; margin-block: 0.45rem; }
.ux-compare-dialog__image { display: block; width: 90px; height: 90px; object-fit: contain; mix-blend-mode: multiply; }
.ux-compare-dialog__remove { padding: 0; border: 0; background: transparent; color: #075d59; font-size: 0.82rem; text-decoration: underline; }
.ux-compare-dialog__footer { border-top: 1px solid var(--ux-line); font-size: 0.82rem; }

@media (max-width: 767px) {
  .product__images,
  .product__no-image { max-width: min(100%, 340px); }
  .product__carousel .carousel-item img,
  .product__no-image img { max-height: 340px; }
}

body {
  color: var(--ux-text);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;
  letter-spacing: 0;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible {
  outline: 3px solid var(--ux-teal);
  outline-offset: 3px;
}

.header-top {
  background: var(--ux-ink);
  color: #e4efed;
}

.header-top a,
.header-top .material-icons,
.header-top .header-block__action-btn,
.header-top .header-block__title {
  color: inherit;
}

.header-bottom {
  border-bottom: 1px solid var(--ux-line);
  background: #fff;
}

.header-bottom .logo {
  max-width: 126px;
}

@media (min-width: 1200px) and (max-width: 1500px) {
  .header-bottom__row > .order-2 { flex: 0 0 250px; width: 250px; }
  .ps-mainmenu__tree-link { padding-inline: 0.35rem; font-size: 0.9rem; }
  .header-bottom .ps-searchbar,
  .header-bottom .ps-searchbar__form,
  .header-bottom .ps-searchbar__input { width: 100%; max-width: 100%; }
  .header-bottom .ps-searchbar { min-width: 0; }
}

.header-bottom a:hover,
.header-top a:hover,
.footer a:hover {
  color: #078f87;
}

.btn-primary,
.btn-primary:hover,
.btn-primary:focus-visible {
  border-color: var(--ux-ink);
  background: var(--ux-ink);
  color: #fff;
}

:is(.page-order, .page-cart) .btn-primary {
  --bs-btn-bg: #0c1115;
  --bs-btn-border-color: #0c1115;
  --bs-btn-hover-bg: #26343b;
  --bs-btn-hover-border-color: #26343b;
  --bs-btn-focus-shadow-rgb: 12, 17, 21;
  --bs-btn-active-bg: #26343b;
  --bs-btn-active-border-color: #26343b;
  --bs-btn-disabled-bg: #0c1115;
  --bs-btn-disabled-border-color: #0c1115;
}

:is(.page-order, .page-cart) .btn-outline-primary {
  --bs-btn-color: #047e78;
  --bs-btn-border-color: #8ca7a3;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #047e78;
  --bs-btn-hover-border-color: #047e78;
  --bs-btn-focus-shadow-rgb: 4, 126, 120;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #047e78;
  --bs-btn-active-border-color: #047e78;
  --bs-btn-disabled-color: #047e78;
  --bs-btn-disabled-border-color: #8ca7a3;
}

:is(.page-order, .page-cart) .form-check-input:checked,
:is(.page-order, .page-cart) .form-check-input[type='checkbox']:indeterminate {
  border-color: #047e78;
  background-color: #047e78;
}

:is(.page-order, .page-cart) .form-control:focus,
:is(.page-order, .page-cart) .form-select:focus,
:is(.page-order, .page-cart) .form-check-input:focus {
  border-color: #078f87;
  box-shadow: 0 0 0 0.25rem rgb(8 212 199 / 20%);
}

.ux-store-home {
  background: #fff;
}

.ux-store-benefits { border-bottom: 1px solid var(--ux-line); background: var(--ux-paper); }
.ux-store-benefits__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ux-store-benefit { position: relative; display: flex; align-items: center; gap: 0.8rem; min-width: 0; padding: 1rem 0.8rem; color: var(--ux-text); }
.ux-store-benefit + .ux-store-benefit { border-left: 1px solid var(--ux-line); }
.ux-store-benefit > .material-icons:first-child { flex: none; color: #078f87; font-size: 1.7rem; }
.ux-store-benefit > div { display: grid; gap: 0.16rem; min-width: 0; }
.ux-store-benefit strong { color: var(--ux-ink); font-size: 0.85rem; line-height: 1.25; }
.ux-store-benefit div span { font-size: 0.74rem; line-height: 1.4; }
.ux-store-benefit--link { text-decoration: none; }
.ux-store-benefit--link:hover { background: #e7f1ef; text-decoration: none; }
.ux-store-benefit--link:hover strong { color: #047e78; }
.ux-store-benefit__arrow { margin-left: auto; align-self: flex-start; font-size: 1rem; }

.ux-store-spotlights { padding-block: 2rem 1rem; }
.ux-store-section-head h1 { margin: 0; color: var(--ux-ink); font-size: 2rem; font-weight: 700; line-height: 1.2; }
.ux-store-spotlights__list { display: grid; gap: 1.15rem; }
.ux-store-spotlight { display: block; overflow: hidden; border: 1px solid var(--ux-line); border-radius: 4px; color: var(--ux-ink); text-decoration: none; }
.ux-store-spotlight:hover { border-color: #61b8b0; color: var(--ux-ink); text-decoration: none; }
.ux-store-spotlight img { display: block; width: 100%; height: auto; aspect-ratio: 1920 / 750; object-fit: cover; }
.ux-store-spotlight__footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 74px; padding: 0.85rem 1.2rem; background: #fff; }
.ux-store-spotlight__footer > span:first-child { display: grid; gap: 0.12rem; }
.ux-store-spotlight__footer strong { font-size: 1.05rem; }
.ux-store-spotlight__footer small { color: #526369; font-size: 0.85rem; }
.ux-store-spotlight__cta { flex: none; color: #047e78; font-weight: 700; }
.ux-store-spotlight:hover .ux-store-spotlight__cta { text-decoration: underline; }
.ux-store-carousel__controls { display: none; }
.ux-store-carousel__sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.ux-store-carousel.is-ready .ux-store-carousel__viewport { overflow: hidden; touch-action: pan-y; }
.ux-store-carousel.is-ready .ux-store-spotlights__list { display: flex; gap: 0; align-items: stretch; transition: transform 480ms cubic-bezier(0.77, 0, 0.175, 1); }
.ux-store-carousel.is-ready .ux-store-spotlight { display: flex; flex: 0 0 100%; min-width: 0; flex-direction: column; }
.ux-store-carousel.is-ready .ux-store-spotlight__footer { flex: 1; }
.ux-store-carousel.is-instant .ux-store-spotlights__list { transition: none; }
.ux-store-carousel.is-ready .ux-store-carousel__controls { display: flex; align-items: center; justify-content: center; gap: 0.4rem; min-height: 54px; }
.ux-store-carousel__controls button { display: inline-flex; width: 36px; height: 36px; flex: none; align-items: center; justify-content: center; padding: 0; border: 1px solid transparent; border-radius: 4px; background: transparent; color: var(--ux-ink); cursor: pointer; }
.ux-store-carousel__controls button:hover { border-color: var(--ux-line); background: var(--ux-paper); }
.ux-store-carousel__controls button:active { transform: scale(0.97); }
.ux-store-carousel__controls button[hidden] { display: none; }
.ux-store-carousel__controls .material-icons { font-size: 1.3rem; }
.ux-store-carousel__dots { display: flex; align-items: center; gap: 0.15rem; }
.ux-store-carousel__dots button { width: 28px; height: 36px; }
.ux-store-carousel__dots button::before { width: 8px; height: 8px; border-radius: 50%; background: #9caeac; content: ''; }
.ux-store-carousel__dots button[aria-current='true']::before { background: #078f87; box-shadow: 0 0 0 3px #dcf2ee; }
.ux-store-carousel__toggle { margin-left: 0.65rem; border-left-color: var(--ux-line) !important; }

.ux-store-category-section { padding-block: 2.2rem 1rem; }
.ux-store-categories { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem; }
.ux-store-categories a { display: flex; min-height: 72px; align-items: center; gap: 0.8rem; padding: 0.9rem 1rem; border: 1px solid var(--ux-line); border-radius: 4px; color: var(--ux-ink); font-size: 0.95rem; font-weight: 650; text-decoration: none; }
.ux-store-categories a:hover { border-color: #8bcac3; background: var(--ux-paper); color: #047e78; text-decoration: none; }
.ux-store-categories a > .material-icons:first-child { flex: none; color: #078f87; font-size: 1.6rem; }
.ux-store-categories__arrow { margin-left: auto; color: #078f87; font-size: 1.1rem; }

.ux-store-featured { padding-block: 2.3rem 4rem; }
.ux-store-section-head { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.ux-store-section-head__eyebrow { margin: 0 0 0.35rem; color: #078f87; font-size: 0.74rem; font-weight: 750; text-transform: uppercase; }
.ux-store-section-head h2,
.ux-store-assist h2 { margin: 0; color: var(--ux-ink); font-size: 1.65rem; font-weight: 700; line-height: 1.2; }
.ux-store-section-head > a { color: #047e78; font-weight: 650; text-decoration: none; white-space: nowrap; }

.ux-store-featured .featured-products .h2,
.ux-store-featured .featured-products > h2,
.ux-store-featured .module-products > .section-title { display: none; }

.ux-store-featured .module-products__buttons .btn-outline-primary {
  border-color: var(--ux-line);
  color: #047e78;
}
.ux-store-featured .module-products__buttons .btn-outline-primary:hover {
  border-color: #a8b7b4;
  background: var(--ux-paper);
}

.page-content--cms img[src$="/jesus-varela.png"] {
  width: 200px;
  height: 250px;
  object-fit: cover;
  object-position: center top;
}
.page-content--cms img[src$="/matias_small.png"],
.page-content--cms img[src$="/jesus-varela.png"] {
  display: block;
  margin-bottom: 0.75rem;
}

.ux-store-featured .product-miniature {
  border: 1px solid var(--ux-line);
  border-radius: 4px;
  box-shadow: none;
}

.ux-store-brands { border-block: 1px solid var(--ux-line); background: #fff; }
.ux-store-brands__inner { padding-block: 2.2rem; }
.ux-store-brands__list { display: flex; flex-wrap: wrap; gap: 0.8rem; }
.ux-store-brands__list a { display: flex; width: min(100%, 250px); min-height: 94px; align-items: center; justify-content: space-between; gap: 0.8rem; padding: 1rem 1.25rem; border: 1px solid var(--ux-line); border-radius: 4px; color: var(--ux-ink); text-decoration: none; }
.ux-store-brands__list a:hover { border-color: #8bcac3; background: var(--ux-paper); text-decoration: none; }
.ux-store-brands__list img { display: block; max-width: 155px; max-height: 58px; width: auto; height: auto; object-fit: contain; }
.ux-store-brands__list .material-icons { flex: none; margin-left: auto; color: #078f87; font-size: 1rem; }

.ux-store-guides { padding-block: 2.7rem 3rem; }
.ux-store-guides__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.ux-store-guide { display: flex; min-width: 0; flex-direction: column; padding-top: 1rem; border-top: 2px solid var(--ux-line); }
.ux-store-guide__index { color: #078f87; font-size: 0.78rem; font-weight: 750; }
.ux-store-guide h3 { margin: 0.75rem 0 0.65rem; color: var(--ux-ink); font-size: 1.2rem; line-height: 1.25; }
.ux-store-guide h3 a { color: inherit; text-decoration: none; }
.ux-store-guide h3 a:hover { color: #047e78; text-decoration: underline; }
.ux-store-guide p { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; margin: 0 0 1.2rem; color: #526369; font-size: 0.9rem; line-height: 1.5; }
.ux-store-guide__link { margin-top: auto; color: #047e78; font-size: 0.9rem; font-weight: 650; text-decoration: none; }
.ux-store-guide__link:hover { text-decoration: underline; }

.ux-store-assist { background: var(--ux-paper); border-top: 1px solid var(--ux-line); }
.ux-store-assist__inner { display: flex; justify-content: space-between; align-items: center; gap: 2rem; padding-block: 2.8rem; }
.ux-store-assist p:last-child { max-width: 650px; margin: 0.7rem 0 0; }
.ux-store-assist__links { display: grid; justify-items: stretch; gap: 0.65rem; }
.ux-store-assist__links a { padding: 0.75rem 1rem; border: 1px solid var(--ux-ink); border-radius: 3px; color: var(--ux-ink); font-weight: 650; text-decoration: none; text-align: center; }
.ux-store-assist__links a:hover { background: var(--ux-ink); color: #fff; }

.ux-product-documents { margin-top: 1.25rem; padding-top: 1.1rem; border-top: 1px solid var(--ux-line); }
.ux-product-document { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem 1.5rem; padding: 0.6rem 0; }
.ux-product-document + .ux-product-document { border-top: 1px solid var(--ux-line); }
.ux-product-document__name { min-width: 0; color: var(--ux-ink); font-size: 0.9rem; font-weight: 650; overflow-wrap: anywhere; }
.ux-product-document__actions { display: flex; flex: none; gap: 0.35rem; }
.ux-product-document__action { display: inline-flex; min-height: 38px; align-items: center; gap: 0.35rem; padding: 0.4rem 0.55rem; border: 1px solid var(--ux-line); border-radius: 4px; background: #fff; color: var(--ux-ink); cursor: pointer; font-size: 0.82rem; font-weight: 650; text-decoration: none; }
.ux-product-document__action:hover { border-color: #078f87; color: #047e78; text-decoration: none; }
.ux-product-document__action:active { transform: scale(0.97); }
.ux-product-document__action .material-icons { font-size: 1.05rem; }

.ux-pdf-sheet { width: min(1150px, calc(100vw - 2rem)); height: min(900px, calc(100dvh - 2rem)); max-width: none; max-height: none; padding: 0; border: 1px solid var(--ux-line); border-radius: 4px; background: #fff; color: var(--ux-ink); }
.ux-pdf-sheet::backdrop { background: rgb(4 12 16 / 76%); }
.ux-pdf-sheet__shell { display: grid; grid-template-rows: auto auto minmax(0, 1fr); height: 100%; }
.ux-pdf-sheet__header { display: flex; min-height: 58px; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.55rem 0.85rem 0.55rem 1.2rem; border-bottom: 1px solid var(--ux-line); }
.ux-pdf-sheet__title { margin: 0; font-size: 1rem; font-weight: 700; line-height: 1.25; overflow-wrap: anywhere; }
.ux-pdf-sheet__controls { display: flex; flex: none; align-items: center; gap: 0.6rem; }
.ux-pdf-sheet__download { color: #047e78; font-size: 0.86rem; font-weight: 650; white-space: nowrap; }
.ux-pdf-sheet__close { display: grid; width: 36px; height: 36px; place-items: center; padding: 0; border: 1px solid var(--ux-line); border-radius: 4px; background: #fff; color: var(--ux-ink); cursor: pointer; }
.ux-pdf-sheet__close:hover { background: var(--ux-paper); }
.ux-pdf-sheet__close:active { transform: scale(0.97); }
.ux-pdf-sheet__toolbar { display: flex; min-height: 44px; align-items: center; justify-content: center; gap: 0.7rem; border-bottom: 1px solid var(--ux-line); background: #f7f9f9; }
.ux-pdf-sheet__page-button { display: grid; width: 30px; height: 30px; place-items: center; padding: 0; border: 1px solid var(--ux-line); border-radius: 4px; background: #fff; color: var(--ux-ink); cursor: pointer; }
.ux-pdf-sheet__page-button:disabled { opacity: 0.4; cursor: default; }
.ux-pdf-sheet__page-button:not(:disabled):hover { border-color: #078f87; color: #047e78; }
.ux-pdf-sheet__page-label { min-width: 3.5rem; color: var(--ux-ink); font-size: 0.83rem; font-weight: 650; text-align: center; }
.ux-pdf-sheet__content { display: grid; min-height: 0; overflow: hidden; background: #e5e9e9; }
.ux-pdf-sheet__status { grid-area: 1 / 1; align-self: center; margin: 0; padding: 1.5rem; text-align: center; }
.ux-pdf-sheet__viewer { grid-area: 1 / 1; min-height: 0; overflow: auto; text-align: center; }
.ux-pdf-sheet__canvas { display: block; max-width: none; height: auto; margin: 1rem auto; box-shadow: 0 2px 16px rgb(12 26 31 / 14%); background: #fff; }
.ux-pdf-sheet__status[hidden] { display: none; }

@media (max-width: 991px) {
  .ux-store-benefits__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ux-store-benefit:nth-child(3) { border-left: 0; }
  .ux-store-benefit:nth-child(n + 3) { border-top: 1px solid var(--ux-line); }
}

@media (max-width: 767px) {
  .ux-product-document { align-items: flex-start; flex-direction: column; }
  .ux-product-document__actions { width: 100%; }
  .ux-product-document__action { flex: 1; justify-content: center; }
  .ux-pdf-sheet { width: 100vw; height: 100dvh; border: 0; border-radius: 0; }
  .ux-pdf-sheet__header { padding-inline: 0.75rem; }
  .ux-pdf-sheet__title { font-size: 0.9rem; }
  .ux-pdf-sheet__download { font-size: 0.78rem; }
  #left-column .ps-categorytree { display: none; }
  .ux-store-spotlights { padding-block: 1.5rem 0.5rem; }
  .ux-store-section-head { align-items: start; }
  .ux-store-section-head h1 { font-size: 1.55rem; }
  .ux-store-section-head h2 { font-size: 1.4rem; }
  .ux-store-section-head > a { align-self: end; font-size: 0.8rem; }
  .ux-store-spotlight img { aspect-ratio: 16 / 9; object-fit: contain; background: #08131b; }
  .ux-store-spotlight__footer { min-height: 68px; padding: 0.7rem 0.85rem; }
  .ux-store-spotlight__footer strong { font-size: 0.95rem; }
  .ux-store-spotlight__footer small { font-size: 0.73rem; }
  .ux-store-spotlight__cta { font-size: 0.78rem; }
  .ux-store-category-section { padding-block: 1.5rem 0.5rem; }
  .ux-store-categories { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.5rem; }
  .ux-store-categories a { min-height: 64px; gap: 0.5rem; padding: 0.65rem; font-size: 0.82rem; }
  .ux-store-categories a > .material-icons:first-child { font-size: 1.35rem; }
  .ux-store-featured { padding-block: 2rem; }
  .ux-store-brands__inner { padding-block: 1.8rem; }
  .ux-store-brands__list a { flex: 1 1 145px; width: auto; min-height: 76px; padding: 0.75rem; }
  .ux-store-brands__list img { max-width: min(100%, 112px); max-height: 48px; }
  .ux-store-guides { padding-block: 2rem; }
  .ux-store-guides__list { grid-template-columns: 1fr; gap: 1.4rem; }
  .ux-store-assist__inner { display: block; }
  .ux-store-assist__links { margin-top: 1.2rem; }
}

@media (max-width: 430px) {
  .ux-store-benefit { align-items: flex-start; gap: 0.45rem; padding: 0.8rem 0.35rem; }
  .ux-store-benefit > .material-icons:first-child { font-size: 1.25rem; }
  .ux-store-benefit strong { font-size: 0.72rem; }
  .ux-store-benefit div span { font-size: 0.66rem; }
  .ux-store-benefit__arrow { display: none; }
  .ux-store-section-head--intro { display: block; }
  .ux-store-section-head--intro > a { display: inline-block; margin-top: 0.55rem; }
  .ux-store-spotlight__footer { align-items: start; }
  .ux-store-spotlight__cta { max-width: 86px; text-align: right; white-space: normal; }
  .ux-store-categories__arrow { font-size: 0.9rem; }
}

@media (prefers-reduced-motion: reduce) {
  .ux-store-carousel.is-ready .ux-store-spotlights__list { transition: none; }
}
