@charset "UTF-8";
@keyframes favorito-salta {
  0% {
    transform: scale(1);
  }
  35% {
    transform: scale(1.45);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes favorito-parte {
  0% {
    transform: scale(1) rotate(0);
  }
  45% {
    transform: scale(0.55) rotate(-18deg);
  }
  100% {
    transform: scale(1) rotate(0);
  }
}
@keyframes favorito-anel {
  0% {
    opacity: 0.8;
    transform: scale(1);
  }
  100% {
    opacity: 0;
    transform: scale(1.9);
  }
}
@keyframes favorito-cartao {
  0% {
    box-shadow: 0 0 0 0 color-mix(in srgb, var(--cor) 45%, transparent);
    border-color: var(--cor);
  }
  100% {
    box-shadow: 0 0 0 10px color-mix(in srgb, var(--cor) 0%, transparent);
  }
}
@keyframes adicionado-pulso {
  0% {
    transform: scale(0.97);
  }
  50% {
    transform: scale(1.03);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes carrinho-salta {
  0%, 100% {
    transform: scale(1);
  }
  30% {
    transform: scale(1.3) rotate(-8deg);
  }
  60% {
    transform: scale(0.92) rotate(5deg);
  }
}
.adicionar-voo {
  position: fixed;
  z-index: 10000;
  border-radius: 50%;
  background: var(--cor, #003b4b) center/cover no-repeat;
  box-shadow: 0 6px 16px rgba(16, 24, 40, 0.25);
  pointer-events: none;
  transition: transform 0.7s cubic-bezier(0.5, -0.1, 0.8, 0.5), opacity 0.7s ease;
}

.shop-nav .carrinho > a.carrinho-salta {
  animation: carrinho-salta 0.55s ease;
}

@media (prefers-reduced-motion: reduce) {
  .productcard .actions a.adicionado, .shop-nav .carrinho > a.carrinho-salta {
    animation: none;
  }
  .adicionar-voo {
    display: none;
  }
}
@keyframes foto-a-carregar {
  from {
    background-position: 200% 0;
  }
  to {
    background-position: -200% 0;
  }
}
.aviso-carrinho {
  --aviso-cor: #0b6b8a;
  position: fixed;
  right: 16px;
  bottom: 24px;
  left: 16px;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  max-width: 440px;
  margin: 0 auto;
  padding: 14px 18px 14px 14px;
  border: 1px solid color-mix(in srgb, var(--aviso-cor) 22%, #d5d9de);
  border-radius: 14px;
  background: #fff;
  box-shadow: inset 5px 0 0 var(--aviso-cor), 0 16px 40px rgba(15, 23, 42, 0.28), 0 3px 10px rgba(15, 23, 42, 0.14);
  color: #1b1f24;
  font-size: 14px;
  line-height: 20px;
  text-align: center;
  cursor: pointer;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.aviso-carrinho::before {
  content: "\f129";
  flex: none;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--aviso-cor) 14%, #fff);
  color: var(--aviso-cor);
  font: 900 13px/28px "Font Awesome 5 Free", "Font Awesome 6 Free", sans-serif;
  text-align: center;
}

.aviso-carrinho.aviso-sucesso {
  --aviso-cor: #1a7f4b;
}

.aviso-carrinho.aviso-sucesso::before {
  content: "\f00c";
}

.aviso-carrinho.aviso-erro {
  --aviso-cor: #c62828;
}

.aviso-carrinho.aviso-erro::before {
  content: "\f071";
}

.aviso-carrinho.aviso-aviso {
  --aviso-cor: #b26a00;
}

.aviso-carrinho.aviso-aviso::before {
  content: "\f06a";
}

.aviso-carrinho.visivel {
  opacity: 1;
  transform: none;
}

.sweet-overlay {
  background: rgba(15, 23, 42, 0.45) !important;
  backdrop-filter: blur(2px);
}

.sweet-alert {
  padding: 28px 24px 24px;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 24px 64px rgba(15, 23, 42, 0.28);
  font-family: inherit;
}

.sweet-alert h2 {
  margin: 18px 0 8px;
  color: #1b1f24;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.3;
}

.sweet-alert p {
  color: #4b5563;
  font-size: 15px;
  line-height: 1.5;
}

.sweet-alert .sa-button-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 8px;
}

.sweet-alert button {
  margin: 0 !important;
  padding: 11px 22px !important;
  border: 0;
  border-radius: 10px !important;
  box-shadow: none !important;
  font-size: 15px;
  font-weight: 600;
  transition: filter 0.15s ease;
}

.sweet-alert button:hover {
  filter: brightness(0.94);
}

.sweet-alert button:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--cor-tema, #003b4b) 40%, #fff);
  outline-offset: 2px;
}

.sweet-alert .confirm.btn.btn-lg.btn-warning, .sweet-alert .confirm.btn.btn-lg.btn-info, .sweet-alert .confirm.btn.btn-lg.btn-error,
.sweet-alert button.confirm {
  background-color: var(--cor-tema, #003b4b) !important;
  color: #fff;
}

.sweet-alert button.cancel {
  background-color: #eef0f3 !important;
  color: #1b1f24;
}

@media (prefers-reduced-motion: reduce) {
  .aviso-carrinho {
    transition: none;
  }
  .sweet-overlay {
    backdrop-filter: none;
  }
}
[id^=HeaderSlideShow-] .slideitem {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 200px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
[id^=HeaderSlideShow-] .slideitem span {
  display: none;
}

@media (min-width: 768px) {
  [id^=HeaderSlideShow-] .slideitem {
    height: 400px;
  }
}
@media (max-width: 991.98px) {
  [id^=HeaderSlideShow-] .slideitem {
    background-size: contain;
  }
}
.home-slider-largo [id^=HeaderSlideShow-] .slideitem {
  height: auto;
  max-height: 560px;
  aspect-ratio: 1080/350;
  background-size: contain;
}

[id^=HeaderSlideShow-]:not(.slick-initialized) > .slideitem + .slideitem,
[id^=HeaderSlideShowMobile-]:not(.slick-initialized) > .slideitem + .slideitem {
  display: none;
}

[id^=HeaderSlideShow-]:not(.slick-initialized),
[id^=HeaderSlideShowMobile-]:not(.slick-initialized) {
  margin-bottom: 30px;
}

[id^=HeaderSlideShowMobile-] .slideitem {
  display: block;
  aspect-ratio: 1/1;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.home-slider-largo [id^=HeaderSlideShow-].slick-dotted {
  margin-bottom: 0;
}

.home-slider-largo [id^=HeaderSlideShow-] > .slick-dots {
  position: static;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 24px;
  margin: 12px 0 0;
  padding: 0;
  line-height: 24px;
}

.checkout-main-content #meiosPagamento,
#meiosPagamento {
  --pag-cor: var(--cor-tema, #003b4b);
}
.checkout-main-content #meiosPagamento .formas-pagamento,
#meiosPagamento .formas-pagamento {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}
@media (min-width: 768px) {
  .checkout-main-content #meiosPagamento .formas-pagamento,
  #meiosPagamento .formas-pagamento {
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  }
}
.checkout-main-content #meiosPagamento .formaPagamentoForm,
#meiosPagamento .formaPagamentoForm {
  margin: 0;
}
.checkout-main-content #meiosPagamento .checkout-select-input.forma-pagamento,
#meiosPagamento .checkout-select-input.forma-pagamento {
  position: relative;
  display: block;
  height: 100% !important;
  min-height: 0;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #d9dee3 !important;
  border-radius: 12px;
  background: #fff;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}
.checkout-main-content #meiosPagamento .checkout-select-input.forma-pagamento:hover,
#meiosPagamento .checkout-select-input.forma-pagamento:hover {
  border-color: color-mix(in srgb, var(--pag-cor) 45%, #d9dee3) !important;
}
.checkout-main-content #meiosPagamento .checkout-select-input.forma-pagamento > input[type=radio],
#meiosPagamento .checkout-select-input.forma-pagamento > input[type=radio] {
  display: block !important;
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  pointer-events: none;
}
.checkout-main-content #meiosPagamento .checkout-select-input.forma-pagamento > label,
#meiosPagamento .checkout-select-input.forma-pagamento > label {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  width: 100%;
  height: 100%;
  margin: 0 !important;
  justify-content: center;
  min-height: 96px;
  padding: 16px 12px;
  color: #1b1f24;
}
.checkout-main-content #meiosPagamento .checkout-select-input.forma-pagamento > input[type=radio] + label::before,
#meiosPagamento .checkout-select-input.forma-pagamento > input[type=radio] + label::before {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 18px;
  height: 18px;
  margin: 0 !important;
  border: 2px solid #b7bec6 !important;
  background: #fff;
}
.checkout-main-content #meiosPagamento .checkout-select-input.forma-pagamento > input[type=radio]:checked + label::before,
#meiosPagamento .checkout-select-input.forma-pagamento > input[type=radio]:checked + label::before {
  border-color: var(--pag-cor) !important;
  background: radial-gradient(var(--pag-cor) 0%, var(--pag-cor) 38%, #fff 45%) !important;
}
.checkout-main-content #meiosPagamento .checkout-select-input.forma-pagamento > input[type=radio]:focus-visible + label,
#meiosPagamento .checkout-select-input.forma-pagamento > input[type=radio]:focus-visible + label {
  outline: 3px solid color-mix(in srgb, var(--pag-cor) 40%, #fff);
  outline-offset: 2px;
  border-radius: 12px;
}
.checkout-main-content #meiosPagamento .checkout-select-input.forma-pagamento:has(> input:checked),
#meiosPagamento .checkout-select-input.forma-pagamento:has(> input:checked) {
  border-color: var(--pag-cor) !important;
  background: color-mix(in srgb, var(--pag-cor) 6%, #fff);
}
.checkout-main-content #meiosPagamento .forma-pagamento-logo,
#meiosPagamento .forma-pagamento-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 64px;
}
.checkout-main-content #meiosPagamento .forma-pagamento-logo img,
#meiosPagamento .forma-pagamento-logo img {
  max-width: 100%;
  max-height: 100%;
  width: auto !important;
  height: auto !important;
  object-fit: contain;
}

.site-checkout #conteudo.reserved-checkout {
  --chk-raio: 12px;
}
.site-checkout #conteudo.reserved-checkout .navigation-row {
  margin: 24px 0 16px;
}
.site-checkout #conteudo.reserved-checkout .checkout-passos {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 4px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 14px;
  line-height: 20px;
}
.site-checkout #conteudo.reserved-checkout .checkout-passo {
  display: flex;
  align-items: center;
  color: var(--texto-suave);
}
.site-checkout #conteudo.reserved-checkout .checkout-passo form {
  display: contents;
}
.site-checkout #conteudo.reserved-checkout .checkout-passo a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: inherit;
  text-decoration: none;
}
.site-checkout #conteudo.reserved-checkout .checkout-passo a:hover {
  color: var(--cor);
  text-decoration: none;
}
.site-checkout #conteudo.reserved-checkout .checkout-passo > a, .site-checkout #conteudo.reserved-checkout .checkout-passo > span, .site-checkout #conteudo.reserved-checkout .checkout-passo > form > a {
  gap: 8px;
}
.site-checkout #conteudo.reserved-checkout .checkout-passo:not(:last-child)::after {
  content: "";
  width: 7px;
  height: 7px;
  margin: 0 12px 0 10px;
  border-top: 1.5px solid #b7bec6;
  border-right: 1.5px solid #b7bec6;
  transform: rotate(45deg);
}
.site-checkout #conteudo.reserved-checkout .checkout-passo:not(.feito):not(.atual) {
  display: flex;
  gap: 8px;
  min-height: 44px;
}
.site-checkout #conteudo.reserved-checkout .checkout-passo.atual {
  gap: 8px;
  min-height: 44px;
  font-weight: 600;
  color: var(--texto-forte);
}
.site-checkout #conteudo.reserved-checkout .checkout-passo-n {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 24px;
  height: 24px;
  border: 1.5px solid #c9cfd6;
  border-radius: 50%;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
}
.site-checkout #conteudo.reserved-checkout .checkout-passo.feito .checkout-passo-n {
  border-color: var(--cor);
  background: var(--cor-clara);
  color: var(--cor);
}
.site-checkout #conteudo.reserved-checkout .checkout-passo.atual .checkout-passo-n {
  border-color: var(--cor);
  background: var(--cor);
  color: #fff;
}
.site-checkout #conteudo.reserved-checkout .checkout-main-content {
  text-align: left;
}
.site-checkout #conteudo.reserved-checkout .checkout-main-content hr {
  display: none;
}
.site-checkout #conteudo.reserved-checkout .checkout-main-content .checkout-reserved {
  margin: 32px 0 0 !important;
}
.site-checkout #conteudo.reserved-checkout .checkout-main-content .content-separator {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  text-align: left;
}
.site-checkout #conteudo.reserved-checkout .checkout-main-content .content-separator h5,
.site-checkout #conteudo.reserved-checkout .checkout-main-content h5.w-100 {
  margin: 0 0 12px !important;
  font-size: 18px;
  font-weight: 600;
  line-height: 26px;
  color: var(--texto-forte);
}
.site-checkout #conteudo.reserved-checkout .checkout-main-content .content-separator small,
.site-checkout #conteudo.reserved-checkout .checkout-main-content .content-separator > p {
  display: block;
  margin: -4px 0 12px;
  font-size: 14px;
  line-height: 20px;
  color: var(--texto-suave);
}
.site-checkout #conteudo.reserved-checkout .checkout-main-content .for-inp-select,
.site-checkout #conteudo.reserved-checkout .checkout-main-content .pagar-agora,
.site-checkout #conteudo.reserved-checkout .checkout-main-content .pagar-cobranca,
.site-checkout #conteudo.reserved-checkout .checkout-main-content .entrega-domicilio,
.site-checkout #conteudo.reserved-checkout .checkout-main-content .entrega-farmacia {
  margin-bottom: 8px;
}
.site-checkout #conteudo.reserved-checkout #emailContacto .content-separator:nth-child(-n+2) {
  display: flex;
  align-items: center;
  margin-bottom: 8px !important;
}
.site-checkout #conteudo.reserved-checkout #emailContacto .content-separator:nth-child(-n+2) h5 {
  margin: 0 !important;
}
.site-checkout #conteudo.reserved-checkout #emailContacto .login-label {
  justify-content: flex-end;
  padding-top: 0 !important;
  text-align: right !important;
}
.site-checkout #conteudo.reserved-checkout #emailContacto .login-label small {
  margin: 0 !important;
}
.site-checkout #conteudo.reserved-checkout #emailContacto .form-label-group {
  margin-bottom: 12px;
}
.site-checkout #conteudo.reserved-checkout #emailContacto .input-group-btn {
  display: flex;
  justify-content: flex-end;
  float: none !important;
}
.site-checkout #conteudo.reserved-checkout #emailContacto .validate-email {
  height: auto !important;
  min-height: 48px;
  padding: 0 24px;
  border-radius: var(--raio-s);
}
.site-checkout #conteudo.reserved-checkout .checkout-main-content .checkout-select-input:not(.forma-pagamento) {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 56px;
  margin: 0 !important;
  padding: 12px 16px !important;
  border: 1px solid #d9dee3 !important;
  border-radius: var(--chk-raio);
  background: var(--superficie);
  text-align: left;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}
.site-checkout #conteudo.reserved-checkout .checkout-main-content .checkout-select-input:not(.forma-pagamento):hover {
  border-color: color-mix(in srgb, var(--cor) 45%, #d9dee3) !important;
}
.site-checkout #conteudo.reserved-checkout .checkout-main-content .checkout-select-input:not(.forma-pagamento) > label {
  display: flex !important;
  flex: 1;
  align-items: center;
  gap: 0;
  margin: 0 !important;
  font-size: 15px;
  line-height: 22px;
  color: var(--texto-forte) !important;
}
.site-checkout #conteudo.reserved-checkout .checkout-main-content .checkout-select-input:not(.forma-pagamento) > label .define-max-2-lines {
  display: block;
}
.site-checkout #conteudo.reserved-checkout .checkout-main-content .checkout-select-input:not(.forma-pagamento) > input[type=radio] + *::before {
  flex: none;
  width: 18px;
  height: 18px;
  margin: 0 14px 0 0 !important;
  border: 2px solid #b7bec6 !important;
  background: #fff;
}
.site-checkout #conteudo.reserved-checkout .checkout-main-content .checkout-select-input:not(.forma-pagamento) > input[type=radio]:checked + *::before {
  border-color: var(--cor) !important;
  background: radial-gradient(var(--cor) 0%, var(--cor) 38%, #fff 45%) !important;
}
.site-checkout #conteudo.reserved-checkout .checkout-main-content .checkout-select-input:not(.forma-pagamento):has(> input:checked) {
  border-color: var(--cor) !important;
  background: var(--cor-clara);
}
.site-checkout #conteudo.reserved-checkout .checkout-opcao-icone {
  width: 22px;
  margin-right: 10px;
  font-size: 16px;
  color: var(--cor);
  text-align: center;
}
.site-checkout #conteudo.reserved-checkout .recolha-loja-info {
  display: block;
  margin: 0;
  padding: 6px 0 0 !important;
  text-align: left !important;
  font-size: 14px;
  line-height: 20px;
  color: var(--texto-suave);
}
.site-checkout #conteudo.reserved-checkout .pagar-cobranca .checkout-select-input {
  margin-bottom: 0 !important;
}
.site-checkout #conteudo.reserved-checkout .lojas-recolha {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 8px 0 0 24px;
  padding: 4px 0 4px 16px;
  border-left: 2px solid var(--borda);
}
.site-checkout #conteudo.reserved-checkout .lojas-recolha .checkout-select-input:not(.forma-pagamento) {
  min-height: 0;
  padding: 10px 14px !important;
  border-radius: 10px;
}
.site-checkout #conteudo.reserved-checkout .lojas-recolha label {
  font-size: 15px;
  line-height: 22px;
}
.site-checkout #conteudo.reserved-checkout .lojas-recolha label small {
  margin-top: 2px;
  font-size: 13px;
  line-height: 18px;
  color: var(--texto-suave) !important;
}
.site-checkout #conteudo.reserved-checkout .lojas-recolha + .recolha-loja-info {
  padding-top: 8px !important;
}
.site-checkout #conteudo.reserved-checkout .checkout-moradas-botao {
  margin-top: 8px;
  padding-right: 0;
}
.site-checkout #conteudo.reserved-checkout .checkout-moradas-botao + .checkout-moradas-botao {
  padding-left: 8px;
}
.site-checkout #conteudo.reserved-checkout .checkout-moradas-botao .btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 16px;
  white-space: nowrap;
}
.site-checkout #conteudo.reserved-checkout .btn-outline-primary {
  border-color: var(--borda);
  background: var(--superficie);
  color: var(--cor);
}
.site-checkout #conteudo.reserved-checkout .btn-outline-primary:hover,
.site-checkout #conteudo.reserved-checkout .btn-outline-primary:focus-visible {
  border-color: var(--cor);
  background: var(--cor-clara);
  color: var(--cor);
}
.site-checkout #conteudo.reserved-checkout .go-back-step.btn,
.site-checkout #conteudo.reserved-checkout .next-step-btn {
  height: auto !important;
  min-height: 48px;
  padding: 0 24px;
  border-radius: var(--raio-s);
}
.site-checkout #conteudo.reserved-checkout .row.pt-5 {
  padding-top: 32px !important;
}
.site-checkout #conteudo.reserved-checkout #meiosPagamento {
  margin-bottom: 0 !important;
}
.site-checkout #conteudo.reserved-checkout .checkout-info-adicional {
  margin-top: 32px;
}
.site-checkout #conteudo.reserved-checkout .checkout-info-adicional .form-group {
  margin-bottom: 0;
}
.site-checkout #conteudo.reserved-checkout .checkout-info-adicional textarea {
  min-height: 96px;
  resize: vertical;
}
.site-checkout #conteudo.reserved-checkout .checkout-finalizar {
  margin-top: 24px;
}
.site-checkout #conteudo.reserved-checkout .checkout-termos {
  padding-top: 24px;
  border-top: 1px solid var(--borda);
}
.site-checkout #conteudo.reserved-checkout .checkout-finalizar + .row.pt-3 {
  padding-top: 12px !important;
}
.site-checkout #conteudo.reserved-checkout .checkout-termos {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 16px;
  font-size: 15px;
  line-height: 22px;
  text-align: left;
}
.site-checkout #conteudo.reserved-checkout .checkout-termos input {
  flex: none;
  width: 20px;
  height: 20px;
  margin-top: 1px;
  cursor: pointer;
  accent-color: var(--cor);
}
.site-checkout #conteudo.reserved-checkout .checkout-termos label {
  margin: 0;
  cursor: pointer;
}
.site-checkout #conteudo.reserved-checkout .checkout-finalizar-botao .btn-finalizar-encomenda {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 52px;
  margin: 0 !important;
  padding: 12px 24px;
  border-radius: var(--raio-s);
  font-size: 16px;
  font-weight: 600;
  white-space: normal;
}
.site-checkout #conteudo.reserved-checkout .checkout-summary h5,
.site-checkout #conteudo.reserved-checkout .checkout-summary .h5 {
  font-size: 18px;
  font-weight: 600;
  line-height: 26px;
}
.site-checkout #conteudo.reserved-checkout .checkout-summary .product-line img {
  border-radius: var(--raio-s);
}
@media (max-width: 575.98px) {
  .site-checkout #conteudo.reserved-checkout .checkout-passo:not(.atual) .checkout-passo-txt {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }
  .site-checkout #conteudo.reserved-checkout .checkout-passo:not(:last-child)::after {
    margin: 0 8px 0 6px;
  }
  .site-checkout #conteudo.reserved-checkout .checkout-moradas-botao,
  .site-checkout #conteudo.reserved-checkout .checkout-moradas-botao + .checkout-moradas-botao {
    flex: 0 0 100%;
    max-width: 100%;
    padding-left: 15px;
    padding-right: 15px;
  }
  .site-checkout #conteudo.reserved-checkout .checkout-moradas-botao .btn {
    width: 100%;
    justify-content: center;
  }
  .site-checkout #conteudo.reserved-checkout .go-back-step.btn,
  .site-checkout #conteudo.reserved-checkout .next-step-btn {
    padding: 0 20px;
  }
}

:root {
  --cor: var(--cor-tema, var(--primary));
  --cor-clara: color-mix(in srgb, var(--cor) 7%, #fff);
  --seccao-espaco: 64px;
  --cartao-espaco: 32px;
  --raio-s: 8px;
  --raio-m: 16px;
  --cartao-raio: var(--raio-m);
  --t-pequeno: 14px;
  --t-pequeno-a: 20px;
  --t-legenda: 15px;
  --t-legenda-a: 24px;
  --t-corpo: 17px;
  --t-corpo-a: 28px;
  --t-cartao: 18px;
  --t-cartao-a: 24px;
  --t-seccao: 28px;
  --t-seccao-a: 36px;
  --t-pagina: 40px;
  --t-pagina-a: 48px;
  --t-topo: 30px;
  --t-topo-a: 36px;
  --t-destaque: 44px;
  --t-destaque-a: 52px;
  --cartao-sombra: 0 4px 14px -4px rgba(16, 24, 40, 0.14);
  --cartao-sombra-hover: 0 12px 22px -6px rgba(16, 24, 40, 0.22);
  --cartao-transicao: transform 0.3s cubic-bezier(0.2, 0.7, 0.3, 1), box-shadow 0.3s ease;
  --texto-suave: #5b6670;
  --texto-forte: #1b1f24;
}

@media (max-width: 991.98px) {
  :root {
    --seccao-espaco: 56px;
    --cartao-espaco: 24px;
  }
}
@media (max-width: 767.98px) {
  :root {
    --seccao-espaco: 40px;
    --cartao-espaco: 16px;
    --t-seccao: 24px;
    --t-seccao-a: 32px;
    --t-pagina: 32px;
    --t-pagina-a: 40px;
    --t-topo: 24px;
    --t-topo-a: 32px;
    --t-destaque: 32px;
    --t-destaque-a: 40px;
  }
}
@media (max-width: 575.98px) {
  body .container {
    padding-right: 20px;
    padding-left: 20px;
  }
}
.home-seccao {
  padding: calc(var(--seccao-espaco) / 2) 0;
}
.home-seccao:first-child {
  padding-top: 24px;
}
.home-seccao h2.sectiontitle {
  display: block;
  margin: 0 0 32px;
  padding: 0;
  background: none;
  border: 0;
  white-space: normal;
  text-align: left;
  font-size: var(--t-seccao);
  font-weight: 600;
  line-height: var(--t-seccao-a);
  letter-spacing: -0.01em;
  text-transform: none;
  text-wrap: balance;
  color: var(--texto-forte);
}
.home-seccao h2.sectiontitle::before, .home-seccao h2.sectiontitle::after {
  content: none;
  display: none;
}
.home-seccao h2.sectiontitle a,
.home-seccao h2.sectiontitle span {
  display: inline;
  padding: 0;
  background: none;
  white-space: normal;
  color: inherit;
  text-decoration: none;
}
.home-seccao h2.sectiontitle a:hover {
  color: var(--cor);
}

.home-seccao-slider {
  padding-top: 0;
}
.home-seccao-slider .home-banner {
  margin-top: 24px;
}

.home-seccao .productList.slick-slider {
  margin-bottom: calc(-15px - 0.5rem);
}

.site-publico .productList .slick-track {
  margin-left: 0;
  margin-right: 0;
}

@media (min-width: 1025px) {
  .home-seccao .productList.slick-slider,
  .produto-relacionados .productList.slick-slider {
    margin-left: -8px;
    margin-right: -8px;
  }
  .home-seccao-maisvendidos .productList.slick-slider > .slick-list {
    clip-path: inset(-16px 0 -32px 1px);
  }
}
.home-slider-largo #HeaderSlideShow .slideitem {
  height: auto;
  max-height: 560px;
  aspect-ratio: 1080/350;
  background-size: contain;
}

#HeaderSlideShow:not(.slick-initialized) > .slideitem + .slideitem,
#HeaderSlideShowMobile:not(.slick-initialized) > .slideitem + .slideitem {
  display: none;
}

#HeaderSlideShow:not(.slick-initialized),
#HeaderSlideShowMobile:not(.slick-initialized) {
  margin-bottom: 30px;
}

.home-slider-telemovel {
  display: none;
}

#HeaderSlideShowMobile .slideitem {
  display: block;
  aspect-ratio: 1/1;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

@media (max-width: 575.98px) {
  .home-slider-largo.so-largo {
    display: none;
  }
  .home-slider-telemovel {
    display: block;
  }
  #topheader .brandContent {
    padding: 10px 0 !important;
  }
  #topheader .brandContent .logo {
    max-height: 32px;
    width: auto;
  }
}
.turnos-telemovel {
  display: none;
}

@media (max-width: 575.98px) {
  .home-seccao-turnos .so-largo {
    display: none;
  }
  .turnos-telemovel {
    display: block;
  }
}
.turnos-telemovel .turnos-slider img {
  aspect-ratio: 1/1;
}

.home-seccao-cartoes {
  margin: 0;
  padding: calc(var(--seccao-espaco) * 0.75) 0;
  background: var(--cor-clara);
}

.home-seccao-info {
  padding: 32px 0;
}

.faixa-info {
  display: grid;
  grid-auto-columns: minmax(0, 1fr);
  grid-auto-flow: column;
  margin: 0;
  padding: 0;
  border: 1px solid var(--borda);
  border-radius: var(--raio-m);
  background: #fff;
  list-style: none;
}

.faixa-info-item + .faixa-info-item {
  border-left: 1px solid var(--borda);
}

.faixa-info-conteudo {
  display: flex;
  align-items: center;
  gap: 16px;
  height: 100%;
  padding: 20px 24px;
  color: var(--texto-suave);
  text-decoration: none;
}

a.faixa-info-conteudo:hover,
a.faixa-info-conteudo:focus-visible {
  background: var(--cor-clara);
  color: var(--texto-suave);
  text-decoration: none;
}

.faixa-info-item:first-child .faixa-info-conteudo {
  border-radius: var(--raio-m) 0 0 var(--raio-m);
}

.faixa-info-item:last-child .faixa-info-conteudo {
  border-radius: 0 var(--raio-m) var(--raio-m) 0;
}

.faixa-info-icone {
  display: inline-flex;
  flex: 0 0 48px;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--cor-clara);
  color: var(--cor);
  font-size: 20px;
}

.faixa-info-texto {
  min-width: 0;
  font-size: 14px;
  line-height: 20px;
}
.faixa-info-texto p {
  margin: 0;
}
.faixa-info-texto p:first-child,
.faixa-info-texto strong {
  color: var(--texto-forte);
  font-size: 15px;
  font-weight: 600;
  text-transform: none;
}

@media (max-width: 767.98px) {
  .home-seccao-info {
    padding: 24px 0;
  }
  .faixa-info {
    grid-auto-columns: 78%;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .faixa-info::-webkit-scrollbar {
    display: none;
  }
  .faixa-info-item {
    scroll-snap-align: start;
  }
  .faixa-info-conteudo {
    padding: 16px 20px;
  }
}
.home-seccao-rodape {
  color: var(--texto-suave);
}

.home-largo {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 24px;
}
@media (max-width: 575.98px) {
  .home-largo {
    padding: 0 20px;
  }
}

.turnos-slider img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16/5;
  border-radius: var(--raio-m);
  max-height: 560px;
  object-fit: cover;
}
.turnos-slider:not(.slick-initialized) .turnos-slide + .turnos-slide {
  display: none;
}
.turnos-slider.slick-dotted.slick-slider, .turnos-slider:not(.slick-initialized) {
  margin-bottom: 40px;
}
.turnos-slider .slick-dots {
  bottom: -36px;
}
.turnos-slider .slick-dots li,
.turnos-slider .slick-dots li button {
  width: 24px;
  height: 24px;
}
.turnos-slider .slick-dots li {
  margin: 0 4px;
}
.turnos-slider .slick-dots li button::before {
  width: 24px;
  height: 24px;
  line-height: 24px;
}

.carrossel {
  --carrossel-colunas: 4;
  --carrossel-espaco: var(--cartao-espaco);
}

.carrossel-servicos,
.carrossel-farmacias {
  --carrossel-colunas: 3;
}

@media (max-width: 991.98px) {
  .carrossel {
    --carrossel-colunas: 2;
  }
}
@media (max-width: 575.98px) {
  .carrossel {
    --carrossel-colunas: 1.18;
  }
}
.carrossel-fila {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - (var(--carrossel-colunas) - 1) * var(--carrossel-espaco)) / var(--carrossel-colunas));
  gap: var(--carrossel-espaco);
  margin: -12px -12px -32px;
  padding: 12px 12px 32px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: 12px;
  scrollbar-width: none;
}
.carrossel-fila::-webkit-scrollbar {
  display: none;
}

.carrossel-item {
  display: flex;
  scroll-snap-align: start;
}
.carrossel-item > * {
  flex: 1;
  min-width: 0;
}

.carrossel-setas {
  display: none;
  position: relative;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 16px;
}

.carrossel-com-mais .carrossel-setas {
  display: flex;
}

.carrossel-seta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid #d5dbe0;
  border-radius: 50%;
  background: #fff;
  color: var(--texto-forte);
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.carrossel-seta:hover:not(:disabled) {
  border-color: var(--cor);
  background: var(--cor);
  color: #fff;
}
.carrossel-seta:disabled {
  opacity: 0.35;
  cursor: default;
}
.carrossel-seta:focus-visible {
  outline: 3px solid var(--cor) !important;
  outline-offset: 2px;
}

@media (max-width: 575.98px) {
  .carrossel-com-mais .carrossel-setas {
    display: none;
  }
}
.servico-cartao {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-align: left;
  font-size: 1rem;
  font-weight: 400;
  background: #fff;
  border-radius: var(--cartao-raio);
  overflow: hidden;
  box-shadow: var(--cartao-sombra);
  transition: var(--cartao-transicao);
}
.servico-cartao a:focus-visible,
.servico-cartao .btn:focus-visible {
  outline: 3px solid var(--cor) !important;
  outline-offset: 2px;
}

.servico-cartao-destaque {
  outline: 3px solid var(--cor) !important;
  outline-offset: 0;
}

.servico-cartao-imagem {
  display: block;
  aspect-ratio: 4/3;
  overflow: hidden;
  background: #eef2f4;
}
.servico-cartao-imagem img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.servico-cartao-sem-imagem {
  display: flex;
  width: 100%;
  height: 100%;
  min-height: 160px;
  align-items: center;
  justify-content: center;
  font-size: 48px;
  color: var(--cor);
  opacity: 0.35;
}

.servico-cartao-corpo {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 28px 28px 28px;
}

.servico-cartao-titulo {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: calc(2 * var(--t-cartao-a));
  margin: 0 0 12px;
  font-size: var(--t-cartao);
  font-weight: 600;
  line-height: var(--t-cartao-a);
}
@media (max-width: 575.98px) {
  .servico-cartao-titulo {
    display: block;
    min-height: 0;
  }
}
.servico-cartao-titulo a {
  color: var(--texto-forte);
  text-decoration: none;
}
.servico-cartao-titulo a:hover {
  color: var(--cor);
}

.servico-cartao-legenda {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0 0 24px;
  font-size: var(--t-legenda);
  line-height: var(--t-legenda-a);
  color: var(--texto-suave);
}

.servico-cartao-botoes {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: auto;
}
.servico-cartao-botoes .btn {
  flex: 1 1 0;
}

.btn.servico-cartao-mais,
.btn.servico-cartao-agendar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 8px 16px;
  border-radius: var(--raio-s);
  font-weight: 500;
  white-space: nowrap;
}

.btn.servico-cartao-mais {
  border: 1px solid var(--cor);
  background: #fff;
  color: var(--cor);
}
.btn.servico-cartao-mais:hover {
  background: rgba(0, 0, 0, 0.03);
  color: var(--cor);
}

.btn.servico-cartao-agendar {
  border: 1px solid var(--cor);
  background: var(--cor);
  color: #fff;
}
.btn.servico-cartao-agendar:hover {
  color: #fff;
  filter: brightness(1.1);
}

.pagina-banner img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 480px;
  object-fit: cover;
}

.pagina-topo {
  padding: 24px 0 28px;
}
@media (max-width: 767.98px) {
  .pagina-topo {
    padding: 16px 0 20px;
  }
}
.pagina-topo {
  background: var(--cor-clara);
  border-bottom: 1px solid color-mix(in srgb, var(--cor) 12%, #fff);
}

.pagina-topo-corpo {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 20px 40px;
}

.btn.pagina-topo-acao {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 20px;
  border-radius: var(--raio-s);
  font-size: var(--t-pequeno);
  font-weight: 500;
}

.pagina-topo-acoes {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.pagina-topo-acoes:empty {
  display: none;
}

.btn.pagina-topo-acao-secundaria {
  border: 1px solid var(--cor);
  background: #fff;
  color: var(--cor);
}
.btn.pagina-topo-acao-secundaria:hover {
  background: var(--cor-clara);
  color: var(--cor);
}

.pagina-topo-titulo {
  margin: 0;
  font-size: var(--t-topo);
  font-weight: 600;
  line-height: var(--t-topo-a);
  letter-spacing: -0.01em;
  text-wrap: balance;
  color: var(--texto-forte);
}

.pagina-topo-intro {
  max-width: 680px;
  margin: 8px 0 0;
  font-size: var(--t-legenda);
  line-height: var(--t-legenda-a);
  color: var(--texto-suave);
}
.pagina-topo-intro p:last-child {
  margin-bottom: 0;
}

.servicos-pagina {
  padding-top: calc(var(--seccao-espaco) * 0.6);
  padding-bottom: var(--seccao-espaco);
}

.servicos-grelha {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--cartao-espaco);
}
@media (max-width: 991.98px) {
  .servicos-grelha {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 575.98px) {
  .servicos-grelha {
    grid-template-columns: minmax(0, 1fr);
  }
}

.pagina-topo .breadcrumb,
.servico-detalhe .breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0 0 12px;
  padding: 0;
  background: none;
  font-size: var(--t-pequeno);
  line-height: var(--t-pequeno-a);
}
.pagina-topo .breadcrumb li,
.servico-detalhe .breadcrumb li {
  min-width: 0;
  margin: 0;
  list-style: none;
  color: var(--texto-suave);
}
.pagina-topo .breadcrumb li + li::before,
.servico-detalhe .breadcrumb li + li::before {
  content: "›";
  margin: 0 10px;
  color: #9aa4ad;
}
.pagina-topo .breadcrumb a,
.servico-detalhe .breadcrumb a {
  display: inline-block;
  margin: -12px 0;
  padding: 12px 0;
  color: var(--texto-suave);
  text-decoration: none;
}
.pagina-topo .breadcrumb a:hover,
.servico-detalhe .breadcrumb a:hover {
  color: var(--cor);
}
.pagina-topo .breadcrumb li.active a,
.servico-detalhe .breadcrumb li.active a {
  color: var(--texto-forte);
  pointer-events: none;
}

.servico-detalhe {
  padding-top: 24px;
  padding-bottom: calc(var(--seccao-espaco) / 2);
}

.servico-detalhe-partilha {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: var(--t-pequeno);
  color: var(--texto-suave);
}
.servico-detalhe-partilha span {
  margin-right: 4px;
}
.servico-detalhe-partilha a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid #d5dbe0;
  border-radius: 50%;
  color: var(--texto-forte);
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.servico-detalhe-partilha a i {
  padding: 0;
  font-size: 16px;
  line-height: 1;
}
.servico-detalhe-partilha a:hover, .servico-detalhe-partilha a:focus-visible {
  border-color: var(--cor);
  background: var(--cor);
  color: #fff;
}

.servico-detalhe-topo {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: 40px;
  align-items: start;
  margin-top: 16px;
}
@media (max-width: 767.98px) {
  .servico-detalhe-topo {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
}

.servico-detalhe-imagem {
  border-radius: var(--cartao-raio);
  overflow: hidden;
  background: #eef2f4;
  aspect-ratio: 4/3;
}
.servico-detalhe-imagem img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.servico-detalhe-titulo {
  margin: 0 0 16px;
  font-size: var(--t-pagina);
  font-weight: 600;
  line-height: var(--t-pagina-a);
  letter-spacing: -0.01em;
  text-wrap: balance;
  color: var(--texto-forte);
}

.servico-detalhe-legenda {
  margin: 0 0 32px;
  font-size: var(--t-corpo);
  line-height: var(--t-corpo-a);
  color: var(--texto-suave);
}

.servico-detalhe-botoes {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 24px;
}
.servico-detalhe-botoes .btn {
  min-width: 180px;
}

.servico-detalhe-descricao {
  max-width: 860px;
  margin-top: 40px;
  padding-top: 32px;
  border-top: 1px solid #e6eaed;
  font-size: 16px;
  line-height: 28px;
}

.cartoes-pub-cabecalho {
  max-width: 720px;
  margin-bottom: 40px;
}

.cartoes-pub-etiqueta {
  display: block;
  margin-bottom: 12px;
  padding: 0;
  font-size: var(--t-pequeno);
  font-weight: 500;
  line-height: var(--t-pequeno-a);
  letter-spacing: normal;
  text-transform: none;
  color: var(--texto-suave);
}

.cartoes-pub-titulo {
  margin: 0;
  font-size: var(--t-pagina);
  font-weight: 600;
  line-height: var(--t-pagina-a);
  letter-spacing: -0.01em;
  text-wrap: balance;
  color: var(--texto-forte);
}

.cartoes-pub-texto {
  margin-top: 16px;
  font-size: var(--t-corpo);
  line-height: var(--t-corpo-a);
  color: var(--texto-suave);
}
.cartoes-pub-texto p:last-child {
  margin-bottom: 0;
}

.cartao-pub {
  position: relative;
  display: block;
  aspect-ratio: 3/4;
  border-radius: var(--raio-m);
  overflow: hidden;
  background: #2b3137;
  color: #fff;
  scroll-snap-align: start;
  box-shadow: var(--cartao-sombra);
  transition: box-shadow 0.25s ease;
}
.cartao-pub img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.cartao-pub:hover {
  box-shadow: var(--cartao-sombra-hover);
}
.cartao-pub:hover img {
  transform: scale(1.06);
}
.cartao-pub:hover .cartao-pub-seta {
  transform: rotate(-45deg);
}
.cartao-pub:focus-visible {
  outline: 3px solid var(--cor) !important;
  outline-offset: 3px;
}

.cartao-pub-tag {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 1;
  max-width: calc(100% - 32px);
  overflow: hidden;
  padding: 4px 12px;
  border-radius: 999px;
  background: #fff;
  color: var(--texto-forte, #1d2b33);
  font-size: 12px;
  font-weight: 600;
  line-height: 18px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cartao-pub-rodape {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  padding: 64px 20px 20px;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0));
}

.cartao-pub-nome {
  font-size: var(--t-cartao);
  font-weight: 600;
  line-height: var(--t-cartao-a);
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #fff;
}

.cartao-pub-seta {
  display: flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #fff;
  color: var(--texto-forte);
  transition: transform 0.25s ease;
}

.farmacia-cartao {
  display: flex;
  flex-direction: column;
  height: 100%;
  border-radius: var(--cartao-raio);
  overflow: hidden;
  background: #fff;
  color: var(--texto-forte);
  text-decoration: none;
  box-shadow: var(--cartao-sombra);
  transition: var(--cartao-transicao);
}
.farmacia-cartao:hover, .farmacia-cartao:focus-visible {
  color: var(--texto-forte);
  text-decoration: none;
}
.farmacia-cartao:focus-visible {
  outline: 3px solid var(--cor) !important;
  outline-offset: 2px;
}

.farmacia-cartao-imagem {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 16/10;
  overflow: hidden;
  background: #eef2f4;
  font-size: 44px;
  color: var(--cor);
}
.farmacia-cartao-imagem img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.farmacia-cartao-corpo {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 8px;
  padding: 24px 28px 28px;
}

.farmacia-cartao-titulo {
  font-size: var(--t-cartao);
  font-weight: 600;
  line-height: var(--t-cartao-a);
}

.farmacia-cartao-morada {
  font-size: var(--t-legenda);
  line-height: var(--t-legenda-a);
  color: var(--texto-suave);
}

.farmacia-cartao-ver {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  padding-top: 8px;
  font-weight: 500;
  color: var(--cor);
}
.farmacia-cartao-ver i {
  font-size: 0.8em;
  transition: transform 0.25s ease;
}

@media (hover: hover) {
  .servico-cartao:hover,
  .farmacia-cartao:hover {
    transform: translateY(-4px);
    box-shadow: var(--cartao-sombra-hover);
  }
  .servico-cartao:hover .servico-cartao-imagem img,
  .farmacia-cartao:hover .farmacia-cartao-imagem img {
    transform: scale(1.04);
  }
  .farmacia-cartao:hover .farmacia-cartao-ver i {
    transform: translateX(4px);
  }
}
@media (prefers-reduced-motion: reduce) {
  .servico-cartao,
  .farmacia-cartao,
  .servico-cartao-imagem img,
  .farmacia-cartao-imagem img,
  .cartao-pub img,
  .cartao-pub-seta,
  .farmacia-cartao-ver i {
    transition: none;
  }
  .servico-cartao:hover,
  .farmacia-cartao:hover,
  .servico-cartao:hover .servico-cartao-imagem img,
  .farmacia-cartao:hover .farmacia-cartao-imagem img,
  .cartao-pub:hover img,
  .cartao-pub:hover .cartao-pub-seta,
  .farmacia-cartao:hover .farmacia-cartao-ver i {
    transform: none;
  }
}
.campo-obrigatorio {
  margin-left: 4px;
  font-weight: 400;
  color: var(--texto-suave);
}

.estado-vazio,
#listpage .content .no-products.estado-vazio {
  display: block;
  height: auto;
  padding: 48px 24px;
  border: 1px dashed color-mix(in srgb, var(--cor) 25%, #fff);
  border-radius: var(--raio-m);
  text-align: center;
  font-size: var(--t-legenda);
  line-height: var(--t-legenda-a);
  color: var(--texto-suave);
}
.estado-vazio > i,
#listpage .content .no-products.estado-vazio > i {
  display: block;
  margin-bottom: 12px;
  font-size: 32px;
  color: var(--cor);
}
.estado-vazio p,
#listpage .content .no-products.estado-vazio p {
  max-width: 480px;
  margin: 0 auto;
}
.estado-vazio .btn.estado-vazio-acao,
#listpage .content .no-products.estado-vazio .btn.estado-vazio-acao {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  margin-top: 20px;
  padding: 0 20px;
  border-radius: var(--raio-s);
  font-size: var(--t-pequeno);
}
.estado-vazio .estado-vazio-titulo,
#listpage .content .no-products.estado-vazio .estado-vazio-titulo {
  margin-bottom: 4px;
  font-size: var(--t-cartao);
  font-weight: 600;
  line-height: var(--t-cartao-a);
  color: var(--texto-forte);
}
@media (max-width: 575.98px) {
  .estado-vazio,
  #listpage .content .no-products.estado-vazio {
    padding: 32px 20px;
  }
}

#topheader .usercart ul.shop-nav {
  gap: 8px;
  margin: 0;
}
#topheader .usercart ul.shop-nav > li {
  display: flex;
  align-items: center;
  padding: 0 !important;
  border: 0 !important;
}
#topheader .usercart ul.shop-nav > li > a,
#topheader .usercart ul.shop-nav > li > .dropdown > a {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 !important;
  border: 0;
  line-height: 1;
}
#topheader .usercart ul.shop-nav > li i,
#topheader .usercart ul.shop-nav > li .fa {
  padding: 0;
  font-size: 22px;
}
#topheader .usercart ul.shop-nav .badge-card-items {
  position: absolute;
  top: 2px;
  right: -4px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 9px;
  font-size: 11px;
  line-height: 18px;
}
#topheader .usercart ul.shop-nav li.cabecalho-botao a.btn:link,
#topheader .usercart ul.shop-nav li.cabecalho-botao a.btn:visited,
#topheader .usercart ul.shop-nav li.cabecalho-botao a.btn:hover {
  min-width: 0;
  min-height: 40px;
  height: 40px;
  padding: 0 16px !important;
  font-size: var(--t-pequeno);
  color: #fff;
}
#topheader .usercart ul.shop-nav li.cabecalho-receitas a.btn:link,
#topheader .usercart ul.shop-nav li.cabecalho-receitas a.btn:visited {
  border: 1px solid var(--cor);
  background: #fff;
  color: var(--cor);
}
#topheader .usercart ul.shop-nav li.cabecalho-receitas a.btn:hover {
  border: 1px solid var(--cor);
  background: var(--cor-clara);
  color: var(--cor);
}
#topheader .usercart ul.shop-nav li.cabecalho-botao + li.shopuser {
  margin-left: 8px;
}

#topheader .usercart ul.shop-nav .dropdown-cart.mini-carrinho {
  left: auto !important;
  right: -8px;
  width: 360px;
  margin-top: 12px;
  padding: 0;
  overflow: hidden;
  border: 1px solid #e3e8eb;
  border-radius: var(--raio-m);
  background: #fff;
  box-shadow: 0 16px 40px -12px rgba(16, 24, 40, 0.28);
  text-align: left;
}
#topheader .usercart ul.shop-nav .dropdown-cart.mini-carrinho li {
  list-style: none;
}

.mini-carrinho-cabecalho {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding: 16px 20px 12px;
  font-size: var(--t-cartao);
  font-weight: 600;
  color: var(--texto-forte);
}

.mini-carrinho-contagem {
  font-size: var(--t-pequeno);
  font-weight: 400;
  color: var(--texto-suave);
}

.mini-carrinho-lista > ul {
  max-height: 280px;
  margin: 0;
  padding: 0 20px;
  overflow-y: auto;
}

.mini-carrinho-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  border-top: 1px solid #eef1f3;
}

.mini-carrinho-foto {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: var(--raio-s);
  background: #f5f7f8;
}
.mini-carrinho-foto img {
  max-width: 48px;
  max-height: 48px;
  object-fit: contain;
}

.mini-carrinho-info {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

#topheader .usercart ul.shop-nav .mini-carrinho-nome,
#topheader .usercart ul.shop-nav .mini-carrinho-nome:link,
#topheader .usercart ul.shop-nav .mini-carrinho-nome:visited {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: var(--t-pequeno);
  font-weight: 500;
  line-height: var(--t-pequeno-a);
  color: var(--texto-forte);
}

.mini-carrinho-qtd {
  font-size: var(--t-pequeno);
  line-height: var(--t-pequeno-a);
  color: var(--texto-suave);
  font-variant-numeric: tabular-nums;
}

.mini-carrinho-total {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding: 14px 20px;
  border-top: 1px solid #eef1f3;
  background: var(--cor-clara);
  font-size: var(--t-legenda);
  color: var(--texto-forte);
}
.mini-carrinho-total strong {
  font-size: var(--t-cartao);
  font-variant-numeric: tabular-nums;
}

.mini-carrinho-acoes {
  display: grid;
  gap: 8px;
  padding: 0 20px 20px;
  background: var(--cor-clara);
}

#topheader .usercart ul.shop-nav .mini-carrinho-acoes .btn,
#topheader .usercart ul.shop-nav .mini-carrinho-vazio .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  border-radius: var(--raio-s);
  font-size: var(--t-pequeno);
  font-weight: 500;
}

#topheader .usercart ul.shop-nav .mini-carrinho-acoes .btn-primary:link,
#topheader .usercart ul.shop-nav .mini-carrinho-acoes .btn-primary:visited {
  border-color: var(--cor);
  background: var(--cor);
  color: #fff;
}

#topheader .usercart ul.shop-nav .mini-carrinho .btn-outline-primary:link,
#topheader .usercart ul.shop-nav .mini-carrinho .btn-outline-primary:visited {
  border: 1px solid var(--cor);
  background: #fff;
  color: var(--cor);
}

.mini-carrinho-vazio {
  padding: 28px 20px 24px;
  text-align: center;
}
.mini-carrinho-vazio > i {
  display: block;
  margin-bottom: 8px;
  font-size: 28px;
  color: var(--cor);
}

.mini-carrinho-vazio-titulo {
  margin: 0 0 16px;
  font-weight: 600;
  color: var(--texto-forte);
}

#topheader .usercart ul.shop-nav .dropdown-user.menu-conta {
  left: auto !important;
  right: -8px;
  width: 280px;
  margin-top: 12px;
  padding: 8px;
  border: 1px solid #e3e8eb;
  border-radius: var(--raio-m);
  background: #fff;
  box-shadow: 0 16px 40px -12px rgba(16, 24, 40, 0.28);
  text-align: left;
}
#topheader .usercart ul.shop-nav .dropdown-user.menu-conta li {
  list-style: none;
}
#topheader .usercart ul.shop-nav .dropdown-user.menu-conta .dropdown-item {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 40px;
  padding: 8px 12px;
  border-radius: var(--raio-s);
  font-size: var(--t-pequeno);
  line-height: var(--t-pequeno-a);
  color: var(--texto-forte);
  white-space: normal;
}
#topheader .usercart ul.shop-nav .dropdown-user.menu-conta .dropdown-item::before {
  flex: none;
  width: 18px;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 14px;
  text-align: center;
  color: var(--cor);
  content: "\f105";
}
#topheader .usercart ul.shop-nav .dropdown-user.menu-conta .dropdown-item[href$="/account"]::before {
  content: "\f007";
}
#topheader .usercart ul.shop-nav .dropdown-user.menu-conta .dropdown-item[href$="/prescription"]::before {
  content: "\f15c";
}
#topheader .usercart ul.shop-nav .dropdown-user.menu-conta .dropdown-item[href$="/orders"]::before {
  content: "\f466";
}
#topheader .usercart ul.shop-nav .dropdown-user.menu-conta .dropdown-item[href$="/historic"]::before {
  content: "\f1da";
}
#topheader .usercart ul.shop-nav .dropdown-user.menu-conta .dropdown-item[href$="/checking-account"]::before {
  content: "\f53a";
}
#topheader .usercart ul.shop-nav .dropdown-user.menu-conta .dropdown-item[href$="/suspended-sales"]::before {
  content: "\f017";
}
#topheader .usercart ul.shop-nav .dropdown-user.menu-conta .dropdown-item[href$="/parameters"]::before {
  content: "\f21e";
}
#topheader .usercart ul.shop-nav .dropdown-user.menu-conta .dropdown-item[href$="/clinical-record"]::before {
  content: "\f0f8";
}
#topheader .usercart ul.shop-nav .dropdown-user.menu-conta .dropdown-item[href$="/os-meus-agendamentos"]::before {
  content: "\f073";
}
#topheader .usercart ul.shop-nav .dropdown-user.menu-conta .dropdown-item[href$="/wishlist"]::before {
  content: "\f004";
}
#topheader .usercart ul.shop-nav .dropdown-user.menu-conta .dropdown-item[href$="/logout"]::before {
  content: "\f2f5";
  color: var(--texto-suave);
}
#topheader .usercart ul.shop-nav .dropdown-user.menu-conta .dropdown-item:hover, #topheader .usercart ul.shop-nav .dropdown-user.menu-conta .dropdown-item:focus-visible {
  background: var(--cor-clara);
  color: var(--texto-forte);
}
#topheader .usercart ul.shop-nav .dropdown-user.menu-conta li:last-child {
  margin-top: 4px;
  padding-top: 4px;
  border-top: 1px solid #eef1f3;
}
#topheader .usercart ul.shop-nav .dropdown-user.menu-conta li:last-child .dropdown-item {
  color: var(--texto-suave);
}

.menu-conta-cabecalho {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 4px;
  padding: 8px 12px 12px;
  border-bottom: 1px solid #eef1f3;
}

.menu-conta-nome {
  min-width: 0;
  overflow: hidden;
  font-weight: 600;
  color: var(--texto-forte);
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 767px) {
  #topheader .usercart ul.shop-nav li.shopuser,
  #topheader .usercart ul.shop-nav li.shopuser .dropdown,
  #topheader .usercart ul.shop-nav li.carrinho {
    position: static !important;
  }
  #topheader .usercart ul.shop-nav .dropdown-user.menu-conta,
  #topheader .usercart ul.shop-nav .dropdown-cart.mini-carrinho {
    position: absolute !important;
    top: 100% !important;
    right: 20px;
    left: 20px !important;
    width: auto;
    margin-top: 0;
    transform: none !important;
  }
  .menu-conta .cabecalho-iniciais {
    border: 0;
    background: var(--cor);
    color: #fff;
  }
}
.cabecalho-avatar {
  text-decoration: none;
}

.cabecalho-iniciais {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--cor);
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.02em;
  color: #fff;
}

@media (max-width: 767px) {
  #topheader .usercart {
    padding: 6px 20px !important;
  }
  #topheader .usercart > ul.shop-nav {
    flex: 1 1 auto;
    padding-right: 0;
  }
  #topheader .usercart ul.shop-nav li.cabecalho-botao {
    padding-left: 0 !important;
  }
  #topheader .usercart ul.shop-nav li.cabecalho-botao a.btn:link,
  #topheader .usercart ul.shop-nav li.cabecalho-botao a.btn:visited,
  #topheader .usercart ul.shop-nav li.cabecalho-botao a.btn:hover {
    min-height: 36px;
    height: 36px;
    padding: 0 12px !important;
    border: 1px solid rgba(255, 255, 255, 0.6);
    background: transparent;
    color: #fff;
  }
  #topheader .usercart ul.shop-nav li.cabecalho-botao + li.shopuser {
    margin-left: auto;
  }
  #topheader .usercart .navbar-toggler {
    float: none;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    width: 40px;
    height: 40px;
    margin-left: 8px;
    padding: 0;
    border: 0;
  }
  .cabecalho-iniciais {
    border: 1.5px solid #fff;
    background: transparent;
    color: #fff;
  }
}
.barra-anuncio {
  border-bottom: 1px solid color-mix(in srgb, var(--cor) 14%, #fff);
  background: color-mix(in srgb, var(--cor) 10%, #fff);
  color: var(--cor);
}
.barra-anuncio[hidden] {
  display: none;
}

.barra-anuncio-conteudo {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding-right: 52px !important;
  padding-left: 52px !important;
}

.barra-anuncio-com-letreiro .barra-anuncio-conteudo {
  max-width: none;
  padding-right: 0 !important;
  padding-left: 0 !important;
}
.barra-anuncio-com-letreiro .barra-anuncio-fechar {
  right: 0;
  width: 52px;
  height: 100%;
  border-radius: 0;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--cor) 10%, #fff) 45%);
  padding-left: 12px;
}
.barra-anuncio-com-letreiro .barra-anuncio-fechar:hover {
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--cor) 10%, #fff) 45%);
}

.barra-anuncio-letreiro {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 24px, #000 calc(100% - 24px), transparent);
  mask-image: linear-gradient(90deg, transparent, #000 24px, #000 calc(100% - 24px), transparent);
}

.barra-anuncio-faixa {
  display: flex;
  width: max-content;
  margin: 0 auto;
}

.barra-anuncio-grupo {
  display: flex;
  flex: none;
  align-items: center;
}

.barra-anuncio-msg,
.barra-anuncio-sep {
  flex: none;
  white-space: nowrap;
}

.barra-anuncio-sep {
  padding: 0 18px;
  opacity: 0.5;
}

.barra-anuncio-letreiro:not(.em-movimento) .barra-anuncio-sep,
.barra-anuncio-letreiro:not(.em-movimento) .barra-anuncio-msg:not(:first-child) {
  display: none;
}

.barra-anuncio-letreiro.em-movimento .barra-anuncio-faixa {
  margin: 0;
  animation: barra-letreiro var(--letreiro-duracao, 30s) linear infinite;
}
.barra-anuncio-letreiro.em-movimento:hover .barra-anuncio-faixa, .barra-anuncio-letreiro.em-movimento:focus-within .barra-anuncio-faixa {
  animation-play-state: paused;
}

.barra-anuncio-letreiro.em-movimento.sem-repeticao .barra-anuncio-faixa {
  padding-left: 100%;
  animation-name: barra-letreiro-unico;
}
.barra-anuncio-letreiro.em-movimento.sem-repeticao .barra-anuncio-grupo .barra-anuncio-sep:last-child {
  display: none;
}

@keyframes barra-letreiro-unico {
  to {
    transform: translateX(-100%);
  }
}
@keyframes barra-letreiro {
  to {
    transform: translateX(-50%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .barra-anuncio-letreiro.em-movimento .barra-anuncio-faixa {
    animation: none;
  }
}
.barra-anuncio-texto,
a.barra-anuncio-texto:link,
a.barra-anuncio-texto:visited {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 0;
  font-size: var(--t-pequeno);
  font-weight: 500;
  line-height: var(--t-pequeno-a);
  text-align: center;
  color: var(--cor);
}

a.barra-anuncio-texto:hover {
  color: var(--cor);
  text-decoration: underline;
  text-underline-offset: 3px;
}
a.barra-anuncio-texto:hover i {
  transform: translateX(3px);
}

.barra-anuncio-texto i {
  font-size: 12px;
  transition: transform 0.2s ease;
}

.barra-anuncio-fechar {
  position: absolute;
  top: 50%;
  right: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--cor);
  cursor: pointer;
  transform: translateY(-50%);
}
.barra-anuncio-fechar:hover {
  background: color-mix(in srgb, var(--cor) 12%, transparent);
  color: var(--cor);
}

@media (max-width: 575.98px) {
  .barra-anuncio-conteudo {
    padding-right: 44px !important;
    padding-left: 20px !important;
    justify-content: flex-start;
  }
  .barra-anuncio-texto {
    font-size: 13px;
    line-height: 18px;
    text-align: left;
  }
  .barra-anuncio-fechar {
    right: 4px;
  }
}
.cc-window.cc-banner {
  gap: 12px 24px;
  padding: 12px max(20px, (100vw - 1170px) / 2) !important;
  border-top: 1px solid #e3e8eb;
  background: #fff !important;
  box-shadow: 0 -8px 24px -16px rgba(16, 24, 40, 0.3);
  font-family: inherit;
  font-size: var(--t-pequeno);
  line-height: var(--t-pequeno-a);
  color: var(--texto-suave) !important;
}
.cc-window.cc-banner .cc-message {
  margin: 0;
}
.cc-window.cc-banner .cc-link {
  padding: 0;
  color: var(--cor) !important;
  opacity: 1;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.cc-window.cc-banner .cc-compliance {
  flex: none;
}
.cc-window.cc-banner .cc-btn {
  min-width: 0;
  padding: 8px 20px;
  border: 0;
  border-radius: var(--raio-s);
  background: var(--cor) !important;
  font-family: inherit;
  font-size: var(--t-pequeno);
  font-weight: 500;
  color: #fff !important;
}

.cc-revoke {
  display: none !important;
}

@media (max-width: 575.98px) {
  .cc-window.cc-banner {
    flex-direction: row !important;
    align-items: center !important;
    padding: 12px 20px !important;
  }
  .cc-window.cc-banner .cc-message {
    flex: 1 1 auto;
    margin: 0 !important;
    font-size: 13px;
    line-height: 20px;
  }
}
body #listpage button.filters {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  left: 50%;
  right: auto;
  bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  width: auto;
  height: 48px;
  padding: 0 24px;
  border-radius: 999px;
  background: var(--cor);
  box-shadow: 0 8px 24px -8px rgba(16, 24, 40, 0.45);
  transform: translateX(-50%);
  font-size: var(--t-legenda);
  font-weight: 500;
  color: #fff;
  z-index: 1000;
}
body #listpage button.filters i {
  padding: 0;
  color: #fff;
}

@media (min-width: 768px) {
  body #listpage button.filters {
    display: none;
  }
}
.fechar-filtros-icone {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
}

body .btn,
body .form-control,
body .custom-select {
  border-radius: var(--raio-s);
}

h5.card-product-availability label[style*="#28a745"] {
  color: #1e7e34 !important;
}

#realsearch .form-control,
#realsearch .btn {
  height: 44px !important;
}

#realsearch .btn {
  width: 44px;
  padding: 0;
}

#realsearch,
#realsearch > .row {
  flex-wrap: nowrap;
  gap: 12px;
  width: 100% !important;
  margin: 0;
}

#realsearch .col-11,
#realsearch .col-1 {
  flex: 0 0 auto;
  width: auto;
  max-width: none;
  padding: 0 !important;
}

#realsearch .col-11 {
  flex: 1 1 auto;
  min-width: 0;
}

@media (max-width: 767px) {
  #topheader .search-top-bar {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }
}
.slick-dots li,
.slick-dots li button,
.slick-dots li button::before {
  width: 24px;
  height: 24px;
  line-height: 24px;
}

:focus-visible {
  outline: 3px solid var(--cor) !important;
  outline-offset: 2px;
}

body .form-control:focus,
body .custom-select:focus {
  border-color: var(--cor);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--cor) 22%, transparent);
}

body .form-control:focus-visible,
body .custom-select:focus-visible {
  outline: none !important;
}

.pagina-topo-texto {
  flex: 1 1 320px;
  min-width: 0;
}

.pagina-topo-titulo {
  overflow-wrap: anywhere;
}

.pagina-topo + .container {
  padding-top: 40px;
}

.pagina-banner {
  padding: 0;
  margin: 0;
  width: 100%;
}

@media (max-width: 575.98px) {
  .pagina-topo-texto {
    flex-basis: 100%;
  }
  .pagina-topo-acao {
    width: 100%;
    min-width: 0;
    white-space: normal;
  }
  .pagina-topo-acoes {
    width: 100%;
  }
  .pagina-topo .breadcrumb li {
    display: none;
  }
  .pagina-topo .breadcrumb li:nth-last-child(2) {
    display: block;
  }
  .pagina-topo .breadcrumb li:nth-last-child(2)::before {
    content: "‹";
    margin: 0 8px 0 0;
  }
  .pagina-topo-acoes .pagina-topo-acao {
    flex: 1 1 auto;
  }
  .pagina-topo + .container {
    padding-top: 24px;
  }
}
.servico-miniaturas {
  display: flex;
  gap: 12px;
  margin-top: 16px;
  padding: 4px;
  overflow-x: auto;
}

.servico-miniatura {
  flex: 0 0 72px;
  width: 72px;
  height: 72px;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--borda);
  border-radius: var(--raio-s);
  background: #eef2f4;
  cursor: pointer;
}
.servico-miniatura img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.servico-miniatura[aria-pressed=true] {
  border-color: var(--cor);
  box-shadow: 0 0 0 1px var(--cor);
}
.servico-miniatura:focus-visible {
  outline: 3px solid var(--cor) !important;
  outline-offset: 2px;
}

.site-publico {
  overflow-x: clip;
  --cor: var(--cor-tema, var(--primary, #003b4b));
  --cor-clara: color-mix(in srgb, var(--cor) 7%, #fff);
  --borda: color-mix(in srgb, var(--cor) 16%, #fff);
  --superficie: #fff;
  --texto-forte: #1b1f24;
  --texto-suave: #5b6670;
  --raio-s: 8px;
  --raio-m: 16px;
  color: var(--texto-forte);
}
.site-publico .site-conteudo {
  min-height: 40vh;
  font-size: var(--t-corpo, 17px);
  line-height: var(--t-corpo-a, 28px);
}
.site-publico .site-conteudo > .container,
.site-publico .site-conteudo > .Fetchable > .container {
  padding-top: 40px;
  padding-bottom: var(--seccao-espaco, 96px) !important;
}
.site-publico .site-conteudo h2,
.site-publico .site-conteudo h3,
.site-publico .site-conteudo h4 {
  color: var(--texto-forte);
  font-weight: 600;
  overflow-wrap: break-word;
}
.site-publico .site-conteudo h2 {
  font-size: var(--t-seccao, 28px);
  line-height: var(--t-seccao-a, 36px);
}
.site-publico .site-conteudo h3 {
  font-size: var(--t-cartao, 18px);
  line-height: var(--t-cartao-a, 24px);
}
.site-publico .site-conteudo h4 {
  font-size: var(--t-cartao, 18px);
  line-height: var(--t-cartao-a, 24px);
}
.site-publico .site-conteudo h2.sectiontitle,
.site-publico .site-conteudo #simplepage h2.sectiontitle {
  display: block;
  margin: 40px 0 24px;
  padding: 0;
  background: none;
  border: 0;
  font-size: var(--t-seccao, 28px);
  font-weight: 600;
  line-height: var(--t-seccao-a, 36px);
  color: var(--texto-forte);
  letter-spacing: -0.01em;
  text-align: left;
  text-transform: none;
  text-wrap: balance;
  white-space: normal;
}
.site-publico .site-conteudo h2.sectiontitle::before, .site-publico .site-conteudo h2.sectiontitle::after,
.site-publico .site-conteudo #simplepage h2.sectiontitle::before,
.site-publico .site-conteudo #simplepage h2.sectiontitle::after {
  display: none;
  content: none;
}
.site-publico .site-conteudo h2.sectiontitle span,
.site-publico .site-conteudo h2.sectiontitle a,
.site-publico .site-conteudo #simplepage h2.sectiontitle span,
.site-publico .site-conteudo #simplepage h2.sectiontitle a {
  display: inline;
  padding: 0;
  background: none;
  font-size: inherit !important;
  color: inherit;
  white-space: normal;
}
.site-publico .site-conteudo .home-seccao h2.sectiontitle {
  margin-top: 0;
}
.site-publico .pagina-banner {
  margin: 0;
  padding: 0;
}
.site-publico .home-slider-largo #HeaderSlideShow.slick-dotted {
  margin-bottom: 0;
}
.site-publico .home-slider-largo #HeaderSlideShow > .slick-dots {
  position: static;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 24px;
  margin: 12px 0 0;
  padding: 0;
  line-height: 24px;
}
.site-publico .turnos-slider.slick-slider {
  margin: 0;
}
.site-publico .turnos-slider .slick-list {
  border-radius: var(--raio-m);
}
.site-publico .turnos-slider img {
  max-height: none;
  object-fit: contain;
}
.site-publico .turnos-slider > .slick-dots {
  position: static;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 24px;
  margin: 12px 0 0;
  padding: 0;
  line-height: 24px;
}
.site-publico .pagina-banner img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 480px;
  object-fit: contain;
}
.site-publico .pagina-topo {
  background: var(--cor-clara);
  border-bottom: 1px solid var(--borda);
}
.site-publico .pagina-topo .pagina-topo-titulo {
  font-size: var(--t-topo, 30px);
  line-height: var(--t-topo-a, 36px);
  color: var(--texto-forte);
}
.site-publico .pagina-percurso:empty {
  display: none;
}
.site-publico .pagina-percurso .breadcrumb {
  margin-bottom: 8px;
}
.site-publico .pagina-topo.pagina-topo-compacto {
  padding: 12px 0;
}
.site-publico .pagina-topo-compacto .pagina-percurso .breadcrumb {
  margin: 0;
}
.site-publico .pagina-conteudo {
  overflow-wrap: anywhere;
}
.site-publico .pagina-conteudo p,
.site-publico .pagina-conteudo ul,
.site-publico .pagina-conteudo ol {
  margin-bottom: 24px;
}
.site-publico .pagina-conteudo h2,
.site-publico .pagina-conteudo h3,
.site-publico .pagina-conteudo h4 {
  margin: 32px 0 16px;
}
.site-publico .pagina-conteudo > :first-child {
  margin-top: 0;
}
.site-publico .pagina-conteudo > :last-child {
  margin-bottom: 0;
}
.site-publico .pagina-conteudo img,
.site-publico .pagina-conteudo iframe {
  max-width: 100%;
}
.site-publico .pagina-conteudo img {
  height: auto;
}
.site-publico .pagina-conteudo table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
}
.site-publico .pagina-conteudo a {
  color: var(--cor);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.site-publico .btn {
  min-height: 44px;
  padding: 10px 20px;
  border-radius: var(--raio-s);
  font-size: var(--t-pequeno, 14px);
  font-weight: 500;
  line-height: 22px;
  white-space: normal;
  transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s;
}
.site-publico .btn-primary,
.site-publico .site-conteudo .btn-success,
.site-publico .site-conteudo .BTN-DEFAULT {
  border: 1px solid var(--cor);
  background: var(--cor);
  color: #fff;
}
.site-publico .btn-primary:hover,
.site-publico .site-conteudo .btn-success:hover,
.site-publico .site-conteudo .BTN-DEFAULT:hover {
  background: color-mix(in srgb, var(--cor) 88%, #000);
  border-color: var(--cor);
  color: #fff;
}
.site-publico .btn-outline-primary,
.site-publico .site-conteudo .btn-default {
  border: 1px solid var(--cor);
  background: var(--superficie);
  color: var(--cor);
}
.site-publico .btn-outline-primary:hover,
.site-publico .site-conteudo .btn-default:hover {
  background: var(--cor-clara);
  color: var(--cor);
}
.site-publico .btn-link {
  color: var(--cor);
}
.site-publico .btn:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}
.site-publico .form-control,
.site-publico .custom-select {
  min-height: 44px;
  border: 1px solid var(--borda);
  border-radius: var(--raio-s);
  background-color: var(--superficie);
  font-size: 16px;
  line-height: 24px;
  color: var(--texto-forte);
}
.site-publico .form-control:focus,
.site-publico .custom-select:focus {
  border-color: var(--cor);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--cor) 22%, transparent);
}
.site-publico textarea.form-control {
  min-height: 144px;
  resize: vertical;
}
.site-publico .form-control:disabled {
  background-color: var(--cor-clara);
}
.site-publico .form-group {
  margin-bottom: 24px;
}
.site-publico #formContact {
  padding: 28px;
  border: 1px solid var(--borda);
  border-radius: var(--raio-m);
  background: var(--superficie);
}
.site-publico #formContact .form-label-group {
  display: flex;
  flex-direction: column;
}
.site-publico #formContact .form-label-group > label {
  position: static;
  order: -1;
  width: auto;
  height: auto;
  margin-bottom: 8px;
  padding: 0;
  border: 0;
  font-size: var(--t-pequeno, 14px);
  line-height: 20px;
  color: var(--texto-forte);
  pointer-events: auto;
}
.site-publico #formContact .form-label-group > input {
  padding: 10px 12px;
}
.site-publico #formContact .form-label-group > input::placeholder {
  color: transparent;
}
.site-publico #formContact .form-group:last-child {
  margin-bottom: 0;
}
.site-publico #formContact .form-group {
  position: relative;
}
.site-publico #formContact .form-label-group > label.error[for],
.site-publico #formContact label.error {
  position: absolute;
  top: 100%;
  left: 0;
  order: 0;
  margin: 2px 0 0 !important;
  font-size: 13px;
  font-weight: 400;
  line-height: 16px;
  color: #a52834 !important;
}
.site-publico #formContact .form-control.error {
  border-color: #a52834;
}
.site-publico #formContact .form-control.error:focus {
  box-shadow: 0 0 0 3px rgba(165, 40, 52, 0.15);
}
.site-publico #formContact .btn[type=submit] {
  width: 100%;
}
.site-publico #simplepage .sidebar > .main_menu,
.site-publico #simplepage .sidebar > ul,
.site-publico #simplepage .sidebar > div {
  padding: 12px;
  border: 1px solid var(--borda);
  border-radius: var(--raio-m);
  background: var(--cor-clara);
}
.site-publico #simplepage .sidebar ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.site-publico #simplepage .sidebar ul#sidebar-menu a {
  display: block;
  min-height: 44px;
  margin: 2px 0;
  padding: 10px 12px;
  border-radius: var(--raio-s);
  font-size: var(--t-pequeno, 14px);
  line-height: 22px;
  color: var(--cor);
  text-decoration: none;
}
.site-publico #simplepage .sidebar ul#sidebar-menu a:hover, .site-publico #simplepage .sidebar ul#sidebar-menu a:focus-visible {
  background: var(--superficie);
}
.site-publico #simplepage .sidebar ul#sidebar-menu a[aria-current=page] {
  background: var(--superficie);
  box-shadow: inset 3px 0 0 var(--cor);
  font-weight: 600;
  color: var(--cor);
}
.site-publico #simplepage [data-conteudo-apoio][aria-busy=true] {
  opacity: 0.6;
  cursor: progress;
}
.site-publico #simplepage .apoio-navegacao-estado {
  margin: 12px 0 0;
  font-size: 13px;
  line-height: 20px;
  color: var(--texto-suave);
}
.site-publico #simplepage .apoio-navegacao-estado:empty {
  margin: 0;
}
.site-publico .card-team,
.site-publico .blog-card,
.site-publico .site-conteudo .card:not(.productcard) {
  height: 100%;
  border: 1px solid var(--borda);
  border-radius: var(--raio-m);
  overflow: hidden;
  background: var(--superficie);
  box-shadow: var(--cartao-sombra);
}
.site-publico .card-team .card-img-top {
  aspect-ratio: 4/3;
  object-fit: cover;
}
.site-publico .aboutuspage .card-body,
.site-publico .blog-card-body {
  padding: 24px;
  background: var(--superficie);
}
.site-publico .aboutuspage .card-body h5 {
  margin-bottom: 8px;
  font-size: var(--t-cartao, 18px);
  color: var(--texto-forte);
}
.site-publico .aboutuspage .card-body strong {
  font-size: var(--t-pequeno, 14px);
  font-weight: 400;
  color: var(--texto-suave);
}
.site-publico .testemunho {
  padding: 32px;
  border-radius: var(--raio-m);
  background: var(--cor-clara);
}
.site-publico .farmacia-localizacao {
  margin-top: calc(var(--seccao-espaco) / 2);
  scroll-margin-top: 200px;
}
.site-publico #simplepage .farmacia-localizacao h2.sectiontitle {
  margin-top: 0;
}
.site-publico .equipa-grelha {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 32px 24px;
  margin: 32px 0 8px;
}
.site-publico .equipa-cartao {
  min-width: 0;
}
@media (max-width: 991.98px) {
  .site-publico .equipa-grelha {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.site-publico .equipa-cartao-foto {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 4/5;
  overflow: hidden;
  border-radius: var(--raio-m);
  background: var(--cor-clara);
  font-size: 40px;
  color: var(--cor);
}
.site-publico .equipa-cartao-foto img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 20%;
}
.site-publico .site-conteudo .equipa-cartao-nome {
  margin: 16px 0 4px;
  font-size: var(--t-cartao, 18px);
  font-weight: 600;
  line-height: var(--t-cartao-a, 24px);
}
.site-publico .equipa-cartao-funcao {
  font-size: var(--t-legenda, 15px);
  line-height: var(--t-legenda-a, 24px);
  color: var(--texto-suave);
}
.site-publico .equipa-cartao-funcao p {
  margin: 0;
}
.site-publico .farmacia-pagina {
  padding-top: 40px;
  padding-bottom: var(--seccao-espaco, 64px);
}
.site-publico .farmacia-texto {
  max-width: 760px;
  margin-bottom: 8px;
}
.site-publico .farmacia-pagina > .farmacia-localizacao:first-child {
  margin-top: 0;
}
.site-publico #simplepage .farmacia-seccao-titulo {
  margin: 0 0 24px;
  padding: 0;
  background: none;
  font-size: var(--t-seccao, 28px);
  font-weight: 600;
  line-height: var(--t-seccao-a, 36px);
  color: var(--texto-forte);
}
.site-publico #formContact label {
  font-size: 14px;
  line-height: 22px;
}
.site-publico .farmacia-contacto {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: 48px;
  align-items: start;
  margin-top: var(--seccao-espaco, 64px);
}
.site-publico .farmacia-contacto-texto {
  max-width: 440px;
  color: var(--texto-suave);
}
.site-publico .farmacia-contacto-lista {
  display: grid;
  gap: 12px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}
.site-publico .farmacia-contacto-lista li {
  display: flex;
  align-items: center;
  gap: 12px;
}
.site-publico .farmacia-contacto-lista i {
  width: 20px;
  text-align: center;
  color: var(--cor);
}
.site-publico .farmacia-contacto-lista a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  color: var(--texto-forte);
}
.site-publico .farmacia-localizacao-grelha {
  display: grid;
  grid-template-columns: minmax(0, 420px);
  gap: 24px;
}
.site-publico .farmacia-localizacao-grelha.com-mapa {
  grid-template-columns: minmax(280px, 340px) minmax(0, 1fr);
}
.site-publico .farmacia-localizacao-info {
  min-width: 0;
  padding: 28px;
  border: 1px solid var(--borda);
  border-radius: var(--raio-m);
  background: var(--cor-clara);
}
.site-publico .farmacia-localizacao-cabecalho {
  display: flex;
  align-items: center;
  gap: 16px;
}
.site-publico .farmacia-localizacao-icone {
  display: inline-flex;
  flex: 0 0 44px;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: var(--superficie);
  font-size: 22px;
  color: var(--cor);
}
.site-publico .site-conteudo h3.farmacia-localizacao-nome {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  line-height: 28px;
  color: var(--texto-forte);
}
.site-publico .farmacia-localizacao-morada {
  margin: 24px 0;
  font-size: var(--t-corpo, 17px);
  font-style: normal;
  line-height: 28px;
  color: var(--texto-suave);
  overflow-wrap: anywhere;
}
.site-publico .farmacia-localizacao-morada span {
  display: block;
}
.site-publico .farmacia-localizacao-acoes {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.site-publico .farmacia-localizacao-acoes .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.site-publico .farmacia-localizacao-acoes .fa-external-link-alt {
  margin-left: auto;
  font-size: 11px;
}
.site-publico .farmacia-localizacao-feedback {
  min-height: 20px;
  margin: 12px 0 0;
  font-size: 13px;
  line-height: 20px;
  color: var(--cor);
}
.site-publico .farmacia-localizacao-mapa {
  position: relative;
  z-index: 0;
  min-width: 0;
  min-height: 360px;
  border: 1px solid var(--borda);
  border-radius: var(--raio-m);
  overflow: hidden;
  background: var(--cor-clara);
}
.site-publico .farmacia-localizacao-mapa .map-container {
  position: absolute;
  inset: 0;
}
.site-publico .farmacia-localizacao-mapa .leaflet-container:focus-visible {
  outline-offset: -3px;
}
.site-publico .farmacia-localizacao-mapa .leaflet-control-zoom a {
  width: 44px;
  height: 44px;
  font-size: 24px;
  line-height: 44px;
  color: var(--cor);
}
.site-publico .productcard {
  --produto-titulo-altura: 40px;
  --produto-categoria-altura: 16px;
  --produto-stock-altura: 18px;
  --produto-campanha-altura: 16px;
  position: relative;
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  justify-content: flex-start;
  align-content: flex-start;
  min-width: 0;
  padding: 12px 12px 16px;
  border: 1px solid var(--borda);
  border-radius: var(--raio-m);
  background: var(--superficie, #fff);
  box-shadow: 0 2px 8px rgba(16, 24, 40, 0.04);
  text-align: left;
  vertical-align: top !important;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.site-publico .productcard > * {
  flex-shrink: 0;
}
.site-publico .productcard:hover {
  transform: none;
  box-shadow: 0 2px 8px rgba(16, 24, 40, 0.04);
}
.site-publico .productcard > a:first-child {
  position: relative;
  display: block;
  margin: 0 0 14px;
  border-radius: var(--raio-s);
}
.site-publico .productcard .img-holder {
  width: 100% !important;
  height: auto !important;
  min-width: 0;
  min-height: 0 !important;
  max-width: none;
  max-height: none;
  aspect-ratio: 1;
  margin: 0 !important;
  overflow: hidden;
  border-radius: var(--raio-s);
  background-color: #fff;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain !important;
}
.site-publico .productcard .img-holder img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.site-publico .productcard div.in_promo,
.site-publico .productcard div.in_promo_gift {
  position: absolute;
  width: auto;
  min-width: 0;
  padding: 4px 8px;
  border-radius: 6px;
  background: var(--cor);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  line-height: 18px;
  letter-spacing: 0;
  text-align: center;
  overflow: visible;
  top: 8px;
  left: 8px;
  z-index: 2;
}
.site-publico .productcard a.follow-product {
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 1px solid #e2e8eb;
  border-radius: 50%;
  background: #fff;
  color: var(--texto-suave);
  box-shadow: 0 2px 6px rgba(16, 24, 40, 0.06);
  line-height: 1;
}
.site-publico .productcard a.follow-product::after {
  position: absolute;
  inset: -4px;
  content: "";
}
.site-publico .productcard a.follow-product .fa {
  margin: 0;
  font-size: 18px;
}
.site-publico .productcard a.follow-product .fa-heart {
  color: var(--cor);
}
.site-publico .productcard a.follow-product, .site-publico .productcard a.follow-product:hover, .site-publico .productcard a.follow-product:focus {
  text-decoration: none;
}
.site-publico .productcard a.follow-product:hover {
  border-color: var(--cor);
  color: var(--cor);
}
.site-publico .productcard .productcard-title {
  display: block;
  margin: 0;
  color: var(--texto-forte);
}
.site-publico .productcard h3 {
  display: -webkit-box !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  height: var(--produto-titulo-altura) !important;
  min-height: var(--produto-titulo-altura);
  margin: 4px 0 0;
  padding: 0;
  overflow: hidden;
  font-size: 15px;
  font-weight: 600;
  line-height: 20px;
  letter-spacing: 0;
  text-align: left;
  color: var(--texto-forte);
}
.site-publico .productcard > h5 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  height: var(--produto-categoria-altura);
  min-height: var(--produto-categoria-altura);
  margin: 0;
  overflow: hidden;
  white-space: normal;
  font-size: 11px;
  line-height: 16px;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-align: left;
  color: var(--texto-suave);
}
.site-publico .productcard > h5 a {
  padding: 0;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
}
.site-publico .productcard > h5 a + a::before {
  content: " · ";
}
.site-publico .productcard .productcard-availability {
  height: var(--produto-stock-altura);
  min-height: var(--produto-stock-altura);
  margin-top: 4px;
  overflow: hidden;
  text-align: left;
}
.site-publico .productcard .productcard-availability h5, .site-publico .productcard .productcard-availability label {
  height: auto;
  margin: 0;
  padding: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  text-align: left;
  font-size: 12px;
  line-height: 18px;
  font-weight: 400;
}
.site-publico .productcard .productcard-availability label::before {
  display: inline-block;
  width: 7px;
  height: 7px;
  margin: 0 6px 1px 0;
  border-radius: 50%;
  background: currentColor;
  content: "";
}
.site-publico .productcard .productcard-availability label[style*="#28a745"] {
  color: #1e7e34 !important;
}
.site-publico .productcard .productcard-availability label[style*=orange] {
  color: #986006 !important;
}
.site-publico .productcard .productcard-availability label[style*=red] {
  color: #b42318 !important;
}
.site-publico .productcard .productcard-price {
  display: flex;
  flex-wrap: nowrap;
  align-items: baseline;
  gap: 8px;
  height: 28px;
  min-height: 28px;
  margin: 8px 0 0;
  overflow: hidden;
  text-align: left;
  font-variant-numeric: tabular-nums;
}
.site-publico .productcard .productcard-price .productcard-cont-price {
  display: contents !important;
  margin: 0 !important;
}
.site-publico .productcard .productcard-price .pricenormal, .site-publico .productcard .productcard-price .princepromo {
  display: block !important;
  width: auto;
  float: none;
  margin: 0;
  padding: 0;
  border: 0;
  white-space: nowrap;
  text-align: left;
}
.site-publico .productcard .productcard-price .productcard-price-previous {
  order: 2;
  font-size: 13px;
  line-height: 18px;
  font-weight: 400;
  color: var(--texto-suave);
}
.site-publico .productcard .productcard-price .productcard-price-previous strike {
  font: inherit;
  color: inherit;
  opacity: 1;
}
.site-publico .productcard .productcard-price .productcard-price-current {
  order: 1;
  font-size: 22px;
  line-height: 28px;
  font-weight: 700;
  color: var(--cor);
}
.site-publico .productcard .productcard-price .price-request-prod-card {
  align-self: center;
  margin: 0;
  font-size: 13px;
  line-height: 14px;
  font-weight: 600;
  color: var(--cor);
}
.site-publico .productcard .productcard-campaign {
  height: var(--produto-campanha-altura);
  min-height: var(--produto-campanha-altura);
  margin-top: 2px;
}
.site-publico .productcard .productcard-campaign .product-campaign-info {
  display: block;
  margin: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 11px !important;
  line-height: 16px;
  font-weight: 500 !important;
  text-align: left;
  color: var(--cor) !important;
}
.site-publico .productcard .actions {
  margin: auto 0 0;
  padding-top: 12px;
}
.site-publico .productcard .actions a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  min-height: 44px;
  margin: 0;
  padding: 10px 8px;
  border: 1px solid var(--cor);
  border-radius: var(--raio-s);
  background: var(--cor);
  color: #fff;
  font-size: 13px;
  line-height: 20px;
  font-weight: 500;
  letter-spacing: 0;
  text-decoration: none;
}
.site-publico .productcard .actions a:hover {
  border-color: var(--cor);
  background: var(--cor);
  color: #fff;
  filter: brightness(0.93);
}
.site-publico .productcard a.follow-product.favorito-sim .fa {
  animation: favorito-salta 0.5s cubic-bezier(0.2, 1.8, 0.4, 1);
}
.site-publico .productcard a.follow-product.favorito-nao .fa {
  animation: favorito-parte 0.45s ease;
}
.site-publico .productcard a.follow-product::before {
  position: absolute;
  inset: 0;
  border: 2px solid var(--cor);
  border-radius: 50%;
  opacity: 0;
  content: "";
  pointer-events: none;
}
.site-publico .productcard a.follow-product.favorito-sim::before {
  animation: favorito-anel 0.6s ease-out;
}
.site-publico .productcard a.follow-product.favorito-nao::before {
  border-color: var(--texto-suave);
  animation: favorito-anel 0.5s ease-out;
}
.site-publico .productcard.favorito-sim {
  animation: favorito-cartao 0.9s ease;
}
.site-publico .favorito-a-sair {
  opacity: 0;
  transform: scale(0.94);
  transition: opacity 0.35s ease, transform 0.35s ease;
}
.site-publico .productcard .img-holder {
  position: relative;
}
.site-publico .productcard .img-holder:not(.loaded):not(.carregada)::before {
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
  background: linear-gradient(100deg, #eef2f4 30%, #f9fbfb 50%, #eef2f4 70%) 0 0/200% 100%;
  animation: foto-a-carregar 1.2s linear infinite;
  content: "";
}
@media (prefers-reduced-motion: reduce) {
  .site-publico .productcard .img-holder:not(.loaded):not(.carregada)::before {
    animation: none;
  }
}
.site-publico .productcard .actions a.a-adicionar {
  opacity: 0.85;
  pointer-events: none;
}
.site-publico .produto-adicionar.adicionado {
  border-color: #1e7e34;
  background: #1e7e34;
  animation: adicionado-pulso 0.5s ease;
}
.site-publico .productcard .actions a.adicionado {
  border-color: #1e7e34;
  background: #1e7e34;
  animation: adicionado-pulso 0.5s ease;
}
@media (prefers-reduced-motion: reduce) {
  .site-publico .productcard a.follow-product .fa, .site-publico .productcard a.follow-product::before, .site-publico .productcard.favorito-sim {
    animation: none !important;
  }
  .site-publico .favorito-a-sair {
    transition: none;
  }
}
@media (hover: hover) and (pointer: fine) {
  .site-publico .productcard:hover, .site-publico .productcard:focus-within {
    border-color: color-mix(in srgb, var(--cor) 35%, #fff);
    box-shadow: 0 6px 18px rgba(16, 24, 40, 0.09);
  }
}
.site-publico #listpage .content .productcard {
  padding: 12px 12px 16px;
}
@media (max-width: 575.98px) {
  .site-publico #listpage .content .productcard {
    padding: 10px 10px 12px;
  }
  .site-publico .productcard {
    padding: 10px 10px 12px;
  }
  .site-publico .productcard h3 {
    font-size: 14px;
  }
  .site-publico .productcard a.follow-product {
    top: 16px;
    right: 16px;
  }
  .site-publico .productcard .productcard-price {
    gap: 6px;
  }
  .site-publico .productcard .productcard-price .productcard-price-current {
    font-size: 18px;
  }
  .site-publico .productcard .productcard-price .productcard-price-previous {
    font-size: 12px;
  }
}
.site-publico .productList.slick-slider > .slick-list {
  margin: -16px 0 -32px;
  padding: 16px 0 32px;
}
.site-publico .product-page .product-slideshow {
  border: 1px solid var(--borda);
  border-radius: var(--raio-m);
}
.site-publico .product-page .product-title {
  margin-bottom: 24px;
  font-size: var(--t-seccao, 28px);
  line-height: var(--t-seccao-a, 36px);
}
.site-publico .product-page .rollover-image-note {
  margin-top: 16px;
  font-size: 12px;
  line-height: 20px;
  color: var(--texto-suave);
}
.site-publico .product-page .right-sidebar {
  border-radius: var(--raio-m);
  background: var(--cor-clara);
}
.site-publico #shop.produto-pagina {
  margin-top: 0;
  padding-bottom: 48px !important;
}
.site-publico #shop.produto-pagina .produto-principal {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: start;
  gap: 48px;
}
.site-publico #shop.produto-pagina .produto-galeria {
  min-width: 0;
}
.site-publico #shop.produto-pagina .produto-imagem-moldura {
  position: relative;
  aspect-ratio: 1;
  max-height: 520px;
  overflow: hidden;
  border: 1px solid var(--borda);
  border-radius: var(--raio-m);
  background: var(--superficie);
}
.site-publico #shop.produto-pagina .produto-ampliar {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 12px;
  border: 0;
  border-radius: inherit;
  background: none;
  cursor: zoom-in;
}
.site-publico #shop.produto-pagina .produto-ampliar > img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: var(--raio-s);
  object-fit: contain;
}
.site-publico #shop.produto-pagina .produto-ampliar-legenda {
  position: absolute;
  right: 24px;
  bottom: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid #e2e8eb;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 6px rgba(16, 24, 40, 0.1);
  font-size: 16px;
  color: var(--cor);
  transition: transform 0.2s;
}
.site-publico #shop.produto-pagina .produto-ampliar:hover .produto-ampliar-legenda,
.site-publico #shop.produto-pagina .produto-ampliar:focus-visible .produto-ampliar-legenda {
  transform: scale(1.08);
}
.site-publico #shop.produto-pagina .produto-imagem-vazia {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.site-publico #shop.produto-pagina .produto-imagem-vazia > img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.site-publico #shop.produto-pagina .produto-ampliar[hidden],
.site-publico #shop.produto-pagina .produto-imagem-vazia[hidden] {
  display: none;
}
.site-publico #shop.produto-pagina .produto-imagem-moldura > .in_promo,
.site-publico #shop.produto-pagina .produto-imagem-moldura > .in_promo_gift {
  position: absolute;
  width: auto;
  min-width: 0;
  padding: 4px 8px;
  border-radius: 6px;
  background: var(--cor);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  line-height: 18px;
  letter-spacing: 0;
  text-align: center;
  overflow: visible;
  top: 24px;
  left: 24px;
  z-index: 1;
  pointer-events: none;
}
.site-publico #shop.produto-pagina .produto-miniaturas {
  display: flex;
  gap: 12px;
  margin-top: 16px;
  padding: 4px;
  overflow-x: auto;
}
.site-publico #shop.produto-pagina .produto-miniatura {
  flex: 0 0 72px;
  width: 72px;
  height: 72px;
  padding: 8px;
  border: 1px solid var(--borda);
  border-radius: var(--raio-s);
  background: var(--superficie);
  cursor: pointer;
}
.site-publico #shop.produto-pagina .produto-miniatura[aria-pressed=true] {
  border-color: var(--cor);
  box-shadow: 0 0 0 1px var(--cor);
}
.site-publico #shop.produto-pagina .produto-miniatura > img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.site-publico #shop.produto-pagina .produto-resumo {
  min-width: 0;
}
.site-publico #shop.produto-pagina .produto-marca {
  display: inline-block;
  margin-bottom: 12px;
  font-size: 15px;
  font-weight: 500;
  line-height: 24px;
  color: var(--cor);
  text-underline-offset: 4px;
}
.site-publico #shop.produto-pagina .product-title {
  margin: 0;
  font-size: 30px;
  font-weight: 600;
  line-height: 38px;
  letter-spacing: -0.02em;
  color: var(--texto-forte);
}
.site-publico #shop.produto-pagina .produto-referencia {
  margin: 12px 0 0;
  font-size: 13px;
  line-height: 20px;
  color: var(--texto-suave);
}
.site-publico #shop.produto-pagina .produto-categorias {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
  font-size: 13px;
  line-height: 20px;
}
.site-publico #shop.produto-pagina .produto-categorias a {
  color: var(--texto-suave);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.site-publico #shop.produto-pagina .produto-categorias li + li::before {
  content: "/";
  margin-right: 8px;
  color: var(--texto-suave);
}
.site-publico #shop.produto-pagina .produto-avaliacoes {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  margin-top: 8px;
  font-size: 14px;
  color: var(--cor);
}
.site-publico #shop.produto-pagina .produto-precos {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 12px;
  margin-top: 28px;
}
.site-publico #shop.produto-pagina .produto-preco {
  margin: 0;
  font-size: 32px;
  font-weight: 600;
  line-height: 40px;
  color: var(--cor);
}
.site-publico #shop.produto-pagina .produto-preco-anterior {
  font-size: 18px;
  line-height: 28px;
  color: var(--texto-suave);
}
.site-publico #shop.produto-pagina .produto-iva {
  font-size: 12px;
  line-height: 20px;
  color: var(--texto-suave);
}
.site-publico #shop.produto-pagina .produto-precos .product-campaign-info {
  flex-basis: 100%;
  font-size: 13px;
  line-height: 20px;
}
.site-publico #shop.produto-pagina .produto-descricao {
  margin-top: 24px;
  font-size: 16px;
  line-height: 28px;
  color: var(--texto-suave);
}
.site-publico #shop.produto-pagina .produto-descricao > :last-child {
  margin-bottom: 0;
}
.site-publico #shop.produto-pagina .produto-descricao summary {
  padding: 8px 0;
  color: var(--cor);
  cursor: pointer;
}
.site-publico #shop.produto-pagina .produto-descricao details > div {
  padding-top: 12px;
}
.site-publico #shop.produto-pagina .produto-disponibilidade {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin: 24px 0 0;
  font-size: 15px;
  font-weight: 500;
  line-height: 24px;
}
.site-publico #shop.produto-pagina .produto-disponibilidade.disponivel {
  color: #21683d;
}
.site-publico #shop.produto-pagina .produto-disponibilidade.indisponivel {
  color: var(--texto-suave);
}
.site-publico #shop.produto-pagina .produto-envio,
.site-publico #shop.produto-pagina .produto-campanha {
  margin: 12px 0 0;
  font-size: 15px;
  line-height: 24px;
  color: var(--cor);
}
.site-publico #shop.produto-pagina .produto-envio i {
  margin-right: 8px;
}
.site-publico #shop.produto-pagina .produto-nota {
  margin: 16px 0 0;
  font-size: 13px;
  line-height: 22px;
  color: var(--texto-suave);
}
.site-publico #shop.produto-pagina .produto-compra {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid var(--borda);
}
.site-publico #shop.produto-pagina .produto-quantidade-label {
  display: block;
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 500;
  line-height: 20px;
}
.site-publico #shop.produto-pagina .produto-compra-linha {
  display: flex;
  align-items: stretch;
  gap: 16px;
}
.site-publico #shop.produto-pagina .produto-quantidade {
  display: grid;
  flex: none;
  grid-template-columns: 44px 56px 44px;
  border: 1px solid var(--borda);
  border-radius: var(--raio-s);
  overflow: hidden;
}
.site-publico #shop.produto-pagina .produto-quantidade button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0;
  border: 0;
  background: var(--superficie);
  font-size: 12px;
  color: var(--cor);
  cursor: pointer;
}
.site-publico #shop.produto-pagina .produto-quantidade button:disabled {
  color: var(--texto-suave);
  opacity: 0.45;
  cursor: default;
}
.site-publico #shop.produto-pagina .produto-quantidade input {
  width: 56px;
  min-width: 0;
  height: 48px;
  padding: 0 4px;
  border: 0;
  border-right: 1px solid var(--borda);
  border-left: 1px solid var(--borda);
  border-radius: 0;
  background: var(--superficie);
  font-size: 16px;
  text-align: center;
  color: var(--texto-forte);
  appearance: textfield;
  -moz-appearance: textfield;
}
.site-publico #shop.produto-pagina .produto-quantidade input::-webkit-inner-spin-button,
.site-publico #shop.produto-pagina .produto-quantidade input::-webkit-outer-spin-button {
  margin: 0;
  -webkit-appearance: none;
}
.site-publico #shop.produto-pagina .produto-quantidade :focus-visible {
  outline-offset: -3px;
}
.site-publico #shop.produto-pagina .produto-adicionar {
  display: inline-flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 50px;
  padding: 12px 20px;
}
.site-publico #shop.produto-pagina .produto-acoes-secundarias {
  display: flex;
  flex-wrap: wrap;
  align-items: start;
  justify-content: space-between;
  gap: 4px 24px;
  margin-top: 16px;
  font-size: 13px;
  line-height: 22px;
}
.site-publico #shop.produto-pagina .produto-favorito {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  color: var(--cor);
}
.site-publico #shop.produto-pagina .produto-partilhas {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.site-publico #shop.produto-pagina .produto-partilhas-rotulo {
  margin-right: 4px;
  font-size: 14px;
  color: var(--texto-suave);
}
.site-publico #shop.produto-pagina .produto-partilha {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid #d5dbe0;
  border-radius: 50%;
  background: #fff;
  color: var(--texto-forte);
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.site-publico #shop.produto-pagina .produto-partilha i {
  padding: 0;
  font-size: 16px;
  line-height: 1;
}
.site-publico #shop.produto-pagina .produto-partilha:hover,
.site-publico #shop.produto-pagina .produto-partilha:focus-visible {
  border-color: var(--cor);
  background: var(--cor);
  color: #fff;
  text-decoration: none;
}
.site-publico #shop.produto-pagina #produto-partilha-feedback {
  flex-basis: 100%;
  max-width: 100%;
  margin: 0;
  font-size: 13px;
  color: var(--texto-suave);
  overflow-wrap: anywhere;
}
.site-publico #shop.produto-pagina #produto-partilha-feedback:empty {
  display: none;
}
.site-publico #shop.produto-pagina .produto-detalhes {
  margin-top: 48px;
  padding-top: 32px;
  border-top: 1px solid var(--borda);
  scroll-margin-top: 200px;
}
.site-publico #shop.produto-pagina .produto-detalhes h2.sectiontitle {
  margin: 0 0 24px;
}
.site-publico #shop.produto-pagina #avaliacoes {
  scroll-margin-top: 200px;
}
.site-publico #shop.produto-pagina .produto-imagem-modal .modal-content {
  border: 1px solid var(--borda);
  border-radius: var(--raio-m);
}
.site-publico #shop.produto-pagina .produto-imagem-modal .modal-header {
  align-items: center;
  padding: 16px 24px;
  border-bottom: 1px solid var(--borda);
}
.site-publico #shop.produto-pagina .produto-imagem-modal h2.modal-title {
  font-size: 18px;
  font-weight: 600;
  line-height: 24px;
}
.site-publico #shop.produto-pagina .produto-fechar-imagem {
  flex: none;
  width: 44px;
  height: 44px;
  margin-left: 16px;
  border: 0;
  border-radius: var(--raio-s);
  background: none;
  color: var(--cor);
  cursor: pointer;
}
.site-publico #shop.produto-pagina .produto-imagem-modal .modal-body {
  padding: 24px;
}
.site-publico #shop.produto-pagina #produto-fotografia-ampliada {
  display: block;
  width: 100%;
  max-height: 70vh;
  object-fit: contain;
}
@media (max-width: 991.98px) {
  .site-publico #shop.produto-pagina .produto-principal {
    gap: 32px;
  }
  .site-publico #shop.produto-pagina .product-title {
    font-size: 26px;
    line-height: 34px;
  }
  .site-publico #shop.produto-pagina .produto-compra-linha {
    flex-wrap: wrap;
  }
  .site-publico #shop.produto-pagina .produto-adicionar {
    flex-basis: 100%;
  }
}
@media (max-width: 767.98px) {
  .site-publico #shop.produto-pagina .produto-principal {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }
  .site-publico #shop.produto-pagina .produto-imagem-moldura {
    max-height: 420px;
  }
  .site-publico #shop.produto-pagina .produto-ampliar {
    padding: 8px;
  }
  .site-publico #shop.produto-pagina .produto-ampliar-legenda {
    right: 18px;
    bottom: 18px;
  }
  .site-publico #shop.produto-pagina .produto-imagem-moldura > .in_promo,
  .site-publico #shop.produto-pagina .produto-imagem-moldura > .in_promo_gift {
    top: 18px;
    left: 18px;
  }
  .site-publico #shop.produto-pagina .product-title {
    font-size: 24px;
    line-height: 32px;
  }
  .site-publico #shop.produto-pagina .produto-precos {
    margin-top: 24px;
  }
  .site-publico #shop.produto-pagina .produto-compra {
    margin-top: 24px;
  }
  .site-publico #shop.produto-pagina .produto-detalhes {
    margin-top: 32px;
    padding-top: 24px;
  }
}
.site-publico .site-conteudo > .container.produto-avaliacoes-container,
.site-publico .site-conteudo > .container.produto-relacionados {
  padding-top: 0;
  padding-bottom: 48px !important;
}
.site-publico .produto-relacionados h2.sectiontitle {
  margin-top: 0;
}
.site-publico .produto-avaliacoes-seccao {
  padding-top: 32px;
  border-top: 1px solid var(--borda);
  scroll-margin-top: 180px;
}
.site-publico .produto-avaliacoes-seccao h2.sectiontitle {
  margin: 0 0 24px;
}
.site-publico .produto-avaliacoes-seccao .produto-avaliacoes-grelha {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: start;
  gap: 48px;
}
.site-publico .produto-avaliacoes-seccao .produto-avaliacoes-total {
  margin: 0 0 16px;
  font-size: 15px;
  font-weight: 500;
  color: var(--texto-suave);
}
.site-publico .produto-avaliacoes-seccao .produto-avaliacoes-vazio {
  margin: 0 0 8px;
  font-size: 17px;
  font-weight: 500;
}
.site-publico .produto-avaliacoes-seccao .produto-avaliacoes-convite {
  margin: 0;
  font-size: 15px;
  line-height: 24px;
  color: var(--texto-suave);
}
.site-publico .produto-avaliacoes-seccao .produto-avaliacao {
  padding: 20px 0;
  border-bottom: 1px solid var(--borda);
}
.site-publico .produto-avaliacoes-seccao .produto-avaliacao:first-of-type {
  padding-top: 0;
}
.site-publico .produto-avaliacoes-seccao .produto-avaliacao-cabecalho {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 16px;
  margin-bottom: 12px;
  font-size: 15px;
  line-height: 24px;
}
.site-publico .produto-avaliacoes-seccao .produto-avaliacao-cabecalho strong {
  font-weight: 600;
}
.site-publico .produto-avaliacoes-seccao .produto-avaliacao-estrelas {
  display: inline-flex;
  gap: 4px;
  font-size: 13px;
  color: #936204;
}
.site-publico .produto-avaliacoes-seccao .produto-avaliacao p {
  margin: 0;
  font-size: 16px;
  line-height: 28px;
  overflow-wrap: anywhere;
  white-space: pre-line;
}
.site-publico .produto-avaliacoes-seccao .pagination {
  margin-top: 24px;
}
.site-publico .produto-avaliacoes-seccao .produto-avaliacao-formulario,
.site-publico .produto-avaliacoes-seccao .produto-avaliacao-entrar {
  display: flex;
  flex-direction: column;
  align-items: start;
  gap: 24px;
  min-width: 0;
  margin: 0;
  padding: 28px;
  border: 1px solid var(--borda);
  border-radius: var(--raio-m);
  background: var(--superficie);
}
.site-publico .produto-avaliacoes-seccao h3 {
  margin: 0;
  font-size: 20px;
  font-weight: 600;
  line-height: 28px;
}
.site-publico .produto-avaliacoes-seccao .produto-avaliacao-entrar p {
  margin: 0;
  font-size: 15px;
  line-height: 24px;
  color: var(--texto-suave);
}
.site-publico .produto-avaliacoes-seccao .produto-classificacao {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.site-publico .produto-avaliacoes-seccao .produto-classificacao legend,
.site-publico .produto-avaliacoes-seccao .produto-avaliacao-campo > label {
  display: block;
  float: none;
  width: auto;
  margin: 0 0 8px;
  padding: 0;
  font-size: 14px;
  font-weight: 500;
  line-height: 24px;
}
.site-publico .produto-avaliacoes-seccao .produto-classificacao legend span,
.site-publico .produto-avaliacoes-seccao .produto-avaliacao-campo > label span {
  font-weight: 400;
  color: var(--texto-suave);
}
.site-publico .produto-avaliacoes-seccao .produto-estrelas {
  display: flex;
  gap: 4px;
}
.site-publico .produto-avaliacoes-seccao .produto-estrela {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin: 0;
  border-radius: var(--raio-s);
  font-size: 24px;
  color: var(--texto-suave);
  cursor: pointer;
}
.site-publico .produto-avaliacoes-seccao .produto-estrela input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.site-publico .produto-avaliacoes-seccao .produto-estrela:has(input:checked),
.site-publico .produto-avaliacoes-seccao .produto-estrela:has(~ .produto-estrela input:checked) {
  color: #936204;
}
.site-publico .produto-avaliacoes-seccao .produto-estrela:has(input:checked) > i,
.site-publico .produto-avaliacoes-seccao .produto-estrela:has(~ .produto-estrela input:checked) > i {
  font-weight: 900;
}
.site-publico .produto-avaliacoes-seccao .produto-estrela:hover {
  background: var(--cor-clara);
}
.site-publico .produto-avaliacoes-seccao .produto-estrela:has(input:focus-visible) {
  outline: 3px solid var(--cor);
  outline-offset: 2px;
}
.site-publico .produto-avaliacoes-seccao .produto-avaliacao-campo {
  width: 100%;
  min-width: 0;
}
.site-publico .produto-avaliacoes-seccao .produto-avaliacao-campo textarea {
  display: block;
  width: 100%;
  min-height: 140px;
  margin: 0;
  padding: 12px;
  border: 1px solid var(--borda);
  border-radius: var(--raio-s);
  font-size: 16px;
  line-height: 24px;
  resize: vertical;
}
.site-publico .produto-avaliacoes-seccao #produto-avaliacao-ajuda {
  margin: 8px 0 0;
  font-size: 13px;
  line-height: 20px;
  color: var(--texto-suave);
}
.site-publico .produto-avaliacoes-seccao .produto-avaliacao-formulario > .btn {
  align-self: end;
}
@media (max-width: 767.98px) {
  .site-publico .produto-avaliacoes-seccao .produto-avaliacoes-grelha {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
  .site-publico .produto-avaliacoes-seccao .produto-avaliacao-formulario,
  .site-publico .produto-avaliacoes-seccao .produto-avaliacao-entrar {
    padding: 20px;
  }
  .site-publico .produto-avaliacoes-seccao .produto-avaliacao-formulario > .btn {
    width: 100%;
  }
}
.site-publico .lista-barra {
  gap: 8px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--borda);
}
.site-publico .shopFilters h5 {
  margin: 24px 0 12px;
  font-size: var(--t-pequeno, 14px);
  font-weight: 600;
  color: var(--texto-forte);
}
.site-publico #shopcart .tablehead,
.site-publico #shopcart .box-total-cart {
  background: var(--cor-clara);
}
.site-publico #shopcart .tablehead {
  padding-top: 16px;
  padding-bottom: 16px;
  border-radius: var(--raio-s);
}
.site-publico #shopcart .productline {
  padding-top: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--borda);
}
.site-publico #shopcart .cart-cupao,
.site-publico #shopcart .cart-totais {
  height: auto;
  margin-bottom: 24px;
  padding: 24px;
  border: 1px solid var(--borda);
  border-radius: var(--raio-m);
}
.site-publico #shopcart .cart-cupao .form-control {
  min-width: 0;
}
.site-publico #shopcart .cart-totais .value-subtotal,
.site-publico #shopcart .cart-totais .value-total {
  white-space: nowrap;
}
.site-publico #checkout .setup-panel {
  gap: 8px;
  padding: 0;
}
.site-publico #checkout .setup-panel > li {
  border: 1px solid var(--borda);
  border-radius: var(--raio-s);
  background: var(--cor-clara);
}
.site-publico #checkout .setup-panel > li.active {
  border-color: var(--cor);
}
.site-publico .site-conteudo .panel {
  padding: 24px;
  border: 1px solid var(--borda);
  border-radius: var(--raio-m);
}
.site-publico .site-conteudo .alert {
  padding: 20px 24px;
  border-radius: var(--raio-s);
}
.site-publico .site-conteudo .pagination {
  flex-wrap: wrap;
  gap: 8px;
}
.site-publico .site-conteudo .page-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  border: 1px solid var(--borda);
  border-radius: var(--raio-s);
  color: var(--cor);
  line-height: 1;
  text-align: center;
}
.site-publico .site-conteudo .page-item.active .page-link {
  border-color: var(--cor);
  background: var(--cor);
  color: #fff;
}
.site-publico .bs-calendar-wrapper {
  gap: 24px;
}
.site-publico .bs-calendar-wrapper #bs-calendar {
  max-width: 100%;
  margin-right: 0 !important;
  padding: 16px;
  border: 1px solid var(--borda);
  border-radius: var(--raio-m);
}
.site-publico .bs-appointment {
  gap: 24px;
}
.site-publico .bs-calendar-slots {
  gap: 8px;
  margin: 0;
}
.site-publico .bs-calendar-actions .btn-agendamento {
  border: 1px solid var(--cor);
  background: var(--cor);
  color: #fff;
}
.site-publico #bs-calendar div.active,
.site-publico .btn-slot.active,
.site-publico .btn-slot:focus {
  background-color: var(--cor-clara) !important;
  color: var(--cor) !important;
}
.site-publico .btn-slot {
  border: 1px solid var(--borda);
  border-radius: var(--raio-s);
  color: var(--cor);
}
.site-publico .pagina-estado-cartao {
  max-width: 720px;
  margin: 0 auto;
  padding: 40px;
  border: 1px solid var(--borda);
  border-radius: var(--raio-m);
  text-align: center;
}
.site-publico .pagina-estado-codigo {
  display: block;
  margin-bottom: 24px;
  font-size: 64px;
  font-weight: 600;
  line-height: 1;
  color: var(--cor);
}
.site-publico .reserved-conteudo {
  padding: 32px 0 64px;
  font-size: 16px;
  line-height: 26px;
  color: var(--texto-forte);
}
.site-publico .reserved-conteudo > .container,
.site-publico .reserved-conteudo > .Fetchable > .container,
.site-publico .reserved-conteudo > form > .container,
.site-publico .reserved-conteudo > .Channel > .container {
  margin-bottom: 24px;
  padding-top: 0;
  padding-bottom: 0;
}
.site-publico .reserved-conteudo > .container:last-child,
.site-publico .reserved-conteudo > form > .container:last-child {
  margin-bottom: 0;
}
.site-publico .reserved-conteudo .container {
  min-width: 0;
}
.site-publico .reserved-conteudo .row > [class*=col-] {
  min-width: 0;
}
.site-publico .reserved-conteudo :where(h2) {
  margin: 0 0 24px;
  font-size: 28px;
  line-height: 36px;
}
.site-publico .reserved-conteudo :where(h3) {
  margin: 0 0 20px;
  font-size: 22px;
  line-height: 30px;
}
.site-publico .reserved-conteudo :where(h4) {
  margin: 0 0 20px;
  font-size: 20px;
  line-height: 28px;
}
.site-publico .reserved-conteudo :where(h5) {
  margin: 0 0 16px;
  font-size: 18px;
  line-height: 26px;
}
.site-publico .reserved-conteudo :where(h6) {
  font-size: 16px;
  line-height: 24px;
}
.site-publico .reserved-conteudo p {
  margin-bottom: 16px;
}
.site-publico .reserved-conteudo small {
  font-size: 13px;
  line-height: 22px;
}
.site-publico .reserved-conteudo label {
  font-size: 14px;
  line-height: 22px;
}
.site-publico .reserved-conteudo :where(a:not(.btn)) {
  color: var(--cor);
  text-underline-offset: 3px;
}
.site-publico .reserved-conteudo :where(a:not(.btn)):hover {
  text-decoration: underline;
}
.site-publico .reserved-conteudo .form-group {
  margin-bottom: 24px;
}
.site-publico .reserved-conteudo .form-control,
.site-publico .reserved-conteudo .custom-select {
  min-height: 48px;
  padding: 10px 14px;
  font-size: 16px;
}
.site-publico .reserved-conteudo input[type=checkbox],
.site-publico .reserved-conteudo input[type=radio] {
  accent-color: var(--cor);
}
.site-publico .reserved-conteudo .form-control:disabled,
.site-publico .reserved-conteudo .form-control[readonly] {
  background: var(--cor-clara);
  opacity: 1;
}
.site-publico .reserved-conteudo textarea.form-control {
  height: auto;
}
.site-publico .reserved-conteudo .form-label-group {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 0;
}
.site-publico .reserved-conteudo .form-label-group > label,
.site-publico .reserved-conteudo .form-label-group > input:not(:placeholder-shown) ~ label {
  position: static;
  order: -1;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  transform: none;
  font-size: 14px;
  line-height: 22px;
  color: var(--texto-forte);
  pointer-events: auto;
}
.site-publico .reserved-conteudo .form-label-group > input,
.site-publico .reserved-conteudo .form-label-group > input:not(:placeholder-shown),
.site-publico .reserved-conteudo .form-label-group > select.form-control {
  height: 48px;
  padding: 10px 14px;
}
.site-publico .reserved-conteudo .form-label-group > input::placeholder {
  color: transparent !important;
}
.site-publico .reserved-conteudo label.error {
  display: block;
  margin-top: 6px;
  font-size: 13px;
  color: #a52834;
}
.site-publico .reserved-conteudo .form-label-group > label.error[for] {
  position: absolute;
  top: 100%;
  left: 0;
  order: 0;
  margin: 2px 0 0;
  font-size: 13px;
  font-weight: 400;
  line-height: 16px;
  color: #a52834 !important;
}
.site-publico .reserved-conteudo .alert.alert-danger,
.site-publico .reserved-conteudo .alert.alert-warning {
  padding: 10px 14px;
  border: 0;
  border-left: 3px solid;
  line-height: 20px;
  font-size: 14px;
}
.site-publico .reserved-conteudo .alert.alert-danger {
  border-left-color: #a52834;
  background: #fdf6f7;
  color: #a52834;
}
.site-publico .reserved-conteudo .alert.alert-warning {
  border-left-color: #c98a1b;
  background: #fffaf0;
  color: #7a5300;
}
.site-publico .reserved-conteudo #login-erro.alert {
  margin: 0 0 16px;
}
.site-publico .reserved-conteudo .row > .alert.alert-danger,
.site-publico .reserved-conteudo .row > .alert.alert-warning {
  margin-right: 15px;
  margin-left: 15px;
}
.site-publico .reserved-conteudo .form-label-group > .form-control.error {
  border-color: #a52834;
}
.site-publico .reserved-conteudo .form-label-group > .form-control.error:focus {
  box-shadow: 0 0 0 3px rgba(165, 40, 52, 0.15);
}
.site-publico .reserved-conteudo .btn {
  min-height: 44px;
}
.site-publico .reserved-conteudo .btn-secondary,
.site-publico .reserved-conteudo .btn-agendamento {
  border: 1px solid var(--borda);
  background: var(--cor-clara);
  color: var(--cor);
}
.site-publico .reserved-conteudo .btn-secondary:hover,
.site-publico .reserved-conteudo .btn-agendamento:hover {
  border-color: var(--cor);
  background: var(--cor-clara);
  color: var(--cor);
}
.site-publico .reserved-conteudo .btn-outline-danger {
  border-color: #b12b38;
  background: #fff;
  color: #b12b38;
}
.site-publico .reserved-conteudo .btn-outline-danger:hover {
  background: #b12b38;
  color: #fff;
}
.site-publico .reserved-conteudo .btn-outline-danger i,
.site-publico .reserved-conteudo .btn-outline-danger span {
  color: inherit;
}
.site-publico .reserved-conteudo .btn-add-cart-receita {
  border-color: var(--cor);
  background-color: var(--cor);
  color: #fff !important;
}
.site-publico .reserved-conteudo .btn-add-cart-receita:hover,
.site-publico .reserved-conteudo .btn-add-cart-receita:focus-visible,
.site-publico .reserved-conteudo .btn-add-cart-receita-clicked {
  border-color: color-mix(in srgb, var(--cor) 88%, #000);
  background-color: color-mix(in srgb, var(--cor) 88%, #000);
  color: #fff !important;
}
.site-publico .reserved-conteudo .btns-minus-add-cart .input-group {
  flex-wrap: nowrap;
  width: 100%;
  min-width: 136px;
}
.site-publico .reserved-conteudo .btns-minus-add-cart .input-group .btn {
  min-width: 40px;
  padding: 0 8px;
  border-radius: var(--raio-s);
}
.site-publico .reserved-conteudo .btns-minus-add-cart .input-group .form-control {
  min-width: 40px;
  padding: 0 4px;
  text-align: center !important;
}
.site-publico .reserved-conteudo .cart-reserved .product-line > :nth-child(4) > .row {
  width: 100%;
  flex-wrap: nowrap;
  align-items: end;
  gap: 12px;
  margin: 0;
}
.site-publico .reserved-conteudo .cart-reserved .product-line .btns-minus-add-cart {
  flex: 1 1 0;
  max-width: none;
  padding: 0;
}
.site-publico .reserved-conteudo .cart-reserved .product-line > :nth-child(4) > .row > :last-child {
  flex: none;
  width: auto;
  max-width: none;
  padding: 0;
}
.site-publico .reserved-conteudo .content-separator {
  margin: 0 0 20px;
}
.site-publico .reserved-conteudo .content-separator h5 {
  padding-top: 0;
}
.site-publico .reserved-conteudo .separator {
  height: 1px;
  margin: 12px 0 0;
  border: 0;
  background: var(--borda);
}
.site-publico .reserved-conteudo .account,
.site-publico .reserved-conteudo .addresses,
.site-publico .reserved-conteudo .cart-reserved,
.site-publico .reserved-conteudo .encomenda,
.site-publico .reserved-conteudo .contacorrente,
.site-publico .reserved-conteudo .registo-clinico,
.site-publico .reserved-conteudo .parama-bio,
.site-publico .reserved-conteudo .receita {
  border-color: var(--borda);
  border-radius: var(--raio-m);
  background: var(--superficie);
}
.site-publico .reserved-conteudo .account .contentInfo {
  margin: 4px 0 20px;
  font-size: 16px;
  font-weight: 500;
  line-height: 26px;
  overflow-wrap: anywhere;
}
.site-publico .reserved-conteudo .account label.headerInfo {
  margin-bottom: 0;
  color: var(--texto-suave);
}
.site-publico .reserved-conteudo .account .spacer {
  margin-top: 0;
  margin-bottom: 24px;
}
.site-publico .reserved-conteudo .account .form-control {
  margin-bottom: 0;
}
.site-publico .reserved-conteudo .account .depend-lines {
  padding: 16px 0;
  border-bottom: 1px solid var(--borda);
}
.site-publico .reserved-conteudo .account .depend-lines .row * {
  margin-top: 0;
  margin-bottom: 0;
}
.site-publico .reserved-conteudo .form-label-group > select.form-control {
  height: 3rem;
}
.site-publico .reserved-conteudo .create-account-rgpd .create-account-terms label.form-check-label {
  left: 19px;
}
.site-publico .reserved-conteudo .container.account {
  margin-bottom: 24px;
  padding: 12px 32px 20px;
  border: 1px solid var(--borda);
  box-shadow: 0 1px 2px color-mix(in srgb, var(--texto-forte) 6%, transparent);
}
.site-publico .reserved-conteudo .account .content-separator {
  margin: 20px 0 16px;
}
.site-publico .reserved-conteudo .account .content-separator h5:not(.card-title) {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--texto-forte);
}
.site-publico .reserved-conteudo .account .content-separator h5:not(.card-title)::before {
  content: "";
  flex: none;
  width: 4px;
  height: 18px;
  border-radius: 2px;
  background: var(--cor);
}
.site-publico .reserved-conteudo .container.account.account-eliminar {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.site-publico .reserved-conteudo .account .content-separator .separator {
  margin-top: 10px;
  background: color-mix(in srgb, var(--cor) 18%, var(--borda));
}
.site-publico .reserved-conteudo .account label.headerInfo {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.site-publico .reserved-conteudo .account .contentInfo {
  margin-bottom: 18px;
  color: var(--texto-forte);
}
.site-publico .reserved-conteudo .account .row > div:has(> label.headerInfo) {
  display: flex;
  flex-direction: column;
}
.site-publico .reserved-conteudo .account .row > div:has(> label.headerInfo) > label.headerInfo + * {
  margin-top: auto;
}
.site-publico .reserved-conteudo .account .form-check input[type=checkbox][disabled] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.site-publico .reserved-conteudo .account .form-check input[type=checkbox][disabled] + label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0 6px 8px 0;
  padding: 4px 12px;
  border: 1px solid var(--borda);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  color: var(--texto-suave);
  cursor: default;
}
.site-publico .reserved-conteudo .account .form-check input[type=checkbox][disabled] + label::before {
  content: "\f00d";
  font: 900 10px/1 "Font Awesome 5 Free", sans-serif;
}
.site-publico .reserved-conteudo .account .form-check input[type=checkbox][disabled]:checked + label {
  border-color: color-mix(in srgb, var(--cor) 35%, #fff);
  background: color-mix(in srgb, var(--cor) 10%, #fff);
  color: var(--cor);
}
.site-publico .reserved-conteudo .account .form-check input[type=checkbox][disabled]:checked + label::before {
  content: "\f00c";
}
.site-publico .reserved-conteudo .account .form-check:has(> input[type=checkbox][disabled]) {
  padding-left: 0;
}
@media (max-width: 575.98px) {
  .site-publico .reserved-conteudo .container.account {
    padding: 8px 18px 14px;
  }
}
.site-publico .reserved-conteudo .card-team,
.site-publico .reserved-conteudo .card {
  border: 1px solid var(--borda);
  border-radius: var(--raio-m);
  box-shadow: none;
}
.site-publico .reserved-conteudo .card-body {
  padding: 24px;
}
.site-publico .reserved-conteudo .morada,
.site-publico .reserved-conteudo .moradadep {
  margin-bottom: 24px;
}
.site-publico .reserved-conteudo .card-text p {
  margin-bottom: 8px;
}
.site-publico .reserved-conteudo .card-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  cursor: pointer;
}
.site-publico .reserved-conteudo #divFormularioMorada {
  box-sizing: border-box;
  width: min(1170px, 100% - 40px);
  max-width: none;
  margin-right: auto;
  margin-left: auto;
  padding: 24px;
  border: 1px solid var(--borda);
  background-color: var(--cor-clara) !important;
}
.site-publico .reserved-conteudo .cart-header,
.site-publico .reserved-conteudo .account-header,
.site-publico .reserved-conteudo .table-header {
  padding: 10px 0;
  border-radius: var(--raio-s);
  background: var(--cor-clara);
}
.site-publico .reserved-conteudo .cart-header .cart-header-item,
.site-publico .reserved-conteudo .account-header .account-header-item {
  background: transparent;
  font-size: 14px;
}
.site-publico .reserved-conteudo .product-line {
  align-items: center;
  row-gap: 16px;
  padding: 24px 0;
  border-bottom: 1px solid var(--borda);
}
.site-publico .reserved-conteudo .product-line img {
  display: block;
  max-width: 100%;
  max-height: 120px;
  object-fit: contain;
}
.site-publico .reserved-conteudo .product-line input {
  text-align: center;
}
.site-publico .reserved-conteudo .cart-col-title {
  font-size: 15px;
  font-weight: 500;
}
.site-publico .reserved-conteudo .cart-reserved .py-2 {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}
.site-publico .reserved-conteudo .doc-lines,
.site-publico .reserved-conteudo .account-lines,
.site-publico .reserved-conteudo .line {
  padding-top: 16px;
  padding-bottom: 16px;
  border-color: var(--borda);
}
.site-publico .reserved-conteudo .order-detail-page .encomenda-line,
.site-publico .reserved-conteudo .order-detail-page .doc-line {
  align-items: center;
  row-gap: 12px;
  padding: 20px 0;
  border-bottom: 1px solid var(--borda);
}
.site-publico .reserved-conteudo .encomenda-line img,
.site-publico .reserved-conteudo .doc-line img {
  display: block;
  width: 100%;
  max-height: 100px;
  object-fit: contain;
}
.site-publico .reserved-conteudo .encomenda-line img.icone-portes,
.site-publico .reserved-conteudo .doc-line img.icone-portes {
  width: 36px;
  max-width: 36px;
  height: 36px;
  max-height: 36px;
  margin: 0 0 0 calc(45% - 18px);
}
.site-publico .reserved-conteudo .encomenda-line > :has(> img.icone-portes),
.site-publico .reserved-conteudo .doc-line > :has(> img.icone-portes) {
  justify-content: center;
}
.site-publico .reserved-conteudo .table-header,
.site-publico .reserved-conteudo .row-order-detail,
.site-publico .reserved-conteudo .row[style*=background],
.site-publico .reserved-conteudo .row:has(> .doc-lines),
.site-publico .reserved-conteudo .row:has(> .cart-header) {
  margin-right: 0;
  margin-left: 0;
}
.site-publico .reserved-conteudo .encomenda .order-detail-page,
.site-publico .reserved-conteudo .historico .order-detail-page,
.site-publico .reserved-conteudo .historico .doc-detail-page {
  padding-right: 15px;
  padding-left: 15px;
}
.site-publico .reserved-conteudo .side-title-detail-page {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.site-publico .reserved-conteudo .side-title-detail-page > .p-2 {
  padding: 0 !important;
}
.site-publico .reserved-conteudo .side-title-detail-page .btn {
  min-height: 40px;
  font-size: 14px;
}
.site-publico .reserved-conteudo .row-order-detail {
  padding-right: 15px;
  padding-left: 15px;
}
.site-publico .reserved-conteudo .reserved-resumo {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
  padding: 20px 24px;
  border-radius: var(--raio-m);
  background: var(--cor-clara);
}
.site-publico .reserved-conteudo .reserved-resumo dt {
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: var(--texto-suave);
}
.site-publico .reserved-conteudo .reserved-resumo dd {
  margin: 4px 0 0;
  font-size: 20px;
  font-weight: 600;
  line-height: 28px;
  font-variant-numeric: tabular-nums;
}
.site-publico .reserved-conteudo .account .form-group,
.site-publico .reserved-conteudo .receita .form-group {
  height: auto;
}
.site-publico .reserved-conteudo .reserved-form-acoes {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 8px;
}
.site-publico .reserved-conteudo .reserved-form-acoes-inicio {
  justify-content: flex-start;
}
.site-publico .reserved-conteudo .receita p small {
  font-size: inherit;
  line-height: inherit;
}
.site-publico .reserved-conteudo .receita p {
  max-width: 760px;
  color: var(--texto-suave);
}
.site-publico .reserved-conteudo .reserved-tabela {
  max-width: 100%;
  margin-bottom: 24px;
  overflow-x: auto;
  border: 1px solid var(--borda);
  border-radius: var(--raio-s);
}
.site-publico .reserved-conteudo .reserved-tabela .table {
  width: 100%;
  margin: 0;
  font-size: 14px;
  line-height: 24px;
}
.site-publico .reserved-conteudo .table th {
  padding: 12px 16px;
  border-top: 0;
  border-bottom: 1px solid var(--borda);
  background: var(--cor-clara);
  font-weight: 600;
  white-space: nowrap;
}
.site-publico .reserved-conteudo .table td {
  padding: 16px;
  border-top: 1px solid var(--borda);
  vertical-align: middle;
}
.site-publico .reserved-conteudo .table-striped tbody tr:nth-of-type(odd) {
  background: color-mix(in srgb, var(--cor) 3%, #fff);
}
.site-publico .reserved-conteudo .modal-content {
  border: 1px solid var(--borda);
  border-radius: var(--raio-m);
}
.site-publico .reserved-conteudo .modal-header,
.site-publico .reserved-conteudo .modal-body,
.site-publico .reserved-conteudo .modal-footer {
  padding: 24px;
}
.site-publico .reserved-conteudo .modal-header .close {
  min-width: 44px;
  min-height: 44px;
}
.site-publico .reserved-conteudo .alert {
  padding: 20px 24px;
  border-radius: var(--raio-s);
  font-size: 15px;
  line-height: 24px;
}
.site-publico .reserved-conteudo .alert p:last-child {
  margin-bottom: 0;
}
.site-publico .reserved-conteudo .pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 24px 0 0;
}
.site-publico .reserved-conteudo .page-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  border-color: var(--borda);
  border-radius: var(--raio-s);
}
.site-publico .reserved-conteudo #login {
  padding-top: 0;
  padding-bottom: 0;
}
.site-publico .reserved-conteudo #login form {
  flex: 0 1 520px;
  width: 100%;
  max-width: 520px;
  margin: 0 auto;
  padding: 32px;
  border: 1px solid var(--borda);
  border-radius: var(--raio-m);
  background: var(--superficie);
}
.site-publico .reserved-conteudo #login .form-group:last-child {
  margin-bottom: 0;
}
.site-publico .reserved-conteudo #login .form-group[class*=offset-] {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  padding: 0;
}
.site-publico .reserved-conteudo .reserved-login-opcoes {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 16px;
  margin-bottom: 24px;
  font-size: 14px;
}
.site-publico .reserved-conteudo .reserved-login-opcoes .custom-control {
  display: flex;
  align-items: center;
  min-height: 44px;
}
.site-publico .reserved-conteudo .reserved-login-opcoes > a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}
.site-publico .reserved-conteudo .reserved-autenticacao .form-group:has(+ .reserved-login-opcoes) {
  margin-bottom: 0;
}
.site-publico .reserved-conteudo .reserved-login-registo {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid var(--borda);
}
.site-publico .reserved-conteudo .reserved-login-registo p {
  margin-bottom: 12px;
  font-size: 14px;
  color: var(--texto-suave);
}
.site-publico .reserved-conteudo.reserved-checkout {
  padding: 0;
  min-height: 100vh;
  font-size: 16px;
}
.site-publico .reserved-conteudo.reserved-checkout .checkout-main-content,
.site-publico .reserved-conteudo.reserved-checkout .checkout-summary {
  width: 100%;
  max-width: 720px;
}
.site-publico .reserved-conteudo.reserved-checkout .checkout-main-column {
  padding: 32px;
}
.site-publico .reserved-conteudo.reserved-checkout .checkout-cart-right {
  padding: 32px;
  border-left: 1px solid var(--borda);
  background: var(--cor-clara);
}
.site-publico .reserved-conteudo.reserved-checkout .checkout-main-column .checkout-main-content {
  padding: 0;
}
.site-publico .reserved-conteudo.reserved-checkout .checkout-main-content .container {
  max-width: 100%;
  padding-top: 0;
  padding-bottom: 0;
}
.site-publico .reserved-conteudo.reserved-checkout .checkout-desktop-logo img,
.site-publico .reserved-conteudo.reserved-checkout .chekout-brand-logo-mobile img,
.site-publico .reserved-conteudo.reserved-checkout .checkout-main-content > .row:first-child img {
  width: auto;
  max-width: 200px;
  max-height: 64px;
  object-fit: contain;
}
.site-publico .reserved-conteudo.reserved-checkout .navigation-row {
  margin-top: 24px;
  margin-bottom: 24px;
}
.site-publico .reserved-conteudo.reserved-checkout .checkout-navigation {
  gap: 8px;
  font-size: 14px;
}
.site-publico .reserved-conteudo.reserved-checkout .checkout-navigation a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}
.site-publico .reserved-conteudo.reserved-checkout .checkout-reserved {
  margin-bottom: 24px;
  border: 0;
  border-radius: 0;
}
.site-publico .reserved-conteudo.reserved-checkout .checkout-summary .product-line {
  padding: 16px 0;
}
.site-publico .reserved-conteudo.reserved-checkout .payment-content {
  padding-bottom: 48px;
}
.site-publico .reserved-conteudo.reserved-checkout .jumbotron {
  padding: 32px;
  border: 1px solid var(--borda);
  border-radius: var(--raio-m);
  background: var(--cor-clara);
}
.site-publico .reserved-conteudo.reserved-checkout .checkout-main-content.pagamento-pagina {
  max-width: 880px;
  padding: 32px 24px 48px;
}
.site-publico .reserved-conteudo.reserved-checkout .checkout-main-content.pagamento-pagina .pagamento-marca {
  padding: 0 0 28px;
  text-align: center;
}
.site-publico .reserved-conteudo.reserved-checkout .checkout-main-content.pagamento-pagina .pagamento-titulo {
  margin: 0 0 12px;
  font-size: 30px;
  font-weight: 600;
  line-height: 1.3;
  text-align: center;
}
.site-publico .reserved-conteudo.reserved-checkout .checkout-main-content.pagamento-pagina .pagamento-subtitulo {
  margin: 0 0 32px;
  color: var(--texto-suave);
  text-align: center;
}
.site-publico .reserved-conteudo.reserved-checkout .checkout-main-content.pagamento-pagina .payment-content {
  padding-bottom: 8px;
}
.site-publico .reserved-conteudo.reserved-checkout .checkout-main-content.pagamento-pagina .pagamento-painel {
  flex: 0 1 640px;
  max-width: 640px;
}
.site-publico .reserved-conteudo.reserved-checkout .checkout-main-content.pagamento-pagina .pagamento-estado {
  margin-top: 24px;
}
.site-publico .reserved-conteudo.reserved-checkout .checkout-main-content.pagamento-pagina .jumbotron {
  margin-bottom: 16px;
  padding: 32px;
  background: var(--superficie);
  text-align: left;
}
.site-publico .reserved-conteudo.reserved-checkout .checkout-main-content.pagamento-pagina .jumbotron p {
  margin: 16px 0 0;
  font-size: 16px;
  line-height: 26px;
}
.site-publico .reserved-conteudo.reserved-checkout .checkout-main-content.pagamento-pagina .jumbotron > img {
  display: block;
  max-width: 130px;
  margin: 0 auto 24px;
}
.site-publico .reserved-conteudo.reserved-checkout .checkout-main-content.pagamento-pagina .jumbotron > .fa {
  font-size: 40px;
  color: var(--cor);
}
.site-publico .reserved-conteudo.reserved-checkout .checkout-main-content.pagamento-pagina .jumbotron small {
  font-size: inherit;
  line-height: inherit;
}
.site-publico .reserved-conteudo.reserved-checkout .checkout-main-content.pagamento-pagina .pagamento-metodo {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-bottom: 28px;
}
.site-publico .reserved-conteudo.reserved-checkout .checkout-main-content.pagamento-pagina .pagamento-metodo > img {
  flex: none;
  width: 104px;
  height: auto;
  object-fit: contain;
}
.site-publico .reserved-conteudo.reserved-checkout .checkout-main-content.pagamento-pagina .pagamento-metodo h2 {
  margin: 0 0 8px;
  font-size: 22px;
  line-height: 30px;
}
.site-publico .reserved-conteudo.reserved-checkout .checkout-main-content.pagamento-pagina .pagamento-metodo p {
  margin: 0;
  color: var(--texto-suave);
}
.site-publico .reserved-conteudo.reserved-checkout .checkout-main-content.pagamento-pagina .pagamento-total {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 16px;
  margin-bottom: 24px;
  padding: 16px 20px;
  border-radius: var(--raio-s);
  background: var(--cor-clara);
}
.site-publico .reserved-conteudo.reserved-checkout .checkout-main-content.pagamento-pagina .pagamento-total strong {
  font-size: 24px;
  line-height: 32px;
  color: var(--cor);
  white-space: nowrap;
}
.site-publico .reserved-conteudo.reserved-checkout .checkout-main-content.pagamento-pagina #formNrTlm .iti {
  display: block;
  width: 100%;
}
.site-publico .reserved-conteudo.reserved-checkout .checkout-main-content.pagamento-pagina #formNrTlm .form-group {
  margin-bottom: 24px;
}
.site-publico .reserved-conteudo.reserved-checkout .checkout-main-content.pagamento-pagina #formNrTlm label {
  margin-bottom: 8px;
  font-weight: 500;
}
.site-publico .reserved-conteudo.reserved-checkout .checkout-main-content.pagamento-pagina .jumbotron .pagamento-ajuda {
  margin-top: 8px;
  font-size: 13px;
  line-height: 20px;
  color: var(--texto-suave);
}
.site-publico .reserved-conteudo.reserved-checkout .checkout-main-content.pagamento-pagina .pagamento-pagar {
  width: 100%;
  min-height: 48px;
  white-space: normal;
}
.site-publico .reserved-conteudo.reserved-checkout .checkout-main-content.pagamento-pagina .pagamento-voltar {
  min-height: 44px;
}
@media (max-width: 575.98px) {
  .site-publico .reserved-conteudo.reserved-checkout .checkout-main-content.pagamento-pagina {
    padding: 24px 20px 32px;
  }
  .site-publico .reserved-conteudo.reserved-checkout .checkout-main-content.pagamento-pagina .pagamento-titulo {
    font-size: 24px;
  }
  .site-publico .reserved-conteudo.reserved-checkout .checkout-main-content.pagamento-pagina .pagamento-subtitulo {
    margin-bottom: 24px;
  }
  .site-publico .reserved-conteudo.reserved-checkout .checkout-main-content.pagamento-pagina .pagamento-painel {
    padding-right: 0;
    padding-left: 0;
  }
  .site-publico .reserved-conteudo.reserved-checkout .checkout-main-content.pagamento-pagina .pagamento-estado {
    margin-top: 16px;
  }
  .site-publico .reserved-conteudo.reserved-checkout .checkout-main-content.pagamento-pagina .pagamento-estado > .row {
    margin-right: 0;
    margin-left: 0;
  }
  .site-publico .reserved-conteudo.reserved-checkout .checkout-main-content.pagamento-pagina .jumbotron {
    padding: 24px 20px;
  }
  .site-publico .reserved-conteudo.reserved-checkout .checkout-main-content.pagamento-pagina .pagamento-metodo {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }
  .site-publico .reserved-conteudo.reserved-checkout .checkout-main-content.pagamento-pagina .pagamento-metodo h2 {
    font-size: 20px;
    line-height: 28px;
  }
  .site-publico .reserved-conteudo.reserved-checkout .checkout-main-content.pagamento-pagina .pagamento-total {
    padding: 12px 16px;
  }
}
@media (max-width: 767.98px) {
  .site-publico .reserved-conteudo {
    padding: 24px 0 48px;
  }
  .site-publico .reserved-conteudo :where(h2) {
    font-size: 24px;
    line-height: 32px;
  }
  .site-publico .reserved-conteudo :where(h3) {
    font-size: 20px;
    line-height: 28px;
  }
  .site-publico .reserved-conteudo .btn {
    padding-right: 16px;
    padding-left: 16px;
  }
  .site-publico .reserved-conteudo .container {
    padding-right: 20px;
    padding-left: 20px;
  }
  .site-publico .reserved-conteudo .cart-reserved .cart-row-header {
    display: none;
  }
  .site-publico .reserved-conteudo .cart-reserved .product-line {
    margin-right: 0;
    margin-left: 0;
    padding: 20px;
    border: 1px solid var(--borda);
    border-radius: var(--raio-m);
  }
  .site-publico .reserved-conteudo .cart-reserved .product-line + .product-line {
    margin-top: 16px;
  }
  .site-publico .reserved-conteudo .cart-reserved .product-line > [class*=col-] {
    padding: 0;
  }
  .site-publico .reserved-conteudo .cart-reserved .product-line > :first-child {
    display: flex;
    justify-content: center;
  }
  .site-publico .reserved-conteudo .cart-reserved .product-line > :nth-child(n+3) {
    display: flex;
    justify-content: space-between !important;
  }
  .site-publico .reserved-conteudo .cart-reserved .product-line .btns-minus-add-cart {
    flex: 1 1 0;
    width: auto;
    max-width: none;
  }
  .site-publico .reserved-conteudo .cart-reserved .product-line img {
    max-height: 140px;
  }
  .site-publico .reserved-conteudo .order-detail-page .encomenda-line > :first-child,
  .site-publico .reserved-conteudo .order-detail-page .doc-line > :first-child {
    flex: 0 0 88px;
    max-width: 88px;
    padding: 0;
  }
  .site-publico .reserved-conteudo .order-detail-page .encomenda-line > :nth-child(2),
  .site-publico .reserved-conteudo .order-detail-page .doc-line > :nth-child(2) {
    flex: 1 1 0;
    max-width: calc(100% - 88px);
  }
  .site-publico .reserved-conteudo .encomenda-line img,
  .site-publico .reserved-conteudo .doc-line img {
    max-height: 88px;
  }
  .site-publico .reserved-conteudo .encomenda-line img.icone-portes,
  .site-publico .reserved-conteudo .doc-line img.icone-portes {
    width: 32px;
    max-width: 32px;
    height: 32px;
    max-height: 32px;
    margin: 0 auto;
  }
  .site-publico .reserved-conteudo .cart-reserved .py-2 > :first-child:empty {
    display: none;
  }
  .site-publico .reserved-conteudo .cart-reserved .py-2 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 12px;
  }
  .site-publico .reserved-conteudo .cart-reserved .py-2 > [class*=col-] {
    max-width: 100%;
    padding: 0;
  }
  .site-publico .reserved-conteudo .cart-col-title {
    padding-right: 12px;
  }
  .site-publico .reserved-conteudo #login form {
    padding: 24px 20px;
  }
  .site-publico .reserved-conteudo #divFormularioMorada {
    padding: 20px;
  }
  .site-publico .reserved-conteudo .reserved-resumo {
    padding: 16px;
    gap: 8px;
  }
  .site-publico .reserved-conteudo .reserved-form-acoes .btn {
    flex: 1 1 auto;
  }
  .site-publico .reserved-conteudo .side-title-detail-page {
    justify-content: stretch !important;
    margin: 12px 0 16px;
  }
  .site-publico .reserved-conteudo .side-title-detail-page > .p-2,
  .site-publico .reserved-conteudo .side-title-detail-page form,
  .site-publico .reserved-conteudo .side-title-detail-page .btn {
    width: 100%;
  }
  .site-publico .reserved-conteudo .reserved-resumo dd {
    font-size: 17px;
    line-height: 24px;
  }
  .site-publico .reserved-conteudo .table td {
    min-width: 120px;
  }
  .site-publico .reserved-conteudo .table td:last-child {
    min-width: 160px;
  }
  .site-publico .reserved-conteudo .modal-dialog {
    margin: 16px;
  }
  .site-publico .reserved-conteudo.reserved-checkout .checkout-main-column,
  .site-publico .reserved-conteudo.reserved-checkout .checkout-cart-right {
    padding: 24px 20px !important;
    border-left: 0;
  }
  .site-publico .reserved-conteudo.reserved-checkout .checkout-cart-right {
    border-bottom: 1px solid var(--borda);
  }
  .site-publico .reserved-conteudo.reserved-checkout .checkout-reserved,
  .site-publico .reserved-conteudo.reserved-checkout .checkout-main-content .container {
    padding-left: 0;
    padding-right: 0;
  }
  .site-publico .reserved-conteudo.reserved-checkout .chekout-brand-logo-mobile {
    padding: 24px 20px;
    text-align: center;
  }
}
@media (min-width: 768px) and (max-width: 991.98px) {
  .site-publico #topheader .brandContent {
    flex: 0 0 20%;
    max-width: 20%;
    padding-right: 0;
  }
  .site-publico #topheader .brandContent .logo {
    max-width: 120px;
  }
  .site-publico #topheader .search-top-bar {
    flex: 1 1 0;
    min-width: 0;
    max-width: none;
    padding: 0 12px;
  }
  .site-publico #topheader .usercart {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
    padding-left: 8px;
    padding-right: 0;
  }
  .site-publico #topheader .usercart ul.shop-nav {
    gap: 4px;
  }
  .site-publico #topheader .usercart ul.shop-nav li.cabecalho-botao a.btn {
    padding: 0 8px !important;
  }
}
@media (max-width: 374.98px) {
  .site-publico #topheader .usercart {
    position: relative;
    padding: 6px 12px !important;
  }
  .site-publico #topheader .usercart > ul.shop-nav {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 4px;
    width: 100%;
    min-width: 0;
  }
  .site-publico #topheader .usercart ul.shop-nav > li {
    justify-content: center;
    min-width: 0;
  }
  .site-publico #topheader .usercart ul.shop-nav li.cabecalho-botao {
    grid-column: span 3;
  }
  .site-publico #topheader .usercart ul.shop-nav li.cabecalho-botao a.btn {
    width: 100%;
    min-height: 44px;
  }
  .site-publico #topheader .usercart ul.shop-nav li.shopuser {
    grid-column: 3;
    margin-left: 0;
  }
  .site-publico #topheader .usercart ul.shop-nav li.fav-prod {
    grid-column: 4;
  }
  .site-publico #topheader .usercart ul.shop-nav li.carrinho {
    grid-column: 5;
  }
  .site-publico #topheader .usercart ul.shop-nav > li > a,
  .site-publico #topheader .usercart ul.shop-nav > li > .dropdown > a {
    min-width: 44px;
    height: 44px;
  }
  .site-publico #topheader .usercart .navbar-toggler {
    position: absolute;
    right: 12px;
    bottom: 6px;
    width: 44px;
    height: 44px;
    margin: 0;
    justify-content: center;
  }
}
.site-publico .banner-pagina-zona {
  display: flow-root;
  width: 100%;
}
.site-publico .banner-pagina-zona:not([data-banner-anchor=topo]):not(:empty) {
  margin-top: 24px;
  margin-bottom: 24px;
}
.site-publico .banner-pagina {
  margin: 0;
  padding: 0;
}
.site-publico .banner-pagina + .banner-pagina {
  margin-top: 24px;
}
.site-publico .banner-pagina-content, .site-publico .banner-pagina-conteudo {
  width: calc(100% - 40px);
  max-width: 1170px;
  margin-right: auto;
  margin-left: auto;
}
.site-publico .container .banner-pagina-content, .site-publico .container .banner-pagina-conteudo {
  width: 100%;
}
.site-publico .banner-pagina-full, .site-publico .banner-pagina-largo {
  position: relative;
  left: 50%;
  width: 100vw;
  max-width: 100vw;
  margin-left: -50vw;
}
.site-publico .banner-pagina-full img, .site-publico .banner-pagina-largo img {
  max-height: 520px;
  object-fit: cover;
}
.site-publico .banner-pagina.banner-pagina-altura-s img, .site-publico .banner-pagina.banner-pagina-altura-m img, .site-publico .banner-pagina.banner-pagina-altura-l img {
  height: var(--banner-altura);
  max-height: none;
  object-fit: cover;
  object-position: center;
}
.site-publico .banner-pagina-altura-s {
  --banner-altura: 240px;
}
.site-publico .banner-pagina-altura-m {
  --banner-altura: 360px;
}
.site-publico .banner-pagina-altura-l {
  --banner-altura: 480px;
}
@media (max-width: 767.98px) {
  .site-publico .banner-pagina-altura-s {
    --banner-altura: 140px;
  }
  .site-publico .banner-pagina-altura-m {
    --banner-altura: 200px;
  }
  .site-publico .banner-pagina-altura-l {
    --banner-altura: 280px;
  }
}
.site-publico .banner-pagina-zona:has(.banner-pagina-half, .banner-pagina-third) {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  width: calc(100% - 40px);
  max-width: 1170px;
  margin-right: auto;
  margin-left: auto;
}
.container .site-publico .banner-pagina-zona:has(.banner-pagina-half, .banner-pagina-third) {
  width: 100%;
}
.site-publico .banner-pagina-zona:has(.banner-pagina-half, .banner-pagina-third) .banner-pagina {
  flex: 0 0 100%;
  width: 100%;
  max-width: 100%;
  margin: 0;
  left: auto;
}
.site-publico .banner-pagina-zona:has(.banner-pagina-half, .banner-pagina-third) .banner-pagina-half {
  flex-basis: calc(50% - 12px);
  width: calc(50% - 12px);
  max-width: calc(50% - 12px);
}
.site-publico .banner-pagina-zona:has(.banner-pagina-half, .banner-pagina-third) .banner-pagina-third {
  flex-basis: calc(33.333% - 16px);
  width: calc(33.333% - 16px);
  max-width: calc(33.333% - 16px);
}
.site-publico .banner-pagina-zona:has(.banner-pagina-half, .banner-pagina-third) .banner-pagina-half .banner-pagina-imagem, .site-publico .banner-pagina-zona:has(.banner-pagina-half, .banner-pagina-third) .banner-pagina-third .banner-pagina-imagem,
.site-publico .banner-pagina-zona:has(.banner-pagina-half, .banner-pagina-third) .banner-pagina-full .banner-pagina-imagem {
  overflow: hidden;
  border-radius: var(--raio-m);
}
.site-publico .banner-pagina-zona:has(.banner-pagina-half, .banner-pagina-third) .banner-pagina + .banner-pagina {
  margin-top: 0;
}
@media (max-width: 767.98px) {
  .site-publico .banner-pagina-zona:has(.banner-pagina-half, .banner-pagina-third) .banner-pagina-half, .site-publico .banner-pagina-zona:has(.banner-pagina-half, .banner-pagina-third) .banner-pagina-third {
    flex-basis: 100%;
    width: 100%;
    max-width: 100%;
  }
}
.site-publico .banner-pagina-content .banner-pagina-imagem, .site-publico .banner-pagina-conteudo .banner-pagina-imagem,
.site-publico .banner-pagina-half .banner-pagina-imagem, .site-publico .banner-pagina-third .banner-pagina-imagem {
  overflow: hidden;
  border-radius: var(--raio-m);
}
.site-publico .banner-pagina-imagem,
.site-publico .banner-pagina picture,
.site-publico .banner-pagina a {
  display: block;
  width: 100%;
}
.site-publico .banner-pagina img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  object-fit: contain;
}
.site-publico #footer.rodape-publico {
  margin: 0;
  padding: 0;
  background: var(--cor);
  color: #fff;
  font-size: 14px;
  line-height: 24px;
}
.site-publico #footer.rodape-publico h2 {
  margin: 0 0 20px;
  font-size: 15px;
  font-weight: 600;
  line-height: 24px;
  color: #fff;
  letter-spacing: 0;
  text-transform: none;
}
.site-publico #footer.rodape-publico p {
  margin: 0;
  font-size: inherit;
  line-height: inherit;
}
.site-publico #footer.rodape-publico ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.site-publico #footer.rodape-publico li {
  padding: 0;
  font-size: inherit;
  line-height: inherit;
}
.site-publico #footer.rodape-publico a {
  font-size: inherit;
  line-height: inherit;
  color: #fff;
  text-decoration: none;
  text-underline-offset: 4px;
}
.site-publico #footer.rodape-publico a:hover {
  text-decoration: underline;
}
.site-publico #footer.rodape-publico :focus-visible {
  outline-color: #fff !important;
}
.site-publico #footer.rodape-publico .rodape-newsletter {
  padding: 24px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.04);
}
.site-publico #footer.rodape-publico .rodape-newsletter-grelha {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  align-items: center;
  gap: 48px;
}
.site-publico #footer.rodape-publico .rodape-newsletter h2 {
  margin-bottom: 8px;
  font-size: 22px;
  line-height: 30px;
}
.site-publico #footer.rodape-publico .rodape-newsletter-texto p {
  color: rgba(255, 255, 255, 0.82);
}
.site-publico #footer.rodape-publico .rodape-newsletter-formulario {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 4px 12px;
  margin: 0;
}
.site-publico #footer.rodape-publico .rodape-newsletter-campo label {
  display: block;
  margin: 0 0 6px;
  font-size: 12px;
  line-height: 20px;
}
.site-publico #footer.rodape-publico .rodape-newsletter-campo input {
  min-width: 0;
  height: 48px;
  margin: 0;
  border: 1px solid #fff;
  border-radius: var(--raio-s);
  background: #fff;
  font-size: 16px;
  color: var(--texto-forte);
}
.site-publico #footer.rodape-publico .rodape-newsletter-campo input::placeholder {
  color: var(--texto-suave) !important;
  opacity: 1;
}
.site-publico #footer.rodape-publico #formSubscribe .rodape-subscrever {
  width: auto;
  min-height: 48px;
  padding: 10px 24px;
  border: 1px solid #fff;
  border-radius: var(--raio-s);
  background: #fff;
  font-size: 14px;
  font-weight: 600;
  line-height: 24px;
  color: var(--cor);
}
.site-publico #footer.rodape-publico #formSubscribe .rodape-subscrever:hover {
  background: #eaf0f2;
  border-color: #eaf0f2;
}
.site-publico #footer.rodape-publico .rodape-newsletter-ajuda {
  display: flex;
  grid-column: 1/-1;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0 20px;
  font-size: 12px;
  line-height: 20px;
}
.site-publico #footer.rodape-publico .rodape-newsletter-ajuda a,
.site-publico #footer.rodape-publico .rodape-anular {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0;
  border: 0;
  background: none;
  font-size: inherit;
  line-height: inherit;
  color: rgba(255, 255, 255, 0.82);
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.site-publico #footer.rodape-publico .rodape-principal {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) minmax(0, 0.85fr);
  align-items: start;
  gap: 48px;
  padding-top: 32px;
  padding-bottom: 24px;
}
.site-publico #footer.rodape-publico .rodape-logo {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  margin-bottom: 16px;
}
.site-publico #footer.rodape-publico img.logo {
  display: block;
  width: auto;
  max-width: 175px;
  max-height: 52px;
  margin: 0;
  object-fit: contain;
}
.site-publico #footer.rodape-publico .rodape-morada {
  margin: 0;
  font-style: normal;
  color: rgba(255, 255, 255, 0.82);
}
.site-publico #footer.rodape-publico .rodape-morada > a {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: inherit;
}
.site-publico #footer.rodape-publico .rodape-morada > a > i {
  flex: none;
  width: 16px;
  margin-top: 4px;
  text-align: center;
  color: #fff;
}
.site-publico #footer.rodape-publico .rodape-morada > a > span {
  min-width: 0;
  overflow-wrap: anywhere;
}
.site-publico #footer.rodape-publico .rodape-morada > a:hover {
  text-decoration: none;
}
.site-publico #footer.rodape-publico .rodape-morada > a:hover .rodape-morada-texto {
  text-decoration: underline;
}
.site-publico #footer.rodape-publico .rodape-morada-texto {
  display: block;
}
.site-publico #footer.rodape-publico .rodape-morada-direcoes {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  font-size: 12px;
  font-weight: 500;
  color: #fff;
}
.site-publico #footer.rodape-publico .rodape-morada-direcoes > span {
  text-decoration: underline;
}
.site-publico #footer.rodape-publico .rodape-morada-direcoes i {
  font-size: 10px;
}
.site-publico #footer.rodape-publico .rodape-morada p {
  display: inline;
  margin: 0;
}
.site-publico #footer.rodape-publico .rodape-morada p + p::before {
  content: ", ";
}
.site-publico #footer.rodape-publico .rodape-morada br {
  display: none;
}
.site-publico #footer.rodape-publico .rodape-contactos {
  display: flex;
  flex-wrap: wrap;
  gap: 0 16px;
  margin-top: 12px;
}
.site-publico #footer.rodape-publico .rodape-contactos a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 36px;
  max-width: 100%;
}
.site-publico #footer.rodape-publico .rodape-contactos span {
  overflow-wrap: anywhere;
}
.site-publico #footer.rodape-publico .rodape-contactos i {
  flex: none;
  width: 16px;
  text-align: center;
}
.site-publico #footer.rodape-publico .rodape-redes {
  display: flex;
  flex-wrap: wrap;
  gap: 0 16px;
  margin-top: 12px;
}
.site-publico #footer.rodape-publico .rodape-redes a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 44px;
  font-size: 12px;
}
.site-publico #footer.rodape-publico .rodape-contactos a:hover,
.site-publico #footer.rodape-publico .rodape-redes a:hover {
  text-decoration: none;
}
.site-publico #footer.rodape-publico .rodape-contactos a:hover > span,
.site-publico #footer.rodape-publico .rodape-redes a:hover > span:not(.sr-only) {
  text-decoration: underline;
}
.site-publico #footer.rodape-publico .rodape-redes i {
  padding: 0;
  font-size: 16px;
}
.site-publico #footer.rodape-publico .rodape-redes .fa-facebook-square::before,
.site-publico #footer.rodape-publico .rodape-redes .fa-facebook::before {
  content: "\f39e";
}
.site-publico #footer.rodape-publico .rodape-redes .fa-instagram-square::before {
  content: "\f16d";
}
.site-publico #footer.rodape-publico .rodape-redes .fa-linkedin-square::before,
.site-publico #footer.rodape-publico .rodape-redes .fa-linkedin::before {
  content: "\f0e1";
}
.site-publico #footer.rodape-publico .rodape-redes .fa-twitter-square::before {
  content: "\f099";
}
.site-publico #footer.rodape-publico .rodape-redes .fa-youtube-square::before {
  content: "\f167";
}
.site-publico #footer.rodape-publico #footer-menu-apoio {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  align-items: stretch;
  gap: 0 24px;
}
.site-publico #footer.rodape-publico #footer-menu-apoio li {
  display: flex;
  min-width: 0;
}
.site-publico #footer.rodape-publico #footer-menu-apoio a {
  display: flex;
  flex: 1;
  align-items: flex-start;
  min-height: 44px;
  padding: 6px 0;
  line-height: 22px;
  color: rgba(255, 255, 255, 0.86);
}
.site-publico #footer.rodape-publico .rodape-horarios-conteudo {
  color: rgba(255, 255, 255, 0.82);
}
.site-publico #footer.rodape-publico .rodape-horarios-conteudo p:has(strong) {
  margin-top: 12px;
}
.site-publico #footer.rodape-publico .rodape-horarios-conteudo > :first-child {
  margin-top: 0;
}
.site-publico #footer.rodape-publico .rodape-horarios-conteudo strong {
  font-weight: 500;
  color: #fff;
}
.site-publico #footer.rodape-publico .rodape-horarios-conteudo br:last-child,
.site-publico #footer.rodape-publico .rodape-morada br:last-child {
  display: none;
}
.site-publico #footer.rodape-publico .rodape-confianca {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px 32px;
  padding: 20px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
}
.site-publico #footer.rodape-publico .rodape-confianca p,
.site-publico #footer.rodape-publico .rodape-confianca > div {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  margin: 0 !important;
}
.site-publico #footer.rodape-publico .rodape-confianca img {
  float: none !important;
  width: auto !important;
  height: auto !important;
  max-width: 100%;
  max-height: 40px;
  margin: 0 !important;
  object-fit: contain;
}
.site-publico #footer.rodape-publico .rodape-confianca a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}
.site-publico #footer.rodape-publico #subfooter {
  margin: 0;
  padding: 20px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(0, 0, 0, 0.08);
}
.site-publico #footer.rodape-publico .rodape-texto-tecnico {
  font-size: 12px;
  line-height: 20px;
  color: rgba(255, 255, 255, 0.76);
  text-align: left;
}
.site-publico #footer.rodape-publico .rodape-texto-tecnico p + p {
  margin-top: 8px;
}
.site-publico #footer.rodape-publico .rodape-texto-tecnico a {
  color: inherit;
  text-decoration: underline;
}
@media (max-width: 991.98px) {
  .site-publico #footer.rodape-publico .rodape-principal {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
  }
  .site-publico #footer.rodape-publico .rodape-marca {
    grid-row: span 2;
  }
  .site-publico #footer.rodape-publico .rodape-newsletter-grelha {
    gap: 32px;
  }
  .site-publico #footer.rodape-publico .rodape-newsletter-formulario {
    grid-template-columns: minmax(0, 1fr);
  }
  .site-publico #footer.rodape-publico #formSubscribe .rodape-subscrever {
    width: 100%;
  }
}
@media (max-width: 767.98px) {
  .site-publico #footer.rodape-publico .rodape-newsletter-grelha {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }
  .site-publico #footer.rodape-publico .rodape-newsletter-formulario {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .site-publico #footer.rodape-publico .rodape-principal {
    grid-template-columns: minmax(0, 1fr);
  }
  .site-publico #footer.rodape-publico .rodape-marca {
    grid-row: auto;
  }
  .site-publico #footer.rodape-publico .rodape-newsletter h2 {
    font-size: 20px;
    line-height: 28px;
  }
}
@media (max-width: 374.98px) {
  .site-publico #footer.rodape-publico .rodape-newsletter-formulario {
    grid-template-columns: minmax(0, 1fr);
  }
}
.site-publico #footer.rodape-publico .rodape-grupo > summary {
  display: block;
  list-style: none;
  cursor: default;
  pointer-events: none;
}
.site-publico #footer.rodape-publico .rodape-grupo > summary::-webkit-details-marker {
  display: none;
}
.site-publico #footer.rodape-publico .rodape-grupo > summary h2 {
  margin-bottom: 16px;
}
@media (max-width: 767.98px) {
  .site-publico #footer.rodape-publico .rodape-principal {
    gap: 0;
    padding-top: 24px;
    padding-bottom: 8px;
  }
  .site-publico #footer.rodape-publico .rodape-marca {
    padding-bottom: 20px;
  }
  .site-publico #footer.rodape-publico .rodape-logo {
    min-height: 0;
    margin-bottom: 12px;
  }
  .site-publico #footer.rodape-publico .rodape-logo img {
    max-height: 28px;
    width: auto;
  }
  .site-publico #footer.rodape-publico .rodape-morada,
  .site-publico #footer.rodape-publico .rodape-contactos a {
    font-size: 15px;
    line-height: 22px;
  }
  .site-publico #footer.rodape-publico .rodape-contactos {
    flex-direction: column;
    gap: 4px;
    margin-top: 8px;
  }
  .site-publico #footer.rodape-publico .rodape-contactos a {
    min-height: 32px;
    color: rgba(255, 255, 255, 0.82);
  }
  .site-publico #footer.rodape-publico .rodape-contactos i {
    color: #fff;
  }
  .site-publico #footer.rodape-publico .rodape-redes {
    gap: 8px;
    margin-top: 12px;
  }
  .site-publico #footer.rodape-publico .rodape-redes a {
    justify-content: center;
    width: 40px;
    min-height: 40px;
    height: 40px;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 50%;
  }
  .site-publico #footer.rodape-publico .rodape-redes a > span:not(.sr-only) {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }
  .site-publico #footer.rodape-publico .rodape-suporte,
  .site-publico #footer.rodape-publico .rodape-horarios {
    border-top: 1px solid rgba(255, 255, 255, 0.16);
  }
  .site-publico #footer.rodape-publico .rodape-grupo > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 52px;
    cursor: pointer;
    pointer-events: auto;
  }
  .site-publico #footer.rodape-publico .rodape-grupo > summary h2 {
    margin: 0;
    font-size: 16px;
    line-height: 24px;
  }
  .site-publico #footer.rodape-publico .rodape-grupo > summary::after {
    content: "\f107";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 14px;
    transition: transform 0.2s ease;
  }
  .site-publico #footer.rodape-publico .rodape-grupo[open] > summary::after {
    transform: rotate(180deg);
  }
  .site-publico #footer.rodape-publico .rodape-grupo[open] > :not(summary) {
    padding-bottom: 16px;
  }
  .site-publico #footer.rodape-publico #footer-menu-apoio {
    grid-template-columns: minmax(0, 1fr);
  }
  .site-publico #footer.rodape-publico #footer-menu-apoio a {
    min-height: 40px;
    padding: 6px 0;
  }
  .site-publico #footer.rodape-publico .rodape-confianca {
    gap: 12px 20px;
    padding: 16px 0;
  }
  .site-publico #footer.rodape-publico .rodape-confianca img {
    max-height: 32px;
  }
}
.site-publico :focus-visible {
  outline: 3px solid var(--cor) !important;
  outline-offset: 3px;
}
@media (max-width: 767.98px) {
  .site-publico .site-conteudo > .container,
  .site-publico .site-conteudo > .Fetchable > .container {
    padding-top: 32px;
    padding-bottom: 56px !important;
  }
  .site-publico .farmacia-localizacao-grelha.com-mapa {
    grid-template-columns: minmax(0, 1fr);
  }
  .site-publico .farmacia-localizacao-info {
    padding: 24px;
  }
  .site-publico .farmacia-localizacao-mapa {
    min-height: 280px;
  }
  .site-publico .farmacia-pagina {
    padding-top: 24px;
  }
  .site-publico .equipa-grelha {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 16px;
  }
  .site-publico .farmacia-contacto {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
  .site-publico .site-conteudo h2.sectiontitle,
  .site-publico .site-conteudo #simplepage h2.sectiontitle {
    margin-top: 32px;
    margin-bottom: 24px;
  }
  .site-publico #simplepage .sidebar {
    margin-bottom: 32px;
  }
  .site-publico #formContact {
    padding: 20px;
  }
  .site-publico .card-team {
    margin-bottom: 24px;
    height: auto;
  }
  .site-publico .pagina-estado-cartao {
    padding: 24px;
  }
  .site-publico .site-conteudo .panel {
    padding: 20px;
  }
  .site-publico .pagina-topo-titulo {
    overflow-wrap: break-word;
  }
  .site-publico #shopcart .productline {
    row-gap: 16px;
  }
  .site-publico #shopcart .media {
    align-items: center;
    gap: 16px;
  }
  .site-publico #shopcart .cart-totais .row.pt-3 {
    row-gap: 12px;
  }
  .site-publico #shopcart .cart-totais .row.pt-3 > .col-6 {
    flex-basis: 100%;
    max-width: 100%;
  }
  .site-publico #shopcart .cart-totais .btn {
    width: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .site-publico .btn,
  .site-publico .productcard {
    transition: none;
  }
}
